@yamada-ui/loading
Version:
Yamada UI loading components
1 lines • 4.78 kB
Source Map (JSON)
{"version":3,"sources":["../src/loading.tsx"],"sourcesContent":["import type { CSSUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { IconProps } from \"@yamada-ui/icon\"\nimport {\n forwardRef,\n mergeVars,\n omitThemeProps,\n useComponentStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useMemo } from \"react\"\nimport { Audio } from \"./audio\"\nimport { Circles } from \"./circles\"\nimport { Dots } from \"./dots\"\nimport { Grid } from \"./grid\"\nimport { Oval } from \"./oval\"\nimport { Puff } from \"./puff\"\nimport { Rings } from \"./rings\"\n\ninterface ComponentProps extends Omit<IconProps, \"color\"> {\n color: string\n secondaryColor?: string\n}\n\ninterface LoadingOptions {\n /**\n * The variant of the Loading.\n *\n * @default 'oval'\n */\n variant?: \"audio\" | \"circles\" | \"dots\" | \"grid\" | \"oval\" | \"puff\" | \"rings\"\n /**\n * The CSS `dur` property.\n */\n duration?: IconProps[\"dur\"]\n /**\n * The CSS `color` property.\n *\n * @default 'primary'\n */\n secondaryColor?: CSSUIProps[\"color\"]\n}\n\nexport interface LoadingProps\n extends Omit<IconProps, \"variant\">,\n Pick<ThemeProps<\"Loading\">, \"colorScheme\">,\n LoadingOptions {}\n\n/**\n * `Loading` is a component displayed during waiting times, such as when data is being loaded.\n *\n * @see Docs https://yamada-ui.com/components/feedback/loading\n */\nexport const Loading = forwardRef<LoadingProps, \"svg\">((props, ref) => {\n const [\n { color, ...styles },\n { colorScheme, size = \"1em\", variant = \"oval\", ...mergedProps },\n ] = useComponentStyle(\"Loading\", props)\n const {\n className,\n color: colorProp,\n dur,\n duration,\n secondaryColor,\n ...rest\n } = omitThemeProps(mergedProps)\n\n const computedProps = useMemo<ComponentProps>(\n () => ({\n className: cx(\"ui-loading\", className),\n size,\n color: \"$color\",\n ...(secondaryColor ? { secondaryColor: \"$secondary-color\" } : {}),\n duration: duration ?? dur,\n __css: {\n ...styles,\n vars: mergeVars(styles.vars, [\n {\n name: \"color\",\n token: \"colors\",\n value:\n colorProp ??\n (color as string | undefined) ??\n `${colorScheme}.500`,\n },\n {\n name: \"secondary-color\",\n token: \"colors\",\n value: secondaryColor,\n },\n ]),\n },\n ...rest,\n }),\n [\n className,\n size,\n secondaryColor,\n duration,\n dur,\n styles,\n colorProp,\n color,\n colorScheme,\n rest,\n ],\n )\n\n switch (variant) {\n case \"grid\":\n return <Grid ref={ref} {...computedProps} />\n\n case \"audio\":\n return <Audio ref={ref} {...computedProps} />\n\n case \"dots\":\n return <Dots ref={ref} {...computedProps} />\n\n case \"puff\":\n return <Puff ref={ref} {...computedProps} />\n\n case \"rings\":\n return <Rings ref={ref} {...computedProps} />\n\n case \"circles\":\n return <Circles ref={ref} {...computedProps} />\n\n default:\n return <Oval ref={ref} {...computedProps} />\n }\n})\n\nLoading.displayName = \"Loading\"\nLoading.__ui__ = \"Loading\"\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,UAAU;AACnB,SAAS,eAAe;AAoGX;AAzDN,IAAM,UAAU,WAAgC,CAAC,OAAO,QAAQ;AACrE,QAAM;AAAA,IACJ,EAAE,OAAO,GAAG,OAAO;AAAA,IACnB,EAAE,aAAa,OAAO,OAAO,UAAU,QAAQ,GAAG,YAAY;AAAA,EAChE,IAAI,kBAAkB,WAAW,KAAK;AACtC,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,eAAe,WAAW;AAE9B,QAAM,gBAAgB;AAAA,IACpB,MAAG;AAnEP;AAmEW;AAAA,QACL,WAAW,GAAG,cAAc,SAAS;AAAA,QACrC;AAAA,QACA,OAAO;AAAA,QACP,GAAI,iBAAiB,EAAE,gBAAgB,mBAAmB,IAAI,CAAC;AAAA,QAC/D,UAAU,8BAAY;AAAA,QACtB,OAAO;AAAA,UACL,GAAG;AAAA,UACH,MAAM,UAAU,OAAO,MAAM;AAAA,YAC3B;AAAA,cACE,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QACE,qCACC,UADD,YAEA,GAAG,WAAW;AAAA,YAClB;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,GAAG;AAAA,MACL;AAAA;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,oBAAC,QAAK,KAAW,GAAG,eAAe;AAAA,IAE5C,KAAK;AACH,aAAO,oBAAC,SAAM,KAAW,GAAG,eAAe;AAAA,IAE7C,KAAK;AACH,aAAO,oBAAC,QAAK,KAAW,GAAG,eAAe;AAAA,IAE5C,KAAK;AACH,aAAO,oBAAC,QAAK,KAAW,GAAG,eAAe;AAAA,IAE5C,KAAK;AACH,aAAO,oBAAC,SAAM,KAAW,GAAG,eAAe;AAAA,IAE7C,KAAK;AACH,aAAO,oBAAC,WAAQ,KAAW,GAAG,eAAe;AAAA,IAE/C;AACE,aAAO,oBAAC,QAAK,KAAW,GAAG,eAAe;AAAA,EAC9C;AACF,CAAC;AAED,QAAQ,cAAc;AACtB,QAAQ,SAAS;","names":[]}