UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 9.9 kB
const writingModesAffectingFlexDirection=new Set(["tb","tb-rl","vertical-lr","vertical-rl"]);export var PhysicalDirection;!function(n){n.LEFT_TO_RIGHT="left-to-right",n.RIGHT_TO_LEFT="right-to-left",n.BOTTOM_TO_TOP="bottom-to-top",n.TOP_TO_BOTTOM="top-to-bottom"}(PhysicalDirection||(PhysicalDirection={}));export function reverseDirection(n){if(n===PhysicalDirection.LEFT_TO_RIGHT)return PhysicalDirection.RIGHT_TO_LEFT;if(n===PhysicalDirection.RIGHT_TO_LEFT)return PhysicalDirection.LEFT_TO_RIGHT;if(n===PhysicalDirection.TOP_TO_BOTTOM)return PhysicalDirection.BOTTOM_TO_TOP;if(n===PhysicalDirection.BOTTOM_TO_TOP)return PhysicalDirection.TOP_TO_BOTTOM;throw new Error("Unknown PhysicalFlexDirection")}function extendWithReverseDirections(n){return{...n,"row-reverse":reverseDirection(n.row),"column-reverse":reverseDirection(n.column)}}export function getPhysicalDirections(n){const e="rtl"===n.get("direction"),t=n.get("writing-mode");return extendWithReverseDirections(t&&writingModesAffectingFlexDirection.has(t)?{row:e?PhysicalDirection.BOTTOM_TO_TOP:PhysicalDirection.TOP_TO_BOTTOM,column:"vertical-lr"===t?PhysicalDirection.LEFT_TO_RIGHT:PhysicalDirection.RIGHT_TO_LEFT}:{row:e?PhysicalDirection.RIGHT_TO_LEFT:PhysicalDirection.LEFT_TO_RIGHT,column:PhysicalDirection.TOP_TO_BOTTOM})}export function rotateFlexDirectionIcon(n){let e=!0,t=!1,i=-90;return n===PhysicalDirection.RIGHT_TO_LEFT?(i=90,t=!1,e=!1):n===PhysicalDirection.TOP_TO_BOTTOM?(i=0,e=!1,t=!1):n===PhysicalDirection.BOTTOM_TO_TOP&&(i=0,e=!1,t=!0),{iconName:"flex-direction",rotate:i,scaleX:e?-1:1,scaleY:t?-1:1}}export function rotateAlignContentIcon(n,e){return{iconName:n,rotate:e===PhysicalDirection.RIGHT_TO_LEFT?90:e===PhysicalDirection.LEFT_TO_RIGHT?-90:0,scaleX:1,scaleY:1}}export function rotateJustifyContentIcon(n,e){return{iconName:n,rotate:e===PhysicalDirection.TOP_TO_BOTTOM?90:e===PhysicalDirection.BOTTOM_TO_TOP?-90:0,scaleX:e===PhysicalDirection.RIGHT_TO_LEFT?-1:1,scaleY:1}}export function rotateJustifyItemsIcon(n,e){return{iconName:n,rotate:e===PhysicalDirection.TOP_TO_BOTTOM?90:e===PhysicalDirection.BOTTOM_TO_TOP?-90:0,scaleX:e===PhysicalDirection.RIGHT_TO_LEFT?-1:1,scaleY:1}}export function rotateAlignItemsIcon(n,e){return{iconName:n,rotate:e===PhysicalDirection.RIGHT_TO_LEFT?90:e===PhysicalDirection.LEFT_TO_RIGHT?-90:0,scaleX:1,scaleY:1}}function flexDirectionIcon(n){return function(e){return rotateFlexDirectionIcon(getPhysicalDirections(e)[n])}}function flexAlignContentIcon(n){return function(e){const t=getPhysicalDirections(e),i=new Map([["column",t.row],["row",t.column],["column-reverse",t.row],["row-reverse",t.column]]),o=e.get("flex-direction")||"row",c=i.get(o);if(!c)throw new Error("Unknown direction for flex-align icon");return rotateAlignContentIcon(n,c)}}function gridAlignContentIcon(n){return function(e){const t=getPhysicalDirections(e);return rotateAlignContentIcon(n,t.column)}}function flexJustifyContentIcon(n){return function(e){const t=getPhysicalDirections(e);return rotateJustifyContentIcon(n,t[e.get("flex-direction")||"row"])}}function gridJustifyContentIcon(n){return function(e){const t=getPhysicalDirections(e);return rotateJustifyContentIcon(n,t.row)}}function gridJustifyItemsIcon(n){return function(e){const t=getPhysicalDirections(e);return rotateJustifyItemsIcon(n,t.row)}}function flexAlignItemsIcon(n){return function(e){const t=getPhysicalDirections(e),i=new Map([["column",t.row],["row",t.column],["column-reverse",t.row],["row-reverse",t.column]]),o=e.get("flex-direction")||"row",c=i.get(o);if(!c)throw new Error("Unknown direction for flex-align icon");return rotateAlignItemsIcon(n,c)}}function gridAlignItemsIcon(n){return function(e){const t=getPhysicalDirections(e);return rotateAlignItemsIcon(n,t.column)}}function baselineIcon(){return{iconName:"align-items-baseline",rotate:0,scaleX:1,scaleY:1}}function flexAlignSelfIcon(n){return function(e,t){return flexAlignItemsIcon(n)(t)}}function gridAlignSelfIcon(n){return function(e,t){return gridAlignItemsIcon(n)(t)}}export function roateFlexWrapIcon(n,e){return{iconName:n,rotate:e===PhysicalDirection.BOTTOM_TO_TOP||e===PhysicalDirection.TOP_TO_BOTTOM?90:0,scaleX:1,scaleY:1}}function flexWrapIcon(n){return function(e){const t=getPhysicalDirections(e),i=e.get("flex-direction")||"row";return roateFlexWrapIcon(n,t[i])}}const flexContainerIcons=new Map([["flex-direction: row",flexDirectionIcon("row")],["flex-direction: column",flexDirectionIcon("column")],["flex-direction: column-reverse",flexDirectionIcon("column-reverse")],["flex-direction: row-reverse",flexDirectionIcon("row-reverse")],["flex-direction: initial",flexDirectionIcon("row")],["flex-direction: unset",flexDirectionIcon("row")],["flex-direction: revert",flexDirectionIcon("row")],["align-content: center",flexAlignContentIcon("align-content-center")],["align-content: space-around",flexAlignContentIcon("align-content-space-around")],["align-content: space-between",flexAlignContentIcon("align-content-space-between")],["align-content: stretch",flexAlignContentIcon("align-content-stretch")],["align-content: space-evenly",flexAlignContentIcon("align-content-space-evenly")],["align-content: flex-end",flexAlignContentIcon("align-content-end")],["align-content: flex-start",flexAlignContentIcon("align-content-start")],["align-content: start",flexAlignContentIcon("align-content-start")],["align-content: end",flexAlignContentIcon("align-content-end")],["align-content: normal",flexAlignContentIcon("align-content-stretch")],["align-content: revert",flexAlignContentIcon("align-content-stretch")],["align-content: unset",flexAlignContentIcon("align-content-stretch")],["align-content: initial",flexAlignContentIcon("align-content-stretch")],["justify-content: center",flexJustifyContentIcon("justify-content-center")],["justify-content: space-around",flexJustifyContentIcon("justify-content-space-around")],["justify-content: space-between",flexJustifyContentIcon("justify-content-space-between")],["justify-content: space-evenly",flexJustifyContentIcon("justify-content-space-evenly")],["justify-content: flex-end",flexJustifyContentIcon("justify-content-end")],["justify-content: flex-start",flexJustifyContentIcon("justify-content-start")],["align-items: stretch",flexAlignItemsIcon("align-items-stretch")],["align-items: flex-end",flexAlignItemsIcon("align-items-end")],["align-items: flex-start",flexAlignItemsIcon("align-items-start")],["align-items: center",flexAlignItemsIcon("align-items-center")],["align-items: baseline",baselineIcon],["align-content: baseline",baselineIcon],["flex-wrap: wrap",flexWrapIcon("flex-wrap")],["flex-wrap: nowrap",flexWrapIcon("flex-no-wrap")]]),flexItemIcons=new Map([["align-self: baseline",baselineIcon],["align-self: center",flexAlignSelfIcon("align-self-center")],["align-self: flex-start",flexAlignSelfIcon("align-self-start")],["align-self: flex-end",flexAlignSelfIcon("align-self-end")],["align-self: stretch",flexAlignSelfIcon("align-self-stretch")]]),gridContainerIcons=new Map([["align-content: center",gridAlignContentIcon("align-content-center")],["align-content: space-around",gridAlignContentIcon("align-content-space-around")],["align-content: space-between",gridAlignContentIcon("align-content-space-between")],["align-content: stretch",gridAlignContentIcon("align-content-stretch")],["align-content: space-evenly",gridAlignContentIcon("align-content-space-evenly")],["align-content: end",gridAlignContentIcon("align-content-end")],["align-content: start",gridAlignContentIcon("align-content-start")],["align-content: baseline",baselineIcon],["justify-content: center",gridJustifyContentIcon("justify-content-center")],["justify-content: space-around",gridJustifyContentIcon("justify-content-space-around")],["justify-content: space-between",gridJustifyContentIcon("justify-content-space-between")],["justify-content: space-evenly",gridJustifyContentIcon("justify-content-space-evenly")],["justify-content: end",gridJustifyContentIcon("justify-content-end")],["justify-content: start",gridJustifyContentIcon("justify-content-start")],["align-items: stretch",gridAlignItemsIcon("align-items-stretch")],["align-items: end",gridAlignItemsIcon("align-items-end")],["align-items: start",gridAlignItemsIcon("align-items-start")],["align-items: center",gridAlignItemsIcon("align-items-center")],["align-items: baseline",baselineIcon],["justify-items: center",gridJustifyItemsIcon("justify-items-center")],["justify-items: stretch",gridJustifyItemsIcon("justify-items-stretch")],["justify-items: end",gridJustifyItemsIcon("justify-items-end")],["justify-items: start",gridJustifyItemsIcon("justify-items-start")],["justify-items: baseline",baselineIcon]]),gridItemIcons=new Map([["align-self: baseline",baselineIcon],["align-self: center",gridAlignSelfIcon("align-self-center")],["align-self: start",gridAlignSelfIcon("align-self-start")],["align-self: end",gridAlignSelfIcon("align-self-end")],["align-self: stretch",gridAlignSelfIcon("align-self-stretch")]]),isFlexContainer=n=>{const e=n?.get("display");return"flex"===e||"inline-flex"===e},isGridContainer=n=>{const e=n?.get("display");return"grid"===e||"inline-grid"===e};export function findIcon(n,e,t){if(isFlexContainer(e)){const t=findFlexContainerIcon(n,e);if(t)return t}if(isFlexContainer(t)){const i=findFlexItemIcon(n,e,t);if(i)return i}if(isGridContainer(e)){const t=findGridContainerIcon(n,e);if(t)return t}if(isGridContainer(t)){const i=findGridItemIcon(n,e,t);if(i)return i}return null}export function findFlexContainerIcon(n,e){const t=flexContainerIcons.get(n);return t?t(e||new Map):null}export function findFlexItemIcon(n,e,t){const i=flexItemIcons.get(n);return i?i(e||new Map,t||new Map):null}export function findGridContainerIcon(n,e){const t=gridContainerIcons.get(n);return t?t(e||new Map):null}export function findGridItemIcon(n,e,t){const i=gridItemIcons.get(n);return i?i(e||new Map,t||new Map):null}