@arbor-css/classes 0.0.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 (289) hide show
  1. package/dist/_test.d.ts +278 -0
  2. package/dist/_test.d.ts.map +1 -0
  3. package/dist/_test.js +30 -0
  4. package/dist/_test.js.map +1 -0
  5. package/dist/_util.d.ts +2 -0
  6. package/dist/_util.d.ts.map +1 -0
  7. package/dist/_util.js +2 -0
  8. package/dist/_util.js.map +1 -0
  9. package/dist/index.d.ts +8 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +49 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/props.d.ts +2 -0
  14. package/dist/props.d.ts.map +1 -0
  15. package/dist/props.js +2 -0
  16. package/dist/props.js.map +1 -0
  17. package/dist/rules/_test.d.ts +4 -0
  18. package/dist/rules/_test.d.ts.map +1 -0
  19. package/dist/rules/_test.js +60 -0
  20. package/dist/rules/_test.js.map +1 -0
  21. package/dist/rules/_util.d.ts +29 -0
  22. package/dist/rules/_util.d.ts.map +1 -0
  23. package/dist/rules/_util.js +79 -0
  24. package/dist/rules/_util.js.map +1 -0
  25. package/dist/rules/align.d.ts +5 -0
  26. package/dist/rules/align.d.ts.map +1 -0
  27. package/dist/rules/align.js +38 -0
  28. package/dist/rules/align.js.map +1 -0
  29. package/dist/rules/animations.d.ts +4 -0
  30. package/dist/rules/animations.d.ts.map +1 -0
  31. package/dist/rules/animations.js +135 -0
  32. package/dist/rules/animations.js.map +1 -0
  33. package/dist/rules/background.d.ts +2 -0
  34. package/dist/rules/background.d.ts.map +1 -0
  35. package/dist/rules/background.js +2 -0
  36. package/dist/rules/background.js.map +1 -0
  37. package/dist/rules/border.d.ts +4 -0
  38. package/dist/rules/border.d.ts.map +1 -0
  39. package/dist/rules/border.js +125 -0
  40. package/dist/rules/border.js.map +1 -0
  41. package/dist/rules/border.test.d.ts +2 -0
  42. package/dist/rules/border.test.d.ts.map +1 -0
  43. package/dist/rules/border.test.js +104 -0
  44. package/dist/rules/border.test.js.map +1 -0
  45. package/dist/rules/color.d.ts +4 -0
  46. package/dist/rules/color.d.ts.map +1 -0
  47. package/dist/rules/color.js +156 -0
  48. package/dist/rules/color.js.map +1 -0
  49. package/dist/rules/color.test.d.ts +2 -0
  50. package/dist/rules/color.test.d.ts.map +1 -0
  51. package/dist/rules/color.test.js +104 -0
  52. package/dist/rules/color.test.js.map +1 -0
  53. package/dist/rules/colors.d.ts +1 -0
  54. package/dist/rules/colors.d.ts.map +1 -0
  55. package/dist/rules/colors.js +2 -0
  56. package/dist/rules/colors.js.map +1 -0
  57. package/dist/rules/index.d.ts +4 -0
  58. package/dist/rules/index.d.ts.map +1 -0
  59. package/dist/rules/index.js +15 -0
  60. package/dist/rules/index.js.map +1 -0
  61. package/dist/rules/shadow.d.ts +4 -0
  62. package/dist/rules/shadow.d.ts.map +1 -0
  63. package/dist/rules/shadow.js +51 -0
  64. package/dist/rules/shadow.js.map +1 -0
  65. package/dist/rules/spacing.d.ts +4 -0
  66. package/dist/rules/spacing.d.ts.map +1 -0
  67. package/dist/rules/spacing.js +27 -0
  68. package/dist/rules/spacing.js.map +1 -0
  69. package/dist/rules/spacing.test.d.ts +2 -0
  70. package/dist/rules/spacing.test.d.ts.map +1 -0
  71. package/dist/rules/spacing.test.js +44 -0
  72. package/dist/rules/spacing.test.js.map +1 -0
  73. package/dist/rules/typography.d.ts +4 -0
  74. package/dist/rules/typography.d.ts.map +1 -0
  75. package/dist/rules/typography.js +129 -0
  76. package/dist/rules/typography.js.map +1 -0
  77. package/dist/rules/util.d.ts +2 -0
  78. package/dist/rules/util.d.ts.map +1 -0
  79. package/dist/rules/util.js +2 -0
  80. package/dist/rules/util.js.map +1 -0
  81. package/dist/theme/index.d.ts +10 -0
  82. package/dist/theme/index.d.ts.map +1 -0
  83. package/dist/theme/index.js +79 -0
  84. package/dist/theme/index.js.map +1 -0
  85. package/dist/theme/types.d.ts +11 -0
  86. package/dist/theme/types.d.ts.map +1 -0
  87. package/dist/theme/types.js +2 -0
  88. package/dist/theme/types.js.map +1 -0
  89. package/dist/util/alters.d.ts +7 -0
  90. package/dist/util/alters.d.ts.map +1 -0
  91. package/dist/util/alters.js +58 -0
  92. package/dist/util/alters.js.map +1 -0
  93. package/dist/util/color.d.ts +11 -0
  94. package/dist/util/color.d.ts.map +1 -0
  95. package/dist/util/color.js +25 -0
  96. package/dist/util/color.js.map +1 -0
  97. package/dist/util/concat.d.ts +3 -0
  98. package/dist/util/concat.d.ts.map +1 -0
  99. package/dist/util/concat.js +7 -0
  100. package/dist/util/concat.js.map +1 -0
  101. package/dist/util/control.d.ts +2 -0
  102. package/dist/util/control.d.ts.map +1 -0
  103. package/dist/util/control.js +2 -0
  104. package/dist/util/control.js.map +1 -0
  105. package/dist/util/h.d.ts +4 -0
  106. package/dist/util/h.d.ts.map +1 -0
  107. package/dist/util/h.js +6 -0
  108. package/dist/util/h.js.map +1 -0
  109. package/dist/util/handlers.d.ts +18 -0
  110. package/dist/util/handlers.d.ts.map +1 -0
  111. package/dist/util/handlers.js +253 -0
  112. package/dist/util/handlers.js.map +1 -0
  113. package/dist/util/mappings.d.ts +24 -0
  114. package/dist/util/mappings.d.ts.map +1 -0
  115. package/dist/util/mappings.js +37 -0
  116. package/dist/util/mappings.js.map +1 -0
  117. package/dist/util/matchers.d.ts +2 -0
  118. package/dist/util/matchers.d.ts.map +1 -0
  119. package/dist/util/matchers.js +6 -0
  120. package/dist/util/matchers.js.map +1 -0
  121. package/dist/util/regex.d.ts +7 -0
  122. package/dist/util/regex.d.ts.map +1 -0
  123. package/dist/util/regex.js +17 -0
  124. package/dist/util/regex.js.map +1 -0
  125. package/dist/util/tests.d.ts +11 -0
  126. package/dist/util/tests.d.ts.map +1 -0
  127. package/dist/util/tests.js +19 -0
  128. package/dist/util/tests.js.map +1 -0
  129. package/dist/util/themeOrLiteral.d.ts +15 -0
  130. package/dist/util/themeOrLiteral.d.ts.map +1 -0
  131. package/dist/util/themeOrLiteral.js +28 -0
  132. package/dist/util/themeOrLiteral.js.map +1 -0
  133. package/dist/variants/_test.d.ts +3 -0
  134. package/dist/variants/_test.d.ts.map +1 -0
  135. package/dist/variants/_test.js +52 -0
  136. package/dist/variants/_test.js.map +1 -0
  137. package/dist/variants/_utils.d.ts +7 -0
  138. package/dist/variants/_utils.d.ts.map +1 -0
  139. package/dist/variants/_utils.js +16 -0
  140. package/dist/variants/_utils.js.map +1 -0
  141. package/dist/variants/aria.d.ts +5 -0
  142. package/dist/variants/aria.d.ts.map +1 -0
  143. package/dist/variants/aria.js +58 -0
  144. package/dist/variants/aria.js.map +1 -0
  145. package/dist/variants/aria.test.d.ts +2 -0
  146. package/dist/variants/aria.test.d.ts.map +1 -0
  147. package/dist/variants/aria.test.js +70 -0
  148. package/dist/variants/aria.test.js.map +1 -0
  149. package/dist/variants/breakpoints.d.ts +4 -0
  150. package/dist/variants/breakpoints.d.ts.map +1 -0
  151. package/dist/variants/breakpoints.js +77 -0
  152. package/dist/variants/breakpoints.js.map +1 -0
  153. package/dist/variants/breakpoints.test.d.ts +2 -0
  154. package/dist/variants/breakpoints.test.d.ts.map +1 -0
  155. package/dist/variants/breakpoints.test.js +10 -0
  156. package/dist/variants/breakpoints.test.js.map +1 -0
  157. package/dist/variants/children.d.ts +4 -0
  158. package/dist/variants/children.d.ts.map +1 -0
  159. package/dist/variants/children.js +10 -0
  160. package/dist/variants/children.js.map +1 -0
  161. package/dist/variants/children.test.d.ts +2 -0
  162. package/dist/variants/children.test.d.ts.map +1 -0
  163. package/dist/variants/children.test.js +9 -0
  164. package/dist/variants/children.test.js.map +1 -0
  165. package/dist/variants/combinators.d.ts +5 -0
  166. package/dist/variants/combinators.d.ts.map +1 -0
  167. package/dist/variants/combinators.js +42 -0
  168. package/dist/variants/combinators.js.map +1 -0
  169. package/dist/variants/combinators.test.d.ts +2 -0
  170. package/dist/variants/combinators.test.d.ts.map +1 -0
  171. package/dist/variants/combinators.test.js +33 -0
  172. package/dist/variants/combinators.test.js.map +1 -0
  173. package/dist/variants/container.d.ts +4 -0
  174. package/dist/variants/container.d.ts.map +1 -0
  175. package/dist/variants/container.js +32 -0
  176. package/dist/variants/container.js.map +1 -0
  177. package/dist/variants/container.test.d.ts +2 -0
  178. package/dist/variants/container.test.d.ts.map +1 -0
  179. package/dist/variants/container.test.js +10 -0
  180. package/dist/variants/container.test.js.map +1 -0
  181. package/dist/variants/data.d.ts +5 -0
  182. package/dist/variants/data.d.ts.map +1 -0
  183. package/dist/variants/data.js +58 -0
  184. package/dist/variants/data.js.map +1 -0
  185. package/dist/variants/data.test.d.ts +2 -0
  186. package/dist/variants/data.test.d.ts.map +1 -0
  187. package/dist/variants/data.test.js +70 -0
  188. package/dist/variants/data.test.js.map +1 -0
  189. package/dist/variants/directions.d.ts +4 -0
  190. package/dist/variants/directions.d.ts.map +1 -0
  191. package/dist/variants/directions.js +10 -0
  192. package/dist/variants/directions.js.map +1 -0
  193. package/dist/variants/directions.test.d.ts +2 -0
  194. package/dist/variants/directions.test.d.ts.map +1 -0
  195. package/dist/variants/directions.test.js +9 -0
  196. package/dist/variants/directions.test.js.map +1 -0
  197. package/dist/variants/important.d.ts +4 -0
  198. package/dist/variants/important.d.ts.map +1 -0
  199. package/dist/variants/important.js +29 -0
  200. package/dist/variants/important.js.map +1 -0
  201. package/dist/variants/important.test.d.ts +2 -0
  202. package/dist/variants/important.test.d.ts.map +1 -0
  203. package/dist/variants/important.test.js +23 -0
  204. package/dist/variants/important.test.js.map +1 -0
  205. package/dist/variants/index.d.ts +2 -0
  206. package/dist/variants/index.d.ts.map +1 -0
  207. package/dist/variants/index.js +15 -0
  208. package/dist/variants/index.js.map +1 -0
  209. package/dist/variants/inert.d.ts +3 -0
  210. package/dist/variants/inert.d.ts.map +1 -0
  211. package/dist/variants/inert.js +6 -0
  212. package/dist/variants/inert.js.map +1 -0
  213. package/dist/variants/inert.test.d.ts +2 -0
  214. package/dist/variants/inert.test.d.ts.map +1 -0
  215. package/dist/variants/inert.test.js +31 -0
  216. package/dist/variants/inert.test.js.map +1 -0
  217. package/dist/variants/layer.d.ts +4 -0
  218. package/dist/variants/layer.d.ts.map +1 -0
  219. package/dist/variants/layer.js +22 -0
  220. package/dist/variants/layer.js.map +1 -0
  221. package/dist/variants/layer.test.d.ts +2 -0
  222. package/dist/variants/layer.test.d.ts.map +1 -0
  223. package/dist/variants/layer.test.js +9 -0
  224. package/dist/variants/layer.test.js.map +1 -0
  225. package/dist/variants/media.d.ts +11 -0
  226. package/dist/variants/media.d.ts.map +1 -0
  227. package/dist/variants/media.js +62 -0
  228. package/dist/variants/media.js.map +1 -0
  229. package/dist/variants/media.test.d.ts +2 -0
  230. package/dist/variants/media.test.d.ts.map +1 -0
  231. package/dist/variants/media.test.js +46 -0
  232. package/dist/variants/media.test.js.map +1 -0
  233. package/dist/variants/mode.d.ts +4 -0
  234. package/dist/variants/mode.d.ts.map +1 -0
  235. package/dist/variants/mode.js +21 -0
  236. package/dist/variants/mode.js.map +1 -0
  237. package/dist/variants/mode.test.d.ts +2 -0
  238. package/dist/variants/mode.test.d.ts.map +1 -0
  239. package/dist/variants/mode.test.js +9 -0
  240. package/dist/variants/mode.test.js.map +1 -0
  241. package/dist/variants/negative.d.ts +4 -0
  242. package/dist/variants/negative.d.ts.map +1 -0
  243. package/dist/variants/negative.js +81 -0
  244. package/dist/variants/negative.js.map +1 -0
  245. package/dist/variants/negative.test.d.ts +2 -0
  246. package/dist/variants/negative.test.d.ts.map +1 -0
  247. package/dist/variants/negative.test.js +13 -0
  248. package/dist/variants/negative.test.js.map +1 -0
  249. package/dist/variants/placeholder.d.ts +4 -0
  250. package/dist/variants/placeholder.d.ts.map +1 -0
  251. package/dist/variants/placeholder.js +23 -0
  252. package/dist/variants/placeholder.js.map +1 -0
  253. package/dist/variants/placeholder.test.d.ts +2 -0
  254. package/dist/variants/placeholder.test.d.ts.map +1 -0
  255. package/dist/variants/placeholder.test.js +11 -0
  256. package/dist/variants/placeholder.test.js.map +1 -0
  257. package/dist/variants/pseudo.d.ts +8 -0
  258. package/dist/variants/pseudo.d.ts.map +1 -0
  259. package/dist/variants/pseudo.js +28 -0
  260. package/dist/variants/pseudo.js.map +1 -0
  261. package/dist/variants/pseudo.test.d.ts +2 -0
  262. package/dist/variants/pseudo.test.d.ts.map +1 -0
  263. package/dist/variants/pseudo.test.js +52 -0
  264. package/dist/variants/pseudo.test.js.map +1 -0
  265. package/dist/variants/startingStyle.d.ts +4 -0
  266. package/dist/variants/startingStyle.d.ts.map +1 -0
  267. package/dist/variants/startingStyle.js +15 -0
  268. package/dist/variants/startingStyle.js.map +1 -0
  269. package/dist/variants/startingStyle.test.d.ts +2 -0
  270. package/dist/variants/startingStyle.test.d.ts.map +1 -0
  271. package/dist/variants/startingStyle.test.js +9 -0
  272. package/dist/variants/startingStyle.test.js.map +1 -0
  273. package/dist/variants/stuck.d.ts +4 -0
  274. package/dist/variants/stuck.d.ts.map +1 -0
  275. package/dist/variants/stuck.js +25 -0
  276. package/dist/variants/stuck.js.map +1 -0
  277. package/dist/variants/stuck.test.d.ts +2 -0
  278. package/dist/variants/stuck.test.d.ts.map +1 -0
  279. package/dist/variants/stuck.test.js +9 -0
  280. package/dist/variants/stuck.test.js.map +1 -0
  281. package/dist/variants/variantSupports.d.ts +4 -0
  282. package/dist/variants/variantSupports.d.ts.map +1 -0
  283. package/dist/variants/variantSupports.js +26 -0
  284. package/dist/variants/variantSupports.js.map +1 -0
  285. package/dist/variants/variantSupports.test.d.ts +2 -0
  286. package/dist/variants/variantSupports.test.d.ts.map +1 -0
  287. package/dist/variants/variantSupports.test.js +9 -0
  288. package/dist/variants/variantSupports.test.js.map +1 -0
  289. package/package.json +53 -0
@@ -0,0 +1,278 @@
1
+ export declare const testBaseMode: import("@arbor-css/core").ModeInstance<{
2
+ colors: {
3
+ main: {
4
+ paper: "color";
5
+ wash: "color";
6
+ lighter: "color";
7
+ light: "color";
8
+ mid: "color";
9
+ heavy: "color";
10
+ heavier: "color";
11
+ ink: "color";
12
+ };
13
+ neutral: {
14
+ paper: "color";
15
+ wash: "color";
16
+ lighter: "color";
17
+ light: "color";
18
+ mid: "color";
19
+ heavy: "color";
20
+ heavier: "color";
21
+ ink: "color";
22
+ };
23
+ };
24
+ action: {
25
+ primary: {
26
+ fg: "color";
27
+ bg: "color";
28
+ border: "color";
29
+ };
30
+ secondary: {
31
+ fg: "color";
32
+ bg: "color";
33
+ border: "color";
34
+ };
35
+ ambient: {
36
+ fg: "color";
37
+ bg: "color";
38
+ border: "color";
39
+ };
40
+ };
41
+ control: {
42
+ fg: "color";
43
+ bg: "color";
44
+ border: "color";
45
+ };
46
+ surface: {
47
+ primary: {
48
+ fg: "color";
49
+ bg: "color";
50
+ border: "color";
51
+ };
52
+ secondary: {
53
+ fg: "color";
54
+ bg: "color";
55
+ border: "color";
56
+ };
57
+ ambient: {
58
+ fg: "color";
59
+ bg: "color";
60
+ border: "color";
61
+ };
62
+ };
63
+ text: {
64
+ primary: {
65
+ size: "font-size";
66
+ weight: "font-weight";
67
+ lineHeight: "line-height";
68
+ font: "other";
69
+ };
70
+ secondary: {
71
+ size: "font-size";
72
+ weight: "font-weight";
73
+ lineHeight: "line-height";
74
+ font: "other";
75
+ };
76
+ ambient: {
77
+ size: "font-size";
78
+ weight: "font-weight";
79
+ lineHeight: "line-height";
80
+ font: "other";
81
+ };
82
+ };
83
+ density: "other";
84
+ spacing: {
85
+ xs: "spacing";
86
+ sm: "spacing";
87
+ md: "spacing";
88
+ lg: "spacing";
89
+ xl: "spacing";
90
+ };
91
+ borderWidth: {
92
+ sm: "border-width";
93
+ md: "border-width";
94
+ lg: "border-width";
95
+ };
96
+ borderRadius: {
97
+ sm: "border-radius";
98
+ md: "border-radius";
99
+ lg: "border-radius";
100
+ };
101
+ shadow: {
102
+ color: "color";
103
+ sm: {
104
+ x: "shadow-x";
105
+ y: "shadow-y";
106
+ blur: "shadow-blur";
107
+ spread: "shadow-spread";
108
+ color: "shadow-color";
109
+ compiled: "shadow";
110
+ };
111
+ md: {
112
+ x: "shadow-x";
113
+ y: "shadow-y";
114
+ blur: "shadow-blur";
115
+ spread: "shadow-spread";
116
+ color: "shadow-color";
117
+ compiled: "shadow";
118
+ };
119
+ lg: {
120
+ x: "shadow-x";
121
+ y: "shadow-y";
122
+ blur: "shadow-blur";
123
+ spread: "shadow-spread";
124
+ color: "shadow-color";
125
+ compiled: "shadow";
126
+ };
127
+ xl: {
128
+ x: "shadow-x";
129
+ y: "shadow-y";
130
+ blur: "shadow-blur";
131
+ spread: "shadow-spread";
132
+ color: "shadow-color";
133
+ compiled: "shadow";
134
+ };
135
+ };
136
+ }>;
137
+ export declare const testArbor: import("@arbor-css/core").ArborConfig<{
138
+ colors: {
139
+ main: {
140
+ paper: "color";
141
+ wash: "color";
142
+ lighter: "color";
143
+ light: "color";
144
+ mid: "color";
145
+ heavy: "color";
146
+ heavier: "color";
147
+ ink: "color";
148
+ };
149
+ neutral: {
150
+ paper: "color";
151
+ wash: "color";
152
+ lighter: "color";
153
+ light: "color";
154
+ mid: "color";
155
+ heavy: "color";
156
+ heavier: "color";
157
+ ink: "color";
158
+ };
159
+ };
160
+ action: {
161
+ primary: {
162
+ fg: "color";
163
+ bg: "color";
164
+ border: "color";
165
+ };
166
+ secondary: {
167
+ fg: "color";
168
+ bg: "color";
169
+ border: "color";
170
+ };
171
+ ambient: {
172
+ fg: "color";
173
+ bg: "color";
174
+ border: "color";
175
+ };
176
+ };
177
+ control: {
178
+ fg: "color";
179
+ bg: "color";
180
+ border: "color";
181
+ };
182
+ surface: {
183
+ primary: {
184
+ fg: "color";
185
+ bg: "color";
186
+ border: "color";
187
+ };
188
+ secondary: {
189
+ fg: "color";
190
+ bg: "color";
191
+ border: "color";
192
+ };
193
+ ambient: {
194
+ fg: "color";
195
+ bg: "color";
196
+ border: "color";
197
+ };
198
+ };
199
+ text: {
200
+ primary: {
201
+ size: "font-size";
202
+ weight: "font-weight";
203
+ lineHeight: "line-height";
204
+ font: "other";
205
+ };
206
+ secondary: {
207
+ size: "font-size";
208
+ weight: "font-weight";
209
+ lineHeight: "line-height";
210
+ font: "other";
211
+ };
212
+ ambient: {
213
+ size: "font-size";
214
+ weight: "font-weight";
215
+ lineHeight: "line-height";
216
+ font: "other";
217
+ };
218
+ };
219
+ density: "other";
220
+ spacing: {
221
+ xs: "spacing";
222
+ sm: "spacing";
223
+ md: "spacing";
224
+ lg: "spacing";
225
+ xl: "spacing";
226
+ };
227
+ borderWidth: {
228
+ sm: "border-width";
229
+ md: "border-width";
230
+ lg: "border-width";
231
+ };
232
+ borderRadius: {
233
+ sm: "border-radius";
234
+ md: "border-radius";
235
+ lg: "border-radius";
236
+ };
237
+ shadow: {
238
+ color: "color";
239
+ sm: {
240
+ x: "shadow-x";
241
+ y: "shadow-y";
242
+ blur: "shadow-blur";
243
+ spread: "shadow-spread";
244
+ color: "shadow-color";
245
+ compiled: "shadow";
246
+ };
247
+ md: {
248
+ x: "shadow-x";
249
+ y: "shadow-y";
250
+ blur: "shadow-blur";
251
+ spread: "shadow-spread";
252
+ color: "shadow-color";
253
+ compiled: "shadow";
254
+ };
255
+ lg: {
256
+ x: "shadow-x";
257
+ y: "shadow-y";
258
+ blur: "shadow-blur";
259
+ spread: "shadow-spread";
260
+ color: "shadow-color";
261
+ compiled: "shadow";
262
+ };
263
+ xl: {
264
+ x: "shadow-x";
265
+ y: "shadow-y";
266
+ blur: "shadow-blur";
267
+ spread: "shadow-spread";
268
+ color: "shadow-color";
269
+ compiled: "shadow";
270
+ };
271
+ };
272
+ }, import("@arbor-css/core").CompiledColors<{
273
+ brand: {
274
+ hue: number;
275
+ };
276
+ }, Record<string, import("@arbor-css/core").SchemeDefinition<import("@arbor-css/core").ColorRangeConfig<"light" | "paper" | "wash" | "lighter" | "mid" | "heavy" | "heavier" | "ink">>>>, import("@arbor-css/typography").CompiledTypography<"sm" | "md" | "lg" | "xl" | "xs" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl">, import("@arbor-css/spacing").CompiledSpacing<"sm" | "md" | "lg" | "xl" | "xs" | "2xl" | "3xl" | "2xs">, import("@arbor-css/shadows").CompiledShadows<"sm" | "md" | "lg" | "xl" | "xs">, import("@arbor-css/tokens").TokenSchema>;
277
+ export declare const testTheme: import("./theme/types.js").Theme;
278
+ //# sourceMappingURL=_test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_test.d.ts","sourceRoot":"","sources":["../src/_test.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;whBAKpB,CAAC;AAEH,eAAO,MAAM,SAAS,kCAAyB,CAAC"}
package/dist/_test.js ADDED
@@ -0,0 +1,30 @@
1
+ import { arborModeSchema, compileColors, compileShadows, compileSpacing, compileTypography, createArborModeValues, createConfig, createGlobals, createPrimitives, } from '@arbor-css/core';
2
+ import { createTheme } from './theme/index.js';
3
+ const globals = createGlobals({});
4
+ const primitives = createPrimitives({
5
+ colors: compileColors({
6
+ ranges: {
7
+ brand: {
8
+ hue: 200,
9
+ },
10
+ },
11
+ globals,
12
+ }),
13
+ shadows: compileShadows({ globals }),
14
+ spacing: compileSpacing({ globals }),
15
+ typography: compileTypography({ globals }),
16
+ globals,
17
+ });
18
+ const modeSchema = arborModeSchema;
19
+ export const testBaseMode = modeSchema.createBase(createArborModeValues({
20
+ primitives,
21
+ mainColor: 'brand',
22
+ }));
23
+ export const testArbor = createConfig({
24
+ primitives,
25
+ modes: {
26
+ base: testBaseMode,
27
+ },
28
+ });
29
+ export const testTheme = createTheme(testArbor);
30
+ //# sourceMappingURL=_test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_test.js","sourceRoot":"","sources":["../src/_test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;AAElC,MAAM,UAAU,GAAG,gBAAgB,CAAC;IACnC,MAAM,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,GAAG,EAAE,GAAG;aACR;SACD;QACD,OAAO;KACP,CAAC;IACF,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IACpC,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IACpC,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1C,OAAO;CACP,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,eAAe,CAAC;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAChD,qBAAqB,CAAC;IACrB,UAAU;IACV,SAAS,EAAE,OAAO;CAClB,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;IACrC,UAAU;IACV,KAAK,EAAE;QACN,IAAI,EAAE,YAAY;KAClB;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=_util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../src/_util.ts"],"names":[],"mappings":""}
package/dist/_util.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=_util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_util.js","sourceRoot":"","sources":["../src/_util.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { ArborConfig } from '@arbor-css/core';
2
+ import { Preset } from 'unocss';
3
+ import { ThemeConfig } from './theme/index.js';
4
+ export declare function presetArbor(arbor: ArborConfig<any, any>, options?: {
5
+ preflight?: 'on-demand' | boolean;
6
+ theme?: ThemeConfig;
7
+ }): Preset<any>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAOlE,OAAO,EAAgB,MAAM,EAA2B,MAAM,QAAQ,CAAC;AAEvE,OAAO,EAAe,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAgB,WAAW,CAC1B,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE;IACT,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB,GACC,MAAM,CAAC,GAAG,CAAC,CA2Cb"}
package/dist/index.js ADDED
@@ -0,0 +1,49 @@
1
+ import { generateStylesheet } from '@arbor-css/core';
2
+ import { extractorArbitraryVariants } from '@unocss/extractor-arbitrary-variants';
3
+ import { boxShadowsBase, ringBase, transformBase, } from '@unocss/preset-mini/rules';
4
+ import { entriesToCss, transformerVariantGroup } from 'unocss';
5
+ import { rules } from './rules/index.js';
6
+ import { createTheme } from './theme/index.js';
7
+ import { variants } from './variants/index.js';
8
+ export function presetArbor(arbor, options) {
9
+ return {
10
+ name: 'arbor',
11
+ rules,
12
+ theme: createTheme(arbor, options?.theme),
13
+ variants,
14
+ transformers: [transformerVariantGroup()],
15
+ extractorDefault: extractorArbitraryVariants(),
16
+ preflights: [
17
+ {
18
+ layer: 'preflights',
19
+ getCSS({ generator }) {
20
+ let entries = Object.entries({
21
+ ...transformBase,
22
+ ...boxShadowsBase,
23
+ ...ringBase,
24
+ });
25
+ if (options?.preflight === 'on-demand') {
26
+ const keys = new Set(Array.from(generator.activatedRules)
27
+ .map((r) => r[2]?.custom?.preflightKeys)
28
+ .filter(Boolean)
29
+ .flat());
30
+ entries = entries.filter(([k]) => keys.has(k));
31
+ }
32
+ if (entries.length > 0) {
33
+ let css = entriesToCss(entries);
34
+ css = css.replace(/--un-/g, `--🍂-`);
35
+ const roots = ['*,::before,::after', '::backdrop'];
36
+ return roots.map((root) => `${root}{${css}}`).join('');
37
+ }
38
+ },
39
+ },
40
+ {
41
+ layer: 'base',
42
+ getCSS: () => {
43
+ return generateStylesheet(arbor);
44
+ },
45
+ },
46
+ ],
47
+ };
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EACN,cAAc,EACd,QAAQ,EACR,aAAa,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAU,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,UAAU,WAAW,CAC1B,KAA4B,EAC5B,OAGC;IAED,OAAO;QACN,IAAI,EAAE,OAAO;QACb,KAAK;QACL,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;QACzC,QAAQ;QACR,YAAY,EAAE,CAAC,uBAAuB,EAAE,CAAC;QACzC,gBAAgB,EAAE,0BAA0B,EAAE;QAC9C,UAAU,EAAE;YACX;gBACC,KAAK,EAAE,YAAY;gBACnB,MAAM,CAAC,EAAE,SAAS,EAAE;oBACnB,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;wBAC5B,GAAG,aAAa;wBAChB,GAAG,cAAc;wBACjB,GAAG,QAAQ;qBACX,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,SAAS,KAAK,WAAW,EAAE,CAAC;wBACxC,MAAM,IAAI,GAAG,IAAI,GAAG,CACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;6BAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC;6BACvC,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,EAAE,CACR,CAAC;wBACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,CAAC;oBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;wBAChC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACrC,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;wBACnD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxD,CAAC;gBACF,CAAC;aACD;YACD;gBACC,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,GAAG,EAAE;oBACZ,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;aACD;SACD;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../src/props.ts"],"names":[],"mappings":""}
package/dist/props.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../src/props.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Rule } from 'unocss';
2
+ import { Theme } from '../theme/types.js';
3
+ export declare function testRules(rules: Rule<Theme>[], className: string, output: Record<string, string> | null): Promise<void>;
4
+ //# sourceMappingURL=_test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_test.d.ts","sourceRoot":"","sources":["../../src/rules/_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,wBAAsB,SAAS,CAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,iBAwBrC"}
@@ -0,0 +1,60 @@
1
+ import { expect } from 'vitest';
2
+ import { testTheme as theme } from '../_test.js';
3
+ export async function testRules(rules, className, output) {
4
+ let match = null;
5
+ for (const rule of rules.toReversed()) {
6
+ // only dynamic rules are supported
7
+ if (typeof rule[0] === 'string' || typeof rule[1] !== 'function') {
8
+ continue;
9
+ }
10
+ const [testInput, runRule] = rule;
11
+ const extract = testInput.exec(className);
12
+ if (!!extract) {
13
+ const result = await runRule(extract, { theme });
14
+ if (result) {
15
+ match = { rule, result };
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ if (output === null) {
21
+ expect(match, 'Expected no rules to match').toBeNull();
22
+ return;
23
+ }
24
+ expect(match, 'No rules matched').not.toBeNull();
25
+ expect(await coerceResult(match?.result)).toEqual(output);
26
+ }
27
+ async function coerceResult(result) {
28
+ if (result instanceof Promise) {
29
+ return coerceResult(await result);
30
+ }
31
+ if (result === undefined) {
32
+ return {};
33
+ }
34
+ if (typeof result === 'string') {
35
+ throw new Error(`String results not supported yet`);
36
+ }
37
+ // handle generators
38
+ if (Symbol.iterator in Object(result)) {
39
+ const entries = {};
40
+ for (const item of result) {
41
+ Object.assign(entries, await coerceResult(item));
42
+ }
43
+ return entries;
44
+ }
45
+ if (Array.isArray(result)) {
46
+ const entries = {};
47
+ for (const item of result) {
48
+ if (typeof item === 'number') {
49
+ continue;
50
+ }
51
+ if (Array.isArray(item)) {
52
+ continue;
53
+ }
54
+ Object.assign(entries, await coerceResult(item));
55
+ }
56
+ return entries;
57
+ }
58
+ return result;
59
+ }
60
+ //# sourceMappingURL=_test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_test.js","sourceRoot":"","sources":["../../src/rules/_test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAKjD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,KAAoB,EACpB,SAAiB,EACjB,MAAqC;IAErC,IAAI,KAAK,GAAqD,IAAI,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACvC,mCAAmC;QACnC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAClE,SAAS;QACV,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAQ,EAAE,EAAE,KAAK,EAAS,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE,CAAC;gBACZ,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvD,OAAO;IACR,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjD,MAAM,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAA6B;IACxD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,MAAM,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACrD,CAAC;IACD,oBAAoB;IACpB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,MAAa,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,SAAS;YACV,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,SAAS;YACV,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO,MAAa,CAAC;AACtB,CAAC"}
@@ -0,0 +1,29 @@
1
+ export declare const directionMapEntries: [string, unknown][];
2
+ export declare function getBracketedValue(value: string): string | undefined;
3
+ /**
4
+ * Parses a color value as if it were a literal (non-theme match).
5
+ * Supports / syntax to apply opacity.
6
+ * Opacity is returned as 0-1.
7
+ * Supports system token mapping.
8
+ */
9
+ export declare function parseColor(value: string): {
10
+ color: string;
11
+ opacity?: string;
12
+ } | undefined;
13
+ export declare function lighten(base: string, level: string): string;
14
+ export declare function darken(base: string, level: string): string;
15
+ export declare const colorAlters: Record<string, (base: string, level: string) => string>;
16
+ export declare const colorAltersMatch = "(l|lighten|d|darken)";
17
+ export declare function dirRegex(suffix: string): string;
18
+ /**
19
+ * Best guess at whether something is a CSS color...
20
+ * - matching color functions like rgb() or hsl()
21
+ * - matching hex colors like #fff or #123456
22
+ * - matching named CSS colors like "red" (really just any lowercase word)
23
+ * This is not perfect, but should be sufficient for distinguishing between theme keys and literal colors in most cases.
24
+ */
25
+ export declare function isColorLiteral(value: string): boolean;
26
+ export declare function isNumericUnitLiteral(value: string): boolean;
27
+ export declare function isNumericLiteral(value: string): boolean;
28
+ export declare const NO_NEGATIVE = "no-negative";
29
+ //# sourceMappingURL=_util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../../src/rules/_util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,qBAK9B,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,sBAG9C;AASD;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAUjD;AAQD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAElD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAEjD;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAC/B,MAAM,EACN,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAMvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,UAGtC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,WAM3C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,WAEjD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,WAE7C;AAED,eAAO,MAAM,WAAW,gBAAgB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { $systemProps } from '@arbor-css/core';
2
+ export const directionMapEntries = Object.entries(directionMap).sort((a, b) => {
3
+ // "" should be first, so it doesn't interfere with more specific matches
4
+ if (a[0] === '')
5
+ return -1;
6
+ if (b[0] === '')
7
+ return 1;
8
+ return b[0].length - a[0].length;
9
+ });
10
+ export function getBracketedValue(value) {
11
+ const match = value.match(/^\[(.+)\]$/);
12
+ return match ? match[1] : undefined;
13
+ }
14
+ const systemTokenMap = {
15
+ '@fg': $systemProps.fg.applied.var,
16
+ '@bg': $systemProps.bg.applied.var,
17
+ '@border': $systemProps.borderColor[''].applied.var,
18
+ '@fill': $systemProps.fill.applied.var,
19
+ '@stroke': $systemProps.stroke.applied.var,
20
+ };
21
+ /**
22
+ * Parses a color value as if it were a literal (non-theme match).
23
+ * Supports / syntax to apply opacity.
24
+ * Opacity is returned as 0-1.
25
+ * Supports system token mapping.
26
+ */
27
+ export function parseColor(value) {
28
+ const [color, opacity] = value.split('/');
29
+ const opacityValueRaw = opacity ? parseInt(opacity, 10) : undefined;
30
+ return {
31
+ color: systemTokenMap[color] || color,
32
+ opacity: opacityValueRaw !== undefined ?
33
+ (opacityValueRaw / 100).toString()
34
+ : undefined,
35
+ };
36
+ }
37
+ function mod(base, level, sign) {
38
+ // TODO: not hardcode white/black... figure out how to interpret these
39
+ // with schemes/modes
40
+ return `color-mix(in oklch, ${base} ${50 + level * sign * 10}%, ${sign === 1 ? 'white' : 'black'})`;
41
+ }
42
+ export function lighten(base, level) {
43
+ return mod(base, parseInt(level, 10), 1);
44
+ }
45
+ export function darken(base, level) {
46
+ return mod(base, parseInt(level, 10), -1);
47
+ }
48
+ export const colorAlters = {
49
+ l: lighten,
50
+ lighten,
51
+ d: darken,
52
+ darken,
53
+ };
54
+ export const colorAltersMatch = '(l|lighten|d|darken)';
55
+ export function dirRegex(suffix) {
56
+ if (!suffix)
57
+ return '';
58
+ return `(?:-${suffix})`;
59
+ }
60
+ /**
61
+ * Best guess at whether something is a CSS color...
62
+ * - matching color functions like rgb() or hsl()
63
+ * - matching hex colors like #fff or #123456
64
+ * - matching named CSS colors like "red" (really just any lowercase word)
65
+ * This is not perfect, but should be sufficient for distinguishing between theme keys and literal colors in most cases.
66
+ */
67
+ export function isColorLiteral(value) {
68
+ return (/^(?:rgb|hsl|oklch|color)\(.+\)$/.test(value) ||
69
+ /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i.test(value) ||
70
+ /^[a-z]+$/.test(value));
71
+ }
72
+ export function isNumericUnitLiteral(value) {
73
+ return /^\d+(\w{1,3}|%)$/.test(value);
74
+ }
75
+ export function isNumericLiteral(value) {
76
+ return /^\d+$/.test(value);
77
+ }
78
+ export const NO_NEGATIVE = 'no-negative';
79
+ //# sourceMappingURL=_util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_util.js","sourceRoot":"","sources":["../../src/rules/_util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Rule } from '@unocss/core';
2
+ import { Theme } from '../theme/types.js';
3
+ export declare const verticalAlignRules: Rule<Theme>[];
4
+ export declare const textAlignRules: Rule<Theme>[];
5
+ //# sourceMappingURL=align.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../src/rules/align.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAqB1C,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,EAc3C,CAAC;AAIF,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,EAOvC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { h } from '../util/h.js';
2
+ import { globalKeywords } from '../util/mappings.js';
3
+ const verticalAlignAlias = {
4
+ mid: 'middle',
5
+ base: 'baseline',
6
+ btm: 'bottom',
7
+ baseline: 'baseline',
8
+ top: 'top',
9
+ start: 'top',
10
+ middle: 'middle',
11
+ bottom: 'bottom',
12
+ end: 'bottom',
13
+ 'text-top': 'text-top',
14
+ 'text-bottom': 'text-bottom',
15
+ sub: 'sub',
16
+ super: 'super',
17
+ ...Object.fromEntries(globalKeywords.map((x) => [x, x])),
18
+ };
19
+ export const verticalAlignRules = [
20
+ [
21
+ /^(?:vertical|align|v)-(.+)$/,
22
+ ([, v], { theme }) => ({
23
+ 'vertical-align': verticalAlignAlias[v] ?? h.bracket.cssvar.numberWithUnit(v, theme),
24
+ }),
25
+ {
26
+ autocomplete: [
27
+ `(vertical|align|v)-(${Object.keys(verticalAlignAlias).join('|')})`,
28
+ '(vertical|align|v)-<percentage>',
29
+ ],
30
+ },
31
+ ],
32
+ ];
33
+ const textAlignValues = ['center', 'left', 'right', 'justify', 'start', 'end'];
34
+ export const textAlignRules = [
35
+ ...textAlignValues.map((v) => [`text-${v}`, { 'text-align': v }]),
36
+ ...[...globalKeywords, ...textAlignValues].map((v) => [`text-align-${v}`, { 'text-align': v }]),
37
+ ];
38
+ //# sourceMappingURL=align.js.map