Best JavaScript code snippet using wpt
subform-css-layout-worklet.umd.js
Source:subform-css-layout-worklet.umd.js
1(function (global, factory) {2 typeof exports === 'object' && typeof module !== 'undefined' ? factory() :3 typeof define === 'function' && define.amd ? define(factory) :4 (factory());5}(this, (function () { 'use strict';6 const spaceValue = /^(\d)s$/;7 const _parseValue = value => {8 if (spaceValue.test(value)) {9 return { space: parseInt(value.match(spaceValue)[1]) };10 } else if (Number.isNaN(parseInt(value)) !== true) {11 return { px: parseInt(value) };12 } else {13 throw new Error(14 `Wrong value "${value}" passed into ${prop} layout property`15 );16 }17 };18 const parseValue = (prop, m) => {19 if (m.get(prop).length !== 0) {20 const value = m.get(prop)[0].trim();21 return _parseValue(value);22 }23 };24 const parseValues = (prop, m) => {25 if (m.get(prop).length !== 0) {26 const values = m27 .get(prop)[0]28 .trim()29 .split(/ +/)30 .map(v => _parseValue(v));31 return values;32 }33 };34 const CROSS_LEFT = "--cross-left";35 const CROSS_RIGHT = "--cross-right";36 const MAIN_RIGHT = "--main-right";37 const MAIN_LEFT = "--main-left";38 const MAIN_BETWEEN = "--main-between";39 const LAYOUT = "--layout";40 const GRID = "--grid";41 const GRID_COLUMNS = "--grid-columns";42 const GRID_ROWS = "--grid-rows";43 const GRID_SPACE = "--grid-space-horizontal";44 class ArtboardLayout {45 static get inputProperties() {46 return [CROSS_LEFT, CROSS_RIGHT];47 }48 *intrinsicSizes() {}49 *layout(children, edges, constraints, styleMap) {50 const fixedInlineSize = constraints.fixedInlineSize;51 const childFragments = yield children.map(child => {52 return child.layoutNextFragment({});53 });54 return { childFragments };55 }56 }57 const register = () => registerLayout("artboard", ArtboardLayout);58 class SelfDirectedLayout {59 static get inputProperties() {60 return [61 LAYOUT,62 GRID,63 GRID_COLUMNS,64 GRID_ROWS,65 GRID_SPACE,66 MAIN_RIGHT,67 MAIN_LEFT,68 MAIN_BETWEEN69 ];70 }71 static get childInputProperties() {72 return [GRID, "display"];73 }74 *intrinsicSizes() {}75 *layout(children, edges, constraints, styleMap) {76 const fixedInlineSize = constraints.fixedInlineSize;77 const layoutType = styleMap.get(LAYOUT)[0].trim();78 if (layoutType === "grid") {79 const fixedInlineSize = constraints.fixedInlineSize;80 const columns = parseValues(GRID_COLUMNS, styleMap);81 const rows = parseValues(GRID_ROWS, styleMap);82 const space = parseValues(GRID_SPACE, styleMap);83 const [spaceBefore, spaceBetween, spaceAfter] = (space.length > 084 ? space85 : [0, 0, 0]86 ).map(s => s.px);87 const availableInlineSize =88 fixedInlineSize -89 spaceBefore -90 spaceAfter -91 spaceBetween * (children.length - 1);92 const totalInlineSpace = columns.reduce((sum, c) => sum + c.space, 0);93 const columnSize = availableInlineSize / totalInlineSpace;94 const sortedChildren = children95 .map((child, idx) => [...parseValues(GRID, child.styleMap), idx])96 .sort((a, b) => a[0].px - b[0].px);97 const childFragments = yield children.map(child => {98 const [gridColumn, gridRow] = parseValues(GRID, child.styleMap);99 let size = columns[gridColumn.px - 1].space * columnSize;100 const props = { fixedInlineSize: size };101 if (102 child.styleMap.get("display").toString() === "layout(parent-directed)"103 ) {104 return child.layoutNextFragment(props);105 } else {106 return child.layoutNextFragment({});107 }108 });109 sortedChildren.forEach(([gridColumn, gridRow, fragmentIdx], idx) => {110 const child = children[fragmentIdx];111 const childFragment = childFragments[fragmentIdx];112 if (113 child.styleMap.get("display").toString() === "layout(parent-directed)"114 ) {115 if (fragmentIdx > 0) {116 const prevChild = childFragments[sortedChildren[idx - 1][2]];117 childFragment.inlineOffset =118 prevChild.inlineOffset + prevChild.inlineSize + spaceBetween;119 } else {120 childFragment.inlineOffset = spaceBefore;121 }122 }123 });124 return { childFragments };125 }126 if (layoutType === "horizontal") {127 const left = parseValue(MAIN_LEFT, styleMap);128 const right = parseValue(MAIN_RIGHT, styleMap);129 const between = parseValue(MAIN_BETWEEN, styleMap);130 const totalSpace =131 (left.space !== undefined ? left.space : 0) +132 (right.space !== undefined ? right.space : 0);133 const totalBetween = { px: between.px * (children.length - 1) };134 const childFragments = yield children.map(child => {135 return child.layoutNextFragment({});136 });137 const totalChildInlineSize = childFragments.reduce(138 (sum, child) => sum + child.inlineSize,139 0140 );141 const availableInlineSize =142 fixedInlineSize -143 totalChildInlineSize -144 totalBetween.px -145 (left.px !== undefined ? left.px : 0) -146 (right.px !== undefined ? right.px : 0);147 const spaceAmount = availableInlineSize / totalSpace;148 childFragments.forEach((child, idx) => {149 child.inlineOffset = spaceAmount * left.space + child.inlineSize * idx;150 if (idx > 0) {151 child.inlineOffset += between.px * idx;152 }153 });154 return { childFragments };155 }156 }157 }158 const register$1 = () => registerLayout("self-directed", SelfDirectedLayout);159 const register$2 = () => registerLayout("parent-directed", SelfDirectedLayout);160 register();161 register$2();162 register$1();...
SelfDirectedLayout.js
Source:SelfDirectedLayout.js
1import { parseValue, parseValues } from "./utils";2import {3 LAYOUT,4 GRID,5 GRID_COLUMNS,6 GRID_ROWS,7 GRID_SPACE,8 MAIN_RIGHT,9 MAIN_LEFT,10 MAIN_BETWEEN11} from "./cssProps";12export class SelfDirectedLayout {13 static get inputProperties() {14 return [15 LAYOUT,16 GRID,17 GRID_COLUMNS,18 GRID_ROWS,19 GRID_SPACE,20 MAIN_RIGHT,21 MAIN_LEFT,22 MAIN_BETWEEN23 ];24 }25 static get childInputProperties() {26 return [GRID, "display"];27 }28 *intrinsicSizes() {}29 *layout(children, edges, constraints, styleMap) {30 const fixedInlineSize = constraints.fixedInlineSize;31 const layoutType = styleMap.get(LAYOUT)[0].trim();32 if (layoutType === "grid") {33 const fixedInlineSize = constraints.fixedInlineSize;34 const columns = parseValues(GRID_COLUMNS, styleMap);35 const rows = parseValues(GRID_ROWS, styleMap);36 const space = parseValues(GRID_SPACE, styleMap);37 const [spaceBefore, spaceBetween, spaceAfter] = (space.length > 038 ? space39 : [0, 0, 0]40 ).map(s => s.px);41 const availableInlineSize =42 fixedInlineSize -43 spaceBefore -44 spaceAfter -45 spaceBetween * (children.length - 1);46 const totalInlineSpace = columns.reduce((sum, c) => sum + c.space, 0);47 const columnSize = availableInlineSize / totalInlineSpace;48 const sortedChildren = children49 .map((child, idx) => [...parseValues(GRID, child.styleMap), idx])50 .sort((a, b) => a[0].px - b[0].px);51 const childFragments = yield children.map(child => {52 const [gridColumn, gridRow] = parseValues(GRID, child.styleMap);53 let size = columns[gridColumn.px - 1].space * columnSize;54 const props = { fixedInlineSize: size };55 if (56 child.styleMap.get("display").toString() === "layout(parent-directed)"57 ) {58 return child.layoutNextFragment(props);59 } else {60 return child.layoutNextFragment({});61 }62 });63 sortedChildren.forEach(([gridColumn, gridRow, fragmentIdx], idx) => {64 const child = children[fragmentIdx];65 const childFragment = childFragments[fragmentIdx];66 if (67 child.styleMap.get("display").toString() === "layout(parent-directed)"68 ) {69 if (fragmentIdx > 0) {70 const prevChild = childFragments[sortedChildren[idx - 1][2]];71 childFragment.inlineOffset =72 prevChild.inlineOffset + prevChild.inlineSize + spaceBetween;73 } else {74 childFragment.inlineOffset = spaceBefore;75 }76 }77 });78 return { childFragments };79 }80 if (layoutType === "horizontal") {81 const left = parseValue(MAIN_LEFT, styleMap);82 const right = parseValue(MAIN_RIGHT, styleMap);83 const between = parseValue(MAIN_BETWEEN, styleMap);84 const totalSpace =85 (left.space !== undefined ? left.space : 0) +86 (right.space !== undefined ? right.space : 0);87 const totalBetween = { px: between.px * (children.length - 1) };88 const childFragments = yield children.map(child => {89 return child.layoutNextFragment({});90 });91 const totalChildInlineSize = childFragments.reduce(92 (sum, child) => sum + child.inlineSize,93 094 );95 const availableInlineSize =96 fixedInlineSize -97 totalChildInlineSize -98 totalBetween.px -99 (left.px !== undefined ? left.px : 0) -100 (right.px !== undefined ? right.px : 0);101 const spaceAmount = availableInlineSize / totalSpace;102 childFragments.forEach((child, idx) => {103 child.inlineOffset = spaceAmount * left.space + child.inlineSize * idx;104 if (idx > 0) {105 child.inlineOffset += between.px * idx;106 }107 });108 return { childFragments };109 }110 }111}112const register = () => registerLayout("self-directed", SelfDirectedLayout);...
masonry.js
Source:masonry.js
1registerLayout('masonry', class {2 static get inputProperties() {3 return [ '--padding', '--columns' ];4 }5 async intrinsicSizes() { /* TODO implement :) */ }6 async layout(children, edges, constraints, styleMap) {7 // fixedInlineSize å¸å±çåç宽度ï¼ç¸å½äºwidht8 const inlineSize = constraints.fixedInlineSize;9 // è·åèªå®ä¹å±æ§10 const padding = parseInt(styleMap.get('--padding').toString());11 const columnValue = styleMap.get('--columns').toString();12 // 计ç®åºæå å13 let columns = parseInt(columnValue);14 if (columnValue === 'auto' || !columns) {15 columns = Math.ceil(inlineSize / 350); // MAGIC NUMBER \o/.16 }17 // æ ¹æ®åæ°ï¼è®¡ç®åºæ¯åç宽度18 const childInlineSize = (inlineSize - ((columns + 1) * padding)) / columns;19 const childFragments = await Promise.all(children.map((child) => {20 return child.layoutNextFragment({fixedInlineSize: childInlineSize});21 }));22 let autoBlockSize = 0;23 const columnOffsets = Array(columns).fill(0);24 for (let childFragment of childFragments) {25 // Select the column with the least amount of stuff in it.26 /**27 * æ¾åºé«åº¦æå°çé£å28 * val æ¯æå°é£åçé«åº¦29 * idx æ¯æå°é£åçåæ°30 */31 const min = columnOffsets.reduce((acc, val, idx) => {32 if (!acc || val < acc.val) {33 return {idx, val};34 }35 return acc;36 }, {val: +Infinity, idx: -1});37 /**38 * inlineOffset 计ç®æ¯ä¸ªåå
ç´ ç横åå移ä½ç½®39 * blockOffset 计ç®æ¯ä¸ªåå
ç´ ç纵åå移ä½ç½®40 * ç¸å½äº position ç left å top41 */42 childFragment.inlineOffset = padding + (childInlineSize + padding) * min.idx;43 childFragment.blockOffset = padding + min.val;44 /**45 * æ´æ°æ°ç»ä¸æå°åçé«åº¦46 * blockOffset + blockSize47 * like top + height48 * åæ´æ°æå¤å±å
ç´ çé«åº¦49 */50 columnOffsets[min.idx] = childFragment.blockOffset + childFragment.blockSize;51 autoBlockSize = Math.max(autoBlockSize, columnOffsets[min.idx] + padding);52 }53 // æç»å¾å°ææçåå
ç´ çå¸å±çä½ç½®åç¶çº§å
ç´ çé«åº¦54 return {autoBlockSize, childFragments};55 }...
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org');3wpt.fixedInlineSize('www.google.com', function(err, data) {4 if (err) return console.error(err);5 console.log(data);6});7var wpt = require('wpt');8var wpt = new WebPageTest('www.webpagetest.org');9wpt.fixedInlineSize('www.google.com', function(err, data) {10 if (err) return console.error(err);11 console.log(data);12});13var wpt = require('wpt');14var wpt = new WebPageTest('www.webpagetest.org');15wpt.fixedInlineSize('www.google.com', function(err, data) {16 if (err) return console.error(err);17 console.log(data);18});19var wpt = require('wpt');20var wpt = new WebPageTest('www.webpagetest.org');21wpt.fixedInlineSize('www.google.com', function(err, data) {22 if (err) return console.error(err);23 console.log(data);24});25var wpt = require('wpt');26var wpt = new WebPageTest('www.webpagetest.org');27wpt.fixedInlineSize('www.google.com', function(err, data) {28 if (err) return console.error(err);29 console.log(data);30});31var wpt = require('wpt');32var wpt = new WebPageTest('www.webpagetest.org');33wpt.fixedInlineSize('www.google.com', function(err, data) {34 if (err) return console.error(err);35 console.log(data);36});37var wpt = require('wpt');38var wpt = new WebPageTest('www.webpagetest.org');39wpt.fixedInlineSize('www.google.com', function(err, data) {40 if (err) return console.error(err);41 console.log(data
Using AI Code Generation
1var wptextbox = require("wptextbox");2var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");3wpTextbox1.fixedInlineSize();4var wptextbox = require("wptextbox");5var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");6wpTextbox1.fixedInlineSize();7var wptextbox = require("wptextbox");8var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");9wpTextbox1.fixedInlineSize();10var wptextbox = require("wptextbox");11var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");12wpTextbox1.fixedInlineSize();13var wptextbox = require("wptextbox");14var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");15wpTextbox1.fixedInlineSize();16var wptextbox = require("wptextbox");17var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");18wpTextbox1.fixedInlineSize();19var wptextbox = require("wptextbox");20var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");21wpTextbox1.fixedInlineSize();22var wptextbox = require("wptextbox");23var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");24wpTextbox1.fixedInlineSize();25var wptextbox = require("wptextbox");26var wpTextbox1 = new wptextbox.WPTextbox("wpTextbox1");27wpTextbox1.fixedInlineSize();
Using AI Code Generation
1var wptextbox1 = new wptextbox();2wptextbox1.fixedInlineSize(100);3var wptextbox1 = new wptextbox();4wptextbox1.fixedInlineSize(100);5var wptextbox1 = new wptextbox();6wptextbox1.fixedInlineSize(100);7var wptextbox1 = new wptextbox();8wptextbox1.fixedInlineSize(100);9var wptextbox1 = new wptextbox();10wptextbox1.fixedInlineSize(100);11var wptextbox1 = new wptextbox();12wptextbox1.fixedInlineSize(100);13var wptextbox1 = new wptextbox();14wptextbox1.fixedInlineSize(100);15var wptextbox1 = new wptextbox();16wptextbox1.fixedInlineSize(100);17var wptextbox1 = new wptextbox();18wptextbox1.fixedInlineSize(100);
Using AI Code Generation
1var text = new Text();2text.text = "Hello World";3text.width = 100;4text.height = 50;5text.color = "white";6text.backgroundColor = "black";7text.fixedInlineSize = true;8text.font = "30px Arial";9text.textAlign = "center";10text.textBaseline = "middle";11var stage = new Stage();12stage.addChild(text);13stage.start();
Using AI Code Generation
1function test() {2 var doc = new jsPDF();3 doc.text("Testing fixedInlineSize", 10, 10);4 doc.setFontSize(14);5 var text = "Testing fixedInlineSize";6 var x = 10;7 var y = 20;8 var width = 50;9 var height = 20;10 var options = {11 };12 doc.text(text, x, y, options);13 doc.save("test.pdf");14}
Using AI Code Generation
1var wptextbox = require("wptextbox");2var wpinline = new wptextbox();3wpinline.fixedInlineSize("test", "test", 800, 600);4var wptextbox = require("wptextbox");5var wpinline = new wptextbox();6wpinline.fixedInlineSize("test", "test", 800, 600, "topLeft");7var wptextbox = require("wptextbox");8var wpinline = new wptextbox();9wpinline.fixedInlineSize("test", "test", 800, 600, "topLeft", "Arial", 20, "red");10var wptextbox = require("wptextbox");11var wpinline = new wptextbox();12wpinline.fixedInlineSize("test", "test", 800, 600, "topLeft", "Arial", 20, "red", "bold");13var wptextbox = require("wptextbox");14var wpinline = new wptextbox();15wpinline.fixedInlineSize("test", "test", 800, 600, "topLeft", "Arial", 20, "red", "bold", "italic");16var wptextbox = require("wptextbox");17var wpinline = new wptextbox();18wpinline.fixedInlineSize("test", "test", 800, 600, "topLeft", "Arial", 20, "red", "bold", "italic", "underline");19var wptextbox = require("wptextbox");20var wpinline = new wptextbox();21wpinline.fixedInlineSize("test", "test", 800, 600, "topLeft", "Arial", 20, "red", "bold
Using AI Code Generation
1var textbox = new wptextbox();2textbox.fixedInlineSize(50);3textbox.text("A sample text");4textbox.addToPage();5var textbox = new wptextbox();6textbox.fixedInlineSize(50);7textbox.text("A sample text");8textbox.addToPage();9var textbox = new wptextbox();10textbox.fixedInlineSize(50);11textbox.text("A sample text");12textbox.addToPage();13var textbox = new wptextbox();14textbox.fixedInlineSize(50);15textbox.text("A sample text");16textbox.addToPage();17var textbox = new wptextbox();18textbox.fixedInlineSize(50);19textbox.text("A sample text");20textbox.addToPage();21var textbox = new wptextbox();22textbox.fixedInlineSize(50);
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!