UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

1 lines 3.93 kB
{"version":3,"file":"page.cjs","names":["variants: { [key: string]: Variants }","Page: FC<PageProps>","useLoadingComponent","motion","isValidElement","Text"],"sources":["../../../../src/components/loading/page.tsx"],"sourcesContent":["import type { Variants } from \"motion/react\"\nimport type { FC } from \"react\"\nimport type { LoadingSharedProps } from \"./loading-provider\"\nimport { memo } from \"react\"\nimport { useTimeout } from \"../../hooks/use-timeout\"\nimport { isValidElement } from \"../../utils\"\nimport { motion } from \"../motion\"\nimport { Text } from \"../text\"\nimport { useLoadingComponent } from \"./use-loading-component\"\n\nconst variants: { [key: string]: Variants } = {\n overlay: {\n animate: {\n opacity: 1,\n transition: {\n duration: 0.4,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n exit: {\n opacity: 0,\n transition: {\n duration: 0.4,\n ease: [0.4, 0, 1, 1],\n },\n },\n initial: {\n opacity: 0,\n },\n },\n panel: {\n animate: {\n opacity: 1,\n scale: 1,\n transition: {\n duration: 0.4,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n exit: {\n opacity: 0,\n scale: 0.95,\n transition: {\n duration: 0.4,\n ease: [0.4, 0, 1, 1],\n },\n },\n initial: {\n opacity: 0,\n scale: 0.95,\n },\n },\n}\n\nexport interface PageProps extends LoadingSharedProps {}\n\nexport const Page: FC<PageProps> = memo(\n ({ duration, initial, loadingScheme, message, onFinish }) => {\n const Component = useLoadingComponent(loadingScheme)\n\n useTimeout(onFinish, duration)\n\n return (\n <motion.div\n data-loading\n alignItems=\"center\"\n animate=\"animate\"\n bg=\"bg.overlay\"\n display=\"flex\"\n exit=\"exit\"\n h=\"100dvh\"\n initial={initial}\n inset={0}\n justifyContent=\"center\"\n p=\"md\"\n position=\"fixed\"\n variants={variants.overlay}\n w=\"100vw\"\n zIndex=\"beerus\"\n >\n <motion.div\n alignItems=\"center\"\n animate=\"animate\"\n bg=\"bg.panel\"\n boxShadow=\"lg\"\n display=\"flex\"\n exit=\"exit\"\n flexDirection=\"column\"\n gap=\"sm\"\n initial={initial}\n justifyContent=\"center\"\n maxW=\"24rem\"\n p=\"md\"\n rounded=\"l2\"\n variants={variants.panel}\n >\n <Component fontSize=\"6xl\" />\n\n {message ? (\n isValidElement(message) ? (\n message\n ) : (\n <Text lineClamp={3}>{message}</Text>\n )\n ) : null}\n </motion.div>\n </motion.div>\n )\n },\n)\n\nPage.displayName = \"Page\"\n"],"mappings":";;;;;;;;;;;;AAUA,MAAMA,WAAwC;CAC5C,SAAS;EACP,SAAS;GACP,SAAS;GACT,YAAY;IACV,UAAU;IACV,MAAM;KAAC;KAAK;KAAG;KAAK;KAAE;IACvB;GACF;EACD,MAAM;GACJ,SAAS;GACT,YAAY;IACV,UAAU;IACV,MAAM;KAAC;KAAK;KAAG;KAAG;KAAE;IACrB;GACF;EACD,SAAS,EACP,SAAS,GACV;EACF;CACD,OAAO;EACL,SAAS;GACP,SAAS;GACT,OAAO;GACP,YAAY;IACV,UAAU;IACV,MAAM;KAAC;KAAK;KAAG;KAAK;KAAE;IACvB;GACF;EACD,MAAM;GACJ,SAAS;GACT,OAAO;GACP,YAAY;IACV,UAAU;IACV,MAAM;KAAC;KAAK;KAAG;KAAG;KAAE;IACrB;GACF;EACD,SAAS;GACP,SAAS;GACT,OAAO;GACR;EACF;CACF;AAID,MAAaC,wBACV,EAAE,UAAU,SAAS,eAAe,SAAS,eAAe;CAC3D,MAAM,YAAYC,kDAAoB,cAAc;AAEpD,4CAAW,UAAU,SAAS;AAE9B,QACE,2CAACC,uBAAO;EACN;EACA,YAAW;EACX,SAAQ;EACR,IAAG;EACH,SAAQ;EACR,MAAK;EACL,GAAE;EACO;EACT,OAAO;EACP,gBAAe;EACf,GAAE;EACF,UAAS;EACT,UAAU,SAAS;EACnB,GAAE;EACF,QAAO;YAEP,4CAACA,uBAAO;GACN,YAAW;GACX,SAAQ;GACR,IAAG;GACH,WAAU;GACV,SAAQ;GACR,MAAK;GACL,eAAc;GACd,KAAI;GACK;GACT,gBAAe;GACf,MAAK;GACL,GAAE;GACF,SAAQ;GACR,UAAU,SAAS;cAEnB,2CAAC,aAAU,UAAS,QAAQ,EAE3B,UACCC,gCAAe,QAAQ,GACrB,UAEA,2CAACC;IAAK,WAAW;cAAI;KAAe,GAEpC;IACO;GACF;EAGlB;AAED,KAAK,cAAc"}