| [ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 "use strict"; 2 var wp; 3 (wp ||= {}).styleEngine = (() => { 4 var __defProp = Object.defineProperty; 5 var __getOwnPropDesc = Object.getOwnPropertyDescriptor; 6 var __getOwnPropNames = Object.getOwnPropertyNames; 7 var __hasOwnProp = Object.prototype.hasOwnProperty; 8 var __export = (target, all) => { 9 for (var name in all) 10 __defProp(target, name, { get: all[name], enumerable: true }); 11 }; 12 var __copyProps = (to, from, except, desc) => { 13 if (from && typeof from === "object" || typeof from === "function") { 14 for (let key of __getOwnPropNames(from)) 15 if (!__hasOwnProp.call(to, key) && key !== except) 16 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); 17 } 18 return to; 19 }; 20 var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); 21 22 // packages/style-engine/build-module/index.mjs 23 var index_exports = {}; 24 __export(index_exports, { 25 compileCSS: () => compileCSS, 26 getCSSRules: () => getCSSRules, 27 getCSSValueFromRawStyle: () => getCSSValueFromRawStyle 28 }); 29 30 // node_modules/tslib/tslib.es6.mjs 31 var __assign = function() { 32 __assign = Object.assign || function __assign2(t) { 33 for (var s, i = 1, n = arguments.length; i < n; i++) { 34 s = arguments[i]; 35 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 36 } 37 return t; 38 }; 39 return __assign.apply(this, arguments); 40 }; 41 42 // node_modules/lower-case/dist.es2015/index.js 43 function lowerCase(str) { 44 return str.toLowerCase(); 45 } 46 47 // node_modules/no-case/dist.es2015/index.js 48 var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; 49 var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; 50 function noCase(input, options) { 51 if (options === void 0) { 52 options = {}; 53 } 54 var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; 55 var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); 56 var start = 0; 57 var end = result.length; 58 while (result.charAt(start) === "\0") 59 start++; 60 while (result.charAt(end - 1) === "\0") 61 end--; 62 return result.slice(start, end).split("\0").map(transform).join(delimiter); 63 } 64 function replace(input, re, value) { 65 if (re instanceof RegExp) 66 return input.replace(re, value); 67 return re.reduce(function(input2, re2) { 68 return input2.replace(re2, value); 69 }, input); 70 } 71 72 // node_modules/dot-case/dist.es2015/index.js 73 function dotCase(input, options) { 74 if (options === void 0) { 75 options = {}; 76 } 77 return noCase(input, __assign({ delimiter: "." }, options)); 78 } 79 80 // node_modules/param-case/dist.es2015/index.js 81 function paramCase(input, options) { 82 if (options === void 0) { 83 options = {}; 84 } 85 return dotCase(input, __assign({ delimiter: "-" }, options)); 86 } 87 88 // packages/style-engine/build-module/styles/constants.mjs 89 var VARIABLE_REFERENCE_PREFIX = "var:"; 90 var VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = "|"; 91 var VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = "--"; 92 93 // packages/style-engine/build-module/styles/utils.mjs 94 var getStyleValueByPath = (object, path) => { 95 let value = object; 96 path.forEach((fieldName) => { 97 value = value?.[fieldName]; 98 }); 99 return value; 100 }; 101 function generateRule(style, options, path, ruleKey) { 102 const styleValue = getStyleValueByPath(style, path); 103 return styleValue ? [ 104 { 105 selector: options?.selector, 106 key: ruleKey, 107 value: getCSSValueFromRawStyle(styleValue) 108 } 109 ] : []; 110 } 111 function generateBoxRules(style, options, path, ruleKeys, individualProperties = ["top", "right", "bottom", "left"]) { 112 const boxStyle = getStyleValueByPath( 113 style, 114 path 115 ); 116 if (!boxStyle) { 117 return []; 118 } 119 const rules = []; 120 if (typeof boxStyle === "string") { 121 rules.push({ 122 selector: options?.selector, 123 key: ruleKeys.default, 124 value: getCSSValueFromRawStyle(boxStyle) 125 }); 126 } else { 127 const sideRules = individualProperties.reduce( 128 (acc, side) => { 129 const value = getCSSValueFromRawStyle( 130 getStyleValueByPath(boxStyle, [side]) 131 ); 132 if (value) { 133 acc.push({ 134 selector: options?.selector, 135 key: ruleKeys?.individual.replace( 136 "%s", 137 upperFirst(side) 138 ), 139 value 140 }); 141 } 142 return acc; 143 }, 144 [] 145 ); 146 rules.push(...sideRules); 147 } 148 return rules; 149 } 150 function getCSSValueFromRawStyle(styleValue) { 151 if (typeof styleValue === "string" && styleValue.startsWith(VARIABLE_REFERENCE_PREFIX)) { 152 const variable = styleValue.slice(VARIABLE_REFERENCE_PREFIX.length).split(VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE).map( 153 (presetVariable) => paramCase(presetVariable, { 154 splitRegexp: [ 155 /([a-z0-9])([A-Z])/g, 156 // fooBar => foo-bar, 3Bar => 3-bar 157 /([0-9])([a-z])/g, 158 // 3bar => 3-bar 159 /([A-Za-z])([0-9])/g, 160 // Foo3 => foo-3, foo3 => foo-3 161 /([A-Z])([A-Z][a-z])/g 162 // FOOBar => foo-bar 163 ] 164 }) 165 ).join(VARIABLE_PATH_SEPARATOR_TOKEN_STYLE); 166 return `var(--wp--$variable})`; 167 } 168 return styleValue; 169 } 170 function upperFirst(string) { 171 const [firstLetter, ...rest] = string; 172 return firstLetter.toUpperCase() + rest.join(""); 173 } 174 function camelCaseJoin(strings) { 175 const [firstItem, ...rest] = strings; 176 return firstItem.toLowerCase() + rest.map(upperFirst).join(""); 177 } 178 function safeDecodeURI(uri) { 179 try { 180 return decodeURI(uri); 181 } catch { 182 return uri; 183 } 184 } 185 186 // packages/style-engine/build-module/styles/border/index.mjs 187 function createBorderGenerateFunction(path) { 188 return (style, options) => generateRule(style, options, path, camelCaseJoin(path)); 189 } 190 function createBorderEdgeGenerateFunction(edge) { 191 return (style, options) => { 192 return ["color", "style", "width"].flatMap((key) => { 193 const path = ["border", edge, key]; 194 return createBorderGenerateFunction(path)(style, options); 195 }); 196 }; 197 } 198 var color = { 199 name: "color", 200 generate: createBorderGenerateFunction(["border", "color"]) 201 }; 202 var radius = { 203 name: "radius", 204 generate: (style, options) => { 205 return generateBoxRules( 206 style, 207 options, 208 ["border", "radius"], 209 { 210 default: "borderRadius", 211 individual: "border%sRadius" 212 }, 213 ["topLeft", "topRight", "bottomLeft", "bottomRight"] 214 ); 215 } 216 }; 217 var borderStyle = { 218 name: "style", 219 generate: createBorderGenerateFunction(["border", "style"]) 220 }; 221 var width = { 222 name: "width", 223 generate: createBorderGenerateFunction(["border", "width"]) 224 }; 225 var borderTop = { 226 name: "borderTop", 227 generate: createBorderEdgeGenerateFunction("top") 228 }; 229 var borderRight = { 230 name: "borderRight", 231 generate: createBorderEdgeGenerateFunction("right") 232 }; 233 var borderBottom = { 234 name: "borderBottom", 235 generate: createBorderEdgeGenerateFunction("bottom") 236 }; 237 var borderLeft = { 238 name: "borderLeft", 239 generate: createBorderEdgeGenerateFunction("left") 240 }; 241 var border_default = [ 242 color, 243 borderStyle, 244 width, 245 radius, 246 borderTop, 247 borderRight, 248 borderBottom, 249 borderLeft 250 ]; 251 252 // packages/style-engine/build-module/styles/color/background.mjs 253 var background = { 254 name: "background", 255 generate: (style, options) => { 256 return generateRule( 257 style, 258 options, 259 ["color", "background"], 260 "backgroundColor" 261 ); 262 } 263 }; 264 var background_default = background; 265 266 // packages/style-engine/build-module/styles/color/gradient.mjs 267 var gradient = { 268 name: "gradient", 269 generate: (style, options) => { 270 return generateRule( 271 style, 272 options, 273 ["color", "gradient"], 274 "background" 275 ); 276 } 277 }; 278 var gradient_default = gradient; 279 280 // packages/style-engine/build-module/styles/color/text.mjs 281 var text = { 282 name: "text", 283 generate: (style, options) => { 284 return generateRule(style, options, ["color", "text"], "color"); 285 } 286 }; 287 var text_default = text; 288 289 // packages/style-engine/build-module/styles/color/index.mjs 290 var color_default = [text_default, gradient_default, background_default]; 291 292 // packages/style-engine/build-module/styles/dimensions/index.mjs 293 var height = { 294 name: "height", 295 generate: (style, options) => { 296 return generateRule( 297 style, 298 options, 299 ["dimensions", "height"], 300 "height" 301 ); 302 } 303 }; 304 var minHeight = { 305 name: "minHeight", 306 generate: (style, options) => { 307 return generateRule( 308 style, 309 options, 310 ["dimensions", "minHeight"], 311 "minHeight" 312 ); 313 } 314 }; 315 var minWidth = { 316 name: "minWidth", 317 generate: (style, options) => { 318 return generateRule( 319 style, 320 options, 321 ["dimensions", "minWidth"], 322 "minWidth" 323 ); 324 } 325 }; 326 var aspectRatio = { 327 name: "aspectRatio", 328 generate: (style, options) => { 329 return generateRule( 330 style, 331 options, 332 ["dimensions", "aspectRatio"], 333 "aspectRatio" 334 ); 335 } 336 }; 337 var width2 = { 338 name: "width", 339 generate: (style, options) => { 340 return generateRule( 341 style, 342 options, 343 ["dimensions", "width"], 344 "width" 345 ); 346 } 347 }; 348 var dimensions_default = [height, minHeight, minWidth, aspectRatio, width2]; 349 350 // packages/style-engine/build-module/styles/background/index.mjs 351 var backgroundImage = { 352 name: "backgroundImage", 353 generate: (style, options) => { 354 const _backgroundImage = style?.background?.backgroundImage; 355 const gradient2 = getCSSValueFromRawStyle(style?.background?.gradient) || ""; 356 if (!_backgroundImage && !gradient2) { 357 return []; 358 } 359 const backgroundImageValue = typeof _backgroundImage === "object" && _backgroundImage?.url ? `url( '$encodeURI( 360 safeDecodeURI(_backgroundImage.url) 361 )}' )` : getCSSValueFromRawStyle(_backgroundImage); 362 const cssValue = [gradient2, backgroundImageValue].filter(Boolean).join(", "); 363 return !!cssValue ? [ 364 { 365 selector: options.selector, 366 key: "backgroundImage", 367 value: cssValue 368 } 369 ] : []; 370 } 371 }; 372 var backgroundPosition = { 373 name: "backgroundPosition", 374 generate: (style, options) => { 375 return generateRule( 376 style, 377 options, 378 ["background", "backgroundPosition"], 379 "backgroundPosition" 380 ); 381 } 382 }; 383 var backgroundRepeat = { 384 name: "backgroundRepeat", 385 generate: (style, options) => { 386 return generateRule( 387 style, 388 options, 389 ["background", "backgroundRepeat"], 390 "backgroundRepeat" 391 ); 392 } 393 }; 394 var backgroundSize = { 395 name: "backgroundSize", 396 generate: (style, options) => { 397 return generateRule( 398 style, 399 options, 400 ["background", "backgroundSize"], 401 "backgroundSize" 402 ); 403 } 404 }; 405 var backgroundAttachment = { 406 name: "backgroundAttachment", 407 generate: (style, options) => { 408 return generateRule( 409 style, 410 options, 411 ["background", "backgroundAttachment"], 412 "backgroundAttachment" 413 ); 414 } 415 }; 416 var background_default2 = [ 417 backgroundImage, 418 backgroundPosition, 419 backgroundRepeat, 420 backgroundSize, 421 backgroundAttachment 422 ]; 423 424 // packages/style-engine/build-module/styles/shadow/index.mjs 425 var shadow = { 426 name: "shadow", 427 generate: (style, options) => { 428 return generateRule(style, options, ["shadow"], "boxShadow"); 429 } 430 }; 431 var shadow_default = [shadow]; 432 433 // packages/style-engine/build-module/styles/outline/index.mjs 434 var color2 = { 435 name: "color", 436 generate: (style, options, path = ["outline", "color"], ruleKey = "outlineColor") => { 437 return generateRule(style, options, path, ruleKey); 438 } 439 }; 440 var offset = { 441 name: "offset", 442 generate: (style, options, path = ["outline", "offset"], ruleKey = "outlineOffset") => { 443 return generateRule(style, options, path, ruleKey); 444 } 445 }; 446 var outlineStyle = { 447 name: "style", 448 generate: (style, options, path = ["outline", "style"], ruleKey = "outlineStyle") => { 449 return generateRule(style, options, path, ruleKey); 450 } 451 }; 452 var width3 = { 453 name: "width", 454 generate: (style, options, path = ["outline", "width"], ruleKey = "outlineWidth") => { 455 return generateRule(style, options, path, ruleKey); 456 } 457 }; 458 var outline_default = [color2, outlineStyle, offset, width3]; 459 460 // packages/style-engine/build-module/styles/spacing/padding.mjs 461 var padding = { 462 name: "padding", 463 generate: (style, options) => { 464 return generateBoxRules(style, options, ["spacing", "padding"], { 465 default: "padding", 466 individual: "padding%s" 467 }); 468 } 469 }; 470 var padding_default = padding; 471 472 // packages/style-engine/build-module/styles/spacing/margin.mjs 473 var margin = { 474 name: "margin", 475 generate: (style, options) => { 476 return generateBoxRules(style, options, ["spacing", "margin"], { 477 default: "margin", 478 individual: "margin%s" 479 }); 480 } 481 }; 482 var margin_default = margin; 483 484 // packages/style-engine/build-module/styles/spacing/index.mjs 485 var spacing_default = [margin_default, padding_default]; 486 487 // packages/style-engine/build-module/styles/typography/index.mjs 488 var fontSize = { 489 name: "fontSize", 490 generate: (style, options) => { 491 return generateRule( 492 style, 493 options, 494 ["typography", "fontSize"], 495 "fontSize" 496 ); 497 } 498 }; 499 var fontStyle = { 500 name: "fontStyle", 501 generate: (style, options) => { 502 return generateRule( 503 style, 504 options, 505 ["typography", "fontStyle"], 506 "fontStyle" 507 ); 508 } 509 }; 510 var fontWeight = { 511 name: "fontWeight", 512 generate: (style, options) => { 513 return generateRule( 514 style, 515 options, 516 ["typography", "fontWeight"], 517 "fontWeight" 518 ); 519 } 520 }; 521 var fontFamily = { 522 name: "fontFamily", 523 generate: (style, options) => { 524 return generateRule( 525 style, 526 options, 527 ["typography", "fontFamily"], 528 "fontFamily" 529 ); 530 } 531 }; 532 var letterSpacing = { 533 name: "letterSpacing", 534 generate: (style, options) => { 535 return generateRule( 536 style, 537 options, 538 ["typography", "letterSpacing"], 539 "letterSpacing" 540 ); 541 } 542 }; 543 var lineHeight = { 544 name: "lineHeight", 545 generate: (style, options) => { 546 return generateRule( 547 style, 548 options, 549 ["typography", "lineHeight"], 550 "lineHeight" 551 ); 552 } 553 }; 554 var textColumns = { 555 name: "textColumns", 556 generate: (style, options) => { 557 return generateRule( 558 style, 559 options, 560 ["typography", "textColumns"], 561 "columnCount" 562 ); 563 } 564 }; 565 var textDecoration = { 566 name: "textDecoration", 567 generate: (style, options) => { 568 return generateRule( 569 style, 570 options, 571 ["typography", "textDecoration"], 572 "textDecoration" 573 ); 574 } 575 }; 576 var textIndent = { 577 name: "textIndent", 578 generate: (style, options) => { 579 return generateRule( 580 style, 581 options, 582 ["typography", "textIndent"], 583 "textIndent" 584 ); 585 } 586 }; 587 var textTransform = { 588 name: "textTransform", 589 generate: (style, options) => { 590 return generateRule( 591 style, 592 options, 593 ["typography", "textTransform"], 594 "textTransform" 595 ); 596 } 597 }; 598 var writingMode = { 599 name: "writingMode", 600 generate: (style, options) => { 601 return generateRule( 602 style, 603 options, 604 ["typography", "writingMode"], 605 "writingMode" 606 ); 607 } 608 }; 609 var typography_default = [ 610 fontFamily, 611 fontSize, 612 fontStyle, 613 fontWeight, 614 letterSpacing, 615 lineHeight, 616 textColumns, 617 textDecoration, 618 textIndent, 619 textTransform, 620 writingMode 621 ]; 622 623 // packages/style-engine/build-module/styles/index.mjs 624 var styleDefinitions = [ 625 ...border_default, 626 ...color_default, 627 ...dimensions_default, 628 ...outline_default, 629 ...spacing_default, 630 ...typography_default, 631 ...shadow_default, 632 ...background_default2 633 ]; 634 635 // packages/style-engine/build-module/index.mjs 636 function compileCSS(style, options = {}) { 637 const rules = getCSSRules(style, options); 638 if (!options?.selector) { 639 const inlineRules = []; 640 rules.forEach((rule) => { 641 inlineRules.push(`$paramCase(rule.key)}: $rule.value};`); 642 }); 643 return inlineRules.join(" "); 644 } 645 const groupedRules = rules.reduce( 646 (acc, rule) => { 647 const { selector } = rule; 648 if (!selector) { 649 return acc; 650 } 651 if (!acc[selector]) { 652 acc[selector] = []; 653 } 654 acc[selector].push(rule); 655 return acc; 656 }, 657 {} 658 ); 659 const selectorRules = Object.keys(groupedRules).reduce( 660 (acc, subSelector) => { 661 acc.push( 662 `$subSelector} { $groupedRules[subSelector].map( 663 (rule) => `$paramCase(rule.key)}: $rule.value};` 664 ).join(" ")} }` 665 ); 666 return acc; 667 }, 668 [] 669 ); 670 return selectorRules.join("\n"); 671 } 672 function getCSSRules(style, options = {}) { 673 const rules = []; 674 styleDefinitions.forEach((definition) => { 675 if (typeof definition.generate === "function") { 676 rules.push(...definition.generate(style, options)); 677 } 678 }); 679 return rules; 680 } 681 return __toCommonJS(index_exports); 682 })();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated : Sun Jul 5 08:20:13 2026 | Cross-referenced by PHPXref |