@purpurds/grid 5.7.0 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/grid.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),e=require("react");function j(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}var m={exports:{}};/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),s=require("react");function N(p){return p&&p.__esModule&&Object.prototype.hasOwnProperty.call(p,"default")?p.default:p}var z={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
5
- */(function(p){(function(){var _={}.hasOwnProperty;function t(){for(var r="",u=0;u<arguments.length;u++){var i=arguments[u];i&&(r=o(r,d.call(this,i)))}return r}function d(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return t.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var u="";for(var i in r)_.call(r,i)&&r[i]&&(u=o(u,this&&this[i]||i));return u}function o(r,u){return u?r?r+" "+u:r+u:r}p.exports?(t.default=t,p.exports=t):window.classNames=t})()})(m);var v=m.exports;const a=j(v),w={"purpur-grid-item":"_purpur-grid-item_zx9tz_1","purpur-grid-item--no-col-gap":"_purpur-grid-item--no-col-gap_zx9tz_6","purpur-grid-item-colspan-sm-4":"_purpur-grid-item-colspan-sm-4_zx9tz_24","purpur-grid-item-colspan-sm-3":"_purpur-grid-item-colspan-sm-3_zx9tz_27","purpur-grid-item-colspan-sm-2":"_purpur-grid-item-colspan-sm-2_zx9tz_30","purpur-grid-item-colspan-sm-1":"_purpur-grid-item-colspan-sm-1_zx9tz_33","purpur-grid-item-colspan-md-8":"_purpur-grid-item-colspan-md-8_zx9tz_37","purpur-grid-item-colspan-md-7":"_purpur-grid-item-colspan-md-7_zx9tz_42","purpur-grid-item-colspan-md-6":"_purpur-grid-item-colspan-md-6_zx9tz_47","purpur-grid-item-colspan-md-5":"_purpur-grid-item-colspan-md-5_zx9tz_52","purpur-grid-item-colspan-md-4":"_purpur-grid-item-colspan-md-4_zx9tz_57","purpur-grid-item-colspan-md-3":"_purpur-grid-item-colspan-md-3_zx9tz_62","purpur-grid-item-colspan-md-2":"_purpur-grid-item-colspan-md-2_zx9tz_67","purpur-grid-item-colspan-md-1":"_purpur-grid-item-colspan-md-1_zx9tz_72","purpur-grid-item-colspan-lg-12":"_purpur-grid-item-colspan-lg-12_zx9tz_77","purpur-grid-item-colspan-lg-11":"_purpur-grid-item-colspan-lg-11_zx9tz_82","purpur-grid-item-colspan-lg-10":"_purpur-grid-item-colspan-lg-10_zx9tz_87","purpur-grid-item-colspan-lg-9":"_purpur-grid-item-colspan-lg-9_zx9tz_92","purpur-grid-item-colspan-lg-8":"_purpur-grid-item-colspan-lg-8_zx9tz_97","purpur-grid-item-colspan-lg-7":"_purpur-grid-item-colspan-lg-7_zx9tz_102","purpur-grid-item-colspan-lg-6":"_purpur-grid-item-colspan-lg-6_zx9tz_107","purpur-grid-item-colspan-lg-5":"_purpur-grid-item-colspan-lg-5_zx9tz_112","purpur-grid-item-colspan-lg-4":"_purpur-grid-item-colspan-lg-4_zx9tz_117","purpur-grid-item-colspan-lg-3":"_purpur-grid-item-colspan-lg-3_zx9tz_122","purpur-grid-item-colspan-lg-2":"_purpur-grid-item-colspan-lg-2_zx9tz_127","purpur-grid-item-colspan-lg-1":"_purpur-grid-item-colspan-lg-1_zx9tz_77"},C=a.bind(w),s="purpur-grid-item",z=({children:p,className:_,["data-testid"]:t,colSpanSm:d=4,colSpanMd:o=8,colSpanLg:r=12,noColGap:u=!1})=>{const i=C([_,s,{[`${s}--no-col-gap`]:u,[`${s}-colspan-sm-${d}`]:d,[`${s}-colspan-md-${o}`]:o,[`${s}-colspan-lg-${r}`]:r}]);return c.jsx("div",{className:i,"data-testid":t,children:p})},N=p=>!!p&&e.isValidElement(p)&&(!!p.props.colSpanSm||!!p.props.colSpanMd||!!p.props.colSpanLg),O={"purpur-grid":"_purpur-grid_1h3bu_1","purpur-grid--no-gap":"_purpur-grid--no-gap_1h3bu_12","purpur-grid--no-row-gap":"_purpur-grid--no-row-gap_1h3bu_12","purpur-grid--grid":"_purpur-grid--grid_1h3bu_36","purpur-grid--no-col-gap":"_purpur-grid--no-col-gap_1h3bu_40","purpur-grid-col-sm-4":"_purpur-grid-col-sm-4_1h3bu_43","purpur-grid-col-sm-3":"_purpur-grid-col-sm-3_1h3bu_46","purpur-grid-col-sm-2":"_purpur-grid-col-sm-2_1h3bu_49","purpur-grid-col-md-8":"_purpur-grid-col-md-8_1h3bu_53","purpur-grid-col-md-7":"_purpur-grid-col-md-7_1h3bu_58","purpur-grid-col-md-6":"_purpur-grid-col-md-6_1h3bu_63","purpur-grid-col-md-5":"_purpur-grid-col-md-5_1h3bu_68","purpur-grid-col-md-4":"_purpur-grid-col-md-4_1h3bu_73","purpur-grid-col-md-3":"_purpur-grid-col-md-3_1h3bu_78","purpur-grid-col-md-2":"_purpur-grid-col-md-2_1h3bu_83","purpur-grid-col-lg-12":"_purpur-grid-col-lg-12_1h3bu_88","purpur-grid-col-lg-11":"_purpur-grid-col-lg-11_1h3bu_93","purpur-grid-col-lg-10":"_purpur-grid-col-lg-10_1h3bu_98","purpur-grid-col-lg-9":"_purpur-grid-col-lg-9_1h3bu_103","purpur-grid-col-lg-8":"_purpur-grid-col-lg-8_1h3bu_108","purpur-grid-col-lg-7":"_purpur-grid-col-lg-7_1h3bu_113","purpur-grid-col-lg-6":"_purpur-grid-col-lg-6_1h3bu_118","purpur-grid-col-lg-5":"_purpur-grid-col-lg-5_1h3bu_123","purpur-grid-col-lg-4":"_purpur-grid-col-lg-4_1h3bu_128","purpur-grid-col-lg-3":"_purpur-grid-col-lg-3_1h3bu_133","purpur-grid-col-lg-2":"_purpur-grid-col-lg-2_1h3bu_138","purpur-grid--flex":"_purpur-grid--flex_1h3bu_142"},S=a.bind(O),l="purpur-grid",h=({children:p,className:_,["data-testid"]:t,colsSm:d=1,colsMd:o=1,colsLg:r=1,noGap:u=!1,noColGap:i=!1,noRowGap:b=!1,...x})=>{const n=e.Children.toArray(p).filter(N),g=n.length,f=S([_,l,{[`${l}--grid`]:!g,[`${l}--flex`]:g,[`${l}--no-gap`]:u,[`${l}--no-col-gap`]:i,[`${l}--no-row-gap`]:b,[`${l}-col-sm-${d}`]:d>1&&!g,[`${l}-col-md-${o}`]:o>1&&!g,[`${l}-col-lg-${r}`]:r>1&&!g}]);return c.jsx("div",{className:f,"data-testid":t,...x,children:g?e.Children.map(n,({props:{children:$,...y}})=>c.jsx(z,{...y,noColGap:u||i,children:$})):p})};h.Item=z;exports.Grid=h;
5
+ */(function(p){(function(){var l={}.hasOwnProperty;function _(){for(var r="",i=0;i<arguments.length;i++){var u=arguments[i];u&&(r=g(r,e.call(this,u)))}return r}function e(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return _.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var i="";for(var u in r)l.call(r,u)&&r[u]&&(i=g(i,this&&this[u]||u));return i}function g(r,i){return i?r?r+" "+i:r+i:r}p.exports?(_.default=_,p.exports=_):window.classNames=_})()})(z);var w=z.exports;const v=N(w),O={"purpur-grid-item":"_purpur-grid-item_zx9tz_1","purpur-grid-item--no-col-gap":"_purpur-grid-item--no-col-gap_zx9tz_6","purpur-grid-item-colspan-sm-4":"_purpur-grid-item-colspan-sm-4_zx9tz_24","purpur-grid-item-colspan-sm-3":"_purpur-grid-item-colspan-sm-3_zx9tz_27","purpur-grid-item-colspan-sm-2":"_purpur-grid-item-colspan-sm-2_zx9tz_30","purpur-grid-item-colspan-sm-1":"_purpur-grid-item-colspan-sm-1_zx9tz_33","purpur-grid-item-colspan-md-8":"_purpur-grid-item-colspan-md-8_zx9tz_37","purpur-grid-item-colspan-md-7":"_purpur-grid-item-colspan-md-7_zx9tz_42","purpur-grid-item-colspan-md-6":"_purpur-grid-item-colspan-md-6_zx9tz_47","purpur-grid-item-colspan-md-5":"_purpur-grid-item-colspan-md-5_zx9tz_52","purpur-grid-item-colspan-md-4":"_purpur-grid-item-colspan-md-4_zx9tz_57","purpur-grid-item-colspan-md-3":"_purpur-grid-item-colspan-md-3_zx9tz_62","purpur-grid-item-colspan-md-2":"_purpur-grid-item-colspan-md-2_zx9tz_67","purpur-grid-item-colspan-md-1":"_purpur-grid-item-colspan-md-1_zx9tz_72","purpur-grid-item-colspan-lg-12":"_purpur-grid-item-colspan-lg-12_zx9tz_77","purpur-grid-item-colspan-lg-11":"_purpur-grid-item-colspan-lg-11_zx9tz_82","purpur-grid-item-colspan-lg-10":"_purpur-grid-item-colspan-lg-10_zx9tz_87","purpur-grid-item-colspan-lg-9":"_purpur-grid-item-colspan-lg-9_zx9tz_92","purpur-grid-item-colspan-lg-8":"_purpur-grid-item-colspan-lg-8_zx9tz_97","purpur-grid-item-colspan-lg-7":"_purpur-grid-item-colspan-lg-7_zx9tz_102","purpur-grid-item-colspan-lg-6":"_purpur-grid-item-colspan-lg-6_zx9tz_107","purpur-grid-item-colspan-lg-5":"_purpur-grid-item-colspan-lg-5_zx9tz_112","purpur-grid-item-colspan-lg-4":"_purpur-grid-item-colspan-lg-4_zx9tz_117","purpur-grid-item-colspan-lg-3":"_purpur-grid-item-colspan-lg-3_zx9tz_122","purpur-grid-item-colspan-lg-2":"_purpur-grid-item-colspan-lg-2_zx9tz_127","purpur-grid-item-colspan-lg-1":"_purpur-grid-item-colspan-lg-1_zx9tz_77"},S=v.bind(O),o="purpur-grid-item",x=({children:p,className:l,["data-testid"]:_,colSpanSm:e=4,colSpanMd:g=8,colSpanLg:r=12,noColGap:i=!1})=>{const u=S([l,o,{[`${o}--no-col-gap`]:i,[`${o}-colspan-sm-${e}`]:e,[`${o}-colspan-md-${g}`]:g,[`${o}-colspan-lg-${r}`]:r}]);return d.jsx("div",{className:u,"data-testid":_,children:p})},I=p=>!!p&&s.isValidElement(p)&&(!!p.props.colSpanSm||!!p.props.colSpanMd||!!p.props.colSpanLg),A={"purpur-grid":"_purpur-grid_13gvu_1","purpur-grid__inner":"_purpur-grid__inner_13gvu_7","purpur-grid__inner--no-gap":"_purpur-grid__inner--no-gap_13gvu_14","purpur-grid__inner--no-row-gap":"_purpur-grid__inner--no-row-gap_13gvu_14","purpur-grid__inner--grid":"_purpur-grid__inner--grid_13gvu_38","purpur-grid__inner--no-col-gap":"_purpur-grid__inner--no-col-gap_13gvu_42","purpur-grid__inner-col-sm-4":"_purpur-grid__inner-col-sm-4_13gvu_45","purpur-grid__inner-col-sm-3":"_purpur-grid__inner-col-sm-3_13gvu_48","purpur-grid__inner-col-sm-2":"_purpur-grid__inner-col-sm-2_13gvu_51","purpur-grid__inner-col-md-8":"_purpur-grid__inner-col-md-8_13gvu_55","purpur-grid__inner-col-md-7":"_purpur-grid__inner-col-md-7_13gvu_60","purpur-grid__inner-col-md-6":"_purpur-grid__inner-col-md-6_13gvu_65","purpur-grid__inner-col-md-5":"_purpur-grid__inner-col-md-5_13gvu_70","purpur-grid__inner-col-md-4":"_purpur-grid__inner-col-md-4_13gvu_75","purpur-grid__inner-col-md-3":"_purpur-grid__inner-col-md-3_13gvu_80","purpur-grid__inner-col-md-2":"_purpur-grid__inner-col-md-2_13gvu_85","purpur-grid__inner-col-lg-12":"_purpur-grid__inner-col-lg-12_13gvu_90","purpur-grid__inner-col-lg-11":"_purpur-grid__inner-col-lg-11_13gvu_95","purpur-grid__inner-col-lg-10":"_purpur-grid__inner-col-lg-10_13gvu_100","purpur-grid__inner-col-lg-9":"_purpur-grid__inner-col-lg-9_13gvu_105","purpur-grid__inner-col-lg-8":"_purpur-grid__inner-col-lg-8_13gvu_110","purpur-grid__inner-col-lg-7":"_purpur-grid__inner-col-lg-7_13gvu_115","purpur-grid__inner-col-lg-6":"_purpur-grid__inner-col-lg-6_13gvu_120","purpur-grid__inner-col-lg-5":"_purpur-grid__inner-col-lg-5_13gvu_125","purpur-grid__inner-col-lg-4":"_purpur-grid__inner-col-lg-4_13gvu_130","purpur-grid__inner-col-lg-3":"_purpur-grid__inner-col-lg-3_13gvu_135","purpur-grid__inner-col-lg-2":"_purpur-grid__inner-col-lg-2_13gvu_140","purpur-grid__inner--flex":"_purpur-grid__inner--flex_13gvu_144"},a=v.bind(A),E="purpur-grid",n="purpur-grid__inner",f=({children:p,className:l,containerClassName:_,["data-testid"]:e,colsSm:g=1,colsMd:r=1,colsLg:i=1,noGap:u=!1,noColGap:c=!1,noRowGap:$=!1,...h})=>{const m=s.Children.toArray(p).filter(I),t=m.length,y=a([_,E]),b=a([l,n,{[`${n}--grid`]:!t,[`${n}--flex`]:t,[`${n}--no-gap`]:u,[`${n}--no-col-gap`]:c,[`${n}--no-row-gap`]:$,[`${n}-col-sm-${g}`]:g>1&&!t,[`${n}-col-md-${r}`]:r>1&&!t,[`${n}-col-lg-${i}`]:i>1&&!t}]);return d.jsx("div",{className:y,"data-testid":e,...h,children:d.jsx("div",{className:b,children:t?s.Children.map(m,({props:{children:j,...C}})=>d.jsx(x,{...C,noColGap:u||c,children:j})):p})})};f.Item=x;exports.Grid=f;
6
6
  //# sourceMappingURL=grid.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/grid.item.tsx","../src/grid.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n isValidElement,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n ReactPortal,\n} from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./grid.item.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type ItemProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n /** The number of columns that the item spans on small screens. */\n colSpanSm?: 1 | 2 | 3 | 4;\n /** The number of columns that the item spans on medium screens. */\n colSpanMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns that the item spans on large screens. */\n colSpanLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** This will be passed from the parent component. */\n noColGap?: boolean;\n};\n\nconst rootClassName = \"purpur-grid-item\";\n\nexport const Item = ({\n children,\n className,\n [\"data-testid\"]: dataTestId,\n colSpanSm = 4,\n colSpanMd = 8,\n colSpanLg = 12,\n noColGap = false,\n}: ItemProps) => {\n const classes = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--no-col-gap`]: noColGap,\n [`${rootClassName}-colspan-sm-${colSpanSm}`]: colSpanSm,\n [`${rootClassName}-colspan-md-${colSpanMd}`]: colSpanMd,\n [`${rootClassName}-colspan-lg-${colSpanLg}`]: colSpanLg,\n },\n ]);\n\n return (\n <div className={classes} data-testid={dataTestId}>\n {children}\n </div>\n );\n};\n\nexport const isItem = (\n child:\n | ReactChild\n | ReactElement\n | ReactFragment\n | ReactPortal\n | string\n | number\n | boolean\n | null\n | undefined\n): child is ReactElement<ItemProps> =>\n !!child &&\n isValidElement<ItemProps>(child) &&\n (!!child.props.colSpanSm || !!child.props.colSpanMd || !!child.props.colSpanLg);\n","import React, { Children, ReactNode } from \"react\";\nimport c from \"classnames/bind\";\n\nimport { isItem, Item } from \"./grid.item\";\nimport styles from \"./grid.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type GridProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n /** The number of columns on small screens. */\n colsSm?: 1 | 2 | 3 | 4;\n /** The number of columns on medium screens. */\n colsMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns on large screens. */\n colsLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** Eliminates gaps between columns and rows. */\n noGap?: boolean;\n /** Eliminates gaps between columns. */\n noColGap?: boolean;\n /** Eliminates gaps between rows. */\n noRowGap?: boolean;\n};\n\nexport type GridCmp<P> = React.FunctionComponent<P> & {\n Item: typeof Item;\n};\n\nconst rootClassName = \"purpur-grid\";\n\nexport const Grid = ({\n children,\n className,\n [\"data-testid\"]: dataTestId,\n colsSm = 1,\n colsMd = 1,\n colsLg = 1,\n noGap = false,\n noColGap = false,\n noRowGap = false,\n ...props\n}: GridProps) => {\n const gridItemChildren = Children.toArray(children).filter(isItem);\n const hasItemChildren = gridItemChildren.length;\n\n const classes = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--grid`]: !hasItemChildren,\n [`${rootClassName}--flex`]: hasItemChildren,\n [`${rootClassName}--no-gap`]: noGap,\n [`${rootClassName}--no-col-gap`]: noColGap,\n [`${rootClassName}--no-row-gap`]: noRowGap,\n [`${rootClassName}-col-sm-${colsSm}`]: colsSm > 1 && !hasItemChildren,\n [`${rootClassName}-col-md-${colsMd}`]: colsMd > 1 && !hasItemChildren,\n [`${rootClassName}-col-lg-${colsLg}`]: colsLg > 1 && !hasItemChildren,\n },\n ]);\n\n return (\n <div className={classes} data-testid={dataTestId} {...props}>\n {hasItemChildren\n ? Children.map(gridItemChildren, ({ props: { children, ...colProps } }) => (\n <Item {...colProps} noColGap={noGap || noColGap}>\n {children}\n </Item>\n ))\n : children}\n </div>\n );\n};\n\nGrid.Item = Item;\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","Item","children","className","dataTestId","colSpanSm","colSpanMd","colSpanLg","noColGap","isItem","child","isValidElement","Grid","colsSm","colsMd","colsLg","noGap","noRowGap","props","gridItemChildren","Children","hasItemChildren","jsx","colProps"],"mappings":";;;;gBAOC,UAAY,CAGZ,IAAIA,EAAS,CAAE,EAAC,eAEhB,SAASC,GAAc,CAGtB,QAFIC,EAAU,GAELC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAC1C,IAAIC,EAAM,UAAUD,CAAC,EACjBC,IACHF,EAAUG,EAAYH,EAASI,EAAW,KAAK,KAAMF,CAAG,CAAC,EAE1D,CAED,OAAOF,CACP,CAED,SAASI,EAAYF,EAAK,CACzB,GAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,SAC7C,OAAO,MAAQ,KAAKA,CAAG,GAAKA,EAG7B,GAAI,OAAOA,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOH,EAAW,MAAM,KAAMG,CAAG,EAGlC,GAAIA,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe,EAClG,OAAOA,EAAI,WAGZ,IAAIF,EAAU,GAEd,QAASK,KAAOH,EACXJ,EAAO,KAAKI,EAAKG,CAAG,GAAKH,EAAIG,CAAG,IACnCL,EAAUG,EAAYH,EAAS,MAAQ,KAAKK,CAAG,GAAKA,CAAG,GAIzD,OAAOL,CACP,CAED,SAASG,EAAaG,EAAOC,EAAU,CACtC,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQR,CAEoCE,EAAO,SAC3CT,EAAW,QAAUA,EACrBS,EAAA,QAAiBT,GAOjB,OAAO,WAAaA,CAEtB,65DChEMU,EAAKC,EAAE,KAAKC,CAAM,EAgBlBC,EAAgB,mBAETC,EAAO,CAAC,CACnB,SAAAC,EACA,UAAAC,EACA,CAAC,eAAgBC,EACjB,UAAAC,EAAY,EACZ,UAAAC,EAAY,EACZ,UAAAC,EAAY,GACZ,SAAAC,EAAW,EACb,IAAiB,CACf,MAAMpB,EAAUS,EAAG,CACjBM,EACAH,EACA,CACE,CAAC,GAAGA,CAAa,cAAc,EAAGQ,EAClC,CAAC,GAAGR,CAAa,eAAeK,CAAS,EAAE,EAAGA,EAC9C,CAAC,GAAGL,CAAa,eAAeM,CAAS,EAAE,EAAGA,EAC9C,CAAC,GAAGN,CAAa,eAAeO,CAAS,EAAE,EAAGA,CAChD,CAAA,CACD,EAED,aACG,MAAI,CAAA,UAAWnB,EAAS,cAAagB,EACnC,SAAAF,CACH,CAAA,CAEJ,EAEaO,EACXC,GAWA,CAAC,CAACA,GACFC,EAAAA,eAA0BD,CAAK,IAC9B,CAAC,CAACA,EAAM,MAAM,WAAa,CAAC,CAACA,EAAM,MAAM,WAAa,CAAC,CAACA,EAAM,MAAM,i/CCjEjEb,EAAKC,EAAE,KAAKC,CAAM,EAwBlBC,EAAgB,cAETY,EAAO,CAAC,CACnB,SAAAV,EACA,UAAAC,EACA,CAAC,eAAgBC,EACjB,OAAAS,EAAS,EACT,OAAAC,EAAS,EACT,OAAAC,EAAS,EACT,MAAAC,EAAQ,GACR,SAAAR,EAAW,GACX,SAAAS,EAAW,GACX,GAAGC,CACL,IAAiB,CACf,MAAMC,EAAmBC,EAAAA,SAAS,QAAQlB,CAAQ,EAAE,OAAOO,CAAM,EAC3DY,EAAkBF,EAAiB,OAEnC/B,EAAUS,EAAG,CACjBM,EACAH,EACA,CACE,CAAC,GAAGA,CAAa,QAAQ,EAAG,CAACqB,EAC7B,CAAC,GAAGrB,CAAa,QAAQ,EAAGqB,EAC5B,CAAC,GAAGrB,CAAa,UAAU,EAAGgB,EAC9B,CAAC,GAAGhB,CAAa,cAAc,EAAGQ,EAClC,CAAC,GAAGR,CAAa,cAAc,EAAGiB,EAClC,CAAC,GAAGjB,CAAa,WAAWa,CAAM,EAAE,EAAGA,EAAS,GAAK,CAACQ,EACtD,CAAC,GAAGrB,CAAa,WAAWc,CAAM,EAAE,EAAGA,EAAS,GAAK,CAACO,EACtD,CAAC,GAAGrB,CAAa,WAAWe,CAAM,EAAE,EAAGA,EAAS,GAAK,CAACM,CACxD,CAAA,CACD,EAED,OACGC,EAAAA,IAAA,MAAA,CAAI,UAAWlC,EAAS,cAAagB,EAAa,GAAGc,EACnD,SAAAG,EACGD,EAAS,SAAA,IAAID,EAAkB,CAAC,CAAE,MAAO,CAAE,SAAAjB,EAAU,GAAGqB,CAAW,CAAA,UAChEtB,EAAM,CAAA,GAAGsB,EAAU,SAAUP,GAASR,EACpC,SAAAN,CACH,CAAA,CACD,EACDA,CACN,CAAA,CAEJ,EAEAU,EAAK,KAAOX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"grid.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/grid.item.tsx","../src/grid.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n isValidElement,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n ReactPortal,\n} from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./grid.item.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type ItemProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n /** The number of columns that the item spans on small screens. */\n colSpanSm?: 1 | 2 | 3 | 4;\n /** The number of columns that the item spans on medium screens. */\n colSpanMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns that the item spans on large screens. */\n colSpanLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** This will be passed from the parent component. */\n noColGap?: boolean;\n};\n\nconst rootClassName = \"purpur-grid-item\";\n\nexport const Item = ({\n children,\n className,\n [\"data-testid\"]: dataTestId,\n colSpanSm = 4,\n colSpanMd = 8,\n colSpanLg = 12,\n noColGap = false,\n}: ItemProps) => {\n const classes = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--no-col-gap`]: noColGap,\n [`${rootClassName}-colspan-sm-${colSpanSm}`]: colSpanSm,\n [`${rootClassName}-colspan-md-${colSpanMd}`]: colSpanMd,\n [`${rootClassName}-colspan-lg-${colSpanLg}`]: colSpanLg,\n },\n ]);\n\n return (\n <div className={classes} data-testid={dataTestId}>\n {children}\n </div>\n );\n};\n\nexport const isItem = (\n child:\n | ReactChild\n | ReactElement\n | ReactFragment\n | ReactPortal\n | string\n | number\n | boolean\n | null\n | undefined\n): child is ReactElement<ItemProps> =>\n !!child &&\n isValidElement<ItemProps>(child) &&\n (!!child.props.colSpanSm || !!child.props.colSpanMd || !!child.props.colSpanLg);\n","import React, { Children, ReactNode } from \"react\";\nimport c from \"classnames/bind\";\n\nimport { isItem, Item } from \"./grid.item\";\nimport styles from \"./grid.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type GridProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n containerClassName?: string;\n /** The number of columns on small screens. */\n colsSm?: 1 | 2 | 3 | 4;\n /** The number of columns on medium screens. */\n colsMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns on large screens. */\n colsLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** Eliminates gaps between columns and rows. */\n noGap?: boolean;\n /** Eliminates gaps between columns. */\n noColGap?: boolean;\n /** Eliminates gaps between rows. */\n noRowGap?: boolean;\n};\n\nexport type GridCmp<P> = React.FunctionComponent<P> & {\n Item: typeof Item;\n};\n\nconst rootClassName = \"purpur-grid\";\nconst innerClassName = \"purpur-grid__inner\";\n\nexport const Grid = ({\n children,\n className,\n containerClassName,\n [\"data-testid\"]: dataTestId,\n colsSm = 1,\n colsMd = 1,\n colsLg = 1,\n noGap = false,\n noColGap = false,\n noRowGap = false,\n ...props\n}: GridProps) => {\n const gridItemChildren = Children.toArray(children).filter(isItem);\n const hasItemChildren = gridItemChildren.length;\n\n const containerClasses = cx([containerClassName, rootClassName]);\n\n const classes = cx([\n className,\n innerClassName,\n {\n [`${innerClassName}--grid`]: !hasItemChildren,\n [`${innerClassName}--flex`]: hasItemChildren,\n [`${innerClassName}--no-gap`]: noGap,\n [`${innerClassName}--no-col-gap`]: noColGap,\n [`${innerClassName}--no-row-gap`]: noRowGap,\n [`${innerClassName}-col-sm-${colsSm}`]: colsSm > 1 && !hasItemChildren,\n [`${innerClassName}-col-md-${colsMd}`]: colsMd > 1 && !hasItemChildren,\n [`${innerClassName}-col-lg-${colsLg}`]: colsLg > 1 && !hasItemChildren,\n },\n ]);\n\n return (\n <div className={containerClasses} data-testid={dataTestId} {...props}>\n <div className={classes}>\n {hasItemChildren\n ? Children.map(gridItemChildren, ({ props: { children, ...colProps } }) => (\n <Item {...colProps} noColGap={noGap || noColGap}>\n {children}\n </Item>\n ))\n : children}\n </div>\n </div>\n );\n};\n\nGrid.Item = Item;\n"],"names":["hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","Item","children","className","dataTestId","colSpanSm","colSpanMd","colSpanLg","noColGap","isItem","child","isValidElement","innerClassName","Grid","containerClassName","colsSm","colsMd","colsLg","noGap","noRowGap","props","gridItemChildren","Children","hasItemChildren","containerClasses","jsx","colProps"],"mappings":";;;;gBAOC,UAAY,CAGZ,IAAIA,EAAS,CAAE,EAAC,eAEhB,SAASC,GAAc,CAGtB,QAFIC,EAAU,GAEL,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAC1C,IAAIC,EAAM,UAAU,CAAC,EACjBA,IACHD,EAAUE,EAAYF,EAASG,EAAW,KAAK,KAAMF,CAAG,CAAC,EAE1D,CAED,OAAOD,CACP,CAED,SAASG,EAAYF,EAAK,CACzB,GAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,SAC7C,OAAO,MAAQ,KAAKA,CAAG,GAAKA,EAG7B,GAAI,OAAOA,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOF,EAAW,MAAM,KAAME,CAAG,EAGlC,GAAIA,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe,EAClG,OAAOA,EAAI,WAGZ,IAAID,EAAU,GAEd,QAASI,KAAOH,EACXH,EAAO,KAAKG,EAAKG,CAAG,GAAKH,EAAIG,CAAG,IACnCJ,EAAUE,EAAYF,EAAS,MAAQ,KAAKI,CAAG,GAAKA,CAAG,GAIzD,OAAOJ,CACP,CAED,SAASE,EAAaG,EAAOC,EAAU,CACtC,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQR,CAEoCE,EAAO,SAC3CR,EAAW,QAAUA,EACrBQ,EAAA,QAAiBR,GAOjB,OAAO,WAAaA,CAEtB,65DChEMS,EAAKC,EAAE,KAAKC,CAAM,EAgBlBC,EAAgB,mBAETC,EAAO,CAAC,CACnB,SAAAC,EACA,UAAAC,EACA,CAAC,eAAgBC,EACjB,UAAAC,EAAY,EACZ,UAAAC,EAAY,EACZ,UAAAC,EAAY,GACZ,SAAAC,EAAW,EACb,IAAiB,CACf,MAAMnB,EAAUQ,EAAG,CACjBM,EACAH,EACA,CACE,CAAC,GAAGA,CAAa,cAAc,EAAGQ,EAClC,CAAC,GAAGR,CAAa,eAAeK,CAAS,EAAE,EAAGA,EAC9C,CAAC,GAAGL,CAAa,eAAeM,CAAS,EAAE,EAAGA,EAC9C,CAAC,GAAGN,CAAa,eAAeO,CAAS,EAAE,EAAGA,CAChD,CAAA,CACD,EAED,aACG,MAAI,CAAA,UAAWlB,EAAS,cAAae,EACnC,SAAAF,CACH,CAAA,CAEJ,EAEaO,EACXC,GAWA,CAAC,CAACA,GACFC,EAAAA,eAA0BD,CAAK,IAC9B,CAAC,CAACA,EAAM,MAAM,WAAa,CAAC,CAACA,EAAM,MAAM,WAAa,CAAC,CAACA,EAAM,MAAM,i5DCjEjEb,EAAKC,EAAE,KAAKC,CAAM,EAyBlBC,EAAgB,cAChBY,EAAiB,qBAEVC,EAAO,CAAC,CACnB,SAAAX,EACA,UAAAC,EACA,mBAAAW,EACA,CAAC,eAAgBV,EACjB,OAAAW,EAAS,EACT,OAAAC,EAAS,EACT,OAAAC,EAAS,EACT,MAAAC,EAAQ,GACR,SAAAV,EAAW,GACX,SAAAW,EAAW,GACX,GAAGC,CACL,IAAiB,CACf,MAAMC,EAAmBC,EAAAA,SAAS,QAAQpB,CAAQ,EAAE,OAAOO,CAAM,EAC3Dc,EAAkBF,EAAiB,OAEnCG,EAAmB3B,EAAG,CAACiB,EAAoBd,CAAa,CAAC,EAEzDX,EAAUQ,EAAG,CACjBM,EACAS,EACA,CACE,CAAC,GAAGA,CAAc,QAAQ,EAAG,CAACW,EAC9B,CAAC,GAAGX,CAAc,QAAQ,EAAGW,EAC7B,CAAC,GAAGX,CAAc,UAAU,EAAGM,EAC/B,CAAC,GAAGN,CAAc,cAAc,EAAGJ,EACnC,CAAC,GAAGI,CAAc,cAAc,EAAGO,EACnC,CAAC,GAAGP,CAAc,WAAWG,CAAM,EAAE,EAAGA,EAAS,GAAK,CAACQ,EACvD,CAAC,GAAGX,CAAc,WAAWI,CAAM,EAAE,EAAGA,EAAS,GAAK,CAACO,EACvD,CAAC,GAAGX,CAAc,WAAWK,CAAM,EAAE,EAAGA,EAAS,GAAK,CAACM,CACzD,CAAA,CACD,EAED,aACG,MAAI,CAAA,UAAWC,EAAkB,cAAapB,EAAa,GAAGgB,EAC7D,SAACK,EAAAA,IAAA,MAAA,CAAI,UAAWpC,EACb,SAAAkC,EACGD,EAAAA,SAAS,IAAID,EAAkB,CAAC,CAAE,MAAO,CAAE,SAAAnB,EAAU,GAAGwB,CAAW,CAAA,UAChEzB,EAAM,CAAA,GAAGyB,EAAU,SAAUR,GAASV,EACpC,SAAAN,CACH,CAAA,CACD,EACDA,EACN,CACF,CAAA,CAEJ,EAEAW,EAAK,KAAOZ","x_google_ignoreList":[0]}
package/dist/grid.d.ts CHANGED
@@ -5,6 +5,7 @@ export type GridProps = {
5
5
  children: ReactNode;
6
6
  ["data-testid"]?: string;
7
7
  className?: string;
8
+ containerClassName?: string;
8
9
  /** The number of columns on small screens. */
9
10
  colsSm?: 1 | 2 | 3 | 4;
10
11
  /** The number of columns on medium screens. */
@@ -22,7 +23,7 @@ export type GridCmp<P> = React.FunctionComponent<P> & {
22
23
  Item: typeof Item;
23
24
  };
24
25
  export declare const Grid: {
25
- ({ children, className, ["data-testid"]: dataTestId, colsSm, colsMd, colsLg, noGap, noColGap, noRowGap, ...props }: GridProps): React.JSX.Element;
26
+ ({ children, className, containerClassName, ["data-testid"]: dataTestId, colsSm, colsMd, colsLg, noGap, noColGap, noRowGap, ...props }: GridProps): React.JSX.Element;
26
27
  Item: ({ children, className, ["data-testid"]: dataTestId, colSpanSm, colSpanMd, colSpanLg, noColGap, }: import('./grid.item').ItemProps) => React.JSX.Element;
27
28
  };
28
29
  //# sourceMappingURL=grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../src/grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAU,IAAI,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC1D,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG;IACpD,IAAI,EAAE,OAAO,IAAI,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,IAAI;wHAWd,SAAS;;CA8BX,CAAC"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../src/grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAU,IAAI,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC1D,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG;IACpD,IAAI,EAAE,OAAO,IAAI,CAAC;CACnB,CAAC;AAKF,eAAO,MAAM,IAAI;4IAYd,SAAS;;CAkCX,CAAC"}
package/dist/grid.es.js CHANGED
@@ -1,9 +1,9 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { isValidElement as y, Children as n } from "react";
3
- function v(p) {
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import { isValidElement as C, Children as m } from "react";
3
+ function w(p) {
4
4
  return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, "default") ? p.default : p;
5
5
  }
6
- var m = { exports: {} };
6
+ var z = { exports: {} };
7
7
  /*!
8
8
  Copyright (c) 2018 Jed Watson.
9
9
  Licensed under the MIT License (MIT), see
@@ -11,36 +11,36 @@ var m = { exports: {} };
11
11
  */
12
12
  (function(p) {
13
13
  (function() {
14
- var _ = {}.hasOwnProperty;
15
- function t() {
16
- for (var r = "", u = 0; u < arguments.length; u++) {
17
- var i = arguments[u];
18
- i && (r = o(r, g.call(this, i)));
14
+ var t = {}.hasOwnProperty;
15
+ function _() {
16
+ for (var r = "", i = 0; i < arguments.length; i++) {
17
+ var u = arguments[i];
18
+ u && (r = g(r, e.call(this, u)));
19
19
  }
20
20
  return r;
21
21
  }
22
- function g(r) {
22
+ function e(r) {
23
23
  if (typeof r == "string" || typeof r == "number")
24
24
  return this && this[r] || r;
25
25
  if (typeof r != "object")
26
26
  return "";
27
27
  if (Array.isArray(r))
28
- return t.apply(this, r);
28
+ return _.apply(this, r);
29
29
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
30
30
  return r.toString();
31
- var u = "";
32
- for (var i in r)
33
- _.call(r, i) && r[i] && (u = o(u, this && this[i] || i));
34
- return u;
31
+ var i = "";
32
+ for (var u in r)
33
+ t.call(r, u) && r[u] && (i = g(i, this && this[u] || u));
34
+ return i;
35
35
  }
36
- function o(r, u) {
37
- return u ? r ? r + " " + u : r + u : r;
36
+ function g(r, i) {
37
+ return i ? r ? r + " " + i : r + i : r;
38
38
  }
39
- p.exports ? (t.default = t, p.exports = t) : window.classNames = t;
39
+ p.exports ? (_.default = _, p.exports = _) : window.classNames = _;
40
40
  })();
41
- })(m);
42
- var w = m.exports;
43
- const a = /* @__PURE__ */ v(w), N = {
41
+ })(z);
42
+ var j = z.exports;
43
+ const v = /* @__PURE__ */ w(j), I = {
44
44
  "purpur-grid-item": "_purpur-grid-item_zx9tz_1",
45
45
  "purpur-grid-item--no-col-gap": "_purpur-grid-item--no-col-gap_zx9tz_6",
46
46
  "purpur-grid-item-colspan-sm-4": "_purpur-grid-item-colspan-sm-4_zx9tz_24",
@@ -67,84 +67,86 @@ const a = /* @__PURE__ */ v(w), N = {
67
67
  "purpur-grid-item-colspan-lg-3": "_purpur-grid-item-colspan-lg-3_zx9tz_122",
68
68
  "purpur-grid-item-colspan-lg-2": "_purpur-grid-item-colspan-lg-2_zx9tz_127",
69
69
  "purpur-grid-item-colspan-lg-1": "_purpur-grid-item-colspan-lg-1_zx9tz_77"
70
- }, j = a.bind(N), s = "purpur-grid-item", z = ({
70
+ }, O = v.bind(I), o = "purpur-grid-item", x = ({
71
71
  children: p,
72
- className: _,
73
- ["data-testid"]: t,
74
- colSpanSm: g = 4,
75
- colSpanMd: o = 8,
72
+ className: t,
73
+ ["data-testid"]: _,
74
+ colSpanSm: e = 4,
75
+ colSpanMd: g = 8,
76
76
  colSpanLg: r = 12,
77
- noColGap: u = !1
77
+ noColGap: i = !1
78
78
  }) => {
79
- const i = j([
80
- _,
81
- s,
79
+ const u = O([
80
+ t,
81
+ o,
82
82
  {
83
- [`${s}--no-col-gap`]: u,
84
- [`${s}-colspan-sm-${g}`]: g,
85
- [`${s}-colspan-md-${o}`]: o,
86
- [`${s}-colspan-lg-${r}`]: r
83
+ [`${o}--no-col-gap`]: i,
84
+ [`${o}-colspan-sm-${e}`]: e,
85
+ [`${o}-colspan-md-${g}`]: g,
86
+ [`${o}-colspan-lg-${r}`]: r
87
87
  }
88
88
  ]);
89
- return /* @__PURE__ */ c("div", { className: i, "data-testid": t, children: p });
90
- }, C = (p) => !!p && y(p) && (!!p.props.colSpanSm || !!p.props.colSpanMd || !!p.props.colSpanLg), I = {
91
- "purpur-grid": "_purpur-grid_1h3bu_1",
92
- "purpur-grid--no-gap": "_purpur-grid--no-gap_1h3bu_12",
93
- "purpur-grid--no-row-gap": "_purpur-grid--no-row-gap_1h3bu_12",
94
- "purpur-grid--grid": "_purpur-grid--grid_1h3bu_36",
95
- "purpur-grid--no-col-gap": "_purpur-grid--no-col-gap_1h3bu_40",
96
- "purpur-grid-col-sm-4": "_purpur-grid-col-sm-4_1h3bu_43",
97
- "purpur-grid-col-sm-3": "_purpur-grid-col-sm-3_1h3bu_46",
98
- "purpur-grid-col-sm-2": "_purpur-grid-col-sm-2_1h3bu_49",
99
- "purpur-grid-col-md-8": "_purpur-grid-col-md-8_1h3bu_53",
100
- "purpur-grid-col-md-7": "_purpur-grid-col-md-7_1h3bu_58",
101
- "purpur-grid-col-md-6": "_purpur-grid-col-md-6_1h3bu_63",
102
- "purpur-grid-col-md-5": "_purpur-grid-col-md-5_1h3bu_68",
103
- "purpur-grid-col-md-4": "_purpur-grid-col-md-4_1h3bu_73",
104
- "purpur-grid-col-md-3": "_purpur-grid-col-md-3_1h3bu_78",
105
- "purpur-grid-col-md-2": "_purpur-grid-col-md-2_1h3bu_83",
106
- "purpur-grid-col-lg-12": "_purpur-grid-col-lg-12_1h3bu_88",
107
- "purpur-grid-col-lg-11": "_purpur-grid-col-lg-11_1h3bu_93",
108
- "purpur-grid-col-lg-10": "_purpur-grid-col-lg-10_1h3bu_98",
109
- "purpur-grid-col-lg-9": "_purpur-grid-col-lg-9_1h3bu_103",
110
- "purpur-grid-col-lg-8": "_purpur-grid-col-lg-8_1h3bu_108",
111
- "purpur-grid-col-lg-7": "_purpur-grid-col-lg-7_1h3bu_113",
112
- "purpur-grid-col-lg-6": "_purpur-grid-col-lg-6_1h3bu_118",
113
- "purpur-grid-col-lg-5": "_purpur-grid-col-lg-5_1h3bu_123",
114
- "purpur-grid-col-lg-4": "_purpur-grid-col-lg-4_1h3bu_128",
115
- "purpur-grid-col-lg-3": "_purpur-grid-col-lg-3_1h3bu_133",
116
- "purpur-grid-col-lg-2": "_purpur-grid-col-lg-2_1h3bu_138",
117
- "purpur-grid--flex": "_purpur-grid--flex_1h3bu_142"
118
- }, O = a.bind(I), l = "purpur-grid", S = ({
89
+ return /* @__PURE__ */ d("div", { className: u, "data-testid": _, children: p });
90
+ }, S = (p) => !!p && C(p) && (!!p.props.colSpanSm || !!p.props.colSpanMd || !!p.props.colSpanLg), A = {
91
+ "purpur-grid": "_purpur-grid_13gvu_1",
92
+ "purpur-grid__inner": "_purpur-grid__inner_13gvu_7",
93
+ "purpur-grid__inner--no-gap": "_purpur-grid__inner--no-gap_13gvu_14",
94
+ "purpur-grid__inner--no-row-gap": "_purpur-grid__inner--no-row-gap_13gvu_14",
95
+ "purpur-grid__inner--grid": "_purpur-grid__inner--grid_13gvu_38",
96
+ "purpur-grid__inner--no-col-gap": "_purpur-grid__inner--no-col-gap_13gvu_42",
97
+ "purpur-grid__inner-col-sm-4": "_purpur-grid__inner-col-sm-4_13gvu_45",
98
+ "purpur-grid__inner-col-sm-3": "_purpur-grid__inner-col-sm-3_13gvu_48",
99
+ "purpur-grid__inner-col-sm-2": "_purpur-grid__inner-col-sm-2_13gvu_51",
100
+ "purpur-grid__inner-col-md-8": "_purpur-grid__inner-col-md-8_13gvu_55",
101
+ "purpur-grid__inner-col-md-7": "_purpur-grid__inner-col-md-7_13gvu_60",
102
+ "purpur-grid__inner-col-md-6": "_purpur-grid__inner-col-md-6_13gvu_65",
103
+ "purpur-grid__inner-col-md-5": "_purpur-grid__inner-col-md-5_13gvu_70",
104
+ "purpur-grid__inner-col-md-4": "_purpur-grid__inner-col-md-4_13gvu_75",
105
+ "purpur-grid__inner-col-md-3": "_purpur-grid__inner-col-md-3_13gvu_80",
106
+ "purpur-grid__inner-col-md-2": "_purpur-grid__inner-col-md-2_13gvu_85",
107
+ "purpur-grid__inner-col-lg-12": "_purpur-grid__inner-col-lg-12_13gvu_90",
108
+ "purpur-grid__inner-col-lg-11": "_purpur-grid__inner-col-lg-11_13gvu_95",
109
+ "purpur-grid__inner-col-lg-10": "_purpur-grid__inner-col-lg-10_13gvu_100",
110
+ "purpur-grid__inner-col-lg-9": "_purpur-grid__inner-col-lg-9_13gvu_105",
111
+ "purpur-grid__inner-col-lg-8": "_purpur-grid__inner-col-lg-8_13gvu_110",
112
+ "purpur-grid__inner-col-lg-7": "_purpur-grid__inner-col-lg-7_13gvu_115",
113
+ "purpur-grid__inner-col-lg-6": "_purpur-grid__inner-col-lg-6_13gvu_120",
114
+ "purpur-grid__inner-col-lg-5": "_purpur-grid__inner-col-lg-5_13gvu_125",
115
+ "purpur-grid__inner-col-lg-4": "_purpur-grid__inner-col-lg-4_13gvu_130",
116
+ "purpur-grid__inner-col-lg-3": "_purpur-grid__inner-col-lg-3_13gvu_135",
117
+ "purpur-grid__inner-col-lg-2": "_purpur-grid__inner-col-lg-2_13gvu_140",
118
+ "purpur-grid__inner--flex": "_purpur-grid__inner--flex_13gvu_144"
119
+ }, a = v.bind(A), E = "purpur-grid", n = "purpur-grid__inner", P = ({
119
120
  children: p,
120
- className: _,
121
- ["data-testid"]: t,
121
+ className: t,
122
+ containerClassName: _,
123
+ ["data-testid"]: e,
122
124
  colsSm: g = 1,
123
- colsMd: o = 1,
124
- colsLg: r = 1,
125
+ colsMd: r = 1,
126
+ colsLg: i = 1,
125
127
  noGap: u = !1,
126
- noColGap: i = !1,
127
- noRowGap: h = !1,
128
- ...b
128
+ noColGap: s = !1,
129
+ noRowGap: f = !1,
130
+ ...$
129
131
  }) => {
130
- const e = n.toArray(p).filter(C), d = e.length, x = O([
131
- _,
132
- l,
132
+ const c = m.toArray(p).filter(S), l = c.length, h = a([_, E]), y = a([
133
+ t,
134
+ n,
133
135
  {
134
- [`${l}--grid`]: !d,
135
- [`${l}--flex`]: d,
136
- [`${l}--no-gap`]: u,
137
- [`${l}--no-col-gap`]: i,
138
- [`${l}--no-row-gap`]: h,
139
- [`${l}-col-sm-${g}`]: g > 1 && !d,
140
- [`${l}-col-md-${o}`]: o > 1 && !d,
141
- [`${l}-col-lg-${r}`]: r > 1 && !d
136
+ [`${n}--grid`]: !l,
137
+ [`${n}--flex`]: l,
138
+ [`${n}--no-gap`]: u,
139
+ [`${n}--no-col-gap`]: s,
140
+ [`${n}--no-row-gap`]: f,
141
+ [`${n}-col-sm-${g}`]: g > 1 && !l,
142
+ [`${n}-col-md-${r}`]: r > 1 && !l,
143
+ [`${n}-col-lg-${i}`]: i > 1 && !l
142
144
  }
143
145
  ]);
144
- return /* @__PURE__ */ c("div", { className: x, "data-testid": t, ...b, children: d ? n.map(e, ({ props: { children: f, ...$ } }) => /* @__PURE__ */ c(z, { ...$, noColGap: u || i, children: f })) : p });
146
+ return /* @__PURE__ */ d("div", { className: h, "data-testid": e, ...$, children: /* @__PURE__ */ d("div", { className: y, children: l ? m.map(c, ({ props: { children: b, ...N } }) => /* @__PURE__ */ d(x, { ...N, noColGap: u || s, children: b })) : p }) });
145
147
  };
146
- S.Item = z;
148
+ P.Item = x;
147
149
  export {
148
- S as Grid
150
+ P as Grid
149
151
  };
150
152
  //# sourceMappingURL=grid.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.es.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/grid.item.tsx","../src/grid.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n isValidElement,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n ReactPortal,\n} from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./grid.item.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type ItemProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n /** The number of columns that the item spans on small screens. */\n colSpanSm?: 1 | 2 | 3 | 4;\n /** The number of columns that the item spans on medium screens. */\n colSpanMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns that the item spans on large screens. */\n colSpanLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** This will be passed from the parent component. */\n noColGap?: boolean;\n};\n\nconst rootClassName = \"purpur-grid-item\";\n\nexport const Item = ({\n children,\n className,\n [\"data-testid\"]: dataTestId,\n colSpanSm = 4,\n colSpanMd = 8,\n colSpanLg = 12,\n noColGap = false,\n}: ItemProps) => {\n const classes = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--no-col-gap`]: noColGap,\n [`${rootClassName}-colspan-sm-${colSpanSm}`]: colSpanSm,\n [`${rootClassName}-colspan-md-${colSpanMd}`]: colSpanMd,\n [`${rootClassName}-colspan-lg-${colSpanLg}`]: colSpanLg,\n },\n ]);\n\n return (\n <div className={classes} data-testid={dataTestId}>\n {children}\n </div>\n );\n};\n\nexport const isItem = (\n child:\n | ReactChild\n | ReactElement\n | ReactFragment\n | ReactPortal\n | string\n | number\n | boolean\n | null\n | undefined\n): child is ReactElement<ItemProps> =>\n !!child &&\n isValidElement<ItemProps>(child) &&\n (!!child.props.colSpanSm || !!child.props.colSpanMd || !!child.props.colSpanLg);\n","import React, { Children, ReactNode } from \"react\";\nimport c from \"classnames/bind\";\n\nimport { isItem, Item } from \"./grid.item\";\nimport styles from \"./grid.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type GridProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n /** The number of columns on small screens. */\n colsSm?: 1 | 2 | 3 | 4;\n /** The number of columns on medium screens. */\n colsMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns on large screens. */\n colsLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** Eliminates gaps between columns and rows. */\n noGap?: boolean;\n /** Eliminates gaps between columns. */\n noColGap?: boolean;\n /** Eliminates gaps between rows. */\n noRowGap?: boolean;\n};\n\nexport type GridCmp<P> = React.FunctionComponent<P> & {\n Item: typeof Item;\n};\n\nconst rootClassName = \"purpur-grid\";\n\nexport const Grid = ({\n children,\n className,\n [\"data-testid\"]: dataTestId,\n colsSm = 1,\n colsMd = 1,\n colsLg = 1,\n noGap = false,\n noColGap = false,\n noRowGap = false,\n ...props\n}: GridProps) => {\n const gridItemChildren = Children.toArray(children).filter(isItem);\n const hasItemChildren = gridItemChildren.length;\n\n const classes = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--grid`]: !hasItemChildren,\n [`${rootClassName}--flex`]: hasItemChildren,\n [`${rootClassName}--no-gap`]: noGap,\n [`${rootClassName}--no-col-gap`]: noColGap,\n [`${rootClassName}--no-row-gap`]: noRowGap,\n [`${rootClassName}-col-sm-${colsSm}`]: colsSm > 1 && !hasItemChildren,\n [`${rootClassName}-col-md-${colsMd}`]: colsMd > 1 && !hasItemChildren,\n [`${rootClassName}-col-lg-${colsLg}`]: colsLg > 1 && !hasItemChildren,\n },\n ]);\n\n return (\n <div className={classes} data-testid={dataTestId} {...props}>\n {hasItemChildren\n ? Children.map(gridItemChildren, ({ props: { children, ...colProps } }) => (\n <Item {...colProps} noColGap={noGap || noColGap}>\n {children}\n </Item>\n ))\n : children}\n </div>\n );\n};\n\nGrid.Item = Item;\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","Item","children","className","dataTestId","colSpanSm","colSpanMd","colSpanLg","noColGap","isItem","child","isValidElement","Grid","colsSm","colsMd","colsLg","noGap","noRowGap","props","gridItemChildren","Children","hasItemChildren","jsx","colProps"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"grid.es.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/grid.item.tsx","../src/grid.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n isValidElement,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n ReactPortal,\n} from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./grid.item.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type ItemProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n /** The number of columns that the item spans on small screens. */\n colSpanSm?: 1 | 2 | 3 | 4;\n /** The number of columns that the item spans on medium screens. */\n colSpanMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns that the item spans on large screens. */\n colSpanLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** This will be passed from the parent component. */\n noColGap?: boolean;\n};\n\nconst rootClassName = \"purpur-grid-item\";\n\nexport const Item = ({\n children,\n className,\n [\"data-testid\"]: dataTestId,\n colSpanSm = 4,\n colSpanMd = 8,\n colSpanLg = 12,\n noColGap = false,\n}: ItemProps) => {\n const classes = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--no-col-gap`]: noColGap,\n [`${rootClassName}-colspan-sm-${colSpanSm}`]: colSpanSm,\n [`${rootClassName}-colspan-md-${colSpanMd}`]: colSpanMd,\n [`${rootClassName}-colspan-lg-${colSpanLg}`]: colSpanLg,\n },\n ]);\n\n return (\n <div className={classes} data-testid={dataTestId}>\n {children}\n </div>\n );\n};\n\nexport const isItem = (\n child:\n | ReactChild\n | ReactElement\n | ReactFragment\n | ReactPortal\n | string\n | number\n | boolean\n | null\n | undefined\n): child is ReactElement<ItemProps> =>\n !!child &&\n isValidElement<ItemProps>(child) &&\n (!!child.props.colSpanSm || !!child.props.colSpanMd || !!child.props.colSpanLg);\n","import React, { Children, ReactNode } from \"react\";\nimport c from \"classnames/bind\";\n\nimport { isItem, Item } from \"./grid.item\";\nimport styles from \"./grid.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type GridProps = {\n children: ReactNode;\n [\"data-testid\"]?: string;\n className?: string;\n containerClassName?: string;\n /** The number of columns on small screens. */\n colsSm?: 1 | 2 | 3 | 4;\n /** The number of columns on medium screens. */\n colsMd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n /** The number of columns on large screens. */\n colsLg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n /** Eliminates gaps between columns and rows. */\n noGap?: boolean;\n /** Eliminates gaps between columns. */\n noColGap?: boolean;\n /** Eliminates gaps between rows. */\n noRowGap?: boolean;\n};\n\nexport type GridCmp<P> = React.FunctionComponent<P> & {\n Item: typeof Item;\n};\n\nconst rootClassName = \"purpur-grid\";\nconst innerClassName = \"purpur-grid__inner\";\n\nexport const Grid = ({\n children,\n className,\n containerClassName,\n [\"data-testid\"]: dataTestId,\n colsSm = 1,\n colsMd = 1,\n colsLg = 1,\n noGap = false,\n noColGap = false,\n noRowGap = false,\n ...props\n}: GridProps) => {\n const gridItemChildren = Children.toArray(children).filter(isItem);\n const hasItemChildren = gridItemChildren.length;\n\n const containerClasses = cx([containerClassName, rootClassName]);\n\n const classes = cx([\n className,\n innerClassName,\n {\n [`${innerClassName}--grid`]: !hasItemChildren,\n [`${innerClassName}--flex`]: hasItemChildren,\n [`${innerClassName}--no-gap`]: noGap,\n [`${innerClassName}--no-col-gap`]: noColGap,\n [`${innerClassName}--no-row-gap`]: noRowGap,\n [`${innerClassName}-col-sm-${colsSm}`]: colsSm > 1 && !hasItemChildren,\n [`${innerClassName}-col-md-${colsMd}`]: colsMd > 1 && !hasItemChildren,\n [`${innerClassName}-col-lg-${colsLg}`]: colsLg > 1 && !hasItemChildren,\n },\n ]);\n\n return (\n <div className={containerClasses} data-testid={dataTestId} {...props}>\n <div className={classes}>\n {hasItemChildren\n ? Children.map(gridItemChildren, ({ props: { children, ...colProps } }) => (\n <Item {...colProps} noColGap={noGap || noColGap}>\n {children}\n </Item>\n ))\n : children}\n </div>\n </div>\n );\n};\n\nGrid.Item = Item;\n"],"names":["hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","Item","children","className","dataTestId","colSpanSm","colSpanMd","colSpanLg","noColGap","isItem","child","isValidElement","innerClassName","Grid","containerClassName","colsSm","colsMd","colsLg","noGap","noRowGap","props","gridItemChildren","Children","hasItemChildren","containerClasses","jsx","colProps"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- ._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-sm) / 2);padding:0 var(--padding);box-sizing:border-box}._purpur-grid-item--no-col-gap_zx9tz_6{padding:0}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-md) / 2)}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-lg) / 2)}}@media screen and (min-width: 1440px){._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-xl) / 2)}}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-4_zx9tz_24{width:100%}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-3_zx9tz_27{width:75%}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-2_zx9tz_30{width:50%}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-1_zx9tz_33{width:25%}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-8_zx9tz_37{width:100%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-7_zx9tz_42{width:87.5%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-6_zx9tz_47{width:75%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-5_zx9tz_52{width:62.5%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-4_zx9tz_57{width:50%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-3_zx9tz_62{width:37.5%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-2_zx9tz_67{width:25%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-1_zx9tz_72{width:12.5%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-12_zx9tz_77{width:100%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-11_zx9tz_82{width:91.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-10_zx9tz_87{width:83.3333333333%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-9_zx9tz_92{width:75%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-8_zx9tz_97{width:66.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-7_zx9tz_102{width:58.3333333333%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-6_zx9tz_107{width:50%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-5_zx9tz_112{width:41.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-4_zx9tz_117{width:33.3333333333%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-3_zx9tz_122{width:25%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-2_zx9tz_127{width:16.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-1_zx9tz_77{width:8.3333333333%}}._purpur-grid_1h3bu_1{--gap: var(--purpur-spacing-gutter-sm);--padding: var(--purpur-spacing-page-padding-sm);box-sizing:border-box;row-gap:var(--gap);width:100%;max-width:var(--purpur-breakpoint-xl);margin:0 auto;padding:0 var(--padding)}._purpur-grid--no-gap_1h3bu_12,._purpur-grid--no-row-gap_1h3bu_12{row-gap:0}._purpur-grid_1h3bu_1 ._purpur-grid_1h3bu_1{padding:0}@media screen and (min-width: 600px){._purpur-grid_1h3bu_1{--gap: var(--purpur-spacing-gutter-md);--padding: var(--purpur-spacing-page-padding-md)}}@media screen and (min-width: 1024px){._purpur-grid_1h3bu_1{--gap: var(--purpur-spacing-gutter-lg);--padding: var(--purpur-spacing-page-padding-lg)}}@media screen and (min-width: 1440px){._purpur-grid_1h3bu_1{--gap: var(--purpur-spacing-gutter-xl);--padding: var(--purpur-spacing-page-padding-xl)}}._purpur-grid--grid_1h3bu_36{display:grid;column-gap:var(--gap)}._purpur-grid--grid_1h3bu_36._purpur-grid--no-gap_1h3bu_12,._purpur-grid--grid_1h3bu_36._purpur-grid--no-col-gap_1h3bu_40{column-gap:0}._purpur-grid--grid_1h3bu_36._purpur-grid-col-sm-4_1h3bu_43{grid-template-columns:repeat(4,1fr)}._purpur-grid--grid_1h3bu_36._purpur-grid-col-sm-3_1h3bu_46{grid-template-columns:repeat(3,1fr)}._purpur-grid--grid_1h3bu_36._purpur-grid-col-sm-2_1h3bu_49{grid-template-columns:repeat(2,1fr)}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-8_1h3bu_53{grid-template-columns:repeat(8,1fr)}}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-7_1h3bu_58{grid-template-columns:repeat(7,1fr)}}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-6_1h3bu_63{grid-template-columns:repeat(6,1fr)}}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-5_1h3bu_68{grid-template-columns:repeat(5,1fr)}}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-4_1h3bu_73{grid-template-columns:repeat(4,1fr)}}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-3_1h3bu_78{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 600px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-md-2_1h3bu_83{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-12_1h3bu_88{grid-template-columns:repeat(12,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-11_1h3bu_93{grid-template-columns:repeat(11,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-10_1h3bu_98{grid-template-columns:repeat(10,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-9_1h3bu_103{grid-template-columns:repeat(9,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-8_1h3bu_108{grid-template-columns:repeat(8,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-7_1h3bu_113{grid-template-columns:repeat(7,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-6_1h3bu_118{grid-template-columns:repeat(6,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-5_1h3bu_123{grid-template-columns:repeat(5,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-4_1h3bu_128{grid-template-columns:repeat(4,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-3_1h3bu_133{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 1024px){._purpur-grid--grid_1h3bu_36._purpur-grid-col-lg-2_1h3bu_138{grid-template-columns:repeat(2,1fr)}}._purpur-grid--flex_1h3bu_142{--gutter: var(--purpur-spacing-gutter-sm);display:flex;flex-wrap:wrap;width:calc(100% + var(--gutter));margin:0 calc(-1 * var(--gutter) / 2)}._purpur-grid--flex_1h3bu_142._purpur-grid--no-gap_1h3bu_12,._purpur-grid--flex_1h3bu_142._purpur-grid--no-col-gap_1h3bu_40{width:100%;margin:0}@media screen and (min-width: 600px){._purpur-grid--flex_1h3bu_142{--gutter: var(--purpur-spacing-gutter-md)}}@media screen and (min-width: 1024px){._purpur-grid--flex_1h3bu_142{--gutter: var(--purpur-spacing-gutter-lg)}}@media screen and (min-width: 1440px){._purpur-grid--flex_1h3bu_142{--gutter: var(--purpur-spacing-gutter-xl)}}
1
+ ._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-sm) / 2);padding:0 var(--padding);box-sizing:border-box}._purpur-grid-item--no-col-gap_zx9tz_6{padding:0}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-md) / 2)}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-lg) / 2)}}@media screen and (min-width: 1440px){._purpur-grid-item_zx9tz_1{--padding: calc(var(--purpur-spacing-gutter-xl) / 2)}}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-4_zx9tz_24{width:100%}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-3_zx9tz_27{width:75%}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-2_zx9tz_30{width:50%}._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-sm-1_zx9tz_33{width:25%}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-8_zx9tz_37{width:100%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-7_zx9tz_42{width:87.5%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-6_zx9tz_47{width:75%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-5_zx9tz_52{width:62.5%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-4_zx9tz_57{width:50%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-3_zx9tz_62{width:37.5%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-2_zx9tz_67{width:25%}}@media screen and (min-width: 600px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-md-1_zx9tz_72{width:12.5%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-12_zx9tz_77{width:100%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-11_zx9tz_82{width:91.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-10_zx9tz_87{width:83.3333333333%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-9_zx9tz_92{width:75%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-8_zx9tz_97{width:66.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-7_zx9tz_102{width:58.3333333333%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-6_zx9tz_107{width:50%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-5_zx9tz_112{width:41.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-4_zx9tz_117{width:33.3333333333%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-3_zx9tz_122{width:25%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-2_zx9tz_127{width:16.6666666667%}}@media screen and (min-width: 1024px){._purpur-grid-item_zx9tz_1._purpur-grid-item-colspan-lg-1_zx9tz_77{width:8.3333333333%}}._purpur-grid_13gvu_1{box-sizing:border-box;width:100%;max-width:var(--purpur-breakpoint-xl);margin:0 auto}._purpur-grid__inner_13gvu_7{--gap: var(--purpur-spacing-gutter-sm);--padding: var(--purpur-spacing-page-padding-sm);row-gap:var(--gap);padding:0 var(--padding)}._purpur-grid__inner--no-gap_13gvu_14,._purpur-grid__inner--no-row-gap_13gvu_14{row-gap:0}._purpur-grid__inner_13gvu_7 ._purpur-grid__inner_13gvu_7{padding:0}@media screen and (min-width: 600px){._purpur-grid__inner_13gvu_7{--gap: var(--purpur-spacing-gutter-md);--padding: var(--purpur-spacing-page-padding-md)}}@media screen and (min-width: 1024px){._purpur-grid__inner_13gvu_7{--gap: var(--purpur-spacing-gutter-lg);--padding: var(--purpur-spacing-page-padding-lg)}}@media screen and (min-width: 1440px){._purpur-grid__inner_13gvu_7{--gap: var(--purpur-spacing-gutter-xl);--padding: var(--purpur-spacing-page-padding-xl)}}._purpur-grid__inner--grid_13gvu_38{display:grid;column-gap:var(--gap)}._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner--no-gap_13gvu_14,._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner--no-col-gap_13gvu_42{column-gap:0}._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-sm-4_13gvu_45{grid-template-columns:repeat(4,1fr)}._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-sm-3_13gvu_48{grid-template-columns:repeat(3,1fr)}._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-sm-2_13gvu_51{grid-template-columns:repeat(2,1fr)}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-8_13gvu_55{grid-template-columns:repeat(8,1fr)}}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-7_13gvu_60{grid-template-columns:repeat(7,1fr)}}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-6_13gvu_65{grid-template-columns:repeat(6,1fr)}}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-5_13gvu_70{grid-template-columns:repeat(5,1fr)}}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-4_13gvu_75{grid-template-columns:repeat(4,1fr)}}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-3_13gvu_80{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 600px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-md-2_13gvu_85{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-12_13gvu_90{grid-template-columns:repeat(12,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-11_13gvu_95{grid-template-columns:repeat(11,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-10_13gvu_100{grid-template-columns:repeat(10,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-9_13gvu_105{grid-template-columns:repeat(9,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-8_13gvu_110{grid-template-columns:repeat(8,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-7_13gvu_115{grid-template-columns:repeat(7,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-6_13gvu_120{grid-template-columns:repeat(6,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-5_13gvu_125{grid-template-columns:repeat(5,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-4_13gvu_130{grid-template-columns:repeat(4,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-3_13gvu_135{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 1024px){._purpur-grid__inner--grid_13gvu_38._purpur-grid__inner-col-lg-2_13gvu_140{grid-template-columns:repeat(2,1fr)}}._purpur-grid__inner--flex_13gvu_144{--gutter: var(--purpur-spacing-gutter-sm);display:flex;flex-wrap:wrap;width:calc(100% + var(--gutter));margin:0 calc(-1 * var(--gutter) / 2)}._purpur-grid__inner--flex_13gvu_144._purpur-grid__inner--no-gap_13gvu_14,._purpur-grid__inner--flex_13gvu_144._purpur-grid__inner--no-col-gap_13gvu_42{width:100%;margin:0}@media screen and (min-width: 600px){._purpur-grid__inner--flex_13gvu_144{--gutter: var(--purpur-spacing-gutter-md)}}@media screen and (min-width: 1024px){._purpur-grid__inner--flex_13gvu_144{--gutter: var(--purpur-spacing-gutter-lg)}}@media screen and (min-width: 1440px){._purpur-grid__inner--flex_13gvu_144{--gutter: var(--purpur-spacing-gutter-xl)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpurds/grid",
3
- "version": "5.7.0",
3
+ "version": "5.8.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "./dist/grid.cjs.js",
6
6
  "types": "./dist/grid.d.ts",
@@ -15,7 +15,7 @@
15
15
  "source": "src/grid.tsx",
16
16
  "dependencies": {
17
17
  "classnames": "~2.5.0",
18
- "@purpurds/tokens": "5.7.0"
18
+ "@purpurds/tokens": "5.8.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@rushstack/eslint-patch": "~1.10.0",
@@ -41,7 +41,7 @@
41
41
  "vite": "~5.2.2",
42
42
  "vitest": "~1.5.0",
43
43
  "@purpurds/component-rig": "1.0.0",
44
- "@purpurds/link": "5.7.0"
44
+ "@purpurds/link": "5.8.0"
45
45
  },
46
46
  "scripts": {
47
47
  "build:dev": "vite",
package/readme.mdx CHANGED
@@ -61,6 +61,24 @@ export const MyComponent = () => {
61
61
  };
62
62
  ```
63
63
 
64
+ #### Basic grid with `noGap`
65
+
66
+ ```tsx
67
+ import { Grid } from "@purpurds/purpur";
68
+
69
+ export const MyComponent = () => {
70
+ return (
71
+ <Grid noGap colsMd={3}>
72
+ <div>Grid item 1</div>
73
+ <div>Grid item 2</div>
74
+ <div>Grid item 3</div>
75
+ </Grid>
76
+ );
77
+ };
78
+ ```
79
+
80
+ Besides `noGap`, `noColGap` and `noRowGap` are also available
81
+
64
82
  #### Advanced grid using nested grids
65
83
 
66
84
  ```tsx
@@ -1,99 +1,102 @@
1
1
  @import "@purpurds/tokens/breakpoint/variables";
2
2
 
3
3
  .purpur-grid {
4
- $root: &;
5
-
6
- --gap: var(--purpur-spacing-gutter-sm);
7
- --padding: var(--purpur-spacing-page-padding-sm);
8
-
9
4
  box-sizing: border-box;
10
- row-gap: var(--gap);
11
5
  width: 100%;
12
6
  max-width: var(--purpur-breakpoint-xl);
13
7
  margin: 0 auto;
14
- padding: 0 var(--padding);
15
8
 
16
- &--no-gap,
17
- &--no-row-gap {
18
- row-gap: 0;
19
- }
9
+ &__inner {
10
+ $inner: &;
20
11
 
21
- /* Remove padding for nested grids */
22
- #{$root} {
23
- padding: 0;
24
- }
12
+ --gap: var(--purpur-spacing-gutter-sm);
13
+ --padding: var(--purpur-spacing-page-padding-sm);
25
14
 
26
- @media screen and (min-width: $purpur-breakpoint-md) {
27
- --gap: var(--purpur-spacing-gutter-md);
28
- --padding: var(--purpur-spacing-page-padding-md);
29
- }
15
+ row-gap: var(--gap);
16
+ padding: 0 var(--padding);
30
17
 
31
- @media screen and (min-width: $purpur-breakpoint-lg) {
32
- --gap: var(--purpur-spacing-gutter-lg);
33
- --padding: var(--purpur-spacing-page-padding-lg);
34
- }
18
+ &--no-gap,
19
+ &--no-row-gap {
20
+ row-gap: 0;
21
+ }
35
22
 
36
- @media screen and (min-width: $purpur-breakpoint-xl) {
37
- --gap: var(--purpur-spacing-gutter-xl);
38
- --padding: var(--purpur-spacing-page-padding-xl);
39
- }
23
+ /* Remove padding for nested grids */
24
+ #{$inner} {
25
+ padding: 0;
26
+ }
40
27
 
41
- &--grid {
42
- display: grid;
43
- column-gap: var(--gap);
28
+ @media screen and (min-width: $purpur-breakpoint-md) {
29
+ --gap: var(--purpur-spacing-gutter-md);
30
+ --padding: var(--purpur-spacing-page-padding-md);
31
+ }
44
32
 
45
- &#{$root}--no-gap,
46
- &#{$root}--no-col-gap {
47
- column-gap: 0;
33
+ @media screen and (min-width: $purpur-breakpoint-lg) {
34
+ --gap: var(--purpur-spacing-gutter-lg);
35
+ --padding: var(--purpur-spacing-page-padding-lg);
48
36
  }
49
37
 
50
- @for $i from 4 through 2 {
51
- &#{$root}-col-sm-#{$i} {
52
- grid-template-columns: repeat($i, 1fr);
53
- }
38
+ @media screen and (min-width: $purpur-breakpoint-xl) {
39
+ --gap: var(--purpur-spacing-gutter-xl);
40
+ --padding: var(--purpur-spacing-page-padding-xl);
54
41
  }
55
42
 
56
- @for $i from 8 through 2 {
57
- @media screen and (min-width: $purpur-breakpoint-md) {
58
- &#{$root}-col-md-#{$i} {
43
+ &--grid {
44
+ display: grid;
45
+ column-gap: var(--gap);
46
+
47
+ &#{$inner}--no-gap,
48
+ &#{$inner}--no-col-gap {
49
+ column-gap: 0;
50
+ }
51
+
52
+ @for $i from 4 through 2 {
53
+ &#{$inner}-col-sm-#{$i} {
59
54
  grid-template-columns: repeat($i, 1fr);
60
55
  }
61
56
  }
62
- }
63
57
 
64
- @for $i from 12 through 2 {
65
- @media screen and (min-width: $purpur-breakpoint-lg) {
66
- &#{$root}-col-lg-#{$i} {
67
- grid-template-columns: repeat($i, 1fr);
58
+ @for $i from 8 through 2 {
59
+ @media screen and (min-width: $purpur-breakpoint-md) {
60
+ &#{$inner}-col-md-#{$i} {
61
+ grid-template-columns: repeat($i, 1fr);
62
+ }
63
+ }
64
+ }
65
+
66
+ @for $i from 12 through 2 {
67
+ @media screen and (min-width: $purpur-breakpoint-lg) {
68
+ &#{$inner}-col-lg-#{$i} {
69
+ grid-template-columns: repeat($i, 1fr);
70
+ }
68
71
  }
69
72
  }
70
73
  }
71
- }
72
74
 
73
- &--flex {
74
- --gutter: var(--purpur-spacing-gutter-sm);
75
+ &--flex {
76
+ --gutter: var(--purpur-spacing-gutter-sm);
75
77
 
76
- display: flex;
77
- flex-wrap: wrap;
78
- width: calc(100% + var(--gutter));
79
- margin: 0 calc(-1 * (var(--gutter) / 2));
78
+ display: flex;
79
+ flex-wrap: wrap;
80
+ width: calc(100% + var(--gutter));
81
+ margin: 0 calc(-1 * (var(--gutter) / 2));
80
82
 
81
- &#{$root}--no-gap,
82
- &#{$root}--no-col-gap {
83
- width: 100%;
84
- margin: 0;
85
- }
83
+ &#{$inner}--no-gap,
84
+ &#{$inner}--no-col-gap {
85
+ width: 100%;
86
+ margin: 0;
87
+ }
86
88
 
87
- @media screen and (min-width: $purpur-breakpoint-md) {
88
- --gutter: var(--purpur-spacing-gutter-md);
89
- }
89
+ @media screen and (min-width: $purpur-breakpoint-md) {
90
+ --gutter: var(--purpur-spacing-gutter-md);
91
+ }
90
92
 
91
- @media screen and (min-width: $purpur-breakpoint-lg) {
92
- --gutter: var(--purpur-spacing-gutter-lg);
93
- }
93
+ @media screen and (min-width: $purpur-breakpoint-lg) {
94
+ --gutter: var(--purpur-spacing-gutter-lg);
95
+ }
94
96
 
95
- @media screen and (min-width: $purpur-breakpoint-xl) {
96
- --gutter: var(--purpur-spacing-gutter-xl);
97
+ @media screen and (min-width: $purpur-breakpoint-xl) {
98
+ --gutter: var(--purpur-spacing-gutter-xl);
99
+ }
97
100
  }
98
101
  }
99
- }
102
+ }
package/src/grid.tsx CHANGED
@@ -10,6 +10,7 @@ export type GridProps = {
10
10
  children: ReactNode;
11
11
  ["data-testid"]?: string;
12
12
  className?: string;
13
+ containerClassName?: string;
13
14
  /** The number of columns on small screens. */
14
15
  colsSm?: 1 | 2 | 3 | 4;
15
16
  /** The number of columns on medium screens. */
@@ -29,10 +30,12 @@ export type GridCmp<P> = React.FunctionComponent<P> & {
29
30
  };
30
31
 
31
32
  const rootClassName = "purpur-grid";
33
+ const innerClassName = "purpur-grid__inner";
32
34
 
33
35
  export const Grid = ({
34
36
  children,
35
37
  className,
38
+ containerClassName,
36
39
  ["data-testid"]: dataTestId,
37
40
  colsSm = 1,
38
41
  colsMd = 1,
@@ -45,30 +48,34 @@ export const Grid = ({
45
48
  const gridItemChildren = Children.toArray(children).filter(isItem);
46
49
  const hasItemChildren = gridItemChildren.length;
47
50
 
51
+ const containerClasses = cx([containerClassName, rootClassName]);
52
+
48
53
  const classes = cx([
49
54
  className,
50
- rootClassName,
55
+ innerClassName,
51
56
  {
52
- [`${rootClassName}--grid`]: !hasItemChildren,
53
- [`${rootClassName}--flex`]: hasItemChildren,
54
- [`${rootClassName}--no-gap`]: noGap,
55
- [`${rootClassName}--no-col-gap`]: noColGap,
56
- [`${rootClassName}--no-row-gap`]: noRowGap,
57
- [`${rootClassName}-col-sm-${colsSm}`]: colsSm > 1 && !hasItemChildren,
58
- [`${rootClassName}-col-md-${colsMd}`]: colsMd > 1 && !hasItemChildren,
59
- [`${rootClassName}-col-lg-${colsLg}`]: colsLg > 1 && !hasItemChildren,
57
+ [`${innerClassName}--grid`]: !hasItemChildren,
58
+ [`${innerClassName}--flex`]: hasItemChildren,
59
+ [`${innerClassName}--no-gap`]: noGap,
60
+ [`${innerClassName}--no-col-gap`]: noColGap,
61
+ [`${innerClassName}--no-row-gap`]: noRowGap,
62
+ [`${innerClassName}-col-sm-${colsSm}`]: colsSm > 1 && !hasItemChildren,
63
+ [`${innerClassName}-col-md-${colsMd}`]: colsMd > 1 && !hasItemChildren,
64
+ [`${innerClassName}-col-lg-${colsLg}`]: colsLg > 1 && !hasItemChildren,
60
65
  },
61
66
  ]);
62
67
 
63
68
  return (
64
- <div className={classes} data-testid={dataTestId} {...props}>
65
- {hasItemChildren
66
- ? Children.map(gridItemChildren, ({ props: { children, ...colProps } }) => (
67
- <Item {...colProps} noColGap={noGap || noColGap}>
68
- {children}
69
- </Item>
70
- ))
71
- : children}
69
+ <div className={containerClasses} data-testid={dataTestId} {...props}>
70
+ <div className={classes}>
71
+ {hasItemChildren
72
+ ? Children.map(gridItemChildren, ({ props: { children, ...colProps } }) => (
73
+ <Item {...colProps} noColGap={noGap || noColGap}>
74
+ {children}
75
+ </Item>
76
+ ))
77
+ : children}
78
+ </div>
72
79
  </div>
73
80
  );
74
81
  };