@mantine/core 5.9.3 → 5.9.5
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/Accordion/Accordion.context.js.map +1 -1
- package/cjs/Accordion/Accordion.js +2 -3
- package/cjs/Accordion/Accordion.js.map +1 -1
- package/cjs/Accordion/AccordionControl/AccordionControl.js +2 -3
- package/cjs/Accordion/AccordionControl/AccordionControl.js.map +1 -1
- package/cjs/Accordion/AccordionItem/AccordionItem.js +1 -2
- package/cjs/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/Accordion/AccordionPanel/AccordionPanel.js +1 -1
- package/cjs/Accordion/AccordionPanel/AccordionPanel.js.map +1 -1
- package/cjs/Accordion/AccordionProvider.js +8 -2
- package/cjs/Accordion/AccordionProvider.js.map +1 -1
- package/cjs/Box/style-system-props/system-props/system-props.js +6 -6
- package/cjs/Box/style-system-props/system-props/system-props.js.map +1 -1
- package/cjs/FileInput/FileInput.js +4 -1
- package/cjs/FileInput/FileInput.js.map +1 -1
- package/cjs/Input/Input.js +2 -1
- package/cjs/Input/Input.js.map +1 -1
- package/cjs/Input/InputError/InputError.js +1 -2
- package/cjs/Input/InputError/InputError.js.map +1 -1
- package/cjs/Input/InputWrapper/InputWrapper.js +13 -4
- package/cjs/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/cjs/Input/InputWrapper.context.js +2 -1
- package/cjs/Input/InputWrapper.context.js.map +1 -1
- package/cjs/List/List.context.js.map +1 -1
- package/cjs/List/List.js +13 -7
- package/cjs/List/List.js.map +1 -1
- package/cjs/List/ListItem/ListItem.js +11 -2
- package/cjs/List/ListItem/ListItem.js.map +1 -1
- package/cjs/Menu/Menu.context.js.map +1 -1
- package/cjs/Menu/Menu.js +4 -1
- package/cjs/Menu/Menu.js.map +1 -1
- package/cjs/Menu/MenuDivider/MenuDivider.js +2 -1
- package/cjs/Menu/MenuDivider/MenuDivider.js.map +1 -1
- package/cjs/Menu/MenuItem/MenuItem.js +1 -2
- package/cjs/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/Menu/MenuLabel/MenuLabel.js +2 -1
- package/cjs/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/cjs/Popover/Popover.context.js.map +1 -1
- package/cjs/Popover/Popover.js +7 -8
- package/cjs/Popover/Popover.js.map +1 -1
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +6 -2
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/cjs/Space/Space.js +5 -10
- package/cjs/Space/Space.js.map +1 -1
- package/cjs/Switch/Switch.styles.js +5 -4
- package/cjs/Switch/Switch.styles.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.js +2 -3
- package/cjs/Tabs/Tab/Tab.js.map +1 -1
- package/cjs/Tabs/Tabs.context.js.map +1 -1
- package/cjs/Tabs/Tabs.js +6 -7
- package/cjs/Tabs/Tabs.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.js +1 -2
- package/cjs/Tabs/TabsList/TabsList.js.map +1 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js +1 -2
- package/cjs/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/cjs/Tabs/TabsProvider.js +8 -2
- package/cjs/Tabs/TabsProvider.js.map +1 -1
- package/esm/Accordion/Accordion.context.js.map +1 -1
- package/esm/Accordion/Accordion.js +3 -4
- package/esm/Accordion/Accordion.js.map +1 -1
- package/esm/Accordion/AccordionControl/AccordionControl.js +3 -4
- package/esm/Accordion/AccordionControl/AccordionControl.js.map +1 -1
- package/esm/Accordion/AccordionItem/AccordionItem.js +2 -3
- package/esm/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/esm/Accordion/AccordionPanel/AccordionPanel.js +2 -2
- package/esm/Accordion/AccordionPanel/AccordionPanel.js.map +1 -1
- package/esm/Accordion/AccordionProvider.js +8 -2
- package/esm/Accordion/AccordionProvider.js.map +1 -1
- package/esm/Box/style-system-props/system-props/system-props.js +6 -6
- package/esm/Box/style-system-props/system-props/system-props.js.map +1 -1
- package/esm/FileInput/FileInput.js +4 -1
- package/esm/FileInput/FileInput.js.map +1 -1
- package/esm/Input/Input.js +2 -1
- package/esm/Input/Input.js.map +1 -1
- package/esm/Input/InputError/InputError.js +1 -2
- package/esm/Input/InputError/InputError.js.map +1 -1
- package/esm/Input/InputWrapper/InputWrapper.js +13 -4
- package/esm/Input/InputWrapper/InputWrapper.js.map +1 -1
- package/esm/Input/InputWrapper.context.js +2 -1
- package/esm/Input/InputWrapper.context.js.map +1 -1
- package/esm/List/List.context.js.map +1 -1
- package/esm/List/List.js +14 -8
- package/esm/List/List.js.map +1 -1
- package/esm/List/ListItem/ListItem.js +12 -3
- package/esm/List/ListItem/ListItem.js.map +1 -1
- package/esm/Menu/Menu.context.js.map +1 -1
- package/esm/Menu/Menu.js +4 -1
- package/esm/Menu/Menu.js.map +1 -1
- package/esm/Menu/MenuDivider/MenuDivider.js +3 -2
- package/esm/Menu/MenuDivider/MenuDivider.js.map +1 -1
- package/esm/Menu/MenuItem/MenuItem.js +2 -3
- package/esm/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/Menu/MenuLabel/MenuLabel.js +3 -2
- package/esm/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/esm/Popover/Popover.context.js.map +1 -1
- package/esm/Popover/Popover.js +8 -9
- package/esm/Popover/Popover.js.map +1 -1
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js +7 -3
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/esm/Space/Space.js +5 -10
- package/esm/Space/Space.js.map +1 -1
- package/esm/Switch/Switch.styles.js +5 -4
- package/esm/Switch/Switch.styles.js.map +1 -1
- package/esm/Tabs/Tab/Tab.js +3 -4
- package/esm/Tabs/Tab/Tab.js.map +1 -1
- package/esm/Tabs/Tabs.context.js.map +1 -1
- package/esm/Tabs/Tabs.js +7 -8
- package/esm/Tabs/Tabs.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.js +2 -3
- package/esm/Tabs/TabsList/TabsList.js.map +1 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js +2 -3
- package/esm/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/esm/Tabs/TabsProvider.js +8 -2
- package/esm/Tabs/TabsProvider.js.map +1 -1
- package/lib/Accordion/Accordion.context.d.ts +5 -1
- package/lib/Accordion/Accordion.context.d.ts.map +1 -1
- package/lib/Accordion/Accordion.d.ts.map +1 -1
- package/lib/Accordion/AccordionControl/AccordionControl.d.ts.map +1 -1
- package/lib/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/lib/Accordion/AccordionPanel/AccordionPanel.d.ts.map +1 -1
- package/lib/Accordion/AccordionProvider.d.ts +9 -2
- package/lib/Accordion/AccordionProvider.d.ts.map +1 -1
- package/lib/FileInput/FileInput.d.ts.map +1 -1
- package/lib/Input/Input.d.ts.map +1 -1
- package/lib/Input/InputWrapper/InputWrapper.d.ts.map +1 -1
- package/lib/Input/InputWrapper.context.d.ts +1 -0
- package/lib/Input/InputWrapper.context.d.ts.map +1 -1
- package/lib/List/List.context.d.ts +5 -1
- package/lib/List/List.context.d.ts.map +1 -1
- package/lib/List/List.d.ts.map +1 -1
- package/lib/List/ListItem/ListItem.d.ts.map +1 -1
- package/lib/Menu/Menu.context.d.ts +5 -1
- package/lib/Menu/Menu.context.d.ts.map +1 -1
- package/lib/Menu/Menu.d.ts.map +1 -1
- package/lib/Menu/MenuDivider/MenuDivider.d.ts.map +1 -1
- package/lib/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/Menu/MenuLabel/MenuLabel.d.ts.map +1 -1
- package/lib/Popover/Popover.context.d.ts +6 -2
- package/lib/Popover/Popover.context.d.ts.map +1 -1
- package/lib/Popover/Popover.d.ts.map +1 -1
- package/lib/Popover/PopoverDropdown/PopoverDropdown.d.ts.map +1 -1
- package/lib/Space/Space.d.ts +1 -5
- package/lib/Space/Space.d.ts.map +1 -1
- package/lib/Switch/Switch.styles.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
- package/lib/Tabs/Tabs.context.d.ts +6 -2
- package/lib/Tabs/Tabs.context.d.ts.map +1 -1
- package/lib/Tabs/Tabs.d.ts.map +1 -1
- package/lib/Tabs/TabsList/TabsList.d.ts.map +1 -1
- package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
- package/lib/Tabs/TabsProvider.d.ts +10 -3
- package/lib/Tabs/TabsProvider.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useComponentDefaultProps
|
|
2
|
+
import { useComponentDefaultProps } from '@mantine/styles';
|
|
3
3
|
import { useAccordionContext } from '../Accordion.context.js';
|
|
4
4
|
import { useAccordionItemContext } from '../AccordionItem.context.js';
|
|
5
5
|
import useStyles from './AccordionPanel.styles.js';
|
|
@@ -41,7 +41,7 @@ function AccordionPanel(props) {
|
|
|
41
41
|
const _a = useComponentDefaultProps("AccordionPanel", defaultProps, props), { children, className } = _a, others = __objRest(_a, ["children", "className"]);
|
|
42
42
|
const ctx = useAccordionContext();
|
|
43
43
|
const { value } = useAccordionItemContext();
|
|
44
|
-
const { classNames, styles, unstyled } =
|
|
44
|
+
const { classNames, styles, unstyled } = useAccordionContext();
|
|
45
45
|
const { classes, cx } = useStyles({ variant: ctx.variant, radius: ctx.radius }, { name: "Accordion", classNames, styles, unstyled });
|
|
46
46
|
return /* @__PURE__ */ React.createElement(Collapse, __spreadProps(__spreadValues({}, others), {
|
|
47
47
|
className: cx(classes.panel, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanel.js","sources":["../../../src/Accordion/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["import React from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"AccordionPanel.js","sources":["../../../src/Accordion/AccordionPanel/AccordionPanel.tsx"],"sourcesContent":["import React from 'react';\nimport { Selectors, DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { Collapse } from '../../Collapse';\nimport { useAccordionContext } from '../Accordion.context';\nimport { useAccordionItemContext } from '../AccordionItem.context';\nimport useStyles from './AccordionPanel.styles';\n\nexport type AccordionPanelStylesNames = Selectors<typeof useStyles>;\n\nexport interface AccordionPanelProps\n extends DefaultProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onTransitionEnd'> {\n /** Panel content */\n children?: React.ReactNode;\n}\n\nconst defaultProps: Partial<AccordionPanelProps> = {};\n\nexport function AccordionPanel(props: AccordionPanelProps) {\n const { children, className, ...others } = useComponentDefaultProps(\n 'AccordionPanel',\n defaultProps,\n props\n );\n\n const ctx = useAccordionContext();\n const { value } = useAccordionItemContext();\n const { classNames, styles, unstyled } = useAccordionContext();\n const { classes, cx } = useStyles(\n { variant: ctx.variant, radius: ctx.radius },\n { name: 'Accordion', classNames, styles, unstyled }\n );\n\n return (\n <Collapse\n {...others}\n className={cx(classes.panel, className)}\n in={ctx.isItemActive(value)}\n transitionDuration={ctx.transitionDuration}\n role=\"region\"\n id={ctx.getRegionId(value)}\n aria-labelledby={ctx.getControlId(value)}\n >\n <div className={classes.content}>{children}</div>\n </Collapse>\n );\n}\n\nAccordionPanel.displayName = '@mantine/core/AccordionPanel';\n"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,10 @@ function AccordionProvider({
|
|
|
19
19
|
order,
|
|
20
20
|
chevron,
|
|
21
21
|
variant,
|
|
22
|
-
radius
|
|
22
|
+
radius,
|
|
23
|
+
classNames,
|
|
24
|
+
styles,
|
|
25
|
+
unstyled
|
|
23
26
|
}) {
|
|
24
27
|
const uid = useId(id);
|
|
25
28
|
const [_value, handleChange] = useUncontrolled({
|
|
@@ -47,7 +50,10 @@ function AccordionProvider({
|
|
|
47
50
|
chevron,
|
|
48
51
|
loop,
|
|
49
52
|
variant,
|
|
50
|
-
radius
|
|
53
|
+
radius,
|
|
54
|
+
classNames,
|
|
55
|
+
styles,
|
|
56
|
+
unstyled
|
|
51
57
|
}
|
|
52
58
|
}, children);
|
|
53
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionProvider.js","sources":["../../src/Accordion/AccordionProvider.tsx"],"sourcesContent":["import React from 'react';\nimport { getSafeId } from '@mantine/utils';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport { MantineNumberSize } from '@mantine/styles';\nimport { AccordionContextProvider } from './Accordion.context';\nimport {\n AccordionValue,\n AccordionChevronPosition,\n AccordionHeadingOrder,\n AccordionVariant,\n} from './Accordion.types';\nimport { ACCORDION_ERRORS } from './Accordion.errors';\n\nexport interface AccordionProviderProps<Multiple extends boolean = false> {\n /** Base id, used to generate ids that connect labels with controls, by default generated randomly */\n id?: string;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first) */\n loop?: boolean;\n\n /** Accordion content */\n children: React.ReactNode;\n\n /** Determines whether multiple items can be opened at a time */\n multiple?: Multiple;\n\n /** Value for controlled component */\n value?: AccordionValue<Multiple>;\n\n /** Default value for uncontrolled component */\n defaultValue?: AccordionValue<Multiple>;\n\n /** Callback for controlled component */\n onChange?(value: AccordionValue<Multiple>): void;\n\n /** Transition duration in ms, set 0 to disable transitions */\n transitionDuration?: number;\n\n /** Determines whether chevron rotation should be disabled */\n disableChevronRotation?: boolean;\n\n /** Determines position of the chevron */\n chevronPosition?: AccordionChevronPosition;\n\n /** Chevron size in px */\n chevronSize?: number;\n\n /** Heading order, has no effect on visuals */\n order?: AccordionHeadingOrder;\n\n /** Replaces chevron on all items */\n chevron?: React.ReactNode;\n\n /** Controls visuals */\n variant?: AccordionVariant;\n\n /** border-radius from theme.radius or number to set value in px, will not be applied to default variant */\n radius?: MantineNumberSize;\n}\n\nexport function AccordionProvider<Multiple extends boolean = false>({\n children,\n multiple,\n value,\n defaultValue,\n onChange,\n id,\n loop,\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n variant,\n radius,\n}:
|
|
1
|
+
{"version":3,"file":"AccordionProvider.js","sources":["../../src/Accordion/AccordionProvider.tsx"],"sourcesContent":["import React from 'react';\nimport { getSafeId } from '@mantine/utils';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport { MantineNumberSize, ClassNames, Styles } from '@mantine/styles';\nimport { AccordionContextProvider } from './Accordion.context';\nimport {\n AccordionValue,\n AccordionChevronPosition,\n AccordionHeadingOrder,\n AccordionVariant,\n} from './Accordion.types';\nimport { ACCORDION_ERRORS } from './Accordion.errors';\nimport type { AccordionStylesNames } from './Accordion';\n\nexport interface AccordionProviderProps<Multiple extends boolean = false> {\n /** Base id, used to generate ids that connect labels with controls, by default generated randomly */\n id?: string;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first) */\n loop?: boolean;\n\n /** Accordion content */\n children: React.ReactNode;\n\n /** Determines whether multiple items can be opened at a time */\n multiple?: Multiple;\n\n /** Value for controlled component */\n value?: AccordionValue<Multiple>;\n\n /** Default value for uncontrolled component */\n defaultValue?: AccordionValue<Multiple>;\n\n /** Callback for controlled component */\n onChange?(value: AccordionValue<Multiple>): void;\n\n /** Transition duration in ms, set 0 to disable transitions */\n transitionDuration?: number;\n\n /** Determines whether chevron rotation should be disabled */\n disableChevronRotation?: boolean;\n\n /** Determines position of the chevron */\n chevronPosition?: AccordionChevronPosition;\n\n /** Chevron size in px */\n chevronSize?: number;\n\n /** Heading order, has no effect on visuals */\n order?: AccordionHeadingOrder;\n\n /** Replaces chevron on all items */\n chevron?: React.ReactNode;\n\n /** Controls visuals */\n variant?: AccordionVariant;\n\n /** border-radius from theme.radius or number to set value in px, will not be applied to default variant */\n radius?: MantineNumberSize;\n}\n\ninterface _AccordionProviderProps<Multiple extends boolean = false>\n extends AccordionProviderProps<Multiple> {\n classNames?: ClassNames<AccordionStylesNames>;\n styles?: Styles<AccordionStylesNames>;\n unstyled?: boolean;\n}\n\nexport function AccordionProvider<Multiple extends boolean = false>({\n children,\n multiple,\n value,\n defaultValue,\n onChange,\n id,\n loop,\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n variant,\n radius,\n classNames,\n styles,\n unstyled,\n}: _AccordionProviderProps<Multiple>) {\n const uid = useId(id);\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: multiple ? ([] as any) : null,\n onChange,\n });\n\n const isItemActive = (itemValue: string) =>\n Array.isArray(_value) ? _value.includes(itemValue) : itemValue === _value;\n\n const handleItemChange = (itemValue: string) => {\n const nextValue: AccordionValue<Multiple> = Array.isArray(_value)\n ? _value.includes(itemValue)\n ? _value.filter((selectedValue) => selectedValue !== itemValue)\n : [..._value, itemValue]\n : itemValue === _value\n ? null\n : (itemValue as any);\n\n handleChange(nextValue);\n };\n\n return (\n <AccordionContextProvider\n value={{\n isItemActive,\n onChange: handleItemChange,\n getControlId: getSafeId(`${uid}-control`, ACCORDION_ERRORS.value),\n getRegionId: getSafeId(`${uid}-panel`, ACCORDION_ERRORS.value),\n transitionDuration,\n disableChevronRotation,\n chevronPosition,\n chevronSize,\n order,\n chevron,\n loop,\n variant,\n radius,\n classNames,\n styles,\n unstyled,\n }}\n >\n {children}\n </AccordionContextProvider>\n );\n}\n"],"names":[],"mappings":";;;;;;AAKO,SAAS,iBAAiB,CAAC;AAClC,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,EAAE;AACJ,EAAE,IAAI;AACN,EAAE,kBAAkB;AACpB,EAAE,sBAAsB;AACxB,EAAE,eAAe;AACjB,EAAE,WAAW;AACb,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,eAAe,CAAC;AACjD,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,QAAQ,GAAG,EAAE,GAAG,IAAI;AACpC,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,KAAK,MAAM,CAAC;AAChH,EAAE,MAAM,gBAAgB,GAAG,CAAC,SAAS,KAAK;AAC1C,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,aAAa,KAAK,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAC5M,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,wBAAwB,EAAE;AACvE,IAAI,KAAK,EAAE;AACX,MAAM,YAAY;AAClB,MAAM,QAAQ,EAAE,gBAAgB;AAChC,MAAM,YAAY,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;AACvE,MAAM,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;AACpE,MAAM,kBAAkB;AACxB,MAAM,sBAAsB;AAC5B,MAAM,eAAe;AACrB,MAAM,WAAW;AACjB,MAAM,KAAK;AACX,MAAM,OAAO;AACb,MAAM,IAAI;AACV,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,KAAK;AACL,GAAG,EAAE,QAAQ,CAAC,CAAC;AACf;;;;"}
|
|
@@ -25,12 +25,12 @@ const SYSTEM_PROPS = {
|
|
|
25
25
|
fs: { type: "default", property: "fontStyle" },
|
|
26
26
|
tt: { type: "default", property: "textTransform" },
|
|
27
27
|
td: { type: "default", property: "textDecoration" },
|
|
28
|
-
w: { type: "
|
|
29
|
-
miw: { type: "
|
|
30
|
-
maw: { type: "
|
|
31
|
-
h: { type: "
|
|
32
|
-
mih: { type: "
|
|
33
|
-
mah: { type: "
|
|
28
|
+
w: { type: "spacing", property: "width" },
|
|
29
|
+
miw: { type: "spacing", property: "minWidth" },
|
|
30
|
+
maw: { type: "spacing", property: "maxWidth" },
|
|
31
|
+
h: { type: "spacing", property: "height" },
|
|
32
|
+
mih: { type: "spacing", property: "minHeight" },
|
|
33
|
+
mah: { type: "spacing", property: "maxHeight" },
|
|
34
34
|
bgsz: { type: "default", property: "background-size" },
|
|
35
35
|
bgp: { type: "default", property: "background-position" },
|
|
36
36
|
bgr: { type: "default", property: "background-repeat" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-props.js","sources":["../../../../src/Box/style-system-props/system-props/system-props.ts"],"sourcesContent":["import type { StyleProperty } from '../get-responsive-value/get-responsive-value';\nimport type { SystemValueType } from '../value-getters/value-getters';\n\nexport interface SystemPropData {\n type: SystemValueType;\n property: StyleProperty;\n}\n\nexport const SYSTEM_PROPS: Record<string, SystemPropData> = {\n m: { type: 'spacing', property: 'margin' },\n mt: { type: 'spacing', property: 'marginTop' },\n mb: { type: 'spacing', property: 'marginBottom' },\n ml: { type: 'spacing', property: 'marginLeft' },\n mr: { type: 'spacing', property: 'marginRight' },\n mx: { type: 'spacing', property: ['marginRight', 'marginLeft'] },\n my: { type: 'spacing', property: ['marginTop', 'marginBottom'] },\n\n p: { type: 'spacing', property: 'padding' },\n pt: { type: 'spacing', property: 'paddingTop' },\n pb: { type: 'spacing', property: 'paddingBottom' },\n pl: { type: 'spacing', property: 'paddingLeft' },\n pr: { type: 'spacing', property: 'paddingRight' },\n px: { type: 'spacing', property: ['paddingRight', 'paddingLeft'] },\n py: { type: 'spacing', property: ['paddingTop', 'paddingBottom'] },\n\n bg: { type: 'color', property: 'background' },\n c: { type: 'color', property: 'color' },\n opacity: { type: 'default', property: 'opacity' },\n\n ff: { type: 'default', property: 'fontFamily' },\n fz: { type: 'fontSize', property: 'fontSize' },\n fw: { type: 'default', property: 'fontWeight' },\n lts: { type: 'default', property: 'letterSpacing' },\n ta: { type: 'default', property: 'textAlign' },\n lh: { type: 'default', property: 'lineHeight' },\n fs: { type: 'default', property: 'fontStyle' },\n tt: { type: 'default', property: 'textTransform' },\n td: { type: 'default', property: 'textDecoration' },\n\n w: { type: '
|
|
1
|
+
{"version":3,"file":"system-props.js","sources":["../../../../src/Box/style-system-props/system-props/system-props.ts"],"sourcesContent":["import type { StyleProperty } from '../get-responsive-value/get-responsive-value';\nimport type { SystemValueType } from '../value-getters/value-getters';\n\nexport interface SystemPropData {\n type: SystemValueType;\n property: StyleProperty;\n}\n\nexport const SYSTEM_PROPS: Record<string, SystemPropData> = {\n m: { type: 'spacing', property: 'margin' },\n mt: { type: 'spacing', property: 'marginTop' },\n mb: { type: 'spacing', property: 'marginBottom' },\n ml: { type: 'spacing', property: 'marginLeft' },\n mr: { type: 'spacing', property: 'marginRight' },\n mx: { type: 'spacing', property: ['marginRight', 'marginLeft'] },\n my: { type: 'spacing', property: ['marginTop', 'marginBottom'] },\n\n p: { type: 'spacing', property: 'padding' },\n pt: { type: 'spacing', property: 'paddingTop' },\n pb: { type: 'spacing', property: 'paddingBottom' },\n pl: { type: 'spacing', property: 'paddingLeft' },\n pr: { type: 'spacing', property: 'paddingRight' },\n px: { type: 'spacing', property: ['paddingRight', 'paddingLeft'] },\n py: { type: 'spacing', property: ['paddingTop', 'paddingBottom'] },\n\n bg: { type: 'color', property: 'background' },\n c: { type: 'color', property: 'color' },\n opacity: { type: 'default', property: 'opacity' },\n\n ff: { type: 'default', property: 'fontFamily' },\n fz: { type: 'fontSize', property: 'fontSize' },\n fw: { type: 'default', property: 'fontWeight' },\n lts: { type: 'default', property: 'letterSpacing' },\n ta: { type: 'default', property: 'textAlign' },\n lh: { type: 'default', property: 'lineHeight' },\n fs: { type: 'default', property: 'fontStyle' },\n tt: { type: 'default', property: 'textTransform' },\n td: { type: 'default', property: 'textDecoration' },\n\n w: { type: 'spacing', property: 'width' },\n miw: { type: 'spacing', property: 'minWidth' },\n maw: { type: 'spacing', property: 'maxWidth' },\n h: { type: 'spacing', property: 'height' },\n mih: { type: 'spacing', property: 'minHeight' },\n mah: { type: 'spacing', property: 'maxHeight' },\n\n bgsz: { type: 'default', property: 'background-size' },\n bgp: { type: 'default', property: 'background-position' },\n bgr: { type: 'default', property: 'background-repeat' },\n bga: { type: 'default', property: 'background-attachment' },\n\n pos: { type: 'default', property: 'position' },\n top: { type: 'default', property: 'top' },\n left: { type: 'default', property: 'left' },\n bottom: { type: 'default', property: 'bottom' },\n right: { type: 'default', property: 'right' },\n inset: { type: 'default', property: 'inset' },\n\n display: { type: 'default', property: 'display' },\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { useInputProps } from '../Input/use-input-props.js';
|
|
|
5
5
|
import { CloseButton } from '../CloseButton/CloseButton.js';
|
|
6
6
|
import { Input } from '../Input/Input.js';
|
|
7
7
|
import { FileButton } from '../FileButton/FileButton.js';
|
|
8
|
+
import { Text } from '../Text/Text.js';
|
|
8
9
|
|
|
9
10
|
var __defProp = Object.defineProperty;
|
|
10
11
|
var __defProps = Object.defineProperties;
|
|
@@ -37,7 +38,9 @@ var __objRest = (source, exclude) => {
|
|
|
37
38
|
}
|
|
38
39
|
return target;
|
|
39
40
|
};
|
|
40
|
-
const DefaultValue = ({ value }) => /* @__PURE__ */ React.createElement(
|
|
41
|
+
const DefaultValue = ({ value }) => /* @__PURE__ */ React.createElement(Text, {
|
|
42
|
+
sx: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }
|
|
43
|
+
}, Array.isArray(value) ? value.map((file) => file.name).join(", ") : value == null ? void 0 : value.name);
|
|
41
44
|
const defaultProps = {
|
|
42
45
|
size: "sm",
|
|
43
46
|
valueComponent: DefaultValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileInput.js","sources":["../../src/FileInput/FileInput.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n} from '../Input';\nimport { CloseButton } from '../CloseButton';\nimport { FileButton } from '../FileButton';\nimport useStyles from './FileInput.styles';\n\nexport type FileInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | Selectors<typeof useStyles>;\n\nexport interface FileInputProps<Multiple extends boolean = false>\n extends DefaultProps<FileInputStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'size' | 'onChange' | 'value' | 'defaultValue'> {\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: Record<string, any>;\n\n /** Called when user picks files */\n onChange?(payload: Multiple extends true ? File[] : File | null): void;\n\n /** Controlled input value */\n value?: Multiple extends true ? File[] : File | null;\n\n /** Uncontrolled input default value */\n defaultValue?: Multiple extends true ? File[] : File | null;\n\n /** Input size */\n size?: MantineSize;\n\n /** Determines whether user can pick more than one file */\n multiple?: Multiple;\n\n /** File input accept attribute, for example, \"image/png,image/jpeg\" */\n accept?: string;\n\n /** Input name attribute */\n name?: string;\n\n /** Input form attribute */\n form?: string;\n\n /** Current value renderer */\n valueComponent?: React.FC<{ value: null | File | File[] }>;\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n\n /** Determines whether the user can change value */\n readOnly?: boolean;\n}\n\nconst DefaultValue: FileInputProps['valueComponent'] = ({ value }) => (\n <span>{Array.isArray(value) ? value.map((file) => file.name).join(', ') : value?.name}</span>\n);\n\nconst defaultProps: Partial<FileInputProps> = {\n size: 'sm',\n valueComponent: DefaultValue,\n clearButtonTabIndex: 0,\n};\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport const _FileInput = forwardRef<HTMLButtonElement, FileInputProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n placeholder,\n value,\n defaultValue,\n onChange,\n multiple,\n accept,\n name,\n form,\n classNames,\n styles,\n unstyled,\n valueComponent: ValueComponent,\n rightSection,\n rightSectionWidth,\n clearable,\n clearButtonLabel,\n clearButtonTabIndex,\n readOnly,\n ...others\n } = useInputProps('FileInput', defaultProps, props);\n const resetRef = useRef<() => void>();\n const { classes, theme, cx } = useStyles(null, {\n name: 'FileInput',\n classNames,\n styles,\n unstyled,\n });\n\n const [_value, setValue] = useUncontrolled<File | File[]>({\n value,\n defaultValue,\n onChange,\n finalValue: multiple ? [] : null,\n });\n\n const hasValue = Array.isArray(_value) ? _value.length !== 0 : _value !== null;\n\n const _rightSection =\n rightSection ||\n (clearable && hasValue && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={() => setValue(multiple ? [] : null)}\n size={inputProps.size}\n tabIndex={clearButtonTabIndex}\n unstyled={unstyled}\n />\n ) : null);\n\n useEffect(() => {\n if ((Array.isArray(_value) && _value.length === 0) || _value === null) {\n resetRef.current();\n }\n }, [_value]);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"FileInput\">\n <FileButton\n onChange={setValue}\n multiple={multiple}\n accept={accept}\n name={name}\n form={form}\n resetRef={resetRef}\n disabled={readOnly}\n >\n {(fileButtonProps) => (\n <Input\n multiline\n {...fileButtonProps}\n {...inputProps}\n {...others}\n component=\"button\"\n type=\"button\"\n ref={ref}\n __staticSelector=\"FileInput\"\n rightSection={_rightSection}\n rightSectionWidth={\n rightSectionWidth ||\n theme.fn.size({ size: inputProps.size, sizes: RIGHT_SECTION_WIDTH })\n }\n classNames={{ ...classNames, input: cx(classes.input, (classNames as any)?.input) }}\n >\n {!hasValue ? (\n <Input.Placeholder className={classes.placeholder}>{placeholder}</Input.Placeholder>\n ) : (\n <ValueComponent value={_value} />\n )}\n </Input>\n )}\n </FileButton>\n </Input.Wrapper>\n );\n});\n\n_FileInput.displayName = '@mantine/core/FileInput';\n\ntype FileInputComponent = <Multiple extends boolean = false>(\n props: FileInputProps<Multiple> & {\n ref?: React.ForwardedRef<HTMLButtonElement>;\n }\n) => JSX.Element;\n\nexport const FileInput: FileInputComponent = _FileInput as any;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileInput.js","sources":["../../src/FileInput/FileInput.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { useUncontrolled } from '@mantine/hooks';\nimport {\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n} from '../Input';\nimport { Text } from '../Text';\nimport { CloseButton } from '../CloseButton';\nimport { FileButton } from '../FileButton';\nimport useStyles from './FileInput.styles';\n\nexport type FileInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | Selectors<typeof useStyles>;\n\nexport interface FileInputProps<Multiple extends boolean = false>\n extends DefaultProps<FileInputStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'size' | 'onChange' | 'value' | 'defaultValue'> {\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: Record<string, any>;\n\n /** Called when user picks files */\n onChange?(payload: Multiple extends true ? File[] : File | null): void;\n\n /** Controlled input value */\n value?: Multiple extends true ? File[] : File | null;\n\n /** Uncontrolled input default value */\n defaultValue?: Multiple extends true ? File[] : File | null;\n\n /** Input size */\n size?: MantineSize;\n\n /** Determines whether user can pick more than one file */\n multiple?: Multiple;\n\n /** File input accept attribute, for example, \"image/png,image/jpeg\" */\n accept?: string;\n\n /** Input name attribute */\n name?: string;\n\n /** Input form attribute */\n form?: string;\n\n /** Current value renderer */\n valueComponent?: React.FC<{ value: null | File | File[] }>;\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n\n /** Determines whether the user can change value */\n readOnly?: boolean;\n}\n\nconst DefaultValue: FileInputProps['valueComponent'] = ({ value }) => (\n <Text sx={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>\n {Array.isArray(value) ? value.map((file) => file.name).join(', ') : value?.name}\n </Text>\n);\n\nconst defaultProps: Partial<FileInputProps> = {\n size: 'sm',\n valueComponent: DefaultValue,\n clearButtonTabIndex: 0,\n};\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport const _FileInput = forwardRef<HTMLButtonElement, FileInputProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n placeholder,\n value,\n defaultValue,\n onChange,\n multiple,\n accept,\n name,\n form,\n classNames,\n styles,\n unstyled,\n valueComponent: ValueComponent,\n rightSection,\n rightSectionWidth,\n clearable,\n clearButtonLabel,\n clearButtonTabIndex,\n readOnly,\n ...others\n } = useInputProps('FileInput', defaultProps, props);\n const resetRef = useRef<() => void>();\n const { classes, theme, cx } = useStyles(null, {\n name: 'FileInput',\n classNames,\n styles,\n unstyled,\n });\n\n const [_value, setValue] = useUncontrolled<File | File[]>({\n value,\n defaultValue,\n onChange,\n finalValue: multiple ? [] : null,\n });\n\n const hasValue = Array.isArray(_value) ? _value.length !== 0 : _value !== null;\n\n const _rightSection =\n rightSection ||\n (clearable && hasValue && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={() => setValue(multiple ? [] : null)}\n size={inputProps.size}\n tabIndex={clearButtonTabIndex}\n unstyled={unstyled}\n />\n ) : null);\n\n useEffect(() => {\n if ((Array.isArray(_value) && _value.length === 0) || _value === null) {\n resetRef.current();\n }\n }, [_value]);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"FileInput\">\n <FileButton\n onChange={setValue}\n multiple={multiple}\n accept={accept}\n name={name}\n form={form}\n resetRef={resetRef}\n disabled={readOnly}\n >\n {(fileButtonProps) => (\n <Input\n multiline\n {...fileButtonProps}\n {...inputProps}\n {...others}\n component=\"button\"\n type=\"button\"\n ref={ref}\n __staticSelector=\"FileInput\"\n rightSection={_rightSection}\n rightSectionWidth={\n rightSectionWidth ||\n theme.fn.size({ size: inputProps.size, sizes: RIGHT_SECTION_WIDTH })\n }\n classNames={{ ...classNames, input: cx(classes.input, (classNames as any)?.input) }}\n >\n {!hasValue ? (\n <Input.Placeholder className={classes.placeholder}>{placeholder}</Input.Placeholder>\n ) : (\n <ValueComponent value={_value} />\n )}\n </Input>\n )}\n </FileButton>\n </Input.Wrapper>\n );\n});\n\n_FileInput.displayName = '@mantine/core/FileInput';\n\ntype FileInputComponent = <Multiple extends boolean = false>(\n props: FileInputProps<Multiple> & {\n ref?: React.ForwardedRef<HTMLButtonElement>;\n }\n) => JSX.Element;\n\nexport const FileInput: FileInputComponent = _FileInput as any;\n"],"names":[],"mappings":"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"}
|
package/esm/Input/Input.js
CHANGED
|
@@ -93,7 +93,7 @@ const _Input = forwardRef((props, ref) => {
|
|
|
93
93
|
"unstyled",
|
|
94
94
|
"pointer"
|
|
95
95
|
]);
|
|
96
|
-
const { offsetBottom, offsetTop } = useInputWrapperContext();
|
|
96
|
+
const { offsetBottom, offsetTop, describedBy } = useInputWrapperContext();
|
|
97
97
|
const { classes, cx } = useStyles({
|
|
98
98
|
radius,
|
|
99
99
|
size,
|
|
@@ -120,6 +120,7 @@ const _Input = forwardRef((props, ref) => {
|
|
|
120
120
|
ref,
|
|
121
121
|
required,
|
|
122
122
|
"aria-invalid": invalid,
|
|
123
|
+
"aria-describedby": describedBy,
|
|
123
124
|
disabled,
|
|
124
125
|
className: cx(classes[`${variant}Variant`], classes.input, {
|
|
125
126
|
[classes.withIcon]: icon,
|
package/esm/Input/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../src/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Box, extractSystemStyles } from '../Box';\nimport { InputWrapper } from './InputWrapper/InputWrapper';\nimport { InputDescription } from './InputDescription/InputDescription';\nimport { InputLabel } from './InputLabel/InputLabel';\nimport { InputError } from './InputError/InputError';\nimport { InputPlaceholder } from './InputPlaceholder/InputPlaceholder';\nimport { useInputWrapperContext } from './InputWrapper.context';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = Selectors<typeof useStyles>;\n\nexport interface InputSharedProps {\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Width of icon section in px */\n iconWidth?: React.CSSProperties['width'];\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: React.CSSProperties['width'];\n\n /** Props spread to rightSection div element */\n rightSectionProps?: Record<string, any>;\n\n /** Properties spread to root element */\n wrapperProps?: Record<string, any>;\n\n /** Sets required on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\nexport interface InputProps extends InputSharedProps, DefaultProps<InputStylesNames> {\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n\n /** Determines whether cursor on input should be pointer */\n pointer?: boolean;\n}\n\nconst defaultProps: Partial<InputProps> = {\n rightSectionWidth: 36,\n size: 'sm',\n variant: 'default',\n};\n\nexport const _Input = forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n className,\n invalid,\n required,\n disabled,\n variant,\n icon,\n style,\n rightSectionWidth,\n iconWidth,\n rightSection,\n rightSectionProps,\n radius,\n size,\n wrapperProps,\n classNames,\n styles,\n __staticSelector,\n multiline,\n sx,\n unstyled,\n pointer,\n ...others\n } = useComponentDefaultProps('Input', defaultProps, props);\n const { offsetBottom, offsetTop } = useInputWrapperContext();\n\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant,\n invalid,\n rightSectionWidth,\n iconWidth,\n withRightSection: !!rightSection,\n offsetBottom,\n offsetTop,\n pointer,\n },\n { classNames, styles, name: ['Input', __staticSelector], unstyled }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n\n return (\n <Box\n className={cx(classes.wrapper, className)}\n sx={sx}\n style={style}\n {...systemStyles}\n {...wrapperProps}\n >\n {icon && <div className={classes.icon}>{icon}</div>}\n\n <Box\n component=\"input\"\n {...rest}\n ref={ref}\n required={required}\n aria-invalid={invalid}\n disabled={disabled}\n className={cx(classes[`${variant}Variant`], classes.input, {\n [classes.withIcon]: icon,\n [classes.invalid]: invalid,\n [classes.disabled]: disabled,\n })}\n />\n\n {rightSection && (\n <div {...rightSectionProps} className={classes.rightSection}>\n {rightSection}\n </div>\n )}\n </Box>\n );\n}) as any;\n\n_Input.displayName = '@mantine/core/Input';\n_Input.Wrapper = InputWrapper;\n_Input.Label = InputLabel;\n_Input.Description = InputDescription;\n_Input.Error = InputError;\n_Input.Placeholder = InputPlaceholder;\n\nexport const Input = createPolymorphicComponent<\n 'input',\n InputProps,\n {\n Wrapper: typeof InputWrapper;\n Label: typeof InputLabel;\n Description: typeof InputDescription;\n Error: typeof InputError;\n Placeholder: typeof InputPlaceholder;\n }\n>(_Input);\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../src/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Box, extractSystemStyles } from '../Box';\nimport { InputWrapper } from './InputWrapper/InputWrapper';\nimport { InputDescription } from './InputDescription/InputDescription';\nimport { InputLabel } from './InputLabel/InputLabel';\nimport { InputError } from './InputError/InputError';\nimport { InputPlaceholder } from './InputPlaceholder/InputPlaceholder';\nimport { useInputWrapperContext } from './InputWrapper.context';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = Selectors<typeof useStyles>;\n\nexport interface InputSharedProps {\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Width of icon section in px */\n iconWidth?: React.CSSProperties['width'];\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: React.CSSProperties['width'];\n\n /** Props spread to rightSection div element */\n rightSectionProps?: Record<string, any>;\n\n /** Properties spread to root element */\n wrapperProps?: Record<string, any>;\n\n /** Sets required on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\nexport interface InputProps extends InputSharedProps, DefaultProps<InputStylesNames> {\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n\n /** Determines whether cursor on input should be pointer */\n pointer?: boolean;\n}\n\nconst defaultProps: Partial<InputProps> = {\n rightSectionWidth: 36,\n size: 'sm',\n variant: 'default',\n};\n\nexport const _Input = forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n className,\n invalid,\n required,\n disabled,\n variant,\n icon,\n style,\n rightSectionWidth,\n iconWidth,\n rightSection,\n rightSectionProps,\n radius,\n size,\n wrapperProps,\n classNames,\n styles,\n __staticSelector,\n multiline,\n sx,\n unstyled,\n pointer,\n ...others\n } = useComponentDefaultProps('Input', defaultProps, props);\n const { offsetBottom, offsetTop, describedBy } = useInputWrapperContext();\n\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant,\n invalid,\n rightSectionWidth,\n iconWidth,\n withRightSection: !!rightSection,\n offsetBottom,\n offsetTop,\n pointer,\n },\n { classNames, styles, name: ['Input', __staticSelector], unstyled }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n\n return (\n <Box\n className={cx(classes.wrapper, className)}\n sx={sx}\n style={style}\n {...systemStyles}\n {...wrapperProps}\n >\n {icon && <div className={classes.icon}>{icon}</div>}\n\n <Box\n component=\"input\"\n {...rest}\n ref={ref}\n required={required}\n aria-invalid={invalid}\n aria-describedby={describedBy}\n disabled={disabled}\n className={cx(classes[`${variant}Variant`], classes.input, {\n [classes.withIcon]: icon,\n [classes.invalid]: invalid,\n [classes.disabled]: disabled,\n })}\n />\n\n {rightSection && (\n <div {...rightSectionProps} className={classes.rightSection}>\n {rightSection}\n </div>\n )}\n </Box>\n );\n}) as any;\n\n_Input.displayName = '@mantine/core/Input';\n_Input.Wrapper = InputWrapper;\n_Input.Label = InputLabel;\n_Input.Description = InputDescription;\n_Input.Error = InputError;\n_Input.Placeholder = InputPlaceholder;\n\nexport const Input = createPolymorphicComponent<\n 'input',\n InputProps,\n {\n Wrapper: typeof InputWrapper;\n Label: typeof InputLabel;\n Description: typeof InputDescription;\n Error: typeof InputError;\n Placeholder: typeof InputPlaceholder;\n }\n>(_Input);\n"],"names":[],"mappings":"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"}
|
|
@@ -39,8 +39,7 @@ const InputError = forwardRef((props, ref) => {
|
|
|
39
39
|
const { classes, cx } = useStyles({ size }, { name: ["InputWrapper", __staticSelector], classNames, styles, unstyled });
|
|
40
40
|
return /* @__PURE__ */ React.createElement(Text, __spreadValues({
|
|
41
41
|
className: cx(classes.error, className),
|
|
42
|
-
ref
|
|
43
|
-
role: "alert"
|
|
42
|
+
ref
|
|
44
43
|
}, others), children);
|
|
45
44
|
});
|
|
46
45
|
InputError.displayName = "@mantine/core/InputError";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputError.js","sources":["../../../src/Input/InputError/InputError.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Text } from '../../Text';\nimport useStyles, { InputErrorStylesParams } from './InputError.styles';\n\nexport type InputErrorStylesNames = Selectors<typeof useStyles>;\n\nexport interface InputErrorProps\n extends DefaultProps<InputErrorStylesNames, InputErrorStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Error content */\n children?: React.ReactNode;\n\n /** Predefined size */\n size?: MantineSize;\n\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<InputErrorProps> = {\n size: 'sm',\n};\n\nexport const InputError = forwardRef<HTMLDivElement, InputErrorProps>((props, ref) => {\n const { children, className, classNames, styles, unstyled, size, __staticSelector, ...others } =\n useComponentDefaultProps('InputError', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { size },\n { name: ['InputWrapper', __staticSelector], classNames, styles, unstyled }\n );\n\n return (\n <Text className={cx(classes.error, className)} ref={ref}
|
|
1
|
+
{"version":3,"file":"InputError.js","sources":["../../../src/Input/InputError/InputError.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Text } from '../../Text';\nimport useStyles, { InputErrorStylesParams } from './InputError.styles';\n\nexport type InputErrorStylesNames = Selectors<typeof useStyles>;\n\nexport interface InputErrorProps\n extends DefaultProps<InputErrorStylesNames, InputErrorStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Error content */\n children?: React.ReactNode;\n\n /** Predefined size */\n size?: MantineSize;\n\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<InputErrorProps> = {\n size: 'sm',\n};\n\nexport const InputError = forwardRef<HTMLDivElement, InputErrorProps>((props, ref) => {\n const { children, className, classNames, styles, unstyled, size, __staticSelector, ...others } =\n useComponentDefaultProps('InputError', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { size },\n { name: ['InputWrapper', __staticSelector], classNames, styles, unstyled }\n );\n\n return (\n <Text className={cx(classes.error, className)} ref={ref} {...others}>\n {children}\n </Text>\n );\n});\n\nInputError.displayName = '@mantine/core/InputError';\n"],"names":[],"mappings":"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"}
|
|
@@ -101,6 +101,11 @@ const InputWrapper = forwardRef((props, ref) => {
|
|
|
101
101
|
__staticSelector
|
|
102
102
|
};
|
|
103
103
|
const isRequired = typeof withAsterisk === "boolean" ? withAsterisk : required;
|
|
104
|
+
const errorId = id ? `${id}-error` : errorProps == null ? void 0 : errorProps.id;
|
|
105
|
+
const descriptionId = id ? `${id}-description` : descriptionProps == null ? void 0 : descriptionProps.id;
|
|
106
|
+
const hasError = !!error && typeof error !== "boolean";
|
|
107
|
+
const _describedBy = `${hasError ? errorId : ""} ${description ? descriptionId : ""}`;
|
|
108
|
+
const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : void 0;
|
|
104
109
|
const _label = label && /* @__PURE__ */ React.createElement(InputLabel, __spreadValues(__spreadValues({
|
|
105
110
|
key: "label",
|
|
106
111
|
labelElement,
|
|
@@ -111,14 +116,16 @@ const InputWrapper = forwardRef((props, ref) => {
|
|
|
111
116
|
const _description = description && /* @__PURE__ */ React.createElement(InputDescription, __spreadProps(__spreadValues(__spreadValues({
|
|
112
117
|
key: "description"
|
|
113
118
|
}, descriptionProps), sharedProps), {
|
|
114
|
-
size: (descriptionProps == null ? void 0 : descriptionProps.size) || sharedProps.size
|
|
119
|
+
size: (descriptionProps == null ? void 0 : descriptionProps.size) || sharedProps.size,
|
|
120
|
+
id: (descriptionProps == null ? void 0 : descriptionProps.id) || descriptionId
|
|
115
121
|
}), description);
|
|
116
122
|
const _input = /* @__PURE__ */ React.createElement(Fragment, {
|
|
117
123
|
key: "input"
|
|
118
124
|
}, inputContainer(children));
|
|
119
125
|
const _error = typeof error !== "boolean" && error && /* @__PURE__ */ React.createElement(InputError, __spreadProps(__spreadValues(__spreadValues({}, errorProps), sharedProps), {
|
|
120
126
|
size: (errorProps == null ? void 0 : errorProps.size) || sharedProps.size,
|
|
121
|
-
key: "error"
|
|
127
|
+
key: "error",
|
|
128
|
+
id: (errorProps == null ? void 0 : errorProps.id) || errorId
|
|
122
129
|
}), error);
|
|
123
130
|
const content = inputWrapperOrder.map((part) => {
|
|
124
131
|
switch (part) {
|
|
@@ -135,10 +142,12 @@ const InputWrapper = forwardRef((props, ref) => {
|
|
|
135
142
|
}
|
|
136
143
|
});
|
|
137
144
|
return /* @__PURE__ */ React.createElement(InputWrapperProvider, {
|
|
138
|
-
value:
|
|
145
|
+
value: __spreadValues({
|
|
146
|
+
describedBy
|
|
147
|
+
}, getInputOffsets(inputWrapperOrder, {
|
|
139
148
|
hasDescription: !!_description,
|
|
140
149
|
hasError: !!_error
|
|
141
|
-
})
|
|
150
|
+
}))
|
|
142
151
|
}, /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
143
152
|
className: cx(classes.root, className),
|
|
144
153
|
ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputWrapper.js","sources":["../../../src/Input/InputWrapper/InputWrapper.tsx"],"sourcesContent":["import React, { forwardRef, Fragment } from 'react';\nimport { DefaultProps, MantineSize, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { InputLabel, InputLabelStylesNames } from '../InputLabel/InputLabel';\nimport { InputError, InputErrorStylesNames } from '../InputError/InputError';\nimport {\n InputDescription,\n InputDescriptionStylesNames,\n} from '../InputDescription/InputDescription';\nimport { InputWrapperProvider } from '../InputWrapper.context';\nimport { getInputOffsets } from './get-input-offsets';\nimport useStyles from './InputWrapper.styles';\n\nexport type InputWrapperStylesNames =\n | Selectors<typeof useStyles>\n | InputLabelStylesNames\n | InputErrorStylesNames\n | InputDescriptionStylesNames;\n\nexport interface InputWrapperBaseProps {\n /** Input label, displayed before input */\n label?: React.ReactNode;\n\n /** Input description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n\n /** Adds required attribute to the input and red asterisk on the right side of label */\n required?: boolean;\n\n /** Determines whether required asterisk should be rendered, overrides required prop, does not add required attribute to the input */\n withAsterisk?: boolean;\n\n /** Props spread to label element */\n labelProps?: Record<string, any>;\n\n /** Props spread to description element */\n descriptionProps?: Record<string, any>;\n\n /** Props spread to error element */\n errorProps?: Record<string, any>;\n\n /** Input container component, defaults to React.Fragment */\n inputContainer?(children: React.ReactNode): React.ReactNode;\n\n /** Controls order of the Input.Wrapper elements */\n inputWrapperOrder?: ('label' | 'input' | 'description' | 'error')[];\n}\n\nexport interface InputWrapperProps\n extends DefaultProps<InputWrapperStylesNames>,\n InputWrapperBaseProps,\n React.ComponentPropsWithoutRef<'div'> {\n /** Input that should be wrapped */\n children: React.ReactNode;\n\n /** htmlFor label prop */\n id?: string;\n\n /** Render label as label with htmlFor or as div */\n labelElement?: 'label' | 'div';\n\n /** Controls all elements font-size */\n size?: MantineSize;\n\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<InputWrapperProps> = {\n labelElement: 'label',\n size: 'sm',\n inputContainer: (children) => children,\n inputWrapperOrder: ['label', 'description', 'input', 'error'],\n};\n\nexport const InputWrapper = forwardRef<HTMLDivElement, InputWrapperProps>((props, ref) => {\n const {\n className,\n label,\n children,\n required,\n id,\n error,\n description,\n labelElement,\n labelProps,\n descriptionProps,\n errorProps,\n classNames,\n styles,\n size,\n inputContainer,\n __staticSelector,\n unstyled,\n inputWrapperOrder,\n withAsterisk,\n ...others\n } = useComponentDefaultProps('InputWrapper', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n classNames,\n styles,\n name: ['InputWrapper', __staticSelector],\n unstyled,\n });\n\n const sharedProps = {\n classNames,\n styles,\n unstyled,\n size,\n __staticSelector,\n };\n\n const isRequired = typeof withAsterisk === 'boolean' ? withAsterisk : required;\n\n const _label = label && (\n <InputLabel\n key=\"label\"\n labelElement={labelElement}\n id={id ? `${id}-label` : undefined}\n htmlFor={id}\n required={isRequired}\n {...sharedProps}\n {...labelProps}\n >\n {label}\n </InputLabel>\n );\n\n const _description = description && (\n <InputDescription\n key=\"description\"\n {...descriptionProps}\n {...sharedProps}\n size={descriptionProps?.size || sharedProps.size}\n >\n {description}\n </InputDescription>\n );\n\n const _input = <Fragment key=\"input\">{inputContainer(children)}</Fragment>;\n\n const _error = typeof error !== 'boolean' && error && (\n <InputError\n {...errorProps}\n {...sharedProps}\n size={errorProps?.size || sharedProps.size}\n key=\"error\"\n >\n {error}\n </InputError>\n );\n\n const content = inputWrapperOrder.map((part) => {\n switch (part) {\n case 'label':\n return _label;\n case 'input':\n return _input;\n case 'description':\n return _description;\n case 'error':\n return _error;\n default:\n return null;\n }\n });\n\n return (\n <InputWrapperProvider\n value={getInputOffsets(inputWrapperOrder, {\n hasDescription: !!_description,\n hasError: !!_error,\n })}\n >\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {content}\n </Box>\n </InputWrapperProvider>\n );\n});\n\nInputWrapper.displayName = '@mantine/core/InputWrapper';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputWrapper.js","sources":["../../../src/Input/InputWrapper/InputWrapper.tsx"],"sourcesContent":["import React, { forwardRef, Fragment } from 'react';\nimport { DefaultProps, MantineSize, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { InputLabel, InputLabelStylesNames } from '../InputLabel/InputLabel';\nimport { InputError, InputErrorStylesNames } from '../InputError/InputError';\nimport {\n InputDescription,\n InputDescriptionStylesNames,\n} from '../InputDescription/InputDescription';\nimport { InputWrapperProvider } from '../InputWrapper.context';\nimport { getInputOffsets } from './get-input-offsets';\nimport useStyles from './InputWrapper.styles';\n\nexport type InputWrapperStylesNames =\n | Selectors<typeof useStyles>\n | InputLabelStylesNames\n | InputErrorStylesNames\n | InputDescriptionStylesNames;\n\nexport interface InputWrapperBaseProps {\n /** Input label, displayed before input */\n label?: React.ReactNode;\n\n /** Input description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n\n /** Adds required attribute to the input and red asterisk on the right side of label */\n required?: boolean;\n\n /** Determines whether required asterisk should be rendered, overrides required prop, does not add required attribute to the input */\n withAsterisk?: boolean;\n\n /** Props spread to label element */\n labelProps?: Record<string, any>;\n\n /** Props spread to description element */\n descriptionProps?: Record<string, any>;\n\n /** Props spread to error element */\n errorProps?: Record<string, any>;\n\n /** Input container component, defaults to React.Fragment */\n inputContainer?(children: React.ReactNode): React.ReactNode;\n\n /** Controls order of the Input.Wrapper elements */\n inputWrapperOrder?: ('label' | 'input' | 'description' | 'error')[];\n}\n\nexport interface InputWrapperProps\n extends DefaultProps<InputWrapperStylesNames>,\n InputWrapperBaseProps,\n React.ComponentPropsWithoutRef<'div'> {\n /** Input that should be wrapped */\n children: React.ReactNode;\n\n /** htmlFor label prop */\n id?: string;\n\n /** Render label as label with htmlFor or as div */\n labelElement?: 'label' | 'div';\n\n /** Controls all elements font-size */\n size?: MantineSize;\n\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<InputWrapperProps> = {\n labelElement: 'label',\n size: 'sm',\n inputContainer: (children) => children,\n inputWrapperOrder: ['label', 'description', 'input', 'error'],\n};\n\nexport const InputWrapper = forwardRef<HTMLDivElement, InputWrapperProps>((props, ref) => {\n const {\n className,\n label,\n children,\n required,\n id,\n error,\n description,\n labelElement,\n labelProps,\n descriptionProps,\n errorProps,\n classNames,\n styles,\n size,\n inputContainer,\n __staticSelector,\n unstyled,\n inputWrapperOrder,\n withAsterisk,\n ...others\n } = useComponentDefaultProps('InputWrapper', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n classNames,\n styles,\n name: ['InputWrapper', __staticSelector],\n unstyled,\n });\n\n const sharedProps = {\n classNames,\n styles,\n unstyled,\n size,\n __staticSelector,\n };\n\n const isRequired = typeof withAsterisk === 'boolean' ? withAsterisk : required;\n const errorId = id ? `${id}-error` : errorProps?.id;\n const descriptionId = id ? `${id}-description` : descriptionProps?.id;\n const hasError = !!error && typeof error !== 'boolean';\n const _describedBy = `${hasError ? errorId : ''} ${description ? descriptionId : ''}`;\n const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : undefined;\n\n const _label = label && (\n <InputLabel\n key=\"label\"\n labelElement={labelElement}\n id={id ? `${id}-label` : undefined}\n htmlFor={id}\n required={isRequired}\n {...sharedProps}\n {...labelProps}\n >\n {label}\n </InputLabel>\n );\n\n const _description = description && (\n <InputDescription\n key=\"description\"\n {...descriptionProps}\n {...sharedProps}\n size={descriptionProps?.size || sharedProps.size}\n id={descriptionProps?.id || descriptionId}\n >\n {description}\n </InputDescription>\n );\n\n const _input = <Fragment key=\"input\">{inputContainer(children)}</Fragment>;\n\n const _error = typeof error !== 'boolean' && error && (\n <InputError\n {...errorProps}\n {...sharedProps}\n size={errorProps?.size || sharedProps.size}\n key=\"error\"\n id={errorProps?.id || errorId}\n >\n {error}\n </InputError>\n );\n\n const content = inputWrapperOrder.map((part) => {\n switch (part) {\n case 'label':\n return _label;\n case 'input':\n return _input;\n case 'description':\n return _description;\n case 'error':\n return _error;\n default:\n return null;\n }\n });\n\n return (\n <InputWrapperProvider\n value={{\n describedBy,\n ...getInputOffsets(inputWrapperOrder, {\n hasDescription: !!_description,\n hasError: !!_error,\n }),\n }}\n >\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {content}\n </Box>\n </InputWrapperProvider>\n );\n});\n\nInputWrapper.displayName = '@mantine/core/InputWrapper';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import { useContext, createContext } from 'react';
|
|
|
2
2
|
|
|
3
3
|
const InputWrapperContext = createContext({
|
|
4
4
|
offsetBottom: false,
|
|
5
|
-
offsetTop: false
|
|
5
|
+
offsetTop: false,
|
|
6
|
+
describedBy: void 0
|
|
6
7
|
});
|
|
7
8
|
const InputWrapperProvider = InputWrapperContext.Provider;
|
|
8
9
|
const useInputWrapperContext = () => useContext(InputWrapperContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputWrapper.context.js","sources":["../../src/Input/InputWrapper.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\ninterface InputWrapperContextValue {\n offsetTop: boolean;\n offsetBottom: boolean;\n}\n\nconst InputWrapperContext = createContext<InputWrapperContextValue>({\n offsetBottom: false,\n offsetTop: false,\n});\n\nexport const InputWrapperProvider = InputWrapperContext.Provider;\nexport const useInputWrapperContext = () => useContext(InputWrapperContext);\n"],"names":[],"mappings":";;AACA,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,SAAS,EAAE,KAAK;AAClB,CAAC,CAAC,CAAC;AACS,MAAC,oBAAoB,GAAG,mBAAmB,CAAC,SAAS;AACrD,MAAC,sBAAsB,GAAG,MAAM,UAAU,CAAC,mBAAmB;;;;"}
|
|
1
|
+
{"version":3,"file":"InputWrapper.context.js","sources":["../../src/Input/InputWrapper.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\ninterface InputWrapperContextValue {\n offsetTop: boolean;\n offsetBottom: boolean;\n describedBy: string;\n}\n\nconst InputWrapperContext = createContext<InputWrapperContextValue>({\n offsetBottom: false,\n offsetTop: false,\n describedBy: undefined,\n});\n\nexport const InputWrapperProvider = InputWrapperContext.Provider;\nexport const useInputWrapperContext = () => useContext(InputWrapperContext);\n"],"names":[],"mappings":";;AACA,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,WAAW,EAAE,KAAK,CAAC;AACrB,CAAC,CAAC,CAAC;AACS,MAAC,oBAAoB,GAAG,mBAAmB,CAAC,SAAS;AACrD,MAAC,sBAAsB,GAAG,MAAM,UAAU,CAAC,mBAAmB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.context.js","sources":["../../src/List/List.context.ts"],"sourcesContent":["import { createSafeContext } from '@mantine/utils';\nimport { MantineNumberSize } from '@mantine/styles';\n\ninterface ListContextValue {\n spacing?: MantineNumberSize;\n center?: boolean;\n icon?: React.ReactNode;\n listStyleType?: string;\n withPadding?: boolean;\n size?: MantineNumberSize;\n}\n\nexport const [ListProvider, useListContext] = createSafeContext<ListContextValue>(\n 'List component was not found in tree'\n);\n"],"names":[],"mappings":";;AACY,MAAC,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAC,sCAAsC;;;;"}
|
|
1
|
+
{"version":3,"file":"List.context.js","sources":["../../src/List/List.context.ts"],"sourcesContent":["import { createSafeContext } from '@mantine/utils';\nimport { MantineNumberSize, ClassNames, Styles } from '@mantine/styles';\nimport type { ListStylesNames } from './List';\n\ninterface ListContextValue {\n spacing?: MantineNumberSize;\n center?: boolean;\n icon?: React.ReactNode;\n listStyleType?: string;\n withPadding?: boolean;\n size?: MantineNumberSize;\n classNames?: ClassNames<ListStylesNames>;\n styles?: Styles<ListStylesNames>;\n unstyled?: boolean;\n}\n\nexport const [ListProvider, useListContext] = createSafeContext<ListContextValue>(\n 'List component was not found in tree'\n);\n"],"names":[],"mappings":";;AACY,MAAC,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAC,sCAAsC;;;;"}
|
package/esm/List/List.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { useComponentDefaultProps
|
|
2
|
+
import { useComponentDefaultProps } from '@mantine/styles';
|
|
3
3
|
import { ListItem } from './ListItem/ListItem.js';
|
|
4
4
|
import { ListProvider } from './List.context.js';
|
|
5
5
|
import useStyles from './List.styles.js';
|
|
@@ -67,17 +67,23 @@ const List = forwardRef((props, ref) => {
|
|
|
67
67
|
"unstyled"
|
|
68
68
|
]);
|
|
69
69
|
const { classes, cx } = useStyles({ withPadding, size, listStyleType, center, spacing }, { classNames, styles, name: "List", unstyled });
|
|
70
|
-
return /* @__PURE__ */ React.createElement(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
return /* @__PURE__ */ React.createElement(ListProvider, {
|
|
71
|
+
value: {
|
|
72
|
+
spacing,
|
|
73
|
+
center,
|
|
74
|
+
icon,
|
|
75
|
+
listStyleType,
|
|
76
|
+
size,
|
|
77
|
+
withPadding,
|
|
78
|
+
classNames,
|
|
79
|
+
styles,
|
|
80
|
+
unstyled
|
|
81
|
+
}
|
|
76
82
|
}, /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
77
83
|
component: type === "unordered" ? "ul" : "ol",
|
|
78
84
|
className: cx(classes.root, className),
|
|
79
85
|
ref
|
|
80
|
-
}, others), children))
|
|
86
|
+
}, others), children));
|
|
81
87
|
});
|
|
82
88
|
List.Item = ListItem;
|
|
83
89
|
List.displayName = "@mantine/core/List";
|
package/esm/List/List.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../src/List/List.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n Selectors,\n useComponentDefaultProps,\n
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../src/List/List.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { ListItem, ListItemStylesNames } from './ListItem/ListItem';\nimport { ListProvider } from './List.context';\nimport useStyles from './List.styles';\n\nexport type ListStylesNames = ListItemStylesNames | Selectors<typeof useStyles>;\n\nexport interface ListProps\n extends DefaultProps<ListStylesNames>,\n React.ComponentPropsWithRef<'ul'> {\n /** <List.Item /> components only */\n children: React.ReactNode;\n\n /** List type: ol or ul */\n type?: 'ordered' | 'unordered';\n\n /** Include padding-left to offset list from main content */\n withPadding?: boolean;\n\n /** Font size from theme or number to set value in px */\n size?: MantineNumberSize;\n\n /** Icon that should replace list item dot */\n icon?: React.ReactNode;\n\n /** Spacing between items from theme or number to set value in px */\n spacing?: MantineNumberSize;\n\n /** Center items with icon */\n center?: boolean;\n\n /** List style */\n listStyleType?: React.CSSProperties['listStyleType'];\n}\n\ntype ListComponent = ForwardRefWithStaticComponents<ListProps, { Item: typeof ListItem }>;\n\nconst defaultProps: Partial<ListProps> = {\n type: 'unordered',\n size: 'md',\n spacing: 0,\n};\n\nexport const List: ListComponent = forwardRef<HTMLUListElement, ListProps>(\n (props: ListProps, ref) => {\n const {\n children,\n type,\n size,\n listStyleType,\n withPadding,\n center,\n spacing,\n icon,\n className,\n styles,\n classNames,\n unstyled,\n ...others\n } = useComponentDefaultProps('List', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { withPadding, size, listStyleType, center, spacing },\n { classNames, styles, name: 'List', unstyled }\n );\n\n return (\n <ListProvider\n value={{\n spacing,\n center,\n icon,\n listStyleType,\n size,\n withPadding,\n classNames,\n styles,\n unstyled,\n }}\n >\n <Box<any>\n component={type === 'unordered' ? 'ul' : 'ol'}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n {children}\n </Box>\n </ListProvider>\n );\n }\n) as any;\n\nList.Item = ListItem;\nList.displayName = '@mantine/core/List';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { useComponentDefaultProps
|
|
2
|
+
import { useComponentDefaultProps } from '@mantine/styles';
|
|
3
3
|
import { useListContext } from '../List.context.js';
|
|
4
4
|
import useStyles from './ListItem.styles.js';
|
|
5
5
|
import { Box } from '../../Box/Box.js';
|
|
@@ -35,8 +35,17 @@ var __objRest = (source, exclude) => {
|
|
|
35
35
|
const defaultProps = {};
|
|
36
36
|
const ListItem = forwardRef((props, ref) => {
|
|
37
37
|
const _a = useComponentDefaultProps("ListItem", defaultProps, props), { className, children, icon } = _a, others = __objRest(_a, ["className", "children", "icon"]);
|
|
38
|
-
const {
|
|
39
|
-
|
|
38
|
+
const {
|
|
39
|
+
icon: ctxIcon,
|
|
40
|
+
spacing,
|
|
41
|
+
center,
|
|
42
|
+
listStyleType,
|
|
43
|
+
size,
|
|
44
|
+
withPadding,
|
|
45
|
+
classNames,
|
|
46
|
+
styles,
|
|
47
|
+
unstyled
|
|
48
|
+
} = useListContext();
|
|
40
49
|
const _icon = icon || ctxIcon;
|
|
41
50
|
const { classes, cx } = useStyles({ withPadding, size, listStyleType, center, spacing }, { classNames, styles, unstyled, name: "List" });
|
|
42
51
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../src/List/ListItem/ListItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"ListItem.js","sources":["../../../src/List/ListItem/ListItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { useListContext } from '../List.context';\nimport useStyles from './ListItem.styles';\n\nexport type ListItemStylesNames = Selectors<typeof useStyles>;\n\nexport interface ListItemProps\n extends DefaultProps<ListItemStylesNames>,\n React.ComponentPropsWithoutRef<'li'> {\n /** Icon to replace bullet */\n icon?: React.ReactNode;\n\n /** Item content */\n children: React.ReactNode;\n}\n\nconst defaultProps: Partial<ListItemProps> = {};\n\nexport const ListItem = forwardRef<HTMLLIElement, ListItemProps>((props, ref) => {\n const { className, children, icon, ...others } = useComponentDefaultProps(\n 'ListItem',\n defaultProps,\n props\n );\n\n const {\n icon: ctxIcon,\n spacing,\n center,\n listStyleType,\n size,\n withPadding,\n classNames,\n styles,\n unstyled,\n } = useListContext();\n\n const _icon = icon || ctxIcon;\n const { classes, cx } = useStyles(\n { withPadding, size, listStyleType, center, spacing },\n { classNames, styles, unstyled, name: 'List' }\n );\n\n return (\n <Box\n component=\"li\"\n className={cx(classes.item, { [classes.withIcon]: _icon }, className)}\n ref={ref}\n {...others}\n >\n <div className={classes.itemWrapper}>\n {_icon && <span className={classes.itemIcon}>{_icon}</span>}\n <span>{children}</span>\n </div>\n </Box>\n );\n});\n\nListItem.displayName = '@mantine/core/ListItem';\n"],"names":[],"mappings":";;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,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,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;AAMF,MAAM,YAAY,GAAG,EAAE,CAAC;AACZ,MAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACnD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AACtK,EAAE,MAAM;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,GAAG,GAAG,cAAc,EAAE,CAAC;AACvB,EAAE,MAAM,KAAK,GAAG,IAAI,IAAI,OAAO,CAAC;AAChC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3I,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,SAAS,CAAC;AACzE,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzD,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,GAAG,EAAE,KAAK,oBAAoB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1D,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,GAAG,EAAE,KAAK,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,EAAE;AACH,QAAQ,CAAC,WAAW,GAAG,wBAAwB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.context.js","sources":["../../src/Menu/Menu.context.ts"],"sourcesContent":["import { MantineNumberSize } from '@mantine/styles';\nimport { createSafeContext } from '@mantine/utils';\nimport { MENU_ERRORS } from './Menu.errors';\nimport { MenuTriggerEvent } from './Menu.types';\n\ninterface MenuContext {\n toggleDropdown(): void;\n closeDropdownImmediately(): void;\n closeDropdown(): void;\n openDropdown(): void;\n getItemIndex(node: HTMLButtonElement): number;\n setHovered(index: number): void;\n hovered: number;\n closeOnItemClick: boolean;\n loop: boolean;\n trigger: MenuTriggerEvent;\n radius: MantineNumberSize;\n opened: boolean;\n}\n\nexport const [MenuContextProvider, useMenuContext] = createSafeContext<MenuContext>(\n MENU_ERRORS.context\n);\n"],"names":[],"mappings":";;;AAEY,MAAC,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,OAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"Menu.context.js","sources":["../../src/Menu/Menu.context.ts"],"sourcesContent":["import { MantineNumberSize, ClassNames, Styles } from '@mantine/styles';\nimport { createSafeContext } from '@mantine/utils';\nimport { MENU_ERRORS } from './Menu.errors';\nimport { MenuTriggerEvent } from './Menu.types';\nimport type { MenuStylesNames } from './Menu';\n\ninterface MenuContext {\n toggleDropdown(): void;\n closeDropdownImmediately(): void;\n closeDropdown(): void;\n openDropdown(): void;\n getItemIndex(node: HTMLButtonElement): number;\n setHovered(index: number): void;\n hovered: number;\n closeOnItemClick: boolean;\n loop: boolean;\n trigger: MenuTriggerEvent;\n radius: MantineNumberSize;\n opened: boolean;\n classNames: ClassNames<MenuStylesNames>;\n styles: Styles<MenuStylesNames>;\n unstyled: boolean;\n}\n\nexport const [MenuContextProvider, useMenuContext] = createSafeContext<MenuContext>(\n MENU_ERRORS.context\n);\n"],"names":[],"mappings":";;;AAEY,MAAC,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,OAAO;;;;"}
|