From 48d03719d63522603e36032ecb1ee198a771259d Mon Sep 17 00:00:00 2001 From: yaoyuchi Date: Wed, 19 Jan 2022 18:23:16 +0800 Subject: [PATCH] support css selector Signed-off-by: yaoyuchi --- deps/weex-styler/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deps/weex-styler/index.js b/deps/weex-styler/index.js index c299d22..b4ea0ff 100644 --- a/deps/weex-styler/index.js +++ b/deps/weex-styler/index.js @@ -13,6 +13,9 @@ var LENGTH_REGEXP = /^[-+]?\d*\.?\d+(\S*)$/ const CARD_SELECTOR = /^[\.#][A-Za-z0-9_\-]+$/ const card = process.env.DEVICE_LEVEL === 'card' var ALL_SELECTOR_MATCHER = /^\*$/ +var ATTRIBUTE_SELECTOR = /^\[+(?![0-9])\w{0,}(\s*=\s*)((?![0-9])\w{0,}|\"\w{0,}\")\]+$/ +var ELEMENT_AND_ELEMENT = /^[a-zA-Z][a-zA-Z-]{0,}\s{0,}(\+\s{0,}[a-zA-Z][a-zA-Z-]{0,})+$/ +var CONTENT_ID = /^[a-zA-Z][a-zA-Z-]{0,}([#][a-zA-Z][a-zA-Z0-9-]{0,})(.+?::(after|before))+$/ /** * expand margin、padding、border、borderWidth、borderColor、borderStyle properties、animation @@ -273,7 +276,8 @@ function parse(code, done, resourcePath) { rule.selectors.forEach(function (selector) { const flag = card ? selector.match(CARD_SELECTOR) : selector.match(SELECTOR_MATCHER) || selector.match(DESCENDANT_SELECTOR_MATCHER) || - selector.match(ALL_SELECTOR_MATCHER) + selector.match(ALL_SELECTOR_MATCHER) || selector.match(ATTRIBUTE_SELECTOR) || + selector.match(ELEMENT_AND_ELEMENT) || selector.match(CONTENT_ID) if (flag) { var className = selector -- Gitee