{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/floating-action-button/index.tsx","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,MAA4B,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,uBAAuB,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAmBxC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAkC,CAAC;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,oBAAoB,CAAC,EACzE,UAAU,EACV,QAAQ,EACR,UAAU,EAAE,EAAE,KAAK,EAAE,EACrB;IACA,MAAM,iBAAsD,EAAtD,EAAE,IAAI,GAAG,QAAQ,EAAE,QAAQ,OAA2B,EAAzB,gDAAyB,CAAC;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEvD,IAAI,aAAiC,CAAC;IACtC,QAAQ,QAAQ,EAAE;QACjB,KAAK,aAAa;YACjB,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACnC,MAAM;QACP,KAAK,cAAc;YAClB,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;YACpC,MAAM;QACP,KAAK,eAAe;YACnB,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,MAAM;QACP,KAAK,aAAa;YACjB,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;YACnC,MAAM;QACP,KAAK,cAAc;YAClB,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;YACpC,MAAM;QACP,KAAK,UAAU;YACd,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,MAAM;QACP,KAAK,WAAW;YACf,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,MAAM;QACP,KAAK,YAAY;YAChB,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,MAAM;KACP;IAED,OAAO,CACN,IAAC,MAAM,oBACF,KAAK,IACT,KAAK,EAAE,KAAK,CAAC,OAAO,CACnB,SAAS,EACT,uBAAuB,CACvB,EACD,OAAO,EAAE;YACR,sBAAsB,EAAE;gBACvB,IAAI,EAAE;oBACL,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ;oBACvC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK;oBACjC,aAAa;iBACb;aACD;SACD,KAEA;QACA,KAAK,EAAE,CACN;YACC,cAAM,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAI;YAC9C,QAAQ,EAAE,CACF,CACV;KACD,CACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC","sourcesContent":["import { create, tsx } from '@dojo/framework/core/vdom';\nimport Button, { ButtonProperties } from '../button/index';\nimport * as floatingActionButtonCss from '../theme/default/floating-action-button.m.css';\nimport * as buttonCss from '../theme/default/button.m.css';\nimport theme from '../middleware/theme';\n\n// floating actions do not support a `kind`\nexport interface FloatingActionButtonProperties extends Omit<ButtonProperties, 'kind'> {\n\t/** Sets size of the button to small, normal, or extended. Defaults to normal */\n\tsize?: 'small' | 'normal' | 'extended';\n\t/** Fixed position for button */\n\tposition?: FloatingActionButtonPositions;\n}\nexport type FloatingActionButtonPositions =\n\t| 'bottom-right'\n\t| 'bottom-center'\n\t| 'bottom-left'\n\t| 'left-center'\n\t| 'right-center'\n\t| 'top-left'\n\t| 'top-center'\n\t| 'top-right';\n\nconst factory = create({ theme }).properties<FloatingActionButtonProperties>();\n\nexport const FloatingActionButton = factory(function FloatingActionButton({\n\tproperties,\n\tchildren,\n\tmiddleware: { theme }\n}) {\n\tconst { size = 'normal', position, ...props } = properties();\n\tconst classes = theme.classes(floatingActionButtonCss);\n\n\tlet positionClass: string | undefined;\n\tswitch (position) {\n\t\tcase 'bottom-left':\n\t\t\tpositionClass = classes.bottomLeft;\n\t\t\tbreak;\n\t\tcase 'bottom-right':\n\t\t\tpositionClass = classes.bottomRight;\n\t\t\tbreak;\n\t\tcase 'bottom-center':\n\t\t\tpositionClass = classes.bottomCenter;\n\t\t\tbreak;\n\t\tcase 'left-center':\n\t\t\tpositionClass = classes.leftCenter;\n\t\t\tbreak;\n\t\tcase 'right-center':\n\t\t\tpositionClass = classes.rightCenter;\n\t\t\tbreak;\n\t\tcase 'top-left':\n\t\t\tpositionClass = classes.topLeft;\n\t\t\tbreak;\n\t\tcase 'top-right':\n\t\t\tpositionClass = classes.topRight;\n\t\t\tbreak;\n\t\tcase 'top-center':\n\t\t\tpositionClass = classes.topCenter;\n\t\t\tbreak;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\t{...props}\n\t\t\ttheme={theme.compose(\n\t\t\t\tbuttonCss,\n\t\t\t\tfloatingActionButtonCss\n\t\t\t)}\n\t\t\tclasses={{\n\t\t\t\t'@dojo/widgets/button': {\n\t\t\t\t\troot: [\n\t\t\t\t\t\tsize === 'extended' && classes.extended,\n\t\t\t\t\t\tsize === 'small' && classes.small,\n\t\t\t\t\t\tpositionClass\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{{\n\t\t\t\tlabel: (\n\t\t\t\t\t<virtual>\n\t\t\t\t\t\t<span aria=\"hidden\" classes={classes.effect} />\n\t\t\t\t\t\t{children()}\n\t\t\t\t\t</virtual>\n\t\t\t\t)\n\t\t\t}}\n\t\t</Button>\n\t);\n});\n\nexport default FloatingActionButton;\n"]}