scrollbars.js (1799B)
1 var flexDirections = ["row", "row-reverse", "column", "column-reverse"]; 2 var textDirections = ["ltr", "rtl"]; 3 var writingModes = ["horizontal", "flipped-blocks", "flipped-lines"]; 4 5 var createLeafNode = (i) => { 6 var flexItem = document.createElement("div"); 7 flexItem.className = "leaf" + i; 8 var contentItem = document.createElement("div"); 9 contentItem.innerHTML = i; 10 flexItem.appendChild(contentItem); 11 return flexItem; 12 } 13 14 var createContentNode = (flexDirection, textDirection, writingMode) => { 15 var flexNode = document.createElement("div"); 16 flexNode.className = "flex " + flexDirection; 17 flexNode.title = "flex-direction: " + flexDirection + "; direction: " + textDirection + "; writing-mode: " + writingMode; 18 for (var i = 1; i < 4; i++) 19 flexNode.appendChild(createLeafNode(i)); 20 var marginShim = document.createElement("div"); 21 return flexNode; 22 } 23 24 var createContainerNode = (flexDirection, textDirection, writingMode) => { 25 var containerNode = document.createElement("div"); 26 containerNode.className = "container " + textDirection + " " + writingMode; 27 containerNode.appendChild(createContentNode(flexDirection, textDirection, writingMode)); 28 return containerNode; 29 } 30 31 var createContainerRow = (flexDirection) => { 32 var containerRow = document.createElement("div"); 33 containerRow.className = "container-row"; 34 var rowLabel = document.createElement("div"); 35 rowLabel.className = "vertical-header horizontal " + flexDirection; 36 rowLabel.innerHTML = flexDirection; 37 containerRow.appendChild(rowLabel); 38 textDirections.forEach((textDirection) => { 39 writingModes.forEach((writingMode) => { 40 var containerNode = createContainerNode(flexDirection, textDirection, writingMode); 41 containerRow.appendChild(containerNode); 42 }); 43 }); 44 return containerRow; 45 }