@mantine/core 7.1.5 → 7.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Combobox/OptionsDropdown/OptionsDropdown.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Spoiler/Spoiler.js +1 -1
- package/cjs/components/Spoiler/Spoiler.js.map +1 -1
- package/cjs/components/Transition/transitions.js +8 -8
- package/cjs/components/Transition/transitions.js.map +1 -1
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.js +5 -3
- package/cjs/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.js.map +1 -1
- package/cjs/index.css +1 -1
- package/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs.map +1 -1
- package/esm/components/Select/Select.mjs +2 -1
- package/esm/components/Select/Select.mjs.map +1 -1
- package/esm/components/Spoiler/Spoiler.mjs +1 -1
- package/esm/components/Spoiler/Spoiler.mjs.map +1 -1
- package/esm/components/Transition/transitions.mjs +8 -8
- package/esm/components/Transition/transitions.mjs.map +1 -1
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs +5 -3
- package/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs.map +1 -1
- package/esm/index.css +1 -1
- package/esm/index.layer.css +1 -1
- package/esm/styles/Button.css +1 -1
- package/esm/styles/Button.layer.css +1 -1
- package/esm/styles/Combobox.css +1 -1
- package/esm/styles/Combobox.layer.css +1 -1
- package/esm/styles/Table.css +1 -1
- package/esm/styles/Table.layer.css +1 -1
- package/lib/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.d.ts +3 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={item.value}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OptionsDropdown.js","sources":["../../../../src/components/Combobox/OptionsDropdown/OptionsDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { CheckIcon } from '../../Checkbox';\nimport { Combobox } from '../Combobox';\nimport { ComboboxItem, ComboboxParsedItem } from '../Combobox.types';\nimport { defaultOptionsFilter, FilterOptionsInput } from './default-options-filter';\nimport { isEmptyComboboxData } from './is-empty-combobox-data';\nimport { isOptionsGroup } from './is-options-group';\nimport { validateOptions } from './validate-options';\nimport classes from '../Combobox.module.css';\n\nexport type OptionsFilter = (input: FilterOptionsInput) => ComboboxParsedItem[];\n\nexport interface OptionsGroup {\n group: string;\n items: ComboboxItem[];\n}\n\nexport type OptionsData = (ComboboxItem | OptionsGroup)[];\n\ninterface OptionProps {\n data: ComboboxItem | OptionsGroup;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n unstyled: boolean | undefined;\n}\n\nfunction isValueChecked(value: string | string[] | undefined | null, optionValue: string) {\n return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;\n}\n\nfunction Option({ data, withCheckIcon, value, checkIconPosition, unstyled }: OptionProps) {\n if (!isOptionsGroup(data)) {\n const check = withCheckIcon && isValueChecked(value, data.value) && (\n <CheckIcon className={classes.optionsDropdownCheckIcon} />\n );\n\n return (\n <Combobox.Option\n value={data.value}\n disabled={data.disabled}\n className={cx({ [classes.optionsDropdownOption]: !unstyled })}\n data-reverse={checkIconPosition === 'right' || undefined}\n data-checked={isValueChecked(value, data.value) || undefined}\n aria-selected={isValueChecked(value, data.value)}\n >\n {checkIconPosition === 'left' && check}\n {data.label}\n {checkIconPosition === 'right' && check}\n </Combobox.Option>\n );\n }\n\n const options = data.items.map((item) => (\n <Option\n data={item}\n value={value}\n key={item.value}\n unstyled={unstyled}\n withCheckIcon={withCheckIcon}\n checkIconPosition={checkIconPosition}\n />\n ));\n\n return <Combobox.Group label={data.group}>{options}</Combobox.Group>;\n}\n\nexport interface OptionsDropdownProps {\n data: OptionsData;\n filter: OptionsFilter | undefined;\n search: string | undefined;\n limit: number | undefined;\n withScrollArea: boolean | undefined;\n maxDropdownHeight: number | string | undefined;\n hidden?: boolean;\n hiddenWhenEmpty?: boolean;\n filterOptions?: boolean;\n withCheckIcon?: boolean;\n value?: string | string[] | null;\n checkIconPosition?: 'left' | 'right';\n nothingFoundMessage?: React.ReactNode;\n unstyled: boolean | undefined;\n labelId: string;\n}\n\nexport function OptionsDropdown({\n data,\n hidden,\n hiddenWhenEmpty,\n filter,\n search,\n limit,\n maxDropdownHeight,\n withScrollArea = true,\n filterOptions = true,\n withCheckIcon = false,\n value,\n checkIconPosition,\n nothingFoundMessage,\n unstyled,\n labelId,\n}: OptionsDropdownProps) {\n validateOptions(data);\n\n const shouldFilter = typeof search === 'string';\n const filteredData = shouldFilter\n ? (filter || defaultOptionsFilter)({\n options: data,\n search: filterOptions ? search : '',\n limit: limit ?? Infinity,\n })\n : data;\n const isEmpty = isEmptyComboboxData(filteredData);\n\n const options = filteredData.map((item) => (\n <Option\n data={item}\n key={isOptionsGroup(item) ? item.group : item.value}\n withCheckIcon={withCheckIcon}\n value={value}\n checkIconPosition={checkIconPosition}\n unstyled={unstyled}\n />\n ));\n\n return (\n <Combobox.Dropdown hidden={hidden || (hiddenWhenEmpty && isEmpty)}>\n <Combobox.Options labelledBy={labelId}>\n {withScrollArea ? (\n <ScrollArea.Autosize\n mah={maxDropdownHeight ?? 220}\n type=\"scroll\"\n scrollbarSize=\"var(--_combobox-padding)\"\n offsetScrollbars=\"y\"\n className={classes.optionsDropdownScrollArea}\n >\n {options}\n </ScrollArea.Autosize>\n ) : (\n options\n )}\n {isEmpty && nothingFoundMessage && <Combobox.Empty>{nothingFoundMessage}</Combobox.Empty>}\n </Combobox.Options>\n </Combobox.Dropdown>\n );\n}\n"],"names":["isOptionsGroup","React","CheckIcon","classes","Combobox","cx","validateOptions","defaultOptionsFilter","isEmptyComboboxData","ScrollArea"],"mappings":"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"}
|
|
@@ -240,8 +240,9 @@ const Select = factory.factory((_props, ref) => {
|
|
|
240
240
|
onFocus == null ? void 0 : onFocus(event);
|
|
241
241
|
},
|
|
242
242
|
onBlur: (event) => {
|
|
243
|
+
var _a2;
|
|
243
244
|
searchable && combobox.closeDropdown();
|
|
244
|
-
setSearch(_value ? optionsLockup[_value].label : "");
|
|
245
|
+
setSearch(_value ? ((_a2 = optionsLockup[_value]) == null ? void 0 : _a2.label) || "" : "");
|
|
245
246
|
onBlur == null ? void 0 : onBlur(event);
|
|
246
247
|
},
|
|
247
248
|
onClick: (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __CloseButtonProps } from '../CloseButton';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?: (value: string | null) => void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Determines whether it should be possible to deselect value by clicking on the selected option, `true` by default */\n allowDeselect?: boolean;\n\n /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */\n clearable?: boolean;\n\n /** Props passed down to the clear button */\n clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearButtonProps,\n hiddenInputProps,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n useEffect(() => {\n if (value === null) {\n setSearch('');\n }\n\n if (typeof value === 'string' && selectedOption) {\n setSearch(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n const clearButton = clearable && !!_value && !disabled && !readOnly && (\n <Combobox.ClearButton\n size={size as string}\n {...clearButtonProps}\n onClear={() => {\n setValue(null);\n setSearch('');\n }}\n />\n );\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = allowDeselect\n ? optionsLockup[val].value === _value\n ? null\n : optionsLockup[val].value\n : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n id={_id}\n ref={ref}\n rightSection={\n rightSection ||\n clearButton || <Combobox.Chevron size={size} error={error} unstyled={unstyled} />\n }\n rightSectionPointerEvents={rightSectionPointerEvents || clearButton ? 'all' : 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value].label : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable || !nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={`${_id}-label`}\n />\n </Combobox>\n <input\n type=\"hidden\"\n name={name}\n value={_value || ''}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":["factory","useProps","useMemo","getParsedComboboxData","getOptionsLockup","useId","useUncontrolled","useCombobox","useResolvedStylesApi","useEffect","React","Combobox","InputBase","OptionsDropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '../../core';\nimport { InputBase } from '../InputBase';\nimport { __CloseButtonProps } from '../CloseButton';\nimport { __InputStylesNames, __BaseInputProps, InputVariant } from '../Input';\nimport {\n Combobox,\n OptionsDropdown,\n useCombobox,\n getParsedComboboxData,\n getOptionsLockup,\n ComboboxLikeProps,\n ComboboxLikeStylesNames,\n} from '../Combobox';\n\nexport type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;\n\nexport interface SelectProps\n extends BoxProps,\n __BaseInputProps,\n ComboboxLikeProps,\n StylesApiProps<SelectFactory>,\n ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {\n /** Controlled component value */\n value?: string | null;\n\n /** Uncontrolled component default value */\n defaultValue?: string | null;\n\n /** Called when value changes */\n onChange?: (value: string | null) => void;\n\n /** Determines whether the select should be searchable, `false` by default */\n searchable?: boolean;\n\n /** Determines whether check icon should be displayed near the selected option label, `true` by default */\n withCheckIcon?: boolean;\n\n /** Position of the check icon relative to the option label, `'left'` by default */\n checkIconPosition?: 'left' | 'right';\n\n /** Message displayed when no option matched current search query, only applicable when `searchable` prop is set */\n nothingFoundMessage?: React.ReactNode;\n\n /** Controlled search value */\n searchValue?: string;\n\n /** Default search value */\n defaultSearchValue?: string;\n\n /** Called when search changes */\n onSearchChange?: (value: string) => void;\n\n /** Determines whether it should be possible to deselect value by clicking on the selected option, `true` by default */\n allowDeselect?: boolean;\n\n /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */\n clearable?: boolean;\n\n /** Props passed down to the clear button */\n clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;\n\n /** Props passed down to the hidden input */\n hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;\n}\n\nexport type SelectFactory = Factory<{\n props: SelectProps;\n ref: HTMLInputElement;\n stylesNames: SelectStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<SelectProps> = {\n searchable: false,\n withCheckIcon: true,\n allowDeselect: true,\n checkIconPosition: 'left',\n};\n\nexport const Select = factory<SelectFactory>((_props, ref) => {\n const props = useProps('Select', defaultProps, _props);\n const {\n classNames,\n styles,\n unstyled,\n vars,\n dropdownOpened,\n defaultDropdownOpened,\n onDropdownClose,\n onDropdownOpen,\n onFocus,\n onBlur,\n onClick,\n onChange,\n data,\n value,\n defaultValue,\n selectFirstOptionOnChange,\n onOptionSubmit,\n comboboxProps,\n readOnly,\n disabled,\n filter,\n limit,\n withScrollArea,\n maxDropdownHeight,\n size,\n searchable,\n rightSection,\n checkIconPosition,\n withCheckIcon,\n nothingFoundMessage,\n name,\n form,\n searchValue,\n defaultSearchValue,\n onSearchChange,\n allowDeselect,\n error,\n rightSectionPointerEvents,\n id,\n clearable,\n clearButtonProps,\n hiddenInputProps,\n ...others\n } = props;\n\n const parsedData = useMemo(() => getParsedComboboxData(data), [data]);\n const optionsLockup = useMemo(() => getOptionsLockup(parsedData), [parsedData]);\n const _id = useId(id);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const selectedOption = _value ? optionsLockup[_value] : undefined;\n const [search, setSearch] = useUncontrolled({\n value: searchValue,\n defaultValue: defaultSearchValue,\n finalValue: selectedOption ? selectedOption.label : '',\n onChange: onSearchChange,\n });\n\n const combobox = useCombobox({\n opened: dropdownOpened,\n defaultOpened: defaultDropdownOpened,\n onDropdownOpen,\n onDropdownClose: () => {\n onDropdownClose?.();\n combobox.resetSelectedOption();\n },\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<SelectFactory>({\n props,\n styles,\n classNames,\n });\n\n useEffect(() => {\n if (selectFirstOptionOnChange) {\n combobox.selectFirstOption();\n }\n }, [selectFirstOptionOnChange, _value]);\n\n useEffect(() => {\n if (value === null) {\n setSearch('');\n }\n\n if (typeof value === 'string' && selectedOption) {\n setSearch(selectedOption.label);\n }\n }, [value, selectedOption]);\n\n const clearButton = clearable && !!_value && !disabled && !readOnly && (\n <Combobox.ClearButton\n size={size as string}\n {...clearButtonProps}\n onClear={() => {\n setValue(null);\n setSearch('');\n }}\n />\n );\n\n return (\n <>\n <Combobox\n store={combobox}\n __staticSelector=\"Select\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n readOnly={readOnly}\n onOptionSubmit={(val) => {\n onOptionSubmit?.(val);\n const nextValue = allowDeselect\n ? optionsLockup[val].value === _value\n ? null\n : optionsLockup[val].value\n : optionsLockup[val].value;\n setValue(nextValue);\n setSearch(nextValue ? optionsLockup[val].label : '');\n combobox.closeDropdown();\n }}\n size={size}\n {...comboboxProps}\n >\n <Combobox.Target targetType={searchable ? 'input' : 'button'}>\n <InputBase\n id={_id}\n ref={ref}\n rightSection={\n rightSection ||\n clearButton || <Combobox.Chevron size={size} error={error} unstyled={unstyled} />\n }\n rightSectionPointerEvents={rightSectionPointerEvents || clearButton ? 'all' : 'none'}\n {...others}\n size={size}\n __staticSelector=\"Select\"\n disabled={disabled}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={(event) => {\n setSearch(event.currentTarget.value);\n combobox.openDropdown();\n selectFirstOptionOnChange && combobox.selectFirstOption();\n }}\n onFocus={(event) => {\n searchable && combobox.openDropdown();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n searchable && combobox.closeDropdown();\n setSearch(_value ? optionsLockup[_value]?.label || '' : '');\n onBlur?.(event);\n }}\n onClick={(event) => {\n searchable ? combobox.openDropdown() : combobox.toggleDropdown();\n onClick?.(event);\n }}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n pointer={!searchable}\n error={error}\n />\n </Combobox.Target>\n <OptionsDropdown\n data={parsedData}\n hidden={readOnly || disabled}\n filter={filter}\n search={search}\n limit={limit}\n hiddenWhenEmpty={!searchable || !nothingFoundMessage}\n withScrollArea={withScrollArea}\n maxDropdownHeight={maxDropdownHeight}\n filterOptions={searchable && selectedOption?.label !== search}\n value={_value}\n checkIconPosition={checkIconPosition}\n withCheckIcon={withCheckIcon}\n nothingFoundMessage={nothingFoundMessage}\n unstyled={unstyled}\n labelId={`${_id}-label`}\n />\n </Combobox>\n <input\n type=\"hidden\"\n name={name}\n value={_value || ''}\n form={form}\n disabled={disabled}\n {...hiddenInputProps}\n />\n </>\n );\n});\n\nSelect.classes = { ...InputBase.classes, ...Combobox.classes };\nSelect.displayName = '@mantine/core/Select';\n"],"names":["factory","useProps","useMemo","getParsedComboboxData","getOptionsLockup","useId","useUncontrolled","useCombobox","useResolvedStylesApi","useEffect","React","Combobox","InputBase","OptionsDropdown"],"mappings":"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"}
|
|
@@ -107,8 +107,8 @@ const Spoiler = factory.factory((_props, ref) => {
|
|
|
107
107
|
const regionId = `${_id}-region`;
|
|
108
108
|
const [show, setShowState] = React.useState(initialState);
|
|
109
109
|
const { ref: contentRef, height } = hooks.useElementSize();
|
|
110
|
-
const spoiler = maxHeight < height;
|
|
111
110
|
const spoilerMoreContent = show ? hideLabel : showLabel;
|
|
111
|
+
const spoiler = spoilerMoreContent !== null && maxHeight < height;
|
|
112
112
|
return /* @__PURE__ */ React__default.createElement(
|
|
113
113
|
Box.Box,
|
|
114
114
|
__spreadValues(__spreadProps(__spreadValues({}, getStyles("root")), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spoiler.js","sources":["../../../src/components/Spoiler/Spoiler.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useElementSize, useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n rem,\n} from '../../core';\nimport { Anchor } from '../Anchor';\nimport classes from './Spoiler.module.css';\n\nexport type SpoilerStylesNames = 'root' | 'control' | 'content';\nexport type SpoilerCssVariables = {\n root: '--spoiler-transition-duration';\n};\n\nexport interface SpoilerProps\n extends BoxProps,\n StylesApiProps<SpoilerFactory>,\n ElementProps<'div'> {\n /** Maximum height of the visible content, when this point is reached spoiler appears, `100` by default */\n maxHeight?: number;\n\n /** Label for close spoiler action */\n hideLabel: React.ReactNode;\n\n /** Label for open spoiler action */\n showLabel: React.ReactNode;\n\n /** Get ref of spoiler toggle button */\n controlRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state is updated on mount */\n initialState?: boolean;\n\n /** Spoiler reveal transition duration in ms, set 0 or null to turn off animation, `200` by default */\n transitionDuration?: number;\n}\n\nexport type SpoilerFactory = Factory<{\n props: SpoilerProps;\n ref: HTMLDivElement;\n stylesNames: SpoilerStylesNames;\n vars: SpoilerCssVariables;\n}>;\n\nconst defaultProps: Partial<SpoilerProps> = {\n maxHeight: 100,\n initialState: false,\n};\n\nconst varsResolver = createVarsResolver<SpoilerFactory>((_, { transitionDuration }) => ({\n root: {\n '--spoiler-transition-duration':\n transitionDuration !== undefined ? `${transitionDuration}ms` : undefined,\n },\n}));\n\nexport const Spoiler = factory<SpoilerFactory>((_props, ref) => {\n const props = useProps('Spoiler', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n initialState,\n maxHeight,\n hideLabel,\n showLabel,\n children,\n controlRef,\n transitionDuration,\n id,\n ...others\n } = props;\n\n const getStyles = useStyles<SpoilerFactory>({\n name: 'Spoiler',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const _id = useId(id);\n const regionId = `${_id}-region`;\n const [show, setShowState] = useState(initialState);\n const { ref: contentRef, height } = useElementSize();\n const
|
|
1
|
+
{"version":3,"file":"Spoiler.js","sources":["../../../src/components/Spoiler/Spoiler.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useElementSize, useId } from '@mantine/hooks';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n rem,\n} from '../../core';\nimport { Anchor } from '../Anchor';\nimport classes from './Spoiler.module.css';\n\nexport type SpoilerStylesNames = 'root' | 'control' | 'content';\nexport type SpoilerCssVariables = {\n root: '--spoiler-transition-duration';\n};\n\nexport interface SpoilerProps\n extends BoxProps,\n StylesApiProps<SpoilerFactory>,\n ElementProps<'div'> {\n /** Maximum height of the visible content, when this point is reached spoiler appears, `100` by default */\n maxHeight?: number;\n\n /** Label for close spoiler action */\n hideLabel: React.ReactNode;\n\n /** Label for open spoiler action */\n showLabel: React.ReactNode;\n\n /** Get ref of spoiler toggle button */\n controlRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state is updated on mount */\n initialState?: boolean;\n\n /** Spoiler reveal transition duration in ms, set 0 or null to turn off animation, `200` by default */\n transitionDuration?: number;\n}\n\nexport type SpoilerFactory = Factory<{\n props: SpoilerProps;\n ref: HTMLDivElement;\n stylesNames: SpoilerStylesNames;\n vars: SpoilerCssVariables;\n}>;\n\nconst defaultProps: Partial<SpoilerProps> = {\n maxHeight: 100,\n initialState: false,\n};\n\nconst varsResolver = createVarsResolver<SpoilerFactory>((_, { transitionDuration }) => ({\n root: {\n '--spoiler-transition-duration':\n transitionDuration !== undefined ? `${transitionDuration}ms` : undefined,\n },\n}));\n\nexport const Spoiler = factory<SpoilerFactory>((_props, ref) => {\n const props = useProps('Spoiler', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n initialState,\n maxHeight,\n hideLabel,\n showLabel,\n children,\n controlRef,\n transitionDuration,\n id,\n ...others\n } = props;\n\n const getStyles = useStyles<SpoilerFactory>({\n name: 'Spoiler',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const _id = useId(id);\n const regionId = `${_id}-region`;\n const [show, setShowState] = useState(initialState);\n const { ref: contentRef, height } = useElementSize();\n const spoilerMoreContent = show ? hideLabel : showLabel;\n const spoiler = spoilerMoreContent !== null && maxHeight! < height;\n\n return (\n <Box\n {...getStyles('root')}\n id={_id}\n ref={ref}\n data-has-spoiler={spoiler || undefined}\n {...others}\n >\n {spoiler && (\n <Anchor\n component=\"button\"\n type=\"button\"\n ref={controlRef}\n onClick={() => setShowState((opened) => !opened)}\n aria-expanded={show}\n aria-controls={regionId}\n {...getStyles('control')}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n <div\n {...getStyles('content', {\n style: { maxHeight: !show ? rem(maxHeight) : height ? rem(height) : undefined },\n })}\n data-reduce-motion\n role=\"region\"\n id={regionId}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n </Box>\n );\n});\n\nSpoiler.classes = classes;\nSpoiler.displayName = '@mantine/core/Spoiler';\n"],"names":["createVarsResolver","factory","useProps","useStyles","classes","useId","useState","useElementSize","React","Box","Anchor","rem"],"mappings":"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"}
|
|
@@ -24,11 +24,11 @@ var __spreadValues = (a, b) => {
|
|
|
24
24
|
return a;
|
|
25
25
|
};
|
|
26
26
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
27
|
-
const popIn = {
|
|
27
|
+
const popIn = (from) => ({
|
|
28
28
|
in: { opacity: 1, transform: "scale(1)" },
|
|
29
|
-
out: { opacity: 0, transform: `scale(.9) translateY(${rem.rem(10)})` },
|
|
29
|
+
out: { opacity: 0, transform: `scale(.9) translateY(${rem.rem(from === "bottom" ? 10 : -10)})` },
|
|
30
30
|
transitionProperty: "transform, opacity"
|
|
31
|
-
};
|
|
31
|
+
});
|
|
32
32
|
const transitions = {
|
|
33
33
|
fade: {
|
|
34
34
|
in: { opacity: 1 },
|
|
@@ -101,19 +101,19 @@ const transitions = {
|
|
|
101
101
|
common: { transformOrigin: "right" },
|
|
102
102
|
transitionProperty: "transform, opacity"
|
|
103
103
|
},
|
|
104
|
-
pop: __spreadProps(__spreadValues({}, popIn), {
|
|
104
|
+
pop: __spreadProps(__spreadValues({}, popIn("bottom")), {
|
|
105
105
|
common: { transformOrigin: "center center" }
|
|
106
106
|
}),
|
|
107
|
-
"pop-bottom-left": __spreadProps(__spreadValues({}, popIn), {
|
|
107
|
+
"pop-bottom-left": __spreadProps(__spreadValues({}, popIn("bottom")), {
|
|
108
108
|
common: { transformOrigin: "bottom left" }
|
|
109
109
|
}),
|
|
110
|
-
"pop-bottom-right": __spreadProps(__spreadValues({}, popIn), {
|
|
110
|
+
"pop-bottom-right": __spreadProps(__spreadValues({}, popIn("bottom")), {
|
|
111
111
|
common: { transformOrigin: "bottom right" }
|
|
112
112
|
}),
|
|
113
|
-
"pop-top-left": __spreadProps(__spreadValues({}, popIn), {
|
|
113
|
+
"pop-top-left": __spreadProps(__spreadValues({}, popIn("top")), {
|
|
114
114
|
common: { transformOrigin: "top left" }
|
|
115
115
|
}),
|
|
116
|
-
"pop-top-right": __spreadProps(__spreadValues({}, popIn), {
|
|
116
|
+
"pop-top-right": __spreadProps(__spreadValues({}, popIn("top")), {
|
|
117
117
|
common: { transformOrigin: "top right" }
|
|
118
118
|
})
|
|
119
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.js","sources":["../../../src/components/Transition/transitions.ts"],"sourcesContent":["import React from 'react';\nimport { rem } from '../../core';\n\nexport interface MantineTransitionStyles {\n common?: React.CSSProperties;\n in: React.CSSProperties;\n out: React.CSSProperties;\n transitionProperty: React.CSSProperties['transitionProperty'];\n}\n\nexport type MantineTransitionName =\n | 'fade'\n | 'skew-up'\n | 'skew-down'\n | 'rotate-right'\n | 'rotate-left'\n | 'slide-down'\n | 'slide-up'\n | 'slide-right'\n | 'slide-left'\n | 'scale-y'\n | 'scale-x'\n | 'scale'\n | 'pop'\n | 'pop-top-left'\n | 'pop-top-right'\n | 'pop-bottom-left'\n | 'pop-bottom-right';\n\nexport type MantineTransition = MantineTransitionName | MantineTransitionStyles;\n\nconst popIn = {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: `scale(.9) translateY(${rem(10)})` },\n transitionProperty: 'transform, opacity',\n};\n\nexport const transitions: Record<MantineTransitionName, MantineTransitionStyles> = {\n fade: {\n in: { opacity: 1 },\n out: { opacity: 0 },\n transitionProperty: 'opacity',\n },\n\n scale: {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: 'scale(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-y': {\n in: { opacity: 1, transform: 'scaleY(1)' },\n out: { opacity: 0, transform: 'scaleY(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-x': {\n in: { opacity: 1, transform: 'scaleX(1)' },\n out: { opacity: 0, transform: 'scaleX(0)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-up': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: `translateY(-${rem(20)}) skew(-10deg, -5deg)` },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-down': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: `translateY(${rem(20)}) skew(-10deg, -5deg)` },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-left': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(-5deg)` },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-right': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(5deg)` },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-100%)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(100%)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(100%)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-100%)' },\n common: { transformOrigin: 'right' },\n transitionProperty: 'transform, opacity',\n },\n\n pop: {\n ...popIn,\n common: { transformOrigin: 'center center' },\n },\n\n 'pop-bottom-left': {\n ...popIn,\n common: { transformOrigin: 'bottom left' },\n },\n\n 'pop-bottom-right': {\n ...popIn,\n common: { transformOrigin: 'bottom right' },\n },\n\n 'pop-top-left': {\n ...popIn,\n common: { transformOrigin: 'top left' },\n },\n\n 'pop-top-right': {\n ...popIn,\n common: { transformOrigin: 'top right' },\n },\n};\n"],"names":["rem"],"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;AAElE,MAAM,KAAK,GAAG;
|
|
1
|
+
{"version":3,"file":"transitions.js","sources":["../../../src/components/Transition/transitions.ts"],"sourcesContent":["import React from 'react';\nimport { rem } from '../../core';\n\nexport interface MantineTransitionStyles {\n common?: React.CSSProperties;\n in: React.CSSProperties;\n out: React.CSSProperties;\n transitionProperty: React.CSSProperties['transitionProperty'];\n}\n\nexport type MantineTransitionName =\n | 'fade'\n | 'skew-up'\n | 'skew-down'\n | 'rotate-right'\n | 'rotate-left'\n | 'slide-down'\n | 'slide-up'\n | 'slide-right'\n | 'slide-left'\n | 'scale-y'\n | 'scale-x'\n | 'scale'\n | 'pop'\n | 'pop-top-left'\n | 'pop-top-right'\n | 'pop-bottom-left'\n | 'pop-bottom-right';\n\nexport type MantineTransition = MantineTransitionName | MantineTransitionStyles;\n\nconst popIn = (from: 'top' | 'bottom') => ({\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: `scale(.9) translateY(${rem(from === 'bottom' ? 10 : -10)})` },\n transitionProperty: 'transform, opacity',\n});\n\nexport const transitions: Record<MantineTransitionName, MantineTransitionStyles> = {\n fade: {\n in: { opacity: 1 },\n out: { opacity: 0 },\n transitionProperty: 'opacity',\n },\n\n scale: {\n in: { opacity: 1, transform: 'scale(1)' },\n out: { opacity: 0, transform: 'scale(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-y': {\n in: { opacity: 1, transform: 'scaleY(1)' },\n out: { opacity: 0, transform: 'scaleY(0)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'scale-x': {\n in: { opacity: 1, transform: 'scaleX(1)' },\n out: { opacity: 0, transform: 'scaleX(0)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-up': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: `translateY(-${rem(20)}) skew(-10deg, -5deg)` },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'skew-down': {\n in: { opacity: 1, transform: 'translateY(0) skew(0deg, 0deg)' },\n out: { opacity: 0, transform: `translateY(${rem(20)}) skew(-10deg, -5deg)` },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-left': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(-5deg)` },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'rotate-right': {\n in: { opacity: 1, transform: 'translateY(0) rotate(0deg)' },\n out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(5deg)` },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-down': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(-100%)' },\n common: { transformOrigin: 'top' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-up': {\n in: { opacity: 1, transform: 'translateY(0)' },\n out: { opacity: 0, transform: 'translateY(100%)' },\n common: { transformOrigin: 'bottom' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-left': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(100%)' },\n common: { transformOrigin: 'left' },\n transitionProperty: 'transform, opacity',\n },\n\n 'slide-right': {\n in: { opacity: 1, transform: 'translateX(0)' },\n out: { opacity: 0, transform: 'translateX(-100%)' },\n common: { transformOrigin: 'right' },\n transitionProperty: 'transform, opacity',\n },\n\n pop: {\n ...popIn('bottom'),\n common: { transformOrigin: 'center center' },\n },\n\n 'pop-bottom-left': {\n ...popIn('bottom'),\n common: { transformOrigin: 'bottom left' },\n },\n\n 'pop-bottom-right': {\n ...popIn('bottom'),\n common: { transformOrigin: 'bottom right' },\n },\n\n 'pop-top-left': {\n ...popIn('top'),\n common: { transformOrigin: 'top left' },\n },\n\n 'pop-top-right': {\n ...popIn('top'),\n common: { transformOrigin: 'top right' },\n },\n};\n"],"names":["rem"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ function disableTransition() {
|
|
|
15
15
|
const clear = () => document.querySelectorAll("[data-mantine-disable-transition]").forEach((element) => element.remove());
|
|
16
16
|
return clear;
|
|
17
17
|
}
|
|
18
|
-
function useMantineColorScheme() {
|
|
18
|
+
function useMantineColorScheme({ keepTransitions } = {}) {
|
|
19
19
|
const clearStylesRef = React.useRef();
|
|
20
20
|
const timeoutRef = React.useRef();
|
|
21
21
|
const ctx = React.useContext(Mantine_context.MantineContext);
|
|
@@ -24,7 +24,8 @@ function useMantineColorScheme() {
|
|
|
24
24
|
}
|
|
25
25
|
const setColorScheme = (value) => {
|
|
26
26
|
ctx.setColorScheme(value);
|
|
27
|
-
clearStylesRef.current =
|
|
27
|
+
clearStylesRef.current = keepTransitions ? () => {
|
|
28
|
+
} : disableTransition();
|
|
28
29
|
window.clearTimeout(timeoutRef.current);
|
|
29
30
|
timeoutRef.current = window.setTimeout(() => {
|
|
30
31
|
var _a;
|
|
@@ -33,7 +34,8 @@ function useMantineColorScheme() {
|
|
|
33
34
|
};
|
|
34
35
|
const clearColorScheme = () => {
|
|
35
36
|
ctx.clearColorScheme();
|
|
36
|
-
clearStylesRef.current =
|
|
37
|
+
clearStylesRef.current = keepTransitions ? () => {
|
|
38
|
+
} : disableTransition();
|
|
37
39
|
window.clearTimeout(timeoutRef.current);
|
|
38
40
|
timeoutRef.current = window.setTimeout(() => {
|
|
39
41
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mantine-color-scheme.js","sources":["../../../../src/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react';\nimport { useColorScheme } from '@mantine/hooks';\nimport { MantineContext } from '../Mantine.context';\nimport { MantineColorScheme } from '../theme.types';\n\nfunction disableTransition() {\n const style = document.createElement('style');\n style.innerHTML = '*, *::before, *::after {transition: none !important;}';\n style.setAttribute('data-mantine-disable-transition', 'true');\n document.head.appendChild(style);\n const clear = () =>\n document\n .querySelectorAll('[data-mantine-disable-transition]')\n .forEach((element) => element.remove());\n return clear;\n}\n\nexport function useMantineColorScheme() {\n const clearStylesRef = useRef<() => void>();\n const timeoutRef = useRef<number>();\n const ctx = useContext(MantineContext);\n\n if (!ctx) {\n throw new Error('[@mantine/core] MantineProvider was not found in tree');\n }\n\n const setColorScheme = (value: MantineColorScheme) => {\n ctx.setColorScheme(value);\n clearStylesRef.current = disableTransition();\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(() => {\n clearStylesRef.current?.();\n }, 10);\n };\n\n const clearColorScheme = () => {\n ctx.clearColorScheme();\n clearStylesRef.current = disableTransition();\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(() => {\n clearStylesRef.current?.();\n }, 10);\n };\n\n const osColorScheme = useColorScheme('light', { getInitialValueInEffect: false });\n const computedColorScheme = ctx.colorScheme === 'auto' ? osColorScheme : ctx.colorScheme;\n\n const toggleColorScheme = useCallback(\n () => setColorScheme(computedColorScheme === 'light' ? 'dark' : 'light'),\n [setColorScheme, computedColorScheme]\n );\n\n useEffect(\n () => () => {\n clearStylesRef.current?.();\n window.clearTimeout(timeoutRef.current);\n },\n []\n );\n\n return {\n colorScheme: ctx.colorScheme,\n setColorScheme,\n clearColorScheme,\n toggleColorScheme,\n };\n}\n"],"names":["useRef","useContext","MantineContext","useColorScheme","useCallback","useEffect"],"mappings":";;;;;;;;;AAGA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChD,EAAE,KAAK,CAAC,SAAS,GAAG,uDAAuD,CAAC;AAC5E,EAAE,KAAK,CAAC,YAAY,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;AAChE,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5H,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACM,SAAS,qBAAqB,GAAG;
|
|
1
|
+
{"version":3,"file":"use-mantine-color-scheme.js","sources":["../../../../src/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react';\nimport { useColorScheme } from '@mantine/hooks';\nimport { MantineContext } from '../Mantine.context';\nimport { MantineColorScheme } from '../theme.types';\n\nfunction disableTransition() {\n const style = document.createElement('style');\n style.innerHTML = '*, *::before, *::after {transition: none !important;}';\n style.setAttribute('data-mantine-disable-transition', 'true');\n document.head.appendChild(style);\n const clear = () =>\n document\n .querySelectorAll('[data-mantine-disable-transition]')\n .forEach((element) => element.remove());\n return clear;\n}\n\nexport function useMantineColorScheme({ keepTransitions }: { keepTransitions?: boolean } = {}) {\n const clearStylesRef = useRef<() => void>();\n const timeoutRef = useRef<number>();\n const ctx = useContext(MantineContext);\n\n if (!ctx) {\n throw new Error('[@mantine/core] MantineProvider was not found in tree');\n }\n\n const setColorScheme = (value: MantineColorScheme) => {\n ctx.setColorScheme(value);\n clearStylesRef.current = keepTransitions ? () => {} : disableTransition();\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(() => {\n clearStylesRef.current?.();\n }, 10);\n };\n\n const clearColorScheme = () => {\n ctx.clearColorScheme();\n clearStylesRef.current = keepTransitions ? () => {} : disableTransition();\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(() => {\n clearStylesRef.current?.();\n }, 10);\n };\n\n const osColorScheme = useColorScheme('light', { getInitialValueInEffect: false });\n const computedColorScheme = ctx.colorScheme === 'auto' ? osColorScheme : ctx.colorScheme;\n\n const toggleColorScheme = useCallback(\n () => setColorScheme(computedColorScheme === 'light' ? 'dark' : 'light'),\n [setColorScheme, computedColorScheme]\n );\n\n useEffect(\n () => () => {\n clearStylesRef.current?.();\n window.clearTimeout(timeoutRef.current);\n },\n []\n );\n\n return {\n colorScheme: ctx.colorScheme,\n setColorScheme,\n clearColorScheme,\n toggleColorScheme,\n };\n}\n"],"names":["useRef","useContext","MantineContext","useColorScheme","useCallback","useEffect"],"mappings":"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"}
|