@drivy/cobalt 0.45.0 → 0.45.1

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.
@@ -2,7 +2,7 @@ import { nanoid } from 'nanoid';
2
2
  import React, { Children, cloneElement, isValidElement } from 'react';
3
3
  import cx from 'classnames';
4
4
 
5
- const LayoutStackItem = ({ children, isTable, className, ...props }) => {
5
+ const LayoutStackItem = ({ children, isTable, className, isTableHeader: _isTableHeader, ...props }) => {
6
6
  const Comp = isTable ? "tr" : "div";
7
7
  return (React.createElement(Comp, { className: cx("cobalt-layout-stack__item", className), ...props }, children));
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutStack.js","sources":["../../../../src/components/Layout/Components/LayoutStack.tsx"],"sourcesContent":["import { nanoid } from \"nanoid\"\nimport React, { Children, isValidElement, cloneElement } from \"react\"\nimport cx from \"classnames\"\n\ntype LayoutStackPropsType =\n | (React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode\n isTable: never\n isPageHeader: never\n })\n | (React.HTMLAttributes<HTMLTableElement> & {\n children: React.ReactNode\n isPageHeader?: boolean\n isTable?: boolean\n })\n\ntype LayoutStackItemPropsType =\n | (React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode\n isTable: never\n isTableHeader: never\n })\n | (React.HTMLAttributes<HTMLTableRowElement> & {\n children: React.ReactNode\n isTable?: boolean\n isTableHeader?: boolean\n })\n\ntype LayoutStackLinkItemPropsType =\n React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n children: React.ReactNode\n }\n\nconst LayoutStackItem = ({\n children,\n isTable,\n className,\n ...props\n}: LayoutStackItemPropsType) => {\n const Comp = isTable ? \"tr\" : \"div\"\n return (\n <Comp className={cx(\"cobalt-layout-stack__item\", className)} {...props}>\n {children}\n </Comp>\n )\n}\n\nconst LayoutStackLinkItem = ({\n children,\n className,\n ...hyperlinkProps\n}: LayoutStackLinkItemPropsType) => {\n return (\n <a\n className={cx(\"cobalt-layout-stack__item\", className)}\n {...hyperlinkProps}\n >\n {children}\n </a>\n )\n}\n\nconst isStackItem = (\n child: React.ReactNode\n): child is React.ReactElement<Omit<LayoutStackItemPropsType, \"children\">> => {\n return (\n isValidElement(child) &&\n (child.type === LayoutStackItem || child.type === LayoutStackLinkItem)\n )\n}\n\nconst LayoutStack = ({\n children,\n isTable,\n isPageHeader,\n className,\n ...props\n}: LayoutStackPropsType) => {\n const classNames = cx(\n \"cobalt-layout-stack\",\n {\n \"cobalt-layout--isPageHeader\": isPageHeader,\n },\n className\n )\n if (isTable) {\n const headerElements: React.ReactElement[] = []\n const bodyElements: React.ReactElement[] = []\n Children.map(children, (child) => {\n if (isStackItem(child)) {\n const newChild = cloneElement(child, { isTable: true, key: nanoid() })\n if (newChild.props.isTableHeader) {\n headerElements.push(newChild)\n } else {\n bodyElements.push(newChild)\n }\n }\n return child\n })\n return (\n <table className={classNames} {...props}>\n {!!headerElements.length && <thead>{headerElements}</thead>}\n <tbody>{bodyElements}</tbody>\n </table>\n )\n } else {\n return (\n <div className={classNames} {...props}>\n {children}\n </div>\n )\n }\n}\n\nLayoutStack.Item = LayoutStackItem\n\nLayoutStack.LinkItem = LayoutStackLinkItem\n\nexport default LayoutStack\n"],"names":[],"mappings":";;;;AAiCA,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACiB,KAAI;IAC7B,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,CAAA;AACnC,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,EAAM,GAAA,KAAK,IACnE,QAAQ,CACJ,EACR;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,cAAc,EACY,KAAI;AACjC,IAAA,QACE,KACE,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,KACjD,cAAc,EAAA,EAEjB,QAAQ,CACP,EACL;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAClB,KAAsB,KACqD;AAC3E,IAAA,QACE,cAAc,CAAC,KAAK,CAAC;AACrB,SAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,EACvE;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACa,KAAI;AACzB,IAAA,MAAM,UAAU,GAAG,EAAE,CACnB,qBAAqB,EACrB;AACE,QAAA,6BAA6B,EAAE,YAAY;KAC5C,EACD,SAAS,CACV,CAAA;IACD,IAAI,OAAO,EAAE;QACX,MAAM,cAAc,GAAyB,EAAE,CAAA;QAC/C,MAAM,YAAY,GAAyB,EAAE,CAAA;QAC7C,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;AAC/B,YAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;AACtB,gBAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;AACtE,gBAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;AAChC,oBAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBAC9B;qBAAM;AACL,oBAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBAC5B;aACF;AACD,YAAA,OAAO,KAAK,CAAA;AACd,SAAC,CAAC,CAAA;AACF,QAAA,QACE,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,SAAS,EAAE,UAAU,KAAM,KAAK,EAAA;AACpC,YAAA,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,cAAc,CAAS;AAC3D,YAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,YAAY,CAAS,CACvB,EACT;KACF;SAAM;QACL,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,EAAM,GAAA,KAAK,EAClC,EAAA,QAAQ,CACL,EACP;KACF;AACH,EAAC;AAED,WAAW,CAAC,IAAI,GAAG,eAAe,CAAA;AAElC,WAAW,CAAC,QAAQ,GAAG,mBAAmB;;;;"}
1
+ {"version":3,"file":"LayoutStack.js","sources":["../../../../src/components/Layout/Components/LayoutStack.tsx"],"sourcesContent":["import { nanoid } from \"nanoid\"\nimport React, { Children, isValidElement, cloneElement } from \"react\"\nimport cx from \"classnames\"\n\ntype LayoutStackPropsType =\n | (React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode\n isTable: never\n isPageHeader: never\n })\n | (React.HTMLAttributes<HTMLTableElement> & {\n children: React.ReactNode\n isPageHeader?: boolean\n isTable?: boolean\n })\n\ntype LayoutStackItemPropsType =\n | (React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode\n isTable: never\n isTableHeader: never\n })\n | (React.HTMLAttributes<HTMLTableRowElement> & {\n children: React.ReactNode\n isTable?: boolean\n isTableHeader?: boolean\n })\n\ntype LayoutStackLinkItemPropsType =\n React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n children: React.ReactNode\n }\n\nconst LayoutStackItem = ({\n children,\n isTable,\n className,\n isTableHeader: _isTableHeader,\n ...props\n}: LayoutStackItemPropsType) => {\n const Comp = isTable ? \"tr\" : \"div\"\n return (\n <Comp className={cx(\"cobalt-layout-stack__item\", className)} {...props}>\n {children}\n </Comp>\n )\n}\n\nconst LayoutStackLinkItem = ({\n children,\n className,\n ...hyperlinkProps\n}: LayoutStackLinkItemPropsType) => {\n return (\n <a\n className={cx(\"cobalt-layout-stack__item\", className)}\n {...hyperlinkProps}\n >\n {children}\n </a>\n )\n}\n\nconst isStackItem = (\n child: React.ReactNode\n): child is React.ReactElement<Omit<LayoutStackItemPropsType, \"children\">> => {\n return (\n isValidElement(child) &&\n (child.type === LayoutStackItem || child.type === LayoutStackLinkItem)\n )\n}\n\nconst LayoutStack = ({\n children,\n isTable,\n isPageHeader,\n className,\n ...props\n}: LayoutStackPropsType) => {\n const classNames = cx(\n \"cobalt-layout-stack\",\n {\n \"cobalt-layout--isPageHeader\": isPageHeader,\n },\n className\n )\n if (isTable) {\n const headerElements: React.ReactElement[] = []\n const bodyElements: React.ReactElement[] = []\n Children.map(children, (child) => {\n if (isStackItem(child)) {\n const newChild = cloneElement(child, { isTable: true, key: nanoid() })\n if (newChild.props.isTableHeader) {\n headerElements.push(newChild)\n } else {\n bodyElements.push(newChild)\n }\n }\n return child\n })\n return (\n <table className={classNames} {...props}>\n {!!headerElements.length && <thead>{headerElements}</thead>}\n <tbody>{bodyElements}</tbody>\n </table>\n )\n } else {\n return (\n <div className={classNames} {...props}>\n {children}\n </div>\n )\n }\n}\n\nLayoutStack.Item = LayoutStackItem\n\nLayoutStack.LinkItem = LayoutStackLinkItem\n\nexport default LayoutStack\n"],"names":[],"mappings":";;;;AAiCA,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,aAAa,EAAE,cAAc,EAC7B,GAAG,KAAK,EACiB,KAAI;IAC7B,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,CAAA;AACnC,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,EAAM,GAAA,KAAK,IACnE,QAAQ,CACJ,EACR;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,cAAc,EACY,KAAI;AACjC,IAAA,QACE,KACE,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,KACjD,cAAc,EAAA,EAEjB,QAAQ,CACP,EACL;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAClB,KAAsB,KACqD;AAC3E,IAAA,QACE,cAAc,CAAC,KAAK,CAAC;AACrB,SAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,EACvE;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACa,KAAI;AACzB,IAAA,MAAM,UAAU,GAAG,EAAE,CACnB,qBAAqB,EACrB;AACE,QAAA,6BAA6B,EAAE,YAAY;KAC5C,EACD,SAAS,CACV,CAAA;IACD,IAAI,OAAO,EAAE;QACX,MAAM,cAAc,GAAyB,EAAE,CAAA;QAC/C,MAAM,YAAY,GAAyB,EAAE,CAAA;QAC7C,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;AAC/B,YAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;AACtB,gBAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;AACtE,gBAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;AAChC,oBAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBAC9B;qBAAM;AACL,oBAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBAC5B;aACF;AACD,YAAA,OAAO,KAAK,CAAA;AACd,SAAC,CAAC,CAAA;AACF,QAAA,QACE,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,SAAS,EAAE,UAAU,KAAM,KAAK,EAAA;AACpC,YAAA,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,cAAc,CAAS;AAC3D,YAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,YAAY,CAAS,CACvB,EACT;KACF;SAAM;QACL,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,EAAM,GAAA,KAAK,EAClC,EAAA,QAAQ,CACL,EACP;KACF;AACH,EAAC;AAED,WAAW,CAAC,IAAI,GAAG,eAAe,CAAA;AAElC,WAAW,CAAC,QAAQ,GAAG,mBAAmB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drivy/cobalt",
3
- "version": "0.45.0",
3
+ "version": "0.45.1",
4
4
  "description": "Opinionated design system for Drivy's projects.",
5
5
  "main": "src/index.js",
6
6
  "types": "types/src/index.d.ts",
@@ -22,7 +22,7 @@ type LayoutStackLinkItemPropsType = React.AnchorHTMLAttributes<HTMLAnchorElement
22
22
  };
23
23
  declare const LayoutStack: {
24
24
  ({ children, isTable, isPageHeader, className, ...props }: LayoutStackPropsType): React.JSX.Element;
25
- Item: ({ children, isTable, className, ...props }: LayoutStackItemPropsType) => React.JSX.Element;
25
+ Item: ({ children, isTable, className, isTableHeader: _isTableHeader, ...props }: LayoutStackItemPropsType) => React.JSX.Element;
26
26
  LinkItem: ({ children, className, ...hyperlinkProps }: LayoutStackLinkItemPropsType) => React.JSX.Element;
27
27
  };
28
28
  export default LayoutStack;