@mantine/core 5.9.6 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ColorInput/ColorInput.js +20 -7
- package/cjs/ColorInput/ColorInput.js.map +1 -1
- package/cjs/ColorPicker/ColorPicker.js +7 -3
- package/cjs/ColorPicker/ColorPicker.js.map +1 -1
- package/cjs/FileButton/FileButton.js +23 -2
- package/cjs/FileButton/FileButton.js.map +1 -1
- package/cjs/FileInput/FileInput.js +6 -3
- package/cjs/FileInput/FileInput.js.map +1 -1
- package/cjs/Image/Image.js +1 -1
- package/cjs/Image/Image.js.map +1 -1
- package/cjs/RingProgress/RingProgress.js +5 -4
- package/cjs/RingProgress/RingProgress.js.map +1 -1
- package/cjs/RingProgress/get-curves/get-curves.js +8 -2
- package/cjs/RingProgress/get-curves/get-curves.js.map +1 -1
- package/cjs/Stepper/Step/Step.js +14 -4
- package/cjs/Stepper/Step/Step.js.map +1 -1
- package/cjs/Stepper/Stepper.js +12 -4
- package/cjs/Stepper/Stepper.js.map +1 -1
- package/cjs/Text/Text.js +3 -0
- package/cjs/Text/Text.js.map +1 -1
- package/cjs/Text/Text.styles.js +12 -1
- package/cjs/Text/Text.styles.js.map +1 -1
- package/esm/ColorInput/ColorInput.js +20 -7
- package/esm/ColorInput/ColorInput.js.map +1 -1
- package/esm/ColorPicker/ColorPicker.js +7 -3
- package/esm/ColorPicker/ColorPicker.js.map +1 -1
- package/esm/FileButton/FileButton.js +23 -2
- package/esm/FileButton/FileButton.js.map +1 -1
- package/esm/FileInput/FileInput.js +6 -3
- package/esm/FileInput/FileInput.js.map +1 -1
- package/esm/Image/Image.js +1 -1
- package/esm/Image/Image.js.map +1 -1
- package/esm/RingProgress/RingProgress.js +5 -4
- package/esm/RingProgress/RingProgress.js.map +1 -1
- package/esm/RingProgress/get-curves/get-curves.js +8 -2
- package/esm/RingProgress/get-curves/get-curves.js.map +1 -1
- package/esm/Stepper/Step/Step.js +14 -4
- package/esm/Stepper/Step/Step.js.map +1 -1
- package/esm/Stepper/Stepper.js +12 -4
- package/esm/Stepper/Stepper.js.map +1 -1
- package/esm/Text/Text.js +3 -0
- package/esm/Text/Text.js.map +1 -1
- package/esm/Text/Text.styles.js +12 -1
- package/esm/Text/Text.styles.js.map +1 -1
- package/lib/Accordion/Accordion.d.ts +1 -1
- package/lib/Accordion/Accordion.d.ts.map +1 -1
- package/lib/Accordion/Accordion.types.d.ts +4 -4
- package/lib/Accordion/Accordion.types.d.ts.map +1 -1
- package/lib/Accordion/AccordionControl/AccordionControl.d.ts +1 -1
- package/lib/Accordion/AccordionControl/AccordionControl.d.ts.map +1 -1
- package/lib/Accordion/AccordionItem/AccordionItem.d.ts +1 -1
- package/lib/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/lib/Accordion/AccordionPanel/AccordionPanel.d.ts +1 -1
- package/lib/Accordion/AccordionPanel/AccordionPanel.d.ts.map +1 -1
- package/lib/ActionIcon/ActionIcon.d.ts +1 -1
- package/lib/ActionIcon/ActionIcon.d.ts.map +1 -1
- package/lib/ActionIcon/ActionIcon.styles.d.ts +1 -1
- package/lib/ActionIcon/ActionIcon.styles.d.ts.map +1 -1
- package/lib/Alert/Alert.d.ts +1 -1
- package/lib/Alert/Alert.d.ts.map +1 -1
- package/lib/Alert/Alert.styles.d.ts +1 -1
- package/lib/Alert/Alert.styles.d.ts.map +1 -1
- package/lib/AppShell/AppShell.d.ts +1 -1
- package/lib/AppShell/AppShell.d.ts.map +1 -1
- package/lib/AppShell/Aside/Aside.d.ts +1 -1
- package/lib/AppShell/Aside/Aside.d.ts.map +1 -1
- package/lib/AppShell/HorizontalSection/HorizontalSection.styles.d.ts +1 -1
- package/lib/AppShell/HorizontalSection/HorizontalSection.styles.d.ts.map +1 -1
- package/lib/AppShell/HorizontalSection/get-sorted-breakpoints/get-sorted-breakpoints.d.ts +1 -1
- package/lib/AppShell/HorizontalSection/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +1 -1
- package/lib/AppShell/Navbar/Navbar.d.ts +1 -1
- package/lib/AppShell/Navbar/Navbar.d.ts.map +1 -1
- package/lib/AppShell/VerticalSection/VerticalSection.styles.d.ts +1 -1
- package/lib/AppShell/VerticalSection/VerticalSection.styles.d.ts.map +1 -1
- package/lib/Autocomplete/Autocomplete.d.ts +1 -1
- package/lib/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/lib/Avatar/Avatar.d.ts +1 -1
- package/lib/Avatar/Avatar.d.ts.map +1 -1
- package/lib/Avatar/Avatar.styles.d.ts +1 -1
- package/lib/Avatar/Avatar.styles.d.ts.map +1 -1
- package/lib/Badge/Badge.d.ts +1 -1
- package/lib/Badge/Badge.d.ts.map +1 -1
- package/lib/Badge/Badge.styles.d.ts +1 -1
- package/lib/Badge/Badge.styles.d.ts.map +1 -1
- package/lib/Blockquote/Blockquote.d.ts +1 -1
- package/lib/Blockquote/Blockquote.d.ts.map +1 -1
- package/lib/Box/style-system-props/get-responsive-value/get-responsive-value.d.ts +1 -1
- package/lib/Box/style-system-props/get-responsive-value/get-responsive-value.d.ts.map +1 -1
- package/lib/Box/style-system-props/value-getters/value-getters.d.ts +1 -1
- package/lib/Box/style-system-props/value-getters/value-getters.d.ts.map +1 -1
- package/lib/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/lib/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/lib/Burger/Burger.d.ts +1 -1
- package/lib/Burger/Burger.d.ts.map +1 -1
- package/lib/Button/Button.d.ts +2 -1
- package/lib/Button/Button.d.ts.map +1 -1
- package/lib/Button/Button.styles.d.ts +1 -1
- package/lib/Button/Button.styles.d.ts.map +1 -1
- package/lib/Checkbox/Checkbox.d.ts +2 -2
- package/lib/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/Checkbox/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/lib/Checkbox/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/lib/Chip/Chip.d.ts +2 -2
- package/lib/Chip/Chip.d.ts.map +1 -1
- package/lib/ColorInput/ColorInput.d.ts +4 -2
- package/lib/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/ColorPicker/ColorPicker.d.ts +3 -1
- package/lib/ColorPicker/ColorPicker.d.ts.map +1 -1
- package/lib/ColorPicker/ColorSlider/ColorSlider.d.ts +1 -1
- package/lib/ColorPicker/ColorSlider/ColorSlider.d.ts.map +1 -1
- package/lib/ColorPicker/HueSlider/HueSlider.d.ts +1 -1
- package/lib/ColorPicker/HueSlider/HueSlider.d.ts.map +1 -1
- package/lib/ColorPicker/Saturation/Saturation.d.ts +1 -1
- package/lib/ColorPicker/Saturation/Saturation.d.ts.map +1 -1
- package/lib/ColorPicker/Swatches/Swatches.d.ts +1 -1
- package/lib/ColorPicker/Swatches/Swatches.d.ts.map +1 -1
- package/lib/ColorPicker/Thumb/Thumb.d.ts +1 -1
- package/lib/ColorPicker/Thumb/Thumb.d.ts.map +1 -1
- package/lib/ColorPicker/types.d.ts +1 -1
- package/lib/ColorPicker/types.d.ts.map +1 -1
- package/lib/ColorSwatch/ColorSwatch.d.ts +1 -1
- package/lib/ColorSwatch/ColorSwatch.d.ts.map +1 -1
- package/lib/Dialog/Dialog.d.ts +1 -1
- package/lib/Dialog/Dialog.d.ts.map +1 -1
- package/lib/Divider/Divider.d.ts +1 -1
- package/lib/Divider/Divider.d.ts.map +1 -1
- package/lib/Drawer/Drawer.d.ts +1 -1
- package/lib/Drawer/Drawer.d.ts.map +1 -1
- package/lib/Drawer/Drawer.styles.d.ts +1 -1
- package/lib/Drawer/Drawer.styles.d.ts.map +1 -1
- package/lib/FileButton/FileButton.d.ts +3 -1
- package/lib/FileButton/FileButton.d.ts.map +1 -1
- package/lib/FileInput/FileInput.d.ts +4 -2
- package/lib/FileInput/FileInput.d.ts.map +1 -1
- package/lib/Floating/types.d.ts +4 -4
- package/lib/Floating/types.d.ts.map +1 -1
- package/lib/Grid/Col/Col.styles.d.ts +1 -1
- package/lib/Grid/Col/Col.styles.d.ts.map +1 -1
- package/lib/Grid/Grid.d.ts +1 -1
- package/lib/Grid/Grid.d.ts.map +1 -1
- package/lib/Group/Group.styles.d.ts +1 -1
- package/lib/Group/Group.styles.d.ts.map +1 -1
- package/lib/Image/Image.d.ts +1 -1
- package/lib/Image/Image.d.ts.map +1 -1
- package/lib/Indicator/Indicator.d.ts +1 -1
- package/lib/Indicator/Indicator.d.ts.map +1 -1
- package/lib/Indicator/Indicator.types.d.ts +3 -3
- package/lib/Indicator/Indicator.types.d.ts.map +1 -1
- package/lib/InlineInput/InlineInput.d.ts +1 -1
- package/lib/InlineInput/InlineInput.d.ts.map +1 -1
- package/lib/Input/Input.d.ts +1 -1
- package/lib/Input/Input.d.ts.map +1 -1
- package/lib/Input/Input.styles.d.ts +1 -1
- package/lib/Input/Input.styles.d.ts.map +1 -1
- package/lib/Input/InputDescription/InputDescription.d.ts +1 -1
- package/lib/Input/InputDescription/InputDescription.d.ts.map +1 -1
- package/lib/Input/InputError/InputError.d.ts +1 -1
- package/lib/Input/InputError/InputError.d.ts.map +1 -1
- package/lib/Input/InputLabel/InputLabel.d.ts +1 -1
- package/lib/Input/InputLabel/InputLabel.d.ts.map +1 -1
- package/lib/Input/InputWrapper/InputWrapper.d.ts +1 -1
- package/lib/Input/InputWrapper/InputWrapper.d.ts.map +1 -1
- package/lib/InputBase/InputBase.d.ts +1 -1
- package/lib/InputBase/InputBase.d.ts.map +1 -1
- package/lib/JsonInput/JsonInput.d.ts +1 -1
- package/lib/JsonInput/JsonInput.d.ts.map +1 -1
- package/lib/List/List.d.ts +2 -2
- package/lib/List/List.d.ts.map +1 -1
- package/lib/List/ListItem/ListItem.d.ts +1 -1
- package/lib/List/ListItem/ListItem.d.ts.map +1 -1
- package/lib/Menu/Menu.d.ts +1 -1
- package/lib/Menu/Menu.d.ts.map +1 -1
- package/lib/Menu/Menu.types.d.ts +1 -1
- package/lib/Menu/Menu.types.d.ts.map +1 -1
- package/lib/Menu/MenuDivider/MenuDivider.d.ts +1 -1
- package/lib/Menu/MenuDivider/MenuDivider.d.ts.map +1 -1
- package/lib/Menu/MenuItem/MenuItem.d.ts +1 -1
- package/lib/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/Menu/MenuLabel/MenuLabel.d.ts +1 -1
- package/lib/Menu/MenuLabel/MenuLabel.d.ts.map +1 -1
- package/lib/Modal/Modal.d.ts +1 -1
- package/lib/Modal/Modal.d.ts.map +1 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.d.ts +1 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.d.ts.map +1 -1
- package/lib/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/NativeSelect/NativeSelect.d.ts +1 -1
- package/lib/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/NavLink/NavLink.d.ts +1 -1
- package/lib/NavLink/NavLink.d.ts.map +1 -1
- package/lib/Notification/Notification.d.ts +1 -1
- package/lib/Notification/Notification.d.ts.map +1 -1
- package/lib/NumberInput/NumberInput.d.ts +4 -4
- package/lib/NumberInput/NumberInput.d.ts.map +1 -1
- package/lib/Pagination/Pagination.d.ts +1 -1
- package/lib/Pagination/Pagination.d.ts.map +1 -1
- package/lib/PasswordInput/PasswordInput.d.ts +1 -1
- package/lib/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/PasswordInput/PasswordToggleIcon.d.ts +1 -1
- package/lib/PasswordInput/PasswordToggleIcon.d.ts.map +1 -1
- package/lib/Popover/Popover.types.d.ts +2 -2
- package/lib/Popover/Popover.types.d.ts.map +1 -1
- package/lib/Progress/Progress.d.ts +1 -1
- package/lib/Progress/Progress.d.ts.map +1 -1
- package/lib/Radio/Radio.d.ts +2 -2
- package/lib/Radio/Radio.d.ts.map +1 -1
- package/lib/Radio/RadioGroup/RadioGroup.d.ts +1 -1
- package/lib/Radio/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/lib/Rating/Rating.d.ts +1 -1
- package/lib/Rating/Rating.d.ts.map +1 -1
- package/lib/Rating/RatingItem/RatingItem.d.ts +1 -1
- package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -1
- package/lib/RingProgress/RingProgress.d.ts +3 -1
- package/lib/RingProgress/RingProgress.d.ts.map +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts +6 -2
- package/lib/RingProgress/get-curves/get-curves.d.ts.map +1 -1
- package/lib/ScrollArea/ScrollArea.d.ts +1 -1
- package/lib/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/lib/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/lib/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/lib/Select/SelectItems/SelectItems.d.ts +1 -1
- package/lib/Select/SelectItems/SelectItems.d.ts.map +1 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts +1 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts.map +1 -1
- package/lib/Select/types.d.ts +2 -2
- package/lib/Select/types.d.ts.map +1 -1
- package/lib/Slider/Marks/Marks.d.ts +1 -1
- package/lib/Slider/Marks/Marks.d.ts.map +1 -1
- package/lib/Slider/RangeSlider/RangeSlider.d.ts +2 -2
- package/lib/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/lib/Slider/Slider/Slider.d.ts +1 -1
- package/lib/Slider/Slider/Slider.d.ts.map +1 -1
- package/lib/Slider/SliderRoot/SliderRoot.d.ts +1 -1
- package/lib/Slider/SliderRoot/SliderRoot.d.ts.map +1 -1
- package/lib/Slider/Thumb/Thumb.d.ts +1 -1
- package/lib/Slider/Thumb/Thumb.d.ts.map +1 -1
- package/lib/Slider/Track/Track.d.ts +1 -1
- package/lib/Slider/Track/Track.d.ts.map +1 -1
- package/lib/Spoiler/Spoiler.d.ts +1 -1
- package/lib/Spoiler/Spoiler.d.ts.map +1 -1
- package/lib/Stepper/Step/Step.d.ts +12 -7
- package/lib/Stepper/Step/Step.d.ts.map +1 -1
- package/lib/Stepper/Stepper.d.ts +9 -5
- package/lib/Stepper/Stepper.d.ts.map +1 -1
- package/lib/Switch/Switch.d.ts +2 -2
- package/lib/Switch/Switch.d.ts.map +1 -1
- package/lib/Switch/SwitchGroup/SwitchGroup.d.ts +1 -1
- package/lib/Switch/SwitchGroup/SwitchGroup.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.d.ts +1 -1
- package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
- package/lib/Tabs/Tabs.d.ts +2 -2
- package/lib/Tabs/Tabs.d.ts.map +1 -1
- package/lib/Tabs/Tabs.types.d.ts +5 -5
- package/lib/Tabs/Tabs.types.d.ts.map +1 -1
- package/lib/Tabs/TabsList/TabsList.d.ts +1 -1
- package/lib/Tabs/TabsList/TabsList.d.ts.map +1 -1
- package/lib/Tabs/TabsPanel/TabsPanel.d.ts +1 -1
- package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
- package/lib/Text/Text.d.ts +2 -1
- package/lib/Text/Text.d.ts.map +1 -1
- package/lib/Text/Text.styles.d.ts +1 -0
- package/lib/Text/Text.styles.d.ts.map +1 -1
- package/lib/TextInput/TextInput.d.ts +1 -1
- package/lib/TextInput/TextInput.d.ts.map +1 -1
- package/lib/ThemeIcon/ThemeIcon.styles.d.ts +1 -1
- package/lib/ThemeIcon/ThemeIcon.styles.d.ts.map +1 -1
- package/lib/Timeline/Timeline.d.ts +1 -1
- package/lib/Timeline/Timeline.d.ts.map +1 -1
- package/lib/Timeline/TimelineItem/TimelineItem.d.ts +1 -1
- package/lib/Timeline/TimelineItem/TimelineItem.d.ts.map +1 -1
- package/lib/Title/Title.d.ts +2 -2
- package/lib/Title/Title.d.ts.map +1 -1
- package/lib/Title/Title.styles.d.ts +1 -1
- package/lib/Title/Title.styles.d.ts.map +1 -1
- package/lib/Tooltip/Tooltip.types.d.ts +1 -1
- package/lib/Tooltip/Tooltip.types.d.ts.map +1 -1
- package/lib/TransferList/RenderList/RenderList.d.ts +1 -1
- package/lib/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/TransferList/TransferList.d.ts +1 -1
- package/lib/TransferList/TransferList.d.ts.map +1 -1
- package/lib/TransferList/types.d.ts +2 -2
- package/lib/TransferList/types.d.ts.map +1 -1
- package/lib/TransferList/use-selection-state/use-selection-state.d.ts +1 -1
- package/lib/TransferList/use-selection-state/use-selection-state.d.ts.map +1 -1
- package/lib/Transition/transitions.d.ts +2 -2
- package/lib/Transition/transitions.d.ts.map +1 -1
- package/lib/Transition/use-transition.d.ts +1 -1
- package/lib/Transition/use-transition.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-curves.js","sources":["../../../src/RingProgress/get-curves/get-curves.ts"],"sourcesContent":["import type { MantineColor } from '@mantine/styles';\n\ninterface CurveData extends React.ComponentPropsWithRef<'circle'> {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\ninterface GetCurves {\n sections: CurveData[];\n size: number;\n thickness: number;\n renderRoundedLineCaps: boolean;\n}\n\ninterface Curve {\n sum: number;\n offset: number;\n root: boolean;\n data: CurveData;\n lineRoundCaps?: boolean;\n}\n\nexport function getCurves({
|
|
1
|
+
{"version":3,"file":"get-curves.js","sources":["../../../src/RingProgress/get-curves/get-curves.ts"],"sourcesContent":["import type { MantineColor } from '@mantine/styles';\n\ninterface CurveData extends React.ComponentPropsWithRef<'circle'> {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\ninterface RootCurveData extends React.ComponentPropsWithRef<'circle'> {\n color?: MantineColor;\n}\n\ninterface GetCurves {\n sections: CurveData[];\n size: number;\n thickness: number;\n renderRoundedLineCaps: boolean;\n rootColor?: MantineColor;\n}\n\ninterface Curve {\n sum: number;\n offset: number;\n root: boolean;\n data: CurveData | RootCurveData;\n lineRoundCaps?: boolean;\n}\n\nexport function getCurves({\n size,\n thickness,\n sections,\n renderRoundedLineCaps,\n rootColor,\n}: GetCurves) {\n const sum = sections.reduce((acc, current) => acc + current.value, 0);\n const accumulated = Math.PI * ((size * 0.9 - thickness * 2) / 2) * 2;\n let offset = accumulated;\n const curves: Curve[] = [];\n const curvesInOrder: Curve[] = [];\n\n for (let i = 0; i < sections.length; i += 1) {\n curves.push({ sum, offset, data: sections[i], root: false });\n offset -= (sections[i].value / 100) * accumulated;\n }\n\n curves.push({ sum, offset, data: { color: rootColor }, root: true });\n\n // Reorder curves to layer appropriately and selectively set caps to round\n\n curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false });\n if (curves.length > 2) {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps });\n for (let i = 1; i <= curves.length - 3; i += 1) {\n curvesInOrder.push({ ...curves[i], lineRoundCaps: false });\n }\n } else {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n }\n\n return curvesInOrder;\n}\n"],"names":[],"mappings":"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"}
|
package/cjs/Stepper/Step/Step.js
CHANGED
|
@@ -58,9 +58,18 @@ const defaultProps = {
|
|
|
58
58
|
iconPosition: "left",
|
|
59
59
|
__staticSelector: "Step"
|
|
60
60
|
};
|
|
61
|
+
const getStepFragment = (Fragment, step) => {
|
|
62
|
+
if (typeof Fragment === "function") {
|
|
63
|
+
return /* @__PURE__ */ React__default.createElement(Fragment, {
|
|
64
|
+
step
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return Fragment;
|
|
68
|
+
};
|
|
61
69
|
const Step = React.forwardRef((props, ref) => {
|
|
62
70
|
const _a = styles.useComponentDefaultProps("StepperStep", defaultProps, props), {
|
|
63
71
|
className,
|
|
72
|
+
step,
|
|
64
73
|
state,
|
|
65
74
|
color,
|
|
66
75
|
icon,
|
|
@@ -83,6 +92,7 @@ const Step = React.forwardRef((props, ref) => {
|
|
|
83
92
|
orientation
|
|
84
93
|
} = _a, others = __objRest(_a, [
|
|
85
94
|
"className",
|
|
95
|
+
"step",
|
|
86
96
|
"state",
|
|
87
97
|
"color",
|
|
88
98
|
"icon",
|
|
@@ -130,14 +140,14 @@ const Step = React.forwardRef((props, ref) => {
|
|
|
130
140
|
color: "#fff",
|
|
131
141
|
size: _iconSize,
|
|
132
142
|
className: classes.stepLoader
|
|
133
|
-
}) : completedIcon || /* @__PURE__ */ React__default.createElement(CheckboxIcon.CheckboxIcon, {
|
|
143
|
+
}) : getStepFragment(completedIcon, step) || /* @__PURE__ */ React__default.createElement(CheckboxIcon.CheckboxIcon, {
|
|
134
144
|
indeterminate: false,
|
|
135
145
|
width: _iconSize,
|
|
136
146
|
height: _iconSize
|
|
137
147
|
}))), state !== "stepCompleted" ? loading ? /* @__PURE__ */ React__default.createElement(Loader.Loader, {
|
|
138
148
|
size: _iconSize,
|
|
139
149
|
color
|
|
140
|
-
}) : _icon || icon : null), orientation === "vertical" && /* @__PURE__ */ React__default.createElement("div", {
|
|
150
|
+
}) : getStepFragment(_icon || icon, step) : null), orientation === "vertical" && /* @__PURE__ */ React__default.createElement("div", {
|
|
141
151
|
className: cx(classes.verticalSeparator, {
|
|
142
152
|
[classes.verticalSeparatorActive]: state === "stepCompleted"
|
|
143
153
|
})
|
|
@@ -145,10 +155,10 @@ const Step = React.forwardRef((props, ref) => {
|
|
|
145
155
|
className: classes.stepBody
|
|
146
156
|
}, label && /* @__PURE__ */ React__default.createElement(Text.Text, {
|
|
147
157
|
className: classes.stepLabel
|
|
148
|
-
}, label), description && /* @__PURE__ */ React__default.createElement(Text.Text, {
|
|
158
|
+
}, getStepFragment(label, step)), description && /* @__PURE__ */ React__default.createElement(Text.Text, {
|
|
149
159
|
className: classes.stepDescription,
|
|
150
160
|
color: "dimmed"
|
|
151
|
-
}, description)));
|
|
161
|
+
}, getStepFragment(description, step))));
|
|
152
162
|
});
|
|
153
163
|
Step.displayName = "@mantine/core/Step";
|
|
154
164
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","sources":["../../../src/Stepper/Step/Step.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineColor,\n Selectors,\n MantineSize,\n MantineNumberSize,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Text } from '../../Text';\nimport { Loader } from '../../Loader';\nimport { CheckboxIcon } from '../../Checkbox';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { Transition } from '../../Transition';\nimport useStyles from './Step.styles';\n\nexport type StepStylesNames = Selectors<typeof useStyles>;\n\nexport interface StepProps\n extends DefaultProps<StepStylesNames>,\n React.ComponentPropsWithoutRef<'button'> {\n /** Step state, controlled by Steps component */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Step color from theme.colors */\n color?: MantineColor;\n\n /** Should icon be displayed */\n withIcon?: boolean;\n\n /** Step icon, defaults to step index + 1 when rendered within Stepper */\n icon?: React.ReactNode;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode;\n\n /** Step label, render after icon */\n label?: React.ReactNode;\n\n /** Step description */\n description?: React.ReactNode;\n\n /** Icon wrapper size in px */\n iconSize?: number;\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Indicates loading state on step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nconst defaultIconSizes = {\n xs: 16,\n sm: 18,\n md: 20,\n lg: 22,\n xl: 24,\n};\n\nconst defaultProps: Partial<StepProps> = {\n withIcon: true,\n size: 'md',\n radius: 'xl',\n allowStepClick: true,\n iconPosition: 'left',\n __staticSelector: 'Step',\n};\n\nexport const Step = forwardRef<HTMLButtonElement, StepProps>((props: StepProps, ref) => {\n const {\n className,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon,\n iconSize,\n size,\n radius,\n loading,\n allowStepClick,\n allowStepSelect,\n iconPosition,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n orientation,\n ...others\n } = useComponentDefaultProps('StepperStep', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { color, iconSize, size, radius, allowStepClick, iconPosition, orientation },\n { name: __staticSelector, classNames, styles, unstyled }\n );\n\n const _iconSize = theme.fn.size({ size, sizes: defaultIconSizes });\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n className={cx(classes.step, className)}\n tabIndex={allowStepClick ? 0 : -1}\n ref={ref}\n {...dataAttributes}\n {...others}\n >\n {withIcon && (\n <div className={classes.stepWrapper}>\n <div className={classes.stepIcon} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <div className={classes.stepCompletedIcon} style={transitionStyles}>\n {loading ? (\n <Loader color=\"#fff\" size={_iconSize} className={classes.stepLoader} />\n ) : (\n completedIcon || (\n <CheckboxIcon indeterminate={false} width={_iconSize} height={_iconSize} />\n )\n )}\n </div>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n loading ? (\n <Loader size={_iconSize} color={color} />\n ) : (\n _icon || icon\n )\n ) : null}\n </div>\n {orientation === 'vertical' && (\n <div\n className={cx(classes.verticalSeparator, {\n [classes.verticalSeparatorActive]: state === 'stepCompleted',\n })}\n />\n )}\n </div>\n )}\n\n {(label || description) && (\n <div className={classes.stepBody}>\n {label && <Text className={classes.stepLabel}>{label}</Text>}\n {description && (\n <Text className={classes.stepDescription} color=\"dimmed\">\n {description}\n </Text>\n )}\n </div>\n )}\n </UnstyledButton>\n );\n});\n\nStep.displayName = '@mantine/core/Step';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","React","UnstyledButton","Transition","Loader","CheckboxIcon","Text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Step.js","sources":["../../../src/Stepper/Step/Step.tsx"],"sourcesContent":["import React, { forwardRef, FunctionComponent } from 'react';\nimport {\n DefaultProps,\n MantineColor,\n Selectors,\n MantineSize,\n MantineNumberSize,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Text } from '../../Text';\nimport { Loader } from '../../Loader';\nimport { CheckboxIcon } from '../../Checkbox';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { Transition } from '../../Transition';\nimport useStyles from './Step.styles';\n\nexport type StepStylesNames = Selectors<typeof useStyles>;\n\nexport type StepFragmentComponent = FunctionComponent<{ step: number }>;\n\nexport interface StepProps\n extends DefaultProps<StepStylesNames>,\n React.ComponentPropsWithoutRef<'button'> {\n /** Step index, controlled by Steps component **/\n step?: number;\n\n /** Step state, controlled by Steps component */\n state?: 'stepInactive' | 'stepProgress' | 'stepCompleted';\n\n /** Step color from theme.colors */\n color?: MantineColor;\n\n /** Should icon be displayed */\n withIcon?: boolean;\n\n /** Step icon, defaults to step index + 1 when rendered within Stepper */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step label, render after icon */\n label?: React.ReactNode | StepFragmentComponent;\n\n /** Step description */\n description?: React.ReactNode | StepFragmentComponent;\n\n /** Icon wrapper size in px */\n iconSize?: number;\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Indicates loading state on step */\n loading?: boolean;\n\n /** Set to false to disable clicks on step */\n allowStepClick?: boolean;\n\n /** Should step selection be allowed */\n allowStepSelect?: boolean;\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n}\n\nconst defaultIconSizes = {\n xs: 16,\n sm: 18,\n md: 20,\n lg: 22,\n xl: 24,\n};\n\nconst defaultProps: Partial<StepProps> = {\n withIcon: true,\n size: 'md',\n radius: 'xl',\n allowStepClick: true,\n iconPosition: 'left',\n __staticSelector: 'Step',\n};\n\nconst getStepFragment = (Fragment: StepFragmentComponent | React.ReactNode, step: number) => {\n if (typeof Fragment === 'function') {\n return <Fragment step={step} />;\n }\n\n return Fragment;\n};\n\nexport const Step = forwardRef<HTMLButtonElement, StepProps>((props: StepProps, ref) => {\n const {\n className,\n step,\n state,\n color,\n icon,\n completedIcon,\n progressIcon,\n label,\n description,\n withIcon,\n iconSize,\n size,\n radius,\n loading,\n allowStepClick,\n allowStepSelect,\n iconPosition,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n orientation,\n ...others\n } = useComponentDefaultProps('StepperStep', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { color, iconSize, size, radius, allowStepClick, iconPosition, orientation },\n { name: __staticSelector, classNames, styles, unstyled }\n );\n\n const _iconSize = theme.fn.size({ size, sizes: defaultIconSizes });\n const _icon = state === 'stepCompleted' ? null : state === 'stepProgress' ? progressIcon : icon;\n const dataAttributes = {\n 'data-progress': state === 'stepProgress' || undefined,\n 'data-completed': state === 'stepCompleted' || undefined,\n };\n\n return (\n <UnstyledButton\n className={cx(classes.step, className)}\n tabIndex={allowStepClick ? 0 : -1}\n ref={ref}\n {...dataAttributes}\n {...others}\n >\n {withIcon && (\n <div className={classes.stepWrapper}>\n <div className={classes.stepIcon} {...dataAttributes}>\n <Transition mounted={state === 'stepCompleted'} transition=\"pop\" duration={200}>\n {(transitionStyles) => (\n <div className={classes.stepCompletedIcon} style={transitionStyles}>\n {loading ? (\n <Loader color=\"#fff\" size={_iconSize} className={classes.stepLoader} />\n ) : (\n getStepFragment(completedIcon, step) || (\n <CheckboxIcon indeterminate={false} width={_iconSize} height={_iconSize} />\n )\n )}\n </div>\n )}\n </Transition>\n\n {state !== 'stepCompleted' ? (\n loading ? (\n <Loader size={_iconSize} color={color} />\n ) : (\n getStepFragment(_icon || icon, step)\n )\n ) : null}\n </div>\n {orientation === 'vertical' && (\n <div\n className={cx(classes.verticalSeparator, {\n [classes.verticalSeparatorActive]: state === 'stepCompleted',\n })}\n />\n )}\n </div>\n )}\n\n {(label || description) && (\n <div className={classes.stepBody}>\n {label && <Text className={classes.stepLabel}>{getStepFragment(label, step)}</Text>}\n {description && (\n <Text className={classes.stepDescription} color=\"dimmed\">\n {getStepFragment(description, step)}\n </Text>\n )}\n </div>\n )}\n </UnstyledButton>\n );\n});\n\nStep.displayName = '@mantine/core/Step';\n"],"names":["React","forwardRef","useComponentDefaultProps","styles","useStyles","UnstyledButton","Transition","Loader","CheckboxIcon","Text"],"mappings":"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"}
|
package/cjs/Stepper/Stepper.js
CHANGED
|
@@ -46,7 +46,8 @@ const defaultProps = {
|
|
|
46
46
|
size: "md",
|
|
47
47
|
radius: "xl",
|
|
48
48
|
orientation: "horizontal",
|
|
49
|
-
iconPosition: "left"
|
|
49
|
+
iconPosition: "left",
|
|
50
|
+
allowNextStepsSelect: true
|
|
50
51
|
};
|
|
51
52
|
const Stepper = React.forwardRef((props, ref) => {
|
|
52
53
|
var _b, _c, _d;
|
|
@@ -55,6 +56,7 @@ const Stepper = React.forwardRef((props, ref) => {
|
|
|
55
56
|
children,
|
|
56
57
|
onStepClick,
|
|
57
58
|
active,
|
|
59
|
+
icon,
|
|
58
60
|
completedIcon,
|
|
59
61
|
progressIcon,
|
|
60
62
|
color,
|
|
@@ -65,6 +67,7 @@ const Stepper = React.forwardRef((props, ref) => {
|
|
|
65
67
|
orientation,
|
|
66
68
|
breakpoint,
|
|
67
69
|
iconPosition,
|
|
70
|
+
allowNextStepsSelect,
|
|
68
71
|
classNames,
|
|
69
72
|
styles: styles$1,
|
|
70
73
|
unstyled
|
|
@@ -73,6 +76,7 @@ const Stepper = React.forwardRef((props, ref) => {
|
|
|
73
76
|
"children",
|
|
74
77
|
"onStepClick",
|
|
75
78
|
"active",
|
|
79
|
+
"icon",
|
|
76
80
|
"completedIcon",
|
|
77
81
|
"progressIcon",
|
|
78
82
|
"color",
|
|
@@ -83,6 +87,7 @@ const Stepper = React.forwardRef((props, ref) => {
|
|
|
83
87
|
"orientation",
|
|
84
88
|
"breakpoint",
|
|
85
89
|
"iconPosition",
|
|
90
|
+
"allowNextStepsSelect",
|
|
86
91
|
"classNames",
|
|
87
92
|
"styles",
|
|
88
93
|
"unstyled"
|
|
@@ -92,12 +97,15 @@ const Stepper = React.forwardRef((props, ref) => {
|
|
|
92
97
|
const _children = convertedChildren.filter((child) => child.type !== StepCompleted.StepCompleted);
|
|
93
98
|
const completedStep = convertedChildren.find((item) => item.type === StepCompleted.StepCompleted);
|
|
94
99
|
const items = _children.reduce((acc, item, index) => {
|
|
95
|
-
const
|
|
100
|
+
const state = active === index ? "stepProgress" : active > index ? "stepCompleted" : "stepInactive";
|
|
101
|
+
const shouldAllowSelect = state === "stepCompleted" || allowNextStepsSelect;
|
|
102
|
+
typeof item.props.allowStepSelect === "boolean" ? item.props.allowStepSelect : typeof onStepClick === "function";
|
|
96
103
|
acc.push(React.cloneElement(item, {
|
|
97
104
|
__staticSelector: "Stepper",
|
|
98
|
-
icon: item.props.icon || index + 1,
|
|
105
|
+
icon: item.props.icon || icon || index + 1,
|
|
99
106
|
key: index,
|
|
100
|
-
|
|
107
|
+
step: index,
|
|
108
|
+
state,
|
|
101
109
|
onClick: () => shouldAllowSelect && typeof onStepClick === "function" && onStepClick(index),
|
|
102
110
|
allowStepClick: shouldAllowSelect && typeof onStepClick === "function",
|
|
103
111
|
completedIcon: item.props.completedIcon || completedIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","sources":["../../src/Stepper/Stepper.tsx"],"sourcesContent":["import React, { forwardRef, Children, cloneElement } from 'react';\nimport {\n MantineColor,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { Step, StepStylesNames } from './Step/Step';\nimport { StepCompleted } from './StepCompleted/StepCompleted';\nimport useStyles from './Stepper.styles';\n\nexport type StepperStylesNames = Selectors<typeof useStyles> | StepStylesNames;\n\nexport interface StepperProps\n extends DefaultProps<StepperStylesNames>,\n React.ComponentPropsWithRef<'div'> {\n /** <Stepper.Step /> components only */\n children: React.ReactNode;\n\n /** Called when step is clicked */\n onStepClick?(stepIndex: number): void;\n\n /** Active step index */\n active: number;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode;\n\n /** Active and progress Step colors from theme.colors */\n color?: MantineColor;\n\n /** Step icon size in px */\n iconSize?: number;\n\n /** Content padding-top from theme.spacing or number to set value in px */\n contentPadding?: MantineNumberSize;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Breakpoint at which orientation will change from horizontal to vertical */\n breakpoint?: MantineNumberSize;\n}\n\ntype StepperComponent = ForwardRefWithStaticComponents<\n StepperProps,\n {\n Step: typeof Step;\n Completed: typeof StepCompleted;\n }\n>;\n\nconst defaultProps: Partial<StepperProps> = {\n contentPadding: 'md',\n size: 'md',\n radius: 'xl',\n orientation: 'horizontal',\n iconPosition: 'left',\n};\n\nexport const Stepper: StepperComponent = forwardRef<HTMLDivElement, StepperProps>((props, ref) => {\n const {\n className,\n children,\n onStepClick,\n active,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n size,\n radius,\n orientation,\n breakpoint,\n iconPosition,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Stepper', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { contentPadding, color, orientation, iconPosition, size, iconSize, breakpoint },\n { classNames, styles, unstyled, name: 'Stepper' }\n );\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter((child) => child.type !== StepCompleted);\n const completedStep = convertedChildren.find((item) => item.type === StepCompleted);\n\n const items = _children.reduce<React.ReactElement[]>((acc, item, index) => {\n const shouldAllowSelect =\n typeof item.props.allowStepSelect === 'boolean'\n ? item.props.allowStepSelect\n : typeof onStepClick === 'function';\n\n acc.push(\n cloneElement(item, {\n __staticSelector: 'Stepper',\n icon: item.props.icon || index + 1,\n key: index,\n state:\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive',\n onClick: () => shouldAllowSelect && typeof onStepClick === 'function' && onStepClick(index),\n allowStepClick: shouldAllowSelect && typeof onStepClick === 'function',\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n size,\n radius,\n classNames,\n styles,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n unstyled,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n className={cx(classes.separator, { [classes.separatorActive]: index < active })}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n }, []);\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div className={classes.steps}>{items}</div>\n {content && <div className={classes.content}>{content}</div>}\n </Box>\n );\n}) as any;\n\nStepper.Step = Step;\nStepper.Completed = StepCompleted;\nStepper.displayName = '@mantine/core/Stepper';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","Children","StepCompleted","cloneElement","React","Box","Step"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Stepper.js","sources":["../../src/Stepper/Stepper.tsx"],"sourcesContent":["import React, { forwardRef, Children, cloneElement } from 'react';\nimport {\n MantineColor,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { Step, StepStylesNames, StepFragmentComponent } from './Step/Step';\nimport { StepCompleted } from './StepCompleted/StepCompleted';\nimport useStyles from './Stepper.styles';\n\nexport type StepperStylesNames = Selectors<typeof useStyles> | StepStylesNames;\n\nexport interface StepperProps\n extends DefaultProps<StepperStylesNames>,\n React.ComponentPropsWithRef<'div'> {\n /** <Stepper.Step /> components only */\n children: React.ReactNode;\n\n /** Called when step is clicked */\n onStepClick?(stepIndex: number): void;\n\n /** Active step index */\n active: number;\n\n /** Step icon, defaults to step index + 1 when rendered within Stepper */\n icon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is completed */\n completedIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Step icon displayed when step is in progress */\n progressIcon?: React.ReactNode | StepFragmentComponent;\n\n /** Active and progress Step colors from theme.colors */\n color?: MantineColor;\n\n /** Step icon size in px */\n iconSize?: number;\n\n /** Content padding-top from theme.spacing or number to set value in px */\n contentPadding?: MantineNumberSize;\n\n /** Component orientation */\n orientation?: 'vertical' | 'horizontal';\n\n /** Icon position relative to step body */\n iconPosition?: 'right' | 'left';\n\n /** Component size */\n size?: MantineSize;\n\n /** Radius from theme.radius, or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Breakpoint at which orientation will change from horizontal to vertical */\n breakpoint?: MantineNumberSize;\n\n /** Whether to enable click on upcoming steps by default. Defaults to true **/\n allowNextStepsSelect?: boolean;\n}\n\ntype StepperComponent = ForwardRefWithStaticComponents<\n StepperProps,\n {\n Step: typeof Step;\n Completed: typeof StepCompleted;\n }\n>;\n\nconst defaultProps: Partial<StepperProps> = {\n contentPadding: 'md',\n size: 'md',\n radius: 'xl',\n orientation: 'horizontal',\n iconPosition: 'left',\n allowNextStepsSelect: true,\n};\n\nexport const Stepper: StepperComponent = forwardRef<HTMLDivElement, StepperProps>((props, ref) => {\n const {\n className,\n children,\n onStepClick,\n active,\n icon,\n completedIcon,\n progressIcon,\n color,\n iconSize,\n contentPadding,\n size,\n radius,\n orientation,\n breakpoint,\n iconPosition,\n allowNextStepsSelect,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Stepper', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { contentPadding, color, orientation, iconPosition, size, iconSize, breakpoint },\n { classNames, styles, unstyled, name: 'Stepper' }\n );\n\n const convertedChildren = Children.toArray(children) as React.ReactElement[];\n const _children = convertedChildren.filter((child) => child.type !== StepCompleted);\n const completedStep = convertedChildren.find((item) => item.type === StepCompleted);\n\n const items = _children.reduce<React.ReactElement[]>((acc, item, index) => {\n const state =\n active === index ? 'stepProgress' : active > index ? 'stepCompleted' : 'stepInactive';\n const shouldAllowSelect = state === 'stepCompleted' || allowNextStepsSelect;\n typeof item.props.allowStepSelect === 'boolean'\n ? item.props.allowStepSelect\n : typeof onStepClick === 'function';\n\n acc.push(\n cloneElement(item, {\n __staticSelector: 'Stepper',\n icon: item.props.icon || icon || index + 1,\n key: index,\n step: index,\n state,\n onClick: () => shouldAllowSelect && typeof onStepClick === 'function' && onStepClick(index),\n allowStepClick: shouldAllowSelect && typeof onStepClick === 'function',\n completedIcon: item.props.completedIcon || completedIcon,\n progressIcon: item.props.progressIcon || progressIcon,\n color: item.props.color || color,\n iconSize,\n size,\n radius,\n classNames,\n styles,\n iconPosition: item.props.iconPosition || iconPosition,\n orientation,\n unstyled,\n })\n );\n\n if (orientation === 'horizontal' && index !== _children.length - 1) {\n acc.push(\n <div\n className={cx(classes.separator, { [classes.separatorActive]: index < active })}\n key={`separator-${index}`}\n />\n );\n }\n\n return acc;\n }, []);\n\n const stepContent = _children[active]?.props?.children;\n const completedContent = completedStep?.props?.children;\n const content = active > _children.length - 1 ? completedContent : stepContent;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div className={classes.steps}>{items}</div>\n {content && <div className={classes.content}>{content}</div>}\n </Box>\n );\n}) as any;\n\nStepper.Step = Step;\nStepper.Completed = StepCompleted;\nStepper.displayName = '@mantine/core/Stepper';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","Children","StepCompleted","cloneElement","React","Box","Step"],"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;AASF,MAAM,YAAY,GAAG;AACrB,EAAE,cAAc,EAAE,IAAI;AACtB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,WAAW,EAAE,YAAY;AAC3B,EAAE,YAAY,EAAE,MAAM;AACtB,EAAE,oBAAoB,EAAE,IAAI;AAC5B,CAAC,CAAC;AACU,MAAC,OAAO,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAClD,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjB,EAAE,MAAM,EAAE,GAAGC,+BAAwB,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACvE,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,UAAU;AACd,YAAIC,QAAM;AACV,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,sBAAsB;AAC1B,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGC,yBAAS,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,UAAED,QAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AACzK,EAAE,MAAM,iBAAiB,GAAGE,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvD,EAAE,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAKC,2BAAa,CAAC,CAAC;AACtF,EAAE,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAKA,2BAAa,CAAC,CAAC;AACtF,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,KAAK;AACvD,IAAI,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK,GAAG,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,CAAC;AACxG,IAAI,MAAM,iBAAiB,GAAG,KAAK,KAAK,eAAe,IAAI,oBAAoB,CAAC;AAChF,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC;AACrH,IAAI,GAAG,CAAC,IAAI,CAACC,kBAAY,CAAC,IAAI,EAAE;AAChC,MAAM,gBAAgB,EAAE,SAAS;AACjC,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;AAChD,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,KAAK;AACX,MAAM,OAAO,EAAE,MAAM,iBAAiB,IAAI,OAAO,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC;AACjG,MAAM,cAAc,EAAE,iBAAiB,IAAI,OAAO,WAAW,KAAK,UAAU;AAC5E,MAAM,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa;AAC9D,MAAM,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,YAAY;AAC3D,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK;AACtC,MAAM,QAAQ;AACd,MAAM,IAAI;AACV,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,cAAMJ,QAAM;AACZ,MAAM,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,YAAY;AAC3D,MAAM,WAAW;AACjB,MAAM,QAAQ;AACd,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,IAAI,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACxE,MAAM,GAAG,CAAC,IAAI,iBAAiBK,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1D,QAAQ,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;AACvF,QAAQ,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjC,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AACjH,EAAE,MAAM,gBAAgB,GAAG,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AACtH,EAAE,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,gBAAgB,GAAG,WAAW,CAAC;AACjF,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACC,OAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,kBAAkBD,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzD,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,oBAAoBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACnE,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACf,CAAC,EAAE;AACH,OAAO,CAAC,IAAI,GAAGE,SAAI,CAAC;AACpB,OAAO,CAAC,SAAS,GAAGJ,2BAAa,CAAC;AAClC,OAAO,CAAC,WAAW,GAAG,uBAAuB;;;;"}
|
package/cjs/Text/Text.js
CHANGED
|
@@ -53,6 +53,7 @@ const _Text = React.forwardRef((props, ref) => {
|
|
|
53
53
|
align,
|
|
54
54
|
variant,
|
|
55
55
|
lineClamp,
|
|
56
|
+
truncate,
|
|
56
57
|
gradient,
|
|
57
58
|
inline,
|
|
58
59
|
inherit,
|
|
@@ -72,6 +73,7 @@ const _Text = React.forwardRef((props, ref) => {
|
|
|
72
73
|
"align",
|
|
73
74
|
"variant",
|
|
74
75
|
"lineClamp",
|
|
76
|
+
"truncate",
|
|
75
77
|
"gradient",
|
|
76
78
|
"inline",
|
|
77
79
|
"inherit",
|
|
@@ -88,6 +90,7 @@ const _Text = React.forwardRef((props, ref) => {
|
|
|
88
90
|
color,
|
|
89
91
|
size,
|
|
90
92
|
lineClamp,
|
|
93
|
+
truncate,
|
|
91
94
|
inline,
|
|
92
95
|
inherit,
|
|
93
96
|
underline,
|
package/cjs/Text/Text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../src/Text/Text.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineGradient,\n useComponentDefaultProps,\n MantineColor,\n MantineNumberSize,\n} from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Box } from '../Box';\nimport useStyles from './Text.styles';\n\nexport interface TextProps extends DefaultProps {\n /** Text content */\n children?: React.ReactNode;\n\n /** Key of theme.fontSizes or number to set font-size in px */\n size?: MantineNumberSize;\n\n /** Key of theme.colors or any valid CSS color */\n color?: 'dimmed' | MantineColor;\n\n /** Sets font-weight css property */\n weight?: React.CSSProperties['fontWeight'];\n\n /** Sets text-transform css property */\n transform?: React.CSSProperties['textTransform'];\n\n /** Sets text-align css property */\n align?: React.CSSProperties['textAlign'];\n\n /** Link or text variant */\n variant?: 'text' | 'link' | 'gradient';\n\n /** CSS -webkit-line-clamp property */\n lineClamp?: number;\n\n /** Sets line-height to 1 for centering */\n inline?: boolean;\n\n /** Underline the text */\n underline?: boolean;\n\n /** Add strikethrough styles */\n strikethrough?: boolean;\n\n /** Adds font-style: italic style */\n italic?: boolean;\n\n /** Inherit font properties from parent element */\n inherit?: boolean;\n\n /** Controls gradient settings in gradient variant only */\n gradient?: MantineGradient;\n\n /** Shorthand for component=\"span\" */\n span?: boolean;\n}\n\nconst defaultProps: Partial<TextProps> = {\n variant: 'text',\n};\n\nexport const _Text = forwardRef<HTMLDivElement, TextProps>((props, ref) => {\n const {\n className,\n size,\n weight,\n transform,\n color,\n align,\n variant,\n lineClamp,\n gradient,\n inline,\n inherit,\n underline,\n strikethrough,\n italic,\n classNames,\n styles,\n unstyled,\n span,\n ...others\n } = useComponentDefaultProps('Text', defaultProps, props);\n\n const { classes, cx } = useStyles(\n {\n variant,\n color,\n size,\n lineClamp,\n inline,\n inherit,\n underline,\n strikethrough,\n italic,\n weight,\n transform,\n align,\n gradient,\n },\n { unstyled, name: 'Text' }\n );\n\n return (\n <Box\n ref={ref}\n className={cx(classes.root, { [classes.gradient]: variant === 'gradient' }, className)}\n component={span ? 'span' : 'div'}\n {...others}\n />\n );\n});\n\n_Text.displayName = '@mantine/core/Text';\n\nexport const Text = createPolymorphicComponent<'div', TextProps>(_Text);\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","React","Box","createPolymorphicComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../src/Text/Text.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineGradient,\n useComponentDefaultProps,\n MantineColor,\n MantineNumberSize,\n} from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Box } from '../Box';\nimport useStyles from './Text.styles';\n\nexport interface TextProps extends DefaultProps {\n /** Text content */\n children?: React.ReactNode;\n\n /** Key of theme.fontSizes or number to set font-size in px */\n size?: MantineNumberSize;\n\n /** Key of theme.colors or any valid CSS color */\n color?: 'dimmed' | MantineColor;\n\n /** Sets font-weight css property */\n weight?: React.CSSProperties['fontWeight'];\n\n /** Sets text-transform css property */\n transform?: React.CSSProperties['textTransform'];\n\n /** Sets text-align css property */\n align?: React.CSSProperties['textAlign'];\n\n /** Link or text variant */\n variant?: 'text' | 'link' | 'gradient';\n\n /** CSS -webkit-line-clamp property */\n lineClamp?: number;\n\n /** CSS truncate overflowing text with an ellipsis */\n truncate?: boolean;\n\n /** Sets line-height to 1 for centering */\n inline?: boolean;\n\n /** Underline the text */\n underline?: boolean;\n\n /** Add strikethrough styles */\n strikethrough?: boolean;\n\n /** Adds font-style: italic style */\n italic?: boolean;\n\n /** Inherit font properties from parent element */\n inherit?: boolean;\n\n /** Controls gradient settings in gradient variant only */\n gradient?: MantineGradient;\n\n /** Shorthand for component=\"span\" */\n span?: boolean;\n}\n\nconst defaultProps: Partial<TextProps> = {\n variant: 'text',\n};\n\nexport const _Text = forwardRef<HTMLDivElement, TextProps>((props, ref) => {\n const {\n className,\n size,\n weight,\n transform,\n color,\n align,\n variant,\n lineClamp,\n truncate,\n gradient,\n inline,\n inherit,\n underline,\n strikethrough,\n italic,\n classNames,\n styles,\n unstyled,\n span,\n ...others\n } = useComponentDefaultProps('Text', defaultProps, props);\n\n const { classes, cx } = useStyles(\n {\n variant,\n color,\n size,\n lineClamp,\n truncate,\n inline,\n inherit,\n underline,\n strikethrough,\n italic,\n weight,\n transform,\n align,\n gradient,\n },\n { unstyled, name: 'Text' }\n );\n\n return (\n <Box\n ref={ref}\n className={cx(classes.root, { [classes.gradient]: variant === 'gradient' }, className)}\n component={span ? 'span' : 'div'}\n {...others}\n />\n );\n});\n\n_Text.displayName = '@mantine/core/Text';\n\nexport const Text = createPolymorphicComponent<'div', TextProps>(_Text);\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","React","Box","createPolymorphicComponent"],"mappings":"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"}
|
package/cjs/Text/Text.styles.js
CHANGED
|
@@ -54,11 +54,22 @@ function getLineClamp(lineClamp) {
|
|
|
54
54
|
}
|
|
55
55
|
return null;
|
|
56
56
|
}
|
|
57
|
+
function getTruncate(truncate) {
|
|
58
|
+
if (truncate) {
|
|
59
|
+
return {
|
|
60
|
+
overflow: "hidden",
|
|
61
|
+
textOverflow: "ellipsis",
|
|
62
|
+
whiteSpace: "nowrap"
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
57
67
|
var useStyles = styles.createStyles((theme, {
|
|
58
68
|
color,
|
|
59
69
|
variant,
|
|
60
70
|
size,
|
|
61
71
|
lineClamp,
|
|
72
|
+
truncate,
|
|
62
73
|
inline,
|
|
63
74
|
inherit,
|
|
64
75
|
underline,
|
|
@@ -71,7 +82,7 @@ var useStyles = styles.createStyles((theme, {
|
|
|
71
82
|
}) => {
|
|
72
83
|
const colors = theme.fn.variant({ variant: "gradient", gradient });
|
|
73
84
|
return {
|
|
74
|
-
root: __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), getLineClamp(lineClamp)), {
|
|
85
|
+
root: __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), getLineClamp(lineClamp)), getTruncate(truncate)), {
|
|
75
86
|
color: getTextColor({ color, theme, variant }),
|
|
76
87
|
fontFamily: inherit ? "inherit" : theme.fontFamily,
|
|
77
88
|
fontSize: inherit || size === void 0 ? "inherit" : theme.fn.size({ size, sizes: theme.fontSizes }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.styles.js","sources":["../../src/Text/Text.styles.ts"],"sourcesContent":["import {\n createStyles,\n MantineTheme,\n CSSObject,\n MantineColor,\n MantineGradient,\n MantineNumberSize,\n} from '@mantine/styles';\n\nexport interface TextStylesParams {\n color: 'dimmed' | MantineColor;\n variant: 'text' | 'link' | 'gradient';\n size: MantineNumberSize;\n lineClamp: number;\n inline: boolean;\n inherit: boolean;\n underline: boolean;\n strikethrough: boolean;\n italic: boolean;\n gradient: MantineGradient;\n transform: React.CSSProperties['textTransform'];\n align: React.CSSProperties['textAlign'];\n weight: React.CSSProperties['fontWeight'];\n}\n\ninterface GetTextColor {\n theme: MantineTheme;\n color: 'dimmed' | MantineColor;\n variant: TextStylesParams['variant'];\n}\n\nfunction getTextDecoration({\n underline,\n strikethrough,\n}: {\n underline: boolean;\n strikethrough: boolean;\n}) {\n const styles = [];\n if (underline) {\n styles.push('underline');\n }\n\n if (strikethrough) {\n styles.push('line-through');\n }\n\n return styles.length > 0 ? styles.join(' ') : 'none';\n}\n\nfunction getTextColor({ theme, color, variant }: GetTextColor) {\n if (color === 'dimmed') {\n return theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6];\n }\n\n return typeof color === 'string' && (color in theme.colors || color.split('.')[0] in theme.colors)\n ? theme.fn.variant({ variant: 'filled', color }).background\n : variant === 'link'\n ? theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 4 : 7]\n : color || 'inherit';\n}\n\nfunction getLineClamp(lineClamp: number): CSSObject {\n if (typeof lineClamp === 'number') {\n return {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: lineClamp,\n WebkitBoxOrient: 'vertical',\n };\n }\n\n return null;\n}\n\nexport default createStyles(\n (\n theme,\n {\n color,\n variant,\n size,\n lineClamp,\n inline,\n inherit,\n underline,\n gradient,\n weight,\n transform,\n align,\n strikethrough,\n italic,\n }: TextStylesParams\n ) => {\n const colors = theme.fn.variant({ variant: 'gradient', gradient });\n\n return {\n root: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n ...getLineClamp(lineClamp),\n color: getTextColor({ color, theme, variant }),\n fontFamily: inherit ? 'inherit' : theme.fontFamily,\n fontSize:\n inherit || size === undefined\n ? 'inherit'\n : theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: inherit ? 'inherit' : inline ? 1 : theme.lineHeight,\n textDecoration: getTextDecoration({ underline, strikethrough }),\n WebkitTapHighlightColor: 'transparent',\n fontWeight: inherit ? 'inherit' : weight,\n textTransform: transform,\n textAlign: align,\n fontStyle: italic ? 'italic' : undefined,\n\n ...theme.fn.hover(\n variant === 'link' && underline === undefined\n ? {\n textDecoration: 'underline',\n }\n : undefined\n ),\n },\n\n gradient: {\n backgroundImage: colors.background,\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n },\n };\n }\n);\n"],"names":["createStyles"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Text.styles.js","sources":["../../src/Text/Text.styles.ts"],"sourcesContent":["import {\n createStyles,\n MantineTheme,\n CSSObject,\n MantineColor,\n MantineGradient,\n MantineNumberSize,\n} from '@mantine/styles';\n\nexport interface TextStylesParams {\n color: 'dimmed' | MantineColor;\n variant: 'text' | 'link' | 'gradient';\n size: MantineNumberSize;\n lineClamp: number;\n truncate: boolean;\n inline: boolean;\n inherit: boolean;\n underline: boolean;\n strikethrough: boolean;\n italic: boolean;\n gradient: MantineGradient;\n transform: React.CSSProperties['textTransform'];\n align: React.CSSProperties['textAlign'];\n weight: React.CSSProperties['fontWeight'];\n}\n\ninterface GetTextColor {\n theme: MantineTheme;\n color: 'dimmed' | MantineColor;\n variant: TextStylesParams['variant'];\n}\n\nfunction getTextDecoration({\n underline,\n strikethrough,\n}: {\n underline: boolean;\n strikethrough: boolean;\n}) {\n const styles = [];\n if (underline) {\n styles.push('underline');\n }\n\n if (strikethrough) {\n styles.push('line-through');\n }\n\n return styles.length > 0 ? styles.join(' ') : 'none';\n}\n\nfunction getTextColor({ theme, color, variant }: GetTextColor) {\n if (color === 'dimmed') {\n return theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6];\n }\n\n return typeof color === 'string' && (color in theme.colors || color.split('.')[0] in theme.colors)\n ? theme.fn.variant({ variant: 'filled', color }).background\n : variant === 'link'\n ? theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 4 : 7]\n : color || 'inherit';\n}\n\nfunction getLineClamp(lineClamp: number): CSSObject {\n if (typeof lineClamp === 'number') {\n return {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitLineClamp: lineClamp,\n WebkitBoxOrient: 'vertical',\n };\n }\n\n return null;\n}\n\nfunction getTruncate(truncate: boolean): CSSObject {\n if (truncate) {\n return {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n };\n }\n\n return null;\n}\n\nexport default createStyles(\n (\n theme,\n {\n color,\n variant,\n size,\n lineClamp,\n truncate,\n inline,\n inherit,\n underline,\n gradient,\n weight,\n transform,\n align,\n strikethrough,\n italic,\n }: TextStylesParams\n ) => {\n const colors = theme.fn.variant({ variant: 'gradient', gradient });\n\n return {\n root: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n ...getLineClamp(lineClamp),\n ...getTruncate(truncate),\n color: getTextColor({ color, theme, variant }),\n fontFamily: inherit ? 'inherit' : theme.fontFamily,\n fontSize:\n inherit || size === undefined\n ? 'inherit'\n : theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: inherit ? 'inherit' : inline ? 1 : theme.lineHeight,\n textDecoration: getTextDecoration({ underline, strikethrough }),\n WebkitTapHighlightColor: 'transparent',\n fontWeight: inherit ? 'inherit' : weight,\n textTransform: transform,\n textAlign: align,\n fontStyle: italic ? 'italic' : undefined,\n\n ...theme.fn.hover(\n variant === 'link' && underline === undefined\n ? {\n textDecoration: 'underline',\n }\n : undefined\n ),\n },\n\n gradient: {\n backgroundImage: colors.background,\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n },\n };\n }\n);\n"],"names":["createStyles"],"mappings":"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"}
|
|
@@ -76,7 +76,7 @@ const defaultProps = {
|
|
|
76
76
|
transitionDuration: 0,
|
|
77
77
|
withinPortal: true,
|
|
78
78
|
shadow: "md",
|
|
79
|
-
withEyeDropper:
|
|
79
|
+
withEyeDropper: true
|
|
80
80
|
};
|
|
81
81
|
const ColorInput = forwardRef((props, ref) => {
|
|
82
82
|
const _a = useInputProps("ColorInput", defaultProps, props), {
|
|
@@ -87,6 +87,7 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
87
87
|
onChangeEnd,
|
|
88
88
|
onFocus,
|
|
89
89
|
onBlur,
|
|
90
|
+
onClick,
|
|
90
91
|
value,
|
|
91
92
|
defaultValue,
|
|
92
93
|
disallowInput,
|
|
@@ -109,7 +110,9 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
109
110
|
withEyeDropper,
|
|
110
111
|
eyeDropperIcon,
|
|
111
112
|
rightSection,
|
|
112
|
-
rightSectionWidth
|
|
113
|
+
rightSectionWidth,
|
|
114
|
+
closeOnColorSwatchClick,
|
|
115
|
+
disabled
|
|
113
116
|
} = _a, others = __objRest(_a, [
|
|
114
117
|
"wrapperProps",
|
|
115
118
|
"inputProps",
|
|
@@ -118,6 +121,7 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
118
121
|
"onChangeEnd",
|
|
119
122
|
"onFocus",
|
|
120
123
|
"onBlur",
|
|
124
|
+
"onClick",
|
|
121
125
|
"value",
|
|
122
126
|
"defaultValue",
|
|
123
127
|
"disallowInput",
|
|
@@ -140,7 +144,9 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
140
144
|
"withEyeDropper",
|
|
141
145
|
"eyeDropperIcon",
|
|
142
146
|
"rightSection",
|
|
143
|
-
"rightSectionWidth"
|
|
147
|
+
"rightSectionWidth",
|
|
148
|
+
"closeOnColorSwatchClick",
|
|
149
|
+
"disabled"
|
|
144
150
|
]);
|
|
145
151
|
const theme = useMantineTheme();
|
|
146
152
|
const [dropdownOpened, setDropdownOpened] = useState(false);
|
|
@@ -160,14 +166,18 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
160
166
|
size: theme.fn.size({ size: inputProps.size, sizes: EYE_DROPPER_SIZES })
|
|
161
167
|
}));
|
|
162
168
|
const handleInputFocus = (event) => {
|
|
163
|
-
|
|
169
|
+
onFocus == null ? void 0 : onFocus(event);
|
|
164
170
|
setDropdownOpened(true);
|
|
165
171
|
};
|
|
166
172
|
const handleInputBlur = (event) => {
|
|
167
|
-
|
|
173
|
+
onBlur == null ? void 0 : onBlur(event);
|
|
168
174
|
setDropdownOpened(false);
|
|
169
175
|
fixOnBlur && setValue(lastValidValue);
|
|
170
176
|
};
|
|
177
|
+
const handleInputClick = (event) => {
|
|
178
|
+
onClick == null ? void 0 : onClick(event);
|
|
179
|
+
setDropdownOpened(true);
|
|
180
|
+
};
|
|
171
181
|
useEffect(() => {
|
|
172
182
|
if (isColorValid(_value) || _value.trim() === "") {
|
|
173
183
|
setLastValidValue(_value);
|
|
@@ -197,10 +207,12 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
197
207
|
}, /* @__PURE__ */ React.createElement(Popover.Target, null, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues(__spreadValues({
|
|
198
208
|
autoComplete: "nope"
|
|
199
209
|
}, others), inputProps), {
|
|
210
|
+
disabled,
|
|
200
211
|
ref,
|
|
201
212
|
__staticSelector: "ColorInput",
|
|
202
213
|
onFocus: handleInputFocus,
|
|
203
214
|
onBlur: handleInputBlur,
|
|
215
|
+
onClick: handleInputClick,
|
|
204
216
|
spellCheck: false,
|
|
205
217
|
value: _value,
|
|
206
218
|
onChange: (event) => {
|
|
@@ -219,7 +231,7 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
219
231
|
unstyled,
|
|
220
232
|
classNames,
|
|
221
233
|
styles,
|
|
222
|
-
rightSection: rightSection || (eyeDropperSupported ? eyeDropper : null),
|
|
234
|
+
rightSection: rightSection || (withEyeDropper && !disabled && !readOnly && eyeDropperSupported ? eyeDropper : null),
|
|
223
235
|
rightSectionWidth: rightSectionWidth != null ? rightSectionWidth : theme.fn.size({ size: inputProps.size, sizes: RIGHT_SECTION_WIDTH })
|
|
224
236
|
})))), /* @__PURE__ */ React.createElement(Popover.Dropdown, {
|
|
225
237
|
onMouseDown: (event) => event.preventDefault(),
|
|
@@ -237,7 +249,8 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
237
249
|
focusable: false,
|
|
238
250
|
unstyled,
|
|
239
251
|
styles,
|
|
240
|
-
classNames
|
|
252
|
+
classNames,
|
|
253
|
+
onColorSwatchClick: () => closeOnColorSwatchClick && setDropdownOpened(false)
|
|
241
254
|
}))));
|
|
242
255
|
});
|
|
243
256
|
ColorInput.displayName = "@mantine/core/ColorInput";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorInput.js","sources":["../../src/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useEyeDropper } from '@mantine/hooks';\nimport { DefaultProps, getDefaultZIndex, MantineShadow, useMantineTheme } from '@mantine/styles';\nimport { noop } from '@mantine/utils';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popover, PopoverStylesNames } from '../Popover';\nimport { MantineTransition } from '../Transition';\nimport {\n ColorPicker,\n ColorPickerBaseProps,\n ColorPickerStylesNames,\n} from '../ColorPicker/ColorPicker';\nimport { convertHsvaTo, isColorValid, parseColor } from '../ColorPicker/converters';\nimport { EyeDropperIcon } from './EyeDropperIcon';\n\nexport type ColorInputStylesNames =\n | InputWrapperStylesNames\n | InputStylesNames\n | ColorPickerStylesNames\n | PopoverStylesNames;\n\nexport interface ColorInputProps\n extends InputWrapperBaseProps,\n InputSharedProps,\n ColorPickerBaseProps,\n DefaultProps<ColorInputStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'defaultValue' | 'value'> {\n /** Disallow free input */\n disallowInput?: boolean;\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Dropdown element z-index */\n dropdownZIndex?: number;\n\n /** Display swatch with color preview on the left side of input */\n withPreview?: boolean;\n\n /** Dropdown transition name or object */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration in ms */\n transitionDuration?: number;\n\n /** Dropdown transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Dropdown box-shadow, key of theme.shadows */\n shadow?: MantineShadow;\n\n /** Determines whether eye dropper button should be displayed in the right section */\n withEyeDropper?: boolean;\n\n /** Replaces default eye dropper icon */\n eyeDropperIcon?: React.ReactNode;\n}\n\nconst SWATCH_SIZES = {\n xs: 16,\n sm: 18,\n md: 22,\n lg: 28,\n xl: 36,\n};\n\nconst EYE_DROPPER_SIZES = {\n xs: 14,\n sm: 16,\n md: 18,\n lg: 20,\n xl: 22,\n};\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 28,\n sm: 32,\n md: 38,\n lg: 44,\n xl: 58,\n};\n\nconst defaultProps: Partial<ColorInputProps> = {\n size: 'sm',\n format: 'hex',\n fixOnBlur: true,\n withPreview: true,\n swatchesPerRow: 10,\n withPicker: true,\n transition: 'pop-top-left',\n dropdownZIndex: getDefaultZIndex('popover'),\n transitionDuration: 0,\n withinPortal: true,\n shadow: 'md',\n withEyeDropper: false,\n};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>((props, ref) => {\n const {\n wrapperProps,\n inputProps,\n format,\n onChange,\n onChangeEnd,\n onFocus,\n onBlur,\n value,\n defaultValue,\n disallowInput,\n fixOnBlur,\n withPreview,\n swatchesPerRow,\n withPicker,\n icon,\n transition,\n dropdownZIndex,\n transitionDuration,\n transitionTimingFunction,\n withinPortal,\n swatches,\n shadow,\n classNames,\n styles,\n unstyled,\n readOnly,\n withEyeDropper,\n eyeDropperIcon,\n rightSection,\n rightSectionWidth,\n ...others\n } = useInputProps('ColorInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const [lastValidValue, setLastValidValue] = useState('');\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const { supported: eyeDropperSupported, open: openEyeDropper } = useEyeDropper();\n\n const eyeDropper = (\n <ActionIcon\n sx={{ color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black }}\n size={inputProps.size}\n onClick={() =>\n openEyeDropper()\n .then(({ sRGBHex }) => setValue(convertHsvaTo(format, parseColor(sRGBHex))))\n .catch(noop)\n }\n >\n {eyeDropperIcon || (\n <EyeDropperIcon size={theme.fn.size({ size: inputProps.size, sizes: EYE_DROPPER_SIZES })} />\n )}\n </ActionIcon>\n );\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setDropdownOpened(true);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setDropdownOpened(false);\n fixOnBlur && setValue(lastValidValue);\n };\n\n useEffect(() => {\n if (isColorValid(_value) || _value.trim() === '') {\n setLastValidValue(_value);\n }\n }, [_value]);\n\n useDidUpdate(() => {\n if (isColorValid(_value)) {\n setValue(convertHsvaTo(format, parseColor(_value)));\n }\n }, [format]);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"ColorInput\">\n <Popover\n __staticSelector=\"ColorInput\"\n position=\"bottom-start\"\n offset={5}\n zIndex={dropdownZIndex}\n withinPortal={withinPortal}\n transitionDuration={transitionDuration}\n transition={transition}\n opened={dropdownOpened}\n shadow={shadow}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n disabled={\n readOnly || (withPicker === false && (!Array.isArray(swatches) || swatches.length === 0))\n }\n >\n <Popover.Target>\n <div>\n <Input<'input'>\n autoComplete=\"nope\"\n {...others}\n {...inputProps}\n ref={ref}\n __staticSelector=\"ColorInput\"\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n spellCheck={false}\n value={_value}\n onChange={(event) => {\n const inputValue = event.currentTarget.value;\n setValue(inputValue);\n if (isColorValid(inputValue)) {\n onChangeEnd?.(convertHsvaTo(format, parseColor(inputValue)));\n }\n }}\n icon={\n icon ||\n (withPreview ? (\n <ColorSwatch\n color={isColorValid(_value) ? _value : '#fff'}\n size={theme.fn.size({ size: inputProps.size, sizes: SWATCH_SIZES })}\n />\n ) : null)\n }\n readOnly={disallowInput || readOnly}\n sx={{ cursor: disallowInput ? 'pointer' : undefined }}\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\n rightSection={rightSection || (eyeDropperSupported ? eyeDropper : null)}\n rightSectionWidth={\n rightSectionWidth ??\n theme.fn.size({ size: inputProps.size, sizes: RIGHT_SECTION_WIDTH })\n }\n />\n </div>\n </Popover.Target>\n\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} p={inputProps.size}>\n <ColorPicker\n __staticSelector=\"ColorInput\"\n value={_value}\n onChange={setValue}\n onChangeEnd={onChangeEnd}\n format={format}\n swatches={swatches}\n swatchesPerRow={swatchesPerRow}\n withPicker={withPicker}\n size={inputProps.size}\n focusable={false}\n unstyled={unstyled}\n styles={styles}\n classNames={classNames}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n );\n});\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"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;AAiBF,MAAM,YAAY,GAAG;AACrB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG;AAC1B,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG;AAC5B,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,cAAc,EAAE,EAAE;AACpB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAAC;AAC7C,EAAE,kBAAkB,EAAE,CAAC;AACvB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,cAAc,EAAE,KAAK;AACvB,CAAC,CAAC;AACU,MAAC,UAAU,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACrD,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC/D,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,aAAa;AACjB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3D,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,EAAE;AAClB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;AACnF,EAAE,MAAM,UAAU,mBAAmB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACrE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE;AACpF,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,OAAO,EAAE,MAAM,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3H,GAAG,EAAE,cAAc,oBAAoB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AAC3E,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AAC5E,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC1C,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACtD,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1D,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC5G,IAAI,gBAAgB,EAAE,YAAY;AAClC,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACnD,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI,UAAU;AACd,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ,EAAE,QAAQ,IAAI,UAAU,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;AACrG,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;AACvM,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE;AAC3B,IAAI,GAAG;AACP,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,CAAC,KAAK,KAAK;AACzB,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AACnD,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC3B,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE;AACpC,QAAQ,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClG,OAAO;AACP,KAAK;AACL,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,mBAAmB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AAClF,MAAM,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM;AACnD,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACzE,KAAK,CAAC,GAAG,IAAI,CAAC;AACd,IAAI,QAAQ,EAAE,aAAa,IAAI,QAAQ;AACvC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC,EAAE;AACtD,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,YAAY,EAAE,YAAY,KAAK,mBAAmB,GAAG,UAAU,GAAG,IAAI,CAAC;AAC3E,IAAI,iBAAiB,EAAE,iBAAiB,IAAI,IAAI,GAAG,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;AAC3I,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/D,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE;AAClD,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI;AACtB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACtD,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,WAAW;AACf,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,UAAU;AACd,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,EAAE;AACH,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
1
|
+
{"version":3,"file":"ColorInput.js","sources":["../../src/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useEyeDropper } from '@mantine/hooks';\nimport { DefaultProps, getDefaultZIndex, MantineShadow, useMantineTheme } from '@mantine/styles';\nimport { noop } from '@mantine/utils';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popover, PopoverStylesNames } from '../Popover';\nimport { MantineTransition } from '../Transition';\nimport {\n ColorPicker,\n ColorPickerBaseProps,\n ColorPickerStylesNames,\n} from '../ColorPicker/ColorPicker';\nimport { convertHsvaTo, isColorValid, parseColor } from '../ColorPicker/converters';\nimport { EyeDropperIcon } from './EyeDropperIcon';\n\nexport type ColorInputStylesNames =\n | InputWrapperStylesNames\n | InputStylesNames\n | ColorPickerStylesNames\n | PopoverStylesNames;\n\nexport interface ColorInputProps\n extends InputWrapperBaseProps,\n InputSharedProps,\n ColorPickerBaseProps,\n DefaultProps<ColorInputStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'defaultValue' | 'value'> {\n /** Disallow free input */\n disallowInput?: boolean;\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Dropdown element z-index */\n dropdownZIndex?: number;\n\n /** Display swatch with color preview on the left side of input */\n withPreview?: boolean;\n\n /** Dropdown transition name or object */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration in ms */\n transitionDuration?: number;\n\n /** Dropdown transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Dropdown box-shadow, key of theme.shadows */\n shadow?: MantineShadow;\n\n /** Determines whether eye dropper button should be displayed in the right section, true by default */\n withEyeDropper?: boolean;\n\n /** Replaces default eye dropper icon */\n eyeDropperIcon?: React.ReactNode;\n\n /** Determines whether the dropdown should be closed when color swatch is clicked, false by default */\n closeOnColorSwatchClick?: boolean;\n}\n\nconst SWATCH_SIZES = {\n xs: 16,\n sm: 18,\n md: 22,\n lg: 28,\n xl: 36,\n};\n\nconst EYE_DROPPER_SIZES = {\n xs: 14,\n sm: 16,\n md: 18,\n lg: 20,\n xl: 22,\n};\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 28,\n sm: 32,\n md: 38,\n lg: 44,\n xl: 58,\n};\n\nconst defaultProps: Partial<ColorInputProps> = {\n size: 'sm',\n format: 'hex',\n fixOnBlur: true,\n withPreview: true,\n swatchesPerRow: 10,\n withPicker: true,\n transition: 'pop-top-left',\n dropdownZIndex: getDefaultZIndex('popover'),\n transitionDuration: 0,\n withinPortal: true,\n shadow: 'md',\n withEyeDropper: true,\n};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>((props, ref) => {\n const {\n wrapperProps,\n inputProps,\n format,\n onChange,\n onChangeEnd,\n onFocus,\n onBlur,\n onClick,\n value,\n defaultValue,\n disallowInput,\n fixOnBlur,\n withPreview,\n swatchesPerRow,\n withPicker,\n icon,\n transition,\n dropdownZIndex,\n transitionDuration,\n transitionTimingFunction,\n withinPortal,\n swatches,\n shadow,\n classNames,\n styles,\n unstyled,\n readOnly,\n withEyeDropper,\n eyeDropperIcon,\n rightSection,\n rightSectionWidth,\n closeOnColorSwatchClick,\n disabled,\n ...others\n } = useInputProps('ColorInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const [lastValidValue, setLastValidValue] = useState('');\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const { supported: eyeDropperSupported, open: openEyeDropper } = useEyeDropper();\n\n const eyeDropper = (\n <ActionIcon\n sx={{ color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black }}\n size={inputProps.size}\n onClick={() =>\n openEyeDropper()\n .then(({ sRGBHex }) => setValue(convertHsvaTo(format, parseColor(sRGBHex))))\n .catch(noop)\n }\n >\n {eyeDropperIcon || (\n <EyeDropperIcon size={theme.fn.size({ size: inputProps.size, sizes: EYE_DROPPER_SIZES })} />\n )}\n </ActionIcon>\n );\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setValue(lastValidValue);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n useEffect(() => {\n if (isColorValid(_value) || _value.trim() === '') {\n setLastValidValue(_value);\n }\n }, [_value]);\n\n useDidUpdate(() => {\n if (isColorValid(_value)) {\n setValue(convertHsvaTo(format, parseColor(_value)));\n }\n }, [format]);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"ColorInput\">\n <Popover\n __staticSelector=\"ColorInput\"\n position=\"bottom-start\"\n offset={5}\n zIndex={dropdownZIndex}\n withinPortal={withinPortal}\n transitionDuration={transitionDuration}\n transition={transition}\n opened={dropdownOpened}\n shadow={shadow}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n disabled={\n readOnly || (withPicker === false && (!Array.isArray(swatches) || swatches.length === 0))\n }\n >\n <Popover.Target>\n <div>\n <Input<'input'>\n autoComplete=\"nope\"\n {...others}\n {...inputProps}\n disabled={disabled}\n ref={ref}\n __staticSelector=\"ColorInput\"\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onClick={handleInputClick}\n spellCheck={false}\n value={_value}\n onChange={(event) => {\n const inputValue = event.currentTarget.value;\n setValue(inputValue);\n if (isColorValid(inputValue)) {\n onChangeEnd?.(convertHsvaTo(format, parseColor(inputValue)));\n }\n }}\n icon={\n icon ||\n (withPreview ? (\n <ColorSwatch\n color={isColorValid(_value) ? _value : '#fff'}\n size={theme.fn.size({ size: inputProps.size, sizes: SWATCH_SIZES })}\n />\n ) : null)\n }\n readOnly={disallowInput || readOnly}\n sx={{ cursor: disallowInput ? 'pointer' : undefined }}\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\n rightSection={\n rightSection ||\n (withEyeDropper && !disabled && !readOnly && eyeDropperSupported\n ? eyeDropper\n : null)\n }\n rightSectionWidth={\n rightSectionWidth ??\n theme.fn.size({ size: inputProps.size, sizes: RIGHT_SECTION_WIDTH })\n }\n />\n </div>\n </Popover.Target>\n\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} p={inputProps.size}>\n <ColorPicker\n __staticSelector=\"ColorInput\"\n value={_value}\n onChange={setValue}\n onChangeEnd={onChangeEnd}\n format={format}\n swatches={swatches}\n swatchesPerRow={swatchesPerRow}\n withPicker={withPicker}\n size={inputProps.size}\n focusable={false}\n unstyled={unstyled}\n styles={styles}\n classNames={classNames}\n onColorSwatchClick={() => closeOnColorSwatchClick && setDropdownOpened(false)}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n );\n});\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,8 @@ const ColorPicker = forwardRef((props, ref) => {
|
|
|
76
76
|
className,
|
|
77
77
|
styles,
|
|
78
78
|
classNames,
|
|
79
|
-
unstyled
|
|
79
|
+
unstyled,
|
|
80
|
+
onColorSwatchClick
|
|
80
81
|
} = _a, others = __objRest(_a, [
|
|
81
82
|
"value",
|
|
82
83
|
"defaultValue",
|
|
@@ -96,7 +97,8 @@ const ColorPicker = forwardRef((props, ref) => {
|
|
|
96
97
|
"className",
|
|
97
98
|
"styles",
|
|
98
99
|
"classNames",
|
|
99
|
-
"unstyled"
|
|
100
|
+
"unstyled",
|
|
101
|
+
"onColorSwatchClick"
|
|
100
102
|
]);
|
|
101
103
|
const { classes, cx, theme } = useStyles({ size, fullWidth }, { classNames, styles, name: __staticSelector, unstyled });
|
|
102
104
|
const formatRef = useRef(format);
|
|
@@ -189,7 +191,9 @@ const ColorPicker = forwardRef((props, ref) => {
|
|
|
189
191
|
__staticSelector,
|
|
190
192
|
setValue,
|
|
191
193
|
onChangeEnd: (color) => {
|
|
192
|
-
|
|
194
|
+
const convertedColor = convertHsvaTo(format, parseColor(color));
|
|
195
|
+
onColorSwatchClick == null ? void 0 : onColorSwatchClick(convertedColor);
|
|
196
|
+
onChangeEnd == null ? void 0 : onChangeEnd(convertedColor);
|
|
193
197
|
}
|
|
194
198
|
}));
|
|
195
199
|
});
|