{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/result/index.tsx","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,+BAA+B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AACvD,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B,IAAK,UAKJ;AALD,WAAK,UAAU;IACd,iCAAmB,CAAA;IACnB,kCAAoB,CAAA;IACpB,+BAAiB,CAAA;IACjB,wCAA0B,CAAA;AAC3B,CAAC,EALI,UAAU,KAAV,UAAU,QAKd;AAiBD,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;KAC/B,UAAU,EAAoB;KAC9B,QAAQ,EAA8B,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE;IAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IACnE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAK,EAAqB,CAAC;IAEjF,OAAO,CACN,aAAK,GAAG,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;QACvD,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CACpB,aACC,GAAG,EAAC,aAAa,EACjB,OAAO,EAAE;gBACR,QAAQ,CAAC,WAAW;gBACpB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;gBAChC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;aAC5C,IAEA,IAAI,CAAC,CAAC,CAAC,CACP,IAAI,CACJ,CAAC,CAAC,CAAC,CACH,IAAC,IAAI,IACJ,GAAG,EAAC,MAAM,EACV,IAAI,EAAE,UAAU,CAAC,MAAsB,CAAC,EACxC,KAAK,EAAE,KAAK,CAAC,OAAO,CACnB,OAAO,EACP,GAAG,EACH,MAAM,CACN,EACD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GACf,CACF,CACI,CACN;QACA,KAAK,IAAI,CACT,aAAK,OAAO,EAAE,QAAQ,CAAC,YAAY;YACjC,YAAI,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAG,KAAK,CAAM;YACzC,QAAQ,IAAI,YAAI,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAG,QAAQ,CAAM,CACvD,CACN;QACA,OAAO,IAAI,aAAK,OAAO,EAAE,QAAQ,CAAC,cAAc,IAAG,OAAO,CAAO;QACjE,aAAa,IAAI,CACjB,aAAK,GAAG,EAAC,SAAS,EAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAC1C,aAAa,IAAI,aAAK,OAAO,EAAE,QAAQ,CAAC,aAAa,IAAG,aAAa,CAAO,CACxE,CACN,CACI,CACN,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC","sourcesContent":["import { RenderResult } from '@dojo/framework/core/interfaces';\nimport { create, tsx } from '@dojo/framework/core/vdom';\n\nimport theme from '../middleware/theme';\nimport * as css from '../theme/default/result.m.css';\nimport * as iconCss from '../theme/default/icon.m.css';\nimport Icon from '../icon';\n\ntype ResultStatus = 'alert' | 'error' | 'info' | 'success';\n\nenum StatusIcon {\n\talert = 'alertIcon',\n\terror = 'cancelIcon',\n\tinfo = 'infoIcon',\n\tsuccess = 'checkedBoxIcon'\n}\n\nexport interface ResultProperties {\n\t/* Title for the result */\n\ttitle?: string;\n\t/* A subtitle for the result */\n\tsubtitle?: string;\n\t/* The result status. Applies appropriate icon and color. */\n\tstatus?: ResultStatus;\n}\n\nexport interface ResultChildren {\n\ticon?: RenderResult;\n\tcontent?: RenderResult;\n\tactionButtons?: RenderResult;\n}\n\nconst factory = create({ theme })\n\t.properties<ResultProperties>()\n\t.children<ResultChildren | undefined>();\n\nexport const Result = factory(function Result({ children, properties, middleware: { theme } }) {\n\tconst themeCss = theme.classes(css);\n\tconst { title, subtitle, status, classes, variant } = properties();\n\tconst { actionButtons, content, icon } = children()[0] || ({} as ResultChildren);\n\n\treturn (\n\t\t<div key=\"root\" classes={[theme.variant(), themeCss.root]}>\n\t\t\t{(icon || status) && (\n\t\t\t\t<div\n\t\t\t\t\tkey=\"iconWrapper\"\n\t\t\t\t\tclasses={[\n\t\t\t\t\t\tthemeCss.iconWrapper,\n\t\t\t\t\t\tstatus ? themeCss[status] : null,\n\t\t\t\t\t\tstatus && !icon ? themeCss.statusIcon : null\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{icon ? (\n\t\t\t\t\t\ticon\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\t\ttype={StatusIcon[status as ResultStatus]}\n\t\t\t\t\t\t\ttheme={theme.compose(\n\t\t\t\t\t\t\t\ticonCss,\n\t\t\t\t\t\t\t\tcss,\n\t\t\t\t\t\t\t\t'icon'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tclasses={classes}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{title && (\n\t\t\t\t<div classes={themeCss.titleWrapper}>\n\t\t\t\t\t{<h2 classes={themeCss.title}>{title}</h2>}\n\t\t\t\t\t{subtitle && <h3 classes={themeCss.subtitle}>{subtitle}</h3>}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{content && <div classes={themeCss.contentWrapper}>{content}</div>}\n\t\t\t{actionButtons && (\n\t\t\t\t<div key=\"actions\" classes={themeCss.actions}>\n\t\t\t\t\t{actionButtons && <div classes={themeCss.actionButtons}>{actionButtons}</div>}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n\nexport default Result;\n"]}