From 39895fc37c88827b94cfb9dd7cb2517b90a17232 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Thu, 24 Jul 2025 23:53:31 +0900 Subject: [PATCH 1/2] Add option seq --- .changeset/calm-comics-grin.md | 5 + .changeset/sweet-badgers-play.md | 5 + .df/devup-ui.css | 1 - Cargo.lock | 60 +- libs/css/src/constant.rs | 79 +- libs/css/src/is_special_property.rs | 970 ++++++++++++++++++ libs/css/src/lib.rs | 1 + libs/css/src/optimize_value.rs | 19 +- libs/extractor/Cargo.toml | 14 +- .../extract_style_from_expression.rs | 6 +- libs/extractor/src/utils.rs | 139 --- libs/extractor/src/visit.rs | 3 +- packages/react/package.json | 2 +- .../src/types/props/__tests__/index.test-d.ts | 32 + packages/react/src/types/props/animation.ts | 18 - packages/react/src/types/props/background.ts | 17 +- packages/react/src/types/props/blending.ts | 9 - packages/react/src/types/props/box-align.ts | 18 - packages/react/src/types/props/box-model.ts | 12 - packages/react/src/types/props/box-sizing.ts | 15 - packages/react/src/types/props/color.ts | 14 - packages/react/src/types/props/display.ts | 7 - .../react/src/types/props/filter-effect.ts | 8 - packages/react/src/types/props/flex.ts | 9 - packages/react/src/types/props/font.ts | 27 - packages/react/src/types/props/grid.ts | 24 - packages/react/src/types/props/image.ts | 6 +- packages/react/src/types/props/index.ts | 60 +- packages/react/src/types/props/inline.ts | 10 - packages/react/src/types/props/list.ts | 10 - packages/react/src/types/props/masking.ts | 25 - packages/react/src/types/props/motion-path.ts | 7 +- .../src/types/props/overflow-behavior.ts | 11 - packages/react/src/types/props/overflow.ts | 15 - packages/react/src/types/props/position.ts | 15 - packages/react/src/types/props/scrollbar.ts | 8 - .../react/src/types/props/selector/index.ts | 84 +- packages/react/src/types/props/shape.ts | 9 - packages/react/src/types/props/svg.ts | 11 - packages/react/src/types/props/table.ts | 11 - packages/react/src/types/props/text.ts | 41 - packages/react/src/types/props/transform.ts | 16 - packages/react/src/types/props/transition.ts | 11 - packages/react/src/types/props/ui.ts | 24 - .../react/src/types/props/view-transition.ts | 7 - pnpm-lock.yaml | 580 +++++------ 46 files changed, 1460 insertions(+), 1015 deletions(-) create mode 100644 .changeset/calm-comics-grin.md create mode 100644 .changeset/sweet-badgers-play.md delete mode 100644 .df/devup-ui.css create mode 100644 libs/css/src/is_special_property.rs delete mode 100644 packages/react/src/types/props/animation.ts delete mode 100644 packages/react/src/types/props/blending.ts delete mode 100644 packages/react/src/types/props/box-align.ts delete mode 100644 packages/react/src/types/props/color.ts delete mode 100644 packages/react/src/types/props/display.ts delete mode 100644 packages/react/src/types/props/filter-effect.ts delete mode 100644 packages/react/src/types/props/font.ts delete mode 100644 packages/react/src/types/props/grid.ts delete mode 100644 packages/react/src/types/props/inline.ts delete mode 100644 packages/react/src/types/props/list.ts delete mode 100644 packages/react/src/types/props/masking.ts delete mode 100644 packages/react/src/types/props/overflow-behavior.ts delete mode 100644 packages/react/src/types/props/overflow.ts delete mode 100644 packages/react/src/types/props/scrollbar.ts delete mode 100644 packages/react/src/types/props/shape.ts delete mode 100644 packages/react/src/types/props/svg.ts delete mode 100644 packages/react/src/types/props/table.ts delete mode 100644 packages/react/src/types/props/transform.ts delete mode 100644 packages/react/src/types/props/transition.ts delete mode 100644 packages/react/src/types/props/ui.ts delete mode 100644 packages/react/src/types/props/view-transition.ts diff --git a/.changeset/calm-comics-grin.md b/.changeset/calm-comics-grin.md new file mode 100644 index 00000000..94e9a364 --- /dev/null +++ b/.changeset/calm-comics-grin.md @@ -0,0 +1,5 @@ +--- +"@devup-ui/wasm": patch +--- + +Optimize many func and props diff --git a/.changeset/sweet-badgers-play.md b/.changeset/sweet-badgers-play.md new file mode 100644 index 00000000..ca3b24ed --- /dev/null +++ b/.changeset/sweet-badgers-play.md @@ -0,0 +1,5 @@ +--- +"@devup-ui/react": patch +--- + +Implement Dynamic props by csstype diff --git a/.df/devup-ui.css b/.df/devup-ui.css deleted file mode 100644 index 62c487cc..00000000 --- a/.df/devup-ui.css +++ /dev/null @@ -1 +0,0 @@ -/* C:/Users/owjs3/Desktop/projects/devup-ui/packages/components/src/components/Button/__tests__/index.browser.test.tsx 1752471792555 */ \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 18c5ab70..7feb091a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -650,9 +650,9 @@ dependencies = [ [[package]] name = "oxc_allocator" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "423acea26b6422fa0778e91fdcb81b19148b8dd72c3f5ec9c1722b65dc220da2" +checksum = "84be1252337ee005688471024aa3c490237e11ef4c18013573d76820718bd28d" dependencies = [ "allocator-api2", "bumpalo", @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "oxc_ast" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5229e6d1c3f0e2f89c674f99b4bde8a4d5faf2ed4fc2ad34225d31bea546439" +checksum = "4611623aa731f9b6eafbbbb6616ddbfe65622fb9031f7f22b7d985ee9222d93c" dependencies = [ "bitflags", "oxc_allocator", @@ -679,9 +679,9 @@ dependencies = [ [[package]] name = "oxc_ast_macros" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeeaf11189a12a302cd387a2b51c14b6c82bdb9d69d589987c59136fe31144cb" +checksum = "59d873a6c17e393ab36dfd10fcd0b5e22581cd8adb6d0936b69c28371d338374" dependencies = [ "phf", "proc-macro2", @@ -691,9 +691,9 @@ dependencies = [ [[package]] name = "oxc_ast_visit" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4b7813efdaaf11f407d3a513c558c9ab6ccb87dd4adc05c481f6c79aa7a3f8" +checksum = "40afa7805ea0197de14d18ccfc59004a688d68f7f2696e02619fd4e503f6011d" dependencies = [ "oxc_allocator", "oxc_ast", @@ -703,9 +703,9 @@ dependencies = [ [[package]] name = "oxc_cfg" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc2bd2900cfea1273dd1107fab170f17c2754afc840093a43a3df305d32fd6d" +checksum = "07ed5f0ff2908621e4fdc141333b940ff69c54854625447ed1248b6427af6f0c" dependencies = [ "bitflags", "itertools 0.14.0", @@ -718,9 +718,9 @@ dependencies = [ [[package]] name = "oxc_codegen" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b345f52a177d4c00b54b079f450b5ac02f64d2465945b536d3a7c4853d23bb" +checksum = "06f1e9e36fef5b15bbabf65570941885fab5e854f4343d0355ceae3a11c06787" dependencies = [ "bitflags", "cow-utils", @@ -739,18 +739,18 @@ dependencies = [ [[package]] name = "oxc_data_structures" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d5134e4f3d2702f4bc9bbbca6b9dd7110a7d40257f595c6e13aec61d73eb4d" +checksum = "4eb262baf5fb69c3971c6662684c2167e58708880f794465fbd53257fec7f087" dependencies = [ "rustversion", ] [[package]] name = "oxc_diagnostics" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b25255412a4f73e67e43146f32c723db06ace776a2ee6ba6b44c047aa3c4572" +checksum = "58c312b8185e7e63af7d76b5f69520baa53c4d8163ba2ff9e1801d53a9633089" dependencies = [ "cow-utils", "oxc-miette", @@ -759,9 +759,9 @@ dependencies = [ [[package]] name = "oxc_ecmascript" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da6a69b71ba225327213e77146573d1ccc05d180d2be37d4a934ba7e96d7d0b2" +checksum = "5a09ef36e663aa5512c8277f282e531d14fa5445493e47b6404f93d77830eb29" dependencies = [ "num-bigint", "num-traits", @@ -772,9 +772,9 @@ dependencies = [ [[package]] name = "oxc_estree" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7587710fe0e28f02015ae47964ebbb2bc3853302c1112632c163cd824fa1fd99" +checksum = "79c05d61aacb87526c3b6f10332370e6081592d8fa1e45a95d794fb3e180b165" [[package]] name = "oxc_index" @@ -784,9 +784,9 @@ checksum = "2fa07b0cfa997730afed43705766ef27792873fdf5215b1391949fec678d2392" [[package]] name = "oxc_parser" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe05c3cc2e9dd89de8f3ecaa250372b044a0194ce1b14526b26ace04d6a5770" +checksum = "21908e281daf0c4ff94b66b627daaf2aea4869fbee696e07a7f35e449c633962" dependencies = [ "bitflags", "cow-utils", @@ -807,9 +807,9 @@ dependencies = [ [[package]] name = "oxc_regular_expression" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44971f48da170fc5d21abf764573d8647b4801b3129993bbbe06759d648a23a4" +checksum = "3740a822270e305bb5b946b0a60ae9294f8d2ab71d9cab014bd629433780326c" dependencies = [ "bitflags", "oxc_allocator", @@ -823,9 +823,9 @@ dependencies = [ [[package]] name = "oxc_semantic" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1213af09397549baed4f5a7701fd1c4d0ed3fab7c68f7ec7ba42671fc82ffa0" +checksum = "ff32a3bfb1332d3072f572a12da4decafac71d486055bbdc1fed8d12687186d6" dependencies = [ "itertools 0.14.0", "oxc_allocator", @@ -859,9 +859,9 @@ dependencies = [ [[package]] name = "oxc_span" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91aabd5bfacf5897d534fa72b23f9f7da99f51bfa2c7bed7683f556b5009607" +checksum = "b25ebff6503fe212773c1079110341c67d66ff1cb2d44fbe9f2b202140061187" dependencies = [ "compact_str", "oxc-miette", @@ -872,9 +872,9 @@ dependencies = [ [[package]] name = "oxc_syntax" -version = "0.77.3" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307d590d5ff2e5e7b9851bdda04027a93cbae22a924723a3c0e7c1af03662ce4" +checksum = "021a06690c525668d7872f2cff6f2c6ed0b43ae9a89ad66aa0faff70aaae80fa" dependencies = [ "bitflags", "cow-utils", diff --git a/libs/css/src/constant.rs b/libs/css/src/constant.rs index 71121832..6044ba85 100644 --- a/libs/css/src/constant.rs +++ b/libs/css/src/constant.rs @@ -32,8 +32,12 @@ pub(super) static GLOBAL_STYLE_PROPERTY: phf::Map<&str, &[&str]> = phf_map! { "bgPosition" => &["background-position"], "bgPositionX" => &["background-position-x"], "bgPositionY" => &["background-position-y"], + "bgPos" => &["background-position"], + "bgPosX" => &["background-position-x"], + "bgPosY" => &["background-position-y"], "bgRepeat" => &["background-repeat"], "bgSize" => &["background-size"], + "bgBlendMode" => &["background-blend-mode"], "animationDir" => &["animation-direction"], "flexDir" => &["flex-direction"], "pos" => &["position"], @@ -62,29 +66,56 @@ pub(super) static GLOBAL_STYLE_PROPERTY: phf::Map<&str, &[&str]> = phf_map! { "borderTopRadius" => &["border-top-left-radius", "border-top-right-radius"], "borderLeftRadius" => &["border-top-left-radius", "border-bottom-left-radius"], "borderRightRadius" => &["border-top-right-radius", "border-bottom-right-radius"], + "objectPos" => &["object-position"], + "offsetPos" => &["offset-position"], }; pub(super) static DOUBLE_SEPARATOR: phf::Set<&str> = phf_set! { - "placeholder", - "before", - "after", - "highlight", - "view-transition", - "view-transition-group", - "view-transition-image-pair", - "view-transition-new", - "view-transition-old", + "after", + "backdrop", + "before", + "checkmark", + "cue", + "cue-region", + "details-content", + "file-selector-button", + "first-letter", + "first-line", + "grammar-error", + "marker", + "picker-icon", + "placeholder", + "scroll-marker", + "scroll-marker-group", + "selection", + "spelling-error", + "target-text", + "view-transition" }; pub(super) static ZERO_PERCENT_FUNCTION: phf::Set<&str> = phf_set! { - "min(", - "max(", - "clamp(", + "abs(", + "acos(", + "asin(", + "atan(", + "atan2(", "calc(", - "MIN(", - "MAX(", - "CLAMP(", - "CALC(", + "calc-size(", + "clamp(", + "cos(", + "exp(", + "hypot(", + "log(", + "max(", + "min(", + "mod(", + "pow(", + "rem(", + "round(", + "sign(", + "sin(", + "sqrt(", + "tan(", }; pub(super) static F_SPACE_RE: Lazy = Lazy::new(|| Regex::new(r"\s*,\s*").unwrap()); @@ -96,13 +127,17 @@ pub(super) static COLOR_HASH: Lazy = Lazy::new(|| Regex::new(r"#([0-9a-zA pub(super) static INNER_TRIM_RE: Lazy = Lazy::new(|| Regex::new(r"\(\s*([^)]*?)\s*\)").unwrap()); -pub(super) static RM_MINUS_ZERO_RE: Lazy = - Lazy::new(|| Regex::new(r"-0(px|em|rem|vh|vw|%|dvh|dvw|\)|,)").unwrap()); +pub(super) static RM_MINUS_ZERO_RE: Lazy = Lazy::new(|| { + Regex::new(r"-0(px|em|rem|vh|vw|%|dvh|dvw|vmax|vmin|mm|cm|in|pt|pc|lh|ic|\)|,)").unwrap() +}); -pub(super) static NUM_TRIM_RE: Lazy = - Lazy::new(|| Regex::new(r"(\d(px|em|rem|vh|vw|%|dvh|dvw)?)\s+(\d)").unwrap()); -pub(super) static ZERO_RE: Lazy = - Lazy::new(|| Regex::new(r"(\b|,|\(|^|\s)-?0(px|em|rem|vh|vw|%|dvh|dvw)").unwrap()); +pub(super) static NUM_TRIM_RE: Lazy = Lazy::new(|| { + Regex::new(r"(\d(px|em|rem|vh|vw|%|dvh|dvw|vmax|vmin|mm|cm|in|pt|pc|lh|ic)?)\s+(\d)").unwrap() +}); +pub(super) static ZERO_RE: Lazy = Lazy::new(|| { + Regex::new(r"(\b|,|\(|^|\s)-?0(px|em|rem|vh|vw|%|dvh|dvw|vmax|vmin|mm|cm|in|pt|pc|lh|ic)") + .unwrap() +}); pub(super) static F_RGBA_RE: Lazy = Lazy::new(|| Regex::new(r"rgba\((\d+),(\d+),(\d+),(\d*\.?\d*)\)").unwrap()); diff --git a/libs/css/src/is_special_property.rs b/libs/css/src/is_special_property.rs new file mode 100644 index 00000000..03569f31 --- /dev/null +++ b/libs/css/src/is_special_property.rs @@ -0,0 +1,970 @@ +use phf::phf_set; + +static SPECIAL_PROPERTIES: phf::Set<&str> = phf_set! { + /* react */ + "dangerouslySetInnerHTML", + "children", + "key", + "ref", + + /* React-specific Attributes */ + "defaultChecked", + "defaultValue", + "suppressContentEditableWarning", + "suppressHydrationWarning", + + + /* Standard HTML Attributes */ + "accessKey", + "autoCapitalize", + "autoFocus", + "className", + "contentEditable", + "contextMenu", + "dir", + "draggable", + "enterKeyHint", + "hidden", + "id", + "lang", + "nonce", + "slot", + "spellCheck", + "style", + "tabIndex", + "title", + + /* Unknown */ + "radioGroup", + + /* WAI-ARIA */ + "role", + + + /* RDFa Attributes */ + "about", + "datatype", + "inlist", + "prefix", + "property", + "rel", + "resource", + "rev", + "typeof", + "vocab", + + /* Non-standard Attributes */ + "autoCorrect", + "autoSave", + "itemProp", + "itemScope", + "itemType", + "itemID", + "itemRef", + "results", + "security", + "unselectable", + + /* Popover API */ + "popover", + "popoverTargetAction", + "popoverTarget", + + /* Living Standard */ + "inert", + "inputMode", + "is", + "exportparts", + "part", + + /* Standard HTML Attributes */ + "accept", + "acceptCharset", + "action", + "allowFullScreen", + "allowTransparency", + "alt", + "async", + "autoComplete", + "autoPlay", + "capture", + "cellPadding", + "cellSpacing", + "charSet", + "challenge", + "checked", + "cite", + "classID", + "cols", + "colSpan", + "controls", + "coords", + "crossOrigin", + "data", + "dateTime", + "default", + "defer", + "disabled", + "download", + "encType", + "form", + "formAction", + "formEncType", + "formMethod", + "formNoValidate", + "formTarget", + "frameBorder", + "headers", + "high", + "href", + "hrefLang", + "htmlFor", + "httpEquiv", + "integrity", + "keyParams", + "keyType", + "kind", + "label", + "list", + "loop", + "low", + "manifest", + "marginHeight", + "marginWidth", + "max", + "maxLength", + "media", + "mediaGroup", + "method", + "min", + "minLength", + "multiple", + "muted", + "name", + "noValidate", + "open", + "optimum", + "pattern", + "placeholder", + "playsInline", + "poster", + "preload", + "readOnly", + "required", + "reversed", + "rows", + "rowSpan", + "sandbox", + "scope", + "scoped", + "scrolling", + "seamless", + "selected", + "shape", + "size", + "sizes", + "span", + "src", + "srcDoc", + "srcLang", + "srcSet", + "start", + "step", + "summary", + "target", + "type", + "useMap", + "value", + "wmode", + "wrap", + + /* AnchorHTMLAttributes */ + "ping", + "referrerPolicy", + + /* IframeHTMLAttributes */ + "allow", + "loading", + + + /* ImgHTMLAttributes */ + "decoding", + "fetchPriority", + + /* LinkHTMLAttributes */ + "blocking", + "imageSrcSet", + "imageSizes", + "precedence", + + /* MediaHTMLAttributes */ + "controlsList", + + /* ScriptHTMLAttributes */ + "noModule", + + /* TableHTMLAttributes */ + "align", + "bgcolor", + "frame", + "rules", + + /* TextareaHTMLAttributes */ + "dirName", + + /* TdHTMLAttributes */ + "abbr", + "valign", + + /* VideoHTMLAttributes */ + "disablePictureInPicture", + "disableRemotePlayback", + + /* SVG Specific attributes */ + "accentHeight", + "accumulate", + "additive", + "allowReorder", + "alphabetic", + "amplitude", + "arabicForm", + "ascent", + "attributeName", + "attributeType", + "autoReverse", + "azimuth", + "baseFrequency", + "baseProfile", + "bbox", + "begin", + "bias", + "by", + "calcMode", + "capHeight", + "clipPathUnits", + "colorProfile", + "colorRendering", + "contentScriptType", + "contentStyleType", + "decelerate", + "descent", + "diffuseConstant", + "divisor", + "dur", + "dx", + "dy", + "edgeMode", + "elevation", + "enableBackground", + "end", + "exponent", + "externalResourcesRequired", + "filterRes", + "filterUnits", + "focusable", + "format", + "fr", + "from", + "fx", + "fy", + "g1", + "g2", + "glyphName", + "glyphOrientationHorizontal", + "glyphOrientationVertical", + "glyphRef", + "gradientTransform", + "gradientUnits", + "hanging", + "horizAdvX", + "horizOriginX", + "ideographic", + "in2", + "in", + "intercept", + "k1", + "k2", + "k3", + "k4", + "k", + "kernelMatrix", + "kernelUnitLength", + "kerning", + "keyPoints", + "keySplines", + "keyTimes", + "lengthAdjust", + "limitingConeAngle", + "local", + "markerHeight", + "markerUnits", + "markerWidth", + "maskContentUnits", + "maskUnits", + "mathematical", + "mode", + "numOctaves", + "operator", + "orient", + "orientation", + "origin", + "overlinePosition", + "overlineThickness", + "panose1", + "path", + "pathLength", + "patternContentUnits", + "patternTransform", + "patternUnits", + "points", + "pointsAtX", + "pointsAtY", + "pointsAtZ", + "preserveAlpha", + "preserveAspectRatio", + "primitiveUnits", + "radius", + "refX", + "refY", + "renderingIntent", + "repeatCount", + "repeatDur", + "requiredExtensions", + "requiredFeatures", + "restart", + "result", + "seed", + "slope", + "spacing", + "specularConstant", + "specularExponent", + "speed", + "spreadMethod", + "startOffset", + "stdDeviation", + "stemh", + "stemv", + "stitchTiles", + "strikethroughPosition", + "strikethroughThickness", + "string", + "surfaceScale", + "systemLanguage", + "tableValues", + "targetX", + "targetY", + "textLength", + "to", + "u1", + "u2", + "underlinePosition", + "underlineThickness", + "unicode", + "unicodeRange", + "unitsPerEm", + "vAlphabetic", + "values", + "version", + "vertAdvY", + "vertOriginX", + "vertOriginY", + "vHanging", + "vIdeographic", + "viewBox", + "viewTarget", + "vMathematical", + "widths", + "x1", + "x2", + "xChannelSelector", + "xHeight", + "xlinkActuate", + "xlinkArcrole", + "xlinkHref", + "xlinkRole", + "xlinkShow", + "xlinkTitle", + "xlinkType", + "xmlBase", + "xmlLang", + "xmlns", + "xmlnsXlink", + "xmlSpace", + "y1", + "y2", + "yChannelSelector", + "z", + "zoomAndPan", + + /* WebViewHTMLAttributes */ + "allowpopups", + "autosize", + "blinkfeatures", + "disableblinkfeatures", + "disableguestresize", + "disablewebsecurity", + "guestinstance", + "httpreferrer", + "nodeintegration", + "partition", + "plugins", + "useragent", + "webpreferences", +}; + +pub fn is_special_property(name: &str) -> bool { + name.starts_with("on") + || name.starts_with("data-") + || name.starts_with("aria-") + || SPECIAL_PROPERTIES.contains(name) +} + +#[cfg(test)] +mod tests { + use std::collections::HashSet; + + use crate::utils::to_camel_case; + + use super::*; + + #[test] + fn test_is_special_property_prefix() { + assert!(is_special_property("onClick")); + assert!(is_special_property("data-test")); + assert!(is_special_property("aria-label")); + assert!(!is_special_property("not-special")); + } + + #[test] + fn test_is_special_property_in_list() { + assert!(is_special_property("xlinkHref")); + assert!(is_special_property("zoomAndPan")); + assert!(is_special_property("useragent")); + assert!(!is_special_property("randomProperty")); + } + + #[test] + fn test_css_properties() { + let css: HashSet = HashSet::from_iter( + [ + "accent-color", + "align-content", + "align-items", + "align-self", + "align-tracks", + "alignment-baseline", + "all", + "anchor-name", + "anchor-scope", + "animation", + "animation-composition", + "animation-delay", + "animation-direction", + "animation-duration", + "animation-fill-mode", + "animation-iteration-count", + "animation-name", + "animation-play-state", + "animation-range", + "animation-range-end", + "animation-range-start", + "animation-timeline", + "animation-timing-function", + "appearance", + "aspect-ratio", + "backdrop-filter", + "backface-visibility", + "background", + "background-attachment", + "background-blend-mode", + "background-clip", + "background-color", + "background-image", + "background-origin", + "background-position", + "background-position-x", + "background-position-y", + "background-repeat", + "background-size", + "baseline-shift", + "block-size", + "border", + "border-block", + "border-block-color", + "border-block-end", + "border-block-end-color", + "border-block-end-style", + "border-block-end-width", + "border-block-start", + "border-block-start-color", + "border-block-start-style", + "border-block-start-width", + "border-block-style", + "border-block-width", + "border-bottom", + "border-bottom-color", + "border-bottom-left-radius", + "border-bottom-right-radius", + "border-bottom-style", + "border-bottom-width", + "border-collapse", + "border-color", + "border-end-end-radius", + "border-end-start-radius", + "border-image", + "border-image-outset", + "border-image-repeat", + "border-image-slice", + "border-image-source", + "border-image-width", + "border-inline", + "border-inline-color", + "border-inline-end", + "border-inline-end-color", + "border-inline-end-style", + "border-inline-end-width", + "border-inline-start", + "border-inline-start-color", + "border-inline-start-style", + "border-inline-start-width", + "border-inline-style", + "border-inline-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-spacing", + "border-start-end-radius", + "border-start-start-radius", + "border-style", + "border-top", + "border-top-color", + "border-top-left-radius", + "border-top-right-radius", + "border-top-style", + "border-top-width", + "border-width", + "bottom", + "box-align", + "box-decoration-break", + "box-direction", + "box-flex", + "box-flex-group", + "box-lines", + "box-ordinal-group", + "box-orient", + "box-pack", + "box-shadow", + "box-sizing", + "break-after", + "break-before", + "break-inside", + "caption-side", + "caret", + "caret-color", + "caret-shape", + "clear", + "clip", + "clip-path", + "clip-rule", + "color", + "color-interpolation-filters", + "color-scheme", + "column-count", + "column-fill", + "column-gap", + "column-rule", + "column-rule-color", + "column-rule-style", + "column-rule-width", + "column-span", + "column-width", + "columns", + "contain", + "contain-intrinsic-block-size", + "contain-intrinsic-height", + "contain-intrinsic-inline-size", + "contain-intrinsic-size", + "contain-intrinsic-width", + "container", + "container-name", + "container-type", + "content", + "content-visibility", + "counter-increment", + "counter-reset", + "counter-set", + "cursor", + "cx", + "cy", + "d", + "direction", + "display", + "dominant-baseline", + "empty-cells", + "field-sizing", + "fill", + "fill-opacity", + "fill-rule", + "filter", + "flex", + "flex-basis", + "flex-direction", + "flex-flow", + "flex-grow", + "flex-shrink", + "flex-wrap", + "float", + "flood-color", + "flood-opacity", + "font", + "font-family", + "font-feature-settings", + "font-kerning", + "font-language-override", + "font-optical-sizing", + "font-palette", + "font-size", + "font-size-adjust", + "font-smooth", + "font-stretch", + "font-style", + "font-synthesis", + "font-synthesis-position", + "font-synthesis-small-caps", + "font-synthesis-style", + "font-synthesis-weight", + "font-variant", + "font-variant-alternates", + "font-variant-caps", + "font-variant-east-asian", + "font-variant-emoji", + "font-variant-ligatures", + "font-variant-numeric", + "font-variant-position", + "font-variation-settings", + "font-weight", + "font-width", + "forced-color-adjust", + "gap", + "grid", + "grid-area", + "grid-auto-columns", + "grid-auto-flow", + "grid-auto-rows", + "grid-column", + "grid-column-end", + "grid-column-gap", + "grid-column-start", + "grid-gap", + "grid-row", + "grid-row-end", + "grid-row-gap", + "grid-row-start", + "grid-template", + "grid-template-areas", + "grid-template-columns", + "grid-template-rows", + "hanging-punctuation", + "height", + "hyphenate-character", + "hyphenate-limit-chars", + "hyphens", + "image-orientation", + "image-rendering", + "image-resolution", + "ime-mode", + "initial-letter", + "initial-letter-align", + "inline-size", + "inset", + "inset-block", + "inset-block-end", + "inset-block-start", + "inset-inline", + "inset-inline-end", + "inset-inline-start", + "interpolate-size", + "isolation", + "justify-content", + "justify-items", + "justify-self", + "justify-tracks", + "left", + "letter-spacing", + "lighting-color", + "line-break", + "line-clamp", + "line-height", + "line-height-step", + "list-style", + "list-style-image", + "list-style-position", + "list-style-type", + "margin", + "margin-block", + "margin-block-end", + "margin-block-start", + "margin-bottom", + "margin-inline", + "margin-inline-end", + "margin-inline-start", + "margin-left", + "margin-right", + "margin-top", + "margin-trim", + "marker", + "marker-end", + "marker-mid", + "marker-start", + "mask", + "mask-border", + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width", + "mask-clip", + "mask-composite", + "mask-image", + "mask-mode", + "mask-origin", + "mask-position", + "mask-repeat", + "mask-size", + "mask-type", + "masonry-auto-flow", + "math-depth", + "math-shift", + "math-style", + "max-block-size", + "max-height", + "max-inline-size", + "max-lines", + "max-width", + "min-block-size", + "min-height", + "min-inline-size", + "min-width", + "mix-blend-mode", + "object-fit", + "object-position", + "object-view-box", + "offset", + "offset-anchor", + "offset-distance", + "offset-path", + "offset-position", + "offset-rotate", + "opacity", + "order", + "orphans", + "outline", + "outline-color", + "outline-offset", + "outline-style", + "outline-width", + "overflow", + "overflow-anchor", + "overflow-block", + "overflow-clip-box", + "overflow-clip-margin", + "overflow-inline", + "overflow-wrap", + "overflow-x", + "overflow-y", + "overlay", + "overscroll-behavior", + "overscroll-behavior-block", + "overscroll-behavior-inline", + "overscroll-behavior-x", + "overscroll-behavior-y", + "padding", + "padding-block", + "padding-block-end", + "padding-block-start", + "padding-bottom", + "padding-inline", + "padding-inline-end", + "padding-inline-start", + "padding-left", + "padding-right", + "padding-top", + "page", + "page-break-after", + "page-break-before", + "page-break-inside", + "paint-order", + "perspective", + "perspective-origin", + "place-content", + "place-items", + "place-self", + "pointer-events", + "position", + "position-anchor", + "position-area", + "position-try", + "position-try-fallbacks", + "position-try-order", + "position-visibility", + "print-color-adjust", + "quotes", + "r", + "resize", + "right", + "rotate", + "row-gap", + "ruby-align", + "ruby-merge", + "ruby-overhang", + "ruby-position", + "rx", + "ry", + "scale", + "scroll-behavior", + "scroll-initial-target", + "scroll-margin", + "scroll-margin-block", + "scroll-margin-block-end", + "scroll-margin-block-start", + "scroll-margin-bottom", + "scroll-margin-inline", + "scroll-margin-inline-end", + "scroll-margin-inline-start", + "scroll-margin-left", + "scroll-margin-right", + "scroll-margin-top", + "scroll-padding", + "scroll-padding-block", + "scroll-padding-block-end", + "scroll-padding-block-start", + "scroll-padding-bottom", + "scroll-padding-inline", + "scroll-padding-inline-end", + "scroll-padding-inline-start", + "scroll-padding-left", + "scroll-padding-right", + "scroll-padding-top", + "scroll-snap-align", + "scroll-snap-coordinate", + "scroll-snap-destination", + "scroll-snap-points-x", + "scroll-snap-points-y", + "scroll-snap-stop", + "scroll-snap-type", + "scroll-snap-type-x", + "scroll-snap-type-y", + "scroll-timeline", + "scroll-timeline-axis", + "scroll-timeline-name", + "scrollbar-color", + "scrollbar-gutter", + "scrollbar-width", + "shape-image-threshold", + "shape-margin", + "shape-outside", + "shape-rendering", + "speak-as", + "stop-color", + "stop-opacity", + "stroke", + "stroke-color", + "stroke-dasharray", + "stroke-dashoffset", + "stroke-linecap", + "stroke-linejoin", + "stroke-miterlimit", + "stroke-opacity", + "stroke-width", + "tab-size", + "table-layout", + "text-align", + "text-align-last", + "text-anchor", + "text-box", + "text-box-edge", + "text-box-trim", + "text-combine-upright", + "text-decoration", + "text-decoration-color", + "text-decoration-line", + "text-decoration-skip", + "text-decoration-skip-ink", + "text-decoration-style", + "text-decoration-thickness", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-position", + "text-emphasis-style", + "text-indent", + "text-justify", + "text-orientation", + "text-overflow", + "text-rendering", + "text-shadow", + "text-size-adjust", + "text-spacing-trim", + "text-transform", + "text-underline-offset", + "text-underline-position", + "text-wrap", + "text-wrap-mode", + "text-wrap-style", + "timeline-scope", + "top", + "touch-action", + "transform", + "transform-box", + "transform-origin", + "transform-style", + "transition", + "transition-behavior", + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function", + "translate", + "unicode-bidi", + "user-select", + "vector-effect", + "vertical-align", + "view-timeline", + "view-timeline-axis", + "view-timeline-inset", + "view-timeline-name", + "view-transition-class", + "view-transition-name", + "visibility", + "white-space", + "white-space-collapse", + "widows", + "width", + "will-change", + "word-break", + "word-spacing", + "word-wrap", + "writing-mode", + "x", + "y", + "z-index", + "zoom", + ] + .map(to_camel_case), + ); + + for property in SPECIAL_PROPERTIES.iter() { + // println!("{}", property); + if css.contains(*property) { + println!("{}", property); + } + // assert!(css.contains(*property)); + } + } +} diff --git a/libs/css/src/lib.rs b/libs/css/src/lib.rs index c09cdd3d..d452557c 100644 --- a/libs/css/src/lib.rs +++ b/libs/css/src/lib.rs @@ -1,6 +1,7 @@ pub mod class_map; mod constant; pub mod debug; +pub mod is_special_property; pub mod optimize_value; pub mod property_type; mod selector_separator; diff --git a/libs/css/src/optimize_value.rs b/libs/css/src/optimize_value.rs index cc0bc949..baeda8bd 100644 --- a/libs/css/src/optimize_value.rs +++ b/libs/css/src/optimize_value.rs @@ -49,19 +49,20 @@ pub fn optimize_value(value: &str) -> String { ret = ZERO_RE.replace_all(&ret, "${1}0").to_string(); for f in ZERO_PERCENT_FUNCTION.iter() { - if ret.contains(f) { - let index = ret.find(f).unwrap() + f.len(); + let tmp = ret.to_lowercase(); + if tmp.contains(f) { + let index = tmp.find(f).unwrap() + f.len(); let mut zero_idx = vec![]; let mut depth = 0; - for i in index..ret.len() { - if ret[i..i + 1].eq("(") { + for i in index..tmp.len() { + if tmp[i..i + 1].eq("(") { depth += 1; - } else if ret[i..i + 1].eq(")") { + } else if tmp[i..i + 1].eq(")") { depth -= 1; - } else if ret[i..i + 1].eq("0") - && !ret[i - 1..i].chars().next().unwrap().is_ascii_digit() - && (ret.len() == i + 1 - || !ret[i + 1..i + 2].chars().next().unwrap().is_ascii_digit()) + } else if tmp[i..i + 1].eq("0") + && !tmp[i - 1..i].chars().next().unwrap().is_ascii_digit() + && (tmp.len() == i + 1 + || !tmp[i + 1..i + 2].chars().next().unwrap().is_ascii_digit()) && depth == 0 { zero_idx.push(i); diff --git a/libs/extractor/Cargo.toml b/libs/extractor/Cargo.toml index 88d2cfae..59b92e2c 100644 --- a/libs/extractor/Cargo.toml +++ b/libs/extractor/Cargo.toml @@ -4,13 +4,13 @@ version = "0.1.0" edition = "2024" [dependencies] -oxc_parser = "0.77.3" -oxc_syntax = "0.77.3" -oxc_span = "0.77.3" -oxc_allocator = "0.77.3" -oxc_ast = "0.77.3" -oxc_ast_visit = "0.77.3" -oxc_codegen = "0.77.3" +oxc_parser = "0.78.0" +oxc_syntax = "0.78.0" +oxc_span = "0.78.0" +oxc_allocator = "0.78.0" +oxc_ast = "0.78.0" +oxc_ast_visit = "0.78.0" +oxc_codegen = "0.78.0" css = { path = "../css" } phf = "0.12" strum = "0.27.2" diff --git a/libs/extractor/src/extractor/extract_style_from_expression.rs b/libs/extractor/src/extractor/extract_style_from_expression.rs index a9f886e1..34621dc0 100644 --- a/libs/extractor/src/extractor/extract_style_from_expression.rs +++ b/libs/extractor/src/extractor/extract_style_from_expression.rs @@ -10,10 +10,12 @@ use crate::{ }, utils::{ expression_to_code, get_number_by_literal_expression, get_string_by_literal_expression, - is_same_expression, is_special_property, + is_same_expression, }, }; -use css::{disassemble_property, style_selector::StyleSelector}; +use css::{ + disassemble_property, is_special_property::is_special_property, style_selector::StyleSelector, +}; use oxc_allocator::CloneIn; use oxc_ast::{ AstBuilder, diff --git a/libs/extractor/src/utils.rs b/libs/extractor/src/utils.rs index e1c2170c..688af976 100644 --- a/libs/extractor/src/utils.rs +++ b/libs/extractor/src/utils.rs @@ -4,7 +4,6 @@ use oxc_codegen::Codegen; use oxc_parser::Parser; use oxc_span::{SPAN, SourceType}; use oxc_syntax::operator::UnaryOperator; -use phf::phf_set; /// Convert a value to a pixel value pub(super) fn convert_value(value: &str) -> String { @@ -47,144 +46,6 @@ pub(super) fn is_same_expression<'a>(a: &Expression<'a>, b: &Expression<'a>) -> } } -static SPECIAL_PROPERTIES: phf::Set<&str> = phf_set! { - "style", - "className", - "role", - "ref", - "key", - "id", - "alt", - "type", - "src", - "children", - "placeholder", - "tabIndex", - "maxLength", - "minLength", - "disabled", - "readOnly", - "autoFocus", - "required", - "checked", - "defaultChecked", - "value", - "defaultValue", - "selected", - "multiple", - "accept", - "step", - "autoComplete", - "capture", - "form", - "formAction", - "formEncType", - "formMethod", - "formNoValidate", - "formTarget", - "list", - "max", - "min", - "name", - "pattern", - "size", - "challenge", - "keyType", - "keyParams", - "htmlFor", - "crossOrigin", - "fetchPriority", - "href", - "hrefLang", - "integrity", - "media", - "imageSrcSet", - "imageSizes", - "referrerPolicy", - "sizes", - "charSet", - "precedence", - "autoPlay", - "controls", - "controlsList", - "loop", - "mediaGroup", - "muted", - "playsInline", - "preload", - "httpEquiv", - "high", - "low", - "optimum", - "classID", - "data", - "useMap", - "wmode", - "reversed", - "start", - "label", - "async", - "defer", - "noModule", - "srcSet", - "scoped", - "align", - "bgcolor", - "cellPadding", - "cellSpacing", - "frame", - "rules", - "summary", - "cols", - "dirName", - "rows", - "wrap", - "colSpan", - "headers", - "rowSpan", - "scope", - "abbr", - "valign", - "dateTime", - "default", - "kind", - "srcLang", - "poster", - "disablePictureInPicture", - "disableRemotePlayback", - "download", - "target", - "rel", - "ping", - "coords", - "shape", - "isMap", - "longDesc", - "loading", - "decoding", - "importance", - "axis", - "char", - "charOff", - "span", - "noWrap", - "vSpace", - "hSpace", - "compact", - "scheme", - "indeterminate", - "defaultSelected", - "selectedIndex", - "selectedOptions" -}; - -pub(super) fn is_special_property(name: &str) -> bool { - name.starts_with("on") - || name.starts_with("data-") - || name.starts_with("aria-") - || SPECIAL_PROPERTIES.contains(name) -} - pub(super) fn jsx_expression_to_number(expr: &JSXAttributeValue) -> Option { match expr { JSXAttributeValue::StringLiteral(sl) => get_number_by_literal_expression( diff --git a/libs/extractor/src/visit.rs b/libs/extractor/src/visit.rs index 76f7ef57..d3892b80 100644 --- a/libs/extractor/src/visit.rs +++ b/libs/extractor/src/visit.rs @@ -16,6 +16,7 @@ use crate::prop_modify_utils::{modify_prop_object, modify_props}; use crate::util_type::UtilType; use crate::{ExtractStyleProp, ExtractStyleValue}; use css::disassemble_property; +use css::is_special_property::is_special_property; use oxc_allocator::{Allocator, CloneIn}; use oxc_ast::ast::ImportDeclarationSpecifier::{self, ImportSpecifier}; use oxc_ast::ast::JSXAttributeItem::Attribute; @@ -32,7 +33,7 @@ use oxc_ast_visit::walk_mut::{ }; use strum::IntoEnumIterator; -use crate::utils::{is_special_property, jsx_expression_to_number}; +use crate::utils::jsx_expression_to_number; use oxc_ast::AstBuilder; use oxc_span::SPAN; use std::collections::{HashMap, HashSet}; diff --git a/packages/react/package.json b/packages/react/package.json index e5023e71..fbe32e55 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -40,7 +40,7 @@ "types": "./dist/index.d.ts", "dependencies": { "react": "^19.1", - "csstype": "^3.1" + "csstype": "latest" }, "devDependencies": { "rollup-plugin-preserve-directives": "^0.4.0", diff --git a/packages/react/src/types/props/__tests__/index.test-d.ts b/packages/react/src/types/props/__tests__/index.test-d.ts index ba8d11a6..31a43321 100644 --- a/packages/react/src/types/props/__tests__/index.test-d.ts +++ b/packages/react/src/types/props/__tests__/index.test-d.ts @@ -1,4 +1,5 @@ import type { DevupCommonProps, DevupProps } from '..' +import type { DevupSelectorProps } from '../selector' describe('index', () => { it('DevupCommonProps', () => { @@ -56,4 +57,35 @@ describe('index', () => { }, }) }) + it('DevupSelectorProps', () => { + assertType({ + _hover: { + bg: 'red', + }, + selectors: { + '&:hover': { + bg: 'red', + }, + }, + }) + assertType({ + selectors: { + '&:hover': ` + background-color: red; + `, + }, + _backdrop: { + bg: 'red', + }, + }) + + assertType({ + _hover: ` + background-color: red; + `, + _backdrop: ` + backdrop-filter: blur(10px); + `, + }) + }) }) diff --git a/packages/react/src/types/props/animation.ts b/packages/react/src/types/props/animation.ts deleted file mode 100644 index 0a91b974..00000000 --- a/packages/react/src/types/props/animation.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiAnimationProps { - animation?: ResponsiveValue - animationComposition?: ResponsiveValue - animationDelay?: ResponsiveValue - animationDirection?: ResponsiveValue - animationDir?: ResponsiveValue - animationDuration?: ResponsiveValue - animationFillMode?: ResponsiveValue - animationIterationCount?: ResponsiveValue - animationName?: ResponsiveValue - animationPlayState?: ResponsiveValue - animationTimingFunction?: ResponsiveValue - animationTimeline?: ResponsiveValue -} diff --git a/packages/react/src/types/props/background.ts b/packages/react/src/types/props/background.ts index 205fc084..8590ebd7 100644 --- a/packages/react/src/types/props/background.ts +++ b/packages/react/src/types/props/background.ts @@ -5,27 +5,18 @@ import type { DevupThemeColors } from '../theme' export interface DevupUiBackgroundProps { bg?: ResponsiveValue - background?: ResponsiveValue bgAttachment?: ResponsiveValue - backgroundAttachment?: ResponsiveValue bgClip?: ResponsiveValue - backgroundClip?: ResponsiveValue bgColor?: ResponsiveValue - backgroundColor?: ResponsiveValue< - Property.BackgroundColor | keyof DevupThemeColors - > bgImage?: ResponsiveValue - backgroundImage?: ResponsiveValue bgOrigin?: ResponsiveValue - backgroundOrigin?: ResponsiveValue bgPosition?: ResponsiveValue - backgroundPosition?: ResponsiveValue bgPositionX?: ResponsiveValue - backgroundPositionX?: ResponsiveValue bgPositionY?: ResponsiveValue - backgroundPositionY?: ResponsiveValue + bgPos?: ResponsiveValue + bgPosX?: ResponsiveValue + bgPosY?: ResponsiveValue bgRepeat?: ResponsiveValue - backgroundRepeat?: ResponsiveValue bgSize?: ResponsiveValue - backgroundSize?: ResponsiveValue + bgBlendMode?: ResponsiveValue } diff --git a/packages/react/src/types/props/blending.ts b/packages/react/src/types/props/blending.ts deleted file mode 100644 index af45346f..00000000 --- a/packages/react/src/types/props/blending.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiBlendingProps { - backgroundBlendMode?: ResponsiveValue - isolation?: ResponsiveValue - mixBlendMode?: ResponsiveValue -} diff --git a/packages/react/src/types/props/box-align.ts b/packages/react/src/types/props/box-align.ts deleted file mode 100644 index bfea1316..00000000 --- a/packages/react/src/types/props/box-align.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiBoxAlignProps { - justifyContent?: ResponsiveValue - alignContent?: ResponsiveValue - placeContent?: ResponsiveValue - justifyItems?: ResponsiveValue - alignItems?: ResponsiveValue - placeItems?: ResponsiveValue - justifySelf?: ResponsiveValue - alignSelf?: ResponsiveValue - placeSelf?: ResponsiveValue - rowGap?: ResponsiveValue - columnGap?: ResponsiveValue - gap?: ResponsiveValue -} diff --git a/packages/react/src/types/props/box-model.ts b/packages/react/src/types/props/box-model.ts index 6af033ac..5327a6cb 100644 --- a/packages/react/src/types/props/box-model.ts +++ b/packages/react/src/types/props/box-model.ts @@ -3,12 +3,6 @@ import type { Property } from 'csstype' import type { ResponsiveValue } from '../responsive-value' export interface DevupUiBoxModelProps { - margin?: ResponsiveValue - marginBottom?: ResponsiveValue - marginLeft?: ResponsiveValue - marginRight?: ResponsiveValue - marginTop?: ResponsiveValue - m?: ResponsiveValue mx?: ResponsiveValue my?: ResponsiveValue @@ -17,12 +11,6 @@ export interface DevupUiBoxModelProps { mr?: ResponsiveValue mt?: ResponsiveValue - padding?: ResponsiveValue - paddingBottom?: ResponsiveValue - paddingLeft?: ResponsiveValue - paddingRight?: ResponsiveValue - paddingTop?: ResponsiveValue - p?: ResponsiveValue px?: ResponsiveValue py?: ResponsiveValue diff --git a/packages/react/src/types/props/box-sizing.ts b/packages/react/src/types/props/box-sizing.ts index bf9abd41..51353df7 100644 --- a/packages/react/src/types/props/box-sizing.ts +++ b/packages/react/src/types/props/box-sizing.ts @@ -3,21 +3,6 @@ import type { Property } from 'csstype' import type { ResponsiveValue } from '../responsive-value' export interface DevupUiBoxSizingProps { - aspectRatio?: ResponsiveValue - boxSizing?: ResponsiveValue - containIntrinsicBlockSize?: ResponsiveValue - containIntrinsicHeight?: ResponsiveValue - containIntrinsicInlineSize?: ResponsiveValue - containIntrinsicSize?: ResponsiveValue - containIntrinsicWidth?: ResponsiveValue - - height?: ResponsiveValue - maxHeight?: ResponsiveValue - maxWidth?: ResponsiveValue - minHeight?: ResponsiveValue - minWidth?: ResponsiveValue - width?: ResponsiveValue - h?: ResponsiveValue maxH?: ResponsiveValue maxW?: ResponsiveValue diff --git a/packages/react/src/types/props/color.ts b/packages/react/src/types/props/color.ts deleted file mode 100644 index 0376a933..00000000 --- a/packages/react/src/types/props/color.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' -import type { DevupThemeColors } from '../theme' - -export interface DevupUiColorProps { - colorScheme?: ResponsiveValue - forcedColorAdjust?: ResponsiveValue - printColorAdjust?: ResponsiveValue - - color?: ResponsiveValue - opacity?: ResponsiveValue - visibility?: ResponsiveValue -} diff --git a/packages/react/src/types/props/display.ts b/packages/react/src/types/props/display.ts deleted file mode 100644 index 31f4eb61..00000000 --- a/packages/react/src/types/props/display.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiDisplayProps { - display?: ResponsiveValue -} diff --git a/packages/react/src/types/props/filter-effect.ts b/packages/react/src/types/props/filter-effect.ts deleted file mode 100644 index ec7fb141..00000000 --- a/packages/react/src/types/props/filter-effect.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiFilterEffectProps { - backdropFilter?: ResponsiveValue - filter?: ResponsiveValue -} diff --git a/packages/react/src/types/props/flex.ts b/packages/react/src/types/props/flex.ts index aab58c6f..681c9137 100644 --- a/packages/react/src/types/props/flex.ts +++ b/packages/react/src/types/props/flex.ts @@ -3,14 +3,5 @@ import type { Property } from 'csstype' import type { ResponsiveValue } from '../responsive-value' export interface DevupUiFlexProps { - flex?: ResponsiveValue - flexBasis?: ResponsiveValue - flexDirection?: ResponsiveValue - flexFlow?: ResponsiveValue - flexGrow?: ResponsiveValue - flexShrink?: ResponsiveValue - flexWrap?: ResponsiveValue - order?: ResponsiveValue - flexDir?: ResponsiveValue } diff --git a/packages/react/src/types/props/font.ts b/packages/react/src/types/props/font.ts deleted file mode 100644 index 1054974e..00000000 --- a/packages/react/src/types/props/font.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiFontProps { - font?: ResponsiveValue - fontFamily?: ResponsiveValue - fontFeatureSettings?: ResponsiveValue - fontKerning?: ResponsiveValue - fontLanguageOverride?: ResponsiveValue - fontOpticalSizing?: ResponsiveValue - fontSize?: ResponsiveValue - fontSizeAdjust?: ResponsiveValue - fontStretch?: ResponsiveValue - fontStyle?: ResponsiveValue - fontSynthesis?: ResponsiveValue - fontVariant?: ResponsiveValue - fontVariantAlternates?: ResponsiveValue - fontVariantCaps?: ResponsiveValue - fontVariantEastAsian?: ResponsiveValue - fontVariantLigatures?: ResponsiveValue - fontVariantNumeric?: ResponsiveValue - fontVariantPosition?: ResponsiveValue - fontVariationSettings?: ResponsiveValue - fontWeight?: ResponsiveValue - lineHeight?: ResponsiveValue -} diff --git a/packages/react/src/types/props/grid.ts b/packages/react/src/types/props/grid.ts deleted file mode 100644 index 7023ef8b..00000000 --- a/packages/react/src/types/props/grid.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiGridProps { - gridTemplateColumns?: ResponsiveValue - gridTemplateRows?: ResponsiveValue - gridTemplateAreas?: ResponsiveValue - gridTemplate?: ResponsiveValue - gridAutoColumns?: ResponsiveValue - gridAutoRows?: ResponsiveValue - gridAutoFlow?: ResponsiveValue - grid?: ResponsiveValue - gridRowStart?: ResponsiveValue - gridColumnStart?: ResponsiveValue - gridRowEnd?: ResponsiveValue - gridColumnEnd?: ResponsiveValue - gridRow?: ResponsiveValue - gridColumn?: ResponsiveValue - gridArea?: ResponsiveValue - gridRowGap?: ResponsiveValue - gridColumnGap?: ResponsiveValue - gridGap?: ResponsiveValue -} diff --git a/packages/react/src/types/props/image.ts b/packages/react/src/types/props/image.ts index 3b1e0f3d..53cecb17 100644 --- a/packages/react/src/types/props/image.ts +++ b/packages/react/src/types/props/image.ts @@ -3,9 +3,5 @@ import type { Property } from 'csstype' import type { ResponsiveValue } from '../responsive-value' export interface DevupUiImageProps { - imageOrientation?: ResponsiveValue - imageRendering?: ResponsiveValue - imageResolution?: ResponsiveValue - objectFit?: ResponsiveValue - objectPosition?: ResponsiveValue + objectPos?: ResponsiveValue } diff --git a/packages/react/src/types/props/index.ts b/packages/react/src/types/props/index.ts index d3b03cf6..7dd84558 100644 --- a/packages/react/src/types/props/index.ts +++ b/packages/react/src/types/props/index.ts @@ -1,68 +1,34 @@ -import type { DevupUiAnimationProps } from './animation' +import type { Properties } from 'csstype' + +import type { ResponsiveValue } from '../responsive-value' +import type { Merge } from '../utils' import type { DevupUiBackgroundProps } from './background' -import type { DevupUiBlendingProps } from './blending' import type { DevupUiBorderProps } from './border' -import type { DevupUiBoxAlignProps } from './box-align' import type { DevupUiBoxModelProps } from './box-model' import type { DevupUiBoxSizingProps } from './box-sizing' -import type { DevupUiColorProps } from './color' -import type { DevupUiDisplayProps } from './display' -import type { DevupUiFilterEffectProps } from './filter-effect' import type { DevupUiFlexProps } from './flex' -import type { DevupUiFontProps } from './font' -import type { DevupUiGridProps } from './grid' import type { DevupUiImageProps } from './image' -import type { DevupUiInlineProps } from './inline' -import type { DevupUiListProps } from './list' -import type { DevupUiMaskingProps } from './masking' import type { DevupUiMotionPathProps } from './motion-path' -import type { DevupUiOverflowProps } from './overflow' -import type { DevupUiOverflowBehaviorProps } from './overflow-behavior' import type { DevupUiPositionProps } from './position' -import type { DevupUiScrollbarProps } from './scrollbar' import type { DevupSelectorProps, DevupThemeSelectorProps } from './selector' -import type { DevupUiShapeProps } from './shape' -import type { DevupUiSvgProps } from './svg' -import type { DevupUiTableProps } from './table' import type { DevupUiTextProps } from './text' -import type { DevupUiTransformProps } from './transform' -import type { DevupUiTransitionProps } from './transition' -import type { DevupUiUiProps } from './ui' -import type { DevupUiVendorProps } from './vendor' -import type { DevupUiViewTransitionProps } from './view-transition' -export interface DevupCommonProps - extends DevupUiVendorProps, - DevupUiAnimationProps, - DevupUiBackgroundProps, - DevupUiBlendingProps, +export interface DevupShortcutsProps + extends DevupUiBackgroundProps, DevupUiBorderProps, - DevupUiBoxAlignProps, DevupUiBoxModelProps, DevupUiBoxSizingProps, - DevupUiColorProps, - DevupUiDisplayProps, - DevupUiFilterEffectProps, DevupUiFlexProps, - DevupUiFontProps, - DevupUiGridProps, DevupUiImageProps, - DevupUiInlineProps, - DevupUiListProps, - DevupUiMaskingProps, DevupUiMotionPathProps, - DevupUiOverflowProps, - DevupUiOverflowBehaviorProps, DevupUiPositionProps, - DevupUiScrollbarProps, - DevupUiShapeProps, - DevupUiTableProps, - DevupUiTextProps, - DevupUiTransformProps, - DevupUiTransitionProps, - DevupUiUiProps, - DevupUiViewTransitionProps, - DevupUiSvgProps {} + DevupUiTextProps {} +export type DevupCommonProps = Merge< + { + [K in keyof Properties]?: ResponsiveValue + }, + DevupShortcutsProps +> export interface DevupProps extends DevupCommonProps, diff --git a/packages/react/src/types/props/inline.ts b/packages/react/src/types/props/inline.ts deleted file mode 100644 index 5bcf6975..00000000 --- a/packages/react/src/types/props/inline.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiInlineProps { - alignmentBaseline?: ResponsiveValue - dominantBaseline?: ResponsiveValue - initialLetter?: ResponsiveValue - lineHeight?: ResponsiveValue -} diff --git a/packages/react/src/types/props/list.ts b/packages/react/src/types/props/list.ts deleted file mode 100644 index e432f0f7..00000000 --- a/packages/react/src/types/props/list.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiListProps { - listStyleImage?: ResponsiveValue - listStyleType?: ResponsiveValue - listStylePosition?: ResponsiveValue - listStyle?: ResponsiveValue -} diff --git a/packages/react/src/types/props/masking.ts b/packages/react/src/types/props/masking.ts deleted file mode 100644 index ad75252d..00000000 --- a/packages/react/src/types/props/masking.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiMaskingProps { - clipPath?: ResponsiveValue - clipRule?: ResponsiveValue - mask?: ResponsiveValue - maskBorder?: ResponsiveValue - maskBorderMode?: ResponsiveValue - maskBorderOutset?: ResponsiveValue - maskBorderRepeat?: ResponsiveValue - maskBorderSlice?: ResponsiveValue - maskBorderSource?: ResponsiveValue - maskBorderWidth?: ResponsiveValue - maskClip?: ResponsiveValue - maskComposite?: ResponsiveValue - maskImage?: ResponsiveValue - maskMode?: ResponsiveValue - maskOrigin?: ResponsiveValue - maskPosition?: ResponsiveValue - maskRepeat?: ResponsiveValue - maskSize?: ResponsiveValue - maskType?: ResponsiveValue -} diff --git a/packages/react/src/types/props/motion-path.ts b/packages/react/src/types/props/motion-path.ts index 602650d5..559743b3 100644 --- a/packages/react/src/types/props/motion-path.ts +++ b/packages/react/src/types/props/motion-path.ts @@ -3,10 +3,5 @@ import type { Property } from 'csstype' import type { ResponsiveValue } from '../responsive-value' export interface DevupUiMotionPathProps { - offset?: ResponsiveValue - offsetAnchor?: ResponsiveValue - offsetDistance?: ResponsiveValue - offsetPath?: ResponsiveValue - offsetPosition?: ResponsiveValue - offsetRotate?: ResponsiveValue + offsetPos?: ResponsiveValue } diff --git a/packages/react/src/types/props/overflow-behavior.ts b/packages/react/src/types/props/overflow-behavior.ts deleted file mode 100644 index b67ac3bf..00000000 --- a/packages/react/src/types/props/overflow-behavior.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiOverflowBehaviorProps { - overscrollBehavior?: ResponsiveValue - overscrollBehaviorBlock?: ResponsiveValue - overscrollBehaviorInline?: ResponsiveValue - overscrollBehaviorX?: ResponsiveValue - overscrollBehaviorY?: ResponsiveValue -} diff --git a/packages/react/src/types/props/overflow.ts b/packages/react/src/types/props/overflow.ts deleted file mode 100644 index 612458c1..00000000 --- a/packages/react/src/types/props/overflow.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiOverflowProps { - overflow?: ResponsiveValue - overflowBlock?: ResponsiveValue - overflowClipMargin?: ResponsiveValue - overflowInline?: ResponsiveValue - overflowX?: ResponsiveValue - overflowY?: ResponsiveValue - scrollBehavior?: ResponsiveValue - scrollbarGutter?: ResponsiveValue - textOverflow?: ResponsiveValue -} diff --git a/packages/react/src/types/props/position.ts b/packages/react/src/types/props/position.ts index ca8bdbdb..baca2783 100644 --- a/packages/react/src/types/props/position.ts +++ b/packages/react/src/types/props/position.ts @@ -3,20 +3,5 @@ import type { Property } from 'csstype' import type { ResponsiveValue } from '../responsive-value' export interface DevupUiPositionProps { - top?: ResponsiveValue - right?: ResponsiveValue - bottom?: ResponsiveValue - left?: ResponsiveValue - inset?: ResponsiveValue - insetInline?: ResponsiveValue - insetInlineStart?: ResponsiveValue - insetInlineEnd?: ResponsiveValue - insetBlock?: ResponsiveValue - insetBlockStart?: ResponsiveValue - insetBlockEnd?: ResponsiveValue - float?: ResponsiveValue - clear?: ResponsiveValue - position?: ResponsiveValue pos?: ResponsiveValue - zIndex?: ResponsiveValue } diff --git a/packages/react/src/types/props/scrollbar.ts b/packages/react/src/types/props/scrollbar.ts deleted file mode 100644 index 4ca23ee4..00000000 --- a/packages/react/src/types/props/scrollbar.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiScrollbarProps { - scrollbarWidth?: ResponsiveValue - scrollbarColor?: ResponsiveValue -} diff --git a/packages/react/src/types/props/selector/index.ts b/packages/react/src/types/props/selector/index.ts index a82e2ded..5b7f5334 100644 --- a/packages/react/src/types/props/selector/index.ts +++ b/packages/react/src/types/props/selector/index.ts @@ -1,15 +1,22 @@ +import type { Pseudos } from 'csstype' + import type { ResponsiveValue } from '../../responsive-value' import type { DevupTheme } from '../../theme' import type { DevupCommonProps } from '../index' -type toPascalCase = S extends `${infer T}${infer U}` - ? `${Uppercase}${U}` - : S +type CamelCase = + S extends Lowercase + ? S extends `${infer F}-${infer RF}${infer R}` + ? `${F}${Uppercase}${CamelCase}` + : S + : CamelCase> + +type PascalCase = Capitalize> export type DevupThemeSelectorProps = keyof DevupTheme extends undefined ? Record<`_theme${string}`, DevupCommonProps & DevupSelectorProps> : { - [K in keyof DevupTheme as `_theme${toPascalCase}`]?: DevupCommonProps & + [K in keyof DevupTheme as `_theme${PascalCase}`]?: DevupCommonProps & DevupSelectorProps } @@ -18,62 +25,25 @@ type SelectorProps = ResponsiveValue< | string | false > +type NormalSelector = Exclude< + Pseudos, + `:-${string}` | `::-${string}` | `${string}()` +> +type ExtractSelector = T extends `::${infer R}` + ? R + : T extends `:${infer R}` + ? R + : never +export type CommonSelectorProps = { + [K in ExtractSelector as + | `_${CamelCase}` + | `_group${PascalCase}`]?: SelectorProps +} -export interface DevupSelectorProps { - _active?: SelectorProps - _checked?: SelectorProps - _default?: SelectorProps - _disabled?: SelectorProps - _empty?: SelectorProps - _enabled?: SelectorProps - _first?: SelectorProps - _firstChild?: SelectorProps - _firstOfType?: SelectorProps - _focus?: SelectorProps - _focusVisible?: SelectorProps - _focusWithin?: SelectorProps - _hover?: SelectorProps - _invalid?: SelectorProps - _lastChild?: SelectorProps - _lastOfType?: SelectorProps - _link?: SelectorProps - _onlyChild?: SelectorProps - _optional?: SelectorProps - _readOnly?: SelectorProps +export interface DevupSelectorProps extends CommonSelectorProps { + // media query _print?: SelectorProps - _groupActive?: SelectorProps - _groupChecked?: SelectorProps - _groupDefault?: SelectorProps - _groupDisabled?: SelectorProps - _groupEmpty?: SelectorProps - _groupEnabled?: SelectorProps - _groupFirst?: SelectorProps - _groupFirstChild?: SelectorProps - _groupFirstOfType?: SelectorProps - _groupFocus?: SelectorProps - _groupFocusVisible?: SelectorProps - _groupFocusWithin?: SelectorProps - _groupHover?: SelectorProps - _groupInvalid?: SelectorProps - _groupLastChild?: SelectorProps - _groupLastOfType?: SelectorProps - _groupLink?: SelectorProps - _groupOnlyChild?: SelectorProps - _groupOptional?: SelectorProps - _groupReadOnly?: SelectorProps - - // double separator - _placeholder?: SelectorProps - _before?: SelectorProps - _after?: SelectorProps - _highlight?: SelectorProps - _viewTransition?: SelectorProps - _viewTransitionGroup?: SelectorProps - _viewTransitionImagePair?: SelectorProps - _viewTransitionNew?: SelectorProps - _viewTransitionOld?: SelectorProps - selectors?: Record styleOrder?: number diff --git a/packages/react/src/types/props/shape.ts b/packages/react/src/types/props/shape.ts deleted file mode 100644 index 0d0919a9..00000000 --- a/packages/react/src/types/props/shape.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiShapeProps { - shapeOutside?: ResponsiveValue - shapeMargin?: ResponsiveValue - shapeImageThreshold?: ResponsiveValue -} diff --git a/packages/react/src/types/props/svg.ts b/packages/react/src/types/props/svg.ts deleted file mode 100644 index d7fea9ab..00000000 --- a/packages/react/src/types/props/svg.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' -import type { DevupThemeColors } from '../theme' - -export interface DevupUiSvgProps { - fill?: ResponsiveValue - stroke?: ResponsiveValue - strokeWidth?: ResponsiveValue - strokeOpacity?: ResponsiveValue -} diff --git a/packages/react/src/types/props/table.ts b/packages/react/src/types/props/table.ts deleted file mode 100644 index f3cd30a5..00000000 --- a/packages/react/src/types/props/table.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiTableProps { - borderSpacing?: ResponsiveValue - captionSide?: ResponsiveValue - emptyCells?: ResponsiveValue - tableLayout?: ResponsiveValue - verticalAlign?: ResponsiveValue -} diff --git a/packages/react/src/types/props/text.ts b/packages/react/src/types/props/text.ts index 3af5db80..7901253b 100644 --- a/packages/react/src/types/props/text.ts +++ b/packages/react/src/types/props/text.ts @@ -1,47 +1,6 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' import type { DevupThemeTypography } from '../typography' import type { Conditional } from '../utils' export interface DevupUiTextProps { - hangingPunctuation?: ResponsiveValue - hyphenateLimitChars?: ResponsiveValue - hyphens?: ResponsiveValue - lineBreak?: ResponsiveValue - overflowWrap?: ResponsiveValue - tabSize?: ResponsiveValue - textAlignLast?: ResponsiveValue - textJustify?: ResponsiveValue - textSizeAdjust?: ResponsiveValue - textWrap?: ResponsiveValue - whiteSpaceCollapse?: ResponsiveValue - wordBreak?: ResponsiveValue - - letterSpacing?: ResponsiveValue - textAlign?: ResponsiveValue - textDecoration?: ResponsiveValue - textDecorationColor?: ResponsiveValue - textDecorationLine?: ResponsiveValue - textDecorationStyle?: ResponsiveValue - textDecorationSkipInk?: ResponsiveValue - textDecorationThickness?: ResponsiveValue - textUnderlineOffset?: ResponsiveValue - textUnderlinePosition?: ResponsiveValue - textEmphasis?: ResponsiveValue - textEmphasisColor?: ResponsiveValue - textEmphasisPosition?: ResponsiveValue - textEmphasisStyle?: ResponsiveValue - textIndent?: ResponsiveValue - textRendering?: ResponsiveValue - textShadow?: ResponsiveValue - textTransform?: ResponsiveValue - whiteSpace?: ResponsiveValue - wordSpacing?: ResponsiveValue - - content?: ResponsiveValue - - lineClamp?: ResponsiveValue - typography?: Conditional } diff --git a/packages/react/src/types/props/transform.ts b/packages/react/src/types/props/transform.ts deleted file mode 100644 index 7b3b0b06..00000000 --- a/packages/react/src/types/props/transform.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiTransformProps { - backfaceVisibility?: ResponsiveValue - perspective?: ResponsiveValue - perspectiveOrigin?: ResponsiveValue - rotate?: ResponsiveValue - scale?: ResponsiveValue - transform?: ResponsiveValue - transformBox?: ResponsiveValue - transformOrigin?: ResponsiveValue - transformStyle?: ResponsiveValue - translate?: ResponsiveValue -} diff --git a/packages/react/src/types/props/transition.ts b/packages/react/src/types/props/transition.ts deleted file mode 100644 index 59758cb5..00000000 --- a/packages/react/src/types/props/transition.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiTransitionProps { - transition?: ResponsiveValue - transitionDelay?: ResponsiveValue - transitionDuration?: ResponsiveValue - transitionProperty?: ResponsiveValue - transitionTimingFunction?: ResponsiveValue -} diff --git a/packages/react/src/types/props/ui.ts b/packages/react/src/types/props/ui.ts deleted file mode 100644 index 2acb1cb4..00000000 --- a/packages/react/src/types/props/ui.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' -import type { DevupThemeColors } from '../theme' - -export interface DevupUiUiProps { - accentColor?: ResponsiveValue - appearance?: ResponsiveValue - caret?: ResponsiveValue - caretColor?: ResponsiveValue - caretShape?: ResponsiveValue - cursor?: ResponsiveValue - outline?: ResponsiveValue - outlineColor?: ResponsiveValue - outlineStyle?: ResponsiveValue - outlineWidth?: ResponsiveValue - outlineOffset?: ResponsiveValue - pointerEvents?: ResponsiveValue - resize?: ResponsiveValue - userSelect?: ResponsiveValue - willChange?: ResponsiveValue - writingMode?: ResponsiveValue - textOrientation?: ResponsiveValue -} diff --git a/packages/react/src/types/props/view-transition.ts b/packages/react/src/types/props/view-transition.ts deleted file mode 100644 index 53d0604d..00000000 --- a/packages/react/src/types/props/view-transition.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { Property } from 'csstype' - -import type { ResponsiveValue } from '../responsive-value' - -export interface DevupUiViewTransitionProps { - viewTransitionName?: ResponsiveValue -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 52d64928..c231b145 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,7 +73,7 @@ importers: version: 2.1.1 next: specifier: ^15.4.2 - version: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: ^19.1.0 version: 19.1.0 @@ -125,7 +125,7 @@ importers: version: link:../../packages/react next: specifier: ^15.4.2 - version: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: ^19.1.0 version: 19.1.0 @@ -249,7 +249,7 @@ importers: version: 11.14.0(@types/react@19.1.8)(react@19.1.0) next: specifier: ^15.4.2 - version: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -283,7 +283,7 @@ importers: version: link:../../packages/react next: specifier: ^15.4.2 - version: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: ^19.1.0 version: 19.1.0 @@ -311,10 +311,10 @@ importers: dependencies: '@kuma-ui/core': specifier: ^1.5.9 - version: 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + version: 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) next: specifier: ^15.4.2 - version: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: ^19.1.0 version: 19.1.0 @@ -324,7 +324,7 @@ importers: devDependencies: '@kuma-ui/next-plugin': specifier: ^1.3.3 - version: 1.3.3(@babel/core@7.27.4)(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) + version: 1.3.3(@babel/core@7.28.0)(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) '@types/node': specifier: ^24 version: 24.0.3 @@ -351,7 +351,7 @@ importers: version: 7.2.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: ^15.4.2 - version: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -463,7 +463,7 @@ importers: packages/react: dependencies: csstype: - specifier: ^3.1 + specifier: latest version: 3.1.3 react: specifier: ^19.1 @@ -5803,29 +5803,29 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.4)': + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/traverse': 7.27.4 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.27.4)': + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.2.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.27.4)': + '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.1 @@ -5874,18 +5874,18 @@ snapshots: '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.4)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.27.1 '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 '@babel/traverse': 7.27.4 @@ -5926,332 +5926,332 @@ snapshots: dependencies: '@babel/types': 7.28.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.4)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.4)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-async-generator-functions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-async-generator-functions@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.4) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.4) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.27.5(@babel/core@7.27.4)': + '@babel/plugin-transform-block-scoping@7.27.5(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-classes@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) '@babel/traverse': 7.27.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 - '@babel/plugin-transform-destructuring@7.27.3(@babel/core@7.27.4)': + '@babel/plugin-transform-destructuring@7.27.3(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-object-rest-spread@7.27.3(@babel/core@7.27.4)': + '@babel/plugin-transform-object-rest-spread@7.27.3(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-parameters@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-display-name@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-display-name@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -6265,203 +6265,203 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regenerator@7.27.5(@babel/core@7.27.4)': + '@babel/plugin-transform-regenerator@7.27.5(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/preset-env@7.27.2(@babel/core@7.27.4)': + '@babel/preset-env@7.27.2(@babel/core@7.28.0)': dependencies: '@babel/compat-data': 7.27.5 - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.4) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.27.4) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-async-generator-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoping': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-object-rest-spread': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-regenerator': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.27.4) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.27.4) - babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.27.4) - babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.4) - babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.27.4) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.27.5(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.28.0) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.27.3(@babel/core@7.28.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.27.5(@babel/core@7.28.0) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0) + babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.28.0) core-js-compat: 3.43.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.4)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/types': 7.27.6 esutils: 2.0.3 - '@babel/preset-react@7.27.1(@babel/core@7.27.4)': + '@babel/preset-react@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/preset-typescript@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -7132,10 +7132,10 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@kuma-ui/babel-plugin@1.2.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + '@kuma-ui/babel-plugin@1.2.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': dependencies: '@babel/core': 7.27.4 - '@kuma-ui/core': 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@kuma-ui/core': 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@kuma-ui/sheet': 1.3.1 '@kuma-ui/system': 1.7.6 transitivePeerDependencies: @@ -7144,11 +7144,11 @@ snapshots: - react - supports-color - '@kuma-ui/compiler@1.3.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + '@kuma-ui/compiler@1.3.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': dependencies: '@babel/core': 7.27.4 - '@kuma-ui/babel-plugin': 1.2.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) - '@kuma-ui/core': 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@kuma-ui/babel-plugin': 1.2.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@kuma-ui/core': 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@kuma-ui/sheet': 1.3.1 '@kuma-ui/system': 1.7.6 '@kuma-ui/wasm': 1.0.3 @@ -7159,7 +7159,7 @@ snapshots: - react - supports-color - '@kuma-ui/core@1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': + '@kuma-ui/core@1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)': dependencies: '@kuma-ui/sheet': 1.3.1 '@kuma-ui/system': 1.7.6 @@ -7168,18 +7168,18 @@ snapshots: stylis: 4.3.6 optionalDependencies: '@types/react': 19.1.8 - next: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@kuma-ui/next-plugin@1.3.3(@babel/core@7.27.4)(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9)': + '@kuma-ui/next-plugin@1.3.3(@babel/core@7.28.0)(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9)': dependencies: - '@babel/preset-env': 7.27.2(@babel/core@7.27.4) - '@babel/preset-react': 7.27.1(@babel/core@7.27.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) - '@kuma-ui/core': 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) - '@kuma-ui/webpack-plugin': 1.4.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) - babel-loader: 9.2.1(@babel/core@7.27.4)(webpack@5.99.9) + '@babel/preset-env': 7.27.2(@babel/core@7.28.0) + '@babel/preset-react': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@kuma-ui/core': 1.5.9(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@kuma-ui/webpack-plugin': 1.4.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) + babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.99.9) browserslist: 4.21.5 - next: 15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 webpack: 5.99.9 optionalDependencies: @@ -7199,9 +7199,9 @@ snapshots: '@kuma-ui/wasm@1.0.3': {} - '@kuma-ui/webpack-plugin@1.4.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9)': + '@kuma-ui/webpack-plugin@1.4.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9)': dependencies: - '@kuma-ui/compiler': 1.3.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) + '@kuma-ui/compiler': 1.3.3(@types/react@19.1.8)(next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) '@kuma-ui/sheet': 1.3.1 '@kuma-ui/system': 1.7.6 esbuild: 0.18.20 @@ -8951,9 +8951,9 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - babel-loader@9.2.1(@babel/core@7.27.4)(webpack@5.99.9): + babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.99.9): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 find-cache-dir: 4.0.0 schema-utils: 4.3.2 webpack: 5.99.9 @@ -8964,27 +8964,27 @@ snapshots: cosmiconfig: 7.1.0 resolve: 1.22.10 - babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.27.4): + babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.28.0): dependencies: '@babel/compat-data': 7.27.5 - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.28.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.4): + babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.28.0): dependencies: - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.28.0) core-js-compat: 3.43.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.4(@babel/core@7.27.4): + babel-plugin-polyfill-regenerator@0.6.4(@babel/core@7.28.0): dependencies: - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -10843,7 +10843,7 @@ snapshots: postcss: 8.4.31 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - styled-jsx: 5.1.6(@babel/core@7.27.4)(react@19.1.0) + styled-jsx: 5.1.6(@babel/core@7.28.0)(react@19.1.0) optionalDependencies: '@next/swc-darwin-arm64': 15.4.1 '@next/swc-darwin-x64': 15.4.1 @@ -10858,7 +10858,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@15.4.2(@babel/core@7.27.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next@15.4.2(@babel/core@7.28.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@next/env': 15.4.2 '@swc/helpers': 0.5.15 @@ -10866,7 +10866,7 @@ snapshots: postcss: 8.4.31 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - styled-jsx: 5.1.6(@babel/core@7.27.4)(react@19.1.0) + styled-jsx: 5.1.6(@babel/core@7.28.0)(react@19.1.0) optionalDependencies: '@next/swc-darwin-arm64': 15.4.2 '@next/swc-darwin-x64': 15.4.2 @@ -11706,12 +11706,12 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.6(@babel/core@7.27.4)(react@19.1.0): + styled-jsx@5.1.6(@babel/core@7.28.0)(react@19.1.0): dependencies: client-only: 0.0.1 react: 19.1.0 optionalDependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.0 stylis@4.2.0: {} From 44b2c5f27ab024ce81e76216c53547603f3f4665 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Fri, 25 Jul 2025 00:02:34 +0900 Subject: [PATCH 2/2] Add option seq --- libs/css/src/is_special_property.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libs/css/src/is_special_property.rs b/libs/css/src/is_special_property.rs index 03569f31..fd833d66 100644 --- a/libs/css/src/is_special_property.rs +++ b/libs/css/src/is_special_property.rs @@ -960,11 +960,7 @@ mod tests { ); for property in SPECIAL_PROPERTIES.iter() { - // println!("{}", property); - if css.contains(*property) { - println!("{}", property); - } - // assert!(css.contains(*property)); + assert!(!css.contains(*property)); } } }