@mantine/core 7.1.5 → 7.1.6
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/ActionIcon/ActionIcon.js +1 -1
- package/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
- package/cjs/components/Alert/Alert.js +1 -1
- package/cjs/components/Alert/Alert.js.map +1 -1
- package/cjs/components/Badge/Badge.js +1 -1
- package/cjs/components/Badge/Badge.js.map +1 -1
- package/cjs/components/Button/Button.js +1 -1
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Chip/Chip.js +1 -1
- package/cjs/components/Chip/Chip.js.map +1 -1
- package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -1
- package/cjs/components/NavLink/NavLink.js +1 -1
- package/cjs/components/NavLink/NavLink.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Spoiler/Spoiler.js +1 -1
- package/cjs/components/Spoiler/Spoiler.js.map +1 -1
- package/cjs/components/ThemeIcon/ThemeIcon.js +1 -1
- package/cjs/components/ThemeIcon/ThemeIcon.js.map +1 -1
- package/cjs/components/Transition/transitions.js +8 -8
- package/cjs/components/Transition/transitions.js.map +1 -1
- package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.js +1 -1
- package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.js.map +1 -1
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.js +5 -3
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.js.map +1 -1
- package/cjs/index.css +1 -1
- package/esm/components/ActionIcon/ActionIcon.mjs +1 -1
- package/esm/components/ActionIcon/ActionIcon.mjs.map +1 -1
- package/esm/components/Alert/Alert.mjs +1 -1
- package/esm/components/Alert/Alert.mjs.map +1 -1
- package/esm/components/Badge/Badge.mjs +1 -1
- package/esm/components/Badge/Badge.mjs.map +1 -1
- package/esm/components/Button/Button.mjs +1 -1
- package/esm/components/Button/Button.mjs.map +1 -1
- package/esm/components/Chip/Chip.mjs +1 -1
- package/esm/components/Chip/Chip.mjs.map +1 -1
- package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
- package/esm/components/NavLink/NavLink.mjs +1 -1
- package/esm/components/NavLink/NavLink.mjs.map +1 -1
- package/esm/components/Select/Select.mjs +2 -1
- package/esm/components/Select/Select.mjs.map +1 -1
- package/esm/components/Spoiler/Spoiler.mjs +1 -1
- package/esm/components/Spoiler/Spoiler.mjs.map +1 -1
- package/esm/components/ThemeIcon/ThemeIcon.mjs +1 -1
- package/esm/components/ThemeIcon/ThemeIcon.mjs.map +1 -1
- package/esm/components/Transition/transitions.mjs +8 -8
- package/esm/components/Transition/transitions.mjs.map +1 -1
- package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +1 -1
- package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs +5 -3
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
- package/esm/index.css +1 -1
- package/esm/index.layer.css +1 -1
- package/esm/styles/Button.css +1 -1
- package/esm/styles/Button.layer.css +1 -1
- package/esm/styles/Combobox.css +1 -1
- package/esm/styles/Combobox.layer.css +1 -1
- package/esm/styles/Table.css +1 -1
- package/esm/styles/Table.layer.css +1 -1
- package/lib/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.d.ts +3 -1
- package/package.json +2 -2
|
@@ -53,7 +53,7 @@ const defaultProps = {};
|
|
|
53
53
|
const varsResolver = createVarsResolver.createVarsResolver(
|
|
54
54
|
(theme, { size, radius, variant, gradient, color }) => {
|
|
55
55
|
const colors = theme.variantColorResolver({
|
|
56
|
-
color
|
|
56
|
+
color,
|
|
57
57
|
theme,
|
|
58
58
|
gradient,
|
|
59
59
|
variant: variant || "filled"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionIcon.js","sources":["../../../src/components/ActionIcon/ActionIcon.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n useProps,\n StylesApiProps,\n useStyles,\n MantineSize,\n MantineColor,\n MantineGradient,\n getRadius,\n polymorphicFactory,\n getSize,\n createVarsResolver,\n MantineRadius,\n PolymorphicFactory,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { LoaderProps, Loader } from '../Loader';\nimport { ActionIconGroup } from './ActionIconGroup/ActionIconGroup';\nimport classes from './ActionIcon.module.css';\n\nexport type ActionIconVariant =\n | 'filled'\n | 'light'\n | 'outline'\n | 'transparent'\n | 'white'\n | 'subtle'\n | 'default'\n | 'gradient';\n\nexport type ActionIconStylesNames = 'root' | 'loader';\nexport type ActionIconCssVariables = {\n root: '--ai-radius' | '--ai-size' | '--ai-bg' | '--ai-hover' | '--ai-color' | '--ai-bd';\n};\n\nexport interface ActionIconProps extends BoxProps, StylesApiProps<ActionIconFactory> {\n 'data-disabled'?: boolean;\n __staticSelector?: string;\n\n /** Determines whether `Loader` component should be displayed instead of the `children`, `false` by default */\n loading?: boolean;\n\n /** Props added to the `Loader` component (only visible when `loading` prop is set) */\n loaderProps?: LoaderProps;\n\n /** Controls width and height of the button. Numbers are converted to rem. `'md'` by default. */\n size?: MantineSize | (string & {}) | number;\n\n /** Key of `theme.colors` or any valid CSS color. Default value is `theme.primaryColor`. */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius. Numbers are converted to rem. `theme.defaultRadius` by default. */\n radius?: MantineRadius;\n\n /** Gradient data used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n gradient?: MantineGradient;\n\n /** Sets `disabled` and `data-disabled` attributes on the button element */\n disabled?: boolean;\n\n /** Icon displayed inside the button */\n children?: React.ReactNode;\n}\n\nexport type ActionIconFactory = PolymorphicFactory<{\n props: ActionIconProps;\n defaultComponent: 'button';\n defaultRef: HTMLButtonElement;\n stylesNames: ActionIconStylesNames;\n variant: ActionIconVariant;\n vars: ActionIconCssVariables;\n staticComponents: {\n Group: typeof ActionIconGroup;\n };\n}>;\n\nconst defaultProps: Partial<ActionIconProps> = {};\n\nconst varsResolver = createVarsResolver<ActionIconFactory>(\n (theme, { size, radius, variant, gradient, color }) => {\n const colors = theme.variantColorResolver({\n color
|
|
1
|
+
{"version":3,"file":"ActionIcon.js","sources":["../../../src/components/ActionIcon/ActionIcon.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n useProps,\n StylesApiProps,\n useStyles,\n MantineSize,\n MantineColor,\n MantineGradient,\n getRadius,\n polymorphicFactory,\n getSize,\n createVarsResolver,\n MantineRadius,\n PolymorphicFactory,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { LoaderProps, Loader } from '../Loader';\nimport { ActionIconGroup } from './ActionIconGroup/ActionIconGroup';\nimport classes from './ActionIcon.module.css';\n\nexport type ActionIconVariant =\n | 'filled'\n | 'light'\n | 'outline'\n | 'transparent'\n | 'white'\n | 'subtle'\n | 'default'\n | 'gradient';\n\nexport type ActionIconStylesNames = 'root' | 'loader';\nexport type ActionIconCssVariables = {\n root: '--ai-radius' | '--ai-size' | '--ai-bg' | '--ai-hover' | '--ai-color' | '--ai-bd';\n};\n\nexport interface ActionIconProps extends BoxProps, StylesApiProps<ActionIconFactory> {\n 'data-disabled'?: boolean;\n __staticSelector?: string;\n\n /** Determines whether `Loader` component should be displayed instead of the `children`, `false` by default */\n loading?: boolean;\n\n /** Props added to the `Loader` component (only visible when `loading` prop is set) */\n loaderProps?: LoaderProps;\n\n /** Controls width and height of the button. Numbers are converted to rem. `'md'` by default. */\n size?: MantineSize | (string & {}) | number;\n\n /** Key of `theme.colors` or any valid CSS color. Default value is `theme.primaryColor`. */\n color?: MantineColor;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius. Numbers are converted to rem. `theme.defaultRadius` by default. */\n radius?: MantineRadius;\n\n /** Gradient data used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n gradient?: MantineGradient;\n\n /** Sets `disabled` and `data-disabled` attributes on the button element */\n disabled?: boolean;\n\n /** Icon displayed inside the button */\n children?: React.ReactNode;\n}\n\nexport type ActionIconFactory = PolymorphicFactory<{\n props: ActionIconProps;\n defaultComponent: 'button';\n defaultRef: HTMLButtonElement;\n stylesNames: ActionIconStylesNames;\n variant: ActionIconVariant;\n vars: ActionIconCssVariables;\n staticComponents: {\n Group: typeof ActionIconGroup;\n };\n}>;\n\nconst defaultProps: Partial<ActionIconProps> = {};\n\nconst varsResolver = createVarsResolver<ActionIconFactory>(\n (theme, { size, radius, variant, gradient, color }) => {\n const colors = theme.variantColorResolver({\n color,\n theme,\n gradient,\n variant: variant || 'filled',\n });\n\n return {\n root: {\n '--ai-size': getSize(size, 'ai-size'),\n '--ai-radius': radius === undefined ? undefined : getRadius(radius),\n '--ai-bg': color || variant ? colors.background : undefined,\n '--ai-hover': color || variant ? colors.hover : undefined,\n '--ai-color': color || variant ? colors.color : undefined,\n '--ai-bd': color || variant ? colors.border : undefined,\n },\n };\n }\n);\n\nexport const ActionIcon = polymorphicFactory<ActionIconFactory>((_props, ref) => {\n const props = useProps('ActionIcon', defaultProps, _props);\n const {\n className,\n unstyled,\n variant,\n classNames,\n styles,\n style,\n loading,\n loaderProps,\n size,\n color,\n radius,\n __staticSelector,\n gradient,\n vars,\n children,\n disabled,\n 'data-disabled': dataDisabled,\n ...others\n } = props;\n\n const getStyles = useStyles<ActionIconFactory>({\n name: ['ActionIcon', __staticSelector],\n props,\n className,\n style,\n classes,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <UnstyledButton\n {...getStyles('root', { active: !disabled && !loading && !dataDisabled })}\n {...others}\n unstyled={unstyled}\n variant={variant}\n size={size}\n disabled={disabled || loading}\n ref={ref}\n mod={{ loading, disabled: disabled || dataDisabled }}\n >\n {loading ? (\n <Loader\n {...getStyles('loader')}\n color=\"var(--ai-color)\"\n size=\"calc(var(--ai-size) * 0.55)\"\n {...loaderProps}\n />\n ) : (\n children\n )}\n </UnstyledButton>\n );\n});\n\nActionIcon.classes = classes;\nActionIcon.displayName = '@mantine/core/ActionIcon';\nActionIcon.Group = ActionIconGroup;\n"],"names":["createVarsResolver","getSize","getRadius","polymorphicFactory","useProps","useStyles","classes","React","UnstyledButton","Loader","ActionIconGroup"],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ var __objRest = (source, exclude) => {
|
|
|
52
52
|
const defaultProps = {};
|
|
53
53
|
const varsResolver = createVarsResolver.createVarsResolver((theme, { radius, color, variant }) => {
|
|
54
54
|
const colors = theme.variantColorResolver({
|
|
55
|
-
color
|
|
55
|
+
color,
|
|
56
56
|
theme,
|
|
57
57
|
variant: variant || "light"
|
|
58
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n getRadius,\n MantineRadius,\n MantineColor,\n} from '../../core';\nimport classes from './Alert.module.css';\nimport { CloseButton } from '../CloseButton';\n\nexport type AlertStylesNames =\n | 'root'\n | 'body'\n | 'label'\n | 'title'\n | 'icon'\n | 'wrapper'\n | 'message'\n | 'closeButton';\nexport type AlertVariant = 'filled' | 'light' | 'outline' | 'default' | 'transparent' | 'white';\nexport type AlertCssVariables = {\n root: '--alert-radius' | '--alert-bg' | '--alert-color' | '--alert-bd';\n};\n\nexport interface AlertProps\n extends BoxProps,\n StylesApiProps<AlertFactory>,\n ElementProps<'div', 'title'> {\n /** Key of `theme.radius` or any valid CSS value to set border-radius, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Key of `theme.colors` or any valid CSS color, default value is `theme.primaryColor` */\n color?: MantineColor;\n\n /** Alert title */\n title?: React.ReactNode;\n\n /** Icon displayed next to the title */\n icon?: React.ReactNode;\n\n /** Determines whether close button should be displayed, `false` by default */\n withCloseButton?: boolean;\n\n /** Called when the close button is clicked */\n onClose?: () => void;\n\n /** Close button `aria-label` */\n closeButtonLabel?: string;\n}\n\nexport type AlertFactory = Factory<{\n props: AlertProps;\n ref: HTMLDivElement;\n stylesNames: AlertStylesNames;\n vars: AlertCssVariables;\n variant: AlertVariant;\n}>;\n\nconst defaultProps: Partial<AlertProps> = {};\n\nconst varsResolver = createVarsResolver<AlertFactory>((theme, { radius, color, variant }) => {\n const colors = theme.variantColorResolver({\n color
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n getRadius,\n MantineRadius,\n MantineColor,\n} from '../../core';\nimport classes from './Alert.module.css';\nimport { CloseButton } from '../CloseButton';\n\nexport type AlertStylesNames =\n | 'root'\n | 'body'\n | 'label'\n | 'title'\n | 'icon'\n | 'wrapper'\n | 'message'\n | 'closeButton';\nexport type AlertVariant = 'filled' | 'light' | 'outline' | 'default' | 'transparent' | 'white';\nexport type AlertCssVariables = {\n root: '--alert-radius' | '--alert-bg' | '--alert-color' | '--alert-bd';\n};\n\nexport interface AlertProps\n extends BoxProps,\n StylesApiProps<AlertFactory>,\n ElementProps<'div', 'title'> {\n /** Key of `theme.radius` or any valid CSS value to set border-radius, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Key of `theme.colors` or any valid CSS color, default value is `theme.primaryColor` */\n color?: MantineColor;\n\n /** Alert title */\n title?: React.ReactNode;\n\n /** Icon displayed next to the title */\n icon?: React.ReactNode;\n\n /** Determines whether close button should be displayed, `false` by default */\n withCloseButton?: boolean;\n\n /** Called when the close button is clicked */\n onClose?: () => void;\n\n /** Close button `aria-label` */\n closeButtonLabel?: string;\n}\n\nexport type AlertFactory = Factory<{\n props: AlertProps;\n ref: HTMLDivElement;\n stylesNames: AlertStylesNames;\n vars: AlertCssVariables;\n variant: AlertVariant;\n}>;\n\nconst defaultProps: Partial<AlertProps> = {};\n\nconst varsResolver = createVarsResolver<AlertFactory>((theme, { radius, color, variant }) => {\n const colors = theme.variantColorResolver({\n color,\n theme,\n variant: variant || 'light',\n });\n\n return {\n root: {\n '--alert-radius': radius === undefined ? undefined : getRadius(radius),\n '--alert-bg': color || variant ? colors.background : undefined,\n '--alert-color': color || variant ? colors.color : undefined,\n '--alert-bd': color || variant ? colors.border : undefined,\n },\n };\n});\n\nexport const Alert = factory<AlertFactory>((_props, ref) => {\n const props = useProps('Alert', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n radius,\n color,\n title,\n children,\n id,\n icon,\n withCloseButton,\n onClose,\n closeButtonLabel,\n variant,\n ...others\n } = props;\n\n const getStyles = useStyles<AlertFactory>({\n name: 'Alert',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const rootId = useId(id);\n const titleId = (title && `${rootId}-title`) || undefined;\n const bodyId = `${rootId}-body`;\n\n return (\n <Box\n id={rootId}\n {...getStyles('root', { variant })}\n variant={variant}\n ref={ref}\n {...others}\n role=\"alert\"\n aria-describedby={bodyId}\n aria-labelledby={titleId}\n >\n <div {...getStyles('wrapper')}>\n {icon && <div {...getStyles('icon')}>{icon}</div>}\n\n <div {...getStyles('body')}>\n {title && (\n <div {...getStyles('title')} data-with-close-button={withCloseButton || undefined}>\n <span id={titleId} {...getStyles('label')}>\n {title}\n </span>\n </div>\n )}\n\n <div id={bodyId} {...getStyles('message')}>\n {children}\n </div>\n </div>\n\n {withCloseButton && (\n <CloseButton\n {...getStyles('closeButton')}\n onClick={onClose}\n variant=\"transparent\"\n size={16}\n iconSize={16}\n aria-label={closeButtonLabel}\n unstyled={unstyled}\n />\n )}\n </div>\n </Box>\n );\n});\n\nAlert.classes = classes;\nAlert.displayName = '@mantine/core/Alert';\n"],"names":["createVarsResolver","getRadius","factory","useProps","useStyles","classes","useId","React","Box","CloseButton"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAaF,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAGA,qCAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AAC/E,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC;AAC5C,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO;AAC/B,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,IAAI,EAAE;AACV,MAAM,gBAAgB,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGC,iBAAS,CAAC,MAAM,CAAC;AACtE,MAAM,YAAY,EAAE,KAAK,IAAI,OAAO,GAAG,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;AACjE,MAAM,eAAe,EAAE,KAAK,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/D,MAAM,YAAY,EAAE,KAAK,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;AAC7D,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACS,MAAC,KAAK,GAAGC,eAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9C,EAAE,MAAM,KAAK,GAAGC,iBAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACxD,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,EAAE;AACN,IAAI,IAAI;AACR,IAAI,eAAe;AACnB,IAAI,OAAO;AACX,IAAI,gBAAgB;AACpB,IAAI,OAAO;AACX,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,SAAS;AACb,IAAI,kBAAkB;AACtB,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAGC,mBAAS,CAAC;AAC9B,IAAI,IAAI,EAAE,OAAO;AACjB,aAAIC,uBAAO;AACX,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,GAAGC,WAAK,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;AACvD,EAAE,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,EAAE,uBAAuBC,cAAK,CAAC,aAAa;AAC5C,IAAIC,OAAG;AACP,IAAI,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC;AAC9D,MAAM,EAAE,EAAE,MAAM;AAChB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;AACxC,MAAM,OAAO;AACb,MAAM,GAAG;AACT,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE;AACjB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,kBAAkB,EAAE,MAAM;AAChC,MAAM,iBAAiB,EAAE,OAAO;AAChC,KAAK,CAAC;AACN,oBAAoBD,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,oBAAoBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,oBAAoBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,wBAAwB,EAAE,eAAe,IAAI,KAAK,CAAC,EAAE,CAAC,kBAAkBA,cAAK,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,kBAAkBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,eAAe,oBAAoBA,cAAK,CAAC,aAAa;AAC7rB,MAAME,uBAAW;AACjB,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE;AAClE,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,aAAa;AAC9B,QAAQ,IAAI,EAAE,EAAE;AAChB,QAAQ,QAAQ,EAAE,EAAE;AACpB,QAAQ,YAAY,EAAE,gBAAgB;AACtC,QAAQ,QAAQ;AAChB,OAAO,CAAC;AACR,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC,EAAE;AACH,KAAK,CAAC,OAAO,GAAGJ,uBAAO,CAAC;AACxB,KAAK,CAAC,WAAW,GAAG,qBAAqB;;"}
|
|
@@ -52,7 +52,7 @@ const defaultProps = {};
|
|
|
52
52
|
const varsResolver = createVarsResolver.createVarsResolver(
|
|
53
53
|
(theme, { radius, color, gradient, variant, size }) => {
|
|
54
54
|
const colors = theme.variantColorResolver({
|
|
55
|
-
color
|
|
55
|
+
color,
|
|
56
56
|
theme,
|
|
57
57
|
gradient,
|
|
58
58
|
variant: variant || "filled"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n polymorphicFactory,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n getSize,\n getRadius,\n MantineSize,\n MantineRadius,\n MantineColor,\n MantineGradient,\n getThemeColor,\n} from '../../core';\nimport classes from './Badge.module.css';\n\nexport type BadgeStylesNames = 'root' | 'section' | 'label';\nexport type BadgeVariant =\n | 'filled'\n | 'light'\n | 'outline'\n | 'dot'\n | 'transparent'\n | 'white'\n | 'default'\n | 'gradient';\n\nexport type BadgeCssVariables = {\n root:\n | '--badge-height'\n | '--badge-padding-x'\n | '--badge-fz'\n | '--badge-radius'\n | '--badge-bg'\n | '--badge-color'\n | '--badge-bd'\n | '--badge-dot-color';\n};\n\nexport interface BadgeProps extends BoxProps, StylesApiProps<BadgeFactory> {\n /** Controls `font-size`, `height` and horizontal `padding`, `'md'` by default */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `'xl'` by default */\n radius?: MantineRadius;\n\n /** Key of `theme.colors` or any valid CSS color, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Gradient configuration used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n gradient?: MantineGradient;\n\n /** Content displayed on the left side of the badge label */\n leftSection?: React.ReactNode;\n\n /** Content displayed on the right side of the badge label */\n rightSection?: React.ReactNode;\n\n /** Determines whether Badge should take 100% of its parent width, `false` by default */\n fullWidth?: boolean;\n\n /** Main badge content */\n children?: React.ReactNode;\n}\n\nexport type BadgeFactory = PolymorphicFactory<{\n props: BadgeProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: BadgeStylesNames;\n vars: BadgeCssVariables;\n variant: BadgeVariant;\n}>;\n\nconst defaultProps: Partial<BadgeProps> = {};\n\nconst varsResolver = createVarsResolver<BadgeFactory>(\n (theme, { radius, color, gradient, variant, size }) => {\n const colors = theme.variantColorResolver({\n color
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n polymorphicFactory,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n getSize,\n getRadius,\n MantineSize,\n MantineRadius,\n MantineColor,\n MantineGradient,\n getThemeColor,\n} from '../../core';\nimport classes from './Badge.module.css';\n\nexport type BadgeStylesNames = 'root' | 'section' | 'label';\nexport type BadgeVariant =\n | 'filled'\n | 'light'\n | 'outline'\n | 'dot'\n | 'transparent'\n | 'white'\n | 'default'\n | 'gradient';\n\nexport type BadgeCssVariables = {\n root:\n | '--badge-height'\n | '--badge-padding-x'\n | '--badge-fz'\n | '--badge-radius'\n | '--badge-bg'\n | '--badge-color'\n | '--badge-bd'\n | '--badge-dot-color';\n};\n\nexport interface BadgeProps extends BoxProps, StylesApiProps<BadgeFactory> {\n /** Controls `font-size`, `height` and horizontal `padding`, `'md'` by default */\n size?: MantineSize | (string & {});\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `'xl'` by default */\n radius?: MantineRadius;\n\n /** Key of `theme.colors` or any valid CSS color, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Gradient configuration used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n gradient?: MantineGradient;\n\n /** Content displayed on the left side of the badge label */\n leftSection?: React.ReactNode;\n\n /** Content displayed on the right side of the badge label */\n rightSection?: React.ReactNode;\n\n /** Determines whether Badge should take 100% of its parent width, `false` by default */\n fullWidth?: boolean;\n\n /** Main badge content */\n children?: React.ReactNode;\n}\n\nexport type BadgeFactory = PolymorphicFactory<{\n props: BadgeProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: BadgeStylesNames;\n vars: BadgeCssVariables;\n variant: BadgeVariant;\n}>;\n\nconst defaultProps: Partial<BadgeProps> = {};\n\nconst varsResolver = createVarsResolver<BadgeFactory>(\n (theme, { radius, color, gradient, variant, size }) => {\n const colors = theme.variantColorResolver({\n color,\n theme,\n gradient,\n variant: variant || 'filled',\n });\n\n return {\n root: {\n '--badge-height': getSize(size, 'badge-height'),\n '--badge-padding-x': getSize(size, 'badge-padding-x'),\n '--badge-fz': getSize(size, 'badge-fz'),\n '--badge-radius': radius === undefined ? undefined : getRadius(radius),\n '--badge-bg': color || variant ? colors.background : undefined,\n '--badge-color': color || variant ? colors.color : undefined,\n '--badge-bd': color || variant ? colors.border : undefined,\n '--badge-dot-color': variant === 'dot' ? getThemeColor(color, theme) : undefined,\n },\n };\n }\n);\n\nexport const Badge = polymorphicFactory<BadgeFactory>((_props, ref) => {\n const props = useProps('Badge', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n radius,\n color,\n gradient,\n leftSection,\n rightSection,\n children,\n variant,\n fullWidth,\n ...others\n } = props;\n\n const getStyles = useStyles<BadgeFactory>({\n name: 'Badge',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n return (\n <Box\n variant={variant}\n mod={{ block: fullWidth }}\n {...getStyles('root', { variant })}\n ref={ref}\n {...others}\n >\n {leftSection && (\n <span {...getStyles('section')} data-position=\"left\">\n {leftSection}\n </span>\n )}\n <span {...getStyles('label')}>{children}</span>\n {rightSection && (\n <span {...getStyles('section')} data-position=\"right\">\n {rightSection}\n </span>\n )}\n </Box>\n );\n});\n\nBadge.classes = classes;\nBadge.displayName = '@mantine/core/Badge';\n"],"names":["createVarsResolver","getSize","getRadius","getThemeColor","polymorphicFactory","useProps","useStyles","classes","React","Box"],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ const defaultProps = {};
|
|
|
54
54
|
const varsResolver = createVarsResolver.createVarsResolver(
|
|
55
55
|
(theme, { radius, color, gradient, variant, size, justify }) => {
|
|
56
56
|
const colors = theme.variantColorResolver({
|
|
57
|
-
color
|
|
57
|
+
color,
|
|
58
58
|
theme,
|
|
59
59
|
gradient,
|
|
60
60
|
variant: variant || "filled"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n polymorphicFactory,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n MantineSize,\n MantineColor,\n MantineRadius,\n MantineGradient,\n Box,\n getRadius,\n getSize,\n getFontSize,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { Loader, LoaderProps } from '../Loader';\nimport { ButtonGroup } from './ButtonGroup/ButtonGroup';\nimport classes from './Button.module.css';\n\nexport type ButtonStylesNames = 'root' | 'inner' | 'loader' | 'section' | 'label';\nexport type ButtonVariant =\n | 'filled'\n | 'light'\n | 'outline'\n | 'transparent'\n | 'white'\n | 'subtle'\n | 'default'\n | 'gradient';\n\nexport type ButtonCssVariables = {\n root:\n | '--button-justify'\n | '--button-height'\n | '--button-padding-x'\n | '--button-fz'\n | '--button-radius'\n | '--button-bg'\n | '--button-hover'\n | '--button-color'\n | '--button-bd';\n};\n\nexport interface ButtonProps extends BoxProps, StylesApiProps<ButtonFactory> {\n 'data-disabled'?: boolean;\n\n /** Controls button `height`, `font-size` and horizontal `padding`, `'sm'` by default */\n size?: MantineSize | `compact-${MantineSize}` | (string & {});\n\n /** Key of `theme.colors` or any valid CSS color, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Sets `justify-content` of `inner` element, can be used to change distribution of sections and label, `'center'` by default */\n justify?: React.CSSProperties['justifyContent'];\n\n /** Content displayed on the left side of the button label */\n leftSection?: React.ReactNode;\n\n /** Content displayed on the right side of the button label */\n rightSection?: React.ReactNode;\n\n /** Determines whether button should take 100% width of its parent container, `false` by default */\n fullWidth?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Gradient configuration used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n gradient?: MantineGradient;\n\n /** Indicates disabled state */\n disabled?: boolean;\n\n /** Button content */\n children?: React.ReactNode;\n\n /** Determines whether the `Loader` component should be displayed over the button */\n loading?: boolean;\n\n /** Props added to the `Loader` component (only visible when `loading` prop is set) */\n loaderProps?: LoaderProps;\n}\n\nexport type ButtonFactory = PolymorphicFactory<{\n props: ButtonProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n stylesNames: ButtonStylesNames;\n vars: ButtonCssVariables;\n variant: ButtonVariant;\n staticComponents: {\n Group: typeof ButtonGroup;\n };\n}>;\n\nconst defaultProps: Partial<ButtonProps> = {};\n\nconst varsResolver = createVarsResolver<ButtonFactory>(\n (theme, { radius, color, gradient, variant, size, justify }) => {\n const colors = theme.variantColorResolver({\n color: color || theme.primaryColor,\n theme,\n gradient,\n variant: variant || 'filled',\n });\n\n return {\n root: {\n '--button-justify': justify,\n '--button-height': getSize(size, 'button-height'),\n '--button-padding-x': getSize(size, 'button-padding-x'),\n '--button-fz': size?.includes('compact')\n ? getFontSize(size.replace('compact-', ''))\n : getFontSize(size),\n '--button-radius': radius === undefined ? undefined : getRadius(radius),\n '--button-bg': color || variant ? colors.background : undefined,\n '--button-hover': color || variant ? colors.hover : undefined,\n '--button-color': color || variant ? colors.color : undefined,\n '--button-bd': color || variant ? colors.border : undefined,\n },\n };\n }\n);\n\nexport const Button = polymorphicFactory<ButtonFactory>((_props, ref) => {\n const props = useProps('Button', defaultProps, _props);\n const {\n style,\n vars,\n className,\n color,\n disabled,\n children,\n leftSection,\n rightSection,\n fullWidth,\n variant,\n radius,\n loading,\n loaderProps,\n gradient,\n classNames,\n styles,\n unstyled,\n 'data-disabled': dataDisabled,\n ...others\n } = props;\n\n const getStyles = useStyles<ButtonFactory>({\n name: 'Button',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const hasLeftSection = !!leftSection;\n const hasRightSection = !!rightSection;\n\n return (\n <UnstyledButton\n ref={ref}\n {...getStyles('root', { active: !disabled && !loading && !dataDisabled })}\n unstyled={unstyled}\n variant={variant}\n disabled={disabled || loading}\n mod={{\n disabled: disabled || dataDisabled,\n loading,\n block: fullWidth,\n 'with-left-section': hasLeftSection,\n 'with-right-section': hasRightSection,\n }}\n {...others}\n >\n <span {...getStyles('inner')}>\n {leftSection && (\n <Box component=\"span\" {...getStyles('section')} mod={{ position: 'left' }}>\n {leftSection}\n </Box>\n )}\n\n {loading && (\n <Box component=\"span\" {...getStyles('loader')}>\n <Loader\n color=\"var(--button-color)\"\n size=\"calc(var(--button-height) / 1.8)\"\n {...loaderProps}\n />\n </Box>\n )}\n\n <Box component=\"span\" mod={{ loading }} {...getStyles('label')}>\n {children}\n </Box>\n\n {rightSection && (\n <Box component=\"span\" {...getStyles('section')} mod={{ position: 'right' }}>\n {rightSection}\n </Box>\n )}\n </span>\n </UnstyledButton>\n );\n});\n\nButton.classes = classes;\nButton.displayName = '@mantine/core/Button';\nButton.Group = ButtonGroup;\n"],"names":["createVarsResolver","getSize","getFontSize","getRadius","polymorphicFactory","useProps","useStyles","classes","React","UnstyledButton","Box","Loader","ButtonGroup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n polymorphicFactory,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n MantineSize,\n MantineColor,\n MantineRadius,\n MantineGradient,\n Box,\n getRadius,\n getSize,\n getFontSize,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { Loader, LoaderProps } from '../Loader';\nimport { ButtonGroup } from './ButtonGroup/ButtonGroup';\nimport classes from './Button.module.css';\n\nexport type ButtonStylesNames = 'root' | 'inner' | 'loader' | 'section' | 'label';\nexport type ButtonVariant =\n | 'filled'\n | 'light'\n | 'outline'\n | 'transparent'\n | 'white'\n | 'subtle'\n | 'default'\n | 'gradient';\n\nexport type ButtonCssVariables = {\n root:\n | '--button-justify'\n | '--button-height'\n | '--button-padding-x'\n | '--button-fz'\n | '--button-radius'\n | '--button-bg'\n | '--button-hover'\n | '--button-color'\n | '--button-bd';\n};\n\nexport interface ButtonProps extends BoxProps, StylesApiProps<ButtonFactory> {\n 'data-disabled'?: boolean;\n\n /** Controls button `height`, `font-size` and horizontal `padding`, `'sm'` by default */\n size?: MantineSize | `compact-${MantineSize}` | (string & {});\n\n /** Key of `theme.colors` or any valid CSS color, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Sets `justify-content` of `inner` element, can be used to change distribution of sections and label, `'center'` by default */\n justify?: React.CSSProperties['justifyContent'];\n\n /** Content displayed on the left side of the button label */\n leftSection?: React.ReactNode;\n\n /** Content displayed on the right side of the button label */\n rightSection?: React.ReactNode;\n\n /** Determines whether button should take 100% width of its parent container, `false` by default */\n fullWidth?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `theme.defaultRadius` by default */\n radius?: MantineRadius;\n\n /** Gradient configuration used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n gradient?: MantineGradient;\n\n /** Indicates disabled state */\n disabled?: boolean;\n\n /** Button content */\n children?: React.ReactNode;\n\n /** Determines whether the `Loader` component should be displayed over the button */\n loading?: boolean;\n\n /** Props added to the `Loader` component (only visible when `loading` prop is set) */\n loaderProps?: LoaderProps;\n}\n\nexport type ButtonFactory = PolymorphicFactory<{\n props: ButtonProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n stylesNames: ButtonStylesNames;\n vars: ButtonCssVariables;\n variant: ButtonVariant;\n staticComponents: {\n Group: typeof ButtonGroup;\n };\n}>;\n\nconst defaultProps: Partial<ButtonProps> = {};\n\nconst varsResolver = createVarsResolver<ButtonFactory>(\n (theme, { radius, color, gradient, variant, size, justify }) => {\n const colors = theme.variantColorResolver({\n color,\n theme,\n gradient,\n variant: variant || 'filled',\n });\n\n return {\n root: {\n '--button-justify': justify,\n '--button-height': getSize(size, 'button-height'),\n '--button-padding-x': getSize(size, 'button-padding-x'),\n '--button-fz': size?.includes('compact')\n ? getFontSize(size.replace('compact-', ''))\n : getFontSize(size),\n '--button-radius': radius === undefined ? undefined : getRadius(radius),\n '--button-bg': color || variant ? colors.background : undefined,\n '--button-hover': color || variant ? colors.hover : undefined,\n '--button-color': color || variant ? colors.color : undefined,\n '--button-bd': color || variant ? colors.border : undefined,\n },\n };\n }\n);\n\nexport const Button = polymorphicFactory<ButtonFactory>((_props, ref) => {\n const props = useProps('Button', defaultProps, _props);\n const {\n style,\n vars,\n className,\n color,\n disabled,\n children,\n leftSection,\n rightSection,\n fullWidth,\n variant,\n radius,\n loading,\n loaderProps,\n gradient,\n classNames,\n styles,\n unstyled,\n 'data-disabled': dataDisabled,\n ...others\n } = props;\n\n const getStyles = useStyles<ButtonFactory>({\n name: 'Button',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const hasLeftSection = !!leftSection;\n const hasRightSection = !!rightSection;\n\n return (\n <UnstyledButton\n ref={ref}\n {...getStyles('root', { active: !disabled && !loading && !dataDisabled })}\n unstyled={unstyled}\n variant={variant}\n disabled={disabled || loading}\n mod={{\n disabled: disabled || dataDisabled,\n loading,\n block: fullWidth,\n 'with-left-section': hasLeftSection,\n 'with-right-section': hasRightSection,\n }}\n {...others}\n >\n <span {...getStyles('inner')}>\n {leftSection && (\n <Box component=\"span\" {...getStyles('section')} mod={{ position: 'left' }}>\n {leftSection}\n </Box>\n )}\n\n {loading && (\n <Box component=\"span\" {...getStyles('loader')}>\n <Loader\n color=\"var(--button-color)\"\n size=\"calc(var(--button-height) / 1.8)\"\n {...loaderProps}\n />\n </Box>\n )}\n\n <Box component=\"span\" mod={{ loading }} {...getStyles('label')}>\n {children}\n </Box>\n\n {rightSection && (\n <Box component=\"span\" {...getStyles('section')} mod={{ position: 'right' }}>\n {rightSection}\n </Box>\n )}\n </span>\n </UnstyledButton>\n );\n});\n\nButton.classes = classes;\nButton.displayName = '@mantine/core/Button';\nButton.Group = ButtonGroup;\n"],"names":["createVarsResolver","getSize","getFontSize","getRadius","polymorphicFactory","useProps","useStyles","classes","React","UnstyledButton","Box","Loader","ButtonGroup"],"mappings":"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"}
|
|
@@ -57,7 +57,7 @@ const defaultProps = {
|
|
|
57
57
|
};
|
|
58
58
|
const varsResolver = createVarsResolver.createVarsResolver((theme, { size, radius, variant, color }) => {
|
|
59
59
|
const colors = theme.variantColorResolver({
|
|
60
|
-
color
|
|
60
|
+
color,
|
|
61
61
|
theme,
|
|
62
62
|
variant
|
|
63
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","sources":["../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineRadius,\n MantineSize,\n MantineColor,\n extractStyleProps,\n getSize,\n getRadius,\n getFontSize,\n} from '../../core';\nimport { CheckIcon } from '../Checkbox';\nimport { useChipGroupContext } from './ChipGroup.context';\nimport { ChipGroup } from './ChipGroup/ChipGroup';\nimport classes from './Chip.module.css';\n\nexport type ChipStylesNames = 'root' | 'input' | 'iconWrapper' | 'checkIcon' | 'label';\nexport type ChipVariant = 'outline' | 'filled' | 'light';\nexport type ChipCssVariables = {\n root:\n | '--chip-fz'\n | '--chip-size'\n | '--chip-icon-size'\n | '--chip-padding'\n | '--chip-checked-padding'\n | '--chip-radius'\n | '--chip-bg'\n | '--chip-hover'\n | '--chip-color'\n | '--chip-bd'\n | '--chip-spacing';\n};\n\nexport interface ChipProps\n extends BoxProps,\n StylesApiProps<ChipFactory>,\n ElementProps<'input', 'size' | 'onChange'> {\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `'xl'` by default */\n radius?: MantineRadius;\n\n /** Controls various properties, `'sm'` by default */\n size?: MantineSize;\n\n /** Chip input type */\n type?: 'radio' | 'checkbox';\n\n /** Chip label */\n children: React.ReactNode;\n\n /** Checked state for controlled component */\n checked?: boolean;\n\n /** Default checked state for uncontrolled component */\n defaultChecked?: boolean;\n\n /** Calls when checked state changes */\n onChange?: (checked: boolean) => void;\n\n /** Key of `theme.colors` or any valid CSS color, `theme.primaryColor` */\n color?: MantineColor;\n\n /** Static id to bind input with label */\n id?: string;\n\n /** Props passed down to the wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Replaces default icon */\n icon?: React.ReactNode;\n\n /** Assigns ref of the root element, can be used with `Tooltip` and other similar components */\n rootRef?: React.ForwardedRef<HTMLDivElement>;\n}\n\nexport type ChipFactory = Factory<{\n props: ChipProps;\n ref: HTMLInputElement;\n stylesNames: ChipStylesNames;\n vars: ChipCssVariables;\n variant: ChipVariant;\n staticComponents: {\n Group: typeof ChipGroup;\n };\n}>;\n\nconst defaultProps: Partial<ChipProps> = {\n type: 'checkbox',\n};\n\nconst varsResolver = createVarsResolver<ChipFactory>((theme, { size, radius, variant, color }) => {\n const colors = theme.variantColorResolver({\n color: color || theme.primaryColor,\n theme,\n variant: variant!,\n });\n\n return {\n root: {\n '--chip-fz': getFontSize(size),\n '--chip-size': getSize(size, 'chip-size'),\n '--chip-radius': radius === undefined ? undefined : getRadius(radius),\n '--chip-checked-padding': getSize(size, 'chip-checked-padding'),\n '--chip-padding': getSize(size, 'chip-padding'),\n '--chip-icon-size': getSize(size, 'chip-icon-size'),\n '--chip-bg': color || variant ? colors.background : undefined,\n '--chip-hover': color || variant ? colors.hover : undefined,\n '--chip-color': color || variant ? colors.color : undefined,\n '--chip-bd': color || variant ? colors.border : undefined,\n '--chip-spacing': getSize(size, 'chip-spacing'),\n },\n };\n});\n\nexport const Chip = factory<ChipFactory>((_props, ref) => {\n const props = useProps('Chip', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n id,\n checked,\n defaultChecked,\n onChange,\n value,\n wrapperProps,\n type,\n disabled,\n children,\n size,\n variant,\n icon,\n rootRef,\n ...others\n } = props;\n\n const getStyles = useStyles<ChipFactory>({\n name: 'Chip',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const ctx = useChipGroupContext();\n const uuid = useId(id);\n const { styleProps, rest } = extractStyleProps(others);\n\n const [_value, setValue] = useUncontrolled({\n value: checked,\n defaultValue: defaultChecked,\n finalValue: false,\n onChange,\n });\n\n const contextProps = ctx\n ? {\n checked: ctx.isChipSelected(value as string),\n onChange: ctx.onChange,\n type: ctx.multiple ? 'checkbox' : 'radio',\n }\n : {};\n\n const _checked = contextProps.checked || _value;\n\n return (\n <Box\n size={size}\n variant={variant}\n ref={rootRef}\n {...getStyles('root')}\n {...styleProps}\n {...wrapperProps}\n >\n <input\n type={type}\n {...getStyles('input')}\n checked={_checked}\n onChange={(event) => setValue(event.currentTarget.checked)}\n id={uuid}\n disabled={disabled}\n ref={ref}\n value={value}\n {...contextProps}\n {...rest}\n />\n\n <label\n htmlFor={uuid}\n data-checked={_checked || undefined}\n data-disabled={disabled || undefined}\n {...getStyles('label', { variant: variant || 'filled' })}\n >\n {_checked && (\n <span {...getStyles('iconWrapper')}>\n {icon || <CheckIcon {...getStyles('checkIcon')} />}\n </span>\n )}\n {children}\n </label>\n </Box>\n );\n});\n\nChip.classes = classes;\nChip.displayName = '@mantine/core/Chip';\nChip.Group = ChipGroup;\n"],"names":["createVarsResolver","getFontSize","getSize","getRadius","factory","useProps","useStyles","classes","useChipGroupContext","useId","extractStyleProps","useUncontrolled","React","Box","CheckIcon","ChipGroup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chip.js","sources":["../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineRadius,\n MantineSize,\n MantineColor,\n extractStyleProps,\n getSize,\n getRadius,\n getFontSize,\n} from '../../core';\nimport { CheckIcon } from '../Checkbox';\nimport { useChipGroupContext } from './ChipGroup.context';\nimport { ChipGroup } from './ChipGroup/ChipGroup';\nimport classes from './Chip.module.css';\n\nexport type ChipStylesNames = 'root' | 'input' | 'iconWrapper' | 'checkIcon' | 'label';\nexport type ChipVariant = 'outline' | 'filled' | 'light';\nexport type ChipCssVariables = {\n root:\n | '--chip-fz'\n | '--chip-size'\n | '--chip-icon-size'\n | '--chip-padding'\n | '--chip-checked-padding'\n | '--chip-radius'\n | '--chip-bg'\n | '--chip-hover'\n | '--chip-color'\n | '--chip-bd'\n | '--chip-spacing';\n};\n\nexport interface ChipProps\n extends BoxProps,\n StylesApiProps<ChipFactory>,\n ElementProps<'input', 'size' | 'onChange'> {\n /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `'xl'` by default */\n radius?: MantineRadius;\n\n /** Controls various properties, `'sm'` by default */\n size?: MantineSize;\n\n /** Chip input type */\n type?: 'radio' | 'checkbox';\n\n /** Chip label */\n children: React.ReactNode;\n\n /** Checked state for controlled component */\n checked?: boolean;\n\n /** Default checked state for uncontrolled component */\n defaultChecked?: boolean;\n\n /** Calls when checked state changes */\n onChange?: (checked: boolean) => void;\n\n /** Key of `theme.colors` or any valid CSS color, `theme.primaryColor` */\n color?: MantineColor;\n\n /** Static id to bind input with label */\n id?: string;\n\n /** Props passed down to the wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Replaces default icon */\n icon?: React.ReactNode;\n\n /** Assigns ref of the root element, can be used with `Tooltip` and other similar components */\n rootRef?: React.ForwardedRef<HTMLDivElement>;\n}\n\nexport type ChipFactory = Factory<{\n props: ChipProps;\n ref: HTMLInputElement;\n stylesNames: ChipStylesNames;\n vars: ChipCssVariables;\n variant: ChipVariant;\n staticComponents: {\n Group: typeof ChipGroup;\n };\n}>;\n\nconst defaultProps: Partial<ChipProps> = {\n type: 'checkbox',\n};\n\nconst varsResolver = createVarsResolver<ChipFactory>((theme, { size, radius, variant, color }) => {\n const colors = theme.variantColorResolver({\n color,\n theme,\n variant: variant!,\n });\n\n return {\n root: {\n '--chip-fz': getFontSize(size),\n '--chip-size': getSize(size, 'chip-size'),\n '--chip-radius': radius === undefined ? undefined : getRadius(radius),\n '--chip-checked-padding': getSize(size, 'chip-checked-padding'),\n '--chip-padding': getSize(size, 'chip-padding'),\n '--chip-icon-size': getSize(size, 'chip-icon-size'),\n '--chip-bg': color || variant ? colors.background : undefined,\n '--chip-hover': color || variant ? colors.hover : undefined,\n '--chip-color': color || variant ? colors.color : undefined,\n '--chip-bd': color || variant ? colors.border : undefined,\n '--chip-spacing': getSize(size, 'chip-spacing'),\n },\n };\n});\n\nexport const Chip = factory<ChipFactory>((_props, ref) => {\n const props = useProps('Chip', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n id,\n checked,\n defaultChecked,\n onChange,\n value,\n wrapperProps,\n type,\n disabled,\n children,\n size,\n variant,\n icon,\n rootRef,\n ...others\n } = props;\n\n const getStyles = useStyles<ChipFactory>({\n name: 'Chip',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const ctx = useChipGroupContext();\n const uuid = useId(id);\n const { styleProps, rest } = extractStyleProps(others);\n\n const [_value, setValue] = useUncontrolled({\n value: checked,\n defaultValue: defaultChecked,\n finalValue: false,\n onChange,\n });\n\n const contextProps = ctx\n ? {\n checked: ctx.isChipSelected(value as string),\n onChange: ctx.onChange,\n type: ctx.multiple ? 'checkbox' : 'radio',\n }\n : {};\n\n const _checked = contextProps.checked || _value;\n\n return (\n <Box\n size={size}\n variant={variant}\n ref={rootRef}\n {...getStyles('root')}\n {...styleProps}\n {...wrapperProps}\n >\n <input\n type={type}\n {...getStyles('input')}\n checked={_checked}\n onChange={(event) => setValue(event.currentTarget.checked)}\n id={uuid}\n disabled={disabled}\n ref={ref}\n value={value}\n {...contextProps}\n {...rest}\n />\n\n <label\n htmlFor={uuid}\n data-checked={_checked || undefined}\n data-disabled={disabled || undefined}\n {...getStyles('label', { variant: variant || 'filled' })}\n >\n {_checked && (\n <span {...getStyles('iconWrapper')}>\n {icon || <CheckIcon {...getStyles('checkIcon')} />}\n </span>\n )}\n {children}\n </label>\n </Box>\n );\n});\n\nChip.classes = classes;\nChip.displayName = '@mantine/core/Chip';\nChip.Group = ChipGroup;\n"],"names":["createVarsResolver","getFontSize","getSize","getRadius","factory","useProps","useStyles","classes","useChipGroupContext","useId","extractStyleProps","useUncontrolled","React","Box","CheckIcon","ChipGroup"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={item.value}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE;AAC5C,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK,KAAK,WAAW,CAAC;AACpF,CAAC;AACD,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE;AAC7E,EAAE,IAAI,CAACA,6BAAc,CAAC,IAAI,CAAC,EAAE;AAC7B,IAAI,MAAM,KAAK,GAAG,aAAa,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoBC,cAAK,CAAC,aAAa,CAACC,mBAAS,EAAE,EAAE,SAAS,EAAEC,0BAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;AACxK,IAAI,uBAAuBF,cAAK,CAAC,aAAa;AAC9C,MAAMG,iBAAQ,CAAC,MAAM;AACrB,MAAM;AACN,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK;AACzB,QAAQ,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC/B,QAAQ,SAAS,EAAEC,WAAE,CAAC,EAAE,CAACF,0BAAO,CAAC,qBAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC;AACrE,QAAQ,cAAc,EAAE,iBAAiB,KAAK,OAAO,IAAI,KAAK,CAAC;AAC/D,QAAQ,cAAc,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACnE,QAAQ,eAAe,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;AAC1D,OAAO;AACP,MAAM,iBAAiB,KAAK,MAAM,IAAI,KAAK;AAC3C,MAAM,IAAI,CAAC,KAAK;AAChB,MAAM,iBAAiB,KAAK,OAAO,IAAI,KAAK;AAC5C,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqBF,cAAK,CAAC,aAAa;AAC9E,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK;AACX,MAAM,GAAG,EAAE,IAAI,CAAC,KAAK;AACrB,MAAM,QAAQ;AACd,MAAM,aAAa;AACnB,MAAM,iBAAiB;AACvB,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AACM,SAAS,eAAe,CAAC;AAChC,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,eAAe;AACjB,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,KAAK;AACP,EAAE,iBAAiB;AACnB,EAAE,cAAc,GAAG,IAAI;AACvB,EAAE,aAAa,GAAG,IAAI;AACtB,EAAE,aAAa,GAAG,KAAK;AACvB,EAAE,KAAK;AACP,EAAE,iBAAiB;AACnB,EAAE,mBAAmB;AACrB,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,CAAC,EAAE;AACH,EAAEE,+BAAe,CAAC,IAAI,CAAC,CAAC;AACxB,EAAE,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;AAClD,EAAE,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,MAAM,IAAIC,yCAAoB,EAAE;AACvE,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,EAAE;AACvC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,QAAQ;AAC3C,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,MAAM,OAAO,GAAGC,uCAAmB,CAAC,YAAY,CAAC,CAAC;AACpD,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqBP,cAAK,CAAC,aAAa;AAChF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,GAAG,EAAED,6BAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AACzD,MAAM,aAAa;AACnB,MAAM,KAAK;AACX,MAAM,iBAAiB;AACvB,MAAM,QAAQ;AACd,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,eAAe,IAAI,OAAO,EAAE,kBAAkBH,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,mBAAmBH,cAAK,CAAC,aAAa;AACrP,IAAIQ,qBAAU,CAAC,QAAQ;AACvB,IAAI;AACJ,MAAM,GAAG,EAAE,iBAAiB,IAAI,IAAI,GAAG,iBAAiB,GAAG,GAAG;AAC9D,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,aAAa,EAAE,0BAA0B;AAC/C,MAAM,gBAAgB,EAAE,GAAG;AAC3B,MAAM,SAAS,EAAEN,0BAAO,CAAC,yBAAyB;AAClD,KAAK;AACL,IAAI,OAAO;AACX,GAAG,GAAG,OAAO,EAAE,OAAO,IAAI,mBAAmB,oBAAoBF,cAAK,CAAC,aAAa,CAACG,iBAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAClI;;"}
|
|
1
|
+
{"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={item.value}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ const defaultProps = {};
|
|
|
55
55
|
const varsResolver = createVarsResolver.createVarsResolver(
|
|
56
56
|
(theme, { variant, color, childrenOffset }) => {
|
|
57
57
|
const colors = theme.variantColorResolver({
|
|
58
|
-
color
|
|
58
|
+
color,
|
|
59
59
|
theme,
|
|
60
60
|
variant: variant || "light"
|
|
61
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavLink.js","sources":["../../../src/components/NavLink/NavLink.tsx"],"sourcesContent":["import React from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n polymorphicFactory,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n MantineColor,\n MantineSize,\n getSpacing,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { AccordionChevron } from '../Accordion';\nimport { Collapse } from '../Collapse';\nimport classes from './NavLink.module.css';\n\nexport type NavLinkStylesNames =\n | 'root'\n | 'section'\n | 'body'\n | 'label'\n | 'description'\n | 'chevron'\n | 'children';\nexport type NavLinkVariant = 'filled' | 'light' | 'subtle';\nexport type NavLinkCssVariables = {\n root: '--nl-color' | '--nl-bg' | '--nl-hover';\n children: '--nl-offset';\n};\n\nexport interface NavLinkProps extends BoxProps, StylesApiProps<NavLinkFactory> {\n /** Link content */\n label?: React.ReactNode;\n\n /** Link description */\n description?: React.ReactNode;\n\n /** Section displayed on the left side of the label */\n leftSection?: React.ReactNode;\n\n /** Section displayed on the right side of the label */\n rightSection?: React.ReactNode;\n\n /** Determines whether the link should have active styles, `false` by default */\n active?: boolean;\n\n /** Key of `theme.colors` of any valid CSS color to control active styles, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** If set, label and description will not wrap to the next line, `false` by default */\n noWrap?: boolean;\n\n /** Child `NavLink` components */\n children?: React.ReactNode;\n\n /** Controlled nested items collapse state */\n opened?: boolean;\n\n /** Uncontrolled nested items collapse initial state */\n defaultOpened?: boolean;\n\n /** Called when open state changes */\n onChange?: (opened: boolean) => void;\n\n /** If set, right section will not be rotated when collapse is opened, `false` by default */\n disableRightSectionRotation?: boolean;\n\n /** Key of `theme.spacing` or any valid CSS value to set collapsed links padding-left, `'lg'` by default */\n childrenOffset?: MantineSize | (string & {}) | number;\n\n /** If set, disabled styles will be added to the root element, `false` by default */\n disabled?: boolean;\n\n /** Called when the link is clicked */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n}\n\nexport type NavLinkFactory = PolymorphicFactory<{\n props: NavLinkProps;\n defaultRef: HTMLAnchorElement;\n defaultComponent: 'a';\n stylesNames: NavLinkStylesNames;\n vars: NavLinkCssVariables;\n variant: NavLinkVariant;\n}>;\n\nconst defaultProps: Partial<NavLinkProps> = {};\n\nconst varsResolver = createVarsResolver<NavLinkFactory>(\n (theme, { variant, color, childrenOffset }) => {\n const colors = theme.variantColorResolver({\n color: color || theme.primaryColor,\n theme,\n variant: variant || 'light',\n });\n\n return {\n root: {\n '--nl-bg': color || variant ? colors.background : undefined,\n '--nl-hover': color || variant ? colors.hover : undefined,\n '--nl-color': color || variant ? colors.color : undefined,\n },\n\n children: {\n '--nl-offset': getSpacing(childrenOffset),\n },\n };\n }\n);\n\nexport const NavLink = polymorphicFactory<NavLinkFactory>((_props, ref) => {\n const props = useProps('NavLink', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n opened,\n defaultOpened,\n onChange,\n children,\n onClick,\n active,\n disabled,\n leftSection,\n rightSection,\n label,\n description,\n disableRightSectionRotation,\n noWrap,\n childrenOffset,\n ...others\n } = props;\n\n const getStyles = useStyles<NavLinkFactory>({\n name: 'NavLink',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n\n const withChildren = !!children;\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (withChildren) {\n event.preventDefault();\n onClick?.(event);\n setOpened(!_opened);\n } else {\n onClick?.(event);\n }\n };\n\n return (\n <>\n <UnstyledButton\n {...getStyles('root')}\n component=\"a\"\n ref={ref}\n onClick={handleClick}\n unstyled={unstyled}\n mod={{ disabled, active, expanded: _opened }}\n {...others}\n >\n {leftSection && (\n <Box component=\"span\" {...getStyles('section')} mod={{ position: 'left' }}>\n {leftSection}\n </Box>\n )}\n <Box {...getStyles('body')} mod={{ 'no-wrap': noWrap }}>\n <Box component=\"span\" {...getStyles('label')}>\n {label}\n </Box>\n <Box component=\"span\" mod={{ active }} {...getStyles('description')}>\n {description}\n </Box>\n </Box>\n {(withChildren || rightSection) && (\n <Box\n {...getStyles('section')}\n component=\"span\"\n mod={{ rotate: _opened && !disableRightSectionRotation, position: 'right' }}\n >\n {withChildren\n ? rightSection || <AccordionChevron {...getStyles('chevron')} />\n : rightSection}\n </Box>\n )}\n </UnstyledButton>\n <Collapse in={_opened}>\n <div {...getStyles('children')}>{children}</div>\n </Collapse>\n </>\n );\n});\n\nNavLink.classes = classes;\nNavLink.displayName = '@mantine/core/NavLink';\n"],"names":["createVarsResolver","getSpacing","polymorphicFactory","useProps","useStyles","classes","useUncontrolled","React","UnstyledButton","Box","AccordionChevron","Collapse"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NavLink.js","sources":["../../../src/components/NavLink/NavLink.tsx"],"sourcesContent":["import React from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n polymorphicFactory,\n useProps,\n useStyles,\n createVarsResolver,\n PolymorphicFactory,\n MantineColor,\n MantineSize,\n getSpacing,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { AccordionChevron } from '../Accordion';\nimport { Collapse } from '../Collapse';\nimport classes from './NavLink.module.css';\n\nexport type NavLinkStylesNames =\n | 'root'\n | 'section'\n | 'body'\n | 'label'\n | 'description'\n | 'chevron'\n | 'children';\nexport type NavLinkVariant = 'filled' | 'light' | 'subtle';\nexport type NavLinkCssVariables = {\n root: '--nl-color' | '--nl-bg' | '--nl-hover';\n children: '--nl-offset';\n};\n\nexport interface NavLinkProps extends BoxProps, StylesApiProps<NavLinkFactory> {\n /** Link content */\n label?: React.ReactNode;\n\n /** Link description */\n description?: React.ReactNode;\n\n /** Section displayed on the left side of the label */\n leftSection?: React.ReactNode;\n\n /** Section displayed on the right side of the label */\n rightSection?: React.ReactNode;\n\n /** Determines whether the link should have active styles, `false` by default */\n active?: boolean;\n\n /** Key of `theme.colors` of any valid CSS color to control active styles, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** If set, label and description will not wrap to the next line, `false` by default */\n noWrap?: boolean;\n\n /** Child `NavLink` components */\n children?: React.ReactNode;\n\n /** Controlled nested items collapse state */\n opened?: boolean;\n\n /** Uncontrolled nested items collapse initial state */\n defaultOpened?: boolean;\n\n /** Called when open state changes */\n onChange?: (opened: boolean) => void;\n\n /** If set, right section will not be rotated when collapse is opened, `false` by default */\n disableRightSectionRotation?: boolean;\n\n /** Key of `theme.spacing` or any valid CSS value to set collapsed links padding-left, `'lg'` by default */\n childrenOffset?: MantineSize | (string & {}) | number;\n\n /** If set, disabled styles will be added to the root element, `false` by default */\n disabled?: boolean;\n\n /** Called when the link is clicked */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n}\n\nexport type NavLinkFactory = PolymorphicFactory<{\n props: NavLinkProps;\n defaultRef: HTMLAnchorElement;\n defaultComponent: 'a';\n stylesNames: NavLinkStylesNames;\n vars: NavLinkCssVariables;\n variant: NavLinkVariant;\n}>;\n\nconst defaultProps: Partial<NavLinkProps> = {};\n\nconst varsResolver = createVarsResolver<NavLinkFactory>(\n (theme, { variant, color, childrenOffset }) => {\n const colors = theme.variantColorResolver({\n color,\n theme,\n variant: variant || 'light',\n });\n\n return {\n root: {\n '--nl-bg': color || variant ? colors.background : undefined,\n '--nl-hover': color || variant ? colors.hover : undefined,\n '--nl-color': color || variant ? colors.color : undefined,\n },\n\n children: {\n '--nl-offset': getSpacing(childrenOffset),\n },\n };\n }\n);\n\nexport const NavLink = polymorphicFactory<NavLinkFactory>((_props, ref) => {\n const props = useProps('NavLink', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n opened,\n defaultOpened,\n onChange,\n children,\n onClick,\n active,\n disabled,\n leftSection,\n rightSection,\n label,\n description,\n disableRightSectionRotation,\n noWrap,\n childrenOffset,\n ...others\n } = props;\n\n const getStyles = useStyles<NavLinkFactory>({\n name: 'NavLink',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n\n const withChildren = !!children;\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (withChildren) {\n event.preventDefault();\n onClick?.(event);\n setOpened(!_opened);\n } else {\n onClick?.(event);\n }\n };\n\n return (\n <>\n <UnstyledButton\n {...getStyles('root')}\n component=\"a\"\n ref={ref}\n onClick={handleClick}\n unstyled={unstyled}\n mod={{ disabled, active, expanded: _opened }}\n {...others}\n >\n {leftSection && (\n <Box component=\"span\" {...getStyles('section')} mod={{ position: 'left' }}>\n {leftSection}\n </Box>\n )}\n <Box {...getStyles('body')} mod={{ 'no-wrap': noWrap }}>\n <Box component=\"span\" {...getStyles('label')}>\n {label}\n </Box>\n <Box component=\"span\" mod={{ active }} {...getStyles('description')}>\n {description}\n </Box>\n </Box>\n {(withChildren || rightSection) && (\n <Box\n {...getStyles('section')}\n component=\"span\"\n mod={{ rotate: _opened && !disableRightSectionRotation, position: 'right' }}\n >\n {withChildren\n ? rightSection || <AccordionChevron {...getStyles('chevron')} />\n : rightSection}\n </Box>\n )}\n </UnstyledButton>\n <Collapse in={_opened}>\n <div {...getStyles('children')}>{children}</div>\n </Collapse>\n </>\n );\n});\n\nNavLink.classes = classes;\nNavLink.displayName = '@mantine/core/NavLink';\n"],"names":["createVarsResolver","getSpacing","polymorphicFactory","useProps","useStyles","classes","useUncontrolled","React","UnstyledButton","Box","AccordionChevron","Collapse"],"mappings":"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"}
|
|
@@ -240,8 +240,9 @@ const Select = factory.factory((_props, ref) => {
|
|
|
240
240
|
onFocus == null ? void 0 : onFocus(event);
|
|
241
241
|
},
|
|
242
242
|
onBlur: (event) => {
|
|
243
|
+
var _a2;
|
|
243
244
|
searchable && combobox.closeDropdown();
|
|
244
|
-
setSearch(_value ? optionsLockup[_value].label : "");
|
|
245
|
+
setSearch(_value ? ((_a2 = optionsLockup[_value]) == null ? void 0 : _a2.label) || "" : "");
|
|
245
246
|
onBlur == null ? void 0 : onBlur(event);
|
|
246
247
|
},
|
|
247
248
|
onClick: (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __CloseButtonProps } from '../CloseButton';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?: (value: string | null) => void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Determines whether it should be possible to deselect value by clicking on the selected option, `true` by default */\n allowDeselect?: boolean;\n\n /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */\n clearable?: boolean;\n\n /** Props passed down to the clear button */\n clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearButtonProps,\n hiddenInputProps,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n useEffect(() => {\n if (value === null) {\n setSearch('');\n }\n\n if (typeof value === 'string' && selectedOption) {\n setSearch(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n const clearButton = clearable && !!_value && !disabled && !readOnly && (\n <Combobox.ClearButton\n size={size as string}\n {...clearButtonProps}\n onClear={() => {\n setValue(null);\n setSearch('');\n }}\n />\n );\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = allowDeselect\n ? optionsLockup[val].value === _value\n ? null\n : optionsLockup[val].value\n : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n id={_id}\n ref={ref}\n rightSection={\n rightSection ||\n clearButton || <Combobox.Chevron size={size} error={error} unstyled={unstyled} />\n }\n rightSectionPointerEvents={rightSectionPointerEvents || clearButton ? 'all' : 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value].label : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable || !nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={`${_id}-label`}\n />\n </Combobox>\n <input\n type=\"hidden\"\n name={name}\n value={_value || ''}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":["factory","useProps","useMemo","getParsedComboboxData","getOptionsLockup","useId","useUncontrolled","useCombobox","useResolvedStylesApi","useEffect","React","Combobox","InputBase","OptionsDropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __CloseButtonProps } from '../CloseButton';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?: (value: string | null) => void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Determines whether it should be possible to deselect value by clicking on the selected option, `true` by default */\n allowDeselect?: boolean;\n\n /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */\n clearable?: boolean;\n\n /** Props passed down to the clear button */\n clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearButtonProps,\n hiddenInputProps,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n useEffect(() => {\n if (value === null) {\n setSearch('');\n }\n\n if (typeof value === 'string' && selectedOption) {\n setSearch(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n const clearButton = clearable && !!_value && !disabled && !readOnly && (\n <Combobox.ClearButton\n size={size as string}\n {...clearButtonProps}\n onClear={() => {\n setValue(null);\n setSearch('');\n }}\n />\n );\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = allowDeselect\n ? optionsLockup[val].value === _value\n ? null\n : optionsLockup[val].value\n : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n id={_id}\n ref={ref}\n rightSection={\n rightSection ||\n clearButton || <Combobox.Chevron size={size} error={error} unstyled={unstyled} />\n }\n rightSectionPointerEvents={rightSectionPointerEvents || clearButton ? 'all' : 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value]?.label || '' : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable || !nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={`${_id}-label`}\n />\n </Combobox>\n <input\n type=\"hidden\"\n name={name}\n value={_value || ''}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":["factory","useProps","useMemo","getParsedComboboxData","getOptionsLockup","useId","useUncontrolled","useCombobox","useResolvedStylesApi","useEffect","React","Combobox","InputBase","OptionsDropdown"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAgBF,MAAM,YAAY,GAAG;AACrB,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,iBAAiB,EAAE,MAAM;AAC3B,CAAC,CAAC;AACU,MAAC,MAAM,GAAGA,eAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC/C,EAAE,MAAM,KAAK,GAAGC,iBAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACzD,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,qBAAqB;AACzB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,yBAAyB;AAC7B,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,aAAa;AACjB,IAAI,mBAAmB;AACvB,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,KAAK;AACT,IAAI,yBAAyB;AAC7B,IAAI,EAAE;AACN,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,gBAAgB;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,uBAAuB;AAC3B,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,2BAA2B;AAC/B,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,eAAe;AACnB,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,oBAAoB;AACxB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,OAAO;AACX,IAAI,2BAA2B;AAC/B,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAGC,aAAO,CAAC,MAAMC,2CAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,EAAE,MAAM,aAAa,GAAGD,aAAO,CAAC,MAAME,iCAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAClF,EAAE,MAAM,GAAG,GAAGC,WAAK,CAAC,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGC,qBAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;AACjE,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,qBAAe,CAAC;AAC9C,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,YAAY,EAAE,kBAAkB;AACpC,IAAI,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC,KAAK,GAAG,EAAE;AAC1D,IAAI,QAAQ,EAAE,cAAc;AAC5B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAGC,uBAAW,CAAC;AAC/B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,aAAa,EAAE,qBAAqB;AACxC,IAAI,cAAc;AAClB,IAAI,eAAe,EAAE,MAAM;AAC3B,MAAM,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AAC3D,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;AACrC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAGC,yCAAoB,CAAC;AACtE,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,yBAAyB,EAAE;AACnC,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;AACnC,KAAK;AACL,GAAG,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,EAAE;AACrD,MAAM,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACtC,KAAK;AACL,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9B,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,oBAAoBC,cAAK,CAAC,aAAa;AAC5G,IAAIC,iBAAQ,CAAC,WAAW;AACxB,IAAI,aAAa,CAAC,cAAc,CAAC;AACjC,MAAM,IAAI;AACV,KAAK,EAAE,gBAAgB,CAAC,EAAE;AAC1B,MAAM,OAAO,EAAE,MAAM;AACrB,QAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvB,QAAQ,SAAS,CAAC,EAAE,CAAC,CAAC;AACtB,OAAO;AACP,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,uBAAuBD,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkBA,cAAK,CAAC,aAAa;AACtG,IAAIC,iBAAQ;AACZ,IAAI,cAAc,CAAC;AACnB,MAAM,KAAK,EAAE,QAAQ;AACrB,MAAM,gBAAgB,EAAE,QAAQ;AAChC,MAAM,UAAU,EAAE,kBAAkB;AACpC,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,cAAc,EAAE,CAAC,GAAG,KAAK;AAC/B,QAAQ,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAC9D,QAAQ,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3I,QAAQ,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5B,QAAQ,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAC7D,QAAQ,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,OAAO;AACP,MAAM,IAAI;AACV,KAAK,EAAE,aAAa,CAAC;AACrB,oBAAoBD,cAAK,CAAC,aAAa,CAACC,iBAAQ,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,EAAE,kBAAkBD,cAAK,CAAC,aAAa;AAC7I,MAAME,mBAAS;AACf,MAAM,aAAa,CAAC,cAAc,CAAC;AACnC,QAAQ,EAAE,EAAE,GAAG;AACf,QAAQ,GAAG;AACX,QAAQ,YAAY,EAAE,YAAY,IAAI,WAAW,oBAAoBF,cAAK,CAAC,aAAa,CAACC,iBAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACrI,QAAQ,yBAAyB,EAAE,yBAAyB,IAAI,WAAW,GAAG,KAAK,GAAG,MAAM;AAC5F,OAAO,EAAE,MAAM,CAAC,EAAE;AAClB,QAAQ,IAAI;AACZ,QAAQ,gBAAgB,EAAE,QAAQ;AAClC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,QAAQ,IAAI,CAAC,UAAU;AACzC,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,QAAQ,EAAE,CAAC,KAAK,KAAK;AAC7B,UAAU,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/C,UAAU,QAAQ,CAAC,YAAY,EAAE,CAAC;AAClC,UAAU,yBAAyB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;AACpE,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,KAAK,KAAK;AAC5B,UAAU,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;AAChD,UAAU,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,MAAM,EAAE,CAAC,KAAK,KAAK;AAC3B,UAAU,IAAI,GAAG,CAAC;AAClB,UAAU,UAAU,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjD,UAAU,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACtG,UAAU,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,KAAK,KAAK;AAC5B,UAAU,UAAU,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC3E,UAAU,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,UAAU,EAAE,kBAAkB;AACtC,QAAQ,MAAM,EAAE,cAAc;AAC9B,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAE,CAAC,UAAU;AAC5B,QAAQ,KAAK;AACb,OAAO,CAAC;AACR,KAAK,CAAC;AACN,oBAAoBD,cAAK,CAAC,aAAa;AACvC,MAAMG,+BAAe;AACrB,MAAM;AACN,QAAQ,IAAI,EAAE,UAAU;AACxB,QAAQ,MAAM,EAAE,QAAQ,IAAI,QAAQ;AACpC,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,KAAK;AACb,QAAQ,eAAe,EAAE,CAAC,UAAU,IAAI,CAAC,mBAAmB;AAC5D,QAAQ,cAAc;AACtB,QAAQ,iBAAiB;AACzB,QAAQ,aAAa,EAAE,UAAU,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,MAAM,MAAM;AACxG,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,iBAAiB;AACzB,QAAQ,aAAa;AACrB,QAAQ,mBAAmB;AAC3B,QAAQ,QAAQ;AAChB,QAAQ,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;AAC/B,OAAO;AACP,KAAK;AACL,GAAG,kBAAkBH,cAAK,CAAC,aAAa;AACxC,IAAI,OAAO;AACX,IAAI,cAAc,CAAC;AACnB,MAAM,IAAI,EAAE,QAAQ;AACpB,MAAM,IAAI;AACV,MAAM,KAAK,EAAE,MAAM,IAAI,EAAE;AACzB,MAAM,IAAI;AACV,MAAM,QAAQ;AACd,KAAK,EAAE,gBAAgB,CAAC;AACxB,GAAG,CAAC,CAAC;AACL,CAAC,EAAE;AACH,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAEE,mBAAS,CAAC,OAAO,CAAC,EAAED,iBAAQ,CAAC,OAAO,CAAC,CAAC;AACzF,MAAM,CAAC,WAAW,GAAG,sBAAsB;;"}
|
|
@@ -107,8 +107,8 @@ const Spoiler = factory.factory((_props, ref) => {
|
|
|
107
107
|
const regionId = `${_id}-region`;
|
|
108
108
|
const [show, setShowState] = React.useState(initialState);
|
|
109
109
|
const { ref: contentRef, height } = hooks.useElementSize();
|
|
110
|
-
const spoiler = maxHeight < height;
|
|
111
110
|
const spoilerMoreContent = show ? hideLabel : showLabel;
|
|
111
|
+
const spoiler = spoilerMoreContent !== null && maxHeight < height;
|
|
112
112
|
return /* @__PURE__ */ React__default.createElement(
|
|
113
113
|
Box.Box,
|
|
114
114
|
__spreadValues(__spreadProps(__spreadValues({}, getStyles("root")), {
|