@mantine/core 7.10.1 → 7.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Avatar/Avatar.cjs +11 -6
- package/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/cjs/components/Avatar/get-initials/get-initials.cjs +13 -0
- package/cjs/components/Avatar/get-initials/get-initials.cjs.map +1 -0
- package/cjs/components/Avatar/get-initials-color/get-initials-color.cjs +35 -0
- package/cjs/components/Avatar/get-initials-color/get-initials-color.cjs.map +1 -0
- package/cjs/components/Burger/Burger.cjs +3 -1
- package/cjs/components/Burger/Burger.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs +4 -1
- package/cjs/components/Combobox/ComboboxFooter/ComboboxFooter.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs +4 -1
- package/cjs/components/Combobox/ComboboxHeader/ComboboxHeader.cjs.map +1 -1
- package/cjs/components/Pagination/Pagination.cjs +2 -1
- package/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.cjs +2 -0
- package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs +4 -0
- package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
- package/cjs/components/Select/Select.cjs +2 -1
- package/cjs/components/Select/Select.cjs.map +1 -1
- package/cjs/components/Spoiler/Spoiler.cjs +10 -3
- package/cjs/components/Spoiler/Spoiler.cjs.map +1 -1
- package/cjs/components/Stepper/Stepper.cjs +1 -0
- package/cjs/components/Stepper/Stepper.cjs.map +1 -1
- package/cjs/components/TagsInput/TagsInput.cjs +17 -11
- package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/cjs/components/Transition/Transition.cjs +6 -2
- package/cjs/components/Transition/Transition.cjs.map +1 -1
- package/cjs/components/Transition/use-transition.cjs +23 -6
- package/cjs/components/Transition/use-transition.cjs.map +1 -1
- package/cjs/core/Box/style-props/resolvers/border-resolver/border-resolver.cjs +1 -7
- package/cjs/core/Box/style-props/resolvers/border-resolver/border-resolver.cjs.map +1 -1
- package/cjs/core/factory/factory.cjs +7 -0
- package/cjs/core/factory/factory.cjs.map +1 -1
- package/cjs/core/factory/polymorphic-factory.cjs +7 -0
- package/cjs/core/factory/polymorphic-factory.cjs.map +1 -1
- package/esm/components/Avatar/Avatar.mjs +11 -6
- package/esm/components/Avatar/Avatar.mjs.map +1 -1
- package/esm/components/Avatar/get-initials/get-initials.mjs +11 -0
- package/esm/components/Avatar/get-initials/get-initials.mjs.map +1 -0
- package/esm/components/Avatar/get-initials-color/get-initials-color.mjs +33 -0
- package/esm/components/Avatar/get-initials-color/get-initials-color.mjs.map +1 -0
- package/esm/components/Burger/Burger.mjs +3 -1
- package/esm/components/Burger/Burger.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs +4 -1
- package/esm/components/Combobox/ComboboxFooter/ComboboxFooter.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs +4 -1
- package/esm/components/Combobox/ComboboxHeader/ComboboxHeader.mjs.map +1 -1
- package/esm/components/Pagination/Pagination.mjs +2 -1
- package/esm/components/Pagination/Pagination.mjs.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.mjs +2 -0
- package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs +4 -0
- package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs.map +1 -1
- package/esm/components/Select/Select.mjs +3 -2
- package/esm/components/Select/Select.mjs.map +1 -1
- package/esm/components/Spoiler/Spoiler.mjs +11 -4
- package/esm/components/Spoiler/Spoiler.mjs.map +1 -1
- package/esm/components/Stepper/Stepper.mjs +1 -0
- package/esm/components/Stepper/Stepper.mjs.map +1 -1
- package/esm/components/TagsInput/TagsInput.mjs +17 -11
- package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
- package/esm/components/Transition/Transition.mjs +6 -2
- package/esm/components/Transition/Transition.mjs.map +1 -1
- package/esm/components/Transition/use-transition.mjs +23 -6
- package/esm/components/Transition/use-transition.mjs.map +1 -1
- package/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs +1 -7
- package/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs.map +1 -1
- package/esm/core/factory/factory.mjs +7 -0
- package/esm/core/factory/factory.mjs.map +1 -1
- package/esm/core/factory/polymorphic-factory.mjs +7 -0
- package/esm/core/factory/polymorphic-factory.mjs.map +1 -1
- package/lib/components/ActionIcon/ActionIcon.d.ts +10 -0
- package/lib/components/Anchor/Anchor.d.ts +7 -0
- package/lib/components/AppShell/AppShellSection/AppShellSection.d.ts +6 -0
- package/lib/components/Avatar/Avatar.d.ts +15 -1
- package/lib/components/Avatar/get-initials/get-initials.d.ts +1 -0
- package/lib/components/Avatar/get-initials-color/get-initials-color.d.ts +2 -0
- package/lib/components/BackgroundImage/BackgroundImage.d.ts +6 -0
- package/lib/components/Badge/Badge.d.ts +7 -0
- package/lib/components/Burger/Burger.d.ts +3 -1
- package/lib/components/Button/Button.d.ts +10 -0
- package/lib/components/Card/Card.d.ts +9 -0
- package/lib/components/Card/CardSection/CardSection.d.ts +6 -0
- package/lib/components/Center/Center.d.ts +5 -0
- package/lib/components/CloseButton/CloseButton.d.ts +7 -0
- package/lib/components/ColorSwatch/ColorSwatch.d.ts +6 -0
- package/lib/components/Flex/Flex.d.ts +5 -0
- package/lib/components/Highlight/Highlight.d.ts +6 -0
- package/lib/components/Image/Image.d.ts +6 -0
- package/lib/components/Input/Input.d.ts +15 -0
- package/lib/components/InputBase/InputBase.d.ts +6 -0
- package/lib/components/Menu/Menu.d.ts +6 -0
- package/lib/components/Menu/MenuItem/MenuItem.d.ts +6 -0
- package/lib/components/NavLink/NavLink.d.ts +7 -0
- package/lib/components/Overlay/Overlay.d.ts +6 -0
- package/lib/components/Pagination/Pagination.d.ts +2 -0
- package/lib/components/Paper/Paper.d.ts +6 -0
- package/lib/components/Spoiler/Spoiler.d.ts +4 -0
- package/lib/components/TagsInput/TagsInput.d.ts +2 -0
- package/lib/components/Text/Text.d.ts +7 -0
- package/lib/components/Transition/Transition.d.ts +5 -1
- package/lib/components/Transition/use-transition.d.ts +3 -1
- package/lib/components/UnstyledButton/UnstyledButton.d.ts +5 -0
- package/lib/core/factory/factory.d.ts +7 -1
- package/lib/core/factory/index.d.ts +1 -1
- package/lib/core/factory/polymorphic-factory.d.ts +4 -1
- package/package.json +3 -3
- package/styles/Burger.css +2 -1
- package/styles/Burger.layer.css +2 -1
- package/styles.css +2 -1
- package/styles.layer.css +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-transition.mjs","sources":["../../../src/components/Transition/use-transition.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useDidUpdate, useReducedMotion } from '@mantine/hooks';\nimport { useMantineTheme } from '../../core';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n exitDuration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?: () => void;\n onExit?: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nexport function useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n}: UseTransition) {\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const [transitionStatus, setStatus] = useState<TransitionStatus>(mounted ? 'entered' : 'exited');\n const timeoutRef = useRef<number>(-1);\n const rafRef = useRef(-1);\n\n const handleStateChange = (shouldMount: boolean) => {\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n\n window.clearTimeout(timeoutRef.current);\n\n const newTransitionDuration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(newTransitionDuration);\n\n if (newTransitionDuration === 0) {\n typeof preHandler === 'function' && preHandler();\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n } else {\n // Make sure new status won't be set within the same frame as this would disrupt animation #3126\n rafRef.current = requestAnimationFrame(() => {\n ReactDOM.flushSync(() => {\n setStatus(shouldMount ? 'pre-entering' : 'pre-exiting');\n });\n\n rafRef.current = requestAnimationFrame(() => {\n typeof preHandler === 'function' && preHandler();\n setStatus(shouldMount ? 'entering' : 'exiting');\n\n timeoutRef.current = window.setTimeout(() => {\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n }, newTransitionDuration);\n });\n });\n }\n };\n\n useDidUpdate(() => {\n handleStateChange(mounted);\n }, [mounted]);\n\n useEffect(\n () => () => {\n window.clearTimeout(timeoutRef.current);\n cancelAnimationFrame(rafRef.current);\n },\n []\n );\n\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || 'ease',\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-transition.mjs","sources":["../../../src/components/Transition/use-transition.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useDidUpdate, useReducedMotion } from '@mantine/hooks';\nimport { useMantineTheme } from '../../core';\n\nexport type TransitionStatus =\n | 'entered'\n | 'exited'\n | 'entering'\n | 'exiting'\n | 'pre-exiting'\n | 'pre-entering';\n\ninterface UseTransition {\n duration: number;\n exitDuration: number;\n timingFunction: string;\n mounted: boolean;\n onEnter?: () => void;\n onExit?: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n enterDelay?: number;\n exitDelay?: number;\n}\n\nexport function useTransition({\n duration,\n exitDuration,\n timingFunction,\n mounted,\n onEnter,\n onExit,\n onEntered,\n onExited,\n enterDelay,\n exitDelay,\n}: UseTransition) {\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const [transitionDuration, setTransitionDuration] = useState(reduceMotion ? 0 : duration);\n const [transitionStatus, setStatus] = useState<TransitionStatus>(mounted ? 'entered' : 'exited');\n const transitionTimeoutRef = useRef<number>(-1);\n const delayTimeoutRef = useRef<number>(-1);\n const rafRef = useRef(-1);\n\n const handleStateChange = (shouldMount: boolean) => {\n const preHandler = shouldMount ? onEnter : onExit;\n const handler = shouldMount ? onEntered : onExited;\n\n window.clearTimeout(transitionTimeoutRef.current);\n\n const newTransitionDuration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;\n setTransitionDuration(newTransitionDuration);\n\n if (newTransitionDuration === 0) {\n typeof preHandler === 'function' && preHandler();\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n } else {\n // Make sure new status won't be set within the same frame as this would disrupt animation #3126\n rafRef.current = requestAnimationFrame(() => {\n ReactDOM.flushSync(() => {\n setStatus(shouldMount ? 'pre-entering' : 'pre-exiting');\n });\n\n rafRef.current = requestAnimationFrame(() => {\n typeof preHandler === 'function' && preHandler();\n setStatus(shouldMount ? 'entering' : 'exiting');\n\n transitionTimeoutRef.current = window.setTimeout(() => {\n typeof handler === 'function' && handler();\n setStatus(shouldMount ? 'entered' : 'exited');\n }, newTransitionDuration);\n });\n });\n }\n };\n\n const handleTransitionWithDelay = (shouldMount: boolean) => {\n window.clearTimeout(delayTimeoutRef.current);\n const delay = shouldMount ? enterDelay : exitDelay;\n\n if (typeof delay !== 'number') {\n handleStateChange(shouldMount);\n return;\n }\n\n delayTimeoutRef.current = window.setTimeout(\n () => {\n handleStateChange(shouldMount);\n },\n shouldMount ? enterDelay : exitDelay\n );\n };\n\n useDidUpdate(() => {\n handleTransitionWithDelay(mounted);\n }, [mounted]);\n\n useEffect(\n () => () => {\n window.clearTimeout(transitionTimeoutRef.current);\n cancelAnimationFrame(rafRef.current);\n },\n []\n );\n\n return {\n transitionDuration,\n transitionStatus,\n transitionTimingFunction: timingFunction || 'ease',\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,6 @@ import { rem } from '../../../../utils/units-converters/rem.mjs';
|
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import '@mantine/hooks';
|
|
6
|
-
import { colorsTuple } from '../../../../MantineProvider/color-functions/colors-tuple/colors-tuple.mjs';
|
|
7
|
-
import '../../../../MantineProvider/Mantine.context.mjs';
|
|
8
|
-
import '../../../../MantineProvider/default-theme.mjs';
|
|
9
|
-
import '../../../../MantineProvider/MantineProvider.mjs';
|
|
10
|
-
import '../../../../MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';
|
|
11
|
-
import '../../../../MantineProvider/MantineCssVariables/MantineCssVariables.mjs';
|
|
12
6
|
import { colorResolver } from '../color-resolver/color-resolver.mjs';
|
|
13
7
|
|
|
14
8
|
function borderResolver(value, theme) {
|
|
@@ -19,7 +13,7 @@ function borderResolver(value, theme) {
|
|
|
19
13
|
const [size, style, ...colorTuple] = value.split(" ").filter((val) => val.trim() !== "");
|
|
20
14
|
let result = `${rem(size)}`;
|
|
21
15
|
style && (result += ` ${style}`);
|
|
22
|
-
|
|
16
|
+
colorTuple.length > 0 && (result += ` ${colorResolver(colorTuple.join(" "), theme)}`);
|
|
23
17
|
return result.trim();
|
|
24
18
|
}
|
|
25
19
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"border-resolver.mjs","sources":["../../../../../../src/core/Box/style-props/resolvers/border-resolver/border-resolver.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"border-resolver.mjs","sources":["../../../../../../src/core/Box/style-props/resolvers/border-resolver/border-resolver.ts"],"sourcesContent":["import { MantineTheme } from '../../../../MantineProvider';\nimport { rem } from '../../../../utils';\nimport { colorResolver } from '../color-resolver/color-resolver';\n\nexport function borderResolver(value: unknown, theme: MantineTheme) {\n if (typeof value === 'number') {\n return rem(value);\n }\n\n if (typeof value === 'string') {\n const [size, style, ...colorTuple] = value.split(' ').filter((val) => val.trim() !== '');\n let result = `${rem(size)}`;\n style && (result += ` ${style}`);\n colorTuple.length > 0 && (result += ` ${colorResolver(colorTuple.join(' '), theme)}`);\n return result.trim();\n }\n\n return value;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
3
|
import { forwardRef } from 'react';
|
|
3
4
|
|
|
4
5
|
function identity(value) {
|
|
@@ -7,6 +8,12 @@ function identity(value) {
|
|
|
7
8
|
function factory(ui) {
|
|
8
9
|
const Component = forwardRef(ui);
|
|
9
10
|
Component.extend = identity;
|
|
11
|
+
Component.withProps = (fixedProps) => {
|
|
12
|
+
const Extended = forwardRef((props, ref) => /* @__PURE__ */ jsx(Component, { ...fixedProps, ...props, ref }));
|
|
13
|
+
Extended.extend = Component.extend;
|
|
14
|
+
Extended.displayName = `WithProps(${Component.displayName})`;
|
|
15
|
+
return Extended;
|
|
16
|
+
};
|
|
10
17
|
return Component;
|
|
11
18
|
}
|
|
12
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.mjs","sources":["../../../src/core/factory/factory.
|
|
1
|
+
{"version":3,"file":"factory.mjs","sources":["../../../src/core/factory/factory.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { MantineThemeComponent } from '../MantineProvider';\nimport type { ClassNames, PartialVarsResolver, Styles } from '../styles-api';\n\nexport type DataAttributes = Record<`data-${string}`, any>;\n\nexport interface FactoryPayload {\n props: Record<string, any>;\n ctx?: any;\n ref?: any;\n stylesNames?: string;\n vars?: any;\n variant?: string;\n staticComponents?: Record<string, any>;\n // Compound components cannot have classNames, styles and vars on MantineProvider\n compound?: boolean;\n}\n\nexport interface ExtendCompoundComponent<Payload extends FactoryPayload> {\n defaultProps?: Partial<Payload['props']> & DataAttributes;\n}\n\nexport interface ExtendsRootComponent<Payload extends FactoryPayload> {\n defaultProps?: Partial<Payload['props']> & DataAttributes;\n classNames?: ClassNames<Payload>;\n styles?: Styles<Payload>;\n vars?: PartialVarsResolver<Payload>;\n}\n\nexport type ExtendComponent<Payload extends FactoryPayload> = Payload['compound'] extends true\n ? ExtendCompoundComponent<Payload>\n : ExtendsRootComponent<Payload>;\n\nexport type StaticComponents<Input> =\n Input extends Record<string, any> ? Input : Record<string, never>;\n\nexport interface ThemeExtend<Payload extends FactoryPayload> {\n extend: (input: ExtendComponent<Payload>) => MantineThemeComponent;\n}\n\nexport type ComponentClasses<Payload extends FactoryPayload> = {\n classes: Payload['stylesNames'] extends string ? Record<string, string> : never;\n};\n\nexport type MantineComponentStaticProperties<Payload extends FactoryPayload> =\n ThemeExtend<Payload> &\n ComponentClasses<Payload> &\n StaticComponents<Payload['staticComponents']> &\n FactoryComponentWithProps<Payload>;\n\nexport type FactoryComponentWithProps<Payload extends FactoryPayload> = {\n withProps: (props: Payload['props']) => React.ForwardRefExoticComponent<\n Payload['props'] &\n React.RefAttributes<Payload['ref']> & {\n component?: any;\n renderRoot?: (props: Record<string, any>) => React.ReactNode;\n }\n >;\n};\n\nexport type MantineComponent<Payload extends FactoryPayload> = React.ForwardRefExoticComponent<\n Payload['props'] &\n React.RefAttributes<Payload['ref']> & {\n component?: any;\n renderRoot?: (props: Record<string, any>) => React.ReactNode;\n }\n> &\n MantineComponentStaticProperties<Payload>;\n\nexport function identity<T>(value: T): T {\n return value;\n}\n\nexport function factory<Payload extends FactoryPayload>(\n ui: React.ForwardRefRenderFunction<Payload['ref'], Payload['props']>\n) {\n const Component = forwardRef(ui) as any;\n\n Component.extend = identity as any;\n Component.withProps = (fixedProps: any) => {\n const Extended = forwardRef((props, ref) => (\n <Component {...fixedProps} {...props} ref={ref as any} />\n )) as any;\n Extended.extend = Component.extend;\n Extended.displayName = `WithProps(${Component.displayName})`;\n return Extended;\n };\n\n return Component as MantineComponent<Payload>;\n}\n"],"names":[],"mappings":";;;;AAGO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAA,CAAA;AAChC,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAC;AACf,CAAC;AACM,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAE,CAAA,CAAA;AAC5B,CAAA,CAAE,MAAM,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,UAAU,CAAC,CAAA,CAAE,CAAC,CAAC;AACnC,CAAA,CAAE,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,QAAQ,CAAC;AAC9B,CAAA,CAAE,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAG,CAAA,CAAA,CAAC,UAAU,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACxC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAG,CAAA,CAAA,CAAC,SAAS,CAAE,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAE,CAAA,CAAA,CAAA,CAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAE,CAAC,CAAC,CAAC;AAClH,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,MAAM,CAAC;AACvC,CAAA,CAAA,CAAA,CAAI,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAC,CAAC,CAAC;AACjE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,QAAQ,CAAC;AACpB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,SAAS,CAAC;AACnB,CAAA;;"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
3
|
import { forwardRef } from 'react';
|
|
3
4
|
import { identity } from './factory.mjs';
|
|
4
5
|
|
|
5
6
|
function polymorphicFactory(ui) {
|
|
6
7
|
const Component = forwardRef(ui);
|
|
8
|
+
Component.withProps = (fixedProps) => {
|
|
9
|
+
const Extended = forwardRef((props, ref) => /* @__PURE__ */ jsx(Component, { ...fixedProps, ...props, ref }));
|
|
10
|
+
Extended.extend = Component.extend;
|
|
11
|
+
Extended.displayName = `WithProps(${Component.displayName})`;
|
|
12
|
+
return Extended;
|
|
13
|
+
};
|
|
7
14
|
Component.extend = identity;
|
|
8
15
|
return Component;
|
|
9
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymorphic-factory.mjs","sources":["../../../src/core/factory/polymorphic-factory.
|
|
1
|
+
{"version":3,"file":"polymorphic-factory.mjs","sources":["../../../src/core/factory/polymorphic-factory.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { PolymorphicComponentProps } from './create-polymorphic-component';\nimport {\n ComponentClasses,\n FactoryPayload,\n identity,\n StaticComponents,\n ThemeExtend,\n} from './factory';\n\nexport interface PolymorphicFactoryPayload extends FactoryPayload {\n defaultComponent: any;\n defaultRef: any;\n}\n\nexport type PolymorphicComponentWithProps<Payload extends PolymorphicFactoryPayload> = {\n withProps: <C = Payload['defaultComponent']>(\n fixedProps: PolymorphicComponentProps<C, Payload['props']>\n ) => <L = C>(props: PolymorphicComponentProps<L, Payload['props']>) => React.ReactElement;\n};\n\nexport function polymorphicFactory<Payload extends PolymorphicFactoryPayload>(\n ui: React.ForwardRefRenderFunction<Payload['defaultRef'], Payload['props']>\n) {\n type ComponentProps<C> = PolymorphicComponentProps<C, Payload['props']>;\n\n type _PolymorphicComponent = <C = Payload['defaultComponent']>(\n props: ComponentProps<C>\n ) => React.ReactElement;\n\n type ComponentProperties = Omit<React.FunctionComponent<ComponentProps<any>>, never>;\n\n type PolymorphicComponent = _PolymorphicComponent &\n ComponentProperties &\n ThemeExtend<Payload> &\n ComponentClasses<Payload> &\n PolymorphicComponentWithProps<Payload> &\n StaticComponents<Payload['staticComponents']>;\n\n const Component = forwardRef(ui) as unknown as PolymorphicComponent;\n Component.withProps = (fixedProps: any) => {\n const Extended = forwardRef((props, ref) => (\n <Component {...fixedProps} {...props} ref={ref as any} />\n )) as any;\n Extended.extend = Component.extend;\n Extended.displayName = `WithProps(${Component.displayName})`;\n return Extended;\n };\n\n Component.extend = identity as any;\n\n return Component as PolymorphicComponent;\n}\n"],"names":[],"mappings":";;;;;AAMO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAE,CAAE,CAAA,CAAA;AACvC,CAAA,CAAE,MAAM,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,UAAU,CAAC,CAAA,CAAE,CAAC,CAAC;AACnC,CAAA,CAAE,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAG,CAAA,CAAA,CAAC,UAAU,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACxC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAG,CAAA,CAAA,CAAC,SAAS,CAAE,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAE,CAAA,CAAA,CAAA,CAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAE,CAAC,CAAC,CAAC;AAClH,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,MAAM,CAAC;AACvC,CAAA,CAAA,CAAA,CAAI,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAC,CAAC,CAAC;AACjE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,QAAQ,CAAC;AACpB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,QAAQ,CAAC;AAC9B,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,SAAS,CAAC;AACnB,CAAA;;"}
|
|
@@ -67,6 +67,16 @@ export declare const ActionIcon: (<C = "button">(props: import("../../core").Pol
|
|
|
67
67
|
staticComponents: {
|
|
68
68
|
Group: typeof ActionIconGroup;
|
|
69
69
|
};
|
|
70
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
71
|
+
props: ActionIconProps;
|
|
72
|
+
defaultComponent: 'button';
|
|
73
|
+
defaultRef: HTMLButtonElement;
|
|
74
|
+
stylesNames: ActionIconStylesNames;
|
|
75
|
+
variant: ActionIconVariant;
|
|
76
|
+
vars: ActionIconCssVariables;
|
|
77
|
+
staticComponents: {
|
|
78
|
+
Group: typeof ActionIconGroup;
|
|
79
|
+
};
|
|
70
80
|
}> & {
|
|
71
81
|
Group: typeof ActionIconGroup;
|
|
72
82
|
};
|
|
@@ -37,4 +37,11 @@ export declare const Anchor: (<C = "a">(props: import("../../core").PolymorphicC
|
|
|
37
37
|
stylesNames: AnchorStylesNames;
|
|
38
38
|
vars: AnchorCssVariables;
|
|
39
39
|
variant: AnchorVariant;
|
|
40
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
41
|
+
props: AnchorProps;
|
|
42
|
+
defaultComponent: 'a';
|
|
43
|
+
defaultRef: HTMLAnchorElement;
|
|
44
|
+
stylesNames: AnchorStylesNames;
|
|
45
|
+
vars: AnchorCssVariables;
|
|
46
|
+
variant: AnchorVariant;
|
|
40
47
|
}> & Record<string, never>;
|
|
@@ -31,4 +31,10 @@ export declare const AppShellSection: (<C = "div">(props: import("../../../core"
|
|
|
31
31
|
defaultComponent: 'div';
|
|
32
32
|
stylesNames: AppShellSectionStylesNames;
|
|
33
33
|
compound: true;
|
|
34
|
+
}> & import("../../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
35
|
+
props: AppShellSectionProps;
|
|
36
|
+
defaultRef: HTMLDivElement;
|
|
37
|
+
defaultComponent: 'div';
|
|
38
|
+
stylesNames: AppShellSectionStylesNames;
|
|
39
|
+
compound: true;
|
|
34
40
|
}> & Record<string, never>;
|
|
@@ -11,7 +11,7 @@ export interface AvatarProps extends BoxProps, StylesApiProps<AvatarFactory> {
|
|
|
11
11
|
/** Key of `theme.radius` or any valid CSS value to set border-radius, `'100%'` by default */
|
|
12
12
|
radius?: MantineRadius;
|
|
13
13
|
/** Key of `theme.colors` or any valid CSS color, default value is `'gray'` */
|
|
14
|
-
color?: MantineColor;
|
|
14
|
+
color?: MantineColor | 'initials';
|
|
15
15
|
/** Gradient configuration used when `variant="gradient"`, default value is `theme.defaultGradient` */
|
|
16
16
|
gradient?: MantineGradient;
|
|
17
17
|
/** Image url, if the image cannot be loaded or `src={null}`, then placeholder is displayed instead */
|
|
@@ -24,6 +24,10 @@ export interface AvatarProps extends BoxProps, StylesApiProps<AvatarFactory> {
|
|
|
24
24
|
children?: React.ReactNode;
|
|
25
25
|
/** Determines whether text color with filled variant should depend on `background-color`. If luminosity of the `color` prop is less than `theme.luminosityThreshold`, then `theme.white` will be used for text color, otherwise `theme.black`. Overrides `theme.autoContrast`. */
|
|
26
26
|
autoContrast?: boolean;
|
|
27
|
+
/** Name of the user. When `src` is not set, used to display initials and to generate color when `color="initials"` is set. */
|
|
28
|
+
name?: string;
|
|
29
|
+
/** An array of colors that can be used for autogenerated initials. By default, all default Mantine colors can be used except gray and dark. */
|
|
30
|
+
allowedInitialsColors?: MantineColor[];
|
|
27
31
|
}
|
|
28
32
|
export type AvatarFactory = PolymorphicFactory<{
|
|
29
33
|
props: AvatarProps;
|
|
@@ -64,6 +68,16 @@ export declare const Avatar: (<C = "div">(props: import("../../core").Polymorphi
|
|
|
64
68
|
staticComponents: {
|
|
65
69
|
Group: typeof AvatarGroup;
|
|
66
70
|
};
|
|
71
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
72
|
+
props: AvatarProps;
|
|
73
|
+
defaultRef: HTMLDivElement;
|
|
74
|
+
defaultComponent: 'div';
|
|
75
|
+
stylesNames: AvatarStylesNames;
|
|
76
|
+
vars: AvatarCssVariables;
|
|
77
|
+
variant: AvatarVariant;
|
|
78
|
+
staticComponents: {
|
|
79
|
+
Group: typeof AvatarGroup;
|
|
80
|
+
};
|
|
67
81
|
}> & {
|
|
68
82
|
Group: typeof AvatarGroup;
|
|
69
83
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getInitials(name: string, limit?: number): string;
|
|
@@ -36,4 +36,10 @@ export declare const BackgroundImage: (<C = "div">(props: import("../../core").P
|
|
|
36
36
|
defaultComponent: 'div';
|
|
37
37
|
stylesNames: BackgroundImageStylesNames;
|
|
38
38
|
vars: BackgroundImageCssVariables;
|
|
39
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
40
|
+
props: BackgroundImageProps;
|
|
41
|
+
defaultRef: HTMLDivElement;
|
|
42
|
+
defaultComponent: 'div';
|
|
43
|
+
stylesNames: BackgroundImageStylesNames;
|
|
44
|
+
vars: BackgroundImageCssVariables;
|
|
39
45
|
}> & Record<string, never>;
|
|
@@ -56,4 +56,11 @@ export declare const Badge: (<C = "div">(props: import("../../core").Polymorphic
|
|
|
56
56
|
stylesNames: BadgeStylesNames;
|
|
57
57
|
vars: BadgeCssVariables;
|
|
58
58
|
variant: BadgeVariant;
|
|
59
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
60
|
+
props: BadgeProps;
|
|
61
|
+
defaultRef: HTMLDivElement;
|
|
62
|
+
defaultComponent: 'div';
|
|
63
|
+
stylesNames: BadgeStylesNames;
|
|
64
|
+
vars: BadgeCssVariables;
|
|
65
|
+
variant: BadgeVariant;
|
|
59
66
|
}> & Record<string, never>;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { BoxProps, ElementProps, Factory, MantineColor, MantineSize, StylesApiProps } from '../../core';
|
|
2
2
|
export type BurgerStylesNames = 'root' | 'burger';
|
|
3
3
|
export type BurgerCssVariables = {
|
|
4
|
-
root: '--burger-color' | '--burger-size' | '--burger-transition-duration' | '--burger-transition-timing-function';
|
|
4
|
+
root: '--burger-color' | '--burger-size' | '--burger-line-size' | '--burger-transition-duration' | '--burger-transition-timing-function';
|
|
5
5
|
};
|
|
6
6
|
export interface BurgerProps extends BoxProps, StylesApiProps<BurgerFactory>, ElementProps<'button'> {
|
|
7
7
|
/** Controls burger `width` and `height`, numbers are converted to rem, `'md'` by default */
|
|
8
8
|
size?: MantineSize | (string & {}) | number;
|
|
9
|
+
/** Controls height of lines, by default calculated based on `size` prop */
|
|
10
|
+
lineSize?: string | number;
|
|
9
11
|
/** Key of `theme.colors` of any valid CSS value, by default `theme.white` in dark color scheme and `theme.black` in light */
|
|
10
12
|
color?: MantineColor;
|
|
11
13
|
/** State of the burger, when `true` burger is transformed into X, `false` by default */
|
|
@@ -74,6 +74,16 @@ export declare const Button: (<C = "button">(props: import("../../core").Polymor
|
|
|
74
74
|
staticComponents: {
|
|
75
75
|
Group: typeof ButtonGroup;
|
|
76
76
|
};
|
|
77
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
78
|
+
props: ButtonProps;
|
|
79
|
+
defaultRef: HTMLButtonElement;
|
|
80
|
+
defaultComponent: 'button';
|
|
81
|
+
stylesNames: ButtonStylesNames;
|
|
82
|
+
vars: ButtonCssVariables;
|
|
83
|
+
variant: ButtonVariant;
|
|
84
|
+
staticComponents: {
|
|
85
|
+
Group: typeof ButtonGroup;
|
|
86
|
+
};
|
|
77
87
|
}> & {
|
|
78
88
|
Group: typeof ButtonGroup;
|
|
79
89
|
};
|
|
@@ -52,6 +52,15 @@ export declare const Card: (<C = "div">(props: import("../../core").PolymorphicC
|
|
|
52
52
|
staticComponents: {
|
|
53
53
|
Section: typeof CardSection;
|
|
54
54
|
};
|
|
55
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
56
|
+
props: CardProps;
|
|
57
|
+
defaultRef: HTMLDivElement;
|
|
58
|
+
defaultComponent: 'div';
|
|
59
|
+
stylesNames: CardStylesNames;
|
|
60
|
+
vars: CardCssVariables;
|
|
61
|
+
staticComponents: {
|
|
62
|
+
Section: typeof CardSection;
|
|
63
|
+
};
|
|
55
64
|
}> & {
|
|
56
65
|
Section: typeof CardSection;
|
|
57
66
|
};
|
|
@@ -33,4 +33,10 @@ export declare const CardSection: (<C = "div">(props: import("../../../core").Po
|
|
|
33
33
|
defaultComponent: 'div';
|
|
34
34
|
stylesNames: CardSectionStylesNames;
|
|
35
35
|
compound: true;
|
|
36
|
+
}> & import("../../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
37
|
+
props: CardSectionProps;
|
|
38
|
+
defaultRef: HTMLDivElement;
|
|
39
|
+
defaultComponent: 'div';
|
|
40
|
+
stylesNames: CardSectionStylesNames;
|
|
41
|
+
compound: true;
|
|
36
42
|
}> & Record<string, never>;
|
|
@@ -30,4 +30,9 @@ export declare const Center: (<C = "div">(props: import("../../core").Polymorphi
|
|
|
30
30
|
defaultRef: HTMLDivElement;
|
|
31
31
|
defaultComponent: 'div';
|
|
32
32
|
stylesNames: CenterStylesNames;
|
|
33
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
34
|
+
props: CenterProps;
|
|
35
|
+
defaultRef: HTMLDivElement;
|
|
36
|
+
defaultComponent: 'div';
|
|
37
|
+
stylesNames: CenterStylesNames;
|
|
33
38
|
}> & Record<string, never>;
|
|
@@ -51,4 +51,11 @@ export declare const CloseButton: (<C = "button">(props: import("../../core").Po
|
|
|
51
51
|
stylesNames: CloseButtonStylesNames;
|
|
52
52
|
variant: CloseButtonVariant;
|
|
53
53
|
vars: CloseButtonCssVariables;
|
|
54
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
55
|
+
props: CloseButtonProps;
|
|
56
|
+
defaultComponent: 'button';
|
|
57
|
+
defaultRef: HTMLButtonElement;
|
|
58
|
+
stylesNames: CloseButtonStylesNames;
|
|
59
|
+
variant: CloseButtonVariant;
|
|
60
|
+
vars: CloseButtonCssVariables;
|
|
54
61
|
}> & Record<string, never>;
|
|
@@ -42,4 +42,10 @@ export declare const ColorSwatch: (<C = "div">(props: import("../../core").Polym
|
|
|
42
42
|
defaultComponent: 'div';
|
|
43
43
|
stylesNames: ColorSwatchStylesNames;
|
|
44
44
|
vars: ColorSwatchCssVariables;
|
|
45
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
46
|
+
props: ColorSwatchProps;
|
|
47
|
+
defaultRef: HTMLDivElement;
|
|
48
|
+
defaultComponent: 'div';
|
|
49
|
+
stylesNames: ColorSwatchStylesNames;
|
|
50
|
+
vars: ColorSwatchCssVariables;
|
|
45
51
|
}> & Record<string, never>;
|
|
@@ -40,4 +40,9 @@ export declare const Flex: (<C = "div">(props: import("../../core").PolymorphicC
|
|
|
40
40
|
defaultRef: HTMLDivElement;
|
|
41
41
|
defaultComponent: 'div';
|
|
42
42
|
stylesNames: FlexStylesNames;
|
|
43
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
44
|
+
props: FlexProps;
|
|
45
|
+
defaultRef: HTMLDivElement;
|
|
46
|
+
defaultComponent: 'div';
|
|
47
|
+
stylesNames: FlexStylesNames;
|
|
43
48
|
}> & Record<string, never>;
|
|
@@ -37,4 +37,10 @@ export declare const Highlight: (<C = "div">(props: import("../../core").Polymor
|
|
|
37
37
|
defaultComponent: 'div';
|
|
38
38
|
stylesNames: TextStylesNames;
|
|
39
39
|
variant: TextVariant;
|
|
40
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
41
|
+
props: HighlightProps;
|
|
42
|
+
defaultRef: HTMLDivElement;
|
|
43
|
+
defaultComponent: 'div';
|
|
44
|
+
stylesNames: TextStylesNames;
|
|
45
|
+
variant: TextVariant;
|
|
40
46
|
}> & Record<string, never>;
|
|
@@ -42,4 +42,10 @@ export declare const Image: (<C = "img">(props: import("../../core").Polymorphic
|
|
|
42
42
|
defaultComponent: 'img';
|
|
43
43
|
stylesNames: ImageStylesNames;
|
|
44
44
|
vars: ImageCssVariables;
|
|
45
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
46
|
+
props: ImageProps;
|
|
47
|
+
defaultRef: HTMLImageElement;
|
|
48
|
+
defaultComponent: 'img';
|
|
49
|
+
stylesNames: ImageStylesNames;
|
|
50
|
+
vars: ImageCssVariables;
|
|
45
51
|
}> & Record<string, never>;
|
|
@@ -119,6 +119,21 @@ export declare const Input: (<C = "input">(props: import("../../core").Polymorph
|
|
|
119
119
|
Placeholder: typeof InputPlaceholder;
|
|
120
120
|
Wrapper: typeof InputWrapper;
|
|
121
121
|
};
|
|
122
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
123
|
+
props: InputProps;
|
|
124
|
+
defaultRef: HTMLInputElement;
|
|
125
|
+
defaultComponent: 'input';
|
|
126
|
+
stylesNames: InputStylesNames;
|
|
127
|
+
variant: InputVariant;
|
|
128
|
+
vars: InputCssVariables;
|
|
129
|
+
ctx: InputStylesCtx;
|
|
130
|
+
staticComponents: {
|
|
131
|
+
Label: typeof InputLabel;
|
|
132
|
+
Error: typeof InputError;
|
|
133
|
+
Description: typeof InputDescription;
|
|
134
|
+
Placeholder: typeof InputPlaceholder;
|
|
135
|
+
Wrapper: typeof InputWrapper;
|
|
136
|
+
};
|
|
122
137
|
}> & {
|
|
123
138
|
Label: typeof InputLabel;
|
|
124
139
|
Error: typeof InputError;
|
|
@@ -37,4 +37,10 @@ export declare const InputBase: (<C = "input">(props: import("../../core").Polym
|
|
|
37
37
|
defaultComponent: 'input';
|
|
38
38
|
stylesNames: __InputStylesNames;
|
|
39
39
|
variant: InputVariant;
|
|
40
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
41
|
+
props: InputBaseProps;
|
|
42
|
+
defaultRef: HTMLInputElement;
|
|
43
|
+
defaultComponent: 'input';
|
|
44
|
+
stylesNames: __InputStylesNames;
|
|
45
|
+
variant: InputVariant;
|
|
40
46
|
}> & Record<string, never>;
|
|
@@ -76,6 +76,12 @@ export declare namespace Menu {
|
|
|
76
76
|
defaultComponent: "button";
|
|
77
77
|
stylesNames: import("./MenuItem/MenuItem").MenuItemStylesNames;
|
|
78
78
|
compound: true;
|
|
79
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
80
|
+
props: import("./MenuItem/MenuItem").MenuItemProps;
|
|
81
|
+
defaultRef: HTMLButtonElement;
|
|
82
|
+
defaultComponent: "button";
|
|
83
|
+
stylesNames: import("./MenuItem/MenuItem").MenuItemStylesNames;
|
|
84
|
+
compound: true;
|
|
79
85
|
}> & Record<string, never>;
|
|
80
86
|
var Label: import("../../core").MantineComponent<{
|
|
81
87
|
props: import("./MenuLabel/MenuLabel").MenuLabelProps;
|
|
@@ -42,4 +42,10 @@ export declare const MenuItem: (<C = "button">(props: import("../../../core").Po
|
|
|
42
42
|
defaultComponent: 'button';
|
|
43
43
|
stylesNames: MenuItemStylesNames;
|
|
44
44
|
compound: true;
|
|
45
|
+
}> & import("../../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
46
|
+
props: MenuItemProps;
|
|
47
|
+
defaultRef: HTMLButtonElement;
|
|
48
|
+
defaultComponent: 'button';
|
|
49
|
+
stylesNames: MenuItemStylesNames;
|
|
50
|
+
compound: true;
|
|
45
51
|
}> & Record<string, never>;
|
|
@@ -71,4 +71,11 @@ export declare const NavLink: (<C = "a">(props: import("../../core").Polymorphic
|
|
|
71
71
|
stylesNames: NavLinkStylesNames;
|
|
72
72
|
vars: NavLinkCssVariables;
|
|
73
73
|
variant: NavLinkVariant;
|
|
74
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
75
|
+
props: NavLinkProps;
|
|
76
|
+
defaultRef: HTMLAnchorElement;
|
|
77
|
+
defaultComponent: 'a';
|
|
78
|
+
stylesNames: NavLinkStylesNames;
|
|
79
|
+
vars: NavLinkCssVariables;
|
|
80
|
+
variant: NavLinkVariant;
|
|
74
81
|
}> & Record<string, never>;
|
|
@@ -50,4 +50,10 @@ export declare const Overlay: (<C = "div">(props: import("../../core").Polymorph
|
|
|
50
50
|
defaultComponent: 'div';
|
|
51
51
|
stylesNames: OverlayStylesNames;
|
|
52
52
|
vars: OverlayCssVariables;
|
|
53
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
54
|
+
props: OverlayProps;
|
|
55
|
+
defaultRef: HTMLDivElement;
|
|
56
|
+
defaultComponent: 'div';
|
|
57
|
+
stylesNames: OverlayStylesNames;
|
|
58
|
+
vars: OverlayCssVariables;
|
|
53
59
|
}> & Record<string, never>;
|
|
@@ -26,6 +26,8 @@ export interface PaginationProps extends PaginationRootProps {
|
|
|
26
26
|
dotsIcon?: PaginationIcon;
|
|
27
27
|
/** Key of `theme.spacing`, gap between controls, `8` by default */
|
|
28
28
|
gap?: MantineSize | (string & {}) | number;
|
|
29
|
+
/** Determines whether the pagination should be hidden when only one page is available (`total={1}`), `false` by default */
|
|
30
|
+
hideWithOnePage?: boolean;
|
|
29
31
|
}
|
|
30
32
|
export type PaginationFactory = Factory<{
|
|
31
33
|
props: PaginationProps;
|
|
@@ -40,4 +40,10 @@ export declare const Paper: (<C = "div">(props: import("../../core").Polymorphic
|
|
|
40
40
|
defaultRef: HTMLDivElement;
|
|
41
41
|
stylesNames: PaperStylesNames;
|
|
42
42
|
vars: PaperCssVariables;
|
|
43
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
44
|
+
props: PaperProps;
|
|
45
|
+
defaultComponent: 'div';
|
|
46
|
+
defaultRef: HTMLDivElement;
|
|
47
|
+
stylesNames: PaperStylesNames;
|
|
48
|
+
vars: PaperCssVariables;
|
|
43
49
|
}> & Record<string, never>;
|
|
@@ -14,6 +14,10 @@ export interface SpoilerProps extends BoxProps, StylesApiProps<SpoilerFactory>,
|
|
|
14
14
|
controlRef?: React.ForwardedRef<HTMLButtonElement>;
|
|
15
15
|
/** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state is updated on mount */
|
|
16
16
|
initialState?: boolean;
|
|
17
|
+
/** Controlled expanded state value */
|
|
18
|
+
expanded?: boolean;
|
|
19
|
+
/** Called when expanded state changes (when spoiler visibility is toggled by the user) */
|
|
20
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
17
21
|
/** Spoiler reveal transition duration in ms, set 0 or null to turn off animation, `200` by default */
|
|
18
22
|
transitionDuration?: number;
|
|
19
23
|
}
|
|
@@ -43,6 +43,8 @@ export interface TagsInputProps extends BoxProps, __BaseInputProps, Omit<Combobo
|
|
|
43
43
|
renderOption?: (input: ComboboxLikeRenderOptionInput<ComboboxStringItem>) => React.ReactNode;
|
|
44
44
|
/** Props passed down to the underlying `ScrollArea` component in the dropdown */
|
|
45
45
|
scrollAreaProps?: ScrollAreaProps;
|
|
46
|
+
/** Determines whether the value typed in by the user but not submitted should be accepted when the input is blurred, `true` by default */
|
|
47
|
+
acceptValueOnBlur?: boolean;
|
|
46
48
|
}
|
|
47
49
|
export type TagsInputFactory = Factory<{
|
|
48
50
|
props: TagsInputProps;
|
|
@@ -54,5 +54,12 @@ export declare const Text: (<C = "p">(props: import("../../core").PolymorphicCom
|
|
|
54
54
|
stylesNames: TextStylesNames;
|
|
55
55
|
vars: TextCssVariables;
|
|
56
56
|
variant: TextVariant;
|
|
57
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
58
|
+
props: TextProps;
|
|
59
|
+
defaultComponent: 'p';
|
|
60
|
+
defaultRef: HTMLParagraphElement;
|
|
61
|
+
stylesNames: TextStylesNames;
|
|
62
|
+
vars: TextCssVariables;
|
|
63
|
+
variant: TextVariant;
|
|
57
64
|
}> & Record<string, never>;
|
|
58
65
|
export {};
|
|
@@ -22,9 +22,13 @@ export interface TransitionProps {
|
|
|
22
22
|
onEnter?: () => void;
|
|
23
23
|
/** Called when enter transition ends */
|
|
24
24
|
onEntered?: () => void;
|
|
25
|
+
/** Delay in ms before enter transition starts */
|
|
26
|
+
enterDelay?: number;
|
|
27
|
+
/** Delay in ms before exit transition starts */
|
|
28
|
+
exitDelay?: number;
|
|
25
29
|
}
|
|
26
30
|
export type TransitionOverride = Partial<Omit<TransitionProps, 'mounted'>>;
|
|
27
|
-
export declare function Transition({ keepMounted, transition, duration, exitDuration, mounted, children, timingFunction, onExit, onEntered, onEnter, onExited, }: TransitionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
31
|
+
export declare function Transition({ keepMounted, transition, duration, exitDuration, mounted, children, timingFunction, onExit, onEntered, onEnter, onExited, enterDelay, exitDelay, }: TransitionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
28
32
|
export declare namespace Transition {
|
|
29
33
|
var displayName: string;
|
|
30
34
|
}
|
|
@@ -8,8 +8,10 @@ interface UseTransition {
|
|
|
8
8
|
onExit?: () => void;
|
|
9
9
|
onEntered?: () => void;
|
|
10
10
|
onExited?: () => void;
|
|
11
|
+
enterDelay?: number;
|
|
12
|
+
exitDelay?: number;
|
|
11
13
|
}
|
|
12
|
-
export declare function useTransition({ duration, exitDuration, timingFunction, mounted, onEnter, onExit, onEntered, onExited, }: UseTransition): {
|
|
14
|
+
export declare function useTransition({ duration, exitDuration, timingFunction, mounted, onEnter, onExit, onEntered, onExited, enterDelay, exitDelay, }: UseTransition): {
|
|
13
15
|
transitionDuration: number;
|
|
14
16
|
transitionStatus: TransitionStatus;
|
|
15
17
|
transitionTimingFunction: string;
|
|
@@ -27,4 +27,9 @@ export declare const UnstyledButton: (<C = "button">(props: import("../../core")
|
|
|
27
27
|
stylesNames: UnstyledButtonStylesNames;
|
|
28
28
|
defaultComponent: 'button';
|
|
29
29
|
defaultRef: HTMLButtonElement;
|
|
30
|
+
}> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
|
|
31
|
+
props: UnstyledButtonProps;
|
|
32
|
+
stylesNames: UnstyledButtonStylesNames;
|
|
33
|
+
defaultComponent: 'button';
|
|
34
|
+
defaultRef: HTMLButtonElement;
|
|
30
35
|
}> & Record<string, never>;
|