grid-template-parser
Version:
A simple CSS Grid template parser
1 lines • 4.92 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.GridTemplateParser=e():t.GridTemplateParser=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=4)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=e.track=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return{start:t,end:e,span:e-t}};e.area=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.x,n=void 0===e?0:e,o=t.y,u=void 0===o?0:o,i=t.width,a=void 0===i?0:i,c=t.height,d=void 0===c?0:c;return{column:r(n+1,n+a+1),row:r(u+1,u+d+1)}},e.rect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.column,n=void 0===e?{start:1,end:1,span:0}:e,r=t.row,o=void 0===r?{start:1,end:1,span:0}:r;return{x:n.start-1,y:o.start-1,width:n.end-n.start,height:o.end-o.start}}},function(t,e,n){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(t,e,n,o){var u=o.areas;return t.apply(void 0,r(Object.keys(u).map(function(t){return u[t][e][n]})))};e.minColumnStart=function(t){return o(Math.min,"column","start",t)},e.maxColumnStart=function(t){return o(Math.max,"column","start",t)},e.minRowStart=function(t){return o(Math.min,"row","start",t)},e.maxRowStart=function(t){return o(Math.max,"row","start",t)},e.minColumnEnd=function(t){return o(Math.min,"column","end",t)},e.maxColumnEnd=function(t){return o(Math.max,"column","end",t)},e.minRowEnd=function(t){return o(Math.min,"row","end",t)},e.maxRowEnd=function(t){return o(Math.max,"row","end",t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.grid=void 0;var r=n(0),o=function(t){return t.trim().slice(1,-1)},u=function(t){return t.replace(/\s+/g," ").trim()},i=function(t){return o(t).split(/['"]\s*['"]?/g)},a=function(t){return u(t).split(" ")},c=function(t,e,n){return""!==e.trim()&&a(e).forEach(function(e,o){if("."!==e)if(void 0===t[e])t[e]={column:(0,r.track)(o+1,o+2),row:(0,r.track)(n+1,n+2)};else{var u=t[e],i=u.column,a=u.row;i.start=Math.min(i.start,o+1),i.end=Math.max(i.end,o+2),i.span=i.end-i.start,a.start=Math.min(a.start,n+1),a.end=Math.max(a.end,n+2),a.span=a.end-a.start}}),t};e.grid=function(t){var e=i(t);return{width:a(e[0]).length,height:e.length,areas:e.reduce(c,{})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,n){return function(r){return t[r].row.start<=e+1&&t[r].row.end>e+1&&t[r].column.start<=n+1&&t[r].column.end>n+1}},o=function t(e,n,o){var u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=e.find(r(n.areas,o,u));return i+="string"==typeof a?a:".",u<n.width-1?t(e,n,o,u+1,i+" "):i},u=function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";return u+='"'+o(e,n,r)+'"',r<n.height-1?t(e,n,r+1,u+"\n"):u};e.template=function(t){return u(Object.keys(t.areas),t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(0);Object.defineProperty(e,"area",{enumerable:!0,get:function(){return r.area}}),Object.defineProperty(e,"rect",{enumerable:!0,get:function(){return r.rect}});var o=n(2);Object.defineProperty(e,"grid",{enumerable:!0,get:function(){return o.grid}});var u=n(3);Object.defineProperty(e,"template",{enumerable:!0,get:function(){return u.template}});var i=n(1);Object.defineProperty(e,"minColumnStart",{enumerable:!0,get:function(){return i.minColumnStart}}),Object.defineProperty(e,"maxColumnStart",{enumerable:!0,get:function(){return i.maxColumnStart}}),Object.defineProperty(e,"minRowStart",{enumerable:!0,get:function(){return i.minRowStart}}),Object.defineProperty(e,"maxRowStart",{enumerable:!0,get:function(){return i.maxRowStart}}),Object.defineProperty(e,"minColumnEnd",{enumerable:!0,get:function(){return i.minColumnEnd}}),Object.defineProperty(e,"maxColumnEnd",{enumerable:!0,get:function(){return i.maxColumnEnd}}),Object.defineProperty(e,"minRowEnd",{enumerable:!0,get:function(){return i.minRowEnd}}),Object.defineProperty(e,"maxRowEnd",{enumerable:!0,get:function(){return i.maxRowEnd}})}])});