@govuk-react/lib
Advanced tools
+2
-2
@@ -6,4 +6,4 @@ var _printFriendly; | ||
| import { FOCUSABLE_FILL, MEDIA_QUERIES } from '@govuk-react/constants'; | ||
| import { BLACK, // in lieu of a FOCUS_TEXT_COLOUR... | ||
| LINK_COLOUR, LINK_ACTIVE_COLOUR, LINK_HOVER_COLOUR, LINK_VISITED_COLOUR, SECONDARY_TEXT_COLOUR } from 'govuk-colours'; | ||
| import { BLACK // in lieu of a FOCUS_TEXT_COLOUR... | ||
| , LINK_COLOUR, LINK_ACTIVE_COLOUR, LINK_HOVER_COLOUR, LINK_VISITED_COLOUR, SECONDARY_TEXT_COLOUR } from 'govuk-colours'; | ||
| import { common as commonType, textColour } from '../typography'; | ||
@@ -10,0 +10,0 @@ var FOCUS_TEXT_COLOUR = BLACK; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/link/index.js"],"names":["FOCUSABLE_FILL","MEDIA_QUERIES","BLACK","LINK_COLOUR","LINK_ACTIVE_COLOUR","LINK_HOVER_COLOUR","LINK_VISITED_COLOUR","SECONDARY_TEXT_COLOUR","common","commonType","textColour","FOCUS_TEXT_COLOUR","fontFamily","styleDefault","color","styleMuted","styleText","styleNoVisitedState","printFriendly","PRINT","content","fontSize","wordWrap"],"mappings":";;AAAA;AACA;AACA,SAASA,cAAT,EAAyBC,aAAzB,QAA8C,wBAA9C;AACA,SACEC,KADF,EACS;AACPC,WAFF,EAGEC,kBAHF,EAIEC,iBAJF,EAKEC,mBALF,EAMEC,qBANF,QAOO,eAPP;AASA,SAASC,MAAM,IAAIC,UAAnB,EAA+BC,UAA/B,QAAiD,eAAjD;AAEA,IAAMC,iBAAiB,GAAGT,KAA1B;AAEA,OAAO,SAASM,MAAT,CAAgBI,UAAhB,EAA4B;AACjC,SAAO,CAACH,UAAU,CAACG,UAAD,CAAX,EAAyBZ,cAAzB,CAAP;AACD;AAED,OAAO,IAAMa,YAAY,GAAG;AAC1B,WAAS;AACPC,IAAAA,KAAK,EAAEX;AADA,GADiB;AAI1B,cAAY;AACVW,IAAAA,KAAK,EAAER;AADG,GAJc;AAO1B,YAAU;AACRQ,IAAAA,KAAK,EAAET;AADC,GAPgB;AAU1B,aAAW;AACTS,IAAAA,KAAK,EAAEV;AADE,GAVe;AAa1B,YAAU;AACRU,IAAAA,KAAK,EAAEH;AADC;AAbgB,CAArB;AAkBP,OAAO,IAAMI,UAAU,GAAG;AACxB,0CAAwC;AACtCD,IAAAA,KAAK,EAAEP;AAD+B,GADhB;AAIxB,aAAW;AACTO,IAAAA,KAAK,EAAEH;AADE;AAJa,CAAnB;AASP,OAAO,IAAMK,SAAS,GAAG;AACvB,mDAAiDN;AAD1B,CAAlB;AAIP,OAAO,IAAMO,mBAAmB,GAAG;AACjC,WAAS;AACPH,IAAAA,KAAK,EAAEX;AADA,GADwB;AAIjC,cAAY;AACVW,IAAAA,KAAK,EAAEX;AADG,GAJqB;AAOjC,YAAU;AACRW,IAAAA,KAAK,EAAET;AADC,GAPuB;AAUjC,aAAW;AACTS,IAAAA,KAAK,EAAEV;AADE,GAVsB;AAajC,YAAU;AACRU,IAAAA,KAAK,EAAEH;AADC;AAbuB,CAA5B;AAkBP,OAAO,IAAMO,aAAa,wCACvBjB,aAAa,CAACkB,KADS,IACD;AACrB,2DAAyD;AACvD,gBAAY;AACVC,MAAAA,OAAO,EAAE,qBADC;AAEVC,MAAAA,QAAQ,EAAE,KAFA;AAGVC,MAAAA,QAAQ,EAAE;AAHA;AAD2C;AADpC,CADC,iBAAnB","sourcesContent":["// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_links.scss\nimport { FOCUSABLE_FILL, MEDIA_QUERIES } from '@govuk-react/constants';\nimport {\n BLACK, // in lieu of a FOCUS_TEXT_COLOUR...\n LINK_COLOUR,\n LINK_ACTIVE_COLOUR,\n LINK_HOVER_COLOUR,\n LINK_VISITED_COLOUR,\n SECONDARY_TEXT_COLOUR,\n} from 'govuk-colours';\n\nimport { common as commonType, textColour } from '../typography';\n\nconst FOCUS_TEXT_COLOUR = BLACK;\n\nexport function common(fontFamily) {\n return [commonType(fontFamily), FOCUSABLE_FILL];\n}\n\nexport const styleDefault = {\n ':link': {\n color: LINK_COLOUR,\n },\n ':visited': {\n color: LINK_VISITED_COLOUR,\n },\n ':hover': {\n color: LINK_HOVER_COLOUR,\n },\n ':active': {\n color: LINK_ACTIVE_COLOUR,\n },\n ':focus': {\n color: FOCUS_TEXT_COLOUR,\n },\n};\n\nexport const styleMuted = {\n '&:link, &:visited, &:hover, &:active': {\n color: SECONDARY_TEXT_COLOUR,\n },\n '&:focus': {\n color: FOCUS_TEXT_COLOUR,\n },\n};\n\nexport const styleText = {\n '&:link, &:visited, &:hover, &:active, &:focus': textColour,\n};\n\nexport const styleNoVisitedState = {\n ':link': {\n color: LINK_COLOUR,\n },\n ':visited': {\n color: LINK_COLOUR,\n },\n ':hover': {\n color: LINK_HOVER_COLOUR,\n },\n ':active': {\n color: LINK_ACTIVE_COLOUR,\n },\n ':focus': {\n color: FOCUS_TEXT_COLOUR,\n },\n};\n\nexport const printFriendly = {\n [MEDIA_QUERIES.PRINT]: {\n '&[href^=\"/\"], &[href^=\"http://\"], &[href^=\"https://\"]': {\n '&::after': {\n content: '\" (\" attr(href) \")\"',\n fontSize: '90%',\n wordWrap: 'break-word',\n },\n },\n },\n};\n"],"file":"index.js"} | ||
| {"version":3,"sources":["../../src/link/index.js"],"names":["FOCUSABLE_FILL","MEDIA_QUERIES","BLACK","LINK_COLOUR","LINK_ACTIVE_COLOUR","LINK_HOVER_COLOUR","LINK_VISITED_COLOUR","SECONDARY_TEXT_COLOUR","common","commonType","textColour","FOCUS_TEXT_COLOUR","fontFamily","styleDefault","color","styleMuted","styleText","styleNoVisitedState","printFriendly","PRINT","content","fontSize","wordWrap"],"mappings":";;AAAA;AACA;AACA,SAASA,cAAT,EAAyBC,aAAzB,QAA8C,wBAA9C;AACA,SACEC,KADF,CACS;AADT,EAEEC,WAFF,EAGEC,kBAHF,EAIEC,iBAJF,EAKEC,mBALF,EAMEC,qBANF,QAOO,eAPP;AASA,SAASC,MAAM,IAAIC,UAAnB,EAA+BC,UAA/B,QAAiD,eAAjD;AAEA,IAAMC,iBAAiB,GAAGT,KAA1B;AAEA,OAAO,SAASM,MAAT,CAAgBI,UAAhB,EAA4B;AACjC,SAAO,CAACH,UAAU,CAACG,UAAD,CAAX,EAAyBZ,cAAzB,CAAP;AACD;AAED,OAAO,IAAMa,YAAY,GAAG;AAC1B,WAAS;AACPC,IAAAA,KAAK,EAAEX;AADA,GADiB;AAI1B,cAAY;AACVW,IAAAA,KAAK,EAAER;AADG,GAJc;AAO1B,YAAU;AACRQ,IAAAA,KAAK,EAAET;AADC,GAPgB;AAU1B,aAAW;AACTS,IAAAA,KAAK,EAAEV;AADE,GAVe;AAa1B,YAAU;AACRU,IAAAA,KAAK,EAAEH;AADC;AAbgB,CAArB;AAkBP,OAAO,IAAMI,UAAU,GAAG;AACxB,0CAAwC;AACtCD,IAAAA,KAAK,EAAEP;AAD+B,GADhB;AAIxB,aAAW;AACTO,IAAAA,KAAK,EAAEH;AADE;AAJa,CAAnB;AASP,OAAO,IAAMK,SAAS,GAAG;AACvB,mDAAiDN;AAD1B,CAAlB;AAIP,OAAO,IAAMO,mBAAmB,GAAG;AACjC,WAAS;AACPH,IAAAA,KAAK,EAAEX;AADA,GADwB;AAIjC,cAAY;AACVW,IAAAA,KAAK,EAAEX;AADG,GAJqB;AAOjC,YAAU;AACRW,IAAAA,KAAK,EAAET;AADC,GAPuB;AAUjC,aAAW;AACTS,IAAAA,KAAK,EAAEV;AADE,GAVsB;AAajC,YAAU;AACRU,IAAAA,KAAK,EAAEH;AADC;AAbuB,CAA5B;AAkBP,OAAO,IAAMO,aAAa,wCACvBjB,aAAa,CAACkB,KADS,IACD;AACrB,2DAAyD;AACvD,gBAAY;AACVC,MAAAA,OAAO,EAAE,qBADC;AAEVC,MAAAA,QAAQ,EAAE,KAFA;AAGVC,MAAAA,QAAQ,EAAE;AAHA;AAD2C;AADpC,CADC,iBAAnB","sourcesContent":["// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_links.scss\nimport { FOCUSABLE_FILL, MEDIA_QUERIES } from '@govuk-react/constants';\nimport {\n BLACK, // in lieu of a FOCUS_TEXT_COLOUR...\n LINK_COLOUR,\n LINK_ACTIVE_COLOUR,\n LINK_HOVER_COLOUR,\n LINK_VISITED_COLOUR,\n SECONDARY_TEXT_COLOUR,\n} from 'govuk-colours';\n\nimport { common as commonType, textColour } from '../typography';\n\nconst FOCUS_TEXT_COLOUR = BLACK;\n\nexport function common(fontFamily) {\n return [commonType(fontFamily), FOCUSABLE_FILL];\n}\n\nexport const styleDefault = {\n ':link': {\n color: LINK_COLOUR,\n },\n ':visited': {\n color: LINK_VISITED_COLOUR,\n },\n ':hover': {\n color: LINK_HOVER_COLOUR,\n },\n ':active': {\n color: LINK_ACTIVE_COLOUR,\n },\n ':focus': {\n color: FOCUS_TEXT_COLOUR,\n },\n};\n\nexport const styleMuted = {\n '&:link, &:visited, &:hover, &:active': {\n color: SECONDARY_TEXT_COLOUR,\n },\n '&:focus': {\n color: FOCUS_TEXT_COLOUR,\n },\n};\n\nexport const styleText = {\n '&:link, &:visited, &:hover, &:active, &:focus': textColour,\n};\n\nexport const styleNoVisitedState = {\n ':link': {\n color: LINK_COLOUR,\n },\n ':visited': {\n color: LINK_COLOUR,\n },\n ':hover': {\n color: LINK_HOVER_COLOUR,\n },\n ':active': {\n color: LINK_ACTIVE_COLOUR,\n },\n ':focus': {\n color: FOCUS_TEXT_COLOUR,\n },\n};\n\nexport const printFriendly = {\n [MEDIA_QUERIES.PRINT]: {\n '&[href^=\"/\"], &[href^=\"http://\"], &[href^=\"https://\"]': {\n '&::after': {\n content: '\" (\" attr(href) \")\"',\n fontSize: '90%',\n wordWrap: 'break-word',\n },\n },\n },\n};\n"],"file":"index.js"} |
@@ -1,5 +0,3 @@ | ||
| function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
| function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
| function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
| // Tracking: | ||
@@ -59,3 +57,3 @@ // https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_shape-arrow.scss | ||
| display = _ref$display === void 0 ? 'block' : _ref$display; | ||
| return _objectSpread({ | ||
| return _extends({ | ||
| display: display, | ||
@@ -62,0 +60,0 @@ width: 0, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/shape/index.js"],"names":["root3","equilateralHeight","base","makeShape","direction","height","perpendicular","clipPath","borderWidth","borderBottomColor","borderLeftColor","borderTopColor","borderRightColor","Error","arrow","display","width","borderStyle","borderColor"],"mappings":";;;;AAAA;AACA;AACA,IAAMA,KAAK,GAAG,KAAd,C,CAAqB;;AAErB,SAASC,iBAAT,CAA2BC,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAG,CAAR,GAAaF,KAApB;AACD;;AAED,SAASG,SAAT,CAAmBC,SAAnB,EAA8BF,IAA9B,EAAoCG,MAApC,EAA4C;AAC1C,MAAMC,aAAa,GAAGJ,IAAI,GAAG,CAA7B;;AAEA,UAAQE,SAAR;AACE,SAAK,IAAL;AACE,aAAO;AACLG,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,SAAOF,aAAP,WAA0BD,MAA1B,WAAsCC,aAAtC,OAFN;AAGLG,QAAAA,iBAAiB,EAAE;AAHd,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,aAA0BA,aAA1B,WAA6CD,MAA7C,OAFN;AAGLK,QAAAA,eAAe,EAAE;AAHZ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLH,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKH,MAAL,WAAiBC,aAAjB,aAAsCA,aAAtC,OAFN;AAGLK,QAAAA,cAAc,EAAE;AAHX,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLJ,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,WAAwBD,MAAxB,WAAoCC,aAApC,SAFN;AAGLM,QAAAA,gBAAgB,EAAE;AAHb,OAAP;;AAKF;AACE,YAAMC,KAAK,6EAA2ET,SAA3E,CAAX;AA1BJ;AA4BD,C,CAED;;;AACA,OAAO,SAASU,KAAT,OAA6F;AAAA,MAA5EV,SAA4E,QAA5EA,SAA4E;AAAA,uBAAjEF,IAAiE;AAAA,MAAjEA,IAAiE,0BAA1D,CAA0D;AAAA,yBAAvDG,MAAuD;AAAA,MAAvDA,MAAuD,4BAA9CJ,iBAAiB,CAACC,IAAD,CAA6B;AAAA,0BAArBa,OAAqB;AAAA,MAArBA,OAAqB,6BAAX,OAAW;AAClG;AACEA,IAAAA,OAAO,EAAPA,OADF;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEX,IAAAA,MAAM,EAAE,CAHV;AAKEY,IAAAA,WAAW,EAAE,OALf;AAMEC,IAAAA,WAAW,EAAE;AANf,KAQKf,SAAS,CAACC,SAAD,EAAYF,IAAZ,EAAkBG,MAAlB,CARd;AAUD","sourcesContent":["// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_shape-arrow.scss\nconst root3 = 1.732; // Math.sqrt(3);\n\nfunction equilateralHeight(base) {\n return (base / 2) * root3;\n}\n\nfunction makeShape(direction, base, height) {\n const perpendicular = base / 2;\n\n switch (direction) {\n case 'up':\n return {\n clipPath: 'polygon(50% 0%, 0% 100%, 100% 100%)',\n borderWidth: `0 ${perpendicular}px ${height}px ${perpendicular}px`,\n borderBottomColor: 'inherit',\n };\n case 'right':\n return {\n clipPath: 'polygon(0% 0%, 100% 50%, 0% 100%)',\n borderWidth: `${perpendicular}px 0 ${perpendicular}px ${height}px`,\n borderLeftColor: 'inherit',\n };\n case 'down':\n return {\n clipPath: 'polygon(0% 0%, 50% 100%, 100% 0%)',\n borderWidth: `${height}px ${perpendicular}px 0 ${perpendicular}px`,\n borderTopColor: 'inherit',\n };\n case 'left':\n return {\n clipPath: 'polygon(0% 50%, 100% 100%, 100% 0%)',\n borderWidth: `${perpendicular}px ${height}px ${perpendicular}px 0`,\n borderRightColor: 'inherit',\n };\n default:\n throw Error(`Invalid arrow direction: expected 'up', 'right', 'down' or 'left', got ${direction}`);\n }\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport function arrow({ direction, base = 0, height = equilateralHeight(base), display = 'block' }) {\n return {\n display,\n width: 0,\n height: 0,\n\n borderStyle: 'solid',\n borderColor: 'transparent',\n\n ...makeShape(direction, base, height),\n };\n}\n"],"file":"index.js"} | ||
| {"version":3,"sources":["../../src/shape/index.js"],"names":["root3","equilateralHeight","base","makeShape","direction","height","perpendicular","clipPath","borderWidth","borderBottomColor","borderLeftColor","borderTopColor","borderRightColor","Error","arrow","display","width","borderStyle","borderColor"],"mappings":";;AAAA;AACA;AACA,IAAMA,KAAK,GAAG,KAAd,C,CAAqB;;AAErB,SAASC,iBAAT,CAA2BC,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAG,CAAR,GAAaF,KAApB;AACD;;AAED,SAASG,SAAT,CAAmBC,SAAnB,EAA8BF,IAA9B,EAAoCG,MAApC,EAA4C;AAC1C,MAAMC,aAAa,GAAGJ,IAAI,GAAG,CAA7B;;AAEA,UAAQE,SAAR;AACE,SAAK,IAAL;AACE,aAAO;AACLG,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,SAAOF,aAAP,WAA0BD,MAA1B,WAAsCC,aAAtC,OAFN;AAGLG,QAAAA,iBAAiB,EAAE;AAHd,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,aAA0BA,aAA1B,WAA6CD,MAA7C,OAFN;AAGLK,QAAAA,eAAe,EAAE;AAHZ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLH,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKH,MAAL,WAAiBC,aAAjB,aAAsCA,aAAtC,OAFN;AAGLK,QAAAA,cAAc,EAAE;AAHX,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLJ,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,WAAwBD,MAAxB,WAAoCC,aAApC,SAFN;AAGLM,QAAAA,gBAAgB,EAAE;AAHb,OAAP;;AAKF;AACE,YAAMC,KAAK,6EAA2ET,SAA3E,CAAX;AA1BJ;AA4BD,C,CAED;;;AACA,OAAO,SAASU,KAAT,OAA6F;AAAA,MAA5EV,SAA4E,QAA5EA,SAA4E;AAAA,uBAAjEF,IAAiE;AAAA,MAAjEA,IAAiE,0BAA1D,CAA0D;AAAA,yBAAvDG,MAAuD;AAAA,MAAvDA,MAAuD,4BAA9CJ,iBAAiB,CAACC,IAAD,CAA6B;AAAA,0BAArBa,OAAqB;AAAA,MAArBA,OAAqB,6BAAX,OAAW;AAClG;AACEA,IAAAA,OAAO,EAAPA,OADF;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEX,IAAAA,MAAM,EAAE,CAHV;AAKEY,IAAAA,WAAW,EAAE,OALf;AAMEC,IAAAA,WAAW,EAAE;AANf,KAQKf,SAAS,CAACC,SAAD,EAAYF,IAAZ,EAAkBG,MAAlB,CARd;AAUD","sourcesContent":["// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_shape-arrow.scss\nconst root3 = 1.732; // Math.sqrt(3);\n\nfunction equilateralHeight(base) {\n return (base / 2) * root3;\n}\n\nfunction makeShape(direction, base, height) {\n const perpendicular = base / 2;\n\n switch (direction) {\n case 'up':\n return {\n clipPath: 'polygon(50% 0%, 0% 100%, 100% 100%)',\n borderWidth: `0 ${perpendicular}px ${height}px ${perpendicular}px`,\n borderBottomColor: 'inherit',\n };\n case 'right':\n return {\n clipPath: 'polygon(0% 0%, 100% 50%, 0% 100%)',\n borderWidth: `${perpendicular}px 0 ${perpendicular}px ${height}px`,\n borderLeftColor: 'inherit',\n };\n case 'down':\n return {\n clipPath: 'polygon(0% 0%, 50% 100%, 100% 0%)',\n borderWidth: `${height}px ${perpendicular}px 0 ${perpendicular}px`,\n borderTopColor: 'inherit',\n };\n case 'left':\n return {\n clipPath: 'polygon(0% 50%, 100% 100%, 100% 0%)',\n borderWidth: `${perpendicular}px ${height}px ${perpendicular}px 0`,\n borderRightColor: 'inherit',\n };\n default:\n throw Error(`Invalid arrow direction: expected 'up', 'right', 'down' or 'left', got ${direction}`);\n }\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport function arrow({ direction, base = 0, height = equilateralHeight(base), display = 'block' }) {\n return {\n display,\n width: 0,\n height: 0,\n\n borderStyle: 'solid',\n borderColor: 'transparent',\n\n ...makeShape(direction, base, height),\n };\n}\n"],"file":"index.js"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/spacing/index.js"],"names":["PropTypes","MEDIA_QUERIES","SPACING_MAP","SPACING_MAP_INDEX","SPACING_POINTS","WIDTHS","simple","size","scale","Math","abs","polarity","undefined","Error","styleForDirection","property","direction","responsive","adjustment","Array","isArray","Object","assign","map","dir","mobile","TABLET","tablet","responsiveMargin","value","Number","isInteger","responsivePadding","withWhiteSpace","config","margin","padding","mb","marginBottom","styles","push","val","Directions","oneOf","SpacingShape","shape","number","isRequired","oneOfType","arrayOf","propTypes","withWidth","setWidth","width","mediaQuery","noDefault"],"mappings":"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","sourcesContent":["// This lib is effectively a port of govuk-frontend's spacing sass helpers\n// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_spacing.scss\n// Further references:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/overrides/_spacing.scss\n// https://github.com/alphagov/govuk-frontend/blob/master/src/settings/_spacing.scss\n\nimport PropTypes from 'prop-types';\nimport { MEDIA_QUERIES, SPACING_MAP, SPACING_MAP_INDEX, SPACING_POINTS, WIDTHS } from '@govuk-react/constants';\n\nexport function simple(size) {\n const scale = SPACING_POINTS[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown spacing size ${size} - expected a point from the spacing scale.`);\n }\n\n return scale * polarity;\n}\n\nfunction styleForDirection(size, property, direction) {\n // NB styled-components automatically sets style to include `px` if needed\n return {\n [direction && direction !== 'all' ? `${property}-${direction}` : property]: size,\n };\n}\n\nexport function responsive({ size, property, direction, adjustment = 0 } = {}) {\n const scale = SPACING_MAP[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown responsive spacing size ${size} - expected a point from the responsive spacing scale.`);\n }\n\n if (!property) {\n throw Error('No property passed to responsiveSpacing');\n }\n\n // TODO consider checking adjustment is a number\n // TODO consider supporting non-number (string) adjustments, such as px or rem values\n\n if (Array.isArray(direction)) {\n return Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.mobile * polarity + adjustment, property, dir)),\n {\n [MEDIA_QUERIES.TABLET]: Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.tablet * polarity + adjustment, property, dir))\n ),\n }\n );\n }\n\n return Object.assign({}, styleForDirection(scale.mobile * polarity + adjustment, property, direction), {\n [MEDIA_QUERIES.TABLET]: styleForDirection(scale.tablet * polarity + adjustment, property, direction),\n });\n}\n\nexport function responsiveMargin(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'margin' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'margin',\n direction,\n adjustment,\n });\n}\n\nexport function responsivePadding(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'padding' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'padding',\n direction,\n adjustment,\n });\n}\n\n// withWhiteSpace lib styling function\n// does not form part of govuk-frontend\n\n// `withWhiteSpace(config)`\n// generates a styling function, based on config, which can be used when styling a component\n\n// `margin` and `padding` are supported as props and config values\n// can be a single number, to indicate scale size to use in all directions\n// can be an object in format `{ size, direction, adjustment }`\n// - see `responsivePadding` and `responsiveMargin` calls\n// can be an array of numbers/objects\n\nexport function withWhiteSpace(config = {}) {\n return ({ margin = config.margin, padding = config.padding, mb: marginBottom = config.marginBottom } = {}) => {\n const styles = [];\n\n if (margin !== undefined) {\n if (Array.isArray(margin)) {\n styles.push(margin.map(val => responsiveMargin(val)));\n } else {\n styles.push(responsiveMargin(margin));\n }\n }\n\n if (padding !== undefined) {\n if (Array.isArray(padding)) {\n styles.push(padding.map(val => responsivePadding(val)));\n } else {\n styles.push(responsivePadding(padding));\n }\n }\n\n if (marginBottom !== undefined) {\n styles.push(responsiveMargin({ size: marginBottom, direction: 'bottom' }));\n }\n\n return styles;\n };\n}\n\nconst Directions = PropTypes.oneOf(['all', 'top', 'right', 'bottom', 'left']);\n\nconst SpacingShape = PropTypes.shape({\n size: PropTypes.number.isRequired,\n direction: PropTypes.oneOfType([Directions, PropTypes.arrayOf(Directions)]),\n adjustment: PropTypes.number,\n});\n\n// `mb` (Margin Bottom) prop name comes from the naming convention used by https://github.com/jxnblk/grid-styled\nwithWhiteSpace.propTypes = {\n mb: PropTypes.oneOf(SPACING_MAP_INDEX),\n margin: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n padding: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n};\n\nexport function withWidth(config = {}) {\n return ({ setWidth = config.width } = {}) => {\n if (setWidth) {\n const width = WIDTHS[setWidth] || setWidth;\n const { mediaQuery = MEDIA_QUERIES.TABLET, noDefault } = config;\n\n return {\n width: noDefault ? undefined : '100%',\n [mediaQuery]: {\n width,\n },\n };\n }\n\n return undefined;\n };\n}\n"],"file":"index.js"} | ||
| {"version":3,"sources":["../../src/spacing/index.js"],"names":["PropTypes","MEDIA_QUERIES","SPACING_MAP","SPACING_MAP_INDEX","SPACING_POINTS","WIDTHS","simple","size","scale","Math","abs","polarity","undefined","Error","styleForDirection","property","direction","responsive","adjustment","Array","isArray","Object","assign","map","dir","mobile","TABLET","tablet","responsiveMargin","value","Number","isInteger","responsivePadding","withWhiteSpace","config","margin","padding","mb","marginBottom","styles","push","val","Directions","oneOf","SpacingShape","shape","number","isRequired","oneOfType","arrayOf","propTypes","withWidth","setWidth","width","mediaQuery","noDefault"],"mappings":"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","sourcesContent":["// This lib is effectively a port of govuk-frontend's spacing sass helpers\n// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_spacing.scss\n// Further references:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/overrides/_spacing.scss\n// https://github.com/alphagov/govuk-frontend/blob/master/src/settings/_spacing.scss\n\nimport PropTypes from 'prop-types';\nimport { MEDIA_QUERIES, SPACING_MAP, SPACING_MAP_INDEX, SPACING_POINTS, WIDTHS } from '@govuk-react/constants';\n\nexport function simple(size) {\n const scale = SPACING_POINTS[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown spacing size ${size} - expected a point from the spacing scale.`);\n }\n\n return scale * polarity;\n}\n\nfunction styleForDirection(size, property, direction) {\n // NB styled-components automatically sets style to include `px` if needed\n return {\n [direction && direction !== 'all' ? `${property}-${direction}` : property]: size,\n };\n}\n\nexport function responsive({ size, property, direction, adjustment = 0 } = {}) {\n const scale = SPACING_MAP[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown responsive spacing size ${size} - expected a point from the responsive spacing scale.`);\n }\n\n if (!property) {\n throw Error('No property passed to responsiveSpacing');\n }\n\n // TODO consider checking adjustment is a number\n // TODO consider supporting non-number (string) adjustments, such as px or rem values\n\n if (Array.isArray(direction)) {\n return Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.mobile * polarity + adjustment, property, dir)),\n {\n [MEDIA_QUERIES.TABLET]: Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.tablet * polarity + adjustment, property, dir))\n ),\n }\n );\n }\n\n return Object.assign({}, styleForDirection(scale.mobile * polarity + adjustment, property, direction), {\n [MEDIA_QUERIES.TABLET]: styleForDirection(scale.tablet * polarity + adjustment, property, direction),\n });\n}\n\nexport function responsiveMargin(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'margin' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'margin',\n direction,\n adjustment,\n });\n}\n\nexport function responsivePadding(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'padding' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'padding',\n direction,\n adjustment,\n });\n}\n\n// withWhiteSpace lib styling function\n// does not form part of govuk-frontend\n\n// `withWhiteSpace(config)`\n// generates a styling function, based on config, which can be used when styling a component\n\n// `margin` and `padding` are supported as props and config values\n// can be a single number, to indicate scale size to use in all directions\n// can be an object in format `{ size, direction, adjustment }`\n// - see `responsivePadding` and `responsiveMargin` calls\n// can be an array of numbers/objects\n\nexport function withWhiteSpace(config = {}) {\n return ({ margin = config.margin, padding = config.padding, mb: marginBottom = config.marginBottom } = {}) => {\n const styles = [];\n\n if (margin !== undefined) {\n if (Array.isArray(margin)) {\n styles.push(margin.map(val => responsiveMargin(val)));\n } else {\n styles.push(responsiveMargin(margin));\n }\n }\n\n if (padding !== undefined) {\n if (Array.isArray(padding)) {\n styles.push(padding.map(val => responsivePadding(val)));\n } else {\n styles.push(responsivePadding(padding));\n }\n }\n\n if (marginBottom !== undefined) {\n styles.push(responsiveMargin({ size: marginBottom, direction: 'bottom' }));\n }\n\n return styles;\n };\n}\n\nconst Directions = PropTypes.oneOf(['all', 'top', 'right', 'bottom', 'left']);\n\nconst SpacingShape = PropTypes.shape({\n size: PropTypes.number.isRequired,\n direction: PropTypes.oneOfType([Directions, PropTypes.arrayOf(Directions)]),\n adjustment: PropTypes.number,\n});\n\n// `mb` (Margin Bottom) prop name comes from the naming convention used by https://github.com/jxnblk/grid-styled\nwithWhiteSpace.propTypes = {\n mb: PropTypes.oneOf(SPACING_MAP_INDEX),\n margin: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n padding: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n};\n\nexport function withWidth(config = {}) {\n return ({ setWidth = config.width } = {}) => {\n if (setWidth) {\n const width = WIDTHS[setWidth] || setWidth;\n const { mediaQuery = MEDIA_QUERIES.TABLET, noDefault } = config;\n\n return {\n width: noDefault ? undefined : '100%',\n [mediaQuery]: {\n width,\n },\n };\n }\n\n return undefined;\n };\n}\n"],"file":"index.js"} |
+5
-3
@@ -24,7 +24,9 @@ "use strict"; | ||
| exports.visuallyHidden = _visuallyHidden2.default; | ||
| exports.visuallyHidden = _visuallyHidden2["default"]; | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| //# sourceMappingURL=index.js.map |
+3
-1
@@ -9,4 +9,6 @@ "use strict"; | ||
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| describe('link lib', function () { | ||
@@ -13,0 +15,0 @@ describe('common', function () { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/link/test.js"],"names":["describe","it","result","link","common","expect","toContain","FOCUSABLE_FILL","toContainEqual","typography","styleDefault","toBeTruthy","styleMuted","styleText","printFriendly"],"mappings":";;AAAA;;AACA;;AACA;;;;AAEAA,QAAQ,CAAC,UAAD,EAAa,YAAM;AACzBA,EAAAA,QAAQ,CAAC,QAAD,EAAW,YAAM;AACvBC,IAAAA,EAAE,CAAC,qDAAD,EAAwD,YAAM;AAC9D,UAAMC,MAAM,GAAGC,IAAI,CAACC,MAAL,EAAf;AAEAC,MAAAA,MAAM,CAACH,MAAD,CAAN,CAAeI,SAAf,CAAyBC,yBAAzB;AACD,KAJC,CAAF;AAMAN,IAAAA,EAAE,CAAC,+CAAD,EAAkD,YAAM;AACxD,UAAMC,MAAM,GAAGC,IAAI,CAACC,MAAL,EAAf;AAEAC,MAAAA,MAAM,CAACH,MAAD,CAAN,CAAeM,cAAf,CAA8BC,UAAU,CAACL,MAAX,EAA9B;AACD,KAJC,CAAF;AAMAH,IAAAA,EAAE,CAAC,iEAAD,EAAoE,YAAM;AAC1E,UAAMC,MAAM,GAAGC,IAAI,CAACC,MAAL,CAAY,MAAZ,CAAf;AAEAC,MAAAA,MAAM,CAACH,MAAD,CAAN,CAAeM,cAAf,CAA8BC,UAAU,CAACL,MAAX,CAAkB,MAAlB,CAA9B;AACD,KAJC,CAAF;AAKD,GAlBO,CAAR;AAoBAH,EAAAA,EAAE,CAAC,uBAAD,EAA0B,YAAM;AAChCI,IAAAA,MAAM,CAACF,IAAI,CAACO,YAAN,CAAN,CAA0BC,UAA1B;AACD,GAFC,CAAF;AAIAV,EAAAA,EAAE,CAAC,qBAAD,EAAwB,YAAM;AAC9BI,IAAAA,MAAM,CAACF,IAAI,CAACS,UAAN,CAAN,CAAwBD,UAAxB;AACD,GAFC,CAAF;AAIAV,EAAAA,EAAE,CAAC,oBAAD,EAAuB,YAAM;AAC7BI,IAAAA,MAAM,CAACF,IAAI,CAACU,SAAN,CAAN,CAAuBF,UAAvB;AACD,GAFC,CAAF;AAIAV,EAAAA,EAAE,CAAC,wBAAD,EAA2B,YAAM;AACjCI,IAAAA,MAAM,CAACF,IAAI,CAACW,aAAN,CAAN,CAA2BH,UAA3B;AACD,GAFC,CAAF;AAGD,CApCO,CAAR","sourcesContent":["import { FOCUSABLE_FILL } from '@govuk-react/constants';\nimport * as link from '.';\nimport * as typography from '../typography';\n\ndescribe('link lib', () => {\n describe('common', () => {\n it('produces a style array that includes FOCUSABLE_FILL', () => {\n const result = link.common();\n\n expect(result).toContain(FOCUSABLE_FILL);\n });\n\n it('produces a style array that sets default font', () => {\n const result = link.common();\n\n expect(result).toContainEqual(typography.common());\n });\n\n it('produces a style array that allows an override fontFamily value', () => {\n const result = link.common('test');\n\n expect(result).toContainEqual(typography.common('test'));\n });\n });\n\n it('includes styleDefault', () => {\n expect(link.styleDefault).toBeTruthy();\n });\n\n it('includes styleMuted', () => {\n expect(link.styleMuted).toBeTruthy();\n });\n\n it('includes styleText', () => {\n expect(link.styleText).toBeTruthy();\n });\n\n it('includes printFriendly', () => {\n expect(link.printFriendly).toBeTruthy();\n });\n});\n"],"file":"test.js"} | ||
| {"version":3,"sources":["../../src/link/test.js"],"names":["describe","it","result","link","common","expect","toContain","FOCUSABLE_FILL","toContainEqual","typography","styleDefault","toBeTruthy","styleMuted","styleText","printFriendly"],"mappings":";;AAAA;;AACA;;AACA;;;;;;AAEAA,QAAQ,CAAC,UAAD,EAAa,YAAM;AACzBA,EAAAA,QAAQ,CAAC,QAAD,EAAW,YAAM;AACvBC,IAAAA,EAAE,CAAC,qDAAD,EAAwD,YAAM;AAC9D,UAAMC,MAAM,GAAGC,IAAI,CAACC,MAAL,EAAf;AAEAC,MAAAA,MAAM,CAACH,MAAD,CAAN,CAAeI,SAAf,CAAyBC,yBAAzB;AACD,KAJC,CAAF;AAMAN,IAAAA,EAAE,CAAC,+CAAD,EAAkD,YAAM;AACxD,UAAMC,MAAM,GAAGC,IAAI,CAACC,MAAL,EAAf;AAEAC,MAAAA,MAAM,CAACH,MAAD,CAAN,CAAeM,cAAf,CAA8BC,UAAU,CAACL,MAAX,EAA9B;AACD,KAJC,CAAF;AAMAH,IAAAA,EAAE,CAAC,iEAAD,EAAoE,YAAM;AAC1E,UAAMC,MAAM,GAAGC,IAAI,CAACC,MAAL,CAAY,MAAZ,CAAf;AAEAC,MAAAA,MAAM,CAACH,MAAD,CAAN,CAAeM,cAAf,CAA8BC,UAAU,CAACL,MAAX,CAAkB,MAAlB,CAA9B;AACD,KAJC,CAAF;AAKD,GAlBO,CAAR;AAoBAH,EAAAA,EAAE,CAAC,uBAAD,EAA0B,YAAM;AAChCI,IAAAA,MAAM,CAACF,IAAI,CAACO,YAAN,CAAN,CAA0BC,UAA1B;AACD,GAFC,CAAF;AAIAV,EAAAA,EAAE,CAAC,qBAAD,EAAwB,YAAM;AAC9BI,IAAAA,MAAM,CAACF,IAAI,CAACS,UAAN,CAAN,CAAwBD,UAAxB;AACD,GAFC,CAAF;AAIAV,EAAAA,EAAE,CAAC,oBAAD,EAAuB,YAAM;AAC7BI,IAAAA,MAAM,CAACF,IAAI,CAACU,SAAN,CAAN,CAAuBF,UAAvB;AACD,GAFC,CAAF;AAIAV,EAAAA,EAAE,CAAC,wBAAD,EAA2B,YAAM;AACjCI,IAAAA,MAAM,CAACF,IAAI,CAACW,aAAN,CAAN,CAA2BH,UAA3B;AACD,GAFC,CAAF;AAGD,CApCO,CAAR","sourcesContent":["import { FOCUSABLE_FILL } from '@govuk-react/constants';\nimport * as link from '.';\nimport * as typography from '../typography';\n\ndescribe('link lib', () => {\n describe('common', () => {\n it('produces a style array that includes FOCUSABLE_FILL', () => {\n const result = link.common();\n\n expect(result).toContain(FOCUSABLE_FILL);\n });\n\n it('produces a style array that sets default font', () => {\n const result = link.common();\n\n expect(result).toContainEqual(typography.common());\n });\n\n it('produces a style array that allows an override fontFamily value', () => {\n const result = link.common('test');\n\n expect(result).toContainEqual(typography.common('test'));\n });\n });\n\n it('includes styleDefault', () => {\n expect(link.styleDefault).toBeTruthy();\n });\n\n it('includes styleMuted', () => {\n expect(link.styleMuted).toBeTruthy();\n });\n\n it('includes styleText', () => {\n expect(link.styleText).toBeTruthy();\n });\n\n it('includes printFriendly', () => {\n expect(link.printFriendly).toBeTruthy();\n });\n});\n"],"file":"test.js"} |
@@ -6,6 +6,4 @@ "use strict"; | ||
| function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
| function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
| function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
| // Tracking: | ||
@@ -65,3 +63,3 @@ // https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_shape-arrow.scss | ||
| display = _ref$display === void 0 ? 'block' : _ref$display; | ||
| return _objectSpread({ | ||
| return _extends({ | ||
| display: display, | ||
@@ -68,0 +66,0 @@ width: 0, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/shape/index.js"],"names":["root3","equilateralHeight","base","makeShape","direction","height","perpendicular","clipPath","borderWidth","borderBottomColor","borderLeftColor","borderTopColor","borderRightColor","Error","arrow","display","width","borderStyle","borderColor"],"mappings":";;;;;;;;;AAAA;AACA;AACA,IAAMA,KAAK,GAAG,KAAd,C,CAAqB;;AAErB,SAASC,iBAAT,CAA2BC,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAG,CAAR,GAAaF,KAApB;AACD;;AAED,SAASG,SAAT,CAAmBC,SAAnB,EAA8BF,IAA9B,EAAoCG,MAApC,EAA4C;AAC1C,MAAMC,aAAa,GAAGJ,IAAI,GAAG,CAA7B;;AAEA,UAAQE,SAAR;AACE,SAAK,IAAL;AACE,aAAO;AACLG,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,SAAOF,aAAP,WAA0BD,MAA1B,WAAsCC,aAAtC,OAFN;AAGLG,QAAAA,iBAAiB,EAAE;AAHd,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,aAA0BA,aAA1B,WAA6CD,MAA7C,OAFN;AAGLK,QAAAA,eAAe,EAAE;AAHZ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLH,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKH,MAAL,WAAiBC,aAAjB,aAAsCA,aAAtC,OAFN;AAGLK,QAAAA,cAAc,EAAE;AAHX,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLJ,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,WAAwBD,MAAxB,WAAoCC,aAApC,SAFN;AAGLM,QAAAA,gBAAgB,EAAE;AAHb,OAAP;;AAKF;AACE,YAAMC,KAAK,6EAA2ET,SAA3E,CAAX;AA1BJ;AA4BD,C,CAED;;;AACO,SAASU,KAAT,OAA6F;AAAA,MAA5EV,SAA4E,QAA5EA,SAA4E;AAAA,uBAAjEF,IAAiE;AAAA,MAAjEA,IAAiE,0BAA1D,CAA0D;AAAA,yBAAvDG,MAAuD;AAAA,MAAvDA,MAAuD,4BAA9CJ,iBAAiB,CAACC,IAAD,CAA6B;AAAA,0BAArBa,OAAqB;AAAA,MAArBA,OAAqB,6BAAX,OAAW;AAClG;AACEA,IAAAA,OAAO,EAAPA,OADF;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEX,IAAAA,MAAM,EAAE,CAHV;AAKEY,IAAAA,WAAW,EAAE,OALf;AAMEC,IAAAA,WAAW,EAAE;AANf,KAQKf,SAAS,CAACC,SAAD,EAAYF,IAAZ,EAAkBG,MAAlB,CARd;AAUD","sourcesContent":["// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_shape-arrow.scss\nconst root3 = 1.732; // Math.sqrt(3);\n\nfunction equilateralHeight(base) {\n return (base / 2) * root3;\n}\n\nfunction makeShape(direction, base, height) {\n const perpendicular = base / 2;\n\n switch (direction) {\n case 'up':\n return {\n clipPath: 'polygon(50% 0%, 0% 100%, 100% 100%)',\n borderWidth: `0 ${perpendicular}px ${height}px ${perpendicular}px`,\n borderBottomColor: 'inherit',\n };\n case 'right':\n return {\n clipPath: 'polygon(0% 0%, 100% 50%, 0% 100%)',\n borderWidth: `${perpendicular}px 0 ${perpendicular}px ${height}px`,\n borderLeftColor: 'inherit',\n };\n case 'down':\n return {\n clipPath: 'polygon(0% 0%, 50% 100%, 100% 0%)',\n borderWidth: `${height}px ${perpendicular}px 0 ${perpendicular}px`,\n borderTopColor: 'inherit',\n };\n case 'left':\n return {\n clipPath: 'polygon(0% 50%, 100% 100%, 100% 0%)',\n borderWidth: `${perpendicular}px ${height}px ${perpendicular}px 0`,\n borderRightColor: 'inherit',\n };\n default:\n throw Error(`Invalid arrow direction: expected 'up', 'right', 'down' or 'left', got ${direction}`);\n }\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport function arrow({ direction, base = 0, height = equilateralHeight(base), display = 'block' }) {\n return {\n display,\n width: 0,\n height: 0,\n\n borderStyle: 'solid',\n borderColor: 'transparent',\n\n ...makeShape(direction, base, height),\n };\n}\n"],"file":"index.js"} | ||
| {"version":3,"sources":["../../src/shape/index.js"],"names":["root3","equilateralHeight","base","makeShape","direction","height","perpendicular","clipPath","borderWidth","borderBottomColor","borderLeftColor","borderTopColor","borderRightColor","Error","arrow","display","width","borderStyle","borderColor"],"mappings":";;;;;;;AAAA;AACA;AACA,IAAMA,KAAK,GAAG,KAAd,C,CAAqB;;AAErB,SAASC,iBAAT,CAA2BC,IAA3B,EAAiC;AAC/B,SAAQA,IAAI,GAAG,CAAR,GAAaF,KAApB;AACD;;AAED,SAASG,SAAT,CAAmBC,SAAnB,EAA8BF,IAA9B,EAAoCG,MAApC,EAA4C;AAC1C,MAAMC,aAAa,GAAGJ,IAAI,GAAG,CAA7B;;AAEA,UAAQE,SAAR;AACE,SAAK,IAAL;AACE,aAAO;AACLG,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,SAAOF,aAAP,WAA0BD,MAA1B,WAAsCC,aAAtC,OAFN;AAGLG,QAAAA,iBAAiB,EAAE;AAHd,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,aAA0BA,aAA1B,WAA6CD,MAA7C,OAFN;AAGLK,QAAAA,eAAe,EAAE;AAHZ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLH,QAAAA,QAAQ,EAAE,mCADL;AAELC,QAAAA,WAAW,EAAKH,MAAL,WAAiBC,aAAjB,aAAsCA,aAAtC,OAFN;AAGLK,QAAAA,cAAc,EAAE;AAHX,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLJ,QAAAA,QAAQ,EAAE,qCADL;AAELC,QAAAA,WAAW,EAAKF,aAAL,WAAwBD,MAAxB,WAAoCC,aAApC,SAFN;AAGLM,QAAAA,gBAAgB,EAAE;AAHb,OAAP;;AAKF;AACE,YAAMC,KAAK,6EAA2ET,SAA3E,CAAX;AA1BJ;AA4BD,C,CAED;;;AACO,SAASU,KAAT,OAA6F;AAAA,MAA5EV,SAA4E,QAA5EA,SAA4E;AAAA,uBAAjEF,IAAiE;AAAA,MAAjEA,IAAiE,0BAA1D,CAA0D;AAAA,yBAAvDG,MAAuD;AAAA,MAAvDA,MAAuD,4BAA9CJ,iBAAiB,CAACC,IAAD,CAA6B;AAAA,0BAArBa,OAAqB;AAAA,MAArBA,OAAqB,6BAAX,OAAW;AAClG;AACEA,IAAAA,OAAO,EAAPA,OADF;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEX,IAAAA,MAAM,EAAE,CAHV;AAKEY,IAAAA,WAAW,EAAE,OALf;AAMEC,IAAAA,WAAW,EAAE;AANf,KAQKf,SAAS,CAACC,SAAD,EAAYF,IAAZ,EAAkBG,MAAlB,CARd;AAUD","sourcesContent":["// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_shape-arrow.scss\nconst root3 = 1.732; // Math.sqrt(3);\n\nfunction equilateralHeight(base) {\n return (base / 2) * root3;\n}\n\nfunction makeShape(direction, base, height) {\n const perpendicular = base / 2;\n\n switch (direction) {\n case 'up':\n return {\n clipPath: 'polygon(50% 0%, 0% 100%, 100% 100%)',\n borderWidth: `0 ${perpendicular}px ${height}px ${perpendicular}px`,\n borderBottomColor: 'inherit',\n };\n case 'right':\n return {\n clipPath: 'polygon(0% 0%, 100% 50%, 0% 100%)',\n borderWidth: `${perpendicular}px 0 ${perpendicular}px ${height}px`,\n borderLeftColor: 'inherit',\n };\n case 'down':\n return {\n clipPath: 'polygon(0% 0%, 50% 100%, 100% 0%)',\n borderWidth: `${height}px ${perpendicular}px 0 ${perpendicular}px`,\n borderTopColor: 'inherit',\n };\n case 'left':\n return {\n clipPath: 'polygon(0% 50%, 100% 100%, 100% 0%)',\n borderWidth: `${perpendicular}px ${height}px ${perpendicular}px 0`,\n borderRightColor: 'inherit',\n };\n default:\n throw Error(`Invalid arrow direction: expected 'up', 'right', 'down' or 'left', got ${direction}`);\n }\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport function arrow({ direction, base = 0, height = equilateralHeight(base), display = 'block' }) {\n return {\n display,\n width: 0,\n height: 0,\n\n borderStyle: 'solid',\n borderColor: 'transparent',\n\n ...makeShape(direction, base, height),\n };\n}\n"],"file":"index.js"} |
@@ -5,4 +5,6 @@ "use strict"; | ||
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| var directions = ['up', 'down', 'left', 'right']; | ||
@@ -9,0 +11,0 @@ describe('shape lib', function () { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/shape/test.js"],"names":["directions","describe","it","expect","shape","arrow","direction","toThrow","forEach","toBeTruthy"],"mappings":";;AAAA;;;;AAEA,IAAMA,UAAU,GAAG,CAAC,IAAD,EAAO,MAAP,EAAe,MAAf,EAAuB,OAAvB,CAAnB;AAEAC,QAAQ,CAAC,WAAD,EAAc,YAAM;AAC1BA,EAAAA,QAAQ,CAAC,OAAD,EAAU,YAAM;AACtBC,IAAAA,EAAE,CAAC,wCAAD,EAA2C,YAAM;AACjDC,MAAAA,MAAM,CAAC;AAAA,eAAMC,KAAK,CAACC,KAAN,CAAY;AAAEC,UAAAA,SAAS,EAAE;AAAb,SAAZ,CAAN;AAAA,OAAD,CAAN,CAAmDC,OAAnD;AACD,KAFC,CAAF;AAIAL,IAAAA,EAAE,CAAC,+DAAD,EAAkE,YAAM;AACxEF,MAAAA,UAAU,CAACQ,OAAX,CAAmB,UAAAF,SAAS,EAAI;AAC9BH,QAAAA,MAAM,CAACC,KAAK,CAACC,KAAN,CAAY;AAAEC,UAAAA,SAAS,EAATA;AAAF,SAAZ,CAAD,CAAN,CAAmCG,UAAnC;AACD,OAFD;AAGD,KAJC,CAAF;AAKD,GAVO,CAAR;AAWD,CAZO,CAAR","sourcesContent":["import * as shape from '.';\n\nconst directions = ['up', 'down', 'left', 'right'];\n\ndescribe('shape lib', () => {\n describe('arrow', () => {\n it('throws when given an invalid direction', () => {\n expect(() => shape.arrow({ direction: 'broken' })).toThrow();\n });\n\n it('returns styles for an arrow for up/down/left/right directions', () => {\n directions.forEach(direction => {\n expect(shape.arrow({ direction })).toBeTruthy();\n });\n });\n });\n});\n"],"file":"test.js"} | ||
| {"version":3,"sources":["../../src/shape/test.js"],"names":["directions","describe","it","expect","shape","arrow","direction","toThrow","forEach","toBeTruthy"],"mappings":";;AAAA;;;;;;AAEA,IAAMA,UAAU,GAAG,CAAC,IAAD,EAAO,MAAP,EAAe,MAAf,EAAuB,OAAvB,CAAnB;AAEAC,QAAQ,CAAC,WAAD,EAAc,YAAM;AAC1BA,EAAAA,QAAQ,CAAC,OAAD,EAAU,YAAM;AACtBC,IAAAA,EAAE,CAAC,wCAAD,EAA2C,YAAM;AACjDC,MAAAA,MAAM,CAAC;AAAA,eAAMC,KAAK,CAACC,KAAN,CAAY;AAAEC,UAAAA,SAAS,EAAE;AAAb,SAAZ,CAAN;AAAA,OAAD,CAAN,CAAmDC,OAAnD;AACD,KAFC,CAAF;AAIAL,IAAAA,EAAE,CAAC,+DAAD,EAAkE,YAAM;AACxEF,MAAAA,UAAU,CAACQ,OAAX,CAAmB,UAAAF,SAAS,EAAI;AAC9BH,QAAAA,MAAM,CAACC,KAAK,CAACC,KAAN,CAAY;AAAEC,UAAAA,SAAS,EAATA;AAAF,SAAZ,CAAD,CAAN,CAAmCG,UAAnC;AACD,OAFD;AAGD,KAJC,CAAF;AAKD,GAVO,CAAR;AAWD,CAZO,CAAR","sourcesContent":["import * as shape from '.';\n\nconst directions = ['up', 'down', 'left', 'right'];\n\ndescribe('shape lib', () => {\n describe('arrow', () => {\n it('throws when given an invalid direction', () => {\n expect(() => shape.arrow({ direction: 'broken' })).toThrow();\n });\n\n it('returns styles for an arrow for up/down/left/right directions', () => {\n directions.forEach(direction => {\n expect(shape.arrow({ direction })).toBeTruthy();\n });\n });\n });\n});\n"],"file":"test.js"} |
@@ -15,3 +15,3 @@ "use strict"; | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
@@ -174,8 +174,8 @@ // This lib is effectively a port of govuk-frontend's spacing sass helpers | ||
| var Directions = _propTypes.default.oneOf(['all', 'top', 'right', 'bottom', 'left']); | ||
| var Directions = _propTypes["default"].oneOf(['all', 'top', 'right', 'bottom', 'left']); | ||
| var SpacingShape = _propTypes.default.shape({ | ||
| size: _propTypes.default.number.isRequired, | ||
| direction: _propTypes.default.oneOfType([Directions, _propTypes.default.arrayOf(Directions)]), | ||
| adjustment: _propTypes.default.number | ||
| var SpacingShape = _propTypes["default"].shape({ | ||
| size: _propTypes["default"].number.isRequired, | ||
| direction: _propTypes["default"].oneOfType([Directions, _propTypes["default"].arrayOf(Directions)]), | ||
| adjustment: _propTypes["default"].number | ||
| }); // `mb` (Margin Bottom) prop name comes from the naming convention used by https://github.com/jxnblk/grid-styled | ||
@@ -185,5 +185,5 @@ | ||
| withWhiteSpace.propTypes = { | ||
| mb: _propTypes.default.oneOf(_constants.SPACING_MAP_INDEX), | ||
| margin: _propTypes.default.oneOfType([_propTypes.default.number, SpacingShape, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, SpacingShape]))]), | ||
| padding: _propTypes.default.oneOfType([_propTypes.default.number, SpacingShape, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, SpacingShape]))]) | ||
| mb: _propTypes["default"].oneOf(_constants.SPACING_MAP_INDEX), | ||
| margin: _propTypes["default"].oneOfType([_propTypes["default"].number, SpacingShape, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].number, SpacingShape]))]), | ||
| padding: _propTypes["default"].oneOfType([_propTypes["default"].number, SpacingShape, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].number, SpacingShape]))]) | ||
| }; | ||
@@ -190,0 +190,0 @@ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/spacing/index.js"],"names":["simple","size","scale","SPACING_POINTS","Math","abs","polarity","undefined","Error","styleForDirection","property","direction","responsive","adjustment","SPACING_MAP","Array","isArray","Object","assign","map","dir","mobile","MEDIA_QUERIES","TABLET","tablet","responsiveMargin","value","Number","isInteger","responsivePadding","withWhiteSpace","config","margin","padding","mb","marginBottom","styles","push","val","Directions","PropTypes","oneOf","SpacingShape","shape","number","isRequired","oneOfType","arrayOf","propTypes","SPACING_MAP_INDEX","withWidth","setWidth","width","WIDTHS","mediaQuery","noDefault"],"mappings":"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","sourcesContent":["// This lib is effectively a port of govuk-frontend's spacing sass helpers\n// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_spacing.scss\n// Further references:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/overrides/_spacing.scss\n// https://github.com/alphagov/govuk-frontend/blob/master/src/settings/_spacing.scss\n\nimport PropTypes from 'prop-types';\nimport { MEDIA_QUERIES, SPACING_MAP, SPACING_MAP_INDEX, SPACING_POINTS, WIDTHS } from '@govuk-react/constants';\n\nexport function simple(size) {\n const scale = SPACING_POINTS[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown spacing size ${size} - expected a point from the spacing scale.`);\n }\n\n return scale * polarity;\n}\n\nfunction styleForDirection(size, property, direction) {\n // NB styled-components automatically sets style to include `px` if needed\n return {\n [direction && direction !== 'all' ? `${property}-${direction}` : property]: size,\n };\n}\n\nexport function responsive({ size, property, direction, adjustment = 0 } = {}) {\n const scale = SPACING_MAP[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown responsive spacing size ${size} - expected a point from the responsive spacing scale.`);\n }\n\n if (!property) {\n throw Error('No property passed to responsiveSpacing');\n }\n\n // TODO consider checking adjustment is a number\n // TODO consider supporting non-number (string) adjustments, such as px or rem values\n\n if (Array.isArray(direction)) {\n return Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.mobile * polarity + adjustment, property, dir)),\n {\n [MEDIA_QUERIES.TABLET]: Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.tablet * polarity + adjustment, property, dir))\n ),\n }\n );\n }\n\n return Object.assign({}, styleForDirection(scale.mobile * polarity + adjustment, property, direction), {\n [MEDIA_QUERIES.TABLET]: styleForDirection(scale.tablet * polarity + adjustment, property, direction),\n });\n}\n\nexport function responsiveMargin(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'margin' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'margin',\n direction,\n adjustment,\n });\n}\n\nexport function responsivePadding(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'padding' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'padding',\n direction,\n adjustment,\n });\n}\n\n// withWhiteSpace lib styling function\n// does not form part of govuk-frontend\n\n// `withWhiteSpace(config)`\n// generates a styling function, based on config, which can be used when styling a component\n\n// `margin` and `padding` are supported as props and config values\n// can be a single number, to indicate scale size to use in all directions\n// can be an object in format `{ size, direction, adjustment }`\n// - see `responsivePadding` and `responsiveMargin` calls\n// can be an array of numbers/objects\n\nexport function withWhiteSpace(config = {}) {\n return ({ margin = config.margin, padding = config.padding, mb: marginBottom = config.marginBottom } = {}) => {\n const styles = [];\n\n if (margin !== undefined) {\n if (Array.isArray(margin)) {\n styles.push(margin.map(val => responsiveMargin(val)));\n } else {\n styles.push(responsiveMargin(margin));\n }\n }\n\n if (padding !== undefined) {\n if (Array.isArray(padding)) {\n styles.push(padding.map(val => responsivePadding(val)));\n } else {\n styles.push(responsivePadding(padding));\n }\n }\n\n if (marginBottom !== undefined) {\n styles.push(responsiveMargin({ size: marginBottom, direction: 'bottom' }));\n }\n\n return styles;\n };\n}\n\nconst Directions = PropTypes.oneOf(['all', 'top', 'right', 'bottom', 'left']);\n\nconst SpacingShape = PropTypes.shape({\n size: PropTypes.number.isRequired,\n direction: PropTypes.oneOfType([Directions, PropTypes.arrayOf(Directions)]),\n adjustment: PropTypes.number,\n});\n\n// `mb` (Margin Bottom) prop name comes from the naming convention used by https://github.com/jxnblk/grid-styled\nwithWhiteSpace.propTypes = {\n mb: PropTypes.oneOf(SPACING_MAP_INDEX),\n margin: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n padding: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n};\n\nexport function withWidth(config = {}) {\n return ({ setWidth = config.width } = {}) => {\n if (setWidth) {\n const width = WIDTHS[setWidth] || setWidth;\n const { mediaQuery = MEDIA_QUERIES.TABLET, noDefault } = config;\n\n return {\n width: noDefault ? undefined : '100%',\n [mediaQuery]: {\n width,\n },\n };\n }\n\n return undefined;\n };\n}\n"],"file":"index.js"} | ||
| {"version":3,"sources":["../../src/spacing/index.js"],"names":["simple","size","scale","SPACING_POINTS","Math","abs","polarity","undefined","Error","styleForDirection","property","direction","responsive","adjustment","SPACING_MAP","Array","isArray","Object","assign","map","dir","mobile","MEDIA_QUERIES","TABLET","tablet","responsiveMargin","value","Number","isInteger","responsivePadding","withWhiteSpace","config","margin","padding","mb","marginBottom","styles","push","val","Directions","PropTypes","oneOf","SpacingShape","shape","number","isRequired","oneOfType","arrayOf","propTypes","SPACING_MAP_INDEX","withWidth","setWidth","width","WIDTHS","mediaQuery","noDefault"],"mappings":"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","sourcesContent":["// This lib is effectively a port of govuk-frontend's spacing sass helpers\n// Tracking:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/helpers/_spacing.scss\n// Further references:\n// https://github.com/alphagov/govuk-frontend/blob/master/src/overrides/_spacing.scss\n// https://github.com/alphagov/govuk-frontend/blob/master/src/settings/_spacing.scss\n\nimport PropTypes from 'prop-types';\nimport { MEDIA_QUERIES, SPACING_MAP, SPACING_MAP_INDEX, SPACING_POINTS, WIDTHS } from '@govuk-react/constants';\n\nexport function simple(size) {\n const scale = SPACING_POINTS[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown spacing size ${size} - expected a point from the spacing scale.`);\n }\n\n return scale * polarity;\n}\n\nfunction styleForDirection(size, property, direction) {\n // NB styled-components automatically sets style to include `px` if needed\n return {\n [direction && direction !== 'all' ? `${property}-${direction}` : property]: size,\n };\n}\n\nexport function responsive({ size, property, direction, adjustment = 0 } = {}) {\n const scale = SPACING_MAP[Math.abs(size)];\n const polarity = size < 0 ? -1 : 1;\n\n if (scale === undefined) {\n throw Error(`Unknown responsive spacing size ${size} - expected a point from the responsive spacing scale.`);\n }\n\n if (!property) {\n throw Error('No property passed to responsiveSpacing');\n }\n\n // TODO consider checking adjustment is a number\n // TODO consider supporting non-number (string) adjustments, such as px or rem values\n\n if (Array.isArray(direction)) {\n return Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.mobile * polarity + adjustment, property, dir)),\n {\n [MEDIA_QUERIES.TABLET]: Object.assign(\n {},\n ...direction.map(dir => styleForDirection(scale.tablet * polarity + adjustment, property, dir))\n ),\n }\n );\n }\n\n return Object.assign({}, styleForDirection(scale.mobile * polarity + adjustment, property, direction), {\n [MEDIA_QUERIES.TABLET]: styleForDirection(scale.tablet * polarity + adjustment, property, direction),\n });\n}\n\nexport function responsiveMargin(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'margin' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'margin',\n direction,\n adjustment,\n });\n}\n\nexport function responsivePadding(value) {\n if (Number.isInteger(value)) {\n return responsive({ size: value, property: 'padding' });\n }\n\n const { size, direction, adjustment } = value;\n\n return responsive({\n size,\n property: 'padding',\n direction,\n adjustment,\n });\n}\n\n// withWhiteSpace lib styling function\n// does not form part of govuk-frontend\n\n// `withWhiteSpace(config)`\n// generates a styling function, based on config, which can be used when styling a component\n\n// `margin` and `padding` are supported as props and config values\n// can be a single number, to indicate scale size to use in all directions\n// can be an object in format `{ size, direction, adjustment }`\n// - see `responsivePadding` and `responsiveMargin` calls\n// can be an array of numbers/objects\n\nexport function withWhiteSpace(config = {}) {\n return ({ margin = config.margin, padding = config.padding, mb: marginBottom = config.marginBottom } = {}) => {\n const styles = [];\n\n if (margin !== undefined) {\n if (Array.isArray(margin)) {\n styles.push(margin.map(val => responsiveMargin(val)));\n } else {\n styles.push(responsiveMargin(margin));\n }\n }\n\n if (padding !== undefined) {\n if (Array.isArray(padding)) {\n styles.push(padding.map(val => responsivePadding(val)));\n } else {\n styles.push(responsivePadding(padding));\n }\n }\n\n if (marginBottom !== undefined) {\n styles.push(responsiveMargin({ size: marginBottom, direction: 'bottom' }));\n }\n\n return styles;\n };\n}\n\nconst Directions = PropTypes.oneOf(['all', 'top', 'right', 'bottom', 'left']);\n\nconst SpacingShape = PropTypes.shape({\n size: PropTypes.number.isRequired,\n direction: PropTypes.oneOfType([Directions, PropTypes.arrayOf(Directions)]),\n adjustment: PropTypes.number,\n});\n\n// `mb` (Margin Bottom) prop name comes from the naming convention used by https://github.com/jxnblk/grid-styled\nwithWhiteSpace.propTypes = {\n mb: PropTypes.oneOf(SPACING_MAP_INDEX),\n margin: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n padding: PropTypes.oneOfType([\n PropTypes.number,\n SpacingShape,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, SpacingShape])),\n ]),\n};\n\nexport function withWidth(config = {}) {\n return ({ setWidth = config.width } = {}) => {\n if (setWidth) {\n const width = WIDTHS[setWidth] || setWidth;\n const { mediaQuery = MEDIA_QUERIES.TABLET, noDefault } = config;\n\n return {\n width: noDefault ? undefined : '100%',\n [mediaQuery]: {\n width,\n },\n };\n }\n\n return undefined;\n };\n}\n"],"file":"index.js"} |
@@ -7,4 +7,6 @@ "use strict"; | ||
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| describe('spacing lib', function () { | ||
@@ -11,0 +13,0 @@ describe('simple', function () { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/spacing/test.js"],"names":["describe","it","Object","keys","SPACING_POINTS","forEach","key","expect","spacing","simple","toEqual","toThrow","SPACING_MAP_INDEX","size","style","responsive","property","objectContaining","test","SPACING_MAP","mobile","MEDIA_QUERIES","TABLET","tablet","direction","adjustment","responsiveMargin","responsivePadding","whiteSpaceFunc","withWhiteSpace","not","marginBottom","arrayContaining","mb","margin","result","concat","padding","widthFunc","withWidth","toBeUndefined","entries","WIDTHS","width","value","widthStyle","setWidth","values","noDefault"],"mappings":"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","sourcesContent":["import { MEDIA_QUERIES, SPACING_MAP, SPACING_MAP_INDEX, SPACING_POINTS, WIDTHS } from '@govuk-react/constants';\n\nimport * as spacing from '.';\n\ndescribe('spacing lib', () => {\n describe('simple', () => {\n it('returns spacing values from the spacing scale', () => {\n Object.keys(SPACING_POINTS).forEach(key => {\n expect(spacing.simple(key)).toEqual(SPACING_POINTS[key]);\n });\n });\n\n it('returns negative spacing values from the spacing scale', () => {\n Object.keys(SPACING_POINTS).forEach(key => {\n // skip zero, as -0 !== 0 in JS\n if (`${key}` !== '0') {\n expect(spacing.simple(-key)).toEqual(-SPACING_POINTS[key]);\n }\n });\n });\n\n it('throws when not given a size', () => {\n expect(() => spacing.simple()).toThrow();\n });\n\n it('throws when given a size not in the spacing scale', () => {\n expect(() => spacing.simple('test')).toThrow();\n expect(() => spacing.simple(99999)).toThrow();\n });\n });\n\n describe('responsive', () => {\n it('returns spacing styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n const style = spacing.responsive({ size, property: 'test' });\n\n expect(style).toEqual(expect.objectContaining({ test: SPACING_MAP[size].mobile }));\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(expect.objectContaining({ test: SPACING_MAP[size].tablet }));\n });\n });\n\n it('returns negative spacing styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n // skip zero, as -0 !== 0 in JS\n if (size !== 0) {\n const style = spacing.responsive({ size: -size, property: 'test' });\n\n expect(style).toEqual(expect.objectContaining({ test: -SPACING_MAP[size].mobile }));\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(expect.objectContaining({ test: -SPACING_MAP[size].tablet }));\n }\n });\n });\n\n it('throws when not given a size', () => {\n expect(() => spacing.responsive()).toThrow();\n });\n\n it('throws when not given a property', () => {\n expect(() => spacing.responsive({ size: 0 })).toThrow();\n });\n\n it('throws when given a size not in the spacing scale', () => {\n expect(() => spacing.responsive({ size: 'test' })).toThrow();\n expect(() => spacing.responsive({ size: 99999 })).toThrow();\n });\n\n it('returns spacing style for a given direction', () => {\n expect(spacing.responsive({ size: 0, property: 'test', direction: 'east' })).toEqual(\n expect.objectContaining({ 'test-east': SPACING_MAP[0].mobile })\n );\n });\n\n it('returns spacing style for a given array of direction', () => {\n const style = spacing.responsive({\n size: 0,\n property: 'test',\n direction: ['east', 'west'],\n });\n\n expect(style).toEqual(\n expect.objectContaining({\n 'test-east': SPACING_MAP[0].mobile,\n 'test-west': SPACING_MAP[0].mobile,\n })\n );\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(\n expect.objectContaining({\n 'test-east': SPACING_MAP[0].tablet,\n 'test-west': SPACING_MAP[0].tablet,\n })\n );\n });\n\n it('treats all direction as no direction', () => {\n expect(spacing.responsive({ size: 0, property: 'test', direction: 'all' })).toEqual(\n expect.objectContaining({ test: SPACING_MAP[0].mobile })\n );\n });\n\n it('treats all direction in a direction array as no direction', () => {\n const style = spacing.responsive({\n size: 0,\n property: 'test',\n direction: ['all', 'west'],\n });\n\n expect(style).toEqual(\n expect.objectContaining({\n test: SPACING_MAP[0].mobile,\n 'test-west': SPACING_MAP[0].mobile,\n })\n );\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(\n expect.objectContaining({\n test: SPACING_MAP[0].tablet,\n 'test-west': SPACING_MAP[0].tablet,\n })\n );\n });\n\n it('adjusts a spacing by the adjustment amount', () => {\n expect(spacing.responsive({ size: 0, property: 'test', adjustment: 7 })).toEqual(\n expect.objectContaining({ test: SPACING_MAP[0].mobile + 7 })\n );\n });\n });\n\n describe('responsiveMargin', () => {\n it('returns margin styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsiveMargin({ size })).toEqual(spacing.responsive({ size, property: 'margin' }));\n });\n });\n\n it('returns margin styles for given sizes on the spacing scale using simple numeric value', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsiveMargin(size)).toEqual(spacing.responsive({ size, property: 'margin' }));\n });\n });\n });\n\n describe('responsivePadding', () => {\n it('returns padding styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsivePadding({ size })).toEqual(spacing.responsive({ size, property: 'padding' }));\n });\n });\n\n it('returns padding styles for given sizes on the spacing scale using simple numeric value', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsivePadding(size)).toEqual(spacing.responsive({ size, property: 'padding' }));\n });\n });\n });\n\n describe('withWhiteSpace', () => {\n it('generates an executable white-space styling function with no config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace();\n\n expect(() => whiteSpaceFunc()).not.toThrow();\n });\n\n describe('marginBottom/mb config and props', () => {\n it('works with marginBottom config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ marginBottom: 2 });\n\n expect(whiteSpaceFunc()).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-bottom': SPACING_MAP[2].mobile })])\n );\n });\n\n it('when marginBottom config set, mb prop changes marginBottom', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ marginBottom: 2 });\n\n expect(whiteSpaceFunc({ mb: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-bottom': SPACING_MAP[4].mobile })])\n );\n });\n\n it('when no marginBottom config set, mb prop changes marginBottom', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace();\n\n expect(whiteSpaceFunc({ mb: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-bottom': SPACING_MAP[4].mobile })])\n );\n });\n });\n\n describe('margin config/props', () => {\n it('works with simple margin config value', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ margin: 4 });\n\n expect(whiteSpaceFunc()).toEqual(\n expect.arrayContaining([expect.objectContaining({ margin: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts a margin prop to override config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ margin: 1 });\n\n expect(whiteSpaceFunc({ margin: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ margin: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts an array of margins', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({\n margin: [1, { direction: 'top', size: 3 }],\n });\n\n // styles need to be flattened for checking\n const result = [].concat(...whiteSpaceFunc());\n\n expect(result).toEqual(expect.arrayContaining([expect.objectContaining({ margin: SPACING_MAP[1].mobile })]));\n\n expect(result).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-top': SPACING_MAP[3].mobile })])\n );\n });\n });\n\n describe('padding config/props', () => {\n it('works with simple padding config value', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ padding: 4 });\n\n expect(whiteSpaceFunc()).toEqual(\n expect.arrayContaining([expect.objectContaining({ padding: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts a padding prop to override config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ padding: 1 });\n\n expect(whiteSpaceFunc({ padding: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ padding: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts an array of paddings', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({\n padding: [1, { direction: 'top', size: 3 }],\n });\n\n // styles need to be flattened for checking\n const result = [].concat(...whiteSpaceFunc());\n\n expect(result).toEqual(expect.arrayContaining([expect.objectContaining({ padding: SPACING_MAP[1].mobile })]));\n\n expect(result).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'padding-top': SPACING_MAP[3].mobile })])\n );\n });\n });\n });\n\n describe('withWidth', () => {\n it('generates an executable styling function with no config', () => {\n const widthFunc = spacing.withWidth();\n\n expect(() => widthFunc()).not.toThrow();\n });\n\n it('creates no style when config/prop not provided', () => {\n const widthFunc = spacing.withWidth();\n\n expect(widthFunc()).toBeUndefined();\n });\n\n it('accepts a width config value of a size string', () => {\n Object.entries(WIDTHS).forEach(([width, value]) => {\n const widthFunc = spacing.withWidth({ width });\n const widthStyle = widthFunc();\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: value },\n })\n );\n });\n });\n\n it('accepts a setWidth prop', () => {\n const widthFunc = spacing.withWidth();\n\n ['95%', '200px'].forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: setWidth },\n })\n );\n });\n\n Object.entries(WIDTHS).forEach(([setWidth, value]) => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: value },\n })\n );\n });\n });\n\n it('accepts a setWidth prop to override a width config', () => {\n const widthFunc = spacing.withWidth({ width: Object.keys(WIDTHS)[0] });\n\n expect(widthFunc()).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: Object.values(WIDTHS)[0] },\n })\n );\n\n ['95%', '200px'].forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: setWidth },\n })\n );\n });\n\n Object.entries(WIDTHS).forEach(([setWidth, value]) => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: value },\n })\n );\n });\n });\n\n it('accepts a noDefault config which removes default 100% width', () => {\n const widthFunc = spacing.withWidth({ noDefault: true });\n\n ['95%', '200px'].forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).not.toEqual(\n expect.objectContaining({\n width: '100%',\n })\n );\n });\n\n Object.values(WIDTHS).forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).not.toEqual(\n expect.objectContaining({\n width: '100%',\n })\n );\n });\n });\n });\n});\n"],"file":"test.js"} | ||
| {"version":3,"sources":["../../src/spacing/test.js"],"names":["describe","it","Object","keys","SPACING_POINTS","forEach","key","expect","spacing","simple","toEqual","toThrow","SPACING_MAP_INDEX","size","style","responsive","property","objectContaining","test","SPACING_MAP","mobile","MEDIA_QUERIES","TABLET","tablet","direction","adjustment","responsiveMargin","responsivePadding","whiteSpaceFunc","withWhiteSpace","not","marginBottom","arrayContaining","mb","margin","result","concat","padding","widthFunc","withWidth","toBeUndefined","entries","WIDTHS","width","value","widthStyle","setWidth","values","noDefault"],"mappings":"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","sourcesContent":["import { MEDIA_QUERIES, SPACING_MAP, SPACING_MAP_INDEX, SPACING_POINTS, WIDTHS } from '@govuk-react/constants';\n\nimport * as spacing from '.';\n\ndescribe('spacing lib', () => {\n describe('simple', () => {\n it('returns spacing values from the spacing scale', () => {\n Object.keys(SPACING_POINTS).forEach(key => {\n expect(spacing.simple(key)).toEqual(SPACING_POINTS[key]);\n });\n });\n\n it('returns negative spacing values from the spacing scale', () => {\n Object.keys(SPACING_POINTS).forEach(key => {\n // skip zero, as -0 !== 0 in JS\n if (`${key}` !== '0') {\n expect(spacing.simple(-key)).toEqual(-SPACING_POINTS[key]);\n }\n });\n });\n\n it('throws when not given a size', () => {\n expect(() => spacing.simple()).toThrow();\n });\n\n it('throws when given a size not in the spacing scale', () => {\n expect(() => spacing.simple('test')).toThrow();\n expect(() => spacing.simple(99999)).toThrow();\n });\n });\n\n describe('responsive', () => {\n it('returns spacing styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n const style = spacing.responsive({ size, property: 'test' });\n\n expect(style).toEqual(expect.objectContaining({ test: SPACING_MAP[size].mobile }));\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(expect.objectContaining({ test: SPACING_MAP[size].tablet }));\n });\n });\n\n it('returns negative spacing styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n // skip zero, as -0 !== 0 in JS\n if (size !== 0) {\n const style = spacing.responsive({ size: -size, property: 'test' });\n\n expect(style).toEqual(expect.objectContaining({ test: -SPACING_MAP[size].mobile }));\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(expect.objectContaining({ test: -SPACING_MAP[size].tablet }));\n }\n });\n });\n\n it('throws when not given a size', () => {\n expect(() => spacing.responsive()).toThrow();\n });\n\n it('throws when not given a property', () => {\n expect(() => spacing.responsive({ size: 0 })).toThrow();\n });\n\n it('throws when given a size not in the spacing scale', () => {\n expect(() => spacing.responsive({ size: 'test' })).toThrow();\n expect(() => spacing.responsive({ size: 99999 })).toThrow();\n });\n\n it('returns spacing style for a given direction', () => {\n expect(spacing.responsive({ size: 0, property: 'test', direction: 'east' })).toEqual(\n expect.objectContaining({ 'test-east': SPACING_MAP[0].mobile })\n );\n });\n\n it('returns spacing style for a given array of direction', () => {\n const style = spacing.responsive({\n size: 0,\n property: 'test',\n direction: ['east', 'west'],\n });\n\n expect(style).toEqual(\n expect.objectContaining({\n 'test-east': SPACING_MAP[0].mobile,\n 'test-west': SPACING_MAP[0].mobile,\n })\n );\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(\n expect.objectContaining({\n 'test-east': SPACING_MAP[0].tablet,\n 'test-west': SPACING_MAP[0].tablet,\n })\n );\n });\n\n it('treats all direction as no direction', () => {\n expect(spacing.responsive({ size: 0, property: 'test', direction: 'all' })).toEqual(\n expect.objectContaining({ test: SPACING_MAP[0].mobile })\n );\n });\n\n it('treats all direction in a direction array as no direction', () => {\n const style = spacing.responsive({\n size: 0,\n property: 'test',\n direction: ['all', 'west'],\n });\n\n expect(style).toEqual(\n expect.objectContaining({\n test: SPACING_MAP[0].mobile,\n 'test-west': SPACING_MAP[0].mobile,\n })\n );\n expect(style[MEDIA_QUERIES.TABLET]).toEqual(\n expect.objectContaining({\n test: SPACING_MAP[0].tablet,\n 'test-west': SPACING_MAP[0].tablet,\n })\n );\n });\n\n it('adjusts a spacing by the adjustment amount', () => {\n expect(spacing.responsive({ size: 0, property: 'test', adjustment: 7 })).toEqual(\n expect.objectContaining({ test: SPACING_MAP[0].mobile + 7 })\n );\n });\n });\n\n describe('responsiveMargin', () => {\n it('returns margin styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsiveMargin({ size })).toEqual(spacing.responsive({ size, property: 'margin' }));\n });\n });\n\n it('returns margin styles for given sizes on the spacing scale using simple numeric value', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsiveMargin(size)).toEqual(spacing.responsive({ size, property: 'margin' }));\n });\n });\n });\n\n describe('responsivePadding', () => {\n it('returns padding styles for given sizes on the spacing scale', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsivePadding({ size })).toEqual(spacing.responsive({ size, property: 'padding' }));\n });\n });\n\n it('returns padding styles for given sizes on the spacing scale using simple numeric value', () => {\n SPACING_MAP_INDEX.forEach(size => {\n expect(spacing.responsivePadding(size)).toEqual(spacing.responsive({ size, property: 'padding' }));\n });\n });\n });\n\n describe('withWhiteSpace', () => {\n it('generates an executable white-space styling function with no config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace();\n\n expect(() => whiteSpaceFunc()).not.toThrow();\n });\n\n describe('marginBottom/mb config and props', () => {\n it('works with marginBottom config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ marginBottom: 2 });\n\n expect(whiteSpaceFunc()).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-bottom': SPACING_MAP[2].mobile })])\n );\n });\n\n it('when marginBottom config set, mb prop changes marginBottom', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ marginBottom: 2 });\n\n expect(whiteSpaceFunc({ mb: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-bottom': SPACING_MAP[4].mobile })])\n );\n });\n\n it('when no marginBottom config set, mb prop changes marginBottom', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace();\n\n expect(whiteSpaceFunc({ mb: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-bottom': SPACING_MAP[4].mobile })])\n );\n });\n });\n\n describe('margin config/props', () => {\n it('works with simple margin config value', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ margin: 4 });\n\n expect(whiteSpaceFunc()).toEqual(\n expect.arrayContaining([expect.objectContaining({ margin: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts a margin prop to override config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ margin: 1 });\n\n expect(whiteSpaceFunc({ margin: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ margin: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts an array of margins', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({\n margin: [1, { direction: 'top', size: 3 }],\n });\n\n // styles need to be flattened for checking\n const result = [].concat(...whiteSpaceFunc());\n\n expect(result).toEqual(expect.arrayContaining([expect.objectContaining({ margin: SPACING_MAP[1].mobile })]));\n\n expect(result).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'margin-top': SPACING_MAP[3].mobile })])\n );\n });\n });\n\n describe('padding config/props', () => {\n it('works with simple padding config value', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ padding: 4 });\n\n expect(whiteSpaceFunc()).toEqual(\n expect.arrayContaining([expect.objectContaining({ padding: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts a padding prop to override config', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({ padding: 1 });\n\n expect(whiteSpaceFunc({ padding: 4 })).toEqual(\n expect.arrayContaining([expect.objectContaining({ padding: SPACING_MAP[4].mobile })])\n );\n });\n\n it('accepts an array of paddings', () => {\n const whiteSpaceFunc = spacing.withWhiteSpace({\n padding: [1, { direction: 'top', size: 3 }],\n });\n\n // styles need to be flattened for checking\n const result = [].concat(...whiteSpaceFunc());\n\n expect(result).toEqual(expect.arrayContaining([expect.objectContaining({ padding: SPACING_MAP[1].mobile })]));\n\n expect(result).toEqual(\n expect.arrayContaining([expect.objectContaining({ 'padding-top': SPACING_MAP[3].mobile })])\n );\n });\n });\n });\n\n describe('withWidth', () => {\n it('generates an executable styling function with no config', () => {\n const widthFunc = spacing.withWidth();\n\n expect(() => widthFunc()).not.toThrow();\n });\n\n it('creates no style when config/prop not provided', () => {\n const widthFunc = spacing.withWidth();\n\n expect(widthFunc()).toBeUndefined();\n });\n\n it('accepts a width config value of a size string', () => {\n Object.entries(WIDTHS).forEach(([width, value]) => {\n const widthFunc = spacing.withWidth({ width });\n const widthStyle = widthFunc();\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: value },\n })\n );\n });\n });\n\n it('accepts a setWidth prop', () => {\n const widthFunc = spacing.withWidth();\n\n ['95%', '200px'].forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: setWidth },\n })\n );\n });\n\n Object.entries(WIDTHS).forEach(([setWidth, value]) => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: value },\n })\n );\n });\n });\n\n it('accepts a setWidth prop to override a width config', () => {\n const widthFunc = spacing.withWidth({ width: Object.keys(WIDTHS)[0] });\n\n expect(widthFunc()).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: Object.values(WIDTHS)[0] },\n })\n );\n\n ['95%', '200px'].forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: setWidth },\n })\n );\n });\n\n Object.entries(WIDTHS).forEach(([setWidth, value]) => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).toEqual(\n expect.objectContaining({\n width: '100%',\n [MEDIA_QUERIES.TABLET]: { width: value },\n })\n );\n });\n });\n\n it('accepts a noDefault config which removes default 100% width', () => {\n const widthFunc = spacing.withWidth({ noDefault: true });\n\n ['95%', '200px'].forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).not.toEqual(\n expect.objectContaining({\n width: '100%',\n })\n );\n });\n\n Object.values(WIDTHS).forEach(setWidth => {\n const widthStyle = widthFunc({ setWidth });\n\n expect(widthStyle).not.toEqual(\n expect.objectContaining({\n width: '100%',\n })\n );\n });\n });\n });\n});\n"],"file":"test.js"} |
+3
-1
@@ -5,4 +5,6 @@ "use strict"; | ||
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| describe('Exports', function () { | ||
@@ -9,0 +11,0 @@ // all exports are truthy |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/test.js"],"names":["describe","Object","keys","packageExports","map","exportName","it","expect","toBe"],"mappings":";;AAAA;;;;AAEAA,QAAQ,CAAC,SAAD,EAAY,YAAM;AACxB;AACAC,EAAAA,MAAM,CAACC,IAAP,CAAYC,cAAZ,EAA4BC,GAA5B,CAAgC,UAAAC,UAAU;AAAA,WACxCC,EAAE,CAAID,UAAJ,iBAA4B,YAAM;AAClCE,MAAAA,MAAM,CAAC,CAAC,CAACJ,cAAc,CAACE,UAAD,CAAjB,CAAN,CAAqCG,IAArC,CAA0C,IAA1C;AACD,KAFC,CADsC;AAAA,GAA1C;AAKD,CAPO,CAAR","sourcesContent":["import * as packageExports from '.';\n\ndescribe('Exports', () => {\n // all exports are truthy\n Object.keys(packageExports).map(exportName =>\n it(`${exportName} is truthy`, () => {\n expect(!!packageExports[exportName]).toBe(true);\n })\n );\n});\n"],"file":"test.js"} | ||
| {"version":3,"sources":["../src/test.js"],"names":["describe","Object","keys","packageExports","map","exportName","it","expect","toBe"],"mappings":";;AAAA;;;;;;AAEAA,QAAQ,CAAC,SAAD,EAAY,YAAM;AACxB;AACAC,EAAAA,MAAM,CAACC,IAAP,CAAYC,cAAZ,EAA4BC,GAA5B,CAAgC,UAAAC,UAAU;AAAA,WACxCC,EAAE,CAAID,UAAJ,iBAA4B,YAAM;AAClCE,MAAAA,MAAM,CAAC,CAAC,CAACJ,cAAc,CAACE,UAAD,CAAjB,CAAN,CAAqCG,IAArC,CAA0C,IAA1C;AACD,KAFC,CADsC;AAAA,GAA1C;AAKD,CAPO,CAAR","sourcesContent":["import * as packageExports from '.';\n\ndescribe('Exports', () => {\n // all exports are truthy\n Object.keys(packageExports).map(exportName =>\n it(`${exportName} is truthy`, () => {\n expect(!!packageExports[exportName]).toBe(true);\n })\n );\n});\n"],"file":"test.js"} |
@@ -7,4 +7,6 @@ "use strict"; | ||
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| describe('typography lib', function () { | ||
@@ -11,0 +13,0 @@ it('includes textColour', function () { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../src/typography/test.js"],"names":["describe","it","expect","typography","textColour","toBeTruthy","textColor","toEqual","result","common","fontFamily","FONT_STACK","MEDIA_QUERIES","PRINT","FONT_STACK_PRINT","Object","keys","TYPOGRAPHY_SCALE","forEach","size","responsive","not","toThrow","entries","scale","style","fontSize","mobile","print","TABLET","tablet","lineHeight","font","assign","fontWeight","FONT_WEIGHTS","regular","tabular","FONT_STACK_TABULAR","weight","value","toBeUndefined","objectContaining"],"mappings":"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","sourcesContent":["import {\n FONT_STACK,\n FONT_STACK_PRINT,\n FONT_STACK_TABULAR,\n FONT_WEIGHTS,\n MEDIA_QUERIES,\n TYPOGRAPHY_SCALE,\n} from '@govuk-react/constants';\nimport * as typography from '.';\n\ndescribe('typography lib', () => {\n it('includes textColour', () => {\n expect(typography.textColour).toBeTruthy();\n });\n\n it('includes textColor alias for textColour', () => {\n expect(typography.textColor).toEqual(typography.textColour);\n });\n\n describe('common', () => {\n it('sets default font', () => {\n const result = typography.common();\n\n expect(result.fontFamily).toEqual(FONT_STACK);\n expect(result[MEDIA_QUERIES.PRINT].fontFamily).toEqual(FONT_STACK_PRINT);\n });\n\n it('allows an override fontFamily value', () => {\n const result = typography.common('test');\n\n expect(result.fontFamily).toEqual('test');\n expect(result[MEDIA_QUERIES.PRINT].fontFamily).toEqual(FONT_STACK_PRINT);\n });\n });\n\n describe('responsive', () => {\n it('allows any font size defined in the typography scale', () => {\n Object.keys(TYPOGRAPHY_SCALE).forEach(size => {\n expect(() => typography.responsive(size)).not.toThrow();\n });\n });\n\n it('produces mobile-first sizes with definitions for tablet and print', () => {\n Object.entries(TYPOGRAPHY_SCALE).forEach(([size, scale]) => {\n const style = typography.responsive(size);\n\n expect(style.fontSize).toEqual(`${scale.mobile.fontSize}px`);\n expect(style[MEDIA_QUERIES.PRINT].fontSize).toEqual(`${scale.print.fontSize}px`);\n expect(style[MEDIA_QUERIES.TABLET].fontSize).toEqual(`${scale.tablet.fontSize}px`);\n\n expect(style.lineHeight).toEqual(scale.mobile.lineHeight);\n expect(style[MEDIA_QUERIES.PRINT].lineHeight).toEqual(scale.print.lineHeight);\n expect(style[MEDIA_QUERIES.TABLET].lineHeight).toEqual(scale.tablet.lineHeight);\n });\n });\n\n it('can override lineHeight', () => {\n Object.keys(TYPOGRAPHY_SCALE).forEach(size => {\n const style = typography.responsive(size, 999);\n\n expect(style.lineHeight).toEqual(999);\n expect(style[MEDIA_QUERIES.PRINT].lineHeight).toEqual(999);\n expect(style[MEDIA_QUERIES.TABLET].lineHeight).toEqual(999);\n });\n });\n\n it('throws when not given a size', () => {\n expect(() => typography.responsive()).toThrow();\n });\n\n it('throws when given a size not in the typography scale', () => {\n expect(() => typography.responsive('test')).toThrow();\n expect(() => typography.responsive(99999)).toThrow();\n });\n });\n\n describe('font', () => {\n it('defaults to standard font, regular weight', () => {\n const style = typography.font();\n\n expect(style).toEqual(\n Object.assign({}, typography.common(), {\n fontWeight: FONT_WEIGHTS.regular,\n })\n );\n });\n\n it('can accept tabular flag to pick tabular font', () => {\n const style = typography.font({ tabular: true });\n\n expect(style.fontFamily).toEqual(FONT_STACK_TABULAR);\n });\n\n it('accepts weight values from FONT_WEIGHTS list', () => {\n Object.entries(FONT_WEIGHTS).forEach(([weight, value]) => {\n expect(typography.font({ weight }).fontWeight).toEqual(value);\n });\n });\n\n it('ignores weight values we do not support', () => {\n expect(typography.font({ weight: 'fooBar' }).fontWeight).toBeUndefined();\n });\n\n it('allows size and custom lineHeight to be set', () => {\n Object.keys(TYPOGRAPHY_SCALE).forEach(size => {\n const style = typography.font({ size, lineHeight: 999 });\n\n expect(style).toEqual(expect.objectContaining(typography.responsive(size, 999)));\n });\n });\n });\n});\n"],"file":"test.js"} | ||
| {"version":3,"sources":["../../src/typography/test.js"],"names":["describe","it","expect","typography","textColour","toBeTruthy","textColor","toEqual","result","common","fontFamily","FONT_STACK","MEDIA_QUERIES","PRINT","FONT_STACK_PRINT","Object","keys","TYPOGRAPHY_SCALE","forEach","size","responsive","not","toThrow","entries","scale","style","fontSize","mobile","print","TABLET","tablet","lineHeight","font","assign","fontWeight","FONT_WEIGHTS","regular","tabular","FONT_STACK_TABULAR","weight","value","toBeUndefined","objectContaining"],"mappings":"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","sourcesContent":["import {\n FONT_STACK,\n FONT_STACK_PRINT,\n FONT_STACK_TABULAR,\n FONT_WEIGHTS,\n MEDIA_QUERIES,\n TYPOGRAPHY_SCALE,\n} from '@govuk-react/constants';\nimport * as typography from '.';\n\ndescribe('typography lib', () => {\n it('includes textColour', () => {\n expect(typography.textColour).toBeTruthy();\n });\n\n it('includes textColor alias for textColour', () => {\n expect(typography.textColor).toEqual(typography.textColour);\n });\n\n describe('common', () => {\n it('sets default font', () => {\n const result = typography.common();\n\n expect(result.fontFamily).toEqual(FONT_STACK);\n expect(result[MEDIA_QUERIES.PRINT].fontFamily).toEqual(FONT_STACK_PRINT);\n });\n\n it('allows an override fontFamily value', () => {\n const result = typography.common('test');\n\n expect(result.fontFamily).toEqual('test');\n expect(result[MEDIA_QUERIES.PRINT].fontFamily).toEqual(FONT_STACK_PRINT);\n });\n });\n\n describe('responsive', () => {\n it('allows any font size defined in the typography scale', () => {\n Object.keys(TYPOGRAPHY_SCALE).forEach(size => {\n expect(() => typography.responsive(size)).not.toThrow();\n });\n });\n\n it('produces mobile-first sizes with definitions for tablet and print', () => {\n Object.entries(TYPOGRAPHY_SCALE).forEach(([size, scale]) => {\n const style = typography.responsive(size);\n\n expect(style.fontSize).toEqual(`${scale.mobile.fontSize}px`);\n expect(style[MEDIA_QUERIES.PRINT].fontSize).toEqual(`${scale.print.fontSize}px`);\n expect(style[MEDIA_QUERIES.TABLET].fontSize).toEqual(`${scale.tablet.fontSize}px`);\n\n expect(style.lineHeight).toEqual(scale.mobile.lineHeight);\n expect(style[MEDIA_QUERIES.PRINT].lineHeight).toEqual(scale.print.lineHeight);\n expect(style[MEDIA_QUERIES.TABLET].lineHeight).toEqual(scale.tablet.lineHeight);\n });\n });\n\n it('can override lineHeight', () => {\n Object.keys(TYPOGRAPHY_SCALE).forEach(size => {\n const style = typography.responsive(size, 999);\n\n expect(style.lineHeight).toEqual(999);\n expect(style[MEDIA_QUERIES.PRINT].lineHeight).toEqual(999);\n expect(style[MEDIA_QUERIES.TABLET].lineHeight).toEqual(999);\n });\n });\n\n it('throws when not given a size', () => {\n expect(() => typography.responsive()).toThrow();\n });\n\n it('throws when given a size not in the typography scale', () => {\n expect(() => typography.responsive('test')).toThrow();\n expect(() => typography.responsive(99999)).toThrow();\n });\n });\n\n describe('font', () => {\n it('defaults to standard font, regular weight', () => {\n const style = typography.font();\n\n expect(style).toEqual(\n Object.assign({}, typography.common(), {\n fontWeight: FONT_WEIGHTS.regular,\n })\n );\n });\n\n it('can accept tabular flag to pick tabular font', () => {\n const style = typography.font({ tabular: true });\n\n expect(style.fontFamily).toEqual(FONT_STACK_TABULAR);\n });\n\n it('accepts weight values from FONT_WEIGHTS list', () => {\n Object.entries(FONT_WEIGHTS).forEach(([weight, value]) => {\n expect(typography.font({ weight }).fontWeight).toEqual(value);\n });\n });\n\n it('ignores weight values we do not support', () => {\n expect(typography.font({ weight: 'fooBar' }).fontWeight).toBeUndefined();\n });\n\n it('allows size and custom lineHeight to be set', () => {\n Object.keys(TYPOGRAPHY_SCALE).forEach(size => {\n const style = typography.font({ size, lineHeight: 999 });\n\n expect(style).toEqual(expect.objectContaining(typography.responsive(size, 999)));\n });\n });\n });\n});\n"],"file":"test.js"} |
@@ -5,3 +5,3 @@ "use strict"; |
| exports.focusable = focusable; |
| exports.default = void 0; |
| exports["default"] = void 0; |
@@ -58,3 +58,3 @@ // This lib is effectively a port of govuk-frontend's visually-hidden sass helpers |
| var _default = visuallyHidden; |
| exports.default = _default; |
| exports["default"] = _default; |
| //# sourceMappingURL=index.js.map |
@@ -5,8 +5,10 @@ "use strict"; |
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } |
| function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } |
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
| describe('visuallyHidden lib', function () { |
| describe('visuallyHidden', function () { |
| it('produces a style declaration', function () { |
| var style = (0, _.default)(); |
| var style = (0, _["default"])(); |
| expect(style).toBeTruthy(); |
@@ -16,3 +18,3 @@ expect(style).toBeInstanceOf(Object); |
| it('produces styles which, by default, are marked as important', function () { |
| var style = (0, _.default)(); |
| var style = (0, _["default"])(); |
| Object.values(style).forEach(function (value) { |
@@ -23,3 +25,3 @@ expect(value).toContain(' !important'); |
| it('can produce styles that do not contain important', function () { |
| var style = (0, _.default)({ |
| var style = (0, _["default"])({ |
| important: false |
@@ -45,3 +47,3 @@ }); |
| it('produces styles which, by default, are marked as important', function () { |
| var style = (0, _.default)(); |
| var style = (0, _["default"])(); |
| Object.entries(style).forEach(function (_ref) { |
@@ -63,3 +65,3 @@ var key = _ref[0], |
| it('can produce styles that do not contain important', function () { |
| var style = (0, _.default)({ |
| var style = (0, _["default"])({ |
| important: false |
@@ -66,0 +68,0 @@ }); |
@@ -1,1 +0,1 @@ |
| {"version":3,"sources":["../../src/visually-hidden/test.js"],"names":["describe","it","style","expect","toBeTruthy","toBeInstanceOf","Object","values","forEach","value","toContain","important","not","hasStyles","keys","some","key","checkKey","includes","toBe","entries","activeValue"],"mappings":"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","sourcesContent":["import visuallyHidden, { focusable } from '.';\n\ndescribe('visuallyHidden lib', () => {\n describe('visuallyHidden', () => {\n it('produces a style declaration', () => {\n const style = visuallyHidden();\n\n expect(style).toBeTruthy();\n expect(style).toBeInstanceOf(Object);\n });\n\n it('produces styles which, by default, are marked as important', () => {\n const style = visuallyHidden();\n\n Object.values(style).forEach(value => {\n expect(value).toContain(' !important');\n });\n });\n\n it('can produce styles that do not contain important', () => {\n const style = visuallyHidden({ important: false });\n\n Object.values(style).forEach(value => {\n expect(value).not.toContain('!important');\n });\n });\n });\n\n describe('visuallyHidden.focusable', () => {\n it('produces a style declaration, with focus and active styles', () => {\n const style = focusable();\n\n expect(style).toBeTruthy();\n expect(style).toBeInstanceOf(Object);\n\n const hasStyles = Object.keys(style).some(key => [':focus', ':active'].some(checkKey => key.includes(checkKey)));\n\n expect(hasStyles).toBe(true);\n });\n\n it('produces styles which, by default, are marked as important', () => {\n const style = visuallyHidden();\n\n Object.entries(style).forEach(([key, value]) => {\n if ([':focus', ':active'].some(checkKey => key.includes(checkKey))) {\n Object.values(value).forEach(activeValue => {\n expect(activeValue).toContain(' !important');\n });\n } else {\n expect(value).toContain(' !important');\n }\n });\n });\n\n it('can produce styles that do not contain important', () => {\n const style = visuallyHidden({ important: false });\n\n Object.entries(style).forEach(([key, value]) => {\n if ([':focus', ':active'].some(checkKey => key.includes(checkKey))) {\n Object.values(value).forEach(activeValue => {\n expect(activeValue).not.toContain(' !important');\n });\n } else {\n expect(value).not.toContain(' !important');\n }\n });\n });\n });\n});\n"],"file":"test.js"} |
| {"version":3,"sources":["../../src/visually-hidden/test.js"],"names":["describe","it","style","expect","toBeTruthy","toBeInstanceOf","Object","values","forEach","value","toContain","important","not","hasStyles","keys","some","key","checkKey","includes","toBe","entries","activeValue"],"mappings":"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","sourcesContent":["import visuallyHidden, { focusable } from '.';\n\ndescribe('visuallyHidden lib', () => {\n describe('visuallyHidden', () => {\n it('produces a style declaration', () => {\n const style = visuallyHidden();\n\n expect(style).toBeTruthy();\n expect(style).toBeInstanceOf(Object);\n });\n\n it('produces styles which, by default, are marked as important', () => {\n const style = visuallyHidden();\n\n Object.values(style).forEach(value => {\n expect(value).toContain(' !important');\n });\n });\n\n it('can produce styles that do not contain important', () => {\n const style = visuallyHidden({ important: false });\n\n Object.values(style).forEach(value => {\n expect(value).not.toContain('!important');\n });\n });\n });\n\n describe('visuallyHidden.focusable', () => {\n it('produces a style declaration, with focus and active styles', () => {\n const style = focusable();\n\n expect(style).toBeTruthy();\n expect(style).toBeInstanceOf(Object);\n\n const hasStyles = Object.keys(style).some(key => [':focus', ':active'].some(checkKey => key.includes(checkKey)));\n\n expect(hasStyles).toBe(true);\n });\n\n it('produces styles which, by default, are marked as important', () => {\n const style = visuallyHidden();\n\n Object.entries(style).forEach(([key, value]) => {\n if ([':focus', ':active'].some(checkKey => key.includes(checkKey))) {\n Object.values(value).forEach(activeValue => {\n expect(activeValue).toContain(' !important');\n });\n } else {\n expect(value).toContain(' !important');\n }\n });\n });\n\n it('can produce styles that do not contain important', () => {\n const style = visuallyHidden({ important: false });\n\n Object.entries(style).forEach(([key, value]) => {\n if ([':focus', ':active'].some(checkKey => key.includes(checkKey))) {\n Object.values(value).forEach(activeValue => {\n expect(activeValue).not.toContain(' !important');\n });\n } else {\n expect(value).not.toContain(' !important');\n }\n });\n });\n });\n});\n"],"file":"test.js"} |
+3
-3
| { | ||
| "name": "@govuk-react/lib", | ||
| "version": "0.7.1", | ||
| "version": "0.8.0", | ||
| "dependencies": { | ||
| "@govuk-react/constants": "^0.7.1", | ||
| "govuk-colours": "^1.0.3" | ||
| "@govuk-react/constants": "^0.8.0", | ||
| "govuk-colours": "^1.1.0" | ||
| }, | ||
@@ -8,0 +8,0 @@ "scripts": { |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
258402
1.59%2998
0.64%+ Added
- Removed
Updated