1import { h as generateUtilityClass, x as generateUtilityClasses, r as reactExports, y as useDefaultProps, j as jsxRuntimeExports, c as clsx, Z as capitalize, f as composeClasses, E as styled, Y as ButtonBase, a9 as rootShouldForwardProp, F as memoTheme, $ as createSimplePaletteValueFilter, P as PropTypes, X as createSvgIcon } from "./index-CmcbhX8j.js"; 2function getFabUtilityClass(slot) { 3 return generateUtilityClass("MuiFab", slot); 4} 5const fabClasses = generateUtilityClasses("MuiFab", ["root", "primary", "secondary", "extended", "circular", "focusVisible", "disabled", "colorInherit", "sizeSmall", "sizeMedium", "sizeLarge", "info", "error", "warning", "success"]); 6const useUtilityClasses = (ownerState) => { 7 const { 8 color, 9 variant, 10 classes, 11 size 12 } = ownerState; 13 const slots = { 14 root: ["root", variant, `size${capitalize(size)}`, color === "inherit" ? "colorInherit" : color] 15 }; 16 const composedClasses = composeClasses(slots, getFabUtilityClass, classes); 17 return { 18 ...classes, 19 // forward the focused, disabled, etc. classes to the ButtonBase 20 ...composedClasses 21 }; 22}; 23const FabRoot = styled(ButtonBase, { 24 name: "MuiFab", 25 slot: "Root", 26 shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes", 27 overridesResolver: (props, styles) => { 28 const { 29 ownerState 30 } = props; 31 return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.color === "inherit" && styles.colorInherit, styles[capitalize(ownerState.size)], styles[ownerState.color]]; 32 } 33})(memoTheme(({ 34 theme 35}) => { 36 var _a, _b; 37 return { 38 ...theme.typography.button, 39 minHeight: 36, 40 transition: theme.transitions.create(["background-color", "box-shadow", "border-color"], { 41 duration: theme.transitions.duration.short 42 }), 43 borderRadius: "50%", 44 padding: 0, 45 minWidth: 0, 46 width: 56, 47 height: 56, 48 zIndex: (theme.vars || theme).zIndex.fab, 49 boxShadow: (theme.vars || theme).shadows[6], 50 "&:active": { 51 boxShadow: (theme.vars || theme).shadows[12] 52 }, 53 color: theme.vars ? theme.vars.palette.grey[900] : (_b = (_a = theme.palette).getContrastText) == null ? void 0 : _b.call(_a, theme.palette.grey[300]), 54 backgroundColor: (theme.vars || theme).palette.grey[300], 55 "&:hover": { 56 backgroundColor: (theme.vars || theme).palette.grey.A100, 57 // Reset on touch devices, it doesn't add specificity 58 "@media (hover: none)": { 59 backgroundColor: (theme.vars || theme).palette.grey[300] 60 }, 61 textDecoration: "none" 62 }, 63 [`&.${fabClasses.focusVisible}`]: { 64 boxShadow: (theme.vars || theme).shadows[6] 65 }, 66 variants: [{ 67 props: { 68 size: "small" 69 }, 70 style: { 71 width: 40, 72 height: 40 73 } 74 }, { 75 props: { 76 size: "medium" 77 }, 78 style: { 79 width: 48, 80 height: 48 81 } 82 }, { 83 props: { 84 variant: "extended" 85 }, 86 style: { 87 borderRadius: 48 / 2, 88 padding: "0 16px", 89 width: "auto", 90 minHeight: "auto", 91 minWidth: 48, 92 height: 48 93 } 94 }, { 95 props: { 96 variant: "extended", 97 size: "small" 98 }, 99 style: { 100 width: "auto", 101 padding: "0 8px", 102 borderRadius: 34 / 2, 103 minWidth: 34, 104 height: 34 105 } 106 }, { 107 props: { 108 variant: "extended", 109 size: "medium" 110 }, 111 style: { 112 width: "auto", 113 padding: "0 16px", 114 borderRadius: 40 / 2, 115 minWidth: 40, 116 height: 40 117 } 118 }, { 119 props: { 120 color: "inherit" 121 }, 122 style: { 123 color: "inherit" 124 } 125 }] 126 }; 127}), memoTheme(({ 128 theme 129}) => ({ 130 variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["dark", "contrastText"])).map(([color]) => ({ 131 props: { 132 color 133 }, 134 style: { 135 color: (theme.vars || theme).palette[color].contrastText, 136 backgroundColor: (theme.vars || theme).palette[color].main, 137 "&:hover": { 138 backgroundColor: (theme.vars || theme).palette[color].dark, 139 // Reset on touch devices, it doesn't add specificity 140 "@media (hover: none)": { 141 backgroundColor: (theme.vars || theme).palette[color].main 142 } 143 } 144 } 145 }))] 146})), memoTheme(({ 147 theme 148}) => ({ 149 [`&.${fabClasses.disabled}`]: { 150 color: (theme.vars || theme).palette.action.disabled, 151 boxShadow: (theme.vars || theme).shadows[0], 152 backgroundColor: (theme.vars || theme).palette.action.disabledBackgroun
152d 153 } 154}))); 155const Fab = /* @__PURE__ */ reactExports.forwardRef(function Fab2(inProps, ref) { 156 const props = useDefaultProps({ 157 props: inProps, 158 name: "MuiFab" 159 }); 160 const { 161 children, 162 className, 163 color = "default", 164 component = "button", 165 disabled = false, 166 disableFocusRipple = false, 167 focusVisibleClassName, 168 size = "large", 169 variant = "circular", 170 ...other 171 } = props; 172 const ownerState = { 173 ...props, 174 color, 175 component, 176 disabled, 177 disableFocusRipple, 178 size, 179 variant 180 }; 181 const classes = useUtilityClasses(ownerState); 182 return /* @__PURE__ */ jsxRuntimeExports.jsx(FabRoot, { 183 className: clsx(classes.root, className), 184 component, 185 disabled, 186 focusRipple: !disableFocusRipple, 187 focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName), 188 ownerState, 189 ref, 190 ...other, 191 classes, 192 children 193 }); 194}); 195Fab.propTypes = { 196 // âââââââââââââââââââââââââââââââ Warning âââââââââââââââââââââââââââââââ 197 // â These PropTypes are generated from the TypeScript type definitions. â 198 // â To update them, edit the d.ts file and run `pnpm proptypes`. â 199 // âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 200 /** 201 * The content of the component. 202 */ 203 children: PropTypes.node, 204 /** 205 * Override or extend the styles applied to the component. 206 */ 207 classes: PropTypes.object, 208 /** 209 * @ignore 210 */ 211 className: PropTypes.string, 212 /** 213 * The color of the component. 214 * It supports both default and custom theme colors, which can be added as shown in the 215 * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). 216 * @default 'default' 217 */ 218 color: PropTypes.oneOfType([PropTypes.oneOf(["default", "error", "info", "inherit", "primary", "secondary", "success", "warning"]), PropTypes.string]), 219 /** 220 * The component used for the root node. 221 * Either a string to use a HTML element or a component. 222 */ 223 component: PropTypes.elementType, 224 /** 225 * If `true`, the component is disabled. 226 * @default false 227 */ 228 disabled: PropTypes.bool, 229 /** 230 * If `true`, the keyboard focus ripple is disabled. 231 * @default false 232 */ 233 disableFocusRipple: PropTypes.bool, 234 /** 235 * If `true`, the ripple effect is disabled. 236 */ 237 disableRipple: PropTypes.bool, 238 /** 239 * @ignore 240 */ 241 focusVisibleClassName: PropTypes.string, 242 /** 243 * The URL to link to when the button is clicked. 244 * If defined, an `a` element will be used as the root node. 245 */ 246 href: PropTypes.string, 247 /** 248 * The size of the component. 249 * `small` is equivalent to the dense button styling. 250 * @default 'large' 251 */ 252 size: PropTypes.oneOfType([PropTypes.oneOf(["small", "medium", "large"]), PropTypes.string]), 253 /** 254 * The system prop that allows defining system overrides as well as additional CSS styles. 255 */ 256 sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]), 257 /** 258 * The variant to use. 259 * @default 'circular' 260 */ 261 variant: PropTypes.oneOfType([PropTypes.oneOf(["circular", "extended"]), PropTypes.string]) 262};
263const AccessTime = createSvgIcon([/* @__PURE__ */ jsxRuntimeExports.jsx("path", { 264 d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8" 265}, "0"), /* @__PURE__ */ jsxRuntimeExports.jsx("path", { 266 d: "M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z" 267}, "1")], "AccessTime"); 268export { 269 AccessTime as A, 270 Fab as F 271}; 272//# sourceMappingURL=AccessTime-DXKwQnd9.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.