@mantine/core 5.5.6 → 5.6.1
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/Autocomplete/Autocomplete.js +7 -3
- package/cjs/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/Badge/Badge.styles.js +1 -1
- package/cjs/Badge/Badge.styles.js.map +1 -1
- package/cjs/CloseButton/CloseButton.js +5 -2
- package/cjs/CloseButton/CloseButton.js.map +1 -1
- package/cjs/ColorInput/ColorInput.js +6 -4
- package/cjs/ColorInput/ColorInput.js.map +1 -1
- package/cjs/FileButton/FileButton.js +2 -2
- package/cjs/FileButton/FileButton.js.map +1 -1
- package/cjs/FileInput/FileInput.js +7 -4
- 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/JsonInput/JsonInput.js +7 -4
- package/cjs/JsonInput/JsonInput.js.map +1 -1
- package/cjs/MediaQuery/MediaQuery.js.map +1 -1
- package/cjs/MediaQuery/MediaQuery.styles.js +5 -4
- package/cjs/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/cjs/NativeSelect/NativeSelect.js +2 -1
- package/cjs/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/Popover/Popover.js +12 -9
- package/cjs/Popover/Popover.js.map +1 -1
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +2 -2
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/cjs/Progress/Progress.js +33 -18
- package/cjs/Progress/Progress.js.map +1 -1
- package/cjs/Rating/Rating.js +198 -0
- package/cjs/Rating/Rating.js.map +1 -0
- package/cjs/Rating/Rating.styles.js +23 -0
- package/cjs/Rating/Rating.styles.js.map +1 -0
- package/cjs/Rating/RatingItem/RatingItem.js +106 -0
- package/cjs/Rating/RatingItem/RatingItem.js.map +1 -0
- package/cjs/Rating/RatingItem/RatingItem.styles.js +52 -0
- package/cjs/Rating/RatingItem/RatingItem.styles.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarIcon.js +41 -0
- package/cjs/Rating/StarSymbol/StarIcon.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarSymbol.js +22 -0
- package/cjs/Rating/StarSymbol/StarSymbol.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarSymbol.styles.js +28 -0
- package/cjs/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
- package/cjs/RingProgress/Curve/Curve.js +39 -13
- package/cjs/RingProgress/Curve/Curve.js.map +1 -1
- package/cjs/RingProgress/RingProgress.js +15 -15
- package/cjs/RingProgress/RingProgress.js.map +1 -1
- package/cjs/RingProgress/get-curves/get-curves.js.map +1 -1
- package/cjs/Select/SelectPopover/SelectPopover.js +3 -1
- package/cjs/Select/SelectPopover/SelectPopover.js.map +1 -1
- package/cjs/Slider/utils/get-change-value/get-change-value.js +5 -5
- package/cjs/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.js +2 -1
- package/cjs/Tabs/Tab/Tab.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.styles.js +7 -7
- package/cjs/Tabs/Tab/Tab.styles.js.map +1 -1
- package/cjs/Tabs/Tabs.context.js.map +1 -1
- package/cjs/Tabs/Tabs.js +9 -5
- package/cjs/Tabs/Tabs.js.map +1 -1
- package/cjs/Tabs/Tabs.styles.js +3 -2
- package/cjs/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.js +2 -2
- package/cjs/Tabs/TabsList/TabsList.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.styles.js +3 -3
- package/cjs/Tabs/TabsList/TabsList.styles.js.map +1 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js +2 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/cjs/Tabs/TabsProvider.js +2 -0
- package/cjs/Tabs/TabsProvider.js.map +1 -1
- package/cjs/Tooltip/Tooltip.js +3 -0
- package/cjs/Tooltip/Tooltip.js.map +1 -1
- package/cjs/TransferList/RenderList/RenderList.js +16 -6
- package/cjs/TransferList/RenderList/RenderList.js.map +1 -1
- package/cjs/TransferList/TransferList.js +32 -4
- package/cjs/TransferList/TransferList.js.map +1 -1
- package/cjs/index.js +4 -0
- package/cjs/index.js.map +1 -1
- package/esm/Autocomplete/Autocomplete.js +7 -3
- package/esm/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/Badge/Badge.styles.js +1 -1
- package/esm/Badge/Badge.styles.js.map +1 -1
- package/esm/CloseButton/CloseButton.js +5 -3
- package/esm/CloseButton/CloseButton.js.map +1 -1
- package/esm/ColorInput/ColorInput.js +6 -4
- package/esm/ColorInput/ColorInput.js.map +1 -1
- package/esm/FileButton/FileButton.js +2 -2
- package/esm/FileButton/FileButton.js.map +1 -1
- package/esm/FileInput/FileInput.js +7 -4
- 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/JsonInput/JsonInput.js +7 -4
- package/esm/JsonInput/JsonInput.js.map +1 -1
- package/esm/MediaQuery/MediaQuery.js.map +1 -1
- package/esm/MediaQuery/MediaQuery.styles.js +5 -4
- package/esm/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/esm/NativeSelect/NativeSelect.js +2 -1
- package/esm/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/Popover/Popover.js +13 -10
- package/esm/Popover/Popover.js.map +1 -1
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js +2 -2
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/esm/Progress/Progress.js +33 -18
- package/esm/Progress/Progress.js.map +1 -1
- package/esm/Rating/Rating.js +190 -0
- package/esm/Rating/Rating.js.map +1 -0
- package/esm/Rating/Rating.styles.js +19 -0
- package/esm/Rating/Rating.styles.js.map +1 -0
- package/esm/Rating/RatingItem/RatingItem.js +98 -0
- package/esm/Rating/RatingItem/RatingItem.js.map +1 -0
- package/esm/Rating/RatingItem/RatingItem.styles.js +48 -0
- package/esm/Rating/RatingItem/RatingItem.styles.js.map +1 -0
- package/esm/Rating/StarSymbol/StarIcon.js +33 -0
- package/esm/Rating/StarSymbol/StarIcon.js.map +1 -0
- package/esm/Rating/StarSymbol/StarSymbol.js +14 -0
- package/esm/Rating/StarSymbol/StarSymbol.js.map +1 -0
- package/esm/Rating/StarSymbol/StarSymbol.styles.js +24 -0
- package/esm/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
- package/esm/RingProgress/Curve/Curve.js +39 -13
- package/esm/RingProgress/Curve/Curve.js.map +1 -1
- package/esm/RingProgress/RingProgress.js +15 -15
- package/esm/RingProgress/RingProgress.js.map +1 -1
- package/esm/RingProgress/get-curves/get-curves.js.map +1 -1
- package/esm/Select/SelectPopover/SelectPopover.js +3 -1
- package/esm/Select/SelectPopover/SelectPopover.js.map +1 -1
- package/esm/Slider/utils/get-change-value/get-change-value.js +5 -5
- package/esm/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/esm/Tabs/Tab/Tab.js +2 -1
- package/esm/Tabs/Tab/Tab.js.map +1 -1
- package/esm/Tabs/Tab/Tab.styles.js +7 -7
- package/esm/Tabs/Tab/Tab.styles.js.map +1 -1
- package/esm/Tabs/Tabs.context.js.map +1 -1
- package/esm/Tabs/Tabs.js +9 -5
- package/esm/Tabs/Tabs.js.map +1 -1
- package/esm/Tabs/Tabs.styles.js +3 -2
- package/esm/Tabs/Tabs.styles.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.js +2 -2
- package/esm/Tabs/TabsList/TabsList.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.styles.js +3 -3
- package/esm/Tabs/TabsList/TabsList.styles.js.map +1 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js +2 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/esm/Tabs/TabsProvider.js +2 -0
- package/esm/Tabs/TabsProvider.js.map +1 -1
- package/esm/Tooltip/Tooltip.js +3 -0
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/TransferList/RenderList/RenderList.js +16 -6
- package/esm/TransferList/RenderList/RenderList.js.map +1 -1
- package/esm/TransferList/TransferList.js +32 -4
- package/esm/TransferList/TransferList.js.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/lib/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/lib/CloseButton/CloseButton.d.ts +8 -1
- package/lib/CloseButton/CloseButton.d.ts.map +1 -1
- package/lib/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/FileButton/FileButton.d.ts +2 -0
- package/lib/FileButton/FileButton.d.ts.map +1 -1
- package/lib/FileInput/FileInput.d.ts +2 -0
- package/lib/FileInput/FileInput.d.ts.map +1 -1
- package/lib/Image/Image.d.ts.map +1 -1
- package/lib/JsonInput/JsonInput.d.ts.map +1 -1
- package/lib/MediaQuery/MediaQuery.d.ts +2 -2
- package/lib/MediaQuery/MediaQuery.d.ts.map +1 -1
- package/lib/MediaQuery/MediaQuery.styles.d.ts +3 -3
- package/lib/MediaQuery/MediaQuery.styles.d.ts.map +1 -1
- package/lib/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/Popover/Popover.d.ts.map +1 -1
- package/lib/Progress/Progress.d.ts +1 -1
- package/lib/Progress/Progress.d.ts.map +1 -1
- package/lib/Rating/Rating.d.ts +37 -0
- package/lib/Rating/Rating.d.ts.map +1 -0
- package/lib/Rating/Rating.styles.d.ts +7 -0
- package/lib/Rating/Rating.styles.d.ts.map +1 -0
- package/lib/Rating/RatingItem/RatingItem.d.ts +21 -0
- package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -0
- package/lib/Rating/RatingItem/RatingItem.styles.d.ts +7 -0
- package/lib/Rating/RatingItem/RatingItem.styles.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarIcon.d.ts +6 -0
- package/lib/Rating/StarSymbol/StarIcon.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarSymbol.d.ts +12 -0
- package/lib/Rating/StarSymbol/StarSymbol.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts +13 -0
- package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts.map +1 -0
- package/lib/Rating/index.d.ts +4 -0
- package/lib/Rating/index.d.ts.map +1 -0
- package/lib/RingProgress/Curve/Curve.d.ts +2 -2
- package/lib/RingProgress/Curve/Curve.d.ts.map +1 -1
- package/lib/RingProgress/RingProgress.d.ts +7 -5
- package/lib/RingProgress/RingProgress.d.ts.map +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts.map +1 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts +2 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.context.d.ts +3 -2
- package/lib/Tabs/Tabs.context.d.ts.map +1 -1
- package/lib/Tabs/Tabs.d.ts.map +1 -1
- package/lib/Tabs/Tabs.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.types.d.ts +2 -0
- package/lib/Tabs/Tabs.types.d.ts.map +1 -1
- package/lib/Tabs/TabsList/TabsList.styles.d.ts.map +1 -1
- package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
- package/lib/Tabs/TabsProvider.d.ts +4 -2
- package/lib/Tabs/TabsProvider.d.ts.map +1 -1
- package/lib/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/TransferList/RenderList/RenderList.d.ts +10 -1
- package/lib/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/TransferList/TransferList.d.ts +17 -3
- package/lib/TransferList/TransferList.d.ts.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderList.js","sources":["../../../src/TransferList/RenderList/RenderList.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { DefaultProps, Selectors, MantineNumberSize } from '@mantine/styles';\nimport { useScrollIntoView } from '@mantine/hooks';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from '../../Select/SelectScrollArea/SelectScrollArea';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { ActionIcon } from '../../ActionIcon';\nimport { TextInput } from '../../TextInput';\nimport { Text } from '../../Text';\nimport { Divider } from '../../Divider/Divider';\nimport { LastIcon, NextIcon, FirstIcon, PrevIcon } from '../../Pagination/icons';\nimport { TransferListItem, TransferListItemComponent } from '../types';\nimport useStyles from './RenderList.styles';\n\nexport type RenderListStylesNames = Selectors<typeof useStyles>;\n\nexport interface RenderListProps extends DefaultProps<RenderListStylesNames> {\n data: TransferListItem[];\n onSelect(value: string): void;\n selection: string[];\n itemComponent: TransferListItemComponent;\n searchPlaceholder: string;\n filter(query: string, item: TransferListItem): boolean;\n nothingFound?: React.ReactNode;\n title?: React.ReactNode;\n reversed?: boolean;\n showTransferAll?: boolean;\n onMoveAll(): void;\n onMove(): void;\n height: number;\n radius: MantineNumberSize;\n listComponent?: React.FC<any>;\n limit?: number;\n}\n\nconst icons = {\n Prev: PrevIcon,\n Next: NextIcon,\n First: FirstIcon,\n Last: LastIcon,\n};\n\nconst rtlIons = {\n Next: PrevIcon,\n Prev: NextIcon,\n Last: FirstIcon,\n First: LastIcon,\n};\n\nexport function RenderList({\n className,\n data,\n onSelect,\n selection,\n itemComponent: ItemComponent,\n listComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n title,\n showTransferAll,\n reversed,\n onMoveAll,\n onMove,\n height,\n radius,\n classNames,\n styles,\n limit,\n unstyled,\n}: RenderListProps) {\n const { classes, cx, theme } = useStyles(\n { reversed, native: listComponent !== SelectScrollArea, radius },\n { name: 'TransferList', classNames, styles, unstyled }\n );\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n const [query, setQuery] = useState('');\n const [hovered, setHovered] = useState(-1);\n const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);\n const ListComponent = listComponent || 'div';\n const Icons = theme.dir === 'rtl' ? rtlIons : icons;\n\n const itemsRefs = useRef<Record<string, HTMLButtonElement>>({});\n\n const sortedData: TransferListItem[] = groupOptions({ data: filteredData });\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n let groupName = null;\n\n sortedData.forEach((item, index) => {\n const itemComponent = (\n <UnstyledButton\n unstyled={unstyled}\n tabIndex={-1}\n onClick={() => onSelect(item.value)}\n key={item.value}\n onMouseEnter={() => setHovered(index)}\n className={cx(classes.transferListItem, {\n [classes.transferListItemHovered]: index === hovered,\n })}\n ref={(node: HTMLButtonElement) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[item.value] = node;\n }\n }}\n >\n <ItemComponent data={item} selected={selection.includes(item.value)} radius={radius} />\n </UnstyledButton>\n );\n\n if (!item.group) {\n unGroupedItems.push(itemComponent);\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={groupName}>\n <Divider classNames={{ label: classes.separatorLabel }} label={groupName} />\n </div>\n );\n }\n groupedItems.push(itemComponent);\n }\n });\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider unstyled={unstyled} classNames={{ label: classes.separatorLabel }} />\n </div>\n );\n }\n\n const handleSearchKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n case 'Enter': {\n event.preventDefault();\n if (filteredData[hovered]) {\n onSelect(filteredData[hovered].value);\n }\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'end',\n });\n\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'start',\n });\n\n return nextIndex;\n });\n }\n }\n };\n\n return (\n <div className={cx(classes.transferList, className)}>\n {title && (\n <Text weight={500} unstyled={unstyled} className={classes.transferListTitle}>\n {title}\n </Text>\n )}\n\n <div className={classes.transferListBody}>\n <div className={classes.transferListHeader}>\n <TextInput\n unstyled={unstyled}\n value={query}\n onChange={(event) => {\n setQuery(event.currentTarget.value);\n setHovered(0);\n }}\n onFocus={() => setHovered(0)}\n onBlur={() => setHovered(-1)}\n placeholder={searchPlaceholder}\n radius={0}\n onKeyDown={handleSearchKeydown}\n sx={{ flex: 1 }}\n classNames={{ input: classes.transferListSearch }}\n />\n\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={selection.length === 0}\n onClick={onMove}\n unstyled={unstyled}\n >\n {reversed ? <Icons.Prev /> : <Icons.Next />}\n </ActionIcon>\n\n {showTransferAll && (\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={data.length === 0}\n onClick={onMoveAll}\n unstyled={unstyled}\n >\n {reversed ? <Icons.First /> : <Icons.Last />}\n </ActionIcon>\n )}\n </div>\n\n <ListComponent\n ref={scrollableRef}\n onMouseLeave={() => setHovered(-1)}\n className={classes.transferListItems}\n style={{ height, position: 'relative', overflowX: 'hidden' }}\n >\n {groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text color=\"dimmed\" unstyled={unstyled} size=\"sm\" align=\"center\" mt=\"sm\">\n {nothingFound}\n </Text>\n )}\n </ListComponent>\n </div>\n </div>\n );\n}\n\nRenderList.displayName = '@mantine/core/RenderList';\n"],"names":["PrevIcon","NextIcon","FirstIcon","LastIcon","useStyles","SelectScrollArea","useState","useRef","groupOptions","useScrollIntoView","React","UnstyledButton","Divider","Text","TextInput","ActionIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderList.js","sources":["../../../src/TransferList/RenderList/RenderList.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { DefaultProps, Selectors, MantineNumberSize } from '@mantine/styles';\nimport { useScrollIntoView } from '@mantine/hooks';\nimport { groupOptions } from '@mantine/utils';\nimport { SelectScrollArea } from '../../Select/SelectScrollArea/SelectScrollArea';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { ActionIcon } from '../../ActionIcon';\nimport { TextInput } from '../../TextInput';\nimport { Text } from '../../Text';\nimport { Divider } from '../../Divider';\nimport { LastIcon, NextIcon, FirstIcon, PrevIcon } from '../../Pagination/icons';\nimport { TransferListItem, TransferListItemComponent } from '../types';\nimport useStyles from './RenderList.styles';\n\nexport type RenderListStylesNames = Selectors<typeof useStyles>;\n\nexport interface RenderListProps extends DefaultProps<RenderListStylesNames> {\n data: TransferListItem[];\n onSelect(value: string): void;\n selection: string[];\n itemComponent: TransferListItemComponent;\n searchPlaceholder: string;\n query?: string;\n onSearch(value: string): void;\n filter(query: string, item: TransferListItem): boolean;\n nothingFound?: React.ReactNode;\n placeholder?: React.ReactNode;\n title?: React.ReactNode;\n reversed?: boolean;\n showTransferAll?: boolean;\n onMoveAll(): void;\n onMove(): void;\n height: number;\n radius: MantineNumberSize;\n listComponent?: React.FC<any>;\n limit?: number;\n transferIcon?: React.FunctionComponent<{ reversed }>;\n transferAllIcon?: React.FunctionComponent<{ reversed }>;\n}\n\nconst icons = {\n Prev: PrevIcon,\n Next: NextIcon,\n First: FirstIcon,\n Last: LastIcon,\n};\n\nconst rtlIons = {\n Next: PrevIcon,\n Prev: NextIcon,\n Last: FirstIcon,\n First: LastIcon,\n};\n\nexport function RenderList({\n className,\n data,\n onSelect,\n selection,\n itemComponent: ItemComponent,\n listComponent,\n transferIcon: TransferIcon,\n transferAllIcon: TransferAllIcon,\n searchPlaceholder,\n query,\n onSearch,\n filter,\n nothingFound,\n placeholder,\n title,\n showTransferAll,\n reversed,\n onMoveAll,\n onMove,\n height,\n radius,\n classNames,\n styles,\n limit,\n unstyled,\n}: RenderListProps) {\n const { classes, cx, theme } = useStyles(\n { reversed, native: listComponent !== SelectScrollArea, radius },\n { name: 'TransferList', classNames, styles, unstyled }\n );\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n const [hovered, setHovered] = useState(-1);\n const filteredData = data.filter((item) => filter(query, item)).slice(0, limit);\n const ListComponent = listComponent || 'div';\n const Icons = theme.dir === 'rtl' ? rtlIons : icons;\n\n const itemsRefs = useRef<Record<string, HTMLButtonElement>>({});\n\n const sortedData: TransferListItem[] = groupOptions({ data: filteredData });\n\n const { scrollIntoView, targetRef, scrollableRef } = useScrollIntoView({\n duration: 0,\n offset: 5,\n cancelable: false,\n isList: true,\n });\n\n let groupName = null;\n\n sortedData.forEach((item, index) => {\n const itemComponent = (\n <UnstyledButton\n unstyled={unstyled}\n tabIndex={-1}\n onClick={() => onSelect(item.value)}\n key={item.value}\n onMouseEnter={() => setHovered(index)}\n className={cx(classes.transferListItem, {\n [classes.transferListItemHovered]: index === hovered,\n })}\n ref={(node: HTMLButtonElement) => {\n if (itemsRefs && itemsRefs.current) {\n itemsRefs.current[item.value] = node;\n }\n }}\n >\n <ItemComponent data={item} selected={selection.includes(item.value)} radius={radius} />\n </UnstyledButton>\n );\n\n if (!item.group) {\n unGroupedItems.push(itemComponent);\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={groupName}>\n <Divider classNames={{ label: classes.separatorLabel }} label={groupName} />\n </div>\n );\n }\n groupedItems.push(itemComponent);\n }\n });\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider unstyled={unstyled} classNames={{ label: classes.separatorLabel }} />\n </div>\n );\n }\n\n const handleSearchKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n case 'Enter': {\n event.preventDefault();\n if (filteredData[hovered]) {\n onSelect(filteredData[hovered].value);\n }\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current < filteredData.length - 1 ? current + 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'end',\n });\n\n return nextIndex;\n });\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => {\n const nextIndex = current > 0 ? current - 1 : current;\n\n targetRef.current = itemsRefs.current[filteredData[nextIndex]?.value];\n\n scrollIntoView({\n alignment: 'start',\n });\n\n return nextIndex;\n });\n }\n }\n };\n\n const transferIcon = reversed ? <Icons.Prev /> : <Icons.Next />;\n const transferAllIcon = reversed ? <Icons.First /> : <Icons.Last />;\n\n return (\n <div className={cx(classes.transferList, className)}>\n {title && (\n <Text weight={500} unstyled={unstyled} className={classes.transferListTitle}>\n {title}\n </Text>\n )}\n\n <div className={classes.transferListBody}>\n <div className={classes.transferListHeader}>\n <TextInput\n unstyled={unstyled}\n value={query}\n onChange={(event) => {\n onSearch(event.currentTarget.value);\n setHovered(0);\n }}\n onFocus={() => setHovered(0)}\n onBlur={() => setHovered(-1)}\n placeholder={searchPlaceholder}\n radius={0}\n onKeyDown={handleSearchKeydown}\n sx={{ flex: 1 }}\n classNames={{ input: classes.transferListSearch }}\n />\n\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={selection.length === 0}\n onClick={onMove}\n unstyled={unstyled}\n >\n {TransferIcon ? <TransferIcon reversed={reversed} /> : transferIcon}\n </ActionIcon>\n\n {showTransferAll && (\n <ActionIcon\n variant=\"default\"\n size={36}\n radius={0}\n className={classes.transferListControl}\n disabled={data.length === 0}\n onClick={onMoveAll}\n unstyled={unstyled}\n >\n {TransferAllIcon ? <TransferAllIcon reversed={reversed} /> : transferAllIcon}\n </ActionIcon>\n )}\n </div>\n\n <ListComponent\n ref={scrollableRef}\n onMouseLeave={() => setHovered(-1)}\n className={classes.transferListItems}\n style={{ height, position: 'relative', overflowX: 'hidden' }}\n >\n {groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text color=\"dimmed\" unstyled={unstyled} size=\"sm\" align=\"center\" mt=\"sm\">\n {!query && placeholder ? placeholder : nothingFound}\n </Text>\n )}\n </ListComponent>\n </div>\n </div>\n );\n}\n\nRenderList.displayName = '@mantine/core/RenderList';\n"],"names":["PrevIcon","NextIcon","FirstIcon","LastIcon","useStyles","SelectScrollArea","useState","useRef","groupOptions","useScrollIntoView","React","UnstyledButton","Divider","Text","TextInput","ActionIcon"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var styles = require('@mantine/styles');
|
|
7
|
+
var hooks = require('@mantine/hooks');
|
|
7
8
|
var RenderList = require('./RenderList/RenderList.js');
|
|
8
9
|
var SelectScrollArea = require('../Select/SelectScrollArea/SelectScrollArea.js');
|
|
9
10
|
var DefaultItem = require('./DefaultItem/DefaultItem.js');
|
|
@@ -52,6 +53,7 @@ const defaultProps = {
|
|
|
52
53
|
itemComponent: DefaultItem.DefaultItem,
|
|
53
54
|
filter: defaultFilter,
|
|
54
55
|
titles: [null, null],
|
|
56
|
+
placeholder: [null, null],
|
|
55
57
|
listHeight: 150,
|
|
56
58
|
listComponent: SelectScrollArea.SelectScrollArea,
|
|
57
59
|
showTransferAll: true,
|
|
@@ -63,8 +65,11 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
63
65
|
onChange,
|
|
64
66
|
itemComponent,
|
|
65
67
|
searchPlaceholder,
|
|
68
|
+
searchValues,
|
|
69
|
+
onSearch,
|
|
66
70
|
filter,
|
|
67
71
|
nothingFound,
|
|
72
|
+
placeholder,
|
|
68
73
|
titles,
|
|
69
74
|
initialSelection,
|
|
70
75
|
listHeight,
|
|
@@ -75,14 +80,19 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
75
80
|
classNames,
|
|
76
81
|
styles: styles$1,
|
|
77
82
|
limit,
|
|
78
|
-
unstyled
|
|
83
|
+
unstyled,
|
|
84
|
+
transferIcon,
|
|
85
|
+
transferAllIcon
|
|
79
86
|
} = _a, others = __objRest(_a, [
|
|
80
87
|
"value",
|
|
81
88
|
"onChange",
|
|
82
89
|
"itemComponent",
|
|
83
90
|
"searchPlaceholder",
|
|
91
|
+
"searchValues",
|
|
92
|
+
"onSearch",
|
|
84
93
|
"filter",
|
|
85
94
|
"nothingFound",
|
|
95
|
+
"placeholder",
|
|
86
96
|
"titles",
|
|
87
97
|
"initialSelection",
|
|
88
98
|
"listHeight",
|
|
@@ -93,9 +103,17 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
93
103
|
"classNames",
|
|
94
104
|
"styles",
|
|
95
105
|
"limit",
|
|
96
|
-
"unstyled"
|
|
106
|
+
"unstyled",
|
|
107
|
+
"transferIcon",
|
|
108
|
+
"transferAllIcon"
|
|
97
109
|
]);
|
|
98
110
|
const [selection, handlers] = useSelectionState.useSelectionState(initialSelection);
|
|
111
|
+
const [search, handleSearch] = hooks.useUncontrolled({
|
|
112
|
+
value: searchValues,
|
|
113
|
+
defaultValue: ["", ""],
|
|
114
|
+
finalValue: ["", ""],
|
|
115
|
+
onChange: onSearch
|
|
116
|
+
});
|
|
99
117
|
const handleMoveAll = (listIndex) => {
|
|
100
118
|
const items = Array(2);
|
|
101
119
|
const moveToIndex = listIndex === 0 ? 1 : 0;
|
|
@@ -124,9 +142,9 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
124
142
|
const sharedListProps = {
|
|
125
143
|
itemComponent,
|
|
126
144
|
listComponent,
|
|
127
|
-
|
|
145
|
+
transferIcon,
|
|
146
|
+
transferAllIcon,
|
|
128
147
|
filter,
|
|
129
|
-
nothingFound,
|
|
130
148
|
height: listHeight,
|
|
131
149
|
showTransferAll,
|
|
132
150
|
classNames,
|
|
@@ -147,6 +165,11 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
147
165
|
onMoveAll: () => handleMoveAll(0),
|
|
148
166
|
onMove: () => handleMove(0),
|
|
149
167
|
title: titles[0],
|
|
168
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
169
|
+
searchPlaceholder: Array.isArray(searchPlaceholder) ? searchPlaceholder[0] : searchPlaceholder,
|
|
170
|
+
nothingFound: Array.isArray(nothingFound) ? nothingFound[0] : nothingFound,
|
|
171
|
+
query: search[0],
|
|
172
|
+
onSearch: (query) => handleSearch([query, search[1]]),
|
|
150
173
|
unstyled
|
|
151
174
|
})), /* @__PURE__ */ React__default.createElement(RenderList.RenderList, __spreadProps(__spreadValues({}, sharedListProps), {
|
|
152
175
|
data: value[1],
|
|
@@ -155,6 +178,11 @@ const TransferList = React.forwardRef((props, ref) => {
|
|
|
155
178
|
onMoveAll: () => handleMoveAll(1),
|
|
156
179
|
onMove: () => handleMove(1),
|
|
157
180
|
title: titles[1],
|
|
181
|
+
placeholder: Array.isArray(placeholder) ? placeholder[1] : placeholder,
|
|
182
|
+
searchPlaceholder: Array.isArray(searchPlaceholder) ? searchPlaceholder[1] : searchPlaceholder,
|
|
183
|
+
nothingFound: Array.isArray(nothingFound) ? nothingFound[1] : nothingFound,
|
|
184
|
+
query: search[1],
|
|
185
|
+
onSearch: (query) => handleSearch([search[0], query]),
|
|
158
186
|
reversed: true,
|
|
159
187
|
unstyled
|
|
160
188
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferList.js","sources":["../../src/TransferList/TransferList.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, useComponentDefaultProps } from '@mantine/styles';\nimport { RenderList, RenderListStylesNames } from './RenderList/RenderList';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { SimpleGrid } from '../SimpleGrid';\nimport { useSelectionState, Selection } from './use-selection-state/use-selection-state';\nimport { TransferListData, TransferListItemComponent, TransferListItem } from './types';\n\nexport type TransferListStylesNames = RenderListStylesNames;\n\nexport interface TransferListProps\n extends DefaultProps<TransferListStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Current value */\n value: TransferListData;\n\n /** Called when value changes */\n onChange(value: TransferListData): void;\n\n /** Initial items selection */\n initialSelection?: Selection;\n\n /** Custom item component */\n itemComponent?: TransferListItemComponent;\n\n /** Search fields placeholder */\n searchPlaceholder?: string;\n\n /** Nothing found message */\n nothingFound?: React.ReactNode;\n\n /** Function to filter search results */\n filter?(query: string, item: TransferListItem): boolean;\n\n /** Lists titles */\n titles?: [string, string];\n\n /** List items height */\n listHeight?: number;\n\n /** Change list component, can be used to add custom scrollbars */\n listComponent?: any;\n\n /** Breakpoint at which list will collapse to single column layout */\n breakpoint?: MantineNumberSize;\n\n /** Predefined border-radius value from theme.radius or number for border-radius in px */\n radius?: MantineNumberSize;\n\n /** Whether to hide the transfer all button */\n showTransferAll?: boolean;\n\n /** Limit amount of items showed at a time */\n limit?: number;\n}\n\nexport function defaultFilter(query: string, item: TransferListItem) {\n return item.label.toLowerCase().trim().includes(query.toLowerCase().trim());\n}\n\nconst defaultProps: Partial<TransferListProps> = {\n itemComponent: DefaultItem,\n filter: defaultFilter,\n titles: [null, null],\n listHeight: 150,\n listComponent: SelectScrollArea,\n showTransferAll: true,\n limit: Infinity,\n};\n\nexport const TransferList = forwardRef<HTMLDivElement, TransferListProps>((props, ref) => {\n const {\n value,\n onChange,\n itemComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n titles,\n initialSelection,\n listHeight,\n listComponent,\n showTransferAll,\n breakpoint,\n radius,\n classNames,\n styles,\n limit,\n unstyled,\n ...others\n } = useComponentDefaultProps('TransferList', defaultProps, props);\n\n const [selection, handlers] = useSelectionState(initialSelection);\n\n const handleMoveAll = (listIndex: 0 | 1) => {\n const items: TransferListData = Array(2) as any;\n const moveToIndex = listIndex === 0 ? 1 : 0;\n items[listIndex] = [];\n items[moveToIndex] = [...value[moveToIndex], ...value[listIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const handleMove = (listIndex: 0 | 1) => {\n const moveToIndex = listIndex === 0 ? 1 : 0;\n const items: TransferListData = Array(2) as any;\n const transferData = value[listIndex].reduce(\n (acc, item) => {\n if (!selection[listIndex].includes(item.value)) {\n acc.filtered.push(item);\n } else {\n acc.current.push(item);\n }\n return acc;\n },\n { filtered: [], current: [] }\n );\n items[listIndex] = transferData.filtered;\n items[moveToIndex] = [...transferData.current, ...value[moveToIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const breakpoints = breakpoint ? [{ maxWidth: breakpoint, cols: 1 }] : [];\n const sharedListProps = {\n itemComponent,\n listComponent,\n searchPlaceholder,\n filter,\n nothingFound,\n height: listHeight,\n showTransferAll,\n classNames,\n styles,\n limit,\n radius,\n };\n\n return (\n <SimpleGrid\n cols={2}\n spacing=\"xl\"\n breakpoints={breakpoints}\n ref={ref}\n unstyled={unstyled}\n {...others}\n >\n <RenderList\n {...sharedListProps}\n data={value[0]}\n selection={selection[0]}\n onSelect={(val) => handlers.select(0, val)}\n onMoveAll={() => handleMoveAll(0)}\n onMove={() => handleMove(0)}\n title={titles[0]}\n unstyled={unstyled}\n />\n\n <RenderList\n {...sharedListProps}\n data={value[1]}\n selection={selection[1]}\n onSelect={(val) => handlers.select(1, val)}\n onMoveAll={() => handleMoveAll(1)}\n onMove={() => handleMove(1)}\n title={titles[1]}\n reversed\n unstyled={unstyled}\n />\n </SimpleGrid>\n );\n});\n\nTransferList.displayName = '@mantine/core/TransferList';\n"],"names":["DefaultItem","SelectScrollArea","forwardRef","useComponentDefaultProps","styles","useSelectionState","React","SimpleGrid","RenderList"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TransferList.js","sources":["../../src/TransferList/TransferList.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, useComponentDefaultProps } from '@mantine/styles';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { RenderList, RenderListStylesNames } from './RenderList/RenderList';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { DefaultItem } from './DefaultItem/DefaultItem';\nimport { SimpleGrid } from '../SimpleGrid';\nimport { useSelectionState, Selection } from './use-selection-state/use-selection-state';\nimport { TransferListData, TransferListItemComponent, TransferListItem } from './types';\n\nexport type TransferListStylesNames = RenderListStylesNames;\n\nexport interface TransferListProps\n extends DefaultProps<TransferListStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange' | 'placeholder'> {\n /** Current value */\n value: TransferListData;\n\n /** Called when value changes */\n onChange(value: TransferListData): void;\n\n /** Initial items selection */\n initialSelection?: Selection;\n\n /** Custom item component */\n itemComponent?: TransferListItemComponent;\n\n /** Controlled search queries */\n searchValues?: [string, string];\n\n /** Called when one of the search queries changes */\n onSearch?(value: [string, string]): void;\n\n /** Search fields placeholder */\n searchPlaceholder?: string | [string, string];\n\n /** Nothing found message */\n nothingFound?: React.ReactNode | [React.ReactNode, React.ReactNode];\n\n /** Displayed when a list is empty and there is no search query */\n placeholder?: React.ReactNode | [React.ReactNode, React.ReactNode];\n\n /** Function to filter search results */\n filter?(query: string, item: TransferListItem): boolean;\n\n /** Lists titles */\n titles?: [string, string];\n\n /** List items height */\n listHeight?: number;\n\n /** Change list component, can be used to add custom scrollbars */\n listComponent?: any;\n\n /** Breakpoint at which list will collapse to single column layout */\n breakpoint?: MantineNumberSize;\n\n /** Predefined border-radius value from theme.radius or number for border-radius in px */\n radius?: MantineNumberSize;\n\n /** Whether to hide the transfer all button */\n showTransferAll?: boolean;\n\n /** Limit amount of items showed at a time */\n limit?: number;\n\n /** Change icon used for the transfer selected control */\n transferIcon?: React.FunctionComponent<{ reversed: boolean }>;\n\n /** Change icon used for the transfer all control */\n transferAllIcon?: React.FunctionComponent<{ reversed: boolean }>;\n}\n\nexport function defaultFilter(query: string, item: TransferListItem) {\n return item.label.toLowerCase().trim().includes(query.toLowerCase().trim());\n}\n\nconst defaultProps: Partial<TransferListProps> = {\n itemComponent: DefaultItem,\n filter: defaultFilter,\n titles: [null, null],\n placeholder: [null, null],\n listHeight: 150,\n listComponent: SelectScrollArea,\n showTransferAll: true,\n limit: Infinity,\n};\n\nexport const TransferList = forwardRef<HTMLDivElement, TransferListProps>((props, ref) => {\n const {\n value,\n onChange,\n itemComponent,\n searchPlaceholder,\n searchValues,\n onSearch,\n filter,\n nothingFound,\n placeholder,\n titles,\n initialSelection,\n listHeight,\n listComponent,\n showTransferAll,\n breakpoint,\n radius,\n classNames,\n styles,\n limit,\n unstyled,\n transferIcon,\n transferAllIcon,\n ...others\n } = useComponentDefaultProps('TransferList', defaultProps, props);\n\n const [selection, handlers] = useSelectionState(initialSelection);\n const [search, handleSearch] = useUncontrolled({\n value: searchValues,\n defaultValue: ['', ''],\n finalValue: ['', ''],\n onChange: onSearch,\n });\n\n const handleMoveAll = (listIndex: 0 | 1) => {\n const items: TransferListData = Array(2) as any;\n const moveToIndex = listIndex === 0 ? 1 : 0;\n items[listIndex] = [];\n items[moveToIndex] = [...value[moveToIndex], ...value[listIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const handleMove = (listIndex: 0 | 1) => {\n const moveToIndex = listIndex === 0 ? 1 : 0;\n const items: TransferListData = Array(2) as any;\n const transferData = value[listIndex].reduce(\n (acc, item) => {\n if (!selection[listIndex].includes(item.value)) {\n acc.filtered.push(item);\n } else {\n acc.current.push(item);\n }\n return acc;\n },\n { filtered: [], current: [] }\n );\n items[listIndex] = transferData.filtered;\n items[moveToIndex] = [...transferData.current, ...value[moveToIndex]];\n onChange(items);\n handlers.deselectAll(listIndex);\n };\n\n const breakpoints = breakpoint ? [{ maxWidth: breakpoint, cols: 1 }] : [];\n const sharedListProps = {\n itemComponent,\n listComponent,\n transferIcon,\n transferAllIcon,\n filter,\n height: listHeight,\n showTransferAll,\n classNames,\n styles,\n limit,\n radius,\n };\n\n return (\n <SimpleGrid\n cols={2}\n spacing=\"xl\"\n breakpoints={breakpoints}\n ref={ref}\n unstyled={unstyled}\n {...others}\n >\n <RenderList\n {...sharedListProps}\n data={value[0]}\n selection={selection[0]}\n onSelect={(val) => handlers.select(0, val)}\n onMoveAll={() => handleMoveAll(0)}\n onMove={() => handleMove(0)}\n title={titles[0]}\n placeholder={Array.isArray(placeholder) ? placeholder[0] : placeholder}\n searchPlaceholder={\n Array.isArray(searchPlaceholder) ? searchPlaceholder[0] : searchPlaceholder\n }\n nothingFound={Array.isArray(nothingFound) ? nothingFound[0] : nothingFound}\n query={search[0]}\n onSearch={(query) => handleSearch([query, search[1]])}\n unstyled={unstyled}\n />\n\n <RenderList\n {...sharedListProps}\n data={value[1]}\n selection={selection[1]}\n onSelect={(val) => handlers.select(1, val)}\n onMoveAll={() => handleMoveAll(1)}\n onMove={() => handleMove(1)}\n title={titles[1]}\n placeholder={Array.isArray(placeholder) ? placeholder[1] : placeholder}\n searchPlaceholder={\n Array.isArray(searchPlaceholder) ? searchPlaceholder[1] : searchPlaceholder\n }\n nothingFound={Array.isArray(nothingFound) ? nothingFound[1] : nothingFound}\n query={search[1]}\n onSearch={(query) => handleSearch([search[0], query])}\n reversed\n unstyled={unstyled}\n />\n </SimpleGrid>\n );\n});\n\nTransferList.displayName = '@mantine/core/TransferList';\n"],"names":["DefaultItem","SelectScrollArea","forwardRef","useComponentDefaultProps","styles","useSelectionState","useUncontrolled","React","SimpleGrid","RenderList"],"mappings":"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"}
|
package/cjs/index.js
CHANGED
|
@@ -84,6 +84,8 @@ var Portal = require('./Portal/Portal.js');
|
|
|
84
84
|
var OptionalPortal = require('./Portal/OptionalPortal.js');
|
|
85
85
|
var Progress = require('./Progress/Progress.js');
|
|
86
86
|
var Radio = require('./Radio/Radio.js');
|
|
87
|
+
var Rating = require('./Rating/Rating.js');
|
|
88
|
+
var StarIcon = require('./Rating/StarSymbol/StarIcon.js');
|
|
87
89
|
var RingProgress = require('./RingProgress/RingProgress.js');
|
|
88
90
|
var ScrollArea = require('./ScrollArea/ScrollArea.js');
|
|
89
91
|
var SegmentedControl = require('./SegmentedControl/SegmentedControl.js');
|
|
@@ -201,6 +203,8 @@ exports.Portal = Portal.Portal;
|
|
|
201
203
|
exports.OptionalPortal = OptionalPortal.OptionalPortal;
|
|
202
204
|
exports.Progress = Progress.Progress;
|
|
203
205
|
exports.Radio = Radio.Radio;
|
|
206
|
+
exports.Rating = Rating.Rating;
|
|
207
|
+
exports.StarIcon = StarIcon.StarIcon;
|
|
204
208
|
exports.RingProgress = RingProgress.RingProgress;
|
|
205
209
|
exports.ScrollArea = ScrollArea.ScrollArea;
|
|
206
210
|
exports.SegmentedControl = SegmentedControl.SegmentedControl;
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -94,7 +94,8 @@ const Autocomplete = forwardRef((props, ref) => {
|
|
|
94
94
|
dropdownPosition,
|
|
95
95
|
maxDropdownHeight,
|
|
96
96
|
dropdownComponent,
|
|
97
|
-
positionDependencies
|
|
97
|
+
positionDependencies,
|
|
98
|
+
readOnly
|
|
98
99
|
} = _a, others = __objRest(_a, [
|
|
99
100
|
"inputProps",
|
|
100
101
|
"wrapperProps",
|
|
@@ -127,7 +128,8 @@ const Autocomplete = forwardRef((props, ref) => {
|
|
|
127
128
|
"dropdownPosition",
|
|
128
129
|
"maxDropdownHeight",
|
|
129
130
|
"dropdownComponent",
|
|
130
|
-
"positionDependencies"
|
|
131
|
+
"positionDependencies",
|
|
132
|
+
"readOnly"
|
|
131
133
|
]);
|
|
132
134
|
const { classes } = useStyles(null, { classNames, styles, name: "Autocomplete", unstyled });
|
|
133
135
|
const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);
|
|
@@ -227,7 +229,8 @@ const Autocomplete = forwardRef((props, ref) => {
|
|
|
227
229
|
positionDependencies,
|
|
228
230
|
classNames,
|
|
229
231
|
styles,
|
|
230
|
-
unstyled
|
|
232
|
+
unstyled,
|
|
233
|
+
readOnly
|
|
231
234
|
}, /* @__PURE__ */ React.createElement(SelectPopover.Target, null, /* @__PURE__ */ React.createElement("div", {
|
|
232
235
|
className: classes.wrapper,
|
|
233
236
|
role: "combobox",
|
|
@@ -241,6 +244,7 @@ const Autocomplete = forwardRef((props, ref) => {
|
|
|
241
244
|
type: "search",
|
|
242
245
|
autoComplete: "off"
|
|
243
246
|
}, inputProps), others), {
|
|
247
|
+
readOnly,
|
|
244
248
|
"data-mantine-stop-propagation": dropdownOpened,
|
|
245
249
|
ref: useMergedRef(ref, inputRef),
|
|
246
250
|
onKeyDown: handleInputKeydown,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../src/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { useState, forwardRef, useRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';\nimport { DefaultProps, getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { Input, InputWrapperBaseProps, InputSharedProps, useInputProps } from '../Input';\nimport { SelectStylesNames } from '../Select';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { SelectPopover } from '../Select/SelectPopover/SelectPopover';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { filterData } from './filter-data/filter-data';\nimport useStyles from './Autocomplete.styles';\nimport { SelectSharedProps } from '../Select/Select';\n\nexport type AutocompleteStylesNames = SelectStylesNames;\n\nexport interface AutocompleteItem {\n value: string;\n [key: string]: any;\n}\n\nexport interface AutocompleteProps\n extends DefaultProps<AutocompleteStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n SelectSharedProps<AutocompleteItem, string>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'value' | 'defaultValue'> {\n /** Maximum dropdown height */\n maxDropdownHeight?: number | string;\n\n /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Called when item from dropdown was selected */\n onItemSubmit?(item: AutocompleteItem): void;\n}\n\nexport function defaultFilter(value: string, item: AutocompleteItem) {\n return item.value.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nconst defaultProps: Partial<AutocompleteProps> = {\n required: false,\n size: 'sm',\n shadow: 'sm',\n limit: 5,\n itemComponent: DefaultItem,\n transition: 'pop',\n transitionDuration: 0,\n initiallyOpened: false,\n filter: defaultFilter,\n switchDirectionOnFlip: false,\n zIndex: getDefaultZIndex('popover'),\n dropdownPosition: 'flip',\n maxDropdownHeight: 'auto',\n positionDependencies: [],\n};\n\nexport const Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n shadow,\n data,\n limit,\n value,\n defaultValue,\n onChange,\n unstyled,\n itemComponent,\n onItemSubmit,\n onKeyDown,\n onFocus,\n onBlur,\n onClick,\n transition,\n transitionDuration,\n initiallyOpened,\n transitionTimingFunction,\n classNames,\n styles,\n filter,\n nothingFound,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n maxDropdownHeight,\n dropdownComponent,\n positionDependencies,\n ...others\n } = useInputProps('Autocomplete', defaultProps, props);\n const { classes } = useStyles(null, { classNames, styles, name: 'Autocomplete', unstyled });\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const inputRef = useRef<HTMLInputElement>(null);\n const [IMEOpen, setIMEOpen] = useState(false);\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const setDropdownOpened = (opened: boolean) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n };\n\n useDidUpdate(() => {\n setHovered(-1);\n }, [_value]);\n\n const handleItemClick = (item: AutocompleteItem) => {\n handleChange(item.value);\n typeof onItemSubmit === 'function' && onItemSubmit(item);\n setDropdownOpened(false);\n };\n\n const formattedData = data.map((item) => (typeof item === 'string' ? { value: item } : item));\n const filteredData = groupOptions({\n data: filterData({ data: formattedData, value: _value, limit, filter }),\n });\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (IMEOpen) {\n return;\n }\n\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n const isColumn = direction === 'column';\n\n const handleNext = () => {\n setHovered((current) => (current < filteredData.length - 1 ? current + 1 : current));\n };\n\n const handlePrevious = () => {\n setHovered((current) => (current > 0 ? current - 1 : current));\n };\n\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n isColumn ? handlePrevious() : handleNext();\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n isColumn ? handleNext() : handlePrevious();\n break;\n }\n\n case 'Enter': {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleChange(filteredData[hovered].value);\n typeof onItemSubmit === 'function' && onItemSubmit(filteredData[hovered]);\n setDropdownOpened(false);\n }\n break;\n }\n\n case 'Escape': {\n if (dropdownOpened) {\n event.preventDefault();\n setDropdownOpened(false);\n }\n }\n }\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 };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement, MouseEvent>) => {\n typeof onClick === 'function' && onClick(event);\n setDropdownOpened(true);\n };\n\n const shouldRenderDropdown =\n dropdownOpened && (filteredData.length > 0 || (filteredData.length === 0 && !!nothingFound));\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"Autocomplete\">\n <SelectPopover\n opened={shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow=\"sm\"\n withinPortal={withinPortal}\n __staticSelector=\"Autocomplete\"\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n positionDependencies={positionDependencies}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <SelectPopover.Target>\n <div\n className={classes.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={shouldRenderDropdown ? `${inputProps.id}-items` : null}\n aria-controls={inputProps.id}\n aria-expanded={shouldRenderDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'input'>\n type=\"search\"\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n data-mantine-stop-propagation={dropdownOpened}\n ref={useMergedRef(ref, inputRef)}\n onKeyDown={handleInputKeydown}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"Autocomplete\"\n value={_value}\n onChange={(event) => {\n handleChange(event.currentTarget.value);\n setDropdownOpened(true);\n }}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onClick={handleInputClick}\n onCompositionStart={() => setIMEOpen(true)}\n onCompositionEnd={() => setIMEOpen(false)}\n aria-autocomplete=\"list\"\n aria-controls={shouldRenderDropdown ? `${inputProps.id}-items` : null}\n aria-activedescendant={hovered >= 0 ? `${inputProps.id}-${hovered}` : null}\n />\n </div>\n </SelectPopover.Target>\n\n <SelectPopover.Dropdown\n component={dropdownComponent || SelectScrollArea}\n maxHeight={maxDropdownHeight}\n direction={direction}\n id={inputProps.id}\n __staticSelector=\"Autocomplete\"\n classNames={classNames}\n styles={styles}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n uuid={inputProps.id}\n __staticSelector=\"Autocomplete\"\n onItemHover={setHovered}\n onItemSelect={handleItemClick}\n itemComponent={itemComponent}\n size={inputProps.size}\n nothingFound={nothingFound}\n />\n </SelectPopover.Dropdown>\n </SelectPopover>\n </Input.Wrapper>\n );\n});\n\nAutocomplete.displayName = '@mantine/core/Autocomplete';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../src/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { useState, forwardRef, useRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';\nimport { DefaultProps, getDefaultZIndex } from '@mantine/styles';\nimport { groupOptions } from '@mantine/utils';\nimport { Input, InputWrapperBaseProps, InputSharedProps, useInputProps } from '../Input';\nimport { SelectStylesNames } from '../Select';\nimport { SelectItems } from '../Select/SelectItems/SelectItems';\nimport { DefaultItem } from '../Select/DefaultItem/DefaultItem';\nimport { SelectPopover } from '../Select/SelectPopover/SelectPopover';\nimport { SelectScrollArea } from '../Select/SelectScrollArea/SelectScrollArea';\nimport { filterData } from './filter-data/filter-data';\nimport useStyles from './Autocomplete.styles';\nimport { SelectSharedProps } from '../Select/Select';\n\nexport type AutocompleteStylesNames = SelectStylesNames;\n\nexport interface AutocompleteItem {\n value: string;\n [key: string]: any;\n}\n\nexport interface AutocompleteProps\n extends DefaultProps<AutocompleteStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n SelectSharedProps<AutocompleteItem, string>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'value' | 'defaultValue'> {\n /** Maximum dropdown height */\n maxDropdownHeight?: number | string;\n\n /** Change dropdown component, can be used to add native scrollbars */\n dropdownComponent?: any;\n\n /** Called when item from dropdown was selected */\n onItemSubmit?(item: AutocompleteItem): void;\n}\n\nexport function defaultFilter(value: string, item: AutocompleteItem) {\n return item.value.toLowerCase().trim().includes(value.toLowerCase().trim());\n}\n\nconst defaultProps: Partial<AutocompleteProps> = {\n required: false,\n size: 'sm',\n shadow: 'sm',\n limit: 5,\n itemComponent: DefaultItem,\n transition: 'pop',\n transitionDuration: 0,\n initiallyOpened: false,\n filter: defaultFilter,\n switchDirectionOnFlip: false,\n zIndex: getDefaultZIndex('popover'),\n dropdownPosition: 'flip',\n maxDropdownHeight: 'auto',\n positionDependencies: [],\n};\n\nexport const Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n shadow,\n data,\n limit,\n value,\n defaultValue,\n onChange,\n unstyled,\n itemComponent,\n onItemSubmit,\n onKeyDown,\n onFocus,\n onBlur,\n onClick,\n transition,\n transitionDuration,\n initiallyOpened,\n transitionTimingFunction,\n classNames,\n styles,\n filter,\n nothingFound,\n onDropdownClose,\n onDropdownOpen,\n withinPortal,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n maxDropdownHeight,\n dropdownComponent,\n positionDependencies,\n readOnly,\n ...others\n } = useInputProps('Autocomplete', defaultProps, props);\n const { classes } = useStyles(null, { classNames, styles, name: 'Autocomplete', unstyled });\n const [dropdownOpened, _setDropdownOpened] = useState(initiallyOpened);\n const [hovered, setHovered] = useState(-1);\n const [direction, setDirection] = useState<React.CSSProperties['flexDirection']>('column');\n const inputRef = useRef<HTMLInputElement>(null);\n const [IMEOpen, setIMEOpen] = useState(false);\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const setDropdownOpened = (opened: boolean) => {\n _setDropdownOpened(opened);\n const handler = opened ? onDropdownOpen : onDropdownClose;\n typeof handler === 'function' && handler();\n };\n\n useDidUpdate(() => {\n setHovered(-1);\n }, [_value]);\n\n const handleItemClick = (item: AutocompleteItem) => {\n handleChange(item.value);\n typeof onItemSubmit === 'function' && onItemSubmit(item);\n setDropdownOpened(false);\n };\n\n const formattedData = data.map((item) => (typeof item === 'string' ? { value: item } : item));\n const filteredData = groupOptions({\n data: filterData({ data: formattedData, value: _value, limit, filter }),\n });\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (IMEOpen) {\n return;\n }\n\n typeof onKeyDown === 'function' && onKeyDown(event);\n\n const isColumn = direction === 'column';\n\n const handleNext = () => {\n setHovered((current) => (current < filteredData.length - 1 ? current + 1 : current));\n };\n\n const handlePrevious = () => {\n setHovered((current) => (current > 0 ? current - 1 : current));\n };\n\n switch (event.key) {\n case 'ArrowUp': {\n event.preventDefault();\n isColumn ? handlePrevious() : handleNext();\n break;\n }\n\n case 'ArrowDown': {\n event.preventDefault();\n isColumn ? handleNext() : handlePrevious();\n break;\n }\n\n case 'Enter': {\n if (filteredData[hovered] && dropdownOpened) {\n event.preventDefault();\n handleChange(filteredData[hovered].value);\n typeof onItemSubmit === 'function' && onItemSubmit(filteredData[hovered]);\n setDropdownOpened(false);\n }\n break;\n }\n\n case 'Escape': {\n if (dropdownOpened) {\n event.preventDefault();\n setDropdownOpened(false);\n }\n }\n }\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 };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement, MouseEvent>) => {\n typeof onClick === 'function' && onClick(event);\n setDropdownOpened(true);\n };\n\n const shouldRenderDropdown =\n dropdownOpened && (filteredData.length > 0 || (filteredData.length === 0 && !!nothingFound));\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"Autocomplete\">\n <SelectPopover\n opened={shouldRenderDropdown}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow=\"sm\"\n withinPortal={withinPortal}\n __staticSelector=\"Autocomplete\"\n onDirectionChange={setDirection}\n switchDirectionOnFlip={switchDirectionOnFlip}\n zIndex={zIndex}\n dropdownPosition={dropdownPosition}\n positionDependencies={positionDependencies}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n readOnly={readOnly}\n >\n <SelectPopover.Target>\n <div\n className={classes.wrapper}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-owns={shouldRenderDropdown ? `${inputProps.id}-items` : null}\n aria-controls={inputProps.id}\n aria-expanded={shouldRenderDropdown}\n onMouseLeave={() => setHovered(-1)}\n tabIndex={-1}\n >\n <Input<'input'>\n type=\"search\"\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n readOnly={readOnly}\n data-mantine-stop-propagation={dropdownOpened}\n ref={useMergedRef(ref, inputRef)}\n onKeyDown={handleInputKeydown}\n classNames={classNames}\n styles={styles}\n __staticSelector=\"Autocomplete\"\n value={_value}\n onChange={(event) => {\n handleChange(event.currentTarget.value);\n setDropdownOpened(true);\n }}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onClick={handleInputClick}\n onCompositionStart={() => setIMEOpen(true)}\n onCompositionEnd={() => setIMEOpen(false)}\n aria-autocomplete=\"list\"\n aria-controls={shouldRenderDropdown ? `${inputProps.id}-items` : null}\n aria-activedescendant={hovered >= 0 ? `${inputProps.id}-${hovered}` : null}\n />\n </div>\n </SelectPopover.Target>\n\n <SelectPopover.Dropdown\n component={dropdownComponent || SelectScrollArea}\n maxHeight={maxDropdownHeight}\n direction={direction}\n id={inputProps.id}\n __staticSelector=\"Autocomplete\"\n classNames={classNames}\n styles={styles}\n >\n <SelectItems\n data={filteredData}\n hovered={hovered}\n classNames={classNames}\n styles={styles}\n uuid={inputProps.id}\n __staticSelector=\"Autocomplete\"\n onItemHover={setHovered}\n onItemSelect={handleItemClick}\n itemComponent={itemComponent}\n size={inputProps.size}\n nothingFound={nothingFound}\n />\n </SelectPopover.Dropdown>\n </SelectPopover>\n </Input.Wrapper>\n );\n});\n\nAutocomplete.displayName = '@mantine/core/Autocomplete';\n"],"names":[],"mappings":"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"}
|
|
@@ -89,7 +89,7 @@ var useStyles = createStyles((theme, { color, size, radius, gradient, fullWidth,
|
|
|
89
89
|
borderRadius: theme.fn.radius(radius),
|
|
90
90
|
fontWeight: 700,
|
|
91
91
|
letterSpacing: 0.25,
|
|
92
|
-
cursor: "
|
|
92
|
+
cursor: "inherit",
|
|
93
93
|
textOverflow: "ellipsis",
|
|
94
94
|
overflow: "hidden"
|
|
95
95
|
}), getVariantStyles({ theme, variant, color, size, gradient }))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.styles.js","sources":["../../src/Badge/Badge.styles.ts"],"sourcesContent":["import {\n createStyles,\n MantineSize,\n MantineNumberSize,\n MantineColor,\n MantineGradient,\n MantineTheme,\n} from '@mantine/styles';\n\nexport type BadgeVariant = 'light' | 'filled' | 'outline' | 'dot' | 'gradient';\n\nexport interface BadgeStylesParams {\n color: MantineColor;\n size: MantineSize;\n radius: MantineNumberSize;\n gradient: MantineGradient;\n variant: BadgeVariant;\n fullWidth: boolean;\n}\n\nconst sizes = {\n xs: { fontSize: 9, height: 16 },\n sm: { fontSize: 10, height: 18 },\n md: { fontSize: 11, height: 20 },\n lg: { fontSize: 13, height: 26 },\n xl: { fontSize: 16, height: 32 },\n};\n\nconst dotSizes = {\n xs: 4,\n sm: 4,\n md: 6,\n lg: 8,\n xl: 10,\n};\n\ninterface GetVariantStylesInput {\n theme: MantineTheme;\n variant: BadgeVariant;\n color: MantineColor;\n size: MantineSize;\n gradient: MantineGradient;\n}\n\nfunction getVariantStyles({ theme, variant, color, size, gradient }: GetVariantStylesInput) {\n if (variant === 'dot') {\n const dotSize = theme.fn.size({ size, sizes: dotSizes });\n return {\n backgroundColor: 'transparent',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[7],\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[3]\n }`,\n paddingLeft: theme.fn.size({ size, sizes: theme.spacing }) / 1.5 - dotSize / 2,\n\n '&::before': {\n content: '\"\"',\n display: 'block',\n width: dotSize,\n height: dotSize,\n borderRadius: dotSize,\n backgroundColor: theme.fn.themeColor(\n color,\n theme.colorScheme === 'dark' ? 4 : theme.fn.primaryShade('light'),\n true\n ),\n marginRight: dotSize,\n },\n };\n }\n\n const colors = theme.fn.variant({ color, variant, gradient });\n\n return {\n background: colors.background,\n color: colors.color,\n border: `${variant === 'gradient' ? 0 : 1}px solid ${colors.border}`,\n };\n}\n\nexport default createStyles(\n (theme, { color, size, radius, gradient, fullWidth, variant }: BadgeStylesParams) => {\n const { fontSize, height } = size in sizes ? sizes[size] : sizes.md;\n\n return {\n leftSection: {\n marginRight: `calc(${theme.spacing.xs}px / 2)`,\n },\n\n rightSection: {\n marginLeft: `calc(${theme.spacing.xs}px / 2)`,\n },\n\n inner: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n\n root: {\n ...theme.fn.focusStyles(),\n ...theme.fn.fontStyles(),\n fontSize,\n height,\n WebkitTapHighlightColor: 'transparent',\n lineHeight: `${height - 2}px`,\n textDecoration: 'none',\n padding: `0 ${theme.fn.size({ size, sizes: theme.spacing }) / 1.5}px`,\n boxSizing: 'border-box',\n display: fullWidth ? 'flex' : 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: fullWidth ? '100%' : 'auto',\n textTransform: 'uppercase',\n borderRadius: theme.fn.radius(radius),\n fontWeight: 700,\n letterSpacing: 0.25,\n cursor: '
|
|
1
|
+
{"version":3,"file":"Badge.styles.js","sources":["../../src/Badge/Badge.styles.ts"],"sourcesContent":["import {\n createStyles,\n MantineSize,\n MantineNumberSize,\n MantineColor,\n MantineGradient,\n MantineTheme,\n} from '@mantine/styles';\n\nexport type BadgeVariant = 'light' | 'filled' | 'outline' | 'dot' | 'gradient';\n\nexport interface BadgeStylesParams {\n color: MantineColor;\n size: MantineSize;\n radius: MantineNumberSize;\n gradient: MantineGradient;\n variant: BadgeVariant;\n fullWidth: boolean;\n}\n\nconst sizes = {\n xs: { fontSize: 9, height: 16 },\n sm: { fontSize: 10, height: 18 },\n md: { fontSize: 11, height: 20 },\n lg: { fontSize: 13, height: 26 },\n xl: { fontSize: 16, height: 32 },\n};\n\nconst dotSizes = {\n xs: 4,\n sm: 4,\n md: 6,\n lg: 8,\n xl: 10,\n};\n\ninterface GetVariantStylesInput {\n theme: MantineTheme;\n variant: BadgeVariant;\n color: MantineColor;\n size: MantineSize;\n gradient: MantineGradient;\n}\n\nfunction getVariantStyles({ theme, variant, color, size, gradient }: GetVariantStylesInput) {\n if (variant === 'dot') {\n const dotSize = theme.fn.size({ size, sizes: dotSizes });\n return {\n backgroundColor: 'transparent',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[7],\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[3]\n }`,\n paddingLeft: theme.fn.size({ size, sizes: theme.spacing }) / 1.5 - dotSize / 2,\n\n '&::before': {\n content: '\"\"',\n display: 'block',\n width: dotSize,\n height: dotSize,\n borderRadius: dotSize,\n backgroundColor: theme.fn.themeColor(\n color,\n theme.colorScheme === 'dark' ? 4 : theme.fn.primaryShade('light'),\n true\n ),\n marginRight: dotSize,\n },\n };\n }\n\n const colors = theme.fn.variant({ color, variant, gradient });\n\n return {\n background: colors.background,\n color: colors.color,\n border: `${variant === 'gradient' ? 0 : 1}px solid ${colors.border}`,\n };\n}\n\nexport default createStyles(\n (theme, { color, size, radius, gradient, fullWidth, variant }: BadgeStylesParams) => {\n const { fontSize, height } = size in sizes ? sizes[size] : sizes.md;\n\n return {\n leftSection: {\n marginRight: `calc(${theme.spacing.xs}px / 2)`,\n },\n\n rightSection: {\n marginLeft: `calc(${theme.spacing.xs}px / 2)`,\n },\n\n inner: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n\n root: {\n ...theme.fn.focusStyles(),\n ...theme.fn.fontStyles(),\n fontSize,\n height,\n WebkitTapHighlightColor: 'transparent',\n lineHeight: `${height - 2}px`,\n textDecoration: 'none',\n padding: `0 ${theme.fn.size({ size, sizes: theme.spacing }) / 1.5}px`,\n boxSizing: 'border-box',\n display: fullWidth ? 'flex' : 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: fullWidth ? '100%' : 'auto',\n textTransform: 'uppercase',\n borderRadius: theme.fn.radius(radius),\n fontWeight: 700,\n letterSpacing: 0.25,\n cursor: 'inherit',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n ...getVariantStyles({ theme, variant, color, size, gradient }),\n },\n };\n }\n);\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;AAIlE,MAAM,KAAK,GAAG;AACd,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;AACjC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AAClC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AAClC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AAClC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AAClC,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG;AACjB,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,CAAC;AACP,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,SAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACrE,EAAE,IAAI,OAAO,KAAK,KAAK,EAAE;AACzB,IAAI,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7D,IAAI,OAAO;AACX,MAAM,eAAe,EAAE,aAAa;AACpC,MAAM,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,MAAM,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC;AACpF,MAAM,WAAW,EAAE;AACnB,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,KAAK,EAAE,OAAO;AACtB,QAAQ,MAAM,EAAE,OAAO;AACvB,QAAQ,YAAY,EAAE,OAAO;AAC7B,QAAQ,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;AAC5H,QAAQ,WAAW,EAAE,OAAO;AAC5B,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChE,EAAE,OAAO;AACT,IAAI,UAAU,EAAE,MAAM,CAAC,UAAU;AACjC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACxE,GAAG,CAAC;AACJ,CAAC;AACD,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK;AAC9F,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;AACtE,EAAE,OAAO;AACT,IAAI,WAAW,EAAE;AACjB,MAAM,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;AACpD,KAAK;AACL,IAAI,YAAY,EAAE;AAClB,MAAM,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;AACnD,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,UAAU,EAAE,QAAQ;AAC1B,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,YAAY,EAAE,UAAU;AAC9B,KAAK;AACL,IAAI,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE;AAC1H,MAAM,QAAQ;AACd,MAAM,MAAM;AACZ,MAAM,uBAAuB,EAAE,aAAa;AAC5C,MAAM,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AACnC,MAAM,cAAc,EAAE,MAAM;AAC5B,MAAM,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AAC3E,MAAM,SAAS,EAAE,YAAY;AAC7B,MAAM,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa;AACjD,MAAM,UAAU,EAAE,QAAQ;AAC1B,MAAM,cAAc,EAAE,QAAQ;AAC9B,MAAM,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM;AACxC,MAAM,aAAa,EAAE,WAAW;AAChC,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;AAC3C,MAAM,UAAU,EAAE,GAAG;AACrB,MAAM,aAAa,EAAE,IAAI;AACzB,MAAM,MAAM,EAAE,SAAS;AACvB,MAAM,YAAY,EAAE,UAAU;AAC9B,MAAM,QAAQ,EAAE,QAAQ;AACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpE,GAAG,CAAC;AACJ,CAAC,CAAC;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';
|
|
3
|
+
import { createPolymorphicComponent } from '@mantine/utils';
|
|
3
4
|
import { ActionIcon } from '../ActionIcon/ActionIcon.js';
|
|
4
5
|
import { CloseIcon } from './CloseIcon.js';
|
|
5
6
|
|
|
@@ -41,7 +42,7 @@ const iconSizes = {
|
|
|
41
42
|
const defaultProps = {
|
|
42
43
|
size: "md"
|
|
43
44
|
};
|
|
44
|
-
const
|
|
45
|
+
const _CloseButton = forwardRef((props, ref) => {
|
|
45
46
|
const _a = useComponentDefaultProps("CloseButton", defaultProps, props), {
|
|
46
47
|
iconSize,
|
|
47
48
|
size = "md"
|
|
@@ -59,7 +60,8 @@ const CloseButton = forwardRef((props, ref) => {
|
|
|
59
60
|
height: _iconSize
|
|
60
61
|
}));
|
|
61
62
|
});
|
|
62
|
-
|
|
63
|
+
_CloseButton.displayName = "@mantine/core/CloseButton";
|
|
64
|
+
const CloseButton = createPolymorphicComponent(_CloseButton);
|
|
63
65
|
|
|
64
|
-
export { CloseButton };
|
|
66
|
+
export { CloseButton, _CloseButton };
|
|
65
67
|
//# sourceMappingURL=CloseButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloseButton.js","sources":["../../src/CloseButton/CloseButton.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { ActionIcon, ActionIconProps } from '../ActionIcon/ActionIcon';\nimport { CloseIcon } from './CloseIcon';\n\nexport interface CloseButtonProps\n extends Omit<ActionIconProps, 'children'>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'color'> {\n /** Width and height of cross icon */\n iconSize?: number;\n}\n\nconst iconSizes = {\n xs: 12,\n sm: 14,\n md: 16,\n lg: 20,\n xl: 24,\n};\n\nconst defaultProps: Partial<CloseButtonProps> = {\n size: 'md',\n};\n\nexport const
|
|
1
|
+
{"version":3,"file":"CloseButton.js","sources":["../../src/CloseButton/CloseButton.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { ActionIcon, ActionIconProps } from '../ActionIcon/ActionIcon';\nimport { CloseIcon } from './CloseIcon';\n\nexport interface CloseButtonProps\n extends Omit<ActionIconProps, 'children'>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'color'> {\n /** Width and height of cross icon */\n iconSize?: number;\n}\n\nconst iconSizes = {\n xs: 12,\n sm: 14,\n md: 16,\n lg: 20,\n xl: 24,\n};\n\nconst defaultProps: Partial<CloseButtonProps> = {\n size: 'md',\n};\n\nexport const _CloseButton = forwardRef<HTMLButtonElement, CloseButtonProps>((props, ref) => {\n const {\n iconSize,\n size = 'md',\n ...others\n } = useComponentDefaultProps('CloseButton', defaultProps, props);\n const theme = useMantineTheme();\n const _iconSize = iconSize || theme.fn.size({ size, sizes: iconSizes });\n\n return (\n <ActionIcon size={size} ref={ref} {...others}>\n <CloseIcon width={_iconSize} height={_iconSize} />\n </ActionIcon>\n );\n});\n\n_CloseButton.displayName = '@mantine/core/CloseButton';\n\nexport const CloseButton = createPolymorphicComponent<'button', CloseButtonProps>(_CloseButton);\n"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,8 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
86
86
|
shadow,
|
|
87
87
|
classNames,
|
|
88
88
|
styles,
|
|
89
|
-
unstyled
|
|
89
|
+
unstyled,
|
|
90
|
+
readOnly
|
|
90
91
|
} = _a, others = __objRest(_a, [
|
|
91
92
|
"wrapperProps",
|
|
92
93
|
"inputProps",
|
|
@@ -112,7 +113,8 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
112
113
|
"shadow",
|
|
113
114
|
"classNames",
|
|
114
115
|
"styles",
|
|
115
|
-
"unstyled"
|
|
116
|
+
"unstyled",
|
|
117
|
+
"readOnly"
|
|
116
118
|
]);
|
|
117
119
|
const theme = useMantineTheme();
|
|
118
120
|
const [dropdownOpened, setDropdownOpened] = useState(false);
|
|
@@ -157,7 +159,7 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
157
159
|
classNames,
|
|
158
160
|
styles,
|
|
159
161
|
unstyled,
|
|
160
|
-
disabled: withPicker === false && (!Array.isArray(swatches) || swatches.length === 0)
|
|
162
|
+
disabled: readOnly || withPicker === false && (!Array.isArray(swatches) || swatches.length === 0)
|
|
161
163
|
}, /* @__PURE__ */ React.createElement(Popover.Target, null, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues(__spreadValues({
|
|
162
164
|
autoComplete: "nope"
|
|
163
165
|
}, others), inputProps), {
|
|
@@ -178,7 +180,7 @@ const ColorInput = forwardRef((props, ref) => {
|
|
|
178
180
|
color: isColorValid(_value) ? _value : "#fff",
|
|
179
181
|
size: theme.fn.size({ size: inputProps.size, sizes: SWATCH_SIZES })
|
|
180
182
|
}) : null),
|
|
181
|
-
readOnly: disallowInput,
|
|
183
|
+
readOnly: disallowInput || readOnly,
|
|
182
184
|
sx: { cursor: disallowInput ? "pointer" : void 0 },
|
|
183
185
|
unstyled,
|
|
184
186
|
classNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorInput.js","sources":["../../src/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { DefaultProps, getDefaultZIndex, MantineShadow, useMantineTheme } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\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';\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\nconst SWATCH_SIZES = {\n xs: 16,\n sm: 18,\n md: 22,\n lg: 28,\n xl: 36,\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};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>(\n (props: ColorInputProps, 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 ...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 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={withPicker === false && (!Array.isArray(swatches) || swatches.length === 0)}\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}\n sx={{ cursor: disallowInput ? 'pointer' : undefined }}\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\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);\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorInput.js","sources":["../../src/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { DefaultProps, getDefaultZIndex, MantineShadow, useMantineTheme } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\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';\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\nconst SWATCH_SIZES = {\n xs: 16,\n sm: 18,\n md: 22,\n lg: 28,\n xl: 36,\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};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>(\n (props: ColorInputProps, 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 ...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 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 ||\n (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 />\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);\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"mappings":"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"}
|