@mgcrea/react-native-tailwind 0.13.0 → 0.15.0
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/README.md +33 -30
- package/dist/babel/config-loader.d.ts +10 -0
- package/dist/babel/config-loader.test.ts +75 -21
- package/dist/babel/config-loader.ts +100 -2
- package/dist/babel/index.cjs +439 -46
- package/dist/babel/plugin/state.d.ts +4 -0
- package/dist/babel/plugin/state.ts +8 -0
- package/dist/babel/plugin/visitors/className.test.ts +313 -0
- package/dist/babel/plugin/visitors/className.ts +36 -8
- package/dist/babel/plugin/visitors/imports.ts +16 -1
- package/dist/babel/plugin/visitors/program.ts +19 -2
- package/dist/babel/plugin/visitors/tw.test.ts +151 -0
- package/dist/babel/utils/directionalModifierProcessing.d.ts +34 -0
- package/dist/babel/utils/directionalModifierProcessing.ts +99 -0
- package/dist/babel/utils/styleInjection.d.ts +16 -0
- package/dist/babel/utils/styleInjection.ts +138 -7
- package/dist/babel/utils/twProcessing.d.ts +2 -0
- package/dist/babel/utils/twProcessing.ts +92 -3
- package/dist/parser/borders.js +1 -1
- package/dist/parser/borders.test.js +1 -1
- package/dist/parser/index.d.ts +3 -2
- package/dist/parser/index.js +1 -1
- package/dist/parser/layout.d.ts +3 -1
- package/dist/parser/layout.js +1 -1
- package/dist/parser/layout.test.js +1 -1
- package/dist/parser/modifiers.d.ts +32 -2
- package/dist/parser/modifiers.js +1 -1
- package/dist/parser/modifiers.test.js +1 -1
- package/dist/parser/sizing.d.ts +3 -1
- package/dist/parser/sizing.js +1 -1
- package/dist/parser/sizing.test.js +1 -1
- package/dist/parser/spacing.d.ts +4 -2
- package/dist/parser/spacing.js +1 -1
- package/dist/parser/spacing.test.js +1 -1
- package/dist/parser/transforms.d.ts +3 -1
- package/dist/parser/transforms.js +1 -1
- package/dist/parser/transforms.test.js +1 -1
- package/dist/parser/typography.test.js +1 -1
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.cjs.map +3 -3
- package/dist/runtime.d.ts +2 -0
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +3 -3
- package/dist/runtime.test.js +1 -1
- package/package.json +6 -6
- package/src/babel/config-loader.test.ts +75 -21
- package/src/babel/config-loader.ts +100 -2
- package/src/babel/plugin/state.ts +8 -0
- package/src/babel/plugin/visitors/className.test.ts +313 -0
- package/src/babel/plugin/visitors/className.ts +36 -8
- package/src/babel/plugin/visitors/imports.ts +16 -1
- package/src/babel/plugin/visitors/program.ts +19 -2
- package/src/babel/plugin/visitors/tw.test.ts +151 -0
- package/src/babel/utils/directionalModifierProcessing.ts +99 -0
- package/src/babel/utils/styleInjection.ts +138 -7
- package/src/babel/utils/twProcessing.ts +92 -3
- package/src/parser/borders.test.ts +104 -0
- package/src/parser/borders.ts +50 -7
- package/src/parser/index.ts +8 -5
- package/src/parser/layout.test.ts +168 -0
- package/src/parser/layout.ts +107 -8
- package/src/parser/modifiers.test.ts +206 -0
- package/src/parser/modifiers.ts +62 -3
- package/src/parser/sizing.test.ts +56 -0
- package/src/parser/sizing.ts +20 -15
- package/src/parser/spacing.test.ts +123 -0
- package/src/parser/spacing.ts +30 -15
- package/src/parser/transforms.test.ts +57 -0
- package/src/parser/transforms.ts +7 -3
- package/src/parser/typography.test.ts +8 -0
- package/src/parser/typography.ts +4 -0
- package/src/runtime.test.ts +149 -0
- package/src/runtime.ts +53 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vitest=require("vitest");var _borders=require("./borders");(0,_vitest.describe)("BORDER_WIDTH_SCALE",function(){(0,_vitest.it)("should export complete border width scale",function(){(0,_vitest.expect)(_borders.BORDER_WIDTH_SCALE).toMatchSnapshot();});});(0,_vitest.describe)("BORDER_RADIUS_SCALE",function(){(0,_vitest.it)("should export complete border radius scale",function(){(0,_vitest.expect)(_borders.BORDER_RADIUS_SCALE).toMatchSnapshot();});});(0,_vitest.describe)("parseBorder - border width all sides",function(){(0,_vitest.it)("should parse border shorthand",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border")).toEqual({borderWidth:1});});(0,_vitest.it)("should parse border with preset values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-0")).toEqual({borderWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-2")).toEqual({borderWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-4")).toEqual({borderWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-8")).toEqual({borderWidth:8});});(0,_vitest.it)("should parse border with arbitrary pixel values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[1px]")).toEqual({borderWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-[1]")).toEqual({borderWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-[3px]")).toEqual({borderWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-[10px]")).toEqual({borderWidth:10});});});(0,_vitest.describe)("parseBorder - border width directional",function(){(0,_vitest.it)("should parse border top",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t")).toEqual({borderTopWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-0")).toEqual({borderTopWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-2")).toEqual({borderTopWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-4")).toEqual({borderTopWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-8")).toEqual({borderTopWidth:8});});(0,_vitest.it)("should parse border right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-r")).toEqual({borderRightWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-0")).toEqual({borderRightWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-2")).toEqual({borderRightWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-4")).toEqual({borderRightWidth:4});});(0,_vitest.it)("should parse border bottom",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-b")).toEqual({borderBottomWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-0")).toEqual({borderBottomWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-2")).toEqual({borderBottomWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-4")).toEqual({borderBottomWidth:4});});(0,_vitest.it)("should parse border left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-l")).toEqual({borderLeftWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-0")).toEqual({borderLeftWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-2")).toEqual({borderLeftWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-4")).toEqual({borderLeftWidth:4});});(0,_vitest.it)("should parse directional borders with arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[3px]")).toEqual({borderTopWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[5px]")).toEqual({borderRightWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[7px]")).toEqual({borderBottomWidth:7});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[9px]")).toEqual({borderLeftWidth:9});});});(0,_vitest.describe)("parseBorder - border style",function(){(0,_vitest.it)("should parse border styles",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-solid")).toEqual({borderStyle:"solid"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dotted")).toEqual({borderStyle:"dotted"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dashed")).toEqual({borderStyle:"dashed"});});});(0,_vitest.describe)("parseBorder - border radius all corners",function(){(0,_vitest.it)("should parse rounded shorthand",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded")).toEqual({borderRadius:4});});(0,_vitest.it)("should parse rounded with preset values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-none")).toEqual({borderRadius:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-sm")).toEqual({borderRadius:2});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-md")).toEqual({borderRadius:6});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-lg")).toEqual({borderRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-xl")).toEqual({borderRadius:12});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-2xl")).toEqual({borderRadius:16});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-3xl")).toEqual({borderRadius:24});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-full")).toEqual({borderRadius:9999});});(0,_vitest.it)("should parse rounded with arbitrary pixel values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[5px]")).toEqual({borderRadius:5});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[10px]")).toEqual({borderRadius:10});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[15]")).toEqual({borderRadius:15});});});(0,_vitest.describe)("parseBorder - border radius sides",function(){(0,_vitest.it)("should parse rounded top",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t")).toEqual({borderTopLeftRadius:4,borderTopRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-lg")).toEqual({borderTopLeftRadius:8,borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-[12px]")).toEqual({borderTopLeftRadius:12,borderTopRightRadius:12});});(0,_vitest.it)("should parse rounded right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r")).toEqual({borderTopRightRadius:4,borderBottomRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r-lg")).toEqual({borderTopRightRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r-[12px]")).toEqual({borderTopRightRadius:12,borderBottomRightRadius:12});});(0,_vitest.it)("should parse rounded bottom",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b")).toEqual({borderBottomLeftRadius:4,borderBottomRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b-lg")).toEqual({borderBottomLeftRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b-[12px]")).toEqual({borderBottomLeftRadius:12,borderBottomRightRadius:12});});(0,_vitest.it)("should parse rounded left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l")).toEqual({borderTopLeftRadius:4,borderBottomLeftRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l-lg")).toEqual({borderTopLeftRadius:8,borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l-[12px]")).toEqual({borderTopLeftRadius:12,borderBottomLeftRadius:12});});});(0,_vitest.describe)("parseBorder - border radius specific corners",function(){(0,_vitest.it)("should parse rounded top-left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl")).toEqual({borderTopLeftRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-lg")).toEqual({borderTopLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-[12px]")).toEqual({borderTopLeftRadius:12});});(0,_vitest.it)("should parse rounded top-right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr")).toEqual({borderTopRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr-lg")).toEqual({borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr-[12px]")).toEqual({borderTopRightRadius:12});});(0,_vitest.it)("should parse rounded bottom-left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl")).toEqual({borderBottomLeftRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl-lg")).toEqual({borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl-[12px]")).toEqual({borderBottomLeftRadius:12});});(0,_vitest.it)("should parse rounded bottom-right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br")).toEqual({borderBottomRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br-lg")).toEqual({borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br-[12px]")).toEqual({borderBottomRightRadius:12});});});(0,_vitest.describe)("parseBorder - edge cases",function(){(0,_vitest.it)("should return null for invalid classes",function(){(0,_vitest.expect)((0,_borders.parseBorder)("invalid")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("borders-4")).toBeNull();});(0,_vitest.it)("should return null for invalid border width values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-invalid")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-3")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-16")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-t-3")).toBeNull();});(0,_vitest.it)("should return null for invalid border radius values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-invalid")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-4xl")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-invalid")).toBeNull();});(0,_vitest.it)("should return null for arbitrary values with unsupported units",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[2rem]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-[1em]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[2rem]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[1em]")).toBeNull();});(0,_vitest.it)("should return null for malformed arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[8")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-8]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-[]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[12")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-12]")).toBeNull();});(0,_vitest.it)("should handle edge case values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-0")).toEqual({borderWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-0")).toEqual({borderTopWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-none")).toEqual({borderRadius:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-full")).toEqual({borderRadius:9999});});(0,_vitest.it)("should not match partial class names",function(){(0,_vitest.expect)((0,_borders.parseBorder)("myborder-4")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-solid-extra")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("myrounded-lg")).toBeNull();});});(0,_vitest.describe)("parseBorder - comprehensive coverage",function(){(0,_vitest.it)("should handle all border width directions with same value",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-2")).toEqual({borderWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-2")).toEqual({borderTopWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-2")).toEqual({borderRightWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-2")).toEqual({borderBottomWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-2")).toEqual({borderLeftWidth:2});});(0,_vitest.it)("should handle all border radius types with same value",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-lg")).toEqual({borderRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-lg")).toEqual({borderTopLeftRadius:8,borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r-lg")).toEqual({borderTopRightRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b-lg")).toEqual({borderBottomLeftRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l-lg")).toEqual({borderTopLeftRadius:8,borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-lg")).toEqual({borderTopLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr-lg")).toEqual({borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl-lg")).toEqual({borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br-lg")).toEqual({borderBottomRightRadius:8});});(0,_vitest.it)("should handle arbitrary values across all border width types",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[5px]")).toEqual({borderWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[5px]")).toEqual({borderTopWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[5px]")).toEqual({borderRightWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[5px]")).toEqual({borderBottomWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[5px]")).toEqual({borderLeftWidth:5});});(0,_vitest.it)("should handle arbitrary values across all border radius types",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[10px]")).toEqual({borderRadius:10});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-[10px]")).toEqual({borderTopLeftRadius:10,borderTopRightRadius:10});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-[10px]")).toEqual({borderTopLeftRadius:10});});(0,_vitest.it)("should handle all border styles",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-solid")).toEqual({borderStyle:"solid"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dotted")).toEqual({borderStyle:"dotted"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dashed")).toEqual({borderStyle:"dashed"});});(0,_vitest.it)("should handle shorthand classes correctly",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border")).toEqual({borderWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("rounded")).toEqual({borderRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-t")).toEqual({borderTopWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t")).toEqual({borderTopLeftRadius:4,borderTopRightRadius:4});});});(0,_vitest.describe)("parseBorder - color pattern detection",function(){(0,_vitest.it)("should return null for directional border colors with preset values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-red-500")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-blue-500")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-green-500")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-yellow-500")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with basic values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-white")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-black")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-transparent")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-white")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with arbitrary hex values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[#ff0000]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[#3B82F6]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[#abc]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[#00FF00AA]")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with opacity",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-red-500/50")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-blue-500/80")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[#ff0000]/60")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-black/25")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with custom colors",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-brand-primary")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-accent")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-brand-secondary")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-custom")).toBeNull();});(0,_vitest.it)("should still handle directional border widths correctly",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-2")).toEqual({borderTopWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-4")).toEqual({borderRightWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-8")).toEqual({borderBottomWidth:8});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-0")).toEqual({borderLeftWidth:0});});(0,_vitest.it)("should still handle directional border width arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[3px]")).toEqual({borderTopWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[5px]")).toEqual({borderRightWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[10]")).toEqual({borderBottomWidth:10});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[8px]")).toEqual({borderLeftWidth:8});});});
|
|
1
|
+
var _vitest=require("vitest");var _borders=require("./borders");(0,_vitest.describe)("BORDER_WIDTH_SCALE",function(){(0,_vitest.it)("should export complete border width scale",function(){(0,_vitest.expect)(_borders.BORDER_WIDTH_SCALE).toMatchSnapshot();});});(0,_vitest.describe)("BORDER_RADIUS_SCALE",function(){(0,_vitest.it)("should export complete border radius scale",function(){(0,_vitest.expect)(_borders.BORDER_RADIUS_SCALE).toMatchSnapshot();});});(0,_vitest.describe)("parseBorder - border width all sides",function(){(0,_vitest.it)("should parse border shorthand",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border")).toEqual({borderWidth:1});});(0,_vitest.it)("should parse border with preset values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-0")).toEqual({borderWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-2")).toEqual({borderWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-4")).toEqual({borderWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-8")).toEqual({borderWidth:8});});(0,_vitest.it)("should parse border with arbitrary pixel values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[1px]")).toEqual({borderWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-[1]")).toEqual({borderWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-[3px]")).toEqual({borderWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-[10px]")).toEqual({borderWidth:10});});});(0,_vitest.describe)("parseBorder - border width directional",function(){(0,_vitest.it)("should parse border top",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t")).toEqual({borderTopWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-0")).toEqual({borderTopWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-2")).toEqual({borderTopWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-4")).toEqual({borderTopWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-8")).toEqual({borderTopWidth:8});});(0,_vitest.it)("should parse border right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-r")).toEqual({borderRightWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-0")).toEqual({borderRightWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-2")).toEqual({borderRightWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-4")).toEqual({borderRightWidth:4});});(0,_vitest.it)("should parse border bottom",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-b")).toEqual({borderBottomWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-0")).toEqual({borderBottomWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-2")).toEqual({borderBottomWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-4")).toEqual({borderBottomWidth:4});});(0,_vitest.it)("should parse border left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-l")).toEqual({borderLeftWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-0")).toEqual({borderLeftWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-2")).toEqual({borderLeftWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-4")).toEqual({borderLeftWidth:4});});(0,_vitest.it)("should parse directional borders with arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[3px]")).toEqual({borderTopWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[5px]")).toEqual({borderRightWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[7px]")).toEqual({borderBottomWidth:7});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[9px]")).toEqual({borderLeftWidth:9});});});(0,_vitest.describe)("parseBorder - border style",function(){(0,_vitest.it)("should parse border styles",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-solid")).toEqual({borderStyle:"solid"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dotted")).toEqual({borderStyle:"dotted"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dashed")).toEqual({borderStyle:"dashed"});});});(0,_vitest.describe)("parseBorder - border radius all corners",function(){(0,_vitest.it)("should parse rounded shorthand",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded")).toEqual({borderRadius:4});});(0,_vitest.it)("should parse rounded with preset values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-none")).toEqual({borderRadius:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-sm")).toEqual({borderRadius:2});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-md")).toEqual({borderRadius:6});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-lg")).toEqual({borderRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-xl")).toEqual({borderRadius:12});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-2xl")).toEqual({borderRadius:16});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-3xl")).toEqual({borderRadius:24});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-full")).toEqual({borderRadius:9999});});(0,_vitest.it)("should parse rounded with arbitrary pixel values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[5px]")).toEqual({borderRadius:5});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[10px]")).toEqual({borderRadius:10});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[15]")).toEqual({borderRadius:15});});});(0,_vitest.describe)("parseBorder - border radius sides",function(){(0,_vitest.it)("should parse rounded top",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t")).toEqual({borderTopLeftRadius:4,borderTopRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-lg")).toEqual({borderTopLeftRadius:8,borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-[12px]")).toEqual({borderTopLeftRadius:12,borderTopRightRadius:12});});(0,_vitest.it)("should parse rounded right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r")).toEqual({borderTopRightRadius:4,borderBottomRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r-lg")).toEqual({borderTopRightRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r-[12px]")).toEqual({borderTopRightRadius:12,borderBottomRightRadius:12});});(0,_vitest.it)("should parse rounded bottom",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b")).toEqual({borderBottomLeftRadius:4,borderBottomRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b-lg")).toEqual({borderBottomLeftRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b-[12px]")).toEqual({borderBottomLeftRadius:12,borderBottomRightRadius:12});});(0,_vitest.it)("should parse rounded left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l")).toEqual({borderTopLeftRadius:4,borderBottomLeftRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l-lg")).toEqual({borderTopLeftRadius:8,borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l-[12px]")).toEqual({borderTopLeftRadius:12,borderBottomLeftRadius:12});});});(0,_vitest.describe)("parseBorder - border radius specific corners",function(){(0,_vitest.it)("should parse rounded top-left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl")).toEqual({borderTopLeftRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-lg")).toEqual({borderTopLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-[12px]")).toEqual({borderTopLeftRadius:12});});(0,_vitest.it)("should parse rounded top-right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr")).toEqual({borderTopRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr-lg")).toEqual({borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr-[12px]")).toEqual({borderTopRightRadius:12});});(0,_vitest.it)("should parse rounded bottom-left",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl")).toEqual({borderBottomLeftRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl-lg")).toEqual({borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl-[12px]")).toEqual({borderBottomLeftRadius:12});});(0,_vitest.it)("should parse rounded bottom-right",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br")).toEqual({borderBottomRightRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br-lg")).toEqual({borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br-[12px]")).toEqual({borderBottomRightRadius:12});});});(0,_vitest.describe)("parseBorder - edge cases",function(){(0,_vitest.it)("should return null for invalid classes",function(){(0,_vitest.expect)((0,_borders.parseBorder)("invalid")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("borders-4")).toBeNull();});(0,_vitest.it)("should return null for invalid border width values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-invalid")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-3")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-16")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-t-3")).toBeNull();});(0,_vitest.it)("should return null for invalid border radius values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-invalid")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-4xl")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-invalid")).toBeNull();});(0,_vitest.it)("should return null for arbitrary values with unsupported units",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[2rem]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-[1em]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[2rem]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[1em]")).toBeNull();});(0,_vitest.it)("should return null for malformed arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[8")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-8]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-[]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[12")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("rounded-12]")).toBeNull();});(0,_vitest.it)("should handle edge case values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-0")).toEqual({borderWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-0")).toEqual({borderTopWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-none")).toEqual({borderRadius:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-full")).toEqual({borderRadius:9999});});(0,_vitest.it)("should not match partial class names",function(){(0,_vitest.expect)((0,_borders.parseBorder)("myborder-4")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-solid-extra")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("myrounded-lg")).toBeNull();});});(0,_vitest.describe)("parseBorder - comprehensive coverage",function(){(0,_vitest.it)("should handle all border width directions with same value",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-2")).toEqual({borderWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-2")).toEqual({borderTopWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-2")).toEqual({borderRightWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-2")).toEqual({borderBottomWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-2")).toEqual({borderLeftWidth:2});});(0,_vitest.it)("should handle all border radius types with same value",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-lg")).toEqual({borderRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-lg")).toEqual({borderTopLeftRadius:8,borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-r-lg")).toEqual({borderTopRightRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-b-lg")).toEqual({borderBottomLeftRadius:8,borderBottomRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-l-lg")).toEqual({borderTopLeftRadius:8,borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-lg")).toEqual({borderTopLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tr-lg")).toEqual({borderTopRightRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-bl-lg")).toEqual({borderBottomLeftRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-br-lg")).toEqual({borderBottomRightRadius:8});});(0,_vitest.it)("should handle arbitrary values across all border width types",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-[5px]")).toEqual({borderWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[5px]")).toEqual({borderTopWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[5px]")).toEqual({borderRightWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[5px]")).toEqual({borderBottomWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[5px]")).toEqual({borderLeftWidth:5});});(0,_vitest.it)("should handle arbitrary values across all border radius types",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-[10px]")).toEqual({borderRadius:10});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t-[10px]")).toEqual({borderTopLeftRadius:10,borderTopRightRadius:10});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-tl-[10px]")).toEqual({borderTopLeftRadius:10});});(0,_vitest.it)("should handle all border styles",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-solid")).toEqual({borderStyle:"solid"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dotted")).toEqual({borderStyle:"dotted"});(0,_vitest.expect)((0,_borders.parseBorder)("border-dashed")).toEqual({borderStyle:"dashed"});});(0,_vitest.it)("should handle shorthand classes correctly",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border")).toEqual({borderWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("rounded")).toEqual({borderRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-t")).toEqual({borderTopWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-t")).toEqual({borderTopLeftRadius:4,borderTopRightRadius:4});});});(0,_vitest.describe)("parseBorder - color pattern detection",function(){(0,_vitest.it)("should return null for directional border colors with preset values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-red-500")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-blue-500")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-green-500")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-yellow-500")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with basic values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-white")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-black")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-transparent")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-white")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with arbitrary hex values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[#ff0000]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[#3B82F6]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[#abc]")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[#00FF00AA]")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with opacity",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-red-500/50")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-blue-500/80")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[#ff0000]/60")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-black/25")).toBeNull();});(0,_vitest.it)("should return null for directional border colors with custom colors",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-brand-primary")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-r-accent")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-b-brand-secondary")).toBeNull();(0,_vitest.expect)((0,_borders.parseBorder)("border-l-custom")).toBeNull();});(0,_vitest.it)("should still handle directional border widths correctly",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-2")).toEqual({borderTopWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-4")).toEqual({borderRightWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-8")).toEqual({borderBottomWidth:8});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-0")).toEqual({borderLeftWidth:0});});(0,_vitest.it)("should still handle directional border width arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-t-[3px]")).toEqual({borderTopWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-r-[5px]")).toEqual({borderRightWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-b-[10]")).toEqual({borderBottomWidth:10});(0,_vitest.expect)((0,_borders.parseBorder)("border-l-[8px]")).toEqual({borderLeftWidth:8});});});(0,_vitest.describe)("parseBorder - logical border width (RTL-aware)",function(){(0,_vitest.it)("should parse border start width",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-s")).toEqual({borderStartWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-s-0")).toEqual({borderStartWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-s-2")).toEqual({borderStartWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-s-4")).toEqual({borderStartWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-s-8")).toEqual({borderStartWidth:8});});(0,_vitest.it)("should parse border end width",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-e")).toEqual({borderEndWidth:1});(0,_vitest.expect)((0,_borders.parseBorder)("border-e-0")).toEqual({borderEndWidth:0});(0,_vitest.expect)((0,_borders.parseBorder)("border-e-2")).toEqual({borderEndWidth:2});(0,_vitest.expect)((0,_borders.parseBorder)("border-e-4")).toEqual({borderEndWidth:4});(0,_vitest.expect)((0,_borders.parseBorder)("border-e-8")).toEqual({borderEndWidth:8});});(0,_vitest.it)("should parse border start/end with arbitrary values",function(){(0,_vitest.expect)((0,_borders.parseBorder)("border-s-[3px]")).toEqual({borderStartWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-s-[5]")).toEqual({borderStartWidth:5});(0,_vitest.expect)((0,_borders.parseBorder)("border-e-[3px]")).toEqual({borderEndWidth:3});(0,_vitest.expect)((0,_borders.parseBorder)("border-e-[5]")).toEqual({borderEndWidth:5});});});(0,_vitest.describe)("parseBorder - logical border radius sides (RTL-aware)",function(){(0,_vitest.it)("should parse rounded start (both top and bottom start corners)",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-s")).toEqual({borderTopStartRadius:4,borderBottomStartRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-s-lg")).toEqual({borderTopStartRadius:8,borderBottomStartRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-s-[12px]")).toEqual({borderTopStartRadius:12,borderBottomStartRadius:12});});(0,_vitest.it)("should parse rounded end (both top and bottom end corners)",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-e")).toEqual({borderTopEndRadius:4,borderBottomEndRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-e-lg")).toEqual({borderTopEndRadius:8,borderBottomEndRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-e-[12px]")).toEqual({borderTopEndRadius:12,borderBottomEndRadius:12});});});(0,_vitest.describe)("parseBorder - logical border radius corners (RTL-aware)",function(){(0,_vitest.it)("should parse rounded start-start (top-start corner)",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ss")).toEqual({borderTopStartRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ss-lg")).toEqual({borderTopStartRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ss-[12px]")).toEqual({borderTopStartRadius:12});});(0,_vitest.it)("should parse rounded start-end (top-end corner)",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-se")).toEqual({borderTopEndRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-se-lg")).toEqual({borderTopEndRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-se-[12px]")).toEqual({borderTopEndRadius:12});});(0,_vitest.it)("should parse rounded end-start (bottom-start corner)",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-es")).toEqual({borderBottomStartRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-es-lg")).toEqual({borderBottomStartRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-es-[12px]")).toEqual({borderBottomStartRadius:12});});(0,_vitest.it)("should parse rounded end-end (bottom-end corner)",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ee")).toEqual({borderBottomEndRadius:4});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ee-lg")).toEqual({borderBottomEndRadius:8});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ee-[12px]")).toEqual({borderBottomEndRadius:12});});(0,_vitest.it)("should parse all logical corners with different sizes",function(){(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ss-none")).toEqual({borderTopStartRadius:0});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-se-sm")).toEqual({borderTopEndRadius:2});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-es-md")).toEqual({borderBottomStartRadius:6});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ee-xl")).toEqual({borderBottomEndRadius:12});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-ss-2xl")).toEqual({borderTopStartRadius:16});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-se-3xl")).toEqual({borderTopEndRadius:24});(0,_vitest.expect)((0,_borders.parseBorder)("rounded-es-full")).toEqual({borderBottomStartRadius:9999});});});
|
package/dist/parser/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type CustomTheme = {
|
|
|
10
10
|
colors?: Record<string, string>;
|
|
11
11
|
fontFamily?: Record<string, string>;
|
|
12
12
|
fontSize?: Record<string, number>;
|
|
13
|
+
spacing?: Record<string, number>;
|
|
13
14
|
};
|
|
14
15
|
/**
|
|
15
16
|
* Parse a className string and return a React Native style object
|
|
@@ -35,5 +36,5 @@ export { parseSizing } from "./sizing";
|
|
|
35
36
|
export { parseSpacing } from "./spacing";
|
|
36
37
|
export { parseTransform } from "./transforms";
|
|
37
38
|
export { parseTypography } from "./typography";
|
|
38
|
-
export { expandSchemeModifier, hasModifier, isColorClass, isColorSchemeModifier, isPlatformModifier, isSchemeModifier, isStateModifier, parseModifier, splitModifierClasses, } from "./modifiers";
|
|
39
|
-
export type { ColorSchemeModifierType, ModifierType, ParsedModifier, PlatformModifierType, SchemeModifierType, StateModifierType, } from "./modifiers";
|
|
39
|
+
export { expandSchemeModifier, hasModifier, isColorClass, isColorSchemeModifier, isDirectionalModifier, isPlatformModifier, isSchemeModifier, isStateModifier, parseModifier, splitModifierClasses, } from "./modifiers";
|
|
40
|
+
export type { ColorSchemeModifierType, DirectionalModifierType, ModifierType, ParsedModifier, PlatformModifierType, SchemeModifierType, StateModifierType, } from "./modifiers";
|
package/dist/parser/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"expandSchemeModifier",{enumerable:true,get:function get(){return _modifiers.expandSchemeModifier;}});Object.defineProperty(exports,"hasModifier",{enumerable:true,get:function get(){return _modifiers.hasModifier;}});Object.defineProperty(exports,"isColorClass",{enumerable:true,get:function get(){return _modifiers.isColorClass;}});Object.defineProperty(exports,"isColorSchemeModifier",{enumerable:true,get:function get(){return _modifiers.isColorSchemeModifier;}});Object.defineProperty(exports,"isPlatformModifier",{enumerable:true,get:function get(){return _modifiers.isPlatformModifier;}});Object.defineProperty(exports,"isSchemeModifier",{enumerable:true,get:function get(){return _modifiers.isSchemeModifier;}});Object.defineProperty(exports,"isStateModifier",{enumerable:true,get:function get(){return _modifiers.isStateModifier;}});Object.defineProperty(exports,"parseAspectRatio",{enumerable:true,get:function get(){return _aspectRatio.parseAspectRatio;}});Object.defineProperty(exports,"parseBorder",{enumerable:true,get:function get(){return _borders.parseBorder;}});exports.parseClass=parseClass;exports.parseClassName=parseClassName;Object.defineProperty(exports,"parseColor",{enumerable:true,get:function get(){return _colors.parseColor;}});Object.defineProperty(exports,"parseLayout",{enumerable:true,get:function get(){return _layout.parseLayout;}});Object.defineProperty(exports,"parseModifier",{enumerable:true,get:function get(){return _modifiers.parseModifier;}});Object.defineProperty(exports,"parsePlaceholderClass",{enumerable:true,get:function get(){return _placeholder.parsePlaceholderClass;}});Object.defineProperty(exports,"parsePlaceholderClasses",{enumerable:true,get:function get(){return _placeholder.parsePlaceholderClasses;}});Object.defineProperty(exports,"parseShadow",{enumerable:true,get:function get(){return _shadows.parseShadow;}});Object.defineProperty(exports,"parseSizing",{enumerable:true,get:function get(){return _sizing.parseSizing;}});Object.defineProperty(exports,"parseSpacing",{enumerable:true,get:function get(){return _spacing.parseSpacing;}});Object.defineProperty(exports,"parseTransform",{enumerable:true,get:function get(){return _transforms.parseTransform;}});Object.defineProperty(exports,"parseTypography",{enumerable:true,get:function get(){return _typography.parseTypography;}});Object.defineProperty(exports,"splitModifierClasses",{enumerable:true,get:function get(){return _modifiers.splitModifierClasses;}});var _aspectRatio=require("./aspectRatio");var _borders=require("./borders");var _colors=require("./colors");var _layout=require("./layout");var _shadows=require("./shadows");var _sizing=require("./sizing");var _spacing=require("./spacing");var _transforms=require("./transforms");var _typography=require("./typography");var _placeholder=require("./placeholder");var _modifiers=require("./modifiers");function parseClassName(className,customTheme){var classes=className.split(/\s+/).filter(Boolean);var style={};for(var cls of classes){var parsedStyle=parseClass(cls,customTheme);Object.assign(style,parsedStyle);}return style;}function parseClass(cls,customTheme){var parsers=[_spacing.parseSpacing,function(cls){return(0,_borders.parseBorder)(cls,customTheme==null?void 0:customTheme.colors);},function(cls){return(0,_colors.parseColor)(cls,customTheme==null?void 0:customTheme.colors);},_layout.parseLayout,function(cls){return(0,_typography.parseTypography)(cls,customTheme==null?void 0:customTheme.fontFamily,customTheme==null?void 0:customTheme.fontSize);},_sizing.parseSizing,_shadows.parseShadow,_aspectRatio.parseAspectRatio,_transforms.parseTransform];for(var parser of parsers){var result=parser(cls);if(result!==null){return result;}}if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Unknown class: "${cls}"`);}return{};}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"expandSchemeModifier",{enumerable:true,get:function get(){return _modifiers.expandSchemeModifier;}});Object.defineProperty(exports,"hasModifier",{enumerable:true,get:function get(){return _modifiers.hasModifier;}});Object.defineProperty(exports,"isColorClass",{enumerable:true,get:function get(){return _modifiers.isColorClass;}});Object.defineProperty(exports,"isColorSchemeModifier",{enumerable:true,get:function get(){return _modifiers.isColorSchemeModifier;}});Object.defineProperty(exports,"isDirectionalModifier",{enumerable:true,get:function get(){return _modifiers.isDirectionalModifier;}});Object.defineProperty(exports,"isPlatformModifier",{enumerable:true,get:function get(){return _modifiers.isPlatformModifier;}});Object.defineProperty(exports,"isSchemeModifier",{enumerable:true,get:function get(){return _modifiers.isSchemeModifier;}});Object.defineProperty(exports,"isStateModifier",{enumerable:true,get:function get(){return _modifiers.isStateModifier;}});Object.defineProperty(exports,"parseAspectRatio",{enumerable:true,get:function get(){return _aspectRatio.parseAspectRatio;}});Object.defineProperty(exports,"parseBorder",{enumerable:true,get:function get(){return _borders.parseBorder;}});exports.parseClass=parseClass;exports.parseClassName=parseClassName;Object.defineProperty(exports,"parseColor",{enumerable:true,get:function get(){return _colors.parseColor;}});Object.defineProperty(exports,"parseLayout",{enumerable:true,get:function get(){return _layout.parseLayout;}});Object.defineProperty(exports,"parseModifier",{enumerable:true,get:function get(){return _modifiers.parseModifier;}});Object.defineProperty(exports,"parsePlaceholderClass",{enumerable:true,get:function get(){return _placeholder.parsePlaceholderClass;}});Object.defineProperty(exports,"parsePlaceholderClasses",{enumerable:true,get:function get(){return _placeholder.parsePlaceholderClasses;}});Object.defineProperty(exports,"parseShadow",{enumerable:true,get:function get(){return _shadows.parseShadow;}});Object.defineProperty(exports,"parseSizing",{enumerable:true,get:function get(){return _sizing.parseSizing;}});Object.defineProperty(exports,"parseSpacing",{enumerable:true,get:function get(){return _spacing.parseSpacing;}});Object.defineProperty(exports,"parseTransform",{enumerable:true,get:function get(){return _transforms.parseTransform;}});Object.defineProperty(exports,"parseTypography",{enumerable:true,get:function get(){return _typography.parseTypography;}});Object.defineProperty(exports,"splitModifierClasses",{enumerable:true,get:function get(){return _modifiers.splitModifierClasses;}});var _aspectRatio=require("./aspectRatio");var _borders=require("./borders");var _colors=require("./colors");var _layout=require("./layout");var _shadows=require("./shadows");var _sizing=require("./sizing");var _spacing=require("./spacing");var _transforms=require("./transforms");var _typography=require("./typography");var _placeholder=require("./placeholder");var _modifiers=require("./modifiers");function parseClassName(className,customTheme){var classes=className.split(/\s+/).filter(Boolean);var style={};for(var cls of classes){var parsedStyle=parseClass(cls,customTheme);Object.assign(style,parsedStyle);}return style;}function parseClass(cls,customTheme){var parsers=[function(cls){return(0,_spacing.parseSpacing)(cls,customTheme==null?void 0:customTheme.spacing);},function(cls){return(0,_borders.parseBorder)(cls,customTheme==null?void 0:customTheme.colors);},function(cls){return(0,_colors.parseColor)(cls,customTheme==null?void 0:customTheme.colors);},function(cls){return(0,_layout.parseLayout)(cls,customTheme==null?void 0:customTheme.spacing);},function(cls){return(0,_typography.parseTypography)(cls,customTheme==null?void 0:customTheme.fontFamily,customTheme==null?void 0:customTheme.fontSize);},function(cls){return(0,_sizing.parseSizing)(cls,customTheme==null?void 0:customTheme.spacing);},_shadows.parseShadow,_aspectRatio.parseAspectRatio,function(cls){return(0,_transforms.parseTransform)(cls,customTheme==null?void 0:customTheme.spacing);}];for(var parser of parsers){var result=parser(cls);if(result!==null){return result;}}if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Unknown class: "${cls}"`);}return{};}
|
package/dist/parser/layout.d.ts
CHANGED
|
@@ -6,5 +6,7 @@ export declare const Z_INDEX_SCALE: Record<string, number>;
|
|
|
6
6
|
export declare const INSET_SCALE: Record<string, number>;
|
|
7
7
|
/**
|
|
8
8
|
* Parse layout classes
|
|
9
|
+
* @param cls - The class name to parse
|
|
10
|
+
* @param customSpacing - Optional custom spacing values from tailwind.config (for inset utilities)
|
|
9
11
|
*/
|
|
10
|
-
export declare function parseLayout(cls: string): StyleObject | null;
|
|
12
|
+
export declare function parseLayout(cls: string, customSpacing?: Record<string, number>): StyleObject | null;
|
package/dist/parser/layout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.Z_INDEX_SCALE=exports.INSET_SCALE=void 0;exports.parseLayout=parseLayout;function parseArbitraryInset(value){var pxMatch=value.match(/^\[(-?\d+)(?:px)?\]$/);if(pxMatch){return parseInt(pxMatch[1],10);}var percentMatch=value.match(/^\[(-?\d+(?:\.\d+)?)%\]$/);if(percentMatch){return`${percentMatch[1]}%`;}if(value.startsWith("[")&&value.endsWith("]")){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Unsupported arbitrary inset unit: ${value}. Only px and % are supported.`);}return null;}return null;}function parseArbitraryZIndex(value){var zMatch=value.match(/^\[(-?\d+)\]$/);if(zMatch){return parseInt(zMatch[1],10);}if(value.startsWith("[")&&value.endsWith("]")){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Invalid arbitrary z-index: ${value}. Only integers are supported.`);}return null;}return null;}function parseArbitraryGrowShrink(value){var match=value.match(/^\[(\d+(?:\.\d+)?|\.\d+)\]$/);if(match){return parseFloat(match[1]);}if(value.startsWith("[")&&value.endsWith("]")){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Invalid arbitrary grow/shrink value: ${value}. Only non-negative numbers are supported (e.g., [1.5], [2], [0.5], [.5]).`);}return null;}return null;}var DISPLAY_MAP={flex:{display:"flex"},hidden:{display:"none"}};var FLEX_DIRECTION_MAP={"flex-row":{flexDirection:"row"},"flex-row-reverse":{flexDirection:"row-reverse"},"flex-col":{flexDirection:"column"},"flex-col-reverse":{flexDirection:"column-reverse"}};var FLEX_WRAP_MAP={"flex-wrap":{flexWrap:"wrap"},"flex-wrap-reverse":{flexWrap:"wrap-reverse"},"flex-nowrap":{flexWrap:"nowrap"}};var FLEX_MAP={"flex-1":{flex:1},"flex-auto":{flex:1},"flex-none":{flex:0}};var GROW_SHRINK_MAP={grow:{flexGrow:1},"grow-0":{flexGrow:0},shrink:{flexShrink:1},"shrink-0":{flexShrink:0},"flex-grow":{flexGrow:1},"flex-grow-0":{flexGrow:0},"flex-shrink":{flexShrink:1},"flex-shrink-0":{flexShrink:0}};var JUSTIFY_CONTENT_MAP={"justify-start":{justifyContent:"flex-start"},"justify-end":{justifyContent:"flex-end"},"justify-center":{justifyContent:"center"},"justify-between":{justifyContent:"space-between"},"justify-around":{justifyContent:"space-around"},"justify-evenly":{justifyContent:"space-evenly"}};var ALIGN_ITEMS_MAP={"items-start":{alignItems:"flex-start"},"items-end":{alignItems:"flex-end"},"items-center":{alignItems:"center"},"items-baseline":{alignItems:"baseline"},"items-stretch":{alignItems:"stretch"}};var ALIGN_SELF_MAP={"self-auto":{alignSelf:"auto"},"self-start":{alignSelf:"flex-start"},"self-end":{alignSelf:"flex-end"},"self-center":{alignSelf:"center"},"self-stretch":{alignSelf:"stretch"},"self-baseline":{alignSelf:"baseline"}};var ALIGN_CONTENT_MAP={"content-start":{alignContent:"flex-start"},"content-end":{alignContent:"flex-end"},"content-center":{alignContent:"center"},"content-between":{alignContent:"space-between"},"content-around":{alignContent:"space-around"},"content-stretch":{alignContent:"stretch"}};var POSITION_MAP={absolute:{position:"absolute"},relative:{position:"relative"}};var OVERFLOW_MAP={"overflow-hidden":{overflow:"hidden"},"overflow-visible":{overflow:"visible"},"overflow-scroll":{overflow:"scroll"}};var OPACITY_MAP={"opacity-0":{opacity:0},"opacity-5":{opacity:0.05},"opacity-10":{opacity:0.1},"opacity-15":{opacity:0.15},"opacity-20":{opacity:0.2},"opacity-25":{opacity:0.25},"opacity-30":{opacity:0.3},"opacity-35":{opacity:0.35},"opacity-40":{opacity:0.4},"opacity-45":{opacity:0.45},"opacity-50":{opacity:0.5},"opacity-55":{opacity:0.55},"opacity-60":{opacity:0.6},"opacity-65":{opacity:0.65},"opacity-70":{opacity:0.7},"opacity-75":{opacity:0.75},"opacity-80":{opacity:0.8},"opacity-85":{opacity:0.85},"opacity-90":{opacity:0.9},"opacity-95":{opacity:0.95},"opacity-100":{opacity:1}};var Z_INDEX_SCALE=exports.Z_INDEX_SCALE={0:0,10:10,20:20,30:30,40:40,50:50,auto:0};var INSET_SCALE=exports.INSET_SCALE={0:0,0.5:2,1:4,1.5:6,2:8,2.5:10,3:12,3.5:14,4:16,5:20,6:24,8:32,10:40,12:48,16:64,20:80,24:96};function parseLayout(cls){var _ref,_ref2,_ref3,_ref4,_ref5,_ref6,_ref7,_ref8,_ref9,_ref0,_ref1,_DISPLAY_MAP$cls;if(cls.startsWith("z-")){var zKey=cls.substring(2);var arbitraryZ=parseArbitraryZIndex(zKey);if(arbitraryZ!==null){return{zIndex:arbitraryZ};}var zValue=Z_INDEX_SCALE[zKey];if(zValue!==undefined){return{zIndex:zValue};}}if(cls.startsWith("top-")){var topKey=cls.substring(4);if(topKey==="auto"){return{};}var arbitraryTop=parseArbitraryInset(topKey);if(arbitraryTop!==null){return{top:arbitraryTop};}var topValue=
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Z_INDEX_SCALE=exports.INSET_SCALE=void 0;exports.parseLayout=parseLayout;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));function parseArbitraryInset(value){var pxMatch=value.match(/^\[(-?\d+)(?:px)?\]$/);if(pxMatch){return parseInt(pxMatch[1],10);}var percentMatch=value.match(/^\[(-?\d+(?:\.\d+)?)%\]$/);if(percentMatch){return`${percentMatch[1]}%`;}if(value.startsWith("[")&&value.endsWith("]")){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Unsupported arbitrary inset unit: ${value}. Only px and % are supported.`);}return null;}return null;}function parseArbitraryZIndex(value){var zMatch=value.match(/^\[(-?\d+)\]$/);if(zMatch){return parseInt(zMatch[1],10);}if(value.startsWith("[")&&value.endsWith("]")){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Invalid arbitrary z-index: ${value}. Only integers are supported.`);}return null;}return null;}function parseArbitraryGrowShrink(value){var match=value.match(/^\[(\d+(?:\.\d+)?|\.\d+)\]$/);if(match){return parseFloat(match[1]);}if(value.startsWith("[")&&value.endsWith("]")){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] Invalid arbitrary grow/shrink value: ${value}. Only non-negative numbers are supported (e.g., [1.5], [2], [0.5], [.5]).`);}return null;}return null;}var DISPLAY_MAP={flex:{display:"flex"},hidden:{display:"none"}};var FLEX_DIRECTION_MAP={"flex-row":{flexDirection:"row"},"flex-row-reverse":{flexDirection:"row-reverse"},"flex-col":{flexDirection:"column"},"flex-col-reverse":{flexDirection:"column-reverse"}};var FLEX_WRAP_MAP={"flex-wrap":{flexWrap:"wrap"},"flex-wrap-reverse":{flexWrap:"wrap-reverse"},"flex-nowrap":{flexWrap:"nowrap"}};var FLEX_MAP={"flex-1":{flex:1},"flex-auto":{flex:1},"flex-none":{flex:0}};var GROW_SHRINK_MAP={grow:{flexGrow:1},"grow-0":{flexGrow:0},shrink:{flexShrink:1},"shrink-0":{flexShrink:0},"flex-grow":{flexGrow:1},"flex-grow-0":{flexGrow:0},"flex-shrink":{flexShrink:1},"flex-shrink-0":{flexShrink:0}};var JUSTIFY_CONTENT_MAP={"justify-start":{justifyContent:"flex-start"},"justify-end":{justifyContent:"flex-end"},"justify-center":{justifyContent:"center"},"justify-between":{justifyContent:"space-between"},"justify-around":{justifyContent:"space-around"},"justify-evenly":{justifyContent:"space-evenly"}};var ALIGN_ITEMS_MAP={"items-start":{alignItems:"flex-start"},"items-end":{alignItems:"flex-end"},"items-center":{alignItems:"center"},"items-baseline":{alignItems:"baseline"},"items-stretch":{alignItems:"stretch"}};var ALIGN_SELF_MAP={"self-auto":{alignSelf:"auto"},"self-start":{alignSelf:"flex-start"},"self-end":{alignSelf:"flex-end"},"self-center":{alignSelf:"center"},"self-stretch":{alignSelf:"stretch"},"self-baseline":{alignSelf:"baseline"}};var ALIGN_CONTENT_MAP={"content-start":{alignContent:"flex-start"},"content-end":{alignContent:"flex-end"},"content-center":{alignContent:"center"},"content-between":{alignContent:"space-between"},"content-around":{alignContent:"space-around"},"content-stretch":{alignContent:"stretch"}};var POSITION_MAP={absolute:{position:"absolute"},relative:{position:"relative"}};var OVERFLOW_MAP={"overflow-hidden":{overflow:"hidden"},"overflow-visible":{overflow:"visible"},"overflow-scroll":{overflow:"scroll"}};var OPACITY_MAP={"opacity-0":{opacity:0},"opacity-5":{opacity:0.05},"opacity-10":{opacity:0.1},"opacity-15":{opacity:0.15},"opacity-20":{opacity:0.2},"opacity-25":{opacity:0.25},"opacity-30":{opacity:0.3},"opacity-35":{opacity:0.35},"opacity-40":{opacity:0.4},"opacity-45":{opacity:0.45},"opacity-50":{opacity:0.5},"opacity-55":{opacity:0.55},"opacity-60":{opacity:0.6},"opacity-65":{opacity:0.65},"opacity-70":{opacity:0.7},"opacity-75":{opacity:0.75},"opacity-80":{opacity:0.8},"opacity-85":{opacity:0.85},"opacity-90":{opacity:0.9},"opacity-95":{opacity:0.95},"opacity-100":{opacity:1}};var Z_INDEX_SCALE=exports.Z_INDEX_SCALE={0:0,10:10,20:20,30:30,40:40,50:50,auto:0};var INSET_SCALE=exports.INSET_SCALE={0:0,0.5:2,1:4,1.5:6,2:8,2.5:10,3:12,3.5:14,4:16,5:20,6:24,8:32,10:40,12:48,16:64,20:80,24:96};function parseLayout(cls,customSpacing){var _ref,_ref2,_ref3,_ref4,_ref5,_ref6,_ref7,_ref8,_ref9,_ref0,_ref1,_DISPLAY_MAP$cls;var insetMap=customSpacing?Object.assign({},INSET_SCALE,customSpacing):INSET_SCALE;if(cls.startsWith("z-")){var zKey=cls.substring(2);var arbitraryZ=parseArbitraryZIndex(zKey);if(arbitraryZ!==null){return{zIndex:arbitraryZ};}var zValue=Z_INDEX_SCALE[zKey];if(zValue!==undefined){return{zIndex:zValue};}}if(cls.startsWith("top-")){var topKey=cls.substring(4);if(topKey==="auto"){return{};}var arbitraryTop=parseArbitraryInset(topKey);if(arbitraryTop!==null){return{top:arbitraryTop};}var topValue=insetMap[topKey];if(topValue!==undefined){return{top:topValue};}}if(cls.startsWith("right-")){var rightKey=cls.substring(6);if(rightKey==="auto"){return{};}var arbitraryRight=parseArbitraryInset(rightKey);if(arbitraryRight!==null){return{right:arbitraryRight};}var rightValue=insetMap[rightKey];if(rightValue!==undefined){return{right:rightValue};}}if(cls.startsWith("bottom-")){var bottomKey=cls.substring(7);if(bottomKey==="auto"){return{};}var arbitraryBottom=parseArbitraryInset(bottomKey);if(arbitraryBottom!==null){return{bottom:arbitraryBottom};}var bottomValue=insetMap[bottomKey];if(bottomValue!==undefined){return{bottom:bottomValue};}}if(cls.startsWith("left-")){var leftKey=cls.substring(5);if(leftKey==="auto"){return{};}var arbitraryLeft=parseArbitraryInset(leftKey);if(arbitraryLeft!==null){return{left:arbitraryLeft};}var leftValue=insetMap[leftKey];if(leftValue!==undefined){return{left:leftValue};}}var startMatch=cls.match(/^(-?)start-(.+)$/);if(startMatch){var _startMatch=(0,_slicedToArray2.default)(startMatch,3),negPrefix=_startMatch[1],startKey=_startMatch[2];var isNegative=negPrefix==="-";if(startKey==="auto"){return{};}var arbitraryStart=parseArbitraryInset(startKey);if(arbitraryStart!==null){if(typeof arbitraryStart==="number"){return{start:isNegative?-arbitraryStart:arbitraryStart};}if(isNegative&&arbitraryStart.endsWith("%")){var numValue=parseFloat(arbitraryStart);return{start:`${-numValue}%`};}return{start:arbitraryStart};}var startValue=insetMap[startKey];if(startValue!==undefined){return{start:isNegative?-startValue:startValue};}}var endMatch=cls.match(/^(-?)end-(.+)$/);if(endMatch){var _endMatch=(0,_slicedToArray2.default)(endMatch,3),_negPrefix=_endMatch[1],endKey=_endMatch[2];var _isNegative=_negPrefix==="-";if(endKey==="auto"){return{};}var arbitraryEnd=parseArbitraryInset(endKey);if(arbitraryEnd!==null){if(typeof arbitraryEnd==="number"){return{end:_isNegative?-arbitraryEnd:arbitraryEnd};}if(_isNegative&&arbitraryEnd.endsWith("%")){var _numValue=parseFloat(arbitraryEnd);return{end:`${-_numValue}%`};}return{end:arbitraryEnd};}var endValue=insetMap[endKey];if(endValue!==undefined){return{end:_isNegative?-endValue:endValue};}}if(cls.startsWith("inset-x-")){var insetKey=cls.substring(8);var arbitraryInset=parseArbitraryInset(insetKey);if(arbitraryInset!==null){return{left:arbitraryInset,right:arbitraryInset};}var insetValue=insetMap[insetKey];if(insetValue!==undefined){return{left:insetValue,right:insetValue};}}if(cls.startsWith("inset-y-")){var _insetKey=cls.substring(8);var _arbitraryInset=parseArbitraryInset(_insetKey);if(_arbitraryInset!==null){return{top:_arbitraryInset,bottom:_arbitraryInset};}var _insetValue=insetMap[_insetKey];if(_insetValue!==undefined){return{top:_insetValue,bottom:_insetValue};}}if(cls.startsWith("inset-s-")){var _insetKey2=cls.substring(8);var _arbitraryInset2=parseArbitraryInset(_insetKey2);if(_arbitraryInset2!==null){return{start:_arbitraryInset2};}var _insetValue2=insetMap[_insetKey2];if(_insetValue2!==undefined){return{start:_insetValue2};}}if(cls.startsWith("inset-e-")){var _insetKey3=cls.substring(8);var _arbitraryInset3=parseArbitraryInset(_insetKey3);if(_arbitraryInset3!==null){return{end:_arbitraryInset3};}var _insetValue3=insetMap[_insetKey3];if(_insetValue3!==undefined){return{end:_insetValue3};}}if(cls.startsWith("inset-")){var _insetKey4=cls.substring(6);var _arbitraryInset4=parseArbitraryInset(_insetKey4);if(_arbitraryInset4!==null){return{top:_arbitraryInset4,right:_arbitraryInset4,bottom:_arbitraryInset4,left:_arbitraryInset4};}var _insetValue4=insetMap[_insetKey4];if(_insetValue4!==undefined){return{top:_insetValue4,right:_insetValue4,bottom:_insetValue4,left:_insetValue4};}}if(cls.startsWith("grow-")||cls.startsWith("flex-grow-")){var prefix=cls.startsWith("flex-grow-")?"flex-grow-":"grow-";var growKey=cls.substring(prefix.length);var arbitraryGrow=parseArbitraryGrowShrink(growKey);if(arbitraryGrow!==null){return{flexGrow:arbitraryGrow};}}if(cls.startsWith("shrink-")||cls.startsWith("flex-shrink-")){var _prefix=cls.startsWith("flex-shrink-")?"flex-shrink-":"shrink-";var shrinkKey=cls.substring(_prefix.length);var arbitraryShrink=parseArbitraryGrowShrink(shrinkKey);if(arbitraryShrink!==null){return{flexShrink:arbitraryShrink};}}return(_ref=(_ref2=(_ref3=(_ref4=(_ref5=(_ref6=(_ref7=(_ref8=(_ref9=(_ref0=(_ref1=(_DISPLAY_MAP$cls=DISPLAY_MAP[cls])!=null?_DISPLAY_MAP$cls:FLEX_DIRECTION_MAP[cls])!=null?_ref1:FLEX_WRAP_MAP[cls])!=null?_ref0:FLEX_MAP[cls])!=null?_ref9:GROW_SHRINK_MAP[cls])!=null?_ref8:JUSTIFY_CONTENT_MAP[cls])!=null?_ref7:ALIGN_ITEMS_MAP[cls])!=null?_ref6:ALIGN_SELF_MAP[cls])!=null?_ref5:ALIGN_CONTENT_MAP[cls])!=null?_ref4:POSITION_MAP[cls])!=null?_ref3:OVERFLOW_MAP[cls])!=null?_ref2:OPACITY_MAP[cls])!=null?_ref:null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vitest=require("vitest");var _layout=require("./layout");(0,_vitest.describe)("parseLayout - display utilities",function(){(0,_vitest.it)("should parse display flex",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex")).toEqual({display:"flex"});});(0,_vitest.it)("should parse display hidden",function(){(0,_vitest.expect)((0,_layout.parseLayout)("hidden")).toEqual({display:"none"});});});(0,_vitest.describe)("parseLayout - flex direction utilities",function(){(0,_vitest.it)("should parse flex row",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-row")).toEqual({flexDirection:"row"});});(0,_vitest.it)("should parse flex row reverse",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-row-reverse")).toEqual({flexDirection:"row-reverse"});});(0,_vitest.it)("should parse flex column",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-col")).toEqual({flexDirection:"column"});});(0,_vitest.it)("should parse flex column reverse",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-col-reverse")).toEqual({flexDirection:"column-reverse"});});});(0,_vitest.describe)("parseLayout - flex wrap utilities",function(){(0,_vitest.it)("should parse flex wrap",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-wrap")).toEqual({flexWrap:"wrap"});});(0,_vitest.it)("should parse flex wrap reverse",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-wrap-reverse")).toEqual({flexWrap:"wrap-reverse"});});(0,_vitest.it)("should parse flex nowrap",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-nowrap")).toEqual({flexWrap:"nowrap"});});});(0,_vitest.describe)("parseLayout - flex utilities",function(){(0,_vitest.it)("should parse flex-1",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-1")).toEqual({flex:1});});(0,_vitest.it)("should parse flex-auto",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-auto")).toEqual({flex:1});});(0,_vitest.it)("should parse flex-none",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-none")).toEqual({flex:0});});});(0,_vitest.describe)("parseLayout - flex grow/shrink utilities",function(){(0,_vitest.it)("should parse grow",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow")).toEqual({flexGrow:1});});(0,_vitest.it)("should parse grow-0",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-0")).toEqual({flexGrow:0});});(0,_vitest.it)("should parse shrink",function(){(0,_vitest.expect)((0,_layout.parseLayout)("shrink")).toEqual({flexShrink:1});});(0,_vitest.it)("should parse shrink-0",function(){(0,_vitest.expect)((0,_layout.parseLayout)("shrink-0")).toEqual({flexShrink:0});});(0,_vitest.it)("should parse grow with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[1.5]")).toEqual({flexGrow:1.5});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[2]")).toEqual({flexGrow:2});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[0.5]")).toEqual({flexGrow:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[3]")).toEqual({flexGrow:3});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[0]")).toEqual({flexGrow:0});});(0,_vitest.it)("should parse shrink with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[0.5]")).toEqual({flexShrink:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[2]")).toEqual({flexShrink:2});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[1.5]")).toEqual({flexShrink:1.5});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[3]")).toEqual({flexShrink:3});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[0]")).toEqual({flexShrink:0});});(0,_vitest.it)("should parse CSS-style flex-grow aliases",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow")).toEqual({flexGrow:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-0")).toEqual({flexGrow:0});});(0,_vitest.it)("should parse CSS-style flex-shrink aliases",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink")).toEqual({flexShrink:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-0")).toEqual({flexShrink:0});});(0,_vitest.it)("should parse CSS-style flex-grow with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[1.5]")).toEqual({flexGrow:1.5});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[2]")).toEqual({flexGrow:2});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[0.5]")).toEqual({flexGrow:0.5});});(0,_vitest.it)("should parse CSS-style flex-shrink with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[0.5]")).toEqual({flexShrink:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[2]")).toEqual({flexShrink:2});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[1.5]")).toEqual({flexShrink:1.5});});(0,_vitest.it)("should handle edge case values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[0.1]")).toEqual({flexGrow:0.1});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[10]")).toEqual({flexGrow:10});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[0.01]")).toEqual({flexShrink:0.01});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[100]")).toEqual({flexShrink:100});});(0,_vitest.it)("should parse Tailwind shorthand decimals (no leading zero)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[.5]")).toEqual({flexGrow:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[.75]")).toEqual({flexGrow:0.75});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[.5]")).toEqual({flexShrink:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[.25]")).toEqual({flexShrink:0.25});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[.5]")).toEqual({flexGrow:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[.5]")).toEqual({flexShrink:0.5});});(0,_vitest.it)("should reject negative values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[-1]")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[-1]")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[-2]")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[-0.5]")).toBeNull();});});(0,_vitest.describe)("parseLayout - justify content utilities",function(){(0,_vitest.it)("should parse justify-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-start")).toEqual({justifyContent:"flex-start"});});(0,_vitest.it)("should parse justify-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-end")).toEqual({justifyContent:"flex-end"});});(0,_vitest.it)("should parse justify-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-center")).toEqual({justifyContent:"center"});});(0,_vitest.it)("should parse justify-between",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-between")).toEqual({justifyContent:"space-between"});});(0,_vitest.it)("should parse justify-around",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-around")).toEqual({justifyContent:"space-around"});});(0,_vitest.it)("should parse justify-evenly",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-evenly")).toEqual({justifyContent:"space-evenly"});});});(0,_vitest.describe)("parseLayout - align items utilities",function(){(0,_vitest.it)("should parse items-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-start")).toEqual({alignItems:"flex-start"});});(0,_vitest.it)("should parse items-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-end")).toEqual({alignItems:"flex-end"});});(0,_vitest.it)("should parse items-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-center")).toEqual({alignItems:"center"});});(0,_vitest.it)("should parse items-baseline",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-baseline")).toEqual({alignItems:"baseline"});});(0,_vitest.it)("should parse items-stretch",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-stretch")).toEqual({alignItems:"stretch"});});});(0,_vitest.describe)("parseLayout - align self utilities",function(){(0,_vitest.it)("should parse self-auto",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-auto")).toEqual({alignSelf:"auto"});});(0,_vitest.it)("should parse self-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-start")).toEqual({alignSelf:"flex-start"});});(0,_vitest.it)("should parse self-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-end")).toEqual({alignSelf:"flex-end"});});(0,_vitest.it)("should parse self-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-center")).toEqual({alignSelf:"center"});});(0,_vitest.it)("should parse self-stretch",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-stretch")).toEqual({alignSelf:"stretch"});});(0,_vitest.it)("should parse self-baseline",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-baseline")).toEqual({alignSelf:"baseline"});});});(0,_vitest.describe)("parseLayout - align content utilities",function(){(0,_vitest.it)("should parse content-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-start")).toEqual({alignContent:"flex-start"});});(0,_vitest.it)("should parse content-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-end")).toEqual({alignContent:"flex-end"});});(0,_vitest.it)("should parse content-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-center")).toEqual({alignContent:"center"});});(0,_vitest.it)("should parse content-between",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-between")).toEqual({alignContent:"space-between"});});(0,_vitest.it)("should parse content-around",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-around")).toEqual({alignContent:"space-around"});});(0,_vitest.it)("should parse content-stretch",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-stretch")).toEqual({alignContent:"stretch"});});});(0,_vitest.describe)("parseLayout - position utilities",function(){(0,_vitest.it)("should parse absolute",function(){(0,_vitest.expect)((0,_layout.parseLayout)("absolute")).toEqual({position:"absolute"});});(0,_vitest.it)("should parse relative",function(){(0,_vitest.expect)((0,_layout.parseLayout)("relative")).toEqual({position:"relative"});});});(0,_vitest.describe)("parseLayout - overflow utilities",function(){(0,_vitest.it)("should parse overflow-hidden",function(){(0,_vitest.expect)((0,_layout.parseLayout)("overflow-hidden")).toEqual({overflow:"hidden"});});(0,_vitest.it)("should parse overflow-visible",function(){(0,_vitest.expect)((0,_layout.parseLayout)("overflow-visible")).toEqual({overflow:"visible"});});(0,_vitest.it)("should parse overflow-scroll",function(){(0,_vitest.expect)((0,_layout.parseLayout)("overflow-scroll")).toEqual({overflow:"scroll"});});});(0,_vitest.describe)("parseLayout - opacity utilities",function(){(0,_vitest.it)("should parse opacity-0 (fully transparent)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-0")).toEqual({opacity:0});});(0,_vitest.it)("should parse opacity-50 (half transparent)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-50")).toEqual({opacity:0.5});});(0,_vitest.it)("should parse opacity-100 (fully opaque)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-100")).toEqual({opacity:1});});(0,_vitest.it)("should parse all opacity values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-5")).toEqual({opacity:0.05});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-10")).toEqual({opacity:0.1});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-15")).toEqual({opacity:0.15});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-20")).toEqual({opacity:0.2});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-25")).toEqual({opacity:0.25});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-30")).toEqual({opacity:0.3});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-35")).toEqual({opacity:0.35});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-40")).toEqual({opacity:0.4});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-45")).toEqual({opacity:0.45});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-55")).toEqual({opacity:0.55});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-60")).toEqual({opacity:0.6});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-65")).toEqual({opacity:0.65});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-70")).toEqual({opacity:0.7});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-75")).toEqual({opacity:0.75});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-80")).toEqual({opacity:0.8});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-85")).toEqual({opacity:0.85});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-90")).toEqual({opacity:0.9});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-95")).toEqual({opacity:0.95});});});(0,_vitest.describe)("parseLayout - edge cases",function(){(0,_vitest.it)("should return null for invalid classes",function(){(0,_vitest.expect)((0,_layout.parseLayout)("invalid")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flex-invalid")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("justify")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("items")).toBeNull();});(0,_vitest.it)("should return null for empty string",function(){(0,_vitest.expect)((0,_layout.parseLayout)("")).toBeNull();});(0,_vitest.it)("should return null for partial class names",function(){(0,_vitest.expect)((0,_layout.parseLayout)("fle")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flexbox")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("justify-start-center")).toBeNull();});(0,_vitest.it)("should return null for CSS classes not in React Native",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inline")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("block")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("inline-block")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("grid")).toBeNull();});});(0,_vitest.describe)("parseLayout - comprehensive coverage",function(){(0,_vitest.it)("should handle all flex direction variants",function(){var directions=["flex-row","flex-row-reverse","flex-col","flex-col-reverse"];directions.forEach(function(dir){(0,_vitest.expect)((0,_layout.parseLayout)(dir)).toBeTruthy();});});(0,_vitest.it)("should handle all flex wrap variants",function(){var wraps=["flex-wrap","flex-wrap-reverse","flex-nowrap"];wraps.forEach(function(wrap){(0,_vitest.expect)((0,_layout.parseLayout)(wrap)).toBeTruthy();});});(0,_vitest.it)("should handle all justify content variants",function(){var justifies=["justify-start","justify-end","justify-center","justify-between","justify-around","justify-evenly"];justifies.forEach(function(justify){(0,_vitest.expect)((0,_layout.parseLayout)(justify)).toBeTruthy();});});(0,_vitest.it)("should handle all align items variants",function(){var aligns=["items-start","items-end","items-center","items-baseline","items-stretch"];aligns.forEach(function(align){(0,_vitest.expect)((0,_layout.parseLayout)(align)).toBeTruthy();});});(0,_vitest.it)("should handle all align self variants",function(){var selfs=["self-auto","self-start","self-end","self-center","self-stretch","self-baseline"];selfs.forEach(function(self){(0,_vitest.expect)((0,_layout.parseLayout)(self)).toBeTruthy();});});(0,_vitest.it)("should handle all align content variants",function(){var contents=["content-start","content-end","content-center","content-between","content-around","content-stretch"];contents.forEach(function(content){(0,_vitest.expect)((0,_layout.parseLayout)(content)).toBeTruthy();});});(0,_vitest.it)("should handle all position variants",function(){var positions=["absolute","relative"];positions.forEach(function(position){(0,_vitest.expect)((0,_layout.parseLayout)(position)).toBeTruthy();});});(0,_vitest.it)("should handle all overflow variants",function(){var overflows=["overflow-hidden","overflow-visible","overflow-scroll"];overflows.forEach(function(overflow){(0,_vitest.expect)((0,_layout.parseLayout)(overflow)).toBeTruthy();});});});(0,_vitest.describe)("parseLayout - case sensitivity",function(){(0,_vitest.it)("should be case-sensitive",function(){(0,_vitest.expect)((0,_layout.parseLayout)("FLEX")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("Flex")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("ABSOLUTE")).toBeNull();});});(0,_vitest.describe)("parseLayout - z-index utilities",function(){(0,_vitest.it)("should parse z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-0")).toEqual({zIndex:0});(0,_vitest.expect)((0,_layout.parseLayout)("z-10")).toEqual({zIndex:10});(0,_vitest.expect)((0,_layout.parseLayout)("z-20")).toEqual({zIndex:20});(0,_vitest.expect)((0,_layout.parseLayout)("z-30")).toEqual({zIndex:30});(0,_vitest.expect)((0,_layout.parseLayout)("z-40")).toEqual({zIndex:40});(0,_vitest.expect)((0,_layout.parseLayout)("z-50")).toEqual({zIndex:50});});(0,_vitest.it)("should parse z-auto as 0",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-auto")).toEqual({zIndex:0});});(0,_vitest.it)("should parse arbitrary z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-[999]")).toEqual({zIndex:999});(0,_vitest.expect)((0,_layout.parseLayout)("z-[100]")).toEqual({zIndex:100});(0,_vitest.expect)((0,_layout.parseLayout)("z-[1]")).toEqual({zIndex:1});});(0,_vitest.it)("should parse negative arbitrary z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-[-1]")).toEqual({zIndex:-1});(0,_vitest.expect)((0,_layout.parseLayout)("z-[-10]")).toEqual({zIndex:-10});(0,_vitest.expect)((0,_layout.parseLayout)("z-[-999]")).toEqual({zIndex:-999});});(0,_vitest.it)("should return null for invalid z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-100")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("z-5")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("z-invalid")).toBeNull();});});(0,_vitest.describe)("parseLayout - positioning utilities",function(){(0,_vitest.it)("should parse top values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-0")).toEqual({top:0});(0,_vitest.expect)((0,_layout.parseLayout)("top-4")).toEqual({top:16});(0,_vitest.expect)((0,_layout.parseLayout)("top-8")).toEqual({top:32});(0,_vitest.expect)((0,_layout.parseLayout)("top-16")).toEqual({top:64});});(0,_vitest.it)("should parse right values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("right-0")).toEqual({right:0});(0,_vitest.expect)((0,_layout.parseLayout)("right-4")).toEqual({right:16});(0,_vitest.expect)((0,_layout.parseLayout)("right-8")).toEqual({right:32});(0,_vitest.expect)((0,_layout.parseLayout)("right-16")).toEqual({right:64});});(0,_vitest.it)("should parse bottom values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("bottom-0")).toEqual({bottom:0});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-4")).toEqual({bottom:16});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-8")).toEqual({bottom:32});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-16")).toEqual({bottom:64});});(0,_vitest.it)("should parse left values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("left-0")).toEqual({left:0});(0,_vitest.expect)((0,_layout.parseLayout)("left-4")).toEqual({left:16});(0,_vitest.expect)((0,_layout.parseLayout)("left-8")).toEqual({left:32});(0,_vitest.expect)((0,_layout.parseLayout)("left-16")).toEqual({left:64});});(0,_vitest.it)("should parse fractional positioning values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-0.5")).toEqual({top:2});(0,_vitest.expect)((0,_layout.parseLayout)("right-1.5")).toEqual({right:6});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-2.5")).toEqual({bottom:10});(0,_vitest.expect)((0,_layout.parseLayout)("left-3.5")).toEqual({left:14});});(0,_vitest.it)("should parse auto positioning values as empty object",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("right-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("left-auto")).toEqual({});});(0,_vitest.it)("should parse arbitrary top values with pixels",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[50px]")).toEqual({top:50});(0,_vitest.expect)((0,_layout.parseLayout)("top-[100px]")).toEqual({top:100});(0,_vitest.expect)((0,_layout.parseLayout)("top-[0px]")).toEqual({top:0});});(0,_vitest.it)("should parse arbitrary top values without unit (defaults to px)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[50]")).toEqual({top:50});(0,_vitest.expect)((0,_layout.parseLayout)("top-[100]")).toEqual({top:100});});(0,_vitest.it)("should parse arbitrary top values with percentages",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[25%]")).toEqual({top:"25%"});(0,_vitest.expect)((0,_layout.parseLayout)("top-[50%]")).toEqual({top:"50%"});(0,_vitest.expect)((0,_layout.parseLayout)("top-[10.5%]")).toEqual({top:"10.5%"});});(0,_vitest.it)("should parse negative arbitrary top values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[-10px]")).toEqual({top:-10});(0,_vitest.expect)((0,_layout.parseLayout)("top-[-50]")).toEqual({top:-50});(0,_vitest.expect)((0,_layout.parseLayout)("top-[-25%]")).toEqual({top:"-25%"});});(0,_vitest.it)("should parse arbitrary right values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("right-[30px]")).toEqual({right:30});(0,_vitest.expect)((0,_layout.parseLayout)("right-[20]")).toEqual({right:20});(0,_vitest.expect)((0,_layout.parseLayout)("right-[15%]")).toEqual({right:"15%"});(0,_vitest.expect)((0,_layout.parseLayout)("right-[-10px]")).toEqual({right:-10});});(0,_vitest.it)("should parse arbitrary bottom values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[40px]")).toEqual({bottom:40});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[25]")).toEqual({bottom:25});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[33.333%]")).toEqual({bottom:"33.333%"});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[-15px]")).toEqual({bottom:-15});});(0,_vitest.it)("should parse arbitrary left values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("left-[60px]")).toEqual({left:60});(0,_vitest.expect)((0,_layout.parseLayout)("left-[45]")).toEqual({left:45});(0,_vitest.expect)((0,_layout.parseLayout)("left-[12.5%]")).toEqual({left:"12.5%"});(0,_vitest.expect)((0,_layout.parseLayout)("left-[-20px]")).toEqual({left:-20});});});(0,_vitest.describe)("parseLayout - inset utilities",function(){(0,_vitest.it)("should parse inset (all sides) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-0")).toEqual({top:0,right:0,bottom:0,left:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-4")).toEqual({top:16,right:16,bottom:16,left:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-8")).toEqual({top:32,right:32,bottom:32,left:32});});(0,_vitest.it)("should parse inset-x (horizontal) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-0")).toEqual({left:0,right:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-4")).toEqual({left:16,right:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-8")).toEqual({left:32,right:32});});(0,_vitest.it)("should parse inset-y (vertical) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-0")).toEqual({top:0,bottom:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-4")).toEqual({top:16,bottom:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-8")).toEqual({top:32,bottom:32});});(0,_vitest.it)("should parse fractional inset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-0.5")).toEqual({top:2,right:2,bottom:2,left:2});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-1.5")).toEqual({left:6,right:6});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-2.5")).toEqual({top:10,bottom:10});});(0,_vitest.it)("should return null for invalid inset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-100")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-100")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-100")).toBeNull();});(0,_vitest.it)("should parse arbitrary inset (all sides) values with pixels",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[10px]")).toEqual({top:10,right:10,bottom:10,left:10});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[25px]")).toEqual({top:25,right:25,bottom:25,left:25});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[0px]")).toEqual({top:0,right:0,bottom:0,left:0});});(0,_vitest.it)("should parse arbitrary inset values without unit (defaults to px)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[15]")).toEqual({top:15,right:15,bottom:15,left:15});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[30]")).toEqual({top:30,right:30,bottom:30,left:30});});(0,_vitest.it)("should parse arbitrary inset values with percentages",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[10%]")).toEqual({top:"10%",right:"10%",bottom:"10%",left:"10%"});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[25%]")).toEqual({top:"25%",right:"25%",bottom:"25%",left:"25%"});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[5.5%]")).toEqual({top:"5.5%",right:"5.5%",bottom:"5.5%",left:"5.5%"});});(0,_vitest.it)("should parse arbitrary inset-x (horizontal) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[20px]")).toEqual({left:20,right:20});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[15]")).toEqual({left:15,right:15});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[10%]")).toEqual({left:"10%",right:"10%"});});(0,_vitest.it)("should parse arbitrary inset-y (vertical) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[30px]")).toEqual({top:30,bottom:30});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[25]")).toEqual({top:25,bottom:25});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[15%]")).toEqual({top:"15%",bottom:"15%"});});(0,_vitest.it)("should parse negative arbitrary inset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[-5px]")).toEqual({top:-5,right:-5,bottom:-5,left:-5});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[-10px]")).toEqual({left:-10,right:-10});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[-15px]")).toEqual({top:-15,bottom:-15});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[-20%]")).toEqual({top:"-20%",right:"-20%",bottom:"-20%",left:"-20%"});});});(0,_vitest.describe)("parseLayout - specific property coverage",function(){(0,_vitest.it)("should return unique objects for each class",function(){var flex1=(0,_layout.parseLayout)("flex");var flex2=(0,_layout.parseLayout)("flex");(0,_vitest.expect)(flex1).toEqual(flex2);});(0,_vitest.it)("should handle flex value variations",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-1")).toEqual({flex:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-auto")).toEqual({flex:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-none")).toEqual({flex:0});});(0,_vitest.it)("should distinguish between similar class names",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex")).not.toEqual((0,_layout.parseLayout)("flex-1"));(0,_vitest.expect)((0,_layout.parseLayout)("grow")).not.toEqual((0,_layout.parseLayout)("grow-0"));(0,_vitest.expect)((0,_layout.parseLayout)("shrink")).not.toEqual((0,_layout.parseLayout)("shrink-0"));});(0,_vitest.it)("should handle positioning with absolute/relative",function(){(0,_vitest.expect)((0,_layout.parseLayout)("absolute")).toEqual({position:"absolute"});(0,_vitest.expect)((0,_layout.parseLayout)("top-0")).toEqual({top:0});(0,_vitest.expect)((0,_layout.parseLayout)("left-0")).toEqual({left:0});});(0,_vitest.it)("should handle all positioning directions",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-4")).toHaveProperty("top");(0,_vitest.expect)((0,_layout.parseLayout)("right-4")).toHaveProperty("right");(0,_vitest.expect)((0,_layout.parseLayout)("bottom-4")).toHaveProperty("bottom");(0,_vitest.expect)((0,_layout.parseLayout)("left-4")).toHaveProperty("left");});(0,_vitest.it)("should handle inset shorthand variations",function(){var insetAll=(0,_layout.parseLayout)("inset-4");(0,_vitest.expect)(insetAll).toHaveProperty("top",16);(0,_vitest.expect)(insetAll).toHaveProperty("right",16);(0,_vitest.expect)(insetAll).toHaveProperty("bottom",16);(0,_vitest.expect)(insetAll).toHaveProperty("left",16);var insetX=(0,_layout.parseLayout)("inset-x-4");(0,_vitest.expect)(insetX).toHaveProperty("left",16);(0,_vitest.expect)(insetX).toHaveProperty("right",16);(0,_vitest.expect)(insetX).not.toHaveProperty("top");(0,_vitest.expect)(insetX).not.toHaveProperty("bottom");var insetY=(0,_layout.parseLayout)("inset-y-4");(0,_vitest.expect)(insetY).toHaveProperty("top",16);(0,_vitest.expect)(insetY).toHaveProperty("bottom",16);(0,_vitest.expect)(insetY).not.toHaveProperty("left");(0,_vitest.expect)(insetY).not.toHaveProperty("right");});});
|
|
1
|
+
var _vitest=require("vitest");var _layout=require("./layout");(0,_vitest.describe)("parseLayout - display utilities",function(){(0,_vitest.it)("should parse display flex",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex")).toEqual({display:"flex"});});(0,_vitest.it)("should parse display hidden",function(){(0,_vitest.expect)((0,_layout.parseLayout)("hidden")).toEqual({display:"none"});});});(0,_vitest.describe)("parseLayout - flex direction utilities",function(){(0,_vitest.it)("should parse flex row",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-row")).toEqual({flexDirection:"row"});});(0,_vitest.it)("should parse flex row reverse",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-row-reverse")).toEqual({flexDirection:"row-reverse"});});(0,_vitest.it)("should parse flex column",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-col")).toEqual({flexDirection:"column"});});(0,_vitest.it)("should parse flex column reverse",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-col-reverse")).toEqual({flexDirection:"column-reverse"});});});(0,_vitest.describe)("parseLayout - flex wrap utilities",function(){(0,_vitest.it)("should parse flex wrap",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-wrap")).toEqual({flexWrap:"wrap"});});(0,_vitest.it)("should parse flex wrap reverse",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-wrap-reverse")).toEqual({flexWrap:"wrap-reverse"});});(0,_vitest.it)("should parse flex nowrap",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-nowrap")).toEqual({flexWrap:"nowrap"});});});(0,_vitest.describe)("parseLayout - flex utilities",function(){(0,_vitest.it)("should parse flex-1",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-1")).toEqual({flex:1});});(0,_vitest.it)("should parse flex-auto",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-auto")).toEqual({flex:1});});(0,_vitest.it)("should parse flex-none",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-none")).toEqual({flex:0});});});(0,_vitest.describe)("parseLayout - flex grow/shrink utilities",function(){(0,_vitest.it)("should parse grow",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow")).toEqual({flexGrow:1});});(0,_vitest.it)("should parse grow-0",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-0")).toEqual({flexGrow:0});});(0,_vitest.it)("should parse shrink",function(){(0,_vitest.expect)((0,_layout.parseLayout)("shrink")).toEqual({flexShrink:1});});(0,_vitest.it)("should parse shrink-0",function(){(0,_vitest.expect)((0,_layout.parseLayout)("shrink-0")).toEqual({flexShrink:0});});(0,_vitest.it)("should parse grow with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[1.5]")).toEqual({flexGrow:1.5});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[2]")).toEqual({flexGrow:2});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[0.5]")).toEqual({flexGrow:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[3]")).toEqual({flexGrow:3});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[0]")).toEqual({flexGrow:0});});(0,_vitest.it)("should parse shrink with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[0.5]")).toEqual({flexShrink:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[2]")).toEqual({flexShrink:2});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[1.5]")).toEqual({flexShrink:1.5});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[3]")).toEqual({flexShrink:3});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[0]")).toEqual({flexShrink:0});});(0,_vitest.it)("should parse CSS-style flex-grow aliases",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow")).toEqual({flexGrow:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-0")).toEqual({flexGrow:0});});(0,_vitest.it)("should parse CSS-style flex-shrink aliases",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink")).toEqual({flexShrink:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-0")).toEqual({flexShrink:0});});(0,_vitest.it)("should parse CSS-style flex-grow with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[1.5]")).toEqual({flexGrow:1.5});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[2]")).toEqual({flexGrow:2});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[0.5]")).toEqual({flexGrow:0.5});});(0,_vitest.it)("should parse CSS-style flex-shrink with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[0.5]")).toEqual({flexShrink:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[2]")).toEqual({flexShrink:2});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[1.5]")).toEqual({flexShrink:1.5});});(0,_vitest.it)("should handle edge case values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[0.1]")).toEqual({flexGrow:0.1});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[10]")).toEqual({flexGrow:10});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[0.01]")).toEqual({flexShrink:0.01});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[100]")).toEqual({flexShrink:100});});(0,_vitest.it)("should parse Tailwind shorthand decimals (no leading zero)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[.5]")).toEqual({flexGrow:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("grow-[.75]")).toEqual({flexGrow:0.75});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[.5]")).toEqual({flexShrink:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[.25]")).toEqual({flexShrink:0.25});(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[.5]")).toEqual({flexGrow:0.5});(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[.5]")).toEqual({flexShrink:0.5});});(0,_vitest.it)("should reject negative values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("grow-[-1]")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("shrink-[-1]")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flex-grow-[-2]")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flex-shrink-[-0.5]")).toBeNull();});});(0,_vitest.describe)("parseLayout - justify content utilities",function(){(0,_vitest.it)("should parse justify-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-start")).toEqual({justifyContent:"flex-start"});});(0,_vitest.it)("should parse justify-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-end")).toEqual({justifyContent:"flex-end"});});(0,_vitest.it)("should parse justify-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-center")).toEqual({justifyContent:"center"});});(0,_vitest.it)("should parse justify-between",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-between")).toEqual({justifyContent:"space-between"});});(0,_vitest.it)("should parse justify-around",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-around")).toEqual({justifyContent:"space-around"});});(0,_vitest.it)("should parse justify-evenly",function(){(0,_vitest.expect)((0,_layout.parseLayout)("justify-evenly")).toEqual({justifyContent:"space-evenly"});});});(0,_vitest.describe)("parseLayout - align items utilities",function(){(0,_vitest.it)("should parse items-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-start")).toEqual({alignItems:"flex-start"});});(0,_vitest.it)("should parse items-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-end")).toEqual({alignItems:"flex-end"});});(0,_vitest.it)("should parse items-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-center")).toEqual({alignItems:"center"});});(0,_vitest.it)("should parse items-baseline",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-baseline")).toEqual({alignItems:"baseline"});});(0,_vitest.it)("should parse items-stretch",function(){(0,_vitest.expect)((0,_layout.parseLayout)("items-stretch")).toEqual({alignItems:"stretch"});});});(0,_vitest.describe)("parseLayout - align self utilities",function(){(0,_vitest.it)("should parse self-auto",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-auto")).toEqual({alignSelf:"auto"});});(0,_vitest.it)("should parse self-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-start")).toEqual({alignSelf:"flex-start"});});(0,_vitest.it)("should parse self-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-end")).toEqual({alignSelf:"flex-end"});});(0,_vitest.it)("should parse self-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-center")).toEqual({alignSelf:"center"});});(0,_vitest.it)("should parse self-stretch",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-stretch")).toEqual({alignSelf:"stretch"});});(0,_vitest.it)("should parse self-baseline",function(){(0,_vitest.expect)((0,_layout.parseLayout)("self-baseline")).toEqual({alignSelf:"baseline"});});});(0,_vitest.describe)("parseLayout - align content utilities",function(){(0,_vitest.it)("should parse content-start",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-start")).toEqual({alignContent:"flex-start"});});(0,_vitest.it)("should parse content-end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-end")).toEqual({alignContent:"flex-end"});});(0,_vitest.it)("should parse content-center",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-center")).toEqual({alignContent:"center"});});(0,_vitest.it)("should parse content-between",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-between")).toEqual({alignContent:"space-between"});});(0,_vitest.it)("should parse content-around",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-around")).toEqual({alignContent:"space-around"});});(0,_vitest.it)("should parse content-stretch",function(){(0,_vitest.expect)((0,_layout.parseLayout)("content-stretch")).toEqual({alignContent:"stretch"});});});(0,_vitest.describe)("parseLayout - position utilities",function(){(0,_vitest.it)("should parse absolute",function(){(0,_vitest.expect)((0,_layout.parseLayout)("absolute")).toEqual({position:"absolute"});});(0,_vitest.it)("should parse relative",function(){(0,_vitest.expect)((0,_layout.parseLayout)("relative")).toEqual({position:"relative"});});});(0,_vitest.describe)("parseLayout - overflow utilities",function(){(0,_vitest.it)("should parse overflow-hidden",function(){(0,_vitest.expect)((0,_layout.parseLayout)("overflow-hidden")).toEqual({overflow:"hidden"});});(0,_vitest.it)("should parse overflow-visible",function(){(0,_vitest.expect)((0,_layout.parseLayout)("overflow-visible")).toEqual({overflow:"visible"});});(0,_vitest.it)("should parse overflow-scroll",function(){(0,_vitest.expect)((0,_layout.parseLayout)("overflow-scroll")).toEqual({overflow:"scroll"});});});(0,_vitest.describe)("parseLayout - opacity utilities",function(){(0,_vitest.it)("should parse opacity-0 (fully transparent)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-0")).toEqual({opacity:0});});(0,_vitest.it)("should parse opacity-50 (half transparent)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-50")).toEqual({opacity:0.5});});(0,_vitest.it)("should parse opacity-100 (fully opaque)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-100")).toEqual({opacity:1});});(0,_vitest.it)("should parse all opacity values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("opacity-5")).toEqual({opacity:0.05});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-10")).toEqual({opacity:0.1});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-15")).toEqual({opacity:0.15});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-20")).toEqual({opacity:0.2});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-25")).toEqual({opacity:0.25});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-30")).toEqual({opacity:0.3});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-35")).toEqual({opacity:0.35});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-40")).toEqual({opacity:0.4});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-45")).toEqual({opacity:0.45});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-55")).toEqual({opacity:0.55});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-60")).toEqual({opacity:0.6});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-65")).toEqual({opacity:0.65});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-70")).toEqual({opacity:0.7});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-75")).toEqual({opacity:0.75});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-80")).toEqual({opacity:0.8});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-85")).toEqual({opacity:0.85});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-90")).toEqual({opacity:0.9});(0,_vitest.expect)((0,_layout.parseLayout)("opacity-95")).toEqual({opacity:0.95});});});(0,_vitest.describe)("parseLayout - edge cases",function(){(0,_vitest.it)("should return null for invalid classes",function(){(0,_vitest.expect)((0,_layout.parseLayout)("invalid")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flex-invalid")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("justify")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("items")).toBeNull();});(0,_vitest.it)("should return null for empty string",function(){(0,_vitest.expect)((0,_layout.parseLayout)("")).toBeNull();});(0,_vitest.it)("should return null for partial class names",function(){(0,_vitest.expect)((0,_layout.parseLayout)("fle")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("flexbox")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("justify-start-center")).toBeNull();});(0,_vitest.it)("should return null for CSS classes not in React Native",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inline")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("block")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("inline-block")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("grid")).toBeNull();});});(0,_vitest.describe)("parseLayout - comprehensive coverage",function(){(0,_vitest.it)("should handle all flex direction variants",function(){var directions=["flex-row","flex-row-reverse","flex-col","flex-col-reverse"];directions.forEach(function(dir){(0,_vitest.expect)((0,_layout.parseLayout)(dir)).toBeTruthy();});});(0,_vitest.it)("should handle all flex wrap variants",function(){var wraps=["flex-wrap","flex-wrap-reverse","flex-nowrap"];wraps.forEach(function(wrap){(0,_vitest.expect)((0,_layout.parseLayout)(wrap)).toBeTruthy();});});(0,_vitest.it)("should handle all justify content variants",function(){var justifies=["justify-start","justify-end","justify-center","justify-between","justify-around","justify-evenly"];justifies.forEach(function(justify){(0,_vitest.expect)((0,_layout.parseLayout)(justify)).toBeTruthy();});});(0,_vitest.it)("should handle all align items variants",function(){var aligns=["items-start","items-end","items-center","items-baseline","items-stretch"];aligns.forEach(function(align){(0,_vitest.expect)((0,_layout.parseLayout)(align)).toBeTruthy();});});(0,_vitest.it)("should handle all align self variants",function(){var selfs=["self-auto","self-start","self-end","self-center","self-stretch","self-baseline"];selfs.forEach(function(self){(0,_vitest.expect)((0,_layout.parseLayout)(self)).toBeTruthy();});});(0,_vitest.it)("should handle all align content variants",function(){var contents=["content-start","content-end","content-center","content-between","content-around","content-stretch"];contents.forEach(function(content){(0,_vitest.expect)((0,_layout.parseLayout)(content)).toBeTruthy();});});(0,_vitest.it)("should handle all position variants",function(){var positions=["absolute","relative"];positions.forEach(function(position){(0,_vitest.expect)((0,_layout.parseLayout)(position)).toBeTruthy();});});(0,_vitest.it)("should handle all overflow variants",function(){var overflows=["overflow-hidden","overflow-visible","overflow-scroll"];overflows.forEach(function(overflow){(0,_vitest.expect)((0,_layout.parseLayout)(overflow)).toBeTruthy();});});});(0,_vitest.describe)("parseLayout - case sensitivity",function(){(0,_vitest.it)("should be case-sensitive",function(){(0,_vitest.expect)((0,_layout.parseLayout)("FLEX")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("Flex")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("ABSOLUTE")).toBeNull();});});(0,_vitest.describe)("parseLayout - z-index utilities",function(){(0,_vitest.it)("should parse z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-0")).toEqual({zIndex:0});(0,_vitest.expect)((0,_layout.parseLayout)("z-10")).toEqual({zIndex:10});(0,_vitest.expect)((0,_layout.parseLayout)("z-20")).toEqual({zIndex:20});(0,_vitest.expect)((0,_layout.parseLayout)("z-30")).toEqual({zIndex:30});(0,_vitest.expect)((0,_layout.parseLayout)("z-40")).toEqual({zIndex:40});(0,_vitest.expect)((0,_layout.parseLayout)("z-50")).toEqual({zIndex:50});});(0,_vitest.it)("should parse z-auto as 0",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-auto")).toEqual({zIndex:0});});(0,_vitest.it)("should parse arbitrary z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-[999]")).toEqual({zIndex:999});(0,_vitest.expect)((0,_layout.parseLayout)("z-[100]")).toEqual({zIndex:100});(0,_vitest.expect)((0,_layout.parseLayout)("z-[1]")).toEqual({zIndex:1});});(0,_vitest.it)("should parse negative arbitrary z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-[-1]")).toEqual({zIndex:-1});(0,_vitest.expect)((0,_layout.parseLayout)("z-[-10]")).toEqual({zIndex:-10});(0,_vitest.expect)((0,_layout.parseLayout)("z-[-999]")).toEqual({zIndex:-999});});(0,_vitest.it)("should return null for invalid z-index values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("z-100")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("z-5")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("z-invalid")).toBeNull();});});(0,_vitest.describe)("parseLayout - positioning utilities",function(){(0,_vitest.it)("should parse top values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-0")).toEqual({top:0});(0,_vitest.expect)((0,_layout.parseLayout)("top-4")).toEqual({top:16});(0,_vitest.expect)((0,_layout.parseLayout)("top-8")).toEqual({top:32});(0,_vitest.expect)((0,_layout.parseLayout)("top-16")).toEqual({top:64});});(0,_vitest.it)("should parse right values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("right-0")).toEqual({right:0});(0,_vitest.expect)((0,_layout.parseLayout)("right-4")).toEqual({right:16});(0,_vitest.expect)((0,_layout.parseLayout)("right-8")).toEqual({right:32});(0,_vitest.expect)((0,_layout.parseLayout)("right-16")).toEqual({right:64});});(0,_vitest.it)("should parse bottom values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("bottom-0")).toEqual({bottom:0});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-4")).toEqual({bottom:16});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-8")).toEqual({bottom:32});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-16")).toEqual({bottom:64});});(0,_vitest.it)("should parse left values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("left-0")).toEqual({left:0});(0,_vitest.expect)((0,_layout.parseLayout)("left-4")).toEqual({left:16});(0,_vitest.expect)((0,_layout.parseLayout)("left-8")).toEqual({left:32});(0,_vitest.expect)((0,_layout.parseLayout)("left-16")).toEqual({left:64});});(0,_vitest.it)("should parse fractional positioning values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-0.5")).toEqual({top:2});(0,_vitest.expect)((0,_layout.parseLayout)("right-1.5")).toEqual({right:6});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-2.5")).toEqual({bottom:10});(0,_vitest.expect)((0,_layout.parseLayout)("left-3.5")).toEqual({left:14});});(0,_vitest.it)("should parse auto positioning values as empty object",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("right-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("left-auto")).toEqual({});});(0,_vitest.it)("should parse arbitrary top values with pixels",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[50px]")).toEqual({top:50});(0,_vitest.expect)((0,_layout.parseLayout)("top-[100px]")).toEqual({top:100});(0,_vitest.expect)((0,_layout.parseLayout)("top-[0px]")).toEqual({top:0});});(0,_vitest.it)("should parse arbitrary top values without unit (defaults to px)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[50]")).toEqual({top:50});(0,_vitest.expect)((0,_layout.parseLayout)("top-[100]")).toEqual({top:100});});(0,_vitest.it)("should parse arbitrary top values with percentages",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[25%]")).toEqual({top:"25%"});(0,_vitest.expect)((0,_layout.parseLayout)("top-[50%]")).toEqual({top:"50%"});(0,_vitest.expect)((0,_layout.parseLayout)("top-[10.5%]")).toEqual({top:"10.5%"});});(0,_vitest.it)("should parse negative arbitrary top values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[-10px]")).toEqual({top:-10});(0,_vitest.expect)((0,_layout.parseLayout)("top-[-50]")).toEqual({top:-50});(0,_vitest.expect)((0,_layout.parseLayout)("top-[-25%]")).toEqual({top:"-25%"});});(0,_vitest.it)("should parse arbitrary right values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("right-[30px]")).toEqual({right:30});(0,_vitest.expect)((0,_layout.parseLayout)("right-[20]")).toEqual({right:20});(0,_vitest.expect)((0,_layout.parseLayout)("right-[15%]")).toEqual({right:"15%"});(0,_vitest.expect)((0,_layout.parseLayout)("right-[-10px]")).toEqual({right:-10});});(0,_vitest.it)("should parse arbitrary bottom values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[40px]")).toEqual({bottom:40});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[25]")).toEqual({bottom:25});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[33.333%]")).toEqual({bottom:"33.333%"});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-[-15px]")).toEqual({bottom:-15});});(0,_vitest.it)("should parse arbitrary left values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("left-[60px]")).toEqual({left:60});(0,_vitest.expect)((0,_layout.parseLayout)("left-[45]")).toEqual({left:45});(0,_vitest.expect)((0,_layout.parseLayout)("left-[12.5%]")).toEqual({left:"12.5%"});(0,_vitest.expect)((0,_layout.parseLayout)("left-[-20px]")).toEqual({left:-20});});});(0,_vitest.describe)("parseLayout - inset utilities",function(){(0,_vitest.it)("should parse inset (all sides) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-0")).toEqual({top:0,right:0,bottom:0,left:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-4")).toEqual({top:16,right:16,bottom:16,left:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-8")).toEqual({top:32,right:32,bottom:32,left:32});});(0,_vitest.it)("should parse inset-x (horizontal) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-0")).toEqual({left:0,right:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-4")).toEqual({left:16,right:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-8")).toEqual({left:32,right:32});});(0,_vitest.it)("should parse inset-y (vertical) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-0")).toEqual({top:0,bottom:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-4")).toEqual({top:16,bottom:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-8")).toEqual({top:32,bottom:32});});(0,_vitest.it)("should parse fractional inset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-0.5")).toEqual({top:2,right:2,bottom:2,left:2});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-1.5")).toEqual({left:6,right:6});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-2.5")).toEqual({top:10,bottom:10});});(0,_vitest.it)("should return null for invalid inset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-100")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-100")).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-100")).toBeNull();});(0,_vitest.it)("should parse arbitrary inset (all sides) values with pixels",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[10px]")).toEqual({top:10,right:10,bottom:10,left:10});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[25px]")).toEqual({top:25,right:25,bottom:25,left:25});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[0px]")).toEqual({top:0,right:0,bottom:0,left:0});});(0,_vitest.it)("should parse arbitrary inset values without unit (defaults to px)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[15]")).toEqual({top:15,right:15,bottom:15,left:15});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[30]")).toEqual({top:30,right:30,bottom:30,left:30});});(0,_vitest.it)("should parse arbitrary inset values with percentages",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[10%]")).toEqual({top:"10%",right:"10%",bottom:"10%",left:"10%"});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[25%]")).toEqual({top:"25%",right:"25%",bottom:"25%",left:"25%"});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[5.5%]")).toEqual({top:"5.5%",right:"5.5%",bottom:"5.5%",left:"5.5%"});});(0,_vitest.it)("should parse arbitrary inset-x (horizontal) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[20px]")).toEqual({left:20,right:20});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[15]")).toEqual({left:15,right:15});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[10%]")).toEqual({left:"10%",right:"10%"});});(0,_vitest.it)("should parse arbitrary inset-y (vertical) values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[30px]")).toEqual({top:30,bottom:30});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[25]")).toEqual({top:25,bottom:25});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[15%]")).toEqual({top:"15%",bottom:"15%"});});(0,_vitest.it)("should parse negative arbitrary inset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-[-5px]")).toEqual({top:-5,right:-5,bottom:-5,left:-5});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-[-10px]")).toEqual({left:-10,right:-10});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-[-15px]")).toEqual({top:-15,bottom:-15});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[-20%]")).toEqual({top:"-20%",right:"-20%",bottom:"-20%",left:"-20%"});});});(0,_vitest.describe)("parseLayout - specific property coverage",function(){(0,_vitest.it)("should return unique objects for each class",function(){var flex1=(0,_layout.parseLayout)("flex");var flex2=(0,_layout.parseLayout)("flex");(0,_vitest.expect)(flex1).toEqual(flex2);});(0,_vitest.it)("should handle flex value variations",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex-1")).toEqual({flex:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-auto")).toEqual({flex:1});(0,_vitest.expect)((0,_layout.parseLayout)("flex-none")).toEqual({flex:0});});(0,_vitest.it)("should distinguish between similar class names",function(){(0,_vitest.expect)((0,_layout.parseLayout)("flex")).not.toEqual((0,_layout.parseLayout)("flex-1"));(0,_vitest.expect)((0,_layout.parseLayout)("grow")).not.toEqual((0,_layout.parseLayout)("grow-0"));(0,_vitest.expect)((0,_layout.parseLayout)("shrink")).not.toEqual((0,_layout.parseLayout)("shrink-0"));});(0,_vitest.it)("should handle positioning with absolute/relative",function(){(0,_vitest.expect)((0,_layout.parseLayout)("absolute")).toEqual({position:"absolute"});(0,_vitest.expect)((0,_layout.parseLayout)("top-0")).toEqual({top:0});(0,_vitest.expect)((0,_layout.parseLayout)("left-0")).toEqual({left:0});});(0,_vitest.it)("should handle all positioning directions",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-4")).toHaveProperty("top");(0,_vitest.expect)((0,_layout.parseLayout)("right-4")).toHaveProperty("right");(0,_vitest.expect)((0,_layout.parseLayout)("bottom-4")).toHaveProperty("bottom");(0,_vitest.expect)((0,_layout.parseLayout)("left-4")).toHaveProperty("left");});(0,_vitest.it)("should handle inset shorthand variations",function(){var insetAll=(0,_layout.parseLayout)("inset-4");(0,_vitest.expect)(insetAll).toHaveProperty("top",16);(0,_vitest.expect)(insetAll).toHaveProperty("right",16);(0,_vitest.expect)(insetAll).toHaveProperty("bottom",16);(0,_vitest.expect)(insetAll).toHaveProperty("left",16);var insetX=(0,_layout.parseLayout)("inset-x-4");(0,_vitest.expect)(insetX).toHaveProperty("left",16);(0,_vitest.expect)(insetX).toHaveProperty("right",16);(0,_vitest.expect)(insetX).not.toHaveProperty("top");(0,_vitest.expect)(insetX).not.toHaveProperty("bottom");var insetY=(0,_layout.parseLayout)("inset-y-4");(0,_vitest.expect)(insetY).toHaveProperty("top",16);(0,_vitest.expect)(insetY).toHaveProperty("bottom",16);(0,_vitest.expect)(insetY).not.toHaveProperty("left");(0,_vitest.expect)(insetY).not.toHaveProperty("right");});});(0,_vitest.describe)("parseLayout - logical positioning (RTL-aware)",function(){(0,_vitest.it)("should parse start positioning with preset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("start-0")).toEqual({start:0});(0,_vitest.expect)((0,_layout.parseLayout)("start-4")).toEqual({start:16});(0,_vitest.expect)((0,_layout.parseLayout)("start-8")).toEqual({start:32});(0,_vitest.expect)((0,_layout.parseLayout)("start-0.5")).toEqual({start:2});(0,_vitest.expect)((0,_layout.parseLayout)("start-2.5")).toEqual({start:10});});(0,_vitest.it)("should parse end positioning with preset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("end-0")).toEqual({end:0});(0,_vitest.expect)((0,_layout.parseLayout)("end-4")).toEqual({end:16});(0,_vitest.expect)((0,_layout.parseLayout)("end-8")).toEqual({end:32});(0,_vitest.expect)((0,_layout.parseLayout)("end-0.5")).toEqual({end:2});(0,_vitest.expect)((0,_layout.parseLayout)("end-2.5")).toEqual({end:10});});(0,_vitest.it)("should parse start/end with arbitrary pixel values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("start-[10px]")).toEqual({start:10});(0,_vitest.expect)((0,_layout.parseLayout)("start-[50]")).toEqual({start:50});(0,_vitest.expect)((0,_layout.parseLayout)("end-[10px]")).toEqual({end:10});(0,_vitest.expect)((0,_layout.parseLayout)("end-[50]")).toEqual({end:50});});(0,_vitest.it)("should parse start/end with arbitrary percentage values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("start-[10%]")).toEqual({start:"10%"});(0,_vitest.expect)((0,_layout.parseLayout)("start-[50%]")).toEqual({start:"50%"});(0,_vitest.expect)((0,_layout.parseLayout)("end-[10%]")).toEqual({end:"10%"});(0,_vitest.expect)((0,_layout.parseLayout)("end-[50%]")).toEqual({end:"50%"});});(0,_vitest.it)("should parse negative start/end with preset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("-start-4")).toEqual({start:-16});(0,_vitest.expect)((0,_layout.parseLayout)("-start-8")).toEqual({start:-32});(0,_vitest.expect)((0,_layout.parseLayout)("-end-4")).toEqual({end:-16});(0,_vitest.expect)((0,_layout.parseLayout)("-end-8")).toEqual({end:-32});});(0,_vitest.it)("should parse negative start/end with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("-start-[10px]")).toEqual({start:-10});(0,_vitest.expect)((0,_layout.parseLayout)("-start-[50]")).toEqual({start:-50});(0,_vitest.expect)((0,_layout.parseLayout)("-end-[10px]")).toEqual({end:-10});(0,_vitest.expect)((0,_layout.parseLayout)("-end-[50]")).toEqual({end:-50});(0,_vitest.expect)((0,_layout.parseLayout)("-start-[10%]")).toEqual({start:"-10%"});(0,_vitest.expect)((0,_layout.parseLayout)("-end-[25%]")).toEqual({end:"-25%"});});(0,_vitest.it)("should handle auto value for start/end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("start-auto")).toEqual({});(0,_vitest.expect)((0,_layout.parseLayout)("end-auto")).toEqual({});});});(0,_vitest.describe)("parseLayout - logical inset (RTL-aware)",function(){(0,_vitest.it)("should parse inset-s (start) with preset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-s-0")).toEqual({start:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-s-4")).toEqual({start:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-s-8")).toEqual({start:32});});(0,_vitest.it)("should parse inset-e (end) with preset values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-e-0")).toEqual({end:0});(0,_vitest.expect)((0,_layout.parseLayout)("inset-e-4")).toEqual({end:16});(0,_vitest.expect)((0,_layout.parseLayout)("inset-e-8")).toEqual({end:32});});(0,_vitest.it)("should parse inset-s/inset-e with arbitrary values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-s-[10px]")).toEqual({start:10});(0,_vitest.expect)((0,_layout.parseLayout)("inset-s-[20%]")).toEqual({start:"20%"});(0,_vitest.expect)((0,_layout.parseLayout)("inset-e-[10px]")).toEqual({end:10});(0,_vitest.expect)((0,_layout.parseLayout)("inset-e-[20%]")).toEqual({end:"20%"});});});(0,_vitest.describe)("parseLayout - custom spacing",function(){var customSpacing={xs:4,sm:8,md:16,lg:32,xl:64,"4":20};(0,_vitest.it)("should support custom spacing values for top/right/bottom/left",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-xs",customSpacing)).toEqual({top:4});(0,_vitest.expect)((0,_layout.parseLayout)("top-sm",customSpacing)).toEqual({top:8});(0,_vitest.expect)((0,_layout.parseLayout)("top-md",customSpacing)).toEqual({top:16});(0,_vitest.expect)((0,_layout.parseLayout)("top-lg",customSpacing)).toEqual({top:32});(0,_vitest.expect)((0,_layout.parseLayout)("top-xl",customSpacing)).toEqual({top:64});(0,_vitest.expect)((0,_layout.parseLayout)("right-xs",customSpacing)).toEqual({right:4});(0,_vitest.expect)((0,_layout.parseLayout)("bottom-sm",customSpacing)).toEqual({bottom:8});(0,_vitest.expect)((0,_layout.parseLayout)("left-md",customSpacing)).toEqual({left:16});});(0,_vitest.it)("should override default spacing values",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-4")).toEqual({top:16});(0,_vitest.expect)((0,_layout.parseLayout)("top-4",customSpacing)).toEqual({top:20});});(0,_vitest.it)("should merge custom spacing with defaults",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-0",customSpacing)).toEqual({top:0});(0,_vitest.expect)((0,_layout.parseLayout)("top-8",customSpacing)).toEqual({top:32});(0,_vitest.expect)((0,_layout.parseLayout)("top-xs",customSpacing)).toEqual({top:4});});(0,_vitest.it)("should support custom spacing for start/end (RTL-aware)",function(){(0,_vitest.expect)((0,_layout.parseLayout)("start-xs",customSpacing)).toEqual({start:4});(0,_vitest.expect)((0,_layout.parseLayout)("end-lg",customSpacing)).toEqual({end:32});});(0,_vitest.it)("should support custom spacing for inset utilities",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-xs",customSpacing)).toEqual({top:4,right:4,bottom:4,left:4});(0,_vitest.expect)((0,_layout.parseLayout)("inset-x-sm",customSpacing)).toEqual({left:8,right:8});(0,_vitest.expect)((0,_layout.parseLayout)("inset-y-md",customSpacing)).toEqual({top:16,bottom:16});});(0,_vitest.it)("should support custom spacing for inset-s/inset-e",function(){(0,_vitest.expect)((0,_layout.parseLayout)("inset-s-lg",customSpacing)).toEqual({start:32});(0,_vitest.expect)((0,_layout.parseLayout)("inset-e-xl",customSpacing)).toEqual({end:64});});(0,_vitest.it)("should support negative values with custom spacing for start/end",function(){(0,_vitest.expect)((0,_layout.parseLayout)("-start-sm",customSpacing)).toEqual({start:-8});(0,_vitest.expect)((0,_layout.parseLayout)("-end-md",customSpacing)).toEqual({end:-16});});(0,_vitest.it)("should still support arbitrary values with custom spacing",function(){(0,_vitest.expect)((0,_layout.parseLayout)("top-[100px]",customSpacing)).toEqual({top:100});(0,_vitest.expect)((0,_layout.parseLayout)("inset-[50%]",customSpacing)).toEqual({top:"50%",right:"50%",bottom:"50%",left:"50%"});});(0,_vitest.it)("should handle non-layout classes as null",function(){(0,_vitest.expect)((0,_layout.parseLayout)("text-xl",customSpacing)).toBeNull();(0,_vitest.expect)((0,_layout.parseLayout)("bg-blue-500",customSpacing)).toBeNull();});});
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Modifier parsing utilities for state-based, platform-specific,
|
|
2
|
+
* Modifier parsing utilities for state-based, platform-specific, color scheme, and directional class names
|
|
3
3
|
* - State modifiers: active:, hover:, focus:, disabled:, placeholder:
|
|
4
4
|
* - Platform modifiers: ios:, android:, web:
|
|
5
5
|
* - Color scheme modifiers: dark:, light:
|
|
6
|
+
* - Directional modifiers: rtl:, ltr: (RTL-aware styling)
|
|
6
7
|
*/
|
|
7
8
|
export type StateModifierType = "active" | "hover" | "focus" | "disabled" | "placeholder";
|
|
8
9
|
export type PlatformModifierType = "ios" | "android" | "web";
|
|
9
10
|
export type ColorSchemeModifierType = "dark" | "light";
|
|
10
11
|
export type SchemeModifierType = "scheme";
|
|
11
|
-
export type
|
|
12
|
+
export type DirectionalModifierType = "rtl" | "ltr";
|
|
13
|
+
export type ModifierType = StateModifierType | PlatformModifierType | ColorSchemeModifierType | SchemeModifierType | DirectionalModifierType;
|
|
12
14
|
export type ParsedModifier = {
|
|
13
15
|
modifier: ModifierType;
|
|
14
16
|
baseClass: string;
|
|
@@ -60,6 +62,13 @@ export declare function isColorSchemeModifier(modifier: ModifierType): modifier
|
|
|
60
62
|
* @returns true if modifier is a scheme modifier
|
|
61
63
|
*/
|
|
62
64
|
export declare function isSchemeModifier(modifier: ModifierType): modifier is SchemeModifierType;
|
|
65
|
+
/**
|
|
66
|
+
* Check if a modifier is a directional modifier (rtl, ltr)
|
|
67
|
+
*
|
|
68
|
+
* @param modifier - Modifier type to check
|
|
69
|
+
* @returns true if modifier is a directional modifier
|
|
70
|
+
*/
|
|
71
|
+
export declare function isDirectionalModifier(modifier: ModifierType): modifier is DirectionalModifierType;
|
|
63
72
|
/**
|
|
64
73
|
* Check if a class name is a color-based utility class
|
|
65
74
|
*
|
|
@@ -89,6 +98,16 @@ export declare function isColorClass(className: string): boolean;
|
|
|
89
98
|
* // ]
|
|
90
99
|
*/
|
|
91
100
|
export declare function expandSchemeModifier(schemeModifier: ParsedModifier, customColors: Record<string, string>, darkSuffix?: string, lightSuffix?: string): ParsedModifier[];
|
|
101
|
+
/**
|
|
102
|
+
* Check if a class should be expanded to directional modifiers
|
|
103
|
+
*
|
|
104
|
+
* @param cls - Class name to check
|
|
105
|
+
* @returns Expansion object if class should expand, undefined otherwise
|
|
106
|
+
*/
|
|
107
|
+
export declare function getDirectionalExpansion(cls: string): {
|
|
108
|
+
ltr: string;
|
|
109
|
+
rtl: string;
|
|
110
|
+
} | undefined;
|
|
92
111
|
/**
|
|
93
112
|
* Split a space-separated className string into base and modifier classes
|
|
94
113
|
*
|
|
@@ -104,6 +123,17 @@ export declare function expandSchemeModifier(schemeModifier: ParsedModifier, cus
|
|
|
104
123
|
* // { modifier: "active", baseClass: "p-6" }
|
|
105
124
|
* // ]
|
|
106
125
|
* // }
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* // text-start/text-end auto-expand to directional modifiers for true RTL support
|
|
129
|
+
* splitModifierClasses("text-start p-4")
|
|
130
|
+
* // {
|
|
131
|
+
* // baseClasses: ["p-4"],
|
|
132
|
+
* // modifierClasses: [
|
|
133
|
+
* // { modifier: "ltr", baseClass: "text-left" },
|
|
134
|
+
* // { modifier: "rtl", baseClass: "text-right" }
|
|
135
|
+
* // ]
|
|
136
|
+
* // }
|
|
107
137
|
*/
|
|
108
138
|
export declare function splitModifierClasses(className: string): {
|
|
109
139
|
baseClasses: string[];
|
package/dist/parser/modifiers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.expandSchemeModifier=expandSchemeModifier;exports.hasModifier=hasModifier;exports.isColorClass=isColorClass;exports.isColorSchemeModifier=isColorSchemeModifier;exports.isPlatformModifier=isPlatformModifier;exports.isSchemeModifier=isSchemeModifier;exports.isStateModifier=isStateModifier;exports.parseModifier=parseModifier;exports.splitModifierClasses=splitModifierClasses;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var STATE_MODIFIERS=["active","hover","focus","disabled","placeholder"];var PLATFORM_MODIFIERS=["ios","android","web"];var COLOR_SCHEME_MODIFIERS=["dark","light"];var SCHEME_MODIFIERS=["scheme"];var SUPPORTED_MODIFIERS=[].concat(STATE_MODIFIERS,PLATFORM_MODIFIERS,COLOR_SCHEME_MODIFIERS,SCHEME_MODIFIERS);function parseModifier(cls){var colonIndex=cls.indexOf(":");if(colonIndex===-1){return null;}var potentialModifier=cls.slice(0,colonIndex);var baseClass=cls.slice(colonIndex+1);if(!SUPPORTED_MODIFIERS.includes(potentialModifier)){return null;}if(baseClass.includes(":")){return null;}if(!baseClass){return null;}return{modifier:potentialModifier,baseClass:baseClass};}function hasModifier(cls){return parseModifier(cls)!==null;}function isStateModifier(modifier){return STATE_MODIFIERS.includes(modifier);}function isPlatformModifier(modifier){return PLATFORM_MODIFIERS.includes(modifier);}function isColorSchemeModifier(modifier){return COLOR_SCHEME_MODIFIERS.includes(modifier);}function isSchemeModifier(modifier){return SCHEME_MODIFIERS.includes(modifier);}function isColorClass(className){return className.startsWith("text-")||className.startsWith("bg-")||className.startsWith("border-");}function expandSchemeModifier(schemeModifier,customColors){var darkSuffix=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"-dark";var lightSuffix=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"-light";var baseClass=schemeModifier.baseClass;if(!isColorClass(baseClass)){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] scheme: modifier only supports color classes (text-*, bg-*, border-*). `+`Found: "${baseClass}". This modifier will be ignored.`);}return[];}var match=baseClass.match(/^(text|bg|border)-(.+)$/);if(!match){return[];}var _match=(0,_slicedToArray2.default)(match,3),prefix=_match[1],colorName=_match[2];var darkColorName=`${colorName}${darkSuffix}`;var lightColorName=`${colorName}${lightSuffix}`;var darkColorExists=customColors[darkColorName]!==undefined;var lightColorExists=customColors[lightColorName]!==undefined;if(!darkColorExists||!lightColorExists){if(process.env.NODE_ENV!=="production"){var missing=[];if(!darkColorExists)missing.push(`${colorName}${darkSuffix}`);if(!lightColorExists)missing.push(`${colorName}${lightSuffix}`);console.warn(`[react-native-tailwind] scheme:${baseClass} requires both color variants to exist. `+`Missing: ${missing.join(", ")}. This modifier will be ignored.`);}return[];}return[{modifier:"dark",baseClass:`${prefix}-${darkColorName}`},{modifier:"light",baseClass:`${prefix}-${lightColorName}`}];}function splitModifierClasses(className){var classes=className.trim().split(/\s+/).filter(Boolean);var baseClasses=[];var modifierClasses=[];for(var cls of classes){var parsed=parseModifier(cls);if(parsed){modifierClasses.push(parsed);}else{baseClasses.push(cls);}}return{baseClasses:baseClasses,modifierClasses:modifierClasses};}
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.expandSchemeModifier=expandSchemeModifier;exports.getDirectionalExpansion=getDirectionalExpansion;exports.hasModifier=hasModifier;exports.isColorClass=isColorClass;exports.isColorSchemeModifier=isColorSchemeModifier;exports.isDirectionalModifier=isDirectionalModifier;exports.isPlatformModifier=isPlatformModifier;exports.isSchemeModifier=isSchemeModifier;exports.isStateModifier=isStateModifier;exports.parseModifier=parseModifier;exports.splitModifierClasses=splitModifierClasses;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var STATE_MODIFIERS=["active","hover","focus","disabled","placeholder"];var PLATFORM_MODIFIERS=["ios","android","web"];var COLOR_SCHEME_MODIFIERS=["dark","light"];var SCHEME_MODIFIERS=["scheme"];var DIRECTIONAL_MODIFIERS=["rtl","ltr"];var SUPPORTED_MODIFIERS=[].concat(STATE_MODIFIERS,PLATFORM_MODIFIERS,COLOR_SCHEME_MODIFIERS,SCHEME_MODIFIERS,DIRECTIONAL_MODIFIERS);function parseModifier(cls){var colonIndex=cls.indexOf(":");if(colonIndex===-1){return null;}var potentialModifier=cls.slice(0,colonIndex);var baseClass=cls.slice(colonIndex+1);if(!SUPPORTED_MODIFIERS.includes(potentialModifier)){return null;}if(baseClass.includes(":")){return null;}if(!baseClass){return null;}return{modifier:potentialModifier,baseClass:baseClass};}function hasModifier(cls){return parseModifier(cls)!==null;}function isStateModifier(modifier){return STATE_MODIFIERS.includes(modifier);}function isPlatformModifier(modifier){return PLATFORM_MODIFIERS.includes(modifier);}function isColorSchemeModifier(modifier){return COLOR_SCHEME_MODIFIERS.includes(modifier);}function isSchemeModifier(modifier){return SCHEME_MODIFIERS.includes(modifier);}function isDirectionalModifier(modifier){return DIRECTIONAL_MODIFIERS.includes(modifier);}function isColorClass(className){return className.startsWith("text-")||className.startsWith("bg-")||className.startsWith("border-");}function expandSchemeModifier(schemeModifier,customColors){var darkSuffix=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"-dark";var lightSuffix=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"-light";var baseClass=schemeModifier.baseClass;if(!isColorClass(baseClass)){if(process.env.NODE_ENV!=="production"){console.warn(`[react-native-tailwind] scheme: modifier only supports color classes (text-*, bg-*, border-*). `+`Found: "${baseClass}". This modifier will be ignored.`);}return[];}var match=baseClass.match(/^(text|bg|border)-(.+)$/);if(!match){return[];}var _match=(0,_slicedToArray2.default)(match,3),prefix=_match[1],colorName=_match[2];var darkColorName=`${colorName}${darkSuffix}`;var lightColorName=`${colorName}${lightSuffix}`;var darkColorExists=customColors[darkColorName]!==undefined;var lightColorExists=customColors[lightColorName]!==undefined;if(!darkColorExists||!lightColorExists){if(process.env.NODE_ENV!=="production"){var missing=[];if(!darkColorExists)missing.push(`${colorName}${darkSuffix}`);if(!lightColorExists)missing.push(`${colorName}${lightSuffix}`);console.warn(`[react-native-tailwind] scheme:${baseClass} requires both color variants to exist. `+`Missing: ${missing.join(", ")}. This modifier will be ignored.`);}return[];}return[{modifier:"dark",baseClass:`${prefix}-${darkColorName}`},{modifier:"light",baseClass:`${prefix}-${lightColorName}`}];}var DIRECTIONAL_TEXT_ALIGN_EXPANSIONS={"text-start":{ltr:"text-left",rtl:"text-right"},"text-end":{ltr:"text-right",rtl:"text-left"}};function getDirectionalExpansion(cls){return DIRECTIONAL_TEXT_ALIGN_EXPANSIONS[cls];}function splitModifierClasses(className){var classes=className.trim().split(/\s+/).filter(Boolean);var baseClasses=[];var modifierClasses=[];for(var cls of classes){var directionalExpansion=getDirectionalExpansion(cls);if(directionalExpansion){modifierClasses.push({modifier:"ltr",baseClass:directionalExpansion.ltr});modifierClasses.push({modifier:"rtl",baseClass:directionalExpansion.rtl});continue;}var parsed=parseModifier(cls);if(parsed){modifierClasses.push(parsed);}else{baseClasses.push(cls);}}return{baseClasses:baseClasses,modifierClasses:modifierClasses};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vitest=require("vitest");var _modifiers=require("./modifiers");(0,_vitest.describe)("parseModifier - basic functionality",function(){(0,_vitest.it)("should parse active modifier",function(){var result=(0,_modifiers.parseModifier)("active:bg-blue-500");(0,_vitest.expect)(result).toEqual({modifier:"active",baseClass:"bg-blue-500"});});(0,_vitest.it)("should parse hover modifier",function(){var result=(0,_modifiers.parseModifier)("hover:text-red-500");(0,_vitest.expect)(result).toEqual({modifier:"hover",baseClass:"text-red-500"});});(0,_vitest.it)("should parse focus modifier",function(){var result=(0,_modifiers.parseModifier)("focus:border-green-500");(0,_vitest.expect)(result).toEqual({modifier:"focus",baseClass:"border-green-500"});});(0,_vitest.it)("should parse disabled modifier",function(){var result=(0,_modifiers.parseModifier)("disabled:bg-gray-400");(0,_vitest.expect)(result).toEqual({modifier:"disabled",baseClass:"bg-gray-400"});});(0,_vitest.it)("should return null for class without modifier",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("text-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("p-4")).toBeNull();});});(0,_vitest.describe)("parseModifier - various base classes",function(){(0,_vitest.it)("should parse modifiers with spacing classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:m-4")).toEqual({modifier:"active",baseClass:"m-4"});(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:p-8")).toEqual({modifier:"hover",baseClass:"p-8"});});(0,_vitest.it)("should parse modifiers with layout classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:flex")).toEqual({modifier:"active",baseClass:"flex"});(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:absolute")).toEqual({modifier:"focus",baseClass:"absolute"});});(0,_vitest.it)("should parse modifiers with typography classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:text-lg")).toEqual({modifier:"hover",baseClass:"text-lg"});(0,_vitest.expect)((0,_modifiers.parseModifier)("active:font-bold")).toEqual({modifier:"active",baseClass:"font-bold"});});(0,_vitest.it)("should parse modifiers with arbitrary values",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:bg-[#ff0000]")).toEqual({modifier:"active",baseClass:"bg-[#ff0000]"});(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:w-[100px]")).toEqual({modifier:"hover",baseClass:"w-[100px]"});});(0,_vitest.it)("should parse modifiers with complex class names",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:inset-x-4")).toEqual({modifier:"active",baseClass:"inset-x-4"});(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:border-blue-500")).toEqual({modifier:"focus",baseClass:"border-blue-500"});});});(0,_vitest.describe)("parseModifier - edge cases",function(){(0,_vitest.it)("should return null for unsupported modifiers",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("selected:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("pressed:bg-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("custom:bg-green-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("unknown:bg-gray-500")).toBeNull();});(0,_vitest.it)("should return null for nested modifiers",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:hover:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:focus:text-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:active:p-4")).toBeNull();});(0,_vitest.it)("should return null for empty base class",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:")).toBeNull();});(0,_vitest.it)("should return null for empty modifier",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)(":bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)(":")).toBeNull();});(0,_vitest.it)("should return null for class with only colon",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)(":")).toBeNull();});(0,_vitest.it)("should return null for class with multiple colons but no modifier",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("bg:blue:500")).toBeNull();});(0,_vitest.it)("should handle base classes that look like they have colons",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:some:thing")).toBeNull();});(0,_vitest.it)("should return null for empty string",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("")).toBeNull();});});(0,_vitest.describe)("parseModifier - case sensitivity",function(){(0,_vitest.it)("should be case-sensitive for modifiers",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("Active:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("ACTIVE:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("Hover:text-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("FOCUS:border-green-500")).toBeNull();});(0,_vitest.it)("should preserve case in base class",function(){var result=(0,_modifiers.parseModifier)("active:bg-Blue-500");(0,_vitest.expect)(result).toEqual({modifier:"active",baseClass:"bg-Blue-500"});});});(0,_vitest.describe)("hasModifier",function(){(0,_vitest.it)("should return true for classes with modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("active:bg-blue-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.hasModifier)("hover:text-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.hasModifier)("focus:border-green-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.hasModifier)("disabled:bg-gray-400")).toBe(true);});(0,_vitest.it)("should return false for classes without modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("bg-blue-500")).toBe(false);(0,_vitest.expect)((0,_modifiers.hasModifier)("text-red-500")).toBe(false);(0,_vitest.expect)((0,_modifiers.hasModifier)("p-4")).toBe(false);});(0,_vitest.it)("should return false for unsupported modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("selected:bg-gray-500")).toBe(false);(0,_vitest.expect)((0,_modifiers.hasModifier)("pressed:bg-blue-500")).toBe(false);});(0,_vitest.it)("should return false for nested modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("active:hover:bg-blue-500")).toBe(false);});(0,_vitest.it)("should return false for empty base class",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("active:")).toBe(false);});(0,_vitest.it)("should return false for empty string",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("")).toBe(false);});});(0,_vitest.describe)("splitModifierClasses - basic functionality",function(){(0,_vitest.it)("should split classes with and without modifiers",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle multiple base classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 p-4 m-2 text-white");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","p-4","m-2","text-white"],modifierClasses:[]});});(0,_vitest.it)("should handle multiple modifier classes",function(){var result=(0,_modifiers.splitModifierClasses)("active:bg-blue-700 hover:bg-blue-800 focus:bg-blue-900");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"hover",baseClass:"bg-blue-800"},{modifier:"focus",baseClass:"bg-blue-900"}]});});(0,_vitest.it)("should handle mixed base and modifier classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700 p-4 active:p-6");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","p-4"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"active",baseClass:"p-6"}]});});});(0,_vitest.describe)("splitModifierClasses - whitespace handling",function(){(0,_vitest.it)("should handle leading whitespace",function(){var result=(0,_modifiers.splitModifierClasses)(" bg-blue-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle trailing whitespace",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700 ");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle multiple spaces between classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle tabs and newlines",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500\tactive:bg-blue-700\np-4");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","p-4"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle empty string",function(){var result=(0,_modifiers.splitModifierClasses)("");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[]});});(0,_vitest.it)("should handle whitespace-only string",function(){var result=(0,_modifiers.splitModifierClasses)(" ");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[]});});});(0,_vitest.describe)("splitModifierClasses - complex scenarios",function(){(0,_vitest.it)("should handle duplicate modifiers for same property",function(){var result=(0,_modifiers.splitModifierClasses)("active:bg-blue-700 active:bg-red-700");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"active",baseClass:"bg-red-700"}]});});(0,_vitest.it)("should handle all four modifier types",function(){var result=(0,_modifiers.splitModifierClasses)("bg-gray-500 active:bg-blue-700 hover:bg-green-700 focus:bg-red-700 disabled:bg-gray-400");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-gray-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"hover",baseClass:"bg-green-700"},{modifier:"focus",baseClass:"bg-red-700"},{modifier:"disabled",baseClass:"bg-gray-400"}]});});(0,_vitest.it)("should ignore unsupported modifiers in the base classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 pressed:bg-gray-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","pressed:bg-gray-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle modifiers with arbitrary values",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-[#ff0000] hover:w-[200px]");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-[#ff0000]"},{modifier:"hover",baseClass:"w-[200px]"}]});});(0,_vitest.it)("should handle real-world className example",function(){var result=(0,_modifiers.splitModifierClasses)("flex items-center justify-center bg-blue-500 p-4 active:bg-blue-700 active:scale-95 hover:bg-blue-600");(0,_vitest.expect)(result).toEqual({baseClasses:["flex","items-center","justify-center","bg-blue-500","p-4"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"active",baseClass:"scale-95"},{modifier:"hover",baseClass:"bg-blue-600"}]});});});(0,_vitest.describe)("splitModifierClasses - nested modifiers",function(){(0,_vitest.it)("should ignore nested modifiers",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:hover:bg-red-500");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","active:hover:bg-red-500"],modifierClasses:[]});});});(0,_vitest.describe)("type safety",function(){(0,_vitest.it)("should properly type modifier types",function(){var result=(0,_modifiers.parseModifier)("active:bg-blue-500");if(result){var modifier=result.modifier;(0,_vitest.expect)(["active","hover","focus","disabled"]).toContain(modifier);}});(0,_vitest.it)("should properly type ParsedModifier",function(){var result=(0,_modifiers.parseModifier)("hover:text-red-500");if(result){var parsed=result;(0,_vitest.expect)(parsed).toHaveProperty("modifier");(0,_vitest.expect)(parsed).toHaveProperty("baseClass");(0,_vitest.expect)(typeof parsed.modifier).toBe("string");(0,_vitest.expect)(typeof parsed.baseClass).toBe("string");}});});(0,_vitest.describe)("isSchemeModifier",function(){(0,_vitest.it)("should return true for scheme modifier",function(){(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("scheme")).toBe(true);});(0,_vitest.it)("should return false for non-scheme modifiers",function(){(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("dark")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("light")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("active")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("ios")).toBe(false);});});(0,_vitest.describe)("isColorClass",function(){(0,_vitest.it)("should return true for text color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("text-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("text-systemGray")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("text-blue-50")).toBe(true);});(0,_vitest.it)("should return true for background color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("bg-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("bg-systemGray")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("bg-transparent")).toBe(true);});(0,_vitest.it)("should return true for border color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("border-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("border-systemGray")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("border-black")).toBe(true);});(0,_vitest.it)("should return false for non-color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("m-4")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("p-2")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("flex")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("rounded-lg")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("font-bold")).toBe(false);});});(0,_vitest.describe)("expandSchemeModifier",function(){var customColors={"systemGray-dark":"#333333","systemGray-light":"#CCCCCC","primary-dark":"#1E40AF","primary-light":"#BFDBFE","accent-dark":"#DC2626","accent-light":"#FECACA"};(0,_vitest.it)("should expand text color scheme modifier with default suffixes",function(){var modifier={modifier:"scheme",baseClass:"text-systemGray"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toHaveLength(2);(0,_vitest.expect)(result[0]).toEqual({modifier:"dark",baseClass:"text-systemGray-dark"});(0,_vitest.expect)(result[1]).toEqual({modifier:"light",baseClass:"text-systemGray-light"});});(0,_vitest.it)("should expand background color scheme modifier",function(){var modifier={modifier:"scheme",baseClass:"bg-primary"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toHaveLength(2);(0,_vitest.expect)(result[0]).toEqual({modifier:"dark",baseClass:"bg-primary-dark"});(0,_vitest.expect)(result[1]).toEqual({modifier:"light",baseClass:"bg-primary-light"});});(0,_vitest.it)("should expand border color scheme modifier",function(){var modifier={modifier:"scheme",baseClass:"border-accent"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toHaveLength(2);(0,_vitest.expect)(result[0]).toEqual({modifier:"dark",baseClass:"border-accent-dark"});(0,_vitest.expect)(result[1]).toEqual({modifier:"light",baseClass:"border-accent-light"});});(0,_vitest.it)("should use custom suffixes when provided",function(){var modifier={modifier:"scheme",baseClass:"text-systemGray"};var _result=(0,_modifiers.expandSchemeModifier)(modifier,customColors,"-darkMode","-lightMode");var expectedColors={"systemGray-darkMode":"#333333","systemGray-lightMode":"#CCCCCC"};(0,_vitest.expect)((0,_modifiers.expandSchemeModifier)(modifier,expectedColors,"-darkMode","-lightMode")).toHaveLength(2);});(0,_vitest.it)("should return empty array for non-color classes",function(){var modifier={modifier:"scheme",baseClass:"m-4"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toEqual([]);});(0,_vitest.it)("should return empty array when dark color variant is missing",function(){var modifier={modifier:"scheme",baseClass:"text-missing"};var incompleteColors={"missing-light":"#FFFFFF"};var result=(0,_modifiers.expandSchemeModifier)(modifier,incompleteColors);(0,_vitest.expect)(result).toEqual([]);});(0,_vitest.it)("should return empty array when light color variant is missing",function(){var modifier={modifier:"scheme",baseClass:"text-missing"};var incompleteColors={"missing-dark":"#000000"};var result=(0,_modifiers.expandSchemeModifier)(modifier,incompleteColors);(0,_vitest.expect)(result).toEqual([]);});(0,_vitest.it)("should return empty array when both color variants are missing",function(){var modifier={modifier:"scheme",baseClass:"text-missing"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toEqual([]);});});
|
|
1
|
+
var _vitest=require("vitest");var _modifiers=require("./modifiers");(0,_vitest.describe)("parseModifier - basic functionality",function(){(0,_vitest.it)("should parse active modifier",function(){var result=(0,_modifiers.parseModifier)("active:bg-blue-500");(0,_vitest.expect)(result).toEqual({modifier:"active",baseClass:"bg-blue-500"});});(0,_vitest.it)("should parse hover modifier",function(){var result=(0,_modifiers.parseModifier)("hover:text-red-500");(0,_vitest.expect)(result).toEqual({modifier:"hover",baseClass:"text-red-500"});});(0,_vitest.it)("should parse focus modifier",function(){var result=(0,_modifiers.parseModifier)("focus:border-green-500");(0,_vitest.expect)(result).toEqual({modifier:"focus",baseClass:"border-green-500"});});(0,_vitest.it)("should parse disabled modifier",function(){var result=(0,_modifiers.parseModifier)("disabled:bg-gray-400");(0,_vitest.expect)(result).toEqual({modifier:"disabled",baseClass:"bg-gray-400"});});(0,_vitest.it)("should return null for class without modifier",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("text-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("p-4")).toBeNull();});});(0,_vitest.describe)("parseModifier - various base classes",function(){(0,_vitest.it)("should parse modifiers with spacing classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:m-4")).toEqual({modifier:"active",baseClass:"m-4"});(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:p-8")).toEqual({modifier:"hover",baseClass:"p-8"});});(0,_vitest.it)("should parse modifiers with layout classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:flex")).toEqual({modifier:"active",baseClass:"flex"});(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:absolute")).toEqual({modifier:"focus",baseClass:"absolute"});});(0,_vitest.it)("should parse modifiers with typography classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:text-lg")).toEqual({modifier:"hover",baseClass:"text-lg"});(0,_vitest.expect)((0,_modifiers.parseModifier)("active:font-bold")).toEqual({modifier:"active",baseClass:"font-bold"});});(0,_vitest.it)("should parse modifiers with arbitrary values",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:bg-[#ff0000]")).toEqual({modifier:"active",baseClass:"bg-[#ff0000]"});(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:w-[100px]")).toEqual({modifier:"hover",baseClass:"w-[100px]"});});(0,_vitest.it)("should parse modifiers with complex class names",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:inset-x-4")).toEqual({modifier:"active",baseClass:"inset-x-4"});(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:border-blue-500")).toEqual({modifier:"focus",baseClass:"border-blue-500"});});});(0,_vitest.describe)("parseModifier - edge cases",function(){(0,_vitest.it)("should return null for unsupported modifiers",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("selected:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("pressed:bg-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("custom:bg-green-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("unknown:bg-gray-500")).toBeNull();});(0,_vitest.it)("should return null for nested modifiers",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:hover:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:focus:text-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:active:p-4")).toBeNull();});(0,_vitest.it)("should return null for empty base class",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("hover:")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("focus:")).toBeNull();});(0,_vitest.it)("should return null for empty modifier",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)(":bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)(":")).toBeNull();});(0,_vitest.it)("should return null for class with only colon",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)(":")).toBeNull();});(0,_vitest.it)("should return null for class with multiple colons but no modifier",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("bg:blue:500")).toBeNull();});(0,_vitest.it)("should handle base classes that look like they have colons",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("active:some:thing")).toBeNull();});(0,_vitest.it)("should return null for empty string",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("")).toBeNull();});});(0,_vitest.describe)("parseModifier - case sensitivity",function(){(0,_vitest.it)("should be case-sensitive for modifiers",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("Active:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("ACTIVE:bg-blue-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("Hover:text-red-500")).toBeNull();(0,_vitest.expect)((0,_modifiers.parseModifier)("FOCUS:border-green-500")).toBeNull();});(0,_vitest.it)("should preserve case in base class",function(){var result=(0,_modifiers.parseModifier)("active:bg-Blue-500");(0,_vitest.expect)(result).toEqual({modifier:"active",baseClass:"bg-Blue-500"});});});(0,_vitest.describe)("hasModifier",function(){(0,_vitest.it)("should return true for classes with modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("active:bg-blue-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.hasModifier)("hover:text-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.hasModifier)("focus:border-green-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.hasModifier)("disabled:bg-gray-400")).toBe(true);});(0,_vitest.it)("should return false for classes without modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("bg-blue-500")).toBe(false);(0,_vitest.expect)((0,_modifiers.hasModifier)("text-red-500")).toBe(false);(0,_vitest.expect)((0,_modifiers.hasModifier)("p-4")).toBe(false);});(0,_vitest.it)("should return false for unsupported modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("selected:bg-gray-500")).toBe(false);(0,_vitest.expect)((0,_modifiers.hasModifier)("pressed:bg-blue-500")).toBe(false);});(0,_vitest.it)("should return false for nested modifiers",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("active:hover:bg-blue-500")).toBe(false);});(0,_vitest.it)("should return false for empty base class",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("active:")).toBe(false);});(0,_vitest.it)("should return false for empty string",function(){(0,_vitest.expect)((0,_modifiers.hasModifier)("")).toBe(false);});});(0,_vitest.describe)("splitModifierClasses - basic functionality",function(){(0,_vitest.it)("should split classes with and without modifiers",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle multiple base classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 p-4 m-2 text-white");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","p-4","m-2","text-white"],modifierClasses:[]});});(0,_vitest.it)("should handle multiple modifier classes",function(){var result=(0,_modifiers.splitModifierClasses)("active:bg-blue-700 hover:bg-blue-800 focus:bg-blue-900");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"hover",baseClass:"bg-blue-800"},{modifier:"focus",baseClass:"bg-blue-900"}]});});(0,_vitest.it)("should handle mixed base and modifier classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700 p-4 active:p-6");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","p-4"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"active",baseClass:"p-6"}]});});});(0,_vitest.describe)("splitModifierClasses - whitespace handling",function(){(0,_vitest.it)("should handle leading whitespace",function(){var result=(0,_modifiers.splitModifierClasses)(" bg-blue-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle trailing whitespace",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700 ");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle multiple spaces between classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle tabs and newlines",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500\tactive:bg-blue-700\np-4");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","p-4"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle empty string",function(){var result=(0,_modifiers.splitModifierClasses)("");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[]});});(0,_vitest.it)("should handle whitespace-only string",function(){var result=(0,_modifiers.splitModifierClasses)(" ");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[]});});});(0,_vitest.describe)("splitModifierClasses - complex scenarios",function(){(0,_vitest.it)("should handle duplicate modifiers for same property",function(){var result=(0,_modifiers.splitModifierClasses)("active:bg-blue-700 active:bg-red-700");(0,_vitest.expect)(result).toEqual({baseClasses:[],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"active",baseClass:"bg-red-700"}]});});(0,_vitest.it)("should handle all four modifier types",function(){var result=(0,_modifiers.splitModifierClasses)("bg-gray-500 active:bg-blue-700 hover:bg-green-700 focus:bg-red-700 disabled:bg-gray-400");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-gray-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"hover",baseClass:"bg-green-700"},{modifier:"focus",baseClass:"bg-red-700"},{modifier:"disabled",baseClass:"bg-gray-400"}]});});(0,_vitest.it)("should ignore unsupported modifiers in the base classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 pressed:bg-gray-500 active:bg-blue-700");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","pressed:bg-gray-500"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"}]});});(0,_vitest.it)("should handle modifiers with arbitrary values",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:bg-[#ff0000] hover:w-[200px]");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500"],modifierClasses:[{modifier:"active",baseClass:"bg-[#ff0000]"},{modifier:"hover",baseClass:"w-[200px]"}]});});(0,_vitest.it)("should handle real-world className example",function(){var result=(0,_modifiers.splitModifierClasses)("flex items-center justify-center bg-blue-500 p-4 active:bg-blue-700 active:scale-95 hover:bg-blue-600");(0,_vitest.expect)(result).toEqual({baseClasses:["flex","items-center","justify-center","bg-blue-500","p-4"],modifierClasses:[{modifier:"active",baseClass:"bg-blue-700"},{modifier:"active",baseClass:"scale-95"},{modifier:"hover",baseClass:"bg-blue-600"}]});});});(0,_vitest.describe)("splitModifierClasses - nested modifiers",function(){(0,_vitest.it)("should ignore nested modifiers",function(){var result=(0,_modifiers.splitModifierClasses)("bg-blue-500 active:hover:bg-red-500");(0,_vitest.expect)(result).toEqual({baseClasses:["bg-blue-500","active:hover:bg-red-500"],modifierClasses:[]});});});(0,_vitest.describe)("type safety",function(){(0,_vitest.it)("should properly type modifier types",function(){var result=(0,_modifiers.parseModifier)("active:bg-blue-500");if(result){var modifier=result.modifier;(0,_vitest.expect)(["active","hover","focus","disabled"]).toContain(modifier);}});(0,_vitest.it)("should properly type ParsedModifier",function(){var result=(0,_modifiers.parseModifier)("hover:text-red-500");if(result){var parsed=result;(0,_vitest.expect)(parsed).toHaveProperty("modifier");(0,_vitest.expect)(parsed).toHaveProperty("baseClass");(0,_vitest.expect)(typeof parsed.modifier).toBe("string");(0,_vitest.expect)(typeof parsed.baseClass).toBe("string");}});});(0,_vitest.describe)("isSchemeModifier",function(){(0,_vitest.it)("should return true for scheme modifier",function(){(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("scheme")).toBe(true);});(0,_vitest.it)("should return false for non-scheme modifiers",function(){(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("dark")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("light")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("active")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("ios")).toBe(false);});});(0,_vitest.describe)("isColorClass",function(){(0,_vitest.it)("should return true for text color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("text-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("text-systemGray")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("text-blue-50")).toBe(true);});(0,_vitest.it)("should return true for background color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("bg-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("bg-systemGray")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("bg-transparent")).toBe(true);});(0,_vitest.it)("should return true for border color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("border-red-500")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("border-systemGray")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorClass)("border-black")).toBe(true);});(0,_vitest.it)("should return false for non-color classes",function(){(0,_vitest.expect)((0,_modifiers.isColorClass)("m-4")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("p-2")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("flex")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("rounded-lg")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorClass)("font-bold")).toBe(false);});});(0,_vitest.describe)("expandSchemeModifier",function(){var customColors={"systemGray-dark":"#333333","systemGray-light":"#CCCCCC","primary-dark":"#1E40AF","primary-light":"#BFDBFE","accent-dark":"#DC2626","accent-light":"#FECACA"};(0,_vitest.it)("should expand text color scheme modifier with default suffixes",function(){var modifier={modifier:"scheme",baseClass:"text-systemGray"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toHaveLength(2);(0,_vitest.expect)(result[0]).toEqual({modifier:"dark",baseClass:"text-systemGray-dark"});(0,_vitest.expect)(result[1]).toEqual({modifier:"light",baseClass:"text-systemGray-light"});});(0,_vitest.it)("should expand background color scheme modifier",function(){var modifier={modifier:"scheme",baseClass:"bg-primary"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toHaveLength(2);(0,_vitest.expect)(result[0]).toEqual({modifier:"dark",baseClass:"bg-primary-dark"});(0,_vitest.expect)(result[1]).toEqual({modifier:"light",baseClass:"bg-primary-light"});});(0,_vitest.it)("should expand border color scheme modifier",function(){var modifier={modifier:"scheme",baseClass:"border-accent"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toHaveLength(2);(0,_vitest.expect)(result[0]).toEqual({modifier:"dark",baseClass:"border-accent-dark"});(0,_vitest.expect)(result[1]).toEqual({modifier:"light",baseClass:"border-accent-light"});});(0,_vitest.it)("should use custom suffixes when provided",function(){var modifier={modifier:"scheme",baseClass:"text-systemGray"};var _result=(0,_modifiers.expandSchemeModifier)(modifier,customColors,"-darkMode","-lightMode");var expectedColors={"systemGray-darkMode":"#333333","systemGray-lightMode":"#CCCCCC"};(0,_vitest.expect)((0,_modifiers.expandSchemeModifier)(modifier,expectedColors,"-darkMode","-lightMode")).toHaveLength(2);});(0,_vitest.it)("should return empty array for non-color classes",function(){var modifier={modifier:"scheme",baseClass:"m-4"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toEqual([]);});(0,_vitest.it)("should return empty array when dark color variant is missing",function(){var modifier={modifier:"scheme",baseClass:"text-missing"};var incompleteColors={"missing-light":"#FFFFFF"};var result=(0,_modifiers.expandSchemeModifier)(modifier,incompleteColors);(0,_vitest.expect)(result).toEqual([]);});(0,_vitest.it)("should return empty array when light color variant is missing",function(){var modifier={modifier:"scheme",baseClass:"text-missing"};var incompleteColors={"missing-dark":"#000000"};var result=(0,_modifiers.expandSchemeModifier)(modifier,incompleteColors);(0,_vitest.expect)(result).toEqual([]);});(0,_vitest.it)("should return empty array when both color variants are missing",function(){var modifier={modifier:"scheme",baseClass:"text-missing"};var result=(0,_modifiers.expandSchemeModifier)(modifier,customColors);(0,_vitest.expect)(result).toEqual([]);});});(0,_vitest.describe)("parseModifier - directional modifiers (rtl/ltr)",function(){(0,_vitest.it)("should parse rtl modifier",function(){var result=(0,_modifiers.parseModifier)("rtl:text-right");(0,_vitest.expect)(result).toEqual({modifier:"rtl",baseClass:"text-right"});});(0,_vitest.it)("should parse ltr modifier",function(){var result=(0,_modifiers.parseModifier)("ltr:text-left");(0,_vitest.expect)(result).toEqual({modifier:"ltr",baseClass:"text-left"});});(0,_vitest.it)("should parse directional modifiers with various base classes",function(){(0,_vitest.expect)((0,_modifiers.parseModifier)("rtl:ms-4")).toEqual({modifier:"rtl",baseClass:"ms-4"});(0,_vitest.expect)((0,_modifiers.parseModifier)("ltr:me-4")).toEqual({modifier:"ltr",baseClass:"me-4"});(0,_vitest.expect)((0,_modifiers.parseModifier)("rtl:flex-row-reverse")).toEqual({modifier:"rtl",baseClass:"flex-row-reverse"});});});(0,_vitest.describe)("modifier type check functions",function(){(0,_vitest.it)("should identify state modifiers",function(){(0,_vitest.expect)((0,_modifiers.isStateModifier)("active")).toBe(true);(0,_vitest.expect)((0,_modifiers.isStateModifier)("hover")).toBe(true);(0,_vitest.expect)((0,_modifiers.isStateModifier)("focus")).toBe(true);(0,_vitest.expect)((0,_modifiers.isStateModifier)("disabled")).toBe(true);(0,_vitest.expect)((0,_modifiers.isStateModifier)("placeholder")).toBe(true);(0,_vitest.expect)((0,_modifiers.isStateModifier)("ios")).toBe(false);(0,_vitest.expect)((0,_modifiers.isStateModifier)("dark")).toBe(false);(0,_vitest.expect)((0,_modifiers.isStateModifier)("rtl")).toBe(false);});(0,_vitest.it)("should identify platform modifiers",function(){(0,_vitest.expect)((0,_modifiers.isPlatformModifier)("ios")).toBe(true);(0,_vitest.expect)((0,_modifiers.isPlatformModifier)("android")).toBe(true);(0,_vitest.expect)((0,_modifiers.isPlatformModifier)("web")).toBe(true);(0,_vitest.expect)((0,_modifiers.isPlatformModifier)("active")).toBe(false);(0,_vitest.expect)((0,_modifiers.isPlatformModifier)("dark")).toBe(false);(0,_vitest.expect)((0,_modifiers.isPlatformModifier)("rtl")).toBe(false);});(0,_vitest.it)("should identify color scheme modifiers",function(){(0,_vitest.expect)((0,_modifiers.isColorSchemeModifier)("dark")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorSchemeModifier)("light")).toBe(true);(0,_vitest.expect)((0,_modifiers.isColorSchemeModifier)("active")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorSchemeModifier)("ios")).toBe(false);(0,_vitest.expect)((0,_modifiers.isColorSchemeModifier)("rtl")).toBe(false);});(0,_vitest.it)("should identify directional modifiers",function(){(0,_vitest.expect)((0,_modifiers.isDirectionalModifier)("rtl")).toBe(true);(0,_vitest.expect)((0,_modifiers.isDirectionalModifier)("ltr")).toBe(true);(0,_vitest.expect)((0,_modifiers.isDirectionalModifier)("active")).toBe(false);(0,_vitest.expect)((0,_modifiers.isDirectionalModifier)("ios")).toBe(false);(0,_vitest.expect)((0,_modifiers.isDirectionalModifier)("dark")).toBe(false);});(0,_vitest.it)("should identify scheme modifier",function(){(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("scheme")).toBe(true);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("active")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("dark")).toBe(false);(0,_vitest.expect)((0,_modifiers.isSchemeModifier)("rtl")).toBe(false);});});(0,_vitest.describe)("splitModifierClasses - directional modifiers",function(){(0,_vitest.it)("should split directional modifier classes",function(){var result=(0,_modifiers.splitModifierClasses)("bg-white rtl:bg-gray-100 ltr:bg-gray-50");(0,_vitest.expect)(result.baseClasses).toEqual(["bg-white"]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(2);(0,_vitest.expect)(result.modifierClasses[0]).toEqual({modifier:"rtl",baseClass:"bg-gray-100"});(0,_vitest.expect)(result.modifierClasses[1]).toEqual({modifier:"ltr",baseClass:"bg-gray-50"});});(0,_vitest.it)("should handle mixed modifiers including directional",function(){var result=(0,_modifiers.splitModifierClasses)("p-4 rtl:ps-6 ios:p-8 dark:bg-gray-900");(0,_vitest.expect)(result.baseClasses).toEqual(["p-4"]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(3);(0,_vitest.expect)(result.modifierClasses.map(function(m){return m.modifier;})).toContain("rtl");(0,_vitest.expect)(result.modifierClasses.map(function(m){return m.modifier;})).toContain("ios");(0,_vitest.expect)(result.modifierClasses.map(function(m){return m.modifier;})).toContain("dark");});});(0,_vitest.describe)("splitModifierClasses - text-start/text-end expansion",function(){(0,_vitest.it)("should expand text-start to ltr:text-left rtl:text-right",function(){var result=(0,_modifiers.splitModifierClasses)("text-start");(0,_vitest.expect)(result.baseClasses).toEqual([]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(2);(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"ltr",baseClass:"text-left"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"text-right"});});(0,_vitest.it)("should expand text-end to ltr:text-right rtl:text-left",function(){var result=(0,_modifiers.splitModifierClasses)("text-end");(0,_vitest.expect)(result.baseClasses).toEqual([]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(2);(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"ltr",baseClass:"text-right"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"text-left"});});(0,_vitest.it)("should handle text-start with other classes",function(){var result=(0,_modifiers.splitModifierClasses)("p-4 text-start bg-white");(0,_vitest.expect)(result.baseClasses).toEqual(["p-4","bg-white"]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(2);(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"ltr",baseClass:"text-left"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"text-right"});});(0,_vitest.it)("should handle both text-start and text-end in same className",function(){var result=(0,_modifiers.splitModifierClasses)("text-start text-end");(0,_vitest.expect)(result.baseClasses).toEqual([]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(4);(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"ltr",baseClass:"text-left"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"text-right"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"ltr",baseClass:"text-right"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"text-left"});});(0,_vitest.it)("should not affect text-left and text-right (no expansion)",function(){var result=(0,_modifiers.splitModifierClasses)("text-left text-right text-center");(0,_vitest.expect)(result.baseClasses).toEqual(["text-left","text-right","text-center"]);(0,_vitest.expect)(result.modifierClasses).toEqual([]);});(0,_vitest.it)("should handle text-start/text-end with other modifiers",function(){var result=(0,_modifiers.splitModifierClasses)("text-start active:bg-blue-500 rtl:pr-4");(0,_vitest.expect)(result.baseClasses).toEqual([]);(0,_vitest.expect)(result.modifierClasses).toHaveLength(4);(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"ltr",baseClass:"text-left"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"text-right"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"active",baseClass:"bg-blue-500"});(0,_vitest.expect)(result.modifierClasses).toContainEqual({modifier:"rtl",baseClass:"pr-4"});});});
|