{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/header/index.tsx","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,+BAA+B,CAAC;AACrD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAkBxD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;KAC/B,UAAU,EAAoB;KAC9B,QAAQ,EAAkB,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE;IAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,CACN,gBAAQ,GAAG,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,aAAK,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAC,MAAM;YACjE,aAAK,OAAO,EAAE,OAAO,CAAC,GAAG;gBACxB,aAAK,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAC,SAAS;oBAC1C,OAAO,IAAI,aAAK,OAAO,EAAE,OAAO,CAAC,OAAO,IAAG,OAAO,CAAO;oBAC1D,aAAK,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAC,OAAO,IACtC,KAAK,IAAI,KAAK,CACV,CACD;gBACN,aAAK,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAC,WAAW;oBAC/C,aAAK,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAC,SAAS,IAC1C,OAAO;wBACP,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9D,aAAK,OAAO,EAAE,OAAO,CAAC,MAAM,IAAG,MAAM,CAAO,CAC5C,CAAC,CACE;oBACL,QAAQ,IAAI,aAAK,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAG,QAAQ,CAAO,CACxD,CACD,CACD,CACE,CACT,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC","sourcesContent":["import * as css from '../theme/default/header.m.css';\nimport theme from '../middleware/theme';\nimport { RenderResult } from '@dojo/framework/core/interfaces';\nimport { create, tsx } from '@dojo/framework/core/vdom';\n\nexport interface HeaderProperties {\n\t/** Determines if this header is fixed */\n\tsticky?: boolean;\n}\n\nexport type HeaderChildren = {\n\t/** Renderer for leading elements like icons */\n\tleading?: RenderResult;\n\t/** Renderer for the header title */\n\ttitle: RenderResult;\n\t/** Renderer for header actions like links */\n\tactions?: RenderResult;\n\t/** Renderer for trailing elements like search inputs */\n\ttrailing?: RenderResult;\n};\n\nconst factory = create({ theme })\n\t.properties<HeaderProperties>()\n\t.children<HeaderChildren>();\n\nexport const Header = factory(function Header({ children, properties, middleware: { theme } }) {\n\tconst classes = theme.classes(css);\n\tconst { sticky } = properties();\n\tconst { actions, leading, title, trailing } = children()[0];\n\n\treturn (\n\t\t<header key=\"header\" classes={[theme.variant(), sticky ? classes.spacer : undefined]}>\n\t\t\t<div classes={[classes.root, sticky && classes.sticky]} key=\"root\">\n\t\t\t\t<div classes={classes.row}>\n\t\t\t\t\t<div classes={classes.primary} key=\"primary\">\n\t\t\t\t\t\t{leading && <div classes={classes.leading}>{leading}</div>}\n\t\t\t\t\t\t<div classes={classes.title} key=\"title\">\n\t\t\t\t\t\t\t{title && title}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div classes={classes.secondary} key=\"secondary\">\n\t\t\t\t\t\t<nav classes={classes.actions} key=\"actions\">\n\t\t\t\t\t\t\t{actions &&\n\t\t\t\t\t\t\t\t(Array.isArray(actions) ? actions : [actions]).map((action) => (\n\t\t\t\t\t\t\t\t\t<div classes={classes.action}>{action}</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</nav>\n\t\t\t\t\t\t{trailing && <div classes={classes.trailing}>{trailing}</div>}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</header>\n\t);\n});\n\nexport default Header;\n"]}