@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
|
@@ -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;
|