@hanzo/ui 4.7.0 → 4.8.3

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 (278) hide show
  1. package/assets/ai-icons.tsx +207 -0
  2. package/assets/crypto.tsx +33 -0
  3. package/assets/file-type-icon.tsx +66 -0
  4. package/assets/file.tsx +45 -0
  5. package/assets/general.tsx +2318 -0
  6. package/assets/hanzo-logo.svg +9 -0
  7. package/assets/hanzo-logo.tsx +17 -0
  8. package/assets/index.ts +122 -0
  9. package/assets/index.tsx +4 -0
  10. package/assets/llm-provider.tsx +1094 -0
  11. package/blocks/auth/index.ts +6 -0
  12. package/blocks/auth/login-2fa.tsx +165 -0
  13. package/blocks/auth/login-basic.tsx +94 -0
  14. package/blocks/auth/login-social.tsx +148 -0
  15. package/blocks/auth/magic-link.tsx +129 -0
  16. package/blocks/auth/password-reset.tsx +97 -0
  17. package/blocks/auth/signup.tsx +157 -0
  18. package/blocks/components/accordian-block.tsx +48 -0
  19. package/blocks/components/block-component-props.ts +11 -0
  20. package/blocks/components/bullet-cards-block.tsx +46 -0
  21. package/blocks/components/card-block/index.tsx +171 -0
  22. package/blocks/components/card-block/link-out-button.tsx +20 -0
  23. package/blocks/components/card-block/util.ts +28 -0
  24. package/blocks/components/carte-blanche-block/index.tsx +127 -0
  25. package/blocks/components/carte-blanche-block/variant-content-left.tsx +49 -0
  26. package/blocks/components/content.tsx +70 -0
  27. package/blocks/components/cta-block.tsx +115 -0
  28. package/blocks/components/enh-heading-block.tsx +204 -0
  29. package/blocks/components/grid-block/grid-block-mutator.ts +12 -0
  30. package/blocks/components/grid-block/index.tsx +83 -0
  31. package/blocks/components/grid-block/mutator-registry.ts +10 -0
  32. package/blocks/components/grid-block/table-borders.mutator.ts +47 -0
  33. package/blocks/components/group-block.tsx +83 -0
  34. package/blocks/components/heading-block.tsx +88 -0
  35. package/blocks/components/image-block.tsx +111 -0
  36. package/blocks/components/index.ts +30 -0
  37. package/blocks/components/screenful-block/content.tsx +123 -0
  38. package/blocks/components/screenful-block/index.tsx +107 -0
  39. package/blocks/components/screenful-block/poster-background.tsx +34 -0
  40. package/blocks/components/screenful-block/video-background.tsx +45 -0
  41. package/blocks/components/space-block.tsx +66 -0
  42. package/blocks/components/video-block.tsx +138 -0
  43. package/blocks/data-display/activity-feed.tsx +242 -0
  44. package/blocks/data-display/data-table.tsx +235 -0
  45. package/blocks/data-display/stats-grid.tsx +194 -0
  46. package/blocks/def/accordian-block.ts +14 -0
  47. package/blocks/def/block.ts +7 -0
  48. package/blocks/def/bullet-cards-block.ts +22 -0
  49. package/blocks/def/card-block.ts +22 -0
  50. package/blocks/def/carte-blanche-block.ts +21 -0
  51. package/blocks/def/cta-block.ts +19 -0
  52. package/blocks/def/element-block.ts +11 -0
  53. package/blocks/def/enh-heading-block.ts +44 -0
  54. package/blocks/def/grid-block.ts +16 -0
  55. package/blocks/def/group-block.ts +11 -0
  56. package/blocks/def/heading-block.ts +15 -0
  57. package/blocks/def/image-block.ts +31 -0
  58. package/blocks/def/index.ts +35 -0
  59. package/blocks/def/screenful-block.ts +54 -0
  60. package/blocks/def/space-block.ts +64 -0
  61. package/blocks/def/video-block.ts +9 -0
  62. package/blocks/ecommerce/checkout.tsx +242 -0
  63. package/blocks/ecommerce/index.ts +7 -0
  64. package/blocks/ecommerce/product-detail.tsx +257 -0
  65. package/blocks/ecommerce/product-grid.tsx +148 -0
  66. package/blocks/ecommerce/shopping-cart.tsx +181 -0
  67. package/blocks/index.ts +2 -0
  68. package/blocks/marketing/cta-section.tsx +207 -0
  69. package/blocks/marketing/faq.tsx +159 -0
  70. package/blocks/marketing/features-grid.tsx +156 -0
  71. package/blocks/marketing/hero-section.tsx +192 -0
  72. package/blocks/marketing/index.ts +6 -0
  73. package/blocks/marketing/pricing-table.tsx +121 -0
  74. package/blocks/marketing/testimonials.tsx +196 -0
  75. package/components/index.ts +9 -0
  76. package/dist/index.js +1408 -1514
  77. package/dist/index.mjs +1364 -1472
  78. package/dist/lib/utils.js +1 -0
  79. package/dist/lib/utils.mjs +1 -0
  80. package/dist/src/utils.js +1 -0
  81. package/dist/src/utils.mjs +1 -0
  82. package/dist/tailwind/index.js +4 -1
  83. package/dist/tailwind/index.mjs +4 -1
  84. package/dist/types/index.js +1 -0
  85. package/dist/types/index.mjs +2 -0
  86. package/dist/util/format-text.js +52 -0
  87. package/dist/util/format-text.mjs +33 -0
  88. package/dist/util/index.js +385 -0
  89. package/dist/util/index.mjs +364 -0
  90. package/frameworks/core/index.ts +6 -0
  91. package/frameworks/core/utils/index.ts +64 -0
  92. package/frameworks/react/components/button.tsx +26 -0
  93. package/frameworks/react/components/index.ts +5 -0
  94. package/frameworks/react/hooks/index.ts +5 -0
  95. package/frameworks/react/index.ts +9 -0
  96. package/frameworks/react/package.json +8 -0
  97. package/frameworks/react/utils/index.ts +2 -0
  98. package/frameworks/react-native/index.ts +9 -0
  99. package/frameworks/react-native/package.json +8 -0
  100. package/frameworks/registry.json +371 -0
  101. package/frameworks/setup.sh +69 -0
  102. package/frameworks/svelte/index.ts +9 -0
  103. package/frameworks/svelte/package.json +8 -0
  104. package/frameworks/tracker.json +1854 -0
  105. package/frameworks/vue/index.ts +9 -0
  106. package/frameworks/vue/package.json +8 -0
  107. package/helpers/file.ts +33 -0
  108. package/helpers/memoization.ts +40 -0
  109. package/package.json +49 -11
  110. package/primitives/accordion.tsx +74 -0
  111. package/primitives/action-button.tsx +42 -0
  112. package/primitives/alert-dialog.tsx +185 -0
  113. package/primitives/alert.tsx +74 -0
  114. package/primitives/apply-typography.tsx +55 -0
  115. package/primitives/aspect-ratio.tsx +5 -0
  116. package/primitives/avatar.tsx +57 -0
  117. package/primitives/background-beams.tsx +142 -0
  118. package/primitives/badge.tsx +45 -0
  119. package/primitives/breadcrumb.tsx +130 -0
  120. package/primitives/breakpoint-indicator.tsx +19 -0
  121. package/primitives/button.tsx +72 -0
  122. package/primitives/calendar.tsx +72 -0
  123. package/primitives/card.tsx +97 -0
  124. package/primitives/carousel.tsx +238 -0
  125. package/primitives/chat/chat-input-area.tsx +88 -0
  126. package/primitives/chat/chat-input.tsx +71 -0
  127. package/primitives/chat/files-preview.tsx +331 -0
  128. package/primitives/chat/index.ts +6 -0
  129. package/primitives/chat/json-form.tsx +8 -0
  130. package/primitives/chat/message-list.tsx +308 -0
  131. package/primitives/chat/message.tsx +569 -0
  132. package/primitives/chat/sqlite-preview.tsx +215 -0
  133. package/primitives/checkbox.tsx +32 -0
  134. package/primitives/collapsible.tsx +9 -0
  135. package/primitives/combobox.tsx +239 -0
  136. package/primitives/command.tsx +151 -0
  137. package/primitives/context-menu.tsx +206 -0
  138. package/primitives/copy-to-clipboard-icon.tsx +60 -0
  139. package/primitives/dialog-video-controller.tsx +38 -0
  140. package/primitives/dialog.tsx +128 -0
  141. package/primitives/dot-pattern.tsx +57 -0
  142. package/primitives/dots-loader.tsx +13 -0
  143. package/primitives/drawer.tsx +113 -0
  144. package/primitives/dropdown-menu.tsx +199 -0
  145. package/primitives/error-message.tsx +19 -0
  146. package/primitives/file-uploader.tsx +202 -0
  147. package/primitives/form.tsx +185 -0
  148. package/primitives/hover-card.tsx +28 -0
  149. package/primitives/icons/github.tsx +14 -0
  150. package/primitives/icons/index.ts +18 -0
  151. package/primitives/icons/youtube-logo.tsx +59 -0
  152. package/primitives/index-common.ts +304 -0
  153. package/primitives/index-next.ts +4 -0
  154. package/primitives/input-otp.tsx +65 -0
  155. package/primitives/input.tsx +128 -0
  156. package/primitives/label.tsx +21 -0
  157. package/primitives/list-adaptor.ts +12 -0
  158. package/primitives/list-box.tsx +74 -0
  159. package/primitives/loading-spinner.tsx +33 -0
  160. package/primitives/markdown-preview.tsx +612 -0
  161. package/primitives/mermaid.tsx +191 -0
  162. package/primitives/navigation-menu.tsx +147 -0
  163. package/primitives/next/image.tsx +91 -0
  164. package/primitives/next/index.ts +7 -0
  165. package/primitives/next/inline-icon.tsx +36 -0
  166. package/primitives/next/link-element.tsx +109 -0
  167. package/primitives/next/mdx-link.tsx +22 -0
  168. package/primitives/next/media-stack.tsx +52 -0
  169. package/primitives/next/nav-items.tsx +45 -0
  170. package/primitives/next/youtube-embed.tsx +83 -0
  171. package/primitives/pagination.tsx +117 -0
  172. package/primitives/popover.tsx +34 -0
  173. package/primitives/pretty-json-print.tsx +28 -0
  174. package/primitives/progress.tsx +27 -0
  175. package/primitives/prompt-textarea.tsx +72 -0
  176. package/primitives/qr-code.tsx +112 -0
  177. package/primitives/radio-group.tsx +42 -0
  178. package/primitives/resizable.tsx +47 -0
  179. package/primitives/scroll-area.tsx +57 -0
  180. package/primitives/search-input.tsx +66 -0
  181. package/primitives/select.tsx +122 -0
  182. package/primitives/separator.tsx +26 -0
  183. package/primitives/sheet.tsx +139 -0
  184. package/primitives/skeleton.tsx +18 -0
  185. package/primitives/slider.tsx +63 -0
  186. package/primitives/sonner.tsx +35 -0
  187. package/primitives/step-indicator.tsx +69 -0
  188. package/primitives/stepper.tsx +272 -0
  189. package/primitives/switch.tsx +27 -0
  190. package/primitives/table.tsx +105 -0
  191. package/primitives/tabs.tsx +50 -0
  192. package/primitives/text-area.tsx +26 -0
  193. package/primitives/text-link.tsx +25 -0
  194. package/primitives/textarea.tsx +64 -0
  195. package/primitives/textfield.tsx +78 -0
  196. package/primitives/toast.tsx +30 -0
  197. package/primitives/toggle-group.tsx +63 -0
  198. package/primitives/toggle.tsx +44 -0
  199. package/primitives/tooltip.tsx +47 -0
  200. package/primitives/video-player.tsx +23 -0
  201. package/src/button.ts +1 -0
  202. package/src/hooks/index.ts +7 -0
  203. package/src/hooks/use-click-away.ts +31 -0
  204. package/src/hooks/use-combined-refs.ts +22 -0
  205. package/src/hooks/use-copy-clipboard.ts +30 -0
  206. package/src/hooks/use-debounce.ts +17 -0
  207. package/src/hooks/use-fill-ids.ts +25 -0
  208. package/src/hooks/use-map.ts +26 -0
  209. package/src/hooks/use-measure.ts +42 -0
  210. package/src/hooks/use-reverse-video-playback.ts +43 -0
  211. package/src/hooks/use-scroll-restoration.ts +50 -0
  212. package/src/index-lean.ts +87 -0
  213. package/src/index.ts +54 -0
  214. package/src/mcp/README.md +141 -0
  215. package/src/mcp/enhanced-server.ts +1208 -0
  216. package/src/mcp/index.ts +518 -0
  217. package/src/mcp/package.json +10 -0
  218. package/src/registry/api.ts +164 -0
  219. package/src/registry/index.ts +60 -0
  220. package/src/registry/package.json +10 -0
  221. package/src/utils.ts +19 -0
  222. package/tailwind/colors.tailwind.js +53 -0
  223. package/tailwind/fontFamily.tailwind.ts +7 -0
  224. package/tailwind/fontSize.tailwind.ts +13 -0
  225. package/tailwind/index.ts +7 -0
  226. package/tailwind/safelist.tailwind.js +26 -0
  227. package/tailwind/screens.tailwind.js +8 -0
  228. package/tailwind/spacing.tailwind.js +65 -0
  229. package/tailwind/tailwind.config.hanzo-preset.d.ts +5 -0
  230. package/tailwind/tailwind.config.hanzo-preset.js +915 -0
  231. package/tailwind/tw-font-desc.ts +15 -0
  232. package/tailwind/typo-plugin/get-plugin-styles.js +679 -0
  233. package/tailwind/typo-plugin/index.d.ts +9 -0
  234. package/tailwind/typo-plugin/index.js +141 -0
  235. package/tailwind/typo-plugin/utils.js +60 -0
  236. package/tailwind/typography-test.mdx +35 -0
  237. package/tailwind/z-index.tailwind.js +71 -0
  238. package/types/animation-def.ts +3 -0
  239. package/types/breakpoints.ts +11 -0
  240. package/types/bullet-item.ts +10 -0
  241. package/types/button-def.ts +39 -0
  242. package/types/dimensions.ts +8 -0
  243. package/types/grid-def.ts +56 -0
  244. package/types/image-def.ts +32 -0
  245. package/types/index.ts +30 -0
  246. package/types/link-def.ts +56 -0
  247. package/types/media-stack-def.ts +31 -0
  248. package/types/t-shirt-size.ts +5 -0
  249. package/types/tshirt-dimensions.ts +20 -0
  250. package/types/video-def.ts +25 -0
  251. package/util/blob.ts +33 -0
  252. package/util/copy-to-clipboard.ts +17 -0
  253. package/util/create-shadow-root.ts +22 -0
  254. package/util/date.ts +84 -0
  255. package/util/debounce.ts +11 -0
  256. package/util/file.ts +15 -0
  257. package/util/format-and-abbreviate-as-currency.ts +125 -0
  258. package/util/format-text.ts +34 -0
  259. package/util/format-to-max-char.ts +68 -0
  260. package/util/index-client.ts +3 -0
  261. package/util/index.ts +112 -0
  262. package/util/number-abbreviate.ts +49 -0
  263. package/util/specifier.ts +43 -0
  264. package/util/spread-to-transform.ts +25 -0
  265. package/util/step-animation.ts +90 -0
  266. package/util/timing.ts +3 -0
  267. package/util/toasts.tsx +17 -0
  268. package/util/two-way-map.ts +19 -0
  269. package/dist/index.d.mts +0 -16
  270. package/dist/index.d.ts +0 -16
  271. package/dist/lib/utils.d.mts +0 -2
  272. package/dist/lib/utils.d.ts +0 -2
  273. package/dist/src/utils.d.mts +0 -7
  274. package/dist/src/utils.d.ts +0 -7
  275. package/dist/tailwind/index.d.mts +0 -2
  276. package/dist/tailwind/index.d.ts +0 -2
  277. package/dist/types/index.d.mts +0 -12
  278. package/dist/types/index.d.ts +0 -12
@@ -0,0 +1,915 @@
1
+ import animatePlugin from 'tailwindcss-animate'
2
+ import containerQueriesPlugin from '@tailwindcss/container-queries'
3
+ import tailwindInteractionMediaPlugin from 'tailwindcss-interaction-media'
4
+
5
+ import colors from './colors.tailwind.js'
6
+ import safelist from './safelist.tailwind.js'
7
+ import screens from './screens.tailwind.js'
8
+ import spacing from './spacing.tailwind.js'
9
+ import fontSize from './fontSize.tailwind.ts'
10
+ import fontFamily from './fontFamily.tailwind.ts'
11
+ import zIndex from './z-index.tailwind.js'
12
+ import typographyPlugin from './typo-plugin'
13
+
14
+ export default {
15
+ darkMode: ["class"],
16
+ content: [],
17
+ safelist,
18
+ plugins: [
19
+ animatePlugin,
20
+ typographyPlugin({ className: 'typography', base: 16 }),
21
+ containerQueriesPlugin,
22
+ tailwindInteractionMediaPlugin,
23
+ ],
24
+ theme: {
25
+
26
+ accentColor: ({ theme }) => ({
27
+ ...theme('colors'),
28
+ auto: 'auto',
29
+ }),
30
+ animation: {
31
+ none: 'none',
32
+ spin: 'spin 1s linear infinite',
33
+ ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',
34
+ pulse: 'pulse 2s linear(0, 1) infinite', // cubic-bezier(0.4, 0, 0.6, 1)
35
+ pulsereverse: 'pulse 2s linear(1, 0) infinite',
36
+ bounce: 'bounce 1s infinite',
37
+ "accordion-down": "accordion-down 0.2s ease-out",
38
+ "accordion-up": "accordion-up 0.2s ease-out",
39
+ "mobile-menu-open": "opacity-in 300ms ease-in",
40
+ },
41
+ aria: {
42
+ checked: 'checked="true"',
43
+ disabled: 'disabled="true"',
44
+ expanded: 'expanded="true"',
45
+ hidden: 'hidden="true"',
46
+ pressed: 'pressed="true"',
47
+ readonly: 'readonly="true"',
48
+ required: 'required="true"',
49
+ selected: 'selected="true"',
50
+ },
51
+ aspectRatio: {
52
+ auto: 'auto',
53
+ square: '1 / 1',
54
+ video: '16 / 9',
55
+ },
56
+ backdropBlur: ({ theme }) => theme('blur'),
57
+ backdropBrightness: ({ theme }) => theme('brightness'),
58
+ backdropContrast: ({ theme }) => theme('contrast'),
59
+ backdropGrayscale: ({ theme }) => theme('grayscale'),
60
+ backdropHueRotate: ({ theme }) => theme('hueRotate'),
61
+ backdropInvert: ({ theme }) => theme('invert'),
62
+ backdropOpacity: ({ theme }) => theme('opacity'),
63
+ backdropSaturate: ({ theme }) => theme('saturate'),
64
+ backdropSepia: ({ theme }) => theme('sepia'),
65
+ backgroundColor: ({ theme }) => theme('colors'),
66
+ backgroundImage: {
67
+ none: 'none',
68
+ 'gradient-to-t': 'linear-gradient(to top, var(--tw-gradient-stops))',
69
+ 'gradient-to-tr': 'linear-gradient(to top right, var(--tw-gradient-stops))',
70
+ 'gradient-to-r': 'linear-gradient(to right, var(--tw-gradient-stops))',
71
+ 'gradient-to-br': 'linear-gradient(to bottom right, var(--tw-gradient-stops))',
72
+ 'gradient-to-b': 'linear-gradient(to bottom, var(--tw-gradient-stops))',
73
+ 'gradient-to-bl': 'linear-gradient(to bottom left, var(--tw-gradient-stops))',
74
+ 'gradient-to-l': 'linear-gradient(to left, var(--tw-gradient-stops))',
75
+ 'gradient-to-tl': 'linear-gradient(to top left, var(--tw-gradient-stops))',
76
+ },
77
+ backgroundOpacity: ({ theme }) => theme('opacity'),
78
+ backgroundPosition: {
79
+ bottom: 'bottom',
80
+ center: 'center',
81
+ left: 'left',
82
+ 'left-bottom': 'left bottom',
83
+ 'left-top': 'left top',
84
+ right: 'right',
85
+ 'right-bottom': 'right bottom',
86
+ 'right-top': 'right top',
87
+ top: 'top',
88
+ },
89
+ backgroundSize: {
90
+ auto: 'auto',
91
+ cover: 'cover',
92
+ contain: 'contain',
93
+ },
94
+ blur: {
95
+ 0: '0',
96
+ none: '0',
97
+ sm: '4px',
98
+ DEFAULT: '8px',
99
+ md: '12px',
100
+ lg: '16px',
101
+ xl: '24px',
102
+ '2xl': '40px',
103
+ '3xl': '64px',
104
+ },
105
+ borderColor: ({ theme }) => ({
106
+ ...theme('colors'),
107
+ DEFAULT: theme('colors.muted.3'),
108
+ }),
109
+ borderOpacity: ({ theme }) => theme('opacity'),
110
+ borderRadius: {
111
+ none: '0px',
112
+ sm: '0.25rem',
113
+ DEFAULT: '0.5rem',
114
+ md: '0.5rem',
115
+ lg: '0.75rem',
116
+ xl: '1rem',
117
+ '2xl': '1.5rem',
118
+ '3xl': '2rem',
119
+ full: '9999px',
120
+ },
121
+ borderSpacing: spacing,
122
+ borderWidth: {
123
+ DEFAULT: '1px',
124
+ 0: '0px',
125
+ 2: '2px',
126
+ 4: '4px',
127
+ 8: '8px',
128
+ },
129
+ boxShadow: {
130
+ sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
131
+ DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
132
+ md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
133
+ lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',
134
+ xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',
135
+ '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',
136
+ inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
137
+ none: 'none',
138
+ },
139
+ boxShadowColor: ({ theme }) => theme('colors'),
140
+ brightness: {
141
+ 0: '0',
142
+ 50: '.5',
143
+ 75: '.75',
144
+ 90: '.9',
145
+ 95: '.95',
146
+ 100: '1',
147
+ 105: '1.05',
148
+ 110: '1.1',
149
+ 125: '1.25',
150
+ 150: '1.5',
151
+ 200: '2',
152
+ },
153
+ caretColor: ({ theme }) => theme('colors'),
154
+ colors,
155
+ columns: {
156
+ auto: 'auto',
157
+ 1: '1',
158
+ 2: '2',
159
+ 3: '3',
160
+ 4: '4',
161
+ 5: '5',
162
+ 6: '6',
163
+ 7: '7',
164
+ 8: '8',
165
+ 9: '9',
166
+ 10: '10',
167
+ 11: '11',
168
+ 12: '12',
169
+ '3xs': '16rem',
170
+ '2xs': '18rem',
171
+ xs: '20rem',
172
+ sm: '24rem',
173
+ md: '28rem',
174
+ lg: '32rem',
175
+ xl: '36rem',
176
+ '2xl': '42rem',
177
+ '3xl': '48rem',
178
+ '4xl': '56rem',
179
+ '5xl': '64rem',
180
+ '6xl': '72rem',
181
+ '7xl': '80rem',
182
+ },
183
+ container: {
184
+ center: true,
185
+ padding: "2rem",
186
+ },
187
+ content: {
188
+ none: 'none',
189
+ },
190
+ contrast: {
191
+ 0: '0',
192
+ 50: '.5',
193
+ 75: '.75',
194
+ 100: '1',
195
+ 125: '1.25',
196
+ 150: '1.5',
197
+ 200: '2',
198
+ },
199
+ cursor: {
200
+ auto: 'auto',
201
+ default: 'default',
202
+ pointer: 'pointer',
203
+ wait: 'wait',
204
+ text: 'text',
205
+ move: 'move',
206
+ help: 'help',
207
+ 'not-allowed': 'not-allowed',
208
+ none: 'none',
209
+ 'context-menu': 'context-menu',
210
+ progress: 'progress',
211
+ cell: 'cell',
212
+ crosshair: 'crosshair',
213
+ 'vertical-text': 'vertical-text',
214
+ alias: 'alias',
215
+ copy: 'copy',
216
+ 'no-drop': 'no-drop',
217
+ grab: 'grab',
218
+ grabbing: 'grabbing',
219
+ 'all-scroll': 'all-scroll',
220
+ 'col-resize': 'col-resize',
221
+ 'row-resize': 'row-resize',
222
+ 'n-resize': 'n-resize',
223
+ 'e-resize': 'e-resize',
224
+ 's-resize': 's-resize',
225
+ 'w-resize': 'w-resize',
226
+ 'ne-resize': 'ne-resize',
227
+ 'nw-resize': 'nw-resize',
228
+ 'se-resize': 'se-resize',
229
+ 'sw-resize': 'sw-resize',
230
+ 'ew-resize': 'ew-resize',
231
+ 'ns-resize': 'ns-resize',
232
+ 'nesw-resize': 'nesw-resize',
233
+ 'nwse-resize': 'nwse-resize',
234
+ 'zoom-in': 'zoom-in',
235
+ 'zoom-out': 'zoom-out',
236
+ },
237
+ divideColor: ({ theme }) => theme('borderColor'),
238
+ divideOpacity: ({ theme }) => theme('borderOpacity'),
239
+ divideWidth: ({ theme }) => theme('borderWidth'),
240
+ dropShadow: {
241
+ sm: '0 1px 1px rgb(0 0 0 / 0.05)',
242
+ DEFAULT: ['0 1px 2px rgb(0 0 0 / 0.1)', '0 1px 1px rgb(0 0 0 / 0.06)'],
243
+ md: ['0 4px 3px rgb(0 0 0 / 0.07)', '0 2px 2px rgb(0 0 0 / 0.06)'],
244
+ lg: ['0 10px 8px rgb(0 0 0 / 0.04)', '0 4px 3px rgb(0 0 0 / 0.1)'],
245
+ xl: ['0 20px 13px rgb(0 0 0 / 0.03)', '0 8px 5px rgb(0 0 0 / 0.08)'],
246
+ '2xl': '0 25px 25px rgb(0 0 0 / 0.15)',
247
+ none: '0 0 #0000',
248
+ },
249
+ fill: ({ theme }) => ({
250
+ none: 'none',
251
+ ...theme('colors'),
252
+ }),
253
+ flex: {
254
+ 1: '1 1 0%',
255
+ auto: '1 1 auto',
256
+ initial: '0 1 auto',
257
+ none: 'none',
258
+ },
259
+ flexBasis: {
260
+ auto: 'auto',
261
+ ...spacing,
262
+ '1/2': '50%',
263
+ '1/3': '33.333333%',
264
+ '2/3': '66.666667%',
265
+ '1/4': '25%',
266
+ '2/4': '50%',
267
+ '3/4': '75%',
268
+ '1/5': '20%',
269
+ '2/5': '40%',
270
+ '3/5': '60%',
271
+ '4/5': '80%',
272
+ '1/6': '16.666667%',
273
+ '2/6': '33.333333%',
274
+ '3/6': '50%',
275
+ '4/6': '66.666667%',
276
+ '5/6': '83.333333%',
277
+ '1/12': '8.333333%',
278
+ '2/12': '16.666667%',
279
+ '3/12': '25%',
280
+ '4/12': '33.333333%',
281
+ '5/12': '41.666667%',
282
+ '6/12': '50%',
283
+ '7/12': '58.333333%',
284
+ '8/12': '66.666667%',
285
+ '9/12': '75%',
286
+ '10/12': '83.333333%',
287
+ '11/12': '91.666667%',
288
+ full: '100%',
289
+ },
290
+ flexGrow: {
291
+ 0: '0',
292
+ DEFAULT: '1',
293
+ },
294
+ flexShrink: {
295
+ 0: '0',
296
+ DEFAULT: '1',
297
+ },
298
+ fontFamily,
299
+ fontSize,
300
+ fontWeight: {
301
+ thin: '100',
302
+ extralight: '200',
303
+ light: '300',
304
+ normal: '400',
305
+ medium: '500',
306
+ semibold: '600',
307
+ bold: '700',
308
+ extrabold: '800',
309
+ black: '900',
310
+ },
311
+ gap: spacing,
312
+ gradientColorStops: ({ theme }) => theme('colors'),
313
+ gradientColorStopPositions: {
314
+ '0%': '0%',
315
+ '5%': '5%',
316
+ '10%': '10%',
317
+ '15%': '15%',
318
+ '20%': '20%',
319
+ '25%': '25%',
320
+ '30%': '30%',
321
+ '35%': '35%',
322
+ '40%': '40%',
323
+ '45%': '45%',
324
+ '50%': '50%',
325
+ '55%': '55%',
326
+ '60%': '60%',
327
+ '65%': '65%',
328
+ '70%': '70%',
329
+ '75%': '75%',
330
+ '80%': '80%',
331
+ '85%': '85%',
332
+ '90%': '90%',
333
+ '95%': '95%',
334
+ '100%': '100%',
335
+ },
336
+ grayscale: {
337
+ 0: '0',
338
+ DEFAULT: '100%',
339
+ },
340
+ gridAutoColumns: {
341
+ auto: 'auto',
342
+ min: 'min-content',
343
+ max: 'max-content',
344
+ fr: 'minmax(0, 1fr)',
345
+ },
346
+ gridAutoRows: {
347
+ auto: 'auto',
348
+ min: 'min-content',
349
+ max: 'max-content',
350
+ fr: 'minmax(0, 1fr)',
351
+ },
352
+ gridColumn: {
353
+ auto: 'auto',
354
+ 'span-1': 'span 1 / span 1',
355
+ 'span-2': 'span 2 / span 2',
356
+ 'span-3': 'span 3 / span 3',
357
+ 'span-4': 'span 4 / span 4',
358
+ 'span-5': 'span 5 / span 5',
359
+ 'span-6': 'span 6 / span 6',
360
+ 'span-7': 'span 7 / span 7',
361
+ 'span-8': 'span 8 / span 8',
362
+ 'span-9': 'span 9 / span 9',
363
+ 'span-10': 'span 10 / span 10',
364
+ 'span-11': 'span 11 / span 11',
365
+ 'span-12': 'span 12 / span 12',
366
+ 'span-full': '1 / -1',
367
+ },
368
+ gridColumnEnd: {
369
+ auto: 'auto',
370
+ 1: '1',
371
+ 2: '2',
372
+ 3: '3',
373
+ 4: '4',
374
+ 5: '5',
375
+ 6: '6',
376
+ 7: '7',
377
+ 8: '8',
378
+ 9: '9',
379
+ 10: '10',
380
+ 11: '11',
381
+ 12: '12',
382
+ 13: '13',
383
+ },
384
+ gridColumnStart: {
385
+ auto: 'auto',
386
+ 1: '1',
387
+ 2: '2',
388
+ 3: '3',
389
+ 4: '4',
390
+ 5: '5',
391
+ 6: '6',
392
+ 7: '7',
393
+ 8: '8',
394
+ 9: '9',
395
+ 10: '10',
396
+ 11: '11',
397
+ 12: '12',
398
+ 13: '13',
399
+ },
400
+ gridRow: {
401
+ auto: 'auto',
402
+ 'span-1': 'span 1 / span 1',
403
+ 'span-2': 'span 2 / span 2',
404
+ 'span-3': 'span 3 / span 3',
405
+ 'span-4': 'span 4 / span 4',
406
+ 'span-5': 'span 5 / span 5',
407
+ 'span-6': 'span 6 / span 6',
408
+ 'span-full': '1 / -1',
409
+ },
410
+ gridRowEnd: {
411
+ auto: 'auto',
412
+ 1: '1',
413
+ 2: '2',
414
+ 3: '3',
415
+ 4: '4',
416
+ 5: '5',
417
+ 6: '6',
418
+ 7: '7',
419
+ },
420
+ gridRowStart: {
421
+ auto: 'auto',
422
+ 1: '1',
423
+ 2: '2',
424
+ 3: '3',
425
+ 4: '4',
426
+ 5: '5',
427
+ 6: '6',
428
+ 7: '7',
429
+ },
430
+ gridTemplateColumns: {
431
+ none: 'none',
432
+ 1: 'repeat(1, minmax(0, 1fr))',
433
+ 2: 'repeat(2, minmax(0, 1fr))',
434
+ 3: 'repeat(3, minmax(0, 1fr))',
435
+ 4: 'repeat(4, minmax(0, 1fr))',
436
+ 5: 'repeat(5, minmax(0, 1fr))',
437
+ 6: 'repeat(6, minmax(0, 1fr))',
438
+ 7: 'repeat(7, minmax(0, 1fr))',
439
+ 8: 'repeat(8, minmax(0, 1fr))',
440
+ 9: 'repeat(9, minmax(0, 1fr))',
441
+ 10: 'repeat(10, minmax(0, 1fr))',
442
+ 11: 'repeat(11, minmax(0, 1fr))',
443
+ 12: 'repeat(12, minmax(0, 1fr))',
444
+ },
445
+ gridTemplateRows: {
446
+ none: 'none',
447
+ 1: 'repeat(1, minmax(0, 1fr))',
448
+ 2: 'repeat(2, minmax(0, 1fr))',
449
+ 3: 'repeat(3, minmax(0, 1fr))',
450
+ 4: 'repeat(4, minmax(0, 1fr))',
451
+ 5: 'repeat(5, minmax(0, 1fr))',
452
+ 6: 'repeat(6, minmax(0, 1fr))',
453
+ },
454
+ height: {
455
+ auto: 'auto',
456
+ ...spacing,
457
+ '1/2': '50%',
458
+ '1/3': '33.333333%',
459
+ '2/3': '66.666667%',
460
+ '1/4': '25%',
461
+ '2/4': '50%',
462
+ '3/4': '75%',
463
+ '1/5': '20%',
464
+ '2/5': '40%',
465
+ '3/5': '60%',
466
+ '4/5': '80%',
467
+ '1/6': '16.666667%',
468
+ '2/6': '33.333333%',
469
+ '3/6': '50%',
470
+ '4/6': '66.666667%',
471
+ '5/6': '83.333333%',
472
+ full: '100%',
473
+ screen: '100vh',
474
+ min: 'min-content',
475
+ max: 'max-content',
476
+ fit: 'fit-content',
477
+ },
478
+ hueRotate: {
479
+ 0: '0deg',
480
+ 15: '15deg',
481
+ 30: '30deg',
482
+ 60: '60deg',
483
+ 90: '90deg',
484
+ 180: '180deg',
485
+ },
486
+ inset: {
487
+ auto: 'auto',
488
+ ...spacing,
489
+ '1/2': '50%',
490
+ '1/3': '33.333333%',
491
+ '2/3': '66.666667%',
492
+ '1/4': '25%',
493
+ '2/4': '50%',
494
+ '3/4': '75%',
495
+ full: '100%',
496
+ },
497
+ invert: {
498
+ 0: '0',
499
+ DEFAULT: '100%',
500
+ },
501
+ keyframes: {
502
+ spin: {
503
+ to: {
504
+ transform: 'rotate(360deg)',
505
+ },
506
+ },
507
+ ping: {
508
+ '75%, 100%': {
509
+ transform: 'scale(2)',
510
+ opacity: '0',
511
+ },
512
+ },
513
+ pulse: {
514
+ '50%': {
515
+ opacity: '.5',
516
+ },
517
+ },
518
+ bounce: {
519
+ '0%, 100%': {
520
+ transform: 'translateY(-25%)',
521
+ animationTimingFunction: 'cubic-bezier(0.8,0,1,1)',
522
+ },
523
+ '50%': {
524
+ transform: 'none',
525
+ animationTimingFunction: 'cubic-bezier(0,0,0.2,1)',
526
+ },
527
+ },
528
+ "accordion-down": {
529
+ from: { height: 0 },
530
+ to: { height: "var(--radix-accordion-content-height)" },
531
+ },
532
+ "accordion-up": {
533
+ from: { height: "var(--radix-accordion-content-height)" },
534
+ to: { height: 0 },
535
+ },
536
+ "opacity-in": {
537
+ from: { opacity: '0' },
538
+ to: { opacity: '1' }
539
+ },
540
+ },
541
+ letterSpacing: {
542
+ tighter: '-0.05em',
543
+ tight: '-0.025em',
544
+ normal: '0em',
545
+ wide: '0.025em',
546
+ wider: '0.05em',
547
+ widest: '0.1em',
548
+ },
549
+ lineHeight: {
550
+ none: '1',
551
+ tight: '1.25',
552
+ snug: '1.375',
553
+ normal: '1.5',
554
+ relaxed: '1.625',
555
+ loose: '2',
556
+ 3: '.75rem',
557
+ 4: '1rem',
558
+ 5: '1.25rem',
559
+ 6: '1.5rem',
560
+ 7: '1.75rem',
561
+ 8: '2rem',
562
+ 9: '2.25rem',
563
+ 10: '2.5rem',
564
+ },
565
+ listStyleType: {
566
+ none: 'none',
567
+ disc: 'disc',
568
+ decimal: 'decimal',
569
+ },
570
+ listStyleImage: {
571
+ none: 'none',
572
+ },
573
+ margin: {
574
+ auto: 'auto',
575
+ ...spacing,
576
+ },
577
+ lineClamp: {
578
+ 1: '1',
579
+ 2: '2',
580
+ 3: '3',
581
+ 4: '4',
582
+ 5: '5',
583
+ 6: '6',
584
+ },
585
+ maxHeight: {
586
+ ...spacing,
587
+ none: 'none',
588
+ full: '100%',
589
+ screen: '100vh',
590
+ min: 'min-content',
591
+ max: 'max-content',
592
+ fit: 'fit-content',
593
+ },
594
+ maxWidth: ({ theme, breakpoints }) => ({
595
+ ...spacing,
596
+ none: 'none',
597
+ 0: '0rem',
598
+ xs: '20rem',
599
+ sm: '24rem',
600
+ md: '28rem',
601
+ lg: '32rem',
602
+ xl: '36rem',
603
+ '2xl': '42rem',
604
+ '3xl': '48rem',
605
+ '4xl': '56rem',
606
+ '5xl': '64rem',
607
+ '6xl': '72rem',
608
+ '7xl': '80rem',
609
+ full: '100%',
610
+ min: 'min-content',
611
+ max: 'max-content',
612
+ fit: 'fit-content',
613
+ prose: '65ch',
614
+ ...breakpoints(theme('screens')),
615
+ }),
616
+ minHeight: {
617
+ ...spacing,
618
+ 0: '0px',
619
+ full: '100%',
620
+ screen: '100vh',
621
+ min: 'min-content',
622
+ max: 'max-content',
623
+ fit: 'fit-content',
624
+ },
625
+ minWidth: ({ theme, breakpoints }) => ({
626
+ ...spacing,
627
+ 0: '0px',
628
+ full: '100%',
629
+ min: 'min-content',
630
+ max: 'max-content',
631
+ fit: 'fit-content',
632
+ ...breakpoints(theme('screens')),
633
+ }),
634
+ objectPosition: {
635
+ bottom: 'bottom',
636
+ center: 'center',
637
+ left: 'left',
638
+ 'left-bottom': 'left bottom',
639
+ 'left-top': 'left top',
640
+ right: 'right',
641
+ 'right-bottom': 'right bottom',
642
+ 'right-top': 'right top',
643
+ top: 'top',
644
+ },
645
+ opacity: {
646
+ 0: '0',
647
+ 5: '0.05',
648
+ 10: '0.1',
649
+ 20: '0.2',
650
+ 25: '0.25',
651
+ 30: '0.3',
652
+ 35: '0.35',
653
+ 40: '0.4',
654
+ 45: '0.45',
655
+ 50: '0.5',
656
+ 55: '0.55',
657
+ 60: '0.6',
658
+ 65: '0.65',
659
+ 70: '0.7',
660
+ 75: '0.75',
661
+ 80: '0.8',
662
+ 85: '0.85',
663
+ 90: '0.9',
664
+ 95: '0.95',
665
+ 100: '1',
666
+ },
667
+ order: {
668
+ first: '-9999',
669
+ last: '9999',
670
+ none: '0',
671
+ 1: '1',
672
+ 2: '2',
673
+ 3: '3',
674
+ 4: '4',
675
+ 5: '5',
676
+ 6: '6',
677
+ 7: '7',
678
+ 8: '8',
679
+ 9: '9',
680
+ 10: '10',
681
+ 11: '11',
682
+ 12: '12',
683
+ },
684
+ outlineColor: ({ theme }) => theme('colors'),
685
+ outlineOffset: {
686
+ 0: '0px',
687
+ 1: '1px',
688
+ 2: '2px',
689
+ 4: '4px',
690
+ 8: '8px',
691
+ },
692
+ outlineWidth: {
693
+ 0: '0px',
694
+ 1: '1px',
695
+ 2: '2px',
696
+ 4: '4px',
697
+ 8: '8px',
698
+ },
699
+ padding: spacing,
700
+ placeholderColor: ({ theme }) => theme('colors'),
701
+ placeholderOpacity: ({ theme }) => theme('opacity'),
702
+ ringColor: ({ theme }) => ({
703
+ DEFAULT: theme('colors.blue.500', '#3b82f6'),
704
+ ...theme('colors'),
705
+ }),
706
+ ringOffsetColor: ({ theme }) => theme('colors'),
707
+ ringOffsetWidth: {
708
+ 0: '0px',
709
+ 1: '1px',
710
+ 2: '2px',
711
+ 4: '4px',
712
+ 8: '8px',
713
+ },
714
+ ringOpacity: ({ theme }) => ({
715
+ DEFAULT: '0.5',
716
+ ...theme('opacity'),
717
+ }),
718
+ ringWidth: {
719
+ DEFAULT: '3px',
720
+ 0: '0px',
721
+ 1: '1px',
722
+ 2: '2px',
723
+ 4: '4px',
724
+ 8: '8px',
725
+ },
726
+ rotate: {
727
+ 0: '0deg',
728
+ 1: '1deg',
729
+ 2: '2deg',
730
+ 3: '3deg',
731
+ 6: '6deg',
732
+ 12: '12deg',
733
+ 45: '45deg',
734
+ 90: '90deg',
735
+ 180: '180deg',
736
+ },
737
+ saturate: {
738
+ 0: '0',
739
+ 50: '.5',
740
+ 100: '1',
741
+ 150: '1.5',
742
+ 200: '2',
743
+ },
744
+ scale: {
745
+ 0: '0',
746
+ 50: '.5',
747
+ 75: '.75',
748
+ 90: '.9',
749
+ 95: '.95',
750
+ 100: '1',
751
+ 105: '1.05',
752
+ 110: '1.1',
753
+ 125: '1.25',
754
+ 150: '1.5',
755
+ },
756
+ screens,
757
+ scrollMargin: spacing,
758
+ scrollPadding: spacing,
759
+ sepia: {
760
+ 0: '0',
761
+ DEFAULT: '100%',
762
+ },
763
+ skew: {
764
+ 0: '0deg',
765
+ 1: '1deg',
766
+ 2: '2deg',
767
+ 3: '3deg',
768
+ 6: '6deg',
769
+ 12: '12deg',
770
+ },
771
+ space: spacing,
772
+ spacing,
773
+ stroke: ({ theme }) => ({
774
+ none: 'none',
775
+ ...theme('colors'),
776
+ }),
777
+ strokeWidth: {
778
+ 0: '0',
779
+ 1: '1',
780
+ 2: '2',
781
+ },
782
+ supports: {},
783
+ data: {
784
+ on: 'state~="on"',
785
+ off: 'state~="off"',
786
+ },
787
+ textColor: ({ theme }) => theme('colors'),
788
+ textDecorationColor: ({ theme }) => theme('colors'),
789
+ textDecorationThickness: {
790
+ auto: 'auto',
791
+ 'from-font': 'from-font',
792
+ 0: '0px',
793
+ 1: '1px',
794
+ 2: '2px',
795
+ 4: '4px',
796
+ 8: '8px',
797
+ },
798
+ textIndent: spacing,
799
+ textOpacity: ({ theme }) => theme('opacity'),
800
+ textUnderlineOffset: {
801
+ auto: 'auto',
802
+ 0: '0px',
803
+ 1: '1px',
804
+ 2: '2px',
805
+ 4: '4px',
806
+ 8: '8px',
807
+ },
808
+ transformOrigin: {
809
+ center: 'center',
810
+ top: 'top',
811
+ 'top-right': 'top right',
812
+ right: 'right',
813
+ 'bottom-right': 'bottom right',
814
+ bottom: 'bottom',
815
+ 'bottom-left': 'bottom left',
816
+ left: 'left',
817
+ 'top-left': 'top left',
818
+ },
819
+ transitionDelay: {
820
+ 0: '0s',
821
+ 75: '75ms',
822
+ 100: '100ms',
823
+ 150: '150ms',
824
+ 200: '200ms',
825
+ 300: '300ms',
826
+ 500: '500ms',
827
+ 700: '700ms',
828
+ 1000: '1000ms',
829
+ },
830
+ transitionDuration: {
831
+ DEFAULT: '150ms',
832
+ 0: '0s',
833
+ 75: '75ms',
834
+ 100: '100ms',
835
+ 150: '150ms',
836
+ 200: '200ms',
837
+ 300: '300ms',
838
+ 500: '500ms',
839
+ 700: '700ms',
840
+ 1000: '1000ms',
841
+ },
842
+ transitionProperty: {
843
+ none: 'none',
844
+ all: 'all',
845
+ DEFAULT:
846
+ 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter',
847
+ colors: 'color, background-color, border-color, text-decoration-color, fill, stroke',
848
+ opacity: 'opacity',
849
+ shadow: 'box-shadow',
850
+ transform: 'transform',
851
+ height: 'height',
852
+ spacing: 'margin, padding',
853
+ },
854
+ transitionTimingFunction: {
855
+ DEFAULT: 'cubic-bezier(0.4, 0, 0.2, 1)',
856
+ linear: 'linear',
857
+ in: 'cubic-bezier(0.4, 0, 1, 1)',
858
+ out: 'cubic-bezier(0, 0, 0.2, 1)',
859
+ 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',
860
+ },
861
+ translate: {
862
+ ...spacing,
863
+ '1/2': '50%',
864
+ '1/3': '33.333333%',
865
+ '2/3': '66.666667%',
866
+ '1/4': '25%',
867
+ '2/4': '50%',
868
+ '3/4': '75%',
869
+ full: '100%',
870
+ },
871
+ width: ({ theme, breakpoints }) => ({
872
+ auto: 'auto',
873
+ ...spacing,
874
+ '1/2': '50%',
875
+ '1/3': '33.333333%',
876
+ '2/3': '66.666667%',
877
+ '1/4': '25%',
878
+ '2/4': '50%',
879
+ '3/4': '75%',
880
+ '1/5': '20%',
881
+ '2/5': '40%',
882
+ '3/5': '60%',
883
+ '4/5': '80%',
884
+ '1/6': '16.666667%',
885
+ '2/6': '33.333333%',
886
+ '3/6': '50%',
887
+ '4/6': '66.666667%',
888
+ '5/6': '83.333333%',
889
+ '1/12': '8.333333%',
890
+ '2/12': '16.666667%',
891
+ '3/12': '25%',
892
+ '4/12': '33.333333%',
893
+ '5/12': '41.666667%',
894
+ '6/12': '50%',
895
+ '7/12': '58.333333%',
896
+ '8/12': '66.666667%',
897
+ '9/12': '75%',
898
+ '10/12': '83.333333%',
899
+ '11/12': '91.666667%',
900
+ full: '100%',
901
+ screen: '100vw',
902
+ min: 'min-content',
903
+ max: 'max-content',
904
+ fit: 'fit-content',
905
+ ...breakpoints(theme('screens')),
906
+ }),
907
+ willChange: {
908
+ auto: 'auto',
909
+ scroll: 'scroll-position',
910
+ contents: 'contents',
911
+ transform: 'transform',
912
+ },
913
+ zIndex,
914
+ },
915
+ }