-import { normalizeClass } from '../src'
+import { normalizeClass, parseStringStyle } from '../src'
describe('normalizeClass', () => {
test('handles string correctly', () => {
'foo baz'
)
})
+
+ // #6777
+ test('parse multi-line inline style', () => {
+ expect(
+ parseStringStyle(`border: 1px solid transparent;
+ background: linear-gradient(white, white) padding-box,
+ repeating-linear-gradient(
+ -45deg,
+ #ccc 0,
+ #ccc 0.5em,
+ white 0,
+ white 0.75em
+ );`)
+ ).toMatchInlineSnapshot(`
+ Object {
+ "background": "linear-gradient(white, white) padding-box,
+ repeating-linear-gradient(
+ -45deg,
+ #ccc 0,
+ #ccc 0.5em,
+ white 0,
+ white 0.75em
+ )",
+ "border": "1px solid transparent",
+ }
+ `)
+ })
})
}
const listDelimiterRE = /;(?![^(]*\))/g
-const propertyDelimiterRE = /:(.+)/
+const propertyDelimiterRE = /:([^]+)/
export function parseStringStyle(cssText: string): NormalizedStyle {
const ret: NormalizedStyle = {}