@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.
- package/dist/_test.d.ts +278 -0
- package/dist/_test.d.ts.map +1 -0
- package/dist/_test.js +30 -0
- package/dist/_test.js.map +1 -0
- package/dist/_util.d.ts +2 -0
- package/dist/_util.d.ts.map +1 -0
- package/dist/_util.js +2 -0
- package/dist/_util.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/props.d.ts +2 -0
- package/dist/props.d.ts.map +1 -0
- package/dist/props.js +2 -0
- package/dist/props.js.map +1 -0
- package/dist/rules/_test.d.ts +4 -0
- package/dist/rules/_test.d.ts.map +1 -0
- package/dist/rules/_test.js +60 -0
- package/dist/rules/_test.js.map +1 -0
- package/dist/rules/_util.d.ts +29 -0
- package/dist/rules/_util.d.ts.map +1 -0
- package/dist/rules/_util.js +79 -0
- package/dist/rules/_util.js.map +1 -0
- package/dist/rules/align.d.ts +5 -0
- package/dist/rules/align.d.ts.map +1 -0
- package/dist/rules/align.js +38 -0
- package/dist/rules/align.js.map +1 -0
- package/dist/rules/animations.d.ts +4 -0
- package/dist/rules/animations.d.ts.map +1 -0
- package/dist/rules/animations.js +135 -0
- package/dist/rules/animations.js.map +1 -0
- package/dist/rules/background.d.ts +2 -0
- package/dist/rules/background.d.ts.map +1 -0
- package/dist/rules/background.js +2 -0
- package/dist/rules/background.js.map +1 -0
- package/dist/rules/border.d.ts +4 -0
- package/dist/rules/border.d.ts.map +1 -0
- package/dist/rules/border.js +125 -0
- package/dist/rules/border.js.map +1 -0
- package/dist/rules/border.test.d.ts +2 -0
- package/dist/rules/border.test.d.ts.map +1 -0
- package/dist/rules/border.test.js +104 -0
- package/dist/rules/border.test.js.map +1 -0
- package/dist/rules/color.d.ts +4 -0
- package/dist/rules/color.d.ts.map +1 -0
- package/dist/rules/color.js +156 -0
- package/dist/rules/color.js.map +1 -0
- package/dist/rules/color.test.d.ts +2 -0
- package/dist/rules/color.test.d.ts.map +1 -0
- package/dist/rules/color.test.js +104 -0
- package/dist/rules/color.test.js.map +1 -0
- package/dist/rules/colors.d.ts +1 -0
- package/dist/rules/colors.d.ts.map +1 -0
- package/dist/rules/colors.js +2 -0
- package/dist/rules/colors.js.map +1 -0
- package/dist/rules/index.d.ts +4 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +15 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/shadow.d.ts +4 -0
- package/dist/rules/shadow.d.ts.map +1 -0
- package/dist/rules/shadow.js +51 -0
- package/dist/rules/shadow.js.map +1 -0
- package/dist/rules/spacing.d.ts +4 -0
- package/dist/rules/spacing.d.ts.map +1 -0
- package/dist/rules/spacing.js +27 -0
- package/dist/rules/spacing.js.map +1 -0
- package/dist/rules/spacing.test.d.ts +2 -0
- package/dist/rules/spacing.test.d.ts.map +1 -0
- package/dist/rules/spacing.test.js +44 -0
- package/dist/rules/spacing.test.js.map +1 -0
- package/dist/rules/typography.d.ts +4 -0
- package/dist/rules/typography.d.ts.map +1 -0
- package/dist/rules/typography.js +129 -0
- package/dist/rules/typography.js.map +1 -0
- package/dist/rules/util.d.ts +2 -0
- package/dist/rules/util.d.ts.map +1 -0
- package/dist/rules/util.js +2 -0
- package/dist/rules/util.js.map +1 -0
- package/dist/theme/index.d.ts +10 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +79 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/types.d.ts +11 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +2 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/util/alters.d.ts +7 -0
- package/dist/util/alters.d.ts.map +1 -0
- package/dist/util/alters.js +58 -0
- package/dist/util/alters.js.map +1 -0
- package/dist/util/color.d.ts +11 -0
- package/dist/util/color.d.ts.map +1 -0
- package/dist/util/color.js +25 -0
- package/dist/util/color.js.map +1 -0
- package/dist/util/concat.d.ts +3 -0
- package/dist/util/concat.d.ts.map +1 -0
- package/dist/util/concat.js +7 -0
- package/dist/util/concat.js.map +1 -0
- package/dist/util/control.d.ts +2 -0
- package/dist/util/control.d.ts.map +1 -0
- package/dist/util/control.js +2 -0
- package/dist/util/control.js.map +1 -0
- package/dist/util/h.d.ts +4 -0
- package/dist/util/h.d.ts.map +1 -0
- package/dist/util/h.js +6 -0
- package/dist/util/h.js.map +1 -0
- package/dist/util/handlers.d.ts +18 -0
- package/dist/util/handlers.d.ts.map +1 -0
- package/dist/util/handlers.js +253 -0
- package/dist/util/handlers.js.map +1 -0
- package/dist/util/mappings.d.ts +24 -0
- package/dist/util/mappings.d.ts.map +1 -0
- package/dist/util/mappings.js +37 -0
- package/dist/util/mappings.js.map +1 -0
- package/dist/util/matchers.d.ts +2 -0
- package/dist/util/matchers.d.ts.map +1 -0
- package/dist/util/matchers.js +6 -0
- package/dist/util/matchers.js.map +1 -0
- package/dist/util/regex.d.ts +7 -0
- package/dist/util/regex.d.ts.map +1 -0
- package/dist/util/regex.js +17 -0
- package/dist/util/regex.js.map +1 -0
- package/dist/util/tests.d.ts +11 -0
- package/dist/util/tests.d.ts.map +1 -0
- package/dist/util/tests.js +19 -0
- package/dist/util/tests.js.map +1 -0
- package/dist/util/themeOrLiteral.d.ts +15 -0
- package/dist/util/themeOrLiteral.d.ts.map +1 -0
- package/dist/util/themeOrLiteral.js +28 -0
- package/dist/util/themeOrLiteral.js.map +1 -0
- package/dist/variants/_test.d.ts +3 -0
- package/dist/variants/_test.d.ts.map +1 -0
- package/dist/variants/_test.js +52 -0
- package/dist/variants/_test.js.map +1 -0
- package/dist/variants/_utils.d.ts +7 -0
- package/dist/variants/_utils.d.ts.map +1 -0
- package/dist/variants/_utils.js +16 -0
- package/dist/variants/_utils.js.map +1 -0
- package/dist/variants/aria.d.ts +5 -0
- package/dist/variants/aria.d.ts.map +1 -0
- package/dist/variants/aria.js +58 -0
- package/dist/variants/aria.js.map +1 -0
- package/dist/variants/aria.test.d.ts +2 -0
- package/dist/variants/aria.test.d.ts.map +1 -0
- package/dist/variants/aria.test.js +70 -0
- package/dist/variants/aria.test.js.map +1 -0
- package/dist/variants/breakpoints.d.ts +4 -0
- package/dist/variants/breakpoints.d.ts.map +1 -0
- package/dist/variants/breakpoints.js +77 -0
- package/dist/variants/breakpoints.js.map +1 -0
- package/dist/variants/breakpoints.test.d.ts +2 -0
- package/dist/variants/breakpoints.test.d.ts.map +1 -0
- package/dist/variants/breakpoints.test.js +10 -0
- package/dist/variants/breakpoints.test.js.map +1 -0
- package/dist/variants/children.d.ts +4 -0
- package/dist/variants/children.d.ts.map +1 -0
- package/dist/variants/children.js +10 -0
- package/dist/variants/children.js.map +1 -0
- package/dist/variants/children.test.d.ts +2 -0
- package/dist/variants/children.test.d.ts.map +1 -0
- package/dist/variants/children.test.js +9 -0
- package/dist/variants/children.test.js.map +1 -0
- package/dist/variants/combinators.d.ts +5 -0
- package/dist/variants/combinators.d.ts.map +1 -0
- package/dist/variants/combinators.js +42 -0
- package/dist/variants/combinators.js.map +1 -0
- package/dist/variants/combinators.test.d.ts +2 -0
- package/dist/variants/combinators.test.d.ts.map +1 -0
- package/dist/variants/combinators.test.js +33 -0
- package/dist/variants/combinators.test.js.map +1 -0
- package/dist/variants/container.d.ts +4 -0
- package/dist/variants/container.d.ts.map +1 -0
- package/dist/variants/container.js +32 -0
- package/dist/variants/container.js.map +1 -0
- package/dist/variants/container.test.d.ts +2 -0
- package/dist/variants/container.test.d.ts.map +1 -0
- package/dist/variants/container.test.js +10 -0
- package/dist/variants/container.test.js.map +1 -0
- package/dist/variants/data.d.ts +5 -0
- package/dist/variants/data.d.ts.map +1 -0
- package/dist/variants/data.js +58 -0
- package/dist/variants/data.js.map +1 -0
- package/dist/variants/data.test.d.ts +2 -0
- package/dist/variants/data.test.d.ts.map +1 -0
- package/dist/variants/data.test.js +70 -0
- package/dist/variants/data.test.js.map +1 -0
- package/dist/variants/directions.d.ts +4 -0
- package/dist/variants/directions.d.ts.map +1 -0
- package/dist/variants/directions.js +10 -0
- package/dist/variants/directions.js.map +1 -0
- package/dist/variants/directions.test.d.ts +2 -0
- package/dist/variants/directions.test.d.ts.map +1 -0
- package/dist/variants/directions.test.js +9 -0
- package/dist/variants/directions.test.js.map +1 -0
- package/dist/variants/important.d.ts +4 -0
- package/dist/variants/important.d.ts.map +1 -0
- package/dist/variants/important.js +29 -0
- package/dist/variants/important.js.map +1 -0
- package/dist/variants/important.test.d.ts +2 -0
- package/dist/variants/important.test.d.ts.map +1 -0
- package/dist/variants/important.test.js +23 -0
- package/dist/variants/important.test.js.map +1 -0
- package/dist/variants/index.d.ts +2 -0
- package/dist/variants/index.d.ts.map +1 -0
- package/dist/variants/index.js +15 -0
- package/dist/variants/index.js.map +1 -0
- package/dist/variants/inert.d.ts +3 -0
- package/dist/variants/inert.d.ts.map +1 -0
- package/dist/variants/inert.js +6 -0
- package/dist/variants/inert.js.map +1 -0
- package/dist/variants/inert.test.d.ts +2 -0
- package/dist/variants/inert.test.d.ts.map +1 -0
- package/dist/variants/inert.test.js +31 -0
- package/dist/variants/inert.test.js.map +1 -0
- package/dist/variants/layer.d.ts +4 -0
- package/dist/variants/layer.d.ts.map +1 -0
- package/dist/variants/layer.js +22 -0
- package/dist/variants/layer.js.map +1 -0
- package/dist/variants/layer.test.d.ts +2 -0
- package/dist/variants/layer.test.d.ts.map +1 -0
- package/dist/variants/layer.test.js +9 -0
- package/dist/variants/layer.test.js.map +1 -0
- package/dist/variants/media.d.ts +11 -0
- package/dist/variants/media.d.ts.map +1 -0
- package/dist/variants/media.js +62 -0
- package/dist/variants/media.js.map +1 -0
- package/dist/variants/media.test.d.ts +2 -0
- package/dist/variants/media.test.d.ts.map +1 -0
- package/dist/variants/media.test.js +46 -0
- package/dist/variants/media.test.js.map +1 -0
- package/dist/variants/mode.d.ts +4 -0
- package/dist/variants/mode.d.ts.map +1 -0
- package/dist/variants/mode.js +21 -0
- package/dist/variants/mode.js.map +1 -0
- package/dist/variants/mode.test.d.ts +2 -0
- package/dist/variants/mode.test.d.ts.map +1 -0
- package/dist/variants/mode.test.js +9 -0
- package/dist/variants/mode.test.js.map +1 -0
- package/dist/variants/negative.d.ts +4 -0
- package/dist/variants/negative.d.ts.map +1 -0
- package/dist/variants/negative.js +81 -0
- package/dist/variants/negative.js.map +1 -0
- package/dist/variants/negative.test.d.ts +2 -0
- package/dist/variants/negative.test.d.ts.map +1 -0
- package/dist/variants/negative.test.js +13 -0
- package/dist/variants/negative.test.js.map +1 -0
- package/dist/variants/placeholder.d.ts +4 -0
- package/dist/variants/placeholder.d.ts.map +1 -0
- package/dist/variants/placeholder.js +23 -0
- package/dist/variants/placeholder.js.map +1 -0
- package/dist/variants/placeholder.test.d.ts +2 -0
- package/dist/variants/placeholder.test.d.ts.map +1 -0
- package/dist/variants/placeholder.test.js +11 -0
- package/dist/variants/placeholder.test.js.map +1 -0
- package/dist/variants/pseudo.d.ts +8 -0
- package/dist/variants/pseudo.d.ts.map +1 -0
- package/dist/variants/pseudo.js +28 -0
- package/dist/variants/pseudo.js.map +1 -0
- package/dist/variants/pseudo.test.d.ts +2 -0
- package/dist/variants/pseudo.test.d.ts.map +1 -0
- package/dist/variants/pseudo.test.js +52 -0
- package/dist/variants/pseudo.test.js.map +1 -0
- package/dist/variants/startingStyle.d.ts +4 -0
- package/dist/variants/startingStyle.d.ts.map +1 -0
- package/dist/variants/startingStyle.js +15 -0
- package/dist/variants/startingStyle.js.map +1 -0
- package/dist/variants/startingStyle.test.d.ts +2 -0
- package/dist/variants/startingStyle.test.d.ts.map +1 -0
- package/dist/variants/startingStyle.test.js +9 -0
- package/dist/variants/startingStyle.test.js.map +1 -0
- package/dist/variants/stuck.d.ts +4 -0
- package/dist/variants/stuck.d.ts.map +1 -0
- package/dist/variants/stuck.js +25 -0
- package/dist/variants/stuck.js.map +1 -0
- package/dist/variants/stuck.test.d.ts +2 -0
- package/dist/variants/stuck.test.d.ts.map +1 -0
- package/dist/variants/stuck.test.js +9 -0
- package/dist/variants/stuck.test.js.map +1 -0
- package/dist/variants/variantSupports.d.ts +4 -0
- package/dist/variants/variantSupports.d.ts.map +1 -0
- package/dist/variants/variantSupports.js +26 -0
- package/dist/variants/variantSupports.js.map +1 -0
- package/dist/variants/variantSupports.test.d.ts +2 -0
- package/dist/variants/variantSupports.test.d.ts.map +1 -0
- package/dist/variants/variantSupports.test.js +9 -0
- package/dist/variants/variantSupports.test.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/variants/container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,MAAM,qBAAqB,GAAyB;IAC1D,IAAI,EAAE,GAAG;IACT,KAAK,CAAC,OAAO,EAAE,GAAG;QACjB,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO;QAE7C,MAAM,OAAO,GAAG,mBAAmB,CAClC,GAAG,EACH,OAAO,EACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAC/B,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;YAErC,MAAM,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;gBACpD,SAAS,EAAE,WAAW;gBACtB,WAAW,EAAE,CAAC,QAAQ,CAAC;aACvB,CAAC,CAAC;YAEH,IAAI,SAAS,EAAE,CAAC;gBACf,IAAI,KAAK,GACR,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAE9D,IAAI,KAAK;oBAAE,KAAK,IAAI,IAAI,CAAC;gBAEzB,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,CAAC;wBACJ,GAAG,KAAK;wBACR,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,SAAS,GAAG;wBACtH,WAAW,EAAE,KAAK;qBAClB,CAAC;iBACH,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,SAAS,EAAE,IAAI;CACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.test.d.ts","sourceRoot":"","sources":["../../src/variants/container.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { it } from 'vitest';
|
|
2
|
+
import { testVariants } from './_test.js';
|
|
3
|
+
import { variantContainerQuery } from './container.js';
|
|
4
|
+
it('applies literal container min-width query', async () => {
|
|
5
|
+
await testVariants([variantContainerQuery], '@320:bg-red', 'bg-red', {
|
|
6
|
+
parent: '@container (min-width: 320px)',
|
|
7
|
+
parentOrder: 999,
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=container.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.test.js","sourceRoot":"","sources":["../../src/variants/container.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,YAAY,CAAC,CAAC,qBAAqB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;QACpE,MAAM,EAAE,+BAA+B;QACvC,WAAW,EAAE,GAAG;KAChB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Variant, VariantObject } from '@unocss/core';
|
|
2
|
+
import { Theme } from '../theme/types.js';
|
|
3
|
+
export declare const variantDataAttribute: VariantObject<Theme>;
|
|
4
|
+
export declare const variantTaggedDataAttributes: Variant<Theme>[];
|
|
5
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/variants/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,KAAK,CAoBrD,CAAC;AAwCF,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC,KAAK,CAAC,EAOvD,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { variantGetParameter } from '@unocss/rule-utils';
|
|
2
|
+
export const variantDataAttribute = {
|
|
3
|
+
name: 'data',
|
|
4
|
+
match(matcher, ctx) {
|
|
5
|
+
const variant = variantGetParameter('data-', matcher, ctx.generator.config.separators);
|
|
6
|
+
if (variant) {
|
|
7
|
+
const [match, rest] = variant;
|
|
8
|
+
const dataAttribute = match;
|
|
9
|
+
if (dataAttribute) {
|
|
10
|
+
return {
|
|
11
|
+
matcher: rest,
|
|
12
|
+
selector: (s) => `${s}[data-${dataAttribute}]`,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
multiPass: true,
|
|
18
|
+
};
|
|
19
|
+
function taggedData(tagName) {
|
|
20
|
+
return {
|
|
21
|
+
name: `${tagName}-data`,
|
|
22
|
+
match(matcher, ctx) {
|
|
23
|
+
const variant = variantGetParameter(`${tagName}-data-`, matcher, ctx.generator.config.separators);
|
|
24
|
+
if (variant) {
|
|
25
|
+
const [match, rest, label] = variant;
|
|
26
|
+
const dataAttribute = match;
|
|
27
|
+
if (dataAttribute) {
|
|
28
|
+
const tagSelectorMap = {
|
|
29
|
+
group: `&:is(:where(.group${label ? `\\/${label}` : ''})[data-${dataAttribute}] *)`,
|
|
30
|
+
peer: `&:is(:where(.peer${label ? `\\/${label}` : ''})[data-${dataAttribute}] ~ *)`,
|
|
31
|
+
previous: `:where(*[data-${dataAttribute}] + &)`,
|
|
32
|
+
parent: `:where(*[data-${dataAttribute}] > &)`,
|
|
33
|
+
has: `&:has(*[data-${dataAttribute}])`,
|
|
34
|
+
in: `:where(*[data-${dataAttribute}]) &`,
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
matcher: rest,
|
|
38
|
+
handle: (input, next) => next({
|
|
39
|
+
...input,
|
|
40
|
+
parent: `${input.parent ? `${input.parent} $$ ` : ''}${input.selector}`,
|
|
41
|
+
selector: tagSelectorMap[tagName],
|
|
42
|
+
}),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
multiPass: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export const variantTaggedDataAttributes = [
|
|
51
|
+
taggedData('group'),
|
|
52
|
+
taggedData('peer'),
|
|
53
|
+
taggedData('parent'),
|
|
54
|
+
taggedData('previous'),
|
|
55
|
+
taggedData('has'),
|
|
56
|
+
taggedData('in'),
|
|
57
|
+
];
|
|
58
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/variants/data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACzD,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,OAAO,EAAE,GAAG;QACjB,MAAM,OAAO,GAAG,mBAAmB,CAClC,OAAO,EACP,OAAO,EACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAC/B,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;YAC9B,MAAM,aAAa,GAAG,KAAK,CAAC;YAC5B,IAAI,aAAa,EAAE,CAAC;gBACnB,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,aAAa,GAAG;iBAC9C,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,SAAS,EAAE,IAAI;CACf,CAAC;AAEF,SAAS,UAAU,CAAC,OAAe;IAClC,OAAO;QACN,IAAI,EAAE,GAAG,OAAO,OAAO;QACvB,KAAK,CAAC,OAAO,EAAE,GAAG;YACjB,MAAM,OAAO,GAAG,mBAAmB,CAClC,GAAG,OAAO,QAAQ,EAClB,OAAO,EACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAC/B,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;gBACrC,MAAM,aAAa,GAAG,KAAK,CAAC;gBAC5B,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,cAAc,GAA2B;wBAC9C,KAAK,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,aAAa,MAAM;wBACnF,IAAI,EAAE,oBAAoB,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,aAAa,QAAQ;wBACnF,QAAQ,EAAE,iBAAiB,aAAa,QAAQ;wBAChD,MAAM,EAAE,iBAAiB,aAAa,QAAQ;wBAC9C,GAAG,EAAE,gBAAgB,aAAa,IAAI;wBACtC,EAAE,EAAE,iBAAiB,aAAa,MAAM;qBACxC,CAAC;oBAEF,OAAO;wBACN,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,CAAC;4BACJ,GAAG,KAAK;4BACR,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;4BACvE,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;yBACjC,CAAC;qBACH,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QACD,SAAS,EAAE,IAAI;KACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC5D,UAAU,CAAC,OAAO,CAAC;IACnB,UAAU,CAAC,MAAM,CAAC;IAClB,UAAU,CAAC,QAAQ,CAAC;IACpB,UAAU,CAAC,UAAU,CAAC;IACtB,UAAU,CAAC,KAAK,CAAC;IACjB,UAAU,CAAC,IAAI,CAAC;CAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.d.ts","sourceRoot":"","sources":["../../src/variants/data.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { testTheme } from '../_test.js';
|
|
3
|
+
import { variantDataAttribute, variantTaggedDataAttributes } from './data.js';
|
|
4
|
+
const ctx = {
|
|
5
|
+
generator: {
|
|
6
|
+
config: {
|
|
7
|
+
separators: [':'],
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
rawSelector: '',
|
|
11
|
+
theme: testTheme,
|
|
12
|
+
};
|
|
13
|
+
describe('variantDataAttribute', () => {
|
|
14
|
+
it('matches data attribute selector', () => {
|
|
15
|
+
const result = variantDataAttribute.match('data-state=open:bg-red', ctx);
|
|
16
|
+
expect(result).toBeTruthy();
|
|
17
|
+
expect(result).not.toBeTypeOf('string');
|
|
18
|
+
if (!result || typeof result === 'string')
|
|
19
|
+
return;
|
|
20
|
+
expect(result.matcher).toBe('bg-red');
|
|
21
|
+
expect(result.selector?.('.btn')).toBe('.btn[data-state=open]');
|
|
22
|
+
});
|
|
23
|
+
it('matches tagged peer data selector', async () => {
|
|
24
|
+
const peerVariant = variantTaggedDataAttributes.find((v) => typeof v === 'object' && v.name === 'peer-data');
|
|
25
|
+
expect(peerVariant).toBeTruthy();
|
|
26
|
+
expect(peerVariant).toBeTypeOf('object');
|
|
27
|
+
if (!peerVariant || typeof peerVariant !== 'object')
|
|
28
|
+
return;
|
|
29
|
+
const result = await peerVariant.match('peer-data-state=open:bg-red', ctx);
|
|
30
|
+
expect(result).toBeTruthy();
|
|
31
|
+
expect(result).not.toBeTypeOf('string');
|
|
32
|
+
if (!result || typeof result === 'string')
|
|
33
|
+
return;
|
|
34
|
+
const input = {
|
|
35
|
+
entries: [],
|
|
36
|
+
parent: '',
|
|
37
|
+
prefix: '',
|
|
38
|
+
pseudo: '',
|
|
39
|
+
selector: '.item',
|
|
40
|
+
};
|
|
41
|
+
await result.handle?.(input, (next) => Object.assign(input, next));
|
|
42
|
+
expect(result.matcher).toBe('bg-red');
|
|
43
|
+
expect(input.parent).toBe('.item');
|
|
44
|
+
expect(input.selector).toBe('&:is(:where(.peer)[data-state=open] ~ *)');
|
|
45
|
+
});
|
|
46
|
+
it('matches tagged peer data selector with label', async () => {
|
|
47
|
+
const peerVariant = variantTaggedDataAttributes.find((v) => typeof v === 'object' && v.name === 'peer-data');
|
|
48
|
+
expect(peerVariant).toBeTruthy();
|
|
49
|
+
expect(peerVariant).toBeTypeOf('object');
|
|
50
|
+
if (!peerVariant || typeof peerVariant !== 'object')
|
|
51
|
+
return;
|
|
52
|
+
const result = await peerVariant.match('peer-data-state=open/menu:bg-red', ctx);
|
|
53
|
+
expect(result).toBeTruthy();
|
|
54
|
+
expect(result).not.toBeTypeOf('string');
|
|
55
|
+
if (!result || typeof result === 'string')
|
|
56
|
+
return;
|
|
57
|
+
const input = {
|
|
58
|
+
entries: [],
|
|
59
|
+
parent: '',
|
|
60
|
+
prefix: '',
|
|
61
|
+
pseudo: '',
|
|
62
|
+
selector: '.item',
|
|
63
|
+
};
|
|
64
|
+
await result.handle?.(input, (next) => Object.assign(input, next));
|
|
65
|
+
expect(result.matcher).toBe('bg-red');
|
|
66
|
+
expect(input.parent).toBe('.item');
|
|
67
|
+
expect(input.selector).toBe('&:is(:where(.peer\\/menu)[data-state=open] ~ *)');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../src/variants/data.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../src/variants/directions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,eAAO,MAAM,yBAAyB,EAOjC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { variantMatcher } from '@unocss/rule-utils';
|
|
2
|
+
export const variantLanguageDirections = [
|
|
3
|
+
variantMatcher('rtl', (input) => ({
|
|
4
|
+
prefix: `[dir="rtl"] $$ ${input.prefix}`,
|
|
5
|
+
})),
|
|
6
|
+
variantMatcher('ltr', (input) => ({
|
|
7
|
+
prefix: `[dir="ltr"] $$ ${input.prefix}`,
|
|
8
|
+
})),
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=directions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directions.js","sourceRoot":"","sources":["../../src/variants/directions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,cAAc,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,kBAAkB,KAAK,CAAC,MAAM,EAAE;KACxC,CAAC,CAAC;IACH,cAAc,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,kBAAkB,KAAK,CAAC,MAAM,EAAE;KACxC,CAAC,CAAC;CACiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directions.test.d.ts","sourceRoot":"","sources":["../../src/variants/directions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { it } from 'vitest';
|
|
2
|
+
import { testVariants } from './_test.js';
|
|
3
|
+
import { variantLanguageDirections } from './directions.js';
|
|
4
|
+
it('applies direction', async () => {
|
|
5
|
+
await testVariants(variantLanguageDirections, 'rtl:bg-red', 'bg-red', {
|
|
6
|
+
prefix: '[dir="rtl"] $$ ',
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=directions.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directions.test.js","sourceRoot":"","sources":["../../src/variants/directions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,YAAY,CAAC,yBAAyB,EAAE,YAAY,EAAE,QAAQ,EAAE;QACrE,MAAM,EAAE,iBAAiB;KACzB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"important.d.ts","sourceRoot":"","sources":["../../src/variants/important.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,wBAAgB,gBAAgB,IAAI,aAAa,CAAC,KAAK,CAAC,CA4BvD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function variantImportant() {
|
|
2
|
+
let re;
|
|
3
|
+
return {
|
|
4
|
+
name: 'important',
|
|
5
|
+
match(matcher, ctx) {
|
|
6
|
+
if (!re)
|
|
7
|
+
re = new RegExp(`^(important(?:${ctx.generator.config.separators.join('|')})|!)`);
|
|
8
|
+
let base;
|
|
9
|
+
const match = matcher.match(re);
|
|
10
|
+
if (match)
|
|
11
|
+
base = matcher.slice(match[0].length);
|
|
12
|
+
else if (matcher.endsWith('!'))
|
|
13
|
+
base = matcher.slice(0, -1);
|
|
14
|
+
if (base) {
|
|
15
|
+
return {
|
|
16
|
+
matcher: base,
|
|
17
|
+
body: (body) => {
|
|
18
|
+
body.forEach((v) => {
|
|
19
|
+
if (v[1] != null)
|
|
20
|
+
v[1] += ' !important';
|
|
21
|
+
});
|
|
22
|
+
return body;
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=important.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"important.js","sourceRoot":"","sources":["../../src/variants/important.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB;IAC/B,IAAI,EAAU,CAAC;IACf,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,KAAK,CAAC,OAAO,EAAE,GAAG;YACjB,IAAI,CAAC,EAAE;gBACN,EAAE,GAAG,IAAI,MAAM,CACd,iBAAiB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAChE,CAAC;YAEH,IAAI,IAAwB,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,KAAK;gBAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE5D,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;4BAClB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;gCAAE,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;wBACzC,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACb,CAAC;iBACD,CAAC;YACH,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"important.test.d.ts","sourceRoot":"","sources":["../../src/variants/important.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { expect, it } from 'vitest';
|
|
2
|
+
import { testTheme } from '../_test.js';
|
|
3
|
+
import { variantImportant } from './important.js';
|
|
4
|
+
it('appends !important to declaration values', () => {
|
|
5
|
+
const ctx = {
|
|
6
|
+
generator: {
|
|
7
|
+
config: {
|
|
8
|
+
separators: [':'],
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
rawSelector: '',
|
|
12
|
+
theme: testTheme,
|
|
13
|
+
};
|
|
14
|
+
const result = variantImportant().match('!bg-red', ctx);
|
|
15
|
+
expect(result).toBeTruthy();
|
|
16
|
+
expect(result).not.toBeTypeOf('string');
|
|
17
|
+
if (!result || typeof result === 'string')
|
|
18
|
+
return;
|
|
19
|
+
const body = [['color', 'red']];
|
|
20
|
+
expect(result.matcher).toBe('bg-red');
|
|
21
|
+
expect(result.body?.(body)).toEqual([['color', 'red !important']]);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=important.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"important.test.js","sourceRoot":"","sources":["../../src/variants/important.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACnD,MAAM,GAAG,GAAG;QACX,SAAS,EAAE;YACV,MAAM,EAAE;gBACP,UAAU,EAAE,CAAC,GAAG,CAAC;aACjB;SACD;QACD,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,SAAS;KACT,CAAC;IAET,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO;IAElD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAQ,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/variants/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,OASpB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { variants as baseVariants } from '@unocss/preset-mini/variants';
|
|
2
|
+
import { variantInert } from './inert.js';
|
|
3
|
+
import { modeVariants } from './mode.js';
|
|
4
|
+
import { stuckVariant } from './stuck.js';
|
|
5
|
+
export const variants = [
|
|
6
|
+
...baseVariants({
|
|
7
|
+
arbitraryVariants: true,
|
|
8
|
+
variablePrefix: '🍂',
|
|
9
|
+
}),
|
|
10
|
+
stuckVariant,
|
|
11
|
+
// variantContainerQuery,
|
|
12
|
+
variantInert,
|
|
13
|
+
...modeVariants,
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/variants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,GAAI,YAAY,CAAC;QAChB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;KACpB,CAAS;IACV,YAAY;IACZ,yBAAyB;IACzB,YAAY;IACZ,GAAG,YAAY;CACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inert.d.ts","sourceRoot":"","sources":["../../src/variants/inert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,eAAO,MAAM,YAAY,EAAE,OAGxB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { variantMatcher } from '@unocss/rule-utils';
|
|
2
|
+
export const variantInert = variantMatcher('inert', (input) => ({
|
|
3
|
+
parent: `${input.parent ? `${input.parent} $$ ` : ''}${input.selector}`,
|
|
4
|
+
selector: '&:is([inert],[inert] *)',
|
|
5
|
+
}));
|
|
6
|
+
//# sourceMappingURL=inert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inert.js","sourceRoot":"","sources":["../../src/variants/inert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAY,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;IACvE,QAAQ,EAAE,yBAAyB;CACnC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inert.test.d.ts","sourceRoot":"","sources":["../../src/variants/inert.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { expect, it } from 'vitest';
|
|
2
|
+
import { testTheme } from '../_test.js';
|
|
3
|
+
import { variantInert } from './inert.js';
|
|
4
|
+
it('wraps selector in inert scope', async () => {
|
|
5
|
+
const ctx = {
|
|
6
|
+
generator: {
|
|
7
|
+
config: {
|
|
8
|
+
separators: [':'],
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
rawSelector: '',
|
|
12
|
+
theme: testTheme,
|
|
13
|
+
};
|
|
14
|
+
const result = await variantInert.match?.('inert:bg-red', ctx);
|
|
15
|
+
expect(result).toBeTruthy();
|
|
16
|
+
expect(result).not.toBeTypeOf('string');
|
|
17
|
+
if (!result || typeof result === 'string' || Array.isArray(result))
|
|
18
|
+
return;
|
|
19
|
+
const input = {
|
|
20
|
+
entries: [],
|
|
21
|
+
parent: '',
|
|
22
|
+
prefix: '',
|
|
23
|
+
pseudo: '',
|
|
24
|
+
selector: '.btn',
|
|
25
|
+
};
|
|
26
|
+
await result.handle?.(input, (next) => Object.assign(input, next));
|
|
27
|
+
expect(result.matcher).toBe('bg-red');
|
|
28
|
+
expect(input.parent).toBe('.btn');
|
|
29
|
+
expect(input.selector).toBe('&:is([inert],[inert] *)');
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=inert.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inert.test.js","sourceRoot":"","sources":["../../src/variants/inert.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,GAAG,GAAG;QACX,SAAS,EAAE;YACV,MAAM,EAAE;gBACP,UAAU,EAAE,CAAC,GAAG,CAAC;aACjB;SACD;QACD,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,SAAS;KACT,CAAC;IAET,MAAM,MAAM,GAAG,MAAO,YAA8B,CAAC,KAAK,EAAE,CAC3D,cAAc,EACd,GAAG,CACH,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO;IAE3E,MAAM,KAAK,GAAG;QACb,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,MAAM;KAChB,CAAC;IAEF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/variants/layer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,KAAK,CAuB1C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { variantGetParameter } from '@unocss/rule-utils';
|
|
2
|
+
import { h } from '../util/h.js';
|
|
3
|
+
export const variantCssLayer = {
|
|
4
|
+
name: '@layer',
|
|
5
|
+
match(matcher, ctx) {
|
|
6
|
+
const variant = variantGetParameter('@layer-', matcher, ctx.generator.config.separators);
|
|
7
|
+
if (variant) {
|
|
8
|
+
const [match, rest] = variant;
|
|
9
|
+
const layer = h.bracket(match) ?? match;
|
|
10
|
+
if (layer) {
|
|
11
|
+
return {
|
|
12
|
+
matcher: rest,
|
|
13
|
+
handle: (input, next) => next({
|
|
14
|
+
...input,
|
|
15
|
+
parent: `${input.parent ? `${input.parent} $$ ` : ''}@layer ${layer}`,
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.js","sourceRoot":"","sources":["../../src/variants/layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC9C,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,OAAO,EAAE,GAAG;QACjB,MAAM,OAAO,GAAG,mBAAmB,CAClC,SAAS,EACT,OAAO,EACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAC/B,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YACxC,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,IAAI,CAAC;wBACJ,GAAG,KAAK;wBACR,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,EAAE;qBACrE,CAAC;iBACH,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.test.d.ts","sourceRoot":"","sources":["../../src/variants/layer.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { it } from 'vitest';
|
|
2
|
+
import { testVariants } from './_test.js';
|
|
3
|
+
import { variantCssLayer } from './layer.js';
|
|
4
|
+
it('applies css layer parent rule', async () => {
|
|
5
|
+
await testVariants([variantCssLayer], '@layer-components:bg-red', 'bg-red', {
|
|
6
|
+
parent: '@layer components',
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=layer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.test.js","sourceRoot":"","sources":["../../src/variants/layer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,YAAY,CAAC,CAAC,eAAe,CAAC,EAAE,0BAA0B,EAAE,QAAQ,EAAE;QAC3E,MAAM,EAAE,mBAAmB;KAC3B,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Variant, VariantObject } from '@unocss/core';
|
|
2
|
+
import { Theme } from '../theme/types.js';
|
|
3
|
+
export declare const variantNoscript: VariantObject;
|
|
4
|
+
export declare const variantScripting: VariantObject<Theme>;
|
|
5
|
+
export declare const variantPrint: VariantObject<Theme>;
|
|
6
|
+
export declare const variantCustomMedia: VariantObject<Theme>;
|
|
7
|
+
export declare const variantContrasts: Variant<Theme>[];
|
|
8
|
+
export declare const variantMotions: Variant<Theme>[];
|
|
9
|
+
export declare const variantOrientations: Variant<Theme>[];
|
|
10
|
+
export declare const variantForcedColors: Variant<Theme>[];
|
|
11
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/variants/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,eAAO,MAAM,eAAe,EAAE,aAG7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,KAAK,CA0BjD,CAAC;AAEF,eAAO,MAAM,YAAY,EAGpB,aAAa,CAAC,KAAK,CAAC,CAAC;AAE1B,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,KAAK,CA2BnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EAG5C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,EAS1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,EAG/C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,EAE/C,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { variantGetParameter, variantParentMatcher } from '@unocss/rule-utils';
|
|
2
|
+
import { h } from '../util/h.js';
|
|
3
|
+
export const variantNoscript = variantParentMatcher('noscript', '@media (scripting: none)');
|
|
4
|
+
export const variantScripting = {
|
|
5
|
+
name: 'scripting',
|
|
6
|
+
match(matcher, ctx) {
|
|
7
|
+
const variant = variantGetParameter(['script-', 'scripting-'], matcher, ctx.generator.config.separators);
|
|
8
|
+
if (variant) {
|
|
9
|
+
const [match, rest] = variant;
|
|
10
|
+
const scriptingValues = ['none', 'initial-only', 'enabled'];
|
|
11
|
+
if (scriptingValues.includes(match)) {
|
|
12
|
+
return {
|
|
13
|
+
matcher: rest,
|
|
14
|
+
handle: (input, next) => next({
|
|
15
|
+
...input,
|
|
16
|
+
parent: `${input.parent ? `${input.parent} $$ ` : ''}@media (scripting: ${match})`,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
multiPass: true,
|
|
23
|
+
autocomplete: ['(scripting|script)-(none|initial-only|enabled)'],
|
|
24
|
+
};
|
|
25
|
+
export const variantPrint = variantParentMatcher('print', '@media print');
|
|
26
|
+
export const variantCustomMedia = {
|
|
27
|
+
name: 'media',
|
|
28
|
+
match(matcher, ctx) {
|
|
29
|
+
const variant = variantGetParameter('media-', matcher, ctx.generator.config.separators);
|
|
30
|
+
if (variant) {
|
|
31
|
+
const [match, rest] = variant;
|
|
32
|
+
const media = h.bracket(match) ?? '';
|
|
33
|
+
if (media) {
|
|
34
|
+
return {
|
|
35
|
+
matcher: rest,
|
|
36
|
+
handle: (input, next) => next({
|
|
37
|
+
...input,
|
|
38
|
+
parent: `${input.parent ? `${input.parent} $$ ` : ''}@media ${media}`,
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
multiPass: true,
|
|
45
|
+
autocomplete: 'media-$media',
|
|
46
|
+
};
|
|
47
|
+
export const variantContrasts = [
|
|
48
|
+
variantParentMatcher('contrast-more', '@media (prefers-contrast: more)'),
|
|
49
|
+
variantParentMatcher('contrast-less', '@media (prefers-contrast: less)'),
|
|
50
|
+
];
|
|
51
|
+
export const variantMotions = [
|
|
52
|
+
variantParentMatcher('motion-reduce', '@media (prefers-reduced-motion: reduce)'),
|
|
53
|
+
variantParentMatcher('motion-safe', '@media (prefers-reduced-motion: no-preference)'),
|
|
54
|
+
];
|
|
55
|
+
export const variantOrientations = [
|
|
56
|
+
variantParentMatcher('landscape', '@media (orientation: landscape)'),
|
|
57
|
+
variantParentMatcher('portrait', '@media (orientation: portrait)'),
|
|
58
|
+
];
|
|
59
|
+
export const variantForcedColors = [
|
|
60
|
+
variantParentMatcher('forced-colors', '@media (forced-colors: active)'),
|
|
61
|
+
];
|
|
62
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/variants/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.test.d.ts","sourceRoot":"","sources":["../../src/variants/media.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, it } from 'vitest';
|
|
2
|
+
import { testVariants } from './_test.js';
|
|
3
|
+
import { variantContrasts, variantCustomMedia, variantForcedColors, variantMotions, variantNoscript, variantOrientations, variantPrint, variantScripting, } from './media.js';
|
|
4
|
+
describe('media variants', () => {
|
|
5
|
+
it('applies noscript media query', async () => {
|
|
6
|
+
await testVariants([variantNoscript], 'noscript:bg-red', 'bg-red', {
|
|
7
|
+
parent: '@media (scripting: none)',
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
it('applies scripting media query', async () => {
|
|
11
|
+
await testVariants([variantScripting], 'script-enabled:bg-red', 'bg-red', {
|
|
12
|
+
parent: '@media (scripting: enabled)',
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
it('applies print media query', async () => {
|
|
16
|
+
await testVariants([variantPrint], 'print:bg-red', 'bg-red', {
|
|
17
|
+
parent: '@media print',
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
it('applies custom media query', async () => {
|
|
21
|
+
await testVariants([variantCustomMedia], 'media-[screen and (min-width: 600px)]:bg-red', 'bg-red', {
|
|
22
|
+
parent: '@media screen and (min-width: 600px)',
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
it('applies contrast media query', async () => {
|
|
26
|
+
await testVariants(variantContrasts, 'contrast-more:bg-red', 'bg-red', {
|
|
27
|
+
parent: '@media (prefers-contrast: more)',
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
it('applies motion media query', async () => {
|
|
31
|
+
await testVariants(variantMotions, 'motion-reduce:bg-red', 'bg-red', {
|
|
32
|
+
parent: '@media (prefers-reduced-motion: reduce)',
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
it('applies orientation media query', async () => {
|
|
36
|
+
await testVariants(variantOrientations, 'landscape:bg-red', 'bg-red', {
|
|
37
|
+
parent: '@media (orientation: landscape)',
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it('applies forced-colors media query', async () => {
|
|
41
|
+
await testVariants(variantForcedColors, 'forced-colors:bg-red', 'bg-red', {
|
|
42
|
+
parent: '@media (forced-colors: active)',
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=media.test.js.map
|