@jongh/ui 1.6.5 → 2.20260905.1

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 (317) hide show
  1. package/dist/base.css +1103 -0
  2. package/dist/blue.css +155 -0
  3. package/dist/chunks/component-accordion-fyrDP4PS.js +28 -0
  4. package/dist/chunks/component-avatar-Cl7qxXL7.js +15 -0
  5. package/dist/chunks/component-badge-BqDGL-KR.js +23 -0
  6. package/dist/chunks/component-box-BVJJ_2Ye.js +27 -0
  7. package/dist/chunks/component-button-6iooYVkM.js +21 -0
  8. package/dist/chunks/component-calendar-BIBA_BgQ.js +241 -0
  9. package/dist/chunks/component-center-rifwb_-x.js +33 -0
  10. package/dist/chunks/component-checkbox-KSwDeqdV.js +54 -0
  11. package/dist/chunks/component-dialog-xLex6FJh.js +36 -0
  12. package/dist/chunks/component-grid-aWgGm3Ad.js +39 -0
  13. package/dist/chunks/component-h-stack-Cj62v71l.js +37 -0
  14. package/dist/chunks/component-select-B35mHD7A.js +52 -0
  15. package/dist/chunks/component-slider-CPcl-o95.js +16 -0
  16. package/dist/chunks/component-tabs-2-w8TPID.js +58 -0
  17. package/dist/chunks/component-textfield-CaSHslMS.js +53 -0
  18. package/dist/chunks/component-v-stack-BzMHYpjP.js +37 -0
  19. package/dist/chunks/panda-runtime-C6bA3kfx.js +496 -0
  20. package/dist/chunks/recipe-accordion-recipe-CchKveXQ.js +27 -0
  21. package/dist/chunks/recipe-avatar-recipe-5VMtXIhg.js +24 -0
  22. package/dist/chunks/recipe-badge-recipe-D02izv1z.js +136 -0
  23. package/dist/chunks/recipe-button-recipe-CjRb9Hj9.js +36 -0
  24. package/dist/chunks/recipe-calendar-recipe-BUUS4QEd.js +31 -0
  25. package/dist/chunks/recipe-center-recipe-_gQI_rG1.js +24 -0
  26. package/dist/chunks/recipe-checkbox-recipe-D72btvoT.js +31 -0
  27. package/dist/chunks/recipe-dialog-recipe-RKZYROxV.js +31 -0
  28. package/dist/chunks/recipe-layout-recipe-BMWtqxiV.js +20 -0
  29. package/dist/chunks/recipe-select-recipe-BbGnyPQ_.js +33 -0
  30. package/dist/chunks/recipe-slider-recipe-BHAFeUmN.js +25 -0
  31. package/dist/chunks/recipe-tabs-recipe-Cbr23IZY.js +26 -0
  32. package/dist/chunks/recipe-textfield-recipe-C2tyOCzn.js +27 -0
  33. package/dist/chunks/rolldown-runtime-CKyOoeiN.js +12 -0
  34. package/dist/index.d.ts +21694 -0
  35. package/dist/index.js +93 -0
  36. package/dist/purple.css +155 -0
  37. package/dist/recipes/accordion-recipe.css +118 -0
  38. package/dist/recipes/avatar-recipe.css +44 -0
  39. package/dist/recipes/badge-recipe.css +47 -0
  40. package/dist/recipes/button-recipe.css +153 -0
  41. package/dist/recipes/calendar-recipe.css +145 -0
  42. package/dist/recipes/center-recipe.css +13 -0
  43. package/dist/recipes/checkbox-recipe.css +156 -0
  44. package/dist/recipes/dialog-recipe.css +101 -0
  45. package/dist/recipes/layout-recipe.css +427 -0
  46. package/dist/recipes/select-recipe.css +175 -0
  47. package/dist/recipes/slider-recipe.css +60 -0
  48. package/dist/recipes/tabs-recipe.css +76 -0
  49. package/dist/recipes/textfield-recipe.css +95 -0
  50. package/dist/style.css +1 -0
  51. package/package.json +64 -39
  52. package/.storybook/index.css +0 -1
  53. package/.storybook/main.ts +0 -40
  54. package/.storybook/preview.ts +0 -16
  55. package/.storybook/vitest.setup.ts +0 -9
  56. package/.turbo/turbo-build.log +0 -79
  57. package/CHANGELOG.md +0 -54
  58. package/chromatic.config.json +0 -6
  59. package/eslint.config.mjs +0 -14
  60. package/index.html +0 -13
  61. package/panda.config.ts +0 -13
  62. package/postcss.config.cjs +0 -3
  63. package/preset.ts +0 -134
  64. package/src/component/accordion/ui/index.tsx +0 -80
  65. package/src/component/accordion/ui/recipe.ts +0 -65
  66. package/src/component/avatar/ui/index.tsx +0 -47
  67. package/src/component/avatar/ui/recipe.ts +0 -30
  68. package/src/component/button/ui/index.tsx +0 -29
  69. package/src/component/button/ui/recipe.ts +0 -102
  70. package/src/component/chip/ui/index.tsx +0 -30
  71. package/src/component/chip/ui/recipe.ts +0 -112
  72. package/src/component/dialog/ui/index.tsx +0 -73
  73. package/src/component/dialog/ui/recipe.ts +0 -92
  74. package/src/component/select/ui/index.tsx +0 -128
  75. package/src/component/select/ui/recipe.ts +0 -142
  76. package/src/component/slider/ui/index.tsx +0 -61
  77. package/src/component/slider/ui/recipe.ts +0 -52
  78. package/src/component/tabs/ui/index.tsx +0 -61
  79. package/src/component/tabs/ui/recipe.ts +0 -59
  80. package/src/hooks/createContext.tsx +0 -34
  81. package/src/hooks/useComposedRefs.ts +0 -20
  82. package/src/hooks/useControllableState.ts +0 -87
  83. package/src/hooks/useKeyboardEvent.ts +0 -58
  84. package/src/stories/accordion.stories.tsx +0 -63
  85. package/src/stories/avatar.stories.tsx +0 -33
  86. package/src/stories/button.stories.tsx +0 -53
  87. package/src/stories/chip.stories.tsx +0 -69
  88. package/src/stories/dialog.stories.tsx +0 -134
  89. package/src/stories/select.stories.tsx +0 -35
  90. package/src/stories/slider.stories.tsx +0 -31
  91. package/src/stories/tabs.stories.tsx +0 -63
  92. package/src/test/accordion.test.tsx +0 -66
  93. package/src/test/tabs.test.tsx +0 -30
  94. package/src/types/index.ts +0 -1
  95. package/src/utils/createStyleContext.tsx +0 -108
  96. package/src/utils/defineSafe.ts +0 -46
  97. package/src/utils/getObjectKeys.ts +0 -20
  98. package/src/vite-env.d.ts +0 -1
  99. package/storybook-static/assets/Color-F6OSRLHC-CrKta8Qx.js +0 -1
  100. package/storybook-static/assets/DocsRenderer-CFRXHY34-Crd9Mepd.js +0 -586
  101. package/storybook-static/assets/_commonjsHelpers-Cpj98o6Y.js +0 -1
  102. package/storybook-static/assets/accordion.stories-0Om0AnMm.js +0 -50
  103. package/storybook-static/assets/avatar.stories-DMDsrSks.js +0 -16
  104. package/storybook-static/assets/axe-Dzet_oDA.js +0 -30
  105. package/storybook-static/assets/button.stories-CuVC-3x-.js +0 -40
  106. package/storybook-static/assets/chip.stories-FBIp8XNi.js +0 -48
  107. package/storybook-static/assets/chunk-XP5HYGXS-D5tuasO7.js +0 -1
  108. package/storybook-static/assets/createLucideIcon-DmXe7Z8R.js +0 -21
  109. package/storybook-static/assets/dialog.stories-3WsEvXt4.js +0 -106
  110. package/storybook-static/assets/entry-preview-Bkgdgq1b.js +0 -10
  111. package/storybook-static/assets/entry-preview-docs-zLz1Es7d.js +0 -46
  112. package/storybook-static/assets/iframe-LPPPXabV.js +0 -199
  113. package/storybook-static/assets/index-Bklpsb39.js +0 -1
  114. package/storybook-static/assets/index-BrlJLjep.js +0 -24
  115. package/storybook-static/assets/index-C2tRLqin.js +0 -41
  116. package/storybook-static/assets/index-CBft-ReK.js +0 -8
  117. package/storybook-static/assets/index-CSbWd7UJ.js +0 -1
  118. package/storybook-static/assets/index-ClcD9ViR.js +0 -9
  119. package/storybook-static/assets/index-Cu4lwwaE.js +0 -1
  120. package/storybook-static/assets/index-Cvkemp2J.js +0 -1
  121. package/storybook-static/assets/index-D59aU5s_.js +0 -240
  122. package/storybook-static/assets/index-DNo8LKN3.js +0 -1
  123. package/storybook-static/assets/index-DUy19JZU.js +0 -1
  124. package/storybook-static/assets/index-D_35mznO.js +0 -1
  125. package/storybook-static/assets/index-DrFu-skq.js +0 -6
  126. package/storybook-static/assets/index-DvbTp2M2.js +0 -1
  127. package/storybook-static/assets/index-rtmQni2k.js +0 -1
  128. package/storybook-static/assets/jsx-runtime-BYYWji4R.js +0 -9
  129. package/storybook-static/assets/matchers-57EZJSQE-oeXCqs4p.js +0 -14
  130. package/storybook-static/assets/preview-1l6V4UsQ.js +0 -1
  131. package/storybook-static/assets/preview-B3PTUHS7.js +0 -1
  132. package/storybook-static/assets/preview-BBWR9nbA.js +0 -1
  133. package/storybook-static/assets/preview-BCV5r-Ja.js +0 -1
  134. package/storybook-static/assets/preview-BWzBA1C2.js +0 -396
  135. package/storybook-static/assets/preview-Bb56VplF.js +0 -2
  136. package/storybook-static/assets/preview-Bl8rsKRy.js +0 -1
  137. package/storybook-static/assets/preview-Bm-a94Ct.js +0 -2
  138. package/storybook-static/assets/preview-Br-h4d84.js +0 -1
  139. package/storybook-static/assets/preview-D77C14du.js +0 -34
  140. package/storybook-static/assets/preview-DC8N7cZb.css +0 -1
  141. package/storybook-static/assets/preview-DGUiP6tS.js +0 -7
  142. package/storybook-static/assets/react-18-BPs3tMGP.js +0 -1
  143. package/storybook-static/assets/select.stories-AN8Hb81Z.js +0 -20
  144. package/storybook-static/assets/slider.stories-CxOczq0y.js +0 -12
  145. package/storybook-static/assets/tabs.stories-BbTU4QU3.js +0 -28
  146. package/storybook-static/favicon.svg +0 -1
  147. package/storybook-static/iframe.html +0 -666
  148. package/storybook-static/index.html +0 -193
  149. package/storybook-static/index.json +0 -1
  150. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  151. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  152. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  153. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  154. package/storybook-static/project.json +0 -1
  155. package/storybook-static/sb-addons/a11y-12/manager-bundle.js +0 -3
  156. package/storybook-static/sb-addons/a11y-12/manager-bundle.js.LEGAL.txt +0 -0
  157. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +0 -331
  158. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +0 -51
  159. package/storybook-static/sb-addons/controls-11/manager-bundle.js +0 -391
  160. package/storybook-static/sb-addons/controls-11/manager-bundle.js.LEGAL.txt +0 -0
  161. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
  162. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js.LEGAL.txt +0 -0
  163. package/storybook-static/sb-addons/essentials-backgrounds-5/manager-bundle.js +0 -12
  164. package/storybook-static/sb-addons/essentials-backgrounds-5/manager-bundle.js.LEGAL.txt +0 -0
  165. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +0 -391
  166. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js.LEGAL.txt +0 -0
  167. package/storybook-static/sb-addons/essentials-docs-4/manager-bundle.js +0 -230
  168. package/storybook-static/sb-addons/essentials-docs-4/manager-bundle.js.LEGAL.txt +0 -0
  169. package/storybook-static/sb-addons/essentials-measure-8/manager-bundle.js +0 -3
  170. package/storybook-static/sb-addons/essentials-measure-8/manager-bundle.js.LEGAL.txt +0 -0
  171. package/storybook-static/sb-addons/essentials-outline-9/manager-bundle.js +0 -3
  172. package/storybook-static/sb-addons/essentials-outline-9/manager-bundle.js.LEGAL.txt +0 -0
  173. package/storybook-static/sb-addons/essentials-toolbars-7/manager-bundle.js +0 -3
  174. package/storybook-static/sb-addons/essentials-toolbars-7/manager-bundle.js.LEGAL.txt +0 -0
  175. package/storybook-static/sb-addons/essentials-viewport-6/manager-bundle.js +0 -3
  176. package/storybook-static/sb-addons/essentials-viewport-6/manager-bundle.js.LEGAL.txt +0 -0
  177. package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
  178. package/storybook-static/sb-addons/links-1/manager-bundle.js.LEGAL.txt +0 -0
  179. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +0 -3
  180. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
  181. package/storybook-static/sb-addons/storybook-experimental-addon-test-13/manager-bundle.js +0 -211
  182. package/storybook-static/sb-addons/storybook-experimental-addon-test-13/manager-bundle.js.LEGAL.txt +0 -0
  183. package/storybook-static/sb-common-assets/favicon.svg +0 -1
  184. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  185. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  186. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  187. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  188. package/storybook-static/sb-manager/globals-module-info.js +0 -1037
  189. package/storybook-static/sb-manager/globals-runtime.js +0 -40857
  190. package/storybook-static/sb-manager/globals.js +0 -48
  191. package/storybook-static/sb-manager/runtime.js +0 -11963
  192. package/styled-system/css/conditions.mjs +0 -36
  193. package/styled-system/css/css.d.ts +0 -22
  194. package/styled-system/css/css.mjs +0 -45
  195. package/styled-system/css/cva.d.ts +0 -6
  196. package/styled-system/css/cva.mjs +0 -87
  197. package/styled-system/css/cx.d.ts +0 -5
  198. package/styled-system/css/cx.mjs +0 -15
  199. package/styled-system/css/index.d.ts +0 -5
  200. package/styled-system/css/index.mjs +0 -4
  201. package/styled-system/css/sva.d.ts +0 -4
  202. package/styled-system/css/sva.mjs +0 -41
  203. package/styled-system/helpers.mjs +0 -336
  204. package/styled-system/jsx/aspect-ratio.d.ts +0 -10
  205. package/styled-system/jsx/aspect-ratio.mjs +0 -14
  206. package/styled-system/jsx/bleed.d.ts +0 -10
  207. package/styled-system/jsx/bleed.mjs +0 -14
  208. package/styled-system/jsx/box.d.ts +0 -10
  209. package/styled-system/jsx/box.mjs +0 -14
  210. package/styled-system/jsx/center.d.ts +0 -10
  211. package/styled-system/jsx/center.mjs +0 -14
  212. package/styled-system/jsx/circle.d.ts +0 -10
  213. package/styled-system/jsx/circle.mjs +0 -14
  214. package/styled-system/jsx/container.d.ts +0 -10
  215. package/styled-system/jsx/container.mjs +0 -14
  216. package/styled-system/jsx/cq.d.ts +0 -10
  217. package/styled-system/jsx/cq.mjs +0 -14
  218. package/styled-system/jsx/divider.d.ts +0 -10
  219. package/styled-system/jsx/divider.mjs +0 -14
  220. package/styled-system/jsx/factory-helper.mjs +0 -22
  221. package/styled-system/jsx/factory.d.ts +0 -3
  222. package/styled-system/jsx/factory.mjs +0 -80
  223. package/styled-system/jsx/flex.d.ts +0 -10
  224. package/styled-system/jsx/flex.mjs +0 -14
  225. package/styled-system/jsx/float.d.ts +0 -10
  226. package/styled-system/jsx/float.mjs +0 -14
  227. package/styled-system/jsx/grid-item.d.ts +0 -10
  228. package/styled-system/jsx/grid-item.mjs +0 -14
  229. package/styled-system/jsx/grid.d.ts +0 -10
  230. package/styled-system/jsx/grid.mjs +0 -14
  231. package/styled-system/jsx/hstack.d.ts +0 -10
  232. package/styled-system/jsx/hstack.mjs +0 -14
  233. package/styled-system/jsx/index.d.ts +0 -24
  234. package/styled-system/jsx/index.mjs +0 -22
  235. package/styled-system/jsx/is-valid-prop.d.ts +0 -11
  236. package/styled-system/jsx/is-valid-prop.mjs +0 -17
  237. package/styled-system/jsx/link-overlay.d.ts +0 -10
  238. package/styled-system/jsx/link-overlay.mjs +0 -14
  239. package/styled-system/jsx/spacer.d.ts +0 -10
  240. package/styled-system/jsx/spacer.mjs +0 -14
  241. package/styled-system/jsx/square.d.ts +0 -10
  242. package/styled-system/jsx/square.mjs +0 -14
  243. package/styled-system/jsx/stack.d.ts +0 -10
  244. package/styled-system/jsx/stack.mjs +0 -14
  245. package/styled-system/jsx/visually-hidden.d.ts +0 -10
  246. package/styled-system/jsx/visually-hidden.mjs +0 -14
  247. package/styled-system/jsx/vstack.d.ts +0 -10
  248. package/styled-system/jsx/vstack.mjs +0 -14
  249. package/styled-system/jsx/wrap.d.ts +0 -10
  250. package/styled-system/jsx/wrap.mjs +0 -14
  251. package/styled-system/patterns/aspect-ratio.d.ts +0 -21
  252. package/styled-system/patterns/aspect-ratio.mjs +0 -38
  253. package/styled-system/patterns/bleed.d.ts +0 -22
  254. package/styled-system/patterns/bleed.mjs +0 -24
  255. package/styled-system/patterns/box.d.ts +0 -21
  256. package/styled-system/patterns/box.mjs +0 -15
  257. package/styled-system/patterns/center.d.ts +0 -21
  258. package/styled-system/patterns/center.mjs +0 -21
  259. package/styled-system/patterns/circle.d.ts +0 -21
  260. package/styled-system/patterns/circle.mjs +0 -25
  261. package/styled-system/patterns/container.d.ts +0 -21
  262. package/styled-system/patterns/container.mjs +0 -21
  263. package/styled-system/patterns/cq.d.ts +0 -22
  264. package/styled-system/patterns/cq.mjs +0 -21
  265. package/styled-system/patterns/divider.d.ts +0 -23
  266. package/styled-system/patterns/divider.mjs +0 -25
  267. package/styled-system/patterns/flex.d.ts +0 -27
  268. package/styled-system/patterns/flex.mjs +0 -26
  269. package/styled-system/patterns/float.d.ts +0 -24
  270. package/styled-system/patterns/float.mjs +0 -52
  271. package/styled-system/patterns/grid-item.d.ts +0 -26
  272. package/styled-system/patterns/grid-item.mjs +0 -25
  273. package/styled-system/patterns/grid.d.ts +0 -25
  274. package/styled-system/patterns/grid.mjs +0 -27
  275. package/styled-system/patterns/hstack.d.ts +0 -22
  276. package/styled-system/patterns/hstack.mjs +0 -24
  277. package/styled-system/patterns/index.d.ts +0 -21
  278. package/styled-system/patterns/index.mjs +0 -20
  279. package/styled-system/patterns/link-overlay.d.ts +0 -21
  280. package/styled-system/patterns/link-overlay.mjs +0 -24
  281. package/styled-system/patterns/spacer.d.ts +0 -21
  282. package/styled-system/patterns/spacer.mjs +0 -21
  283. package/styled-system/patterns/square.d.ts +0 -21
  284. package/styled-system/patterns/square.mjs +0 -24
  285. package/styled-system/patterns/stack.d.ts +0 -24
  286. package/styled-system/patterns/stack.mjs +0 -24
  287. package/styled-system/patterns/visually-hidden.d.ts +0 -21
  288. package/styled-system/patterns/visually-hidden.mjs +0 -18
  289. package/styled-system/patterns/vstack.d.ts +0 -22
  290. package/styled-system/patterns/vstack.mjs +0 -24
  291. package/styled-system/patterns/wrap.d.ts +0 -25
  292. package/styled-system/patterns/wrap.mjs +0 -25
  293. package/styled-system/tokens/index.d.ts +0 -9
  294. package/styled-system/tokens/index.mjs +0 -1992
  295. package/styled-system/tokens/tokens.d.ts +0 -60
  296. package/styled-system/types/composition.d.ts +0 -164
  297. package/styled-system/types/conditions.d.ts +0 -274
  298. package/styled-system/types/csstype.d.ts +0 -21298
  299. package/styled-system/types/global.d.ts +0 -20
  300. package/styled-system/types/index.d.ts +0 -8
  301. package/styled-system/types/jsx.d.ts +0 -52
  302. package/styled-system/types/parts.d.ts +0 -8
  303. package/styled-system/types/pattern.d.ts +0 -78
  304. package/styled-system/types/prop-type.d.ts +0 -235
  305. package/styled-system/types/recipe.d.ts +0 -181
  306. package/styled-system/types/selectors.d.ts +0 -59
  307. package/styled-system/types/static-css.d.ts +0 -56
  308. package/styled-system/types/style-props.d.ts +0 -7468
  309. package/styled-system/types/system-types.d.ts +0 -109
  310. package/tsconfig.json +0 -13
  311. package/turbo/generators/config.cjs +0 -7
  312. package/turbo/generators/stories.cjs +0 -23
  313. package/turbo/generators/templates/stories.tsx.hbs +0 -16
  314. package/turbo/generators/templates/ui.tsx.hbs +0 -8
  315. package/turbo/generators/ui.cjs +0 -19
  316. package/vite.config.ts +0 -7
  317. package/vitest.config.ts +0 -45
@@ -1,30 +0,0 @@
1
- import { css, cx } from "@styled-system/css"
2
- import { Slot } from "radix-ui"
3
- import { type ComponentPropsWithoutRef, forwardRef } from "react"
4
-
5
- import { type ChipVariantProps, recipe } from "./recipe"
6
-
7
- export type ChipProps = ComponentPropsWithoutRef<"button"> &
8
- ChipVariantProps & {
9
- asChild?: boolean
10
- }
11
-
12
- export const Chip = forwardRef<HTMLButtonElement, ChipProps>(
13
- ({ asChild, className, children, ...props }, ref) => {
14
- const Comp = asChild ? Slot.Root : "button"
15
- const [variantProps, componentProps] = recipe.splitVariantProps(props)
16
- const styles = recipe.raw(variantProps)
17
-
18
- return (
19
- <Comp
20
- ref={ref}
21
- className={cx(css(styles), className)}
22
- {...componentProps}
23
- >
24
- {children}
25
- </Comp>
26
- )
27
- },
28
- )
29
-
30
- Chip.displayName = "Chip"
@@ -1,112 +0,0 @@
1
- import { cva, type RecipeVariantProps } from "@styled-system/css"
2
-
3
- export type ChipVariantProps = RecipeVariantProps<typeof recipe>
4
- export const recipe = cva({
5
- base: {
6
- display: "inline-flex",
7
- alignItems: "center",
8
- justifyContent: "center",
9
- borderRadius: "full",
10
- transition: "colors",
11
- cursor: "pointer",
12
- _focusVisible: {
13
- ringWidth: "1",
14
- ringColor: "ring",
15
- ringOffset: "1",
16
- },
17
- "& svg": {
18
- flexShrink: 0,
19
- },
20
- _disabled: {
21
- opacity: 0.5,
22
- cursor: "not-allowed",
23
- },
24
- },
25
- variants: {
26
- variant: {
27
- filled: {
28
- bg: "secondary",
29
- color: "secondary.foreground",
30
- _hover: {
31
- bg: "secondary/80",
32
- },
33
- },
34
- outlined: {
35
- border: "base",
36
- bg: "background",
37
- color: "foreground",
38
- _hover: {
39
- bg: "secondary",
40
- },
41
- },
42
- },
43
- size: {
44
- sm: {
45
- height: "7",
46
- fontSize: "sm",
47
- "& svg": {
48
- width: "3",
49
- height: "3",
50
- },
51
- },
52
- md: {
53
- height: "9",
54
- fontSize: "lg",
55
- "& svg": {
56
- width: "4",
57
- height: "4",
58
- },
59
- },
60
- },
61
- layout: {
62
- withText: {},
63
- iconOnly: {
64
- px: "2",
65
- "& svg": {
66
- m: "0",
67
- },
68
- },
69
- },
70
- },
71
- compoundVariants: [
72
- {
73
- layout: "iconOnly",
74
- size: "sm",
75
- css: {
76
- width: "7",
77
- height: "7",
78
- },
79
- },
80
- {
81
- layout: "iconOnly",
82
- size: "md",
83
- css: {
84
- width: "9",
85
- height: "9",
86
- },
87
- },
88
- {
89
- layout: "withText",
90
- size: "sm",
91
- css: {
92
- px: "2",
93
- py: "1",
94
- gap: "1",
95
- },
96
- },
97
- {
98
- layout: "withText",
99
- size: "md",
100
- css: {
101
- px: "3",
102
- py: "2",
103
- gap: "2",
104
- },
105
- },
106
- ],
107
- defaultVariants: {
108
- variant: "filled",
109
- size: "md",
110
- layout: "withText",
111
- },
112
- })
@@ -1,73 +0,0 @@
1
- import { css } from "@styled-system/css"
2
- import { createStyleContext } from "@utils/createStyleContext"
3
- import { X } from "lucide-react"
4
- import { Dialog } from "radix-ui"
5
- import {
6
- type ComponentProps,
7
- type ComponentPropsWithoutRef,
8
- type ElementRef,
9
- forwardRef,
10
- } from "react"
11
-
12
- import { recipe } from "./recipe"
13
-
14
- const { withRootProvider, withContext } = createStyleContext(recipe)
15
-
16
- export const Root = withRootProvider(Dialog.Root)
17
-
18
- export const Portal = withRootProvider(Dialog.Portal)
19
- export const Overlay = withContext<
20
- ElementRef<typeof Dialog.Overlay>,
21
- Dialog.DialogOverlayProps
22
- >(Dialog.Overlay, "overlay")
23
-
24
- export const Close = withContext<
25
- ElementRef<typeof Dialog.Close>,
26
- Dialog.DialogCloseProps
27
- >(Dialog.Close, "close")
28
-
29
- export const ContentPrimitive = forwardRef<
30
- React.ElementRef<typeof Dialog.Content>,
31
- React.ComponentPropsWithoutRef<typeof Dialog.Content>
32
- >(({ children, ...props }, ref) => (
33
- <Portal>
34
- <Overlay />
35
- <Dialog.Content ref={ref} {...props}>
36
- {children}
37
- <Close>
38
- <X />
39
- <span className={css({ srOnly: true })}>Close</span>
40
- </Close>
41
- </Dialog.Content>
42
- </Portal>
43
- ))
44
-
45
- export const Content = withContext<
46
- ElementRef<typeof ContentPrimitive>,
47
- ComponentProps<typeof ContentPrimitive>
48
- >(ContentPrimitive, "content")
49
-
50
- export const Trigger = withContext<
51
- ElementRef<typeof Dialog.Trigger>,
52
- Dialog.DialogTriggerProps
53
- >(Dialog.Trigger, "trigger")
54
-
55
- export const Header = withContext<
56
- HTMLDivElement,
57
- ComponentPropsWithoutRef<"div">
58
- >("div", "header")
59
-
60
- export const Footer = withContext<
61
- HTMLDivElement,
62
- ComponentPropsWithoutRef<"div">
63
- >("div", "footer")
64
-
65
- export const Title = withContext<
66
- ElementRef<typeof Dialog.Title>,
67
- Dialog.DialogTitleProps
68
- >(Dialog.Title, "title")
69
-
70
- export const Description = withContext<
71
- ElementRef<typeof Dialog.Description>,
72
- Dialog.DialogDescriptionProps
73
- >(Dialog.Description, "description")
@@ -1,92 +0,0 @@
1
- import { sva } from "@styled-system/css"
2
-
3
- export const recipe = sva({
4
- slots: [
5
- "root",
6
- "trigger",
7
- "portal",
8
- "overlay",
9
- "close",
10
- "content",
11
- "header",
12
- "footer",
13
- "title",
14
- "description",
15
- ],
16
- base: {
17
- overlay: {
18
- position: "fixed",
19
- inset: "0",
20
- bg: "black/90",
21
- },
22
- content: {
23
- bg: "background",
24
- border: "input",
25
- borderRadius: "md",
26
- position: "fixed",
27
- top: "[50%]",
28
- left: "[50%]",
29
- transform: "translate(-50%,-50%)",
30
- width: "[100%]",
31
- maxWidth: "[32rem]",
32
- maxHeight: "[85vh]",
33
- padding: "4",
34
- "&[data-state=open]": {
35
- animationName: "contentShow",
36
- animationDuration: "slow",
37
- },
38
-
39
- "&[data-state=closed]": {
40
- animationName: "fadeOut",
41
- animationDuration: "slow",
42
- },
43
- },
44
- close: {
45
- position: "absolute",
46
- right: "4",
47
- top: "4",
48
- rounded: "sm",
49
- opacity: "0.7",
50
- transition: "opacity",
51
- cursor: "pointer",
52
-
53
- _hover: {
54
- opacity: "1",
55
- },
56
-
57
- _focus: {
58
- ringWidth: "1",
59
- ringColor: "ring",
60
- ringOffset: "1",
61
- },
62
-
63
- _disabled: {
64
- pointerEvents: "none",
65
- },
66
-
67
- "&[data-state=open]": {
68
- bg: "accent",
69
- color: "muted.foreground",
70
- },
71
- },
72
- header: {
73
- display: "flex",
74
- flexDirection: "column",
75
- gap: "1.5",
76
- },
77
- footer: {
78
- display: "flex",
79
- flexDirection: "column-reverse",
80
- },
81
- title: {
82
- fontSize: "lg",
83
- fontWeight: "semibold",
84
- lineHeight: "none",
85
- letterSpacing: "tight",
86
- },
87
- description: {
88
- fontSize: "sm",
89
- color: "foreground",
90
- },
91
- },
92
- })
@@ -1,128 +0,0 @@
1
- import { css, cx } from "@styled-system/css"
2
- import { Select as SelectPrimitive } from "radix-ui"
3
- import { ComponentPropsWithoutRef, ElementRef, forwardRef } from "react"
4
-
5
- import { recipe } from "./recipe"
6
-
7
- const BaseTrigger = forwardRef<
8
- ElementRef<typeof SelectPrimitive.Trigger>,
9
- ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>
10
- >(({ children, ...props }, ref) => (
11
- <SelectPrimitive.Trigger ref={ref} {...props}>
12
- {children}
13
- <SelectPrimitive.Icon asChild></SelectPrimitive.Icon>
14
- </SelectPrimitive.Trigger>
15
- ))
16
-
17
- BaseTrigger.displayName = SelectPrimitive.Trigger.displayName
18
-
19
- export const Root = SelectPrimitive.Root
20
- export const Group = SelectPrimitive.Group
21
- export const Value = SelectPrimitive.Value
22
-
23
- export const Trigger = forwardRef<
24
- ElementRef<typeof BaseTrigger>,
25
- ComponentPropsWithoutRef<typeof BaseTrigger>
26
- >(({ className, ...props }, ref) => {
27
- const styles = recipe.raw()
28
- return (
29
- <BaseTrigger
30
- ref={ref}
31
- className={cx(css(styles.trigger), className)}
32
- {...props}
33
- />
34
- )
35
- })
36
-
37
- export const Content = forwardRef<
38
- ElementRef<typeof SelectPrimitive.Content>,
39
- ComponentPropsWithoutRef<typeof SelectPrimitive.Content>
40
- >(({ className, position = "popper", children, ...props }, ref) => {
41
- const styles = recipe.raw()
42
- return (
43
- <SelectPrimitive.Portal>
44
- <SelectPrimitive.Content
45
- ref={ref}
46
- position={position}
47
- data-position={position}
48
- className={cx(css(styles.content), className)}
49
- {...props}
50
- >
51
- <Viewport data-position={position}>{children}</Viewport>
52
- </SelectPrimitive.Content>
53
- </SelectPrimitive.Portal>
54
- )
55
- })
56
-
57
- export const Viewport = forwardRef<
58
- ElementRef<typeof SelectPrimitive.Viewport>,
59
- ComponentPropsWithoutRef<typeof SelectPrimitive.Viewport>
60
- >(({ className, ...props }, ref) => {
61
- const styles = recipe.raw()
62
- return (
63
- <SelectPrimitive.Viewport
64
- ref={ref}
65
- {...props}
66
- className={cx(css(styles.viewport), className)}
67
- />
68
- )
69
- })
70
-
71
- export const Item = forwardRef<
72
- ElementRef<typeof SelectPrimitive.Item>,
73
- ComponentPropsWithoutRef<typeof SelectPrimitive.Item>
74
- >(({ className, children, ...props }, ref) => {
75
- const styles = recipe.raw()
76
- return (
77
- <SelectPrimitive.Item
78
- ref={ref}
79
- className={cx(css(styles.item), className)}
80
- {...props}
81
- >
82
- <Indicator />
83
- <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
84
- </SelectPrimitive.Item>
85
- )
86
- })
87
-
88
- export const Label = forwardRef<
89
- ElementRef<typeof SelectPrimitive.Label>,
90
- ComponentPropsWithoutRef<typeof SelectPrimitive.Label>
91
- >(({ className, ...props }, ref) => {
92
- const styles = recipe.raw()
93
- return (
94
- <SelectPrimitive.Label
95
- ref={ref}
96
- className={cx(css(styles.label), className)}
97
- {...props}
98
- />
99
- )
100
- })
101
-
102
- export const Separator = forwardRef<
103
- ElementRef<typeof SelectPrimitive.Separator>,
104
- ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>
105
- >(({ className, ...props }, ref) => {
106
- const styles = recipe.raw()
107
- return (
108
- <SelectPrimitive.Separator
109
- ref={ref}
110
- className={cx(css(styles.separator), className)}
111
- {...props}
112
- />
113
- )
114
- })
115
-
116
- export const Indicator = forwardRef<
117
- ElementRef<typeof SelectPrimitive.ItemIndicator>,
118
- ComponentPropsWithoutRef<typeof SelectPrimitive.ItemIndicator>
119
- >(({ className, ...props }, ref) => {
120
- const styles = recipe.raw()
121
- return (
122
- <SelectPrimitive.ItemIndicator
123
- ref={ref}
124
- className={cx(css(styles.itemIndicator), className)}
125
- {...props}
126
- />
127
- )
128
- })
@@ -1,142 +0,0 @@
1
- import { sva } from "@styled-system/css"
2
-
3
- export const recipe = sva({
4
- className: "select",
5
- slots: [
6
- "root",
7
- "group",
8
- "value",
9
- "trigger",
10
- "viewport",
11
- "content",
12
- "label",
13
- "item",
14
- "itemIndicator",
15
- "separator",
16
- ],
17
- base: {
18
- trigger: {
19
- display: "flex",
20
- h: "10",
21
- w: "full",
22
- alignItems: "center",
23
- justifyContent: "space-between",
24
- rounded: "md",
25
- border: "input",
26
- bg: "transparent",
27
- px: "3",
28
- py: "2",
29
- textStyle: "sm",
30
- cursor: "pointer",
31
- ringColor: "background",
32
-
33
- _placeholder: {
34
- color: "muted.foreground",
35
- },
36
-
37
- _focus: {
38
- ringWidth: "1",
39
- ringColor: "ring",
40
- outlineOffset: "1",
41
- },
42
-
43
- _disabled: {
44
- cursor: "not-allowed",
45
- opacity: "0.5",
46
- },
47
- },
48
- viewport: {
49
- "&:is([data-position=popper])": {
50
- h: "var(--radix-select-trigger-height)",
51
- w: "full",
52
- minW: "var(--radix-select-trigger-width)",
53
- },
54
- },
55
- content: {
56
- position: "relative",
57
- zIndex: 50,
58
- minW: "full",
59
- overflow: "hidden",
60
- rounded: "md",
61
- border: "base",
62
- bg: "popover",
63
- color: "popover.foreground",
64
- shadow: "md",
65
- maxH: "96",
66
-
67
- "&:is([data-state=open])": {
68
- animationName: "fadeIn",
69
- animationState: "ease-in",
70
- animationDuration: "slowest",
71
- },
72
-
73
- "&:is(&[data-state=closed])": {
74
- animationName: "slideInDown",
75
- animationState: "ease-in",
76
- animationDuration: "slowest",
77
- },
78
-
79
- "&:is([data-position=popper])": {
80
- "&:is([data-side=top])": {
81
- translateY: "-1",
82
- },
83
-
84
- "&:is([data-side=bottom])": {
85
- translateY: "1",
86
- },
87
-
88
- "&:is([data-side=left])": {
89
- translateX: "-1",
90
- },
91
-
92
- "&:is([data-side=right])": {
93
- translateX: "1",
94
- },
95
- },
96
- },
97
- label: {
98
- py: "1.5",
99
- pl: "8",
100
- pr: "2",
101
- textStyle: "sm",
102
- fontWeight: "semibold",
103
- },
104
- item: {
105
- position: "relative",
106
- display: "flex",
107
- cursor: "default",
108
- userSelect: "none",
109
- alignItems: "center",
110
- rounded: "sm",
111
- py: "1.5",
112
- pl: "8",
113
- pr: "2",
114
- textStyle: "sm",
115
-
116
- _focus: {
117
- bg: "accent",
118
- color: "accent.foreground",
119
- },
120
-
121
- ["&[data-disabled]"]: {
122
- pointerEvents: "none",
123
- opacity: "0.5",
124
- },
125
- },
126
- itemIndicator: {
127
- position: "absolute",
128
- left: "2",
129
- display: "flex",
130
- h: "3.5",
131
- w: "3.5",
132
- alignItems: "center",
133
- justifyContent: "center",
134
- },
135
- separator: {
136
- mx: "-1",
137
- my: "1",
138
- h: "1",
139
- bg: "muted",
140
- },
141
- },
142
- })
@@ -1,61 +0,0 @@
1
- import { css, cx } from "@styled-system/css"
2
- import { Slider as SliderPrimitive } from "radix-ui"
3
- import { ComponentPropsWithoutRef, ElementRef, forwardRef } from "react"
4
-
5
- import { recipe } from "./recipe"
6
-
7
- export const Root = forwardRef<
8
- ElementRef<typeof SliderPrimitive.Root>,
9
- ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
10
- >(({ className, ...props }, ref) => {
11
- const styles = recipe.raw()
12
- return (
13
- <SliderPrimitive.Root
14
- ref={ref}
15
- className={cx(css(styles.root), className)}
16
- {...props}
17
- />
18
- )
19
- })
20
-
21
- export const Track = forwardRef<
22
- ElementRef<typeof SliderPrimitive.Track>,
23
- ComponentPropsWithoutRef<typeof SliderPrimitive.Track>
24
- >(({ className, ...props }, ref) => {
25
- const styles = recipe.raw()
26
- return (
27
- <SliderPrimitive.Track
28
- ref={ref}
29
- className={cx(css(styles.track), className)}
30
- {...props}
31
- />
32
- )
33
- })
34
-
35
- export const Range = forwardRef<
36
- ElementRef<typeof SliderPrimitive.Range>,
37
- ComponentPropsWithoutRef<typeof SliderPrimitive.Range>
38
- >(({ className, ...props }, ref) => {
39
- const styles = recipe.raw()
40
- return (
41
- <SliderPrimitive.Range
42
- ref={ref}
43
- className={cx(css(styles.range), className)}
44
- {...props}
45
- />
46
- )
47
- })
48
-
49
- export const Thumb = forwardRef<
50
- ElementRef<typeof SliderPrimitive.Thumb>,
51
- ComponentPropsWithoutRef<typeof SliderPrimitive.Thumb>
52
- >(({ className, ...props }, ref) => {
53
- const styles = recipe.raw()
54
- return (
55
- <SliderPrimitive.Thumb
56
- ref={ref}
57
- className={cx(css(styles.thumb), className)}
58
- {...props}
59
- />
60
- )
61
- })
@@ -1,52 +0,0 @@
1
- import { sva } from "@styled-system/css"
2
-
3
- export const recipe = sva({
4
- slots: ["root", "track", "range", "thumb"],
5
- base: {
6
- root: {
7
- position: "relative",
8
- display: "flex",
9
- touchAction: "none",
10
- userSelect: "none",
11
- alignItems: "center",
12
- },
13
- track: {
14
- position: "relative",
15
- h: "2",
16
- w: "full",
17
- flexGrow: "1",
18
- overflow: "hidden",
19
- rounded: "full",
20
- bg: "secondary",
21
- },
22
- range: {
23
- position: "absolute",
24
- h: "full",
25
- bg: "primary",
26
- },
27
- thumb: {
28
- display: "block",
29
- h: "5",
30
- w: "5",
31
- cursor: "pointer",
32
- rounded: "full",
33
- borderWidth: "2px",
34
- borderStyle: "solid",
35
- borderColor: "primary",
36
- bg: "background",
37
- ringColor: "background",
38
- transition: "colors",
39
-
40
- _focusVisible: {
41
- ringWidth: "1",
42
- ringColor: "ring",
43
- ringOffset: "1",
44
- },
45
-
46
- _disabled: {
47
- pointerEvents: "none",
48
- opacity: "0.5",
49
- },
50
- },
51
- },
52
- })