@mantine/core 9.1.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.cjs +5 -1
- package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
- package/cjs/components/Card/Card.cjs +1 -1
- package/cjs/components/Card/Card.cjs.map +1 -1
- package/cjs/components/Checkbox/Checkbox.cjs +4 -1
- package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
- package/cjs/components/ColorInput/ColorInput.cjs +5 -1
- package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs +1 -1
- package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs +1 -0
- package/cjs/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs +2 -1
- package/cjs/components/Combobox/ComboboxSearch/ComboboxSearch.cjs.map +1 -1
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs +1 -0
- package/cjs/components/Combobox/ComboboxTarget/ComboboxTarget.cjs.map +1 -1
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs +18 -12
- package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
- package/cjs/components/Combobox/use-pills-reorder/move-pill.cjs +17 -0
- package/cjs/components/Combobox/use-pills-reorder/move-pill.cjs.map +1 -0
- package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs +170 -0
- package/cjs/components/Combobox/use-pills-reorder/use-pills-reorder.cjs.map +1 -0
- package/cjs/components/FileInput/FileInput.cjs +5 -1
- package/cjs/components/FileInput/FileInput.cjs.map +1 -1
- package/cjs/components/Highlight/highlighter/highlighter.cjs +3 -3
- package/cjs/components/Highlight/highlighter/highlighter.cjs.map +1 -1
- package/cjs/components/Input/use-input-props.cjs +5 -1
- package/cjs/components/Input/use-input-props.cjs.map +1 -1
- package/cjs/components/JsonInput/JsonInput.cjs +5 -2
- package/cjs/components/JsonInput/JsonInput.cjs.map +1 -1
- package/cjs/components/MaskInput/MaskInput.cjs +5 -1
- package/cjs/components/MaskInput/MaskInput.cjs.map +1 -1
- package/cjs/components/MaskInput/use-mask-input-props.cjs +3 -2
- package/cjs/components/MaskInput/use-mask-input-props.cjs.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.cjs +19 -3
- package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
- package/cjs/components/NativeSelect/NativeSelect.cjs +5 -1
- package/cjs/components/NativeSelect/NativeSelect.cjs.map +1 -1
- package/cjs/components/NumberInput/NumberInput.cjs +5 -1
- package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.cjs +6 -2
- package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
- package/cjs/components/Pill/Pill.module.cjs.map +1 -1
- package/cjs/components/PillsInput/PillsInput.cjs +5 -1
- package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
- package/cjs/components/PinInput/PinInput.cjs +1 -1
- package/cjs/components/PinInput/PinInput.cjs.map +1 -1
- package/cjs/components/Popover/Popover.context.cjs.map +1 -1
- package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs +1 -1
- package/cjs/components/Popover/PopoverDropdown/PopoverDropdown.cjs.map +1 -1
- package/cjs/components/Radio/Radio.module.cjs.map +1 -1
- package/cjs/components/RollingNumber/DigitColumn.cjs +46 -0
- package/cjs/components/RollingNumber/DigitColumn.cjs.map +1 -0
- package/cjs/components/RollingNumber/RollingNumber.cjs +102 -0
- package/cjs/components/RollingNumber/RollingNumber.cjs.map +1 -0
- package/cjs/components/RollingNumber/RollingNumber.module.cjs +13 -0
- package/cjs/components/RollingNumber/RollingNumber.module.cjs.map +1 -0
- package/cjs/components/RollingNumber/build-value.cjs +22 -0
- package/cjs/components/RollingNumber/build-value.cjs.map +1 -0
- package/cjs/components/RollingNumber/get-digit-parts.cjs +40 -0
- package/cjs/components/RollingNumber/get-digit-parts.cjs.map +1 -0
- package/cjs/components/RollingNumber/get-render-slots.cjs +78 -0
- package/cjs/components/RollingNumber/get-render-slots.cjs.map +1 -0
- package/cjs/components/ScrollArea/ScrollArea.cjs +24 -10
- package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/cjs/components/Select/Select.cjs +5 -1
- package/cjs/components/Select/Select.cjs.map +1 -1
- package/cjs/components/TagsInput/TagsInput.cjs +19 -4
- package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/cjs/components/TextInput/TextInput.cjs +5 -1
- package/cjs/components/TextInput/TextInput.cjs.map +1 -1
- package/cjs/components/Textarea/Textarea.cjs +5 -2
- package/cjs/components/Textarea/Textarea.cjs.map +1 -1
- package/cjs/components/Tree/FlatTreeNode.cjs +2 -1
- package/cjs/components/Tree/FlatTreeNode.cjs.map +1 -1
- package/cjs/components/Tree/Tree.cjs +3 -1
- package/cjs/components/Tree/Tree.cjs.map +1 -1
- package/cjs/components/Tree/TreeNode.cjs +10 -5
- package/cjs/components/Tree/TreeNode.cjs.map +1 -1
- package/cjs/components/Tree/is-node-checked/is-node-checked.cjs +1 -0
- package/cjs/components/Tree/is-node-indeterminate/is-node-indeterminate.cjs +1 -0
- package/cjs/components/Tree/use-tree-node-drag-drop.cjs +46 -15
- package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +1 -1
- package/cjs/components/TreeSelect/TreeSelect.cjs +601 -0
- package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -0
- package/cjs/components/TreeSelect/TreeSelect.module.cjs +16 -0
- package/cjs/components/TreeSelect/TreeSelect.module.cjs.map +1 -0
- package/cjs/components/TreeSelect/TreeSelectOption.cjs +95 -0
- package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +1 -0
- package/cjs/components/TreeSelect/flatten-tree-select-data.cjs +34 -0
- package/cjs/components/TreeSelect/flatten-tree-select-data.cjs.map +1 -0
- package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs +30 -0
- package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +1 -0
- package/cjs/core/MantineProvider/use-props/use-props.cjs +10 -2
- package/cjs/core/MantineProvider/use-props/use-props.cjs.map +1 -1
- package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.cjs +2 -2
- package/cjs/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.cjs.map +1 -1
- package/cjs/index.cjs +8 -0
- package/esm/components/Autocomplete/Autocomplete.mjs +5 -1
- package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
- package/esm/components/Card/Card.mjs +1 -1
- package/esm/components/Card/Card.mjs.map +1 -1
- package/esm/components/Checkbox/Checkbox.mjs +4 -1
- package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
- package/esm/components/ColorInput/ColorInput.mjs +5 -1
- package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs +1 -1
- package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs +1 -0
- package/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs +2 -1
- package/esm/components/Combobox/ComboboxSearch/ComboboxSearch.mjs.map +1 -1
- package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs +1 -0
- package/esm/components/Combobox/ComboboxTarget/ComboboxTarget.mjs.map +1 -1
- package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs +18 -12
- package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs.map +1 -1
- package/esm/components/Combobox/use-pills-reorder/move-pill.mjs +17 -0
- package/esm/components/Combobox/use-pills-reorder/move-pill.mjs.map +1 -0
- package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs +169 -0
- package/esm/components/Combobox/use-pills-reorder/use-pills-reorder.mjs.map +1 -0
- package/esm/components/FileInput/FileInput.mjs +5 -1
- package/esm/components/FileInput/FileInput.mjs.map +1 -1
- package/esm/components/Highlight/highlighter/highlighter.mjs +3 -3
- package/esm/components/Highlight/highlighter/highlighter.mjs.map +1 -1
- package/esm/components/Input/use-input-props.mjs +5 -1
- package/esm/components/Input/use-input-props.mjs.map +1 -1
- package/esm/components/JsonInput/JsonInput.mjs +5 -2
- package/esm/components/JsonInput/JsonInput.mjs.map +1 -1
- package/esm/components/MaskInput/MaskInput.mjs +5 -1
- package/esm/components/MaskInput/MaskInput.mjs.map +1 -1
- package/esm/components/MaskInput/use-mask-input-props.mjs +4 -3
- package/esm/components/MaskInput/use-mask-input-props.mjs.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.mjs +19 -3
- package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
- package/esm/components/NativeSelect/NativeSelect.mjs +5 -1
- package/esm/components/NativeSelect/NativeSelect.mjs.map +1 -1
- package/esm/components/NumberInput/NumberInput.mjs +5 -1
- package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.mjs +6 -2
- package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
- package/esm/components/Pill/Pill.module.mjs.map +1 -1
- package/esm/components/PillsInput/PillsInput.mjs +5 -1
- package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
- package/esm/components/PinInput/PinInput.mjs +1 -1
- package/esm/components/PinInput/PinInput.mjs.map +1 -1
- package/esm/components/Popover/Popover.context.mjs.map +1 -1
- package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs +1 -1
- package/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs.map +1 -1
- package/esm/components/Radio/Radio.module.mjs.map +1 -1
- package/esm/components/RollingNumber/DigitColumn.mjs +45 -0
- package/esm/components/RollingNumber/DigitColumn.mjs.map +1 -0
- package/esm/components/RollingNumber/RollingNumber.mjs +101 -0
- package/esm/components/RollingNumber/RollingNumber.mjs.map +1 -0
- package/esm/components/RollingNumber/RollingNumber.module.mjs +13 -0
- package/esm/components/RollingNumber/RollingNumber.module.mjs.map +1 -0
- package/esm/components/RollingNumber/build-value.mjs +22 -0
- package/esm/components/RollingNumber/build-value.mjs.map +1 -0
- package/esm/components/RollingNumber/get-digit-parts.mjs +40 -0
- package/esm/components/RollingNumber/get-digit-parts.mjs.map +1 -0
- package/esm/components/RollingNumber/get-render-slots.mjs +78 -0
- package/esm/components/RollingNumber/get-render-slots.mjs.map +1 -0
- package/esm/components/ScrollArea/ScrollArea.mjs +25 -11
- package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
- package/esm/components/Select/Select.mjs +5 -1
- package/esm/components/Select/Select.mjs.map +1 -1
- package/esm/components/TagsInput/TagsInput.mjs +19 -4
- package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
- package/esm/components/TextInput/TextInput.mjs +5 -1
- package/esm/components/TextInput/TextInput.mjs.map +1 -1
- package/esm/components/Textarea/Textarea.mjs +5 -2
- package/esm/components/Textarea/Textarea.mjs.map +1 -1
- package/esm/components/Tree/FlatTreeNode.mjs +2 -1
- package/esm/components/Tree/FlatTreeNode.mjs.map +1 -1
- package/esm/components/Tree/Tree.mjs +3 -1
- package/esm/components/Tree/Tree.mjs.map +1 -1
- package/esm/components/Tree/TreeNode.mjs +10 -5
- package/esm/components/Tree/TreeNode.mjs.map +1 -1
- package/esm/components/Tree/is-node-checked/is-node-checked.mjs +1 -1
- package/esm/components/Tree/is-node-indeterminate/is-node-indeterminate.mjs +1 -1
- package/esm/components/Tree/use-tree-node-drag-drop.mjs +45 -15
- package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +1 -1
- package/esm/components/TreeSelect/TreeSelect.mjs +600 -0
- package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -0
- package/esm/components/TreeSelect/TreeSelect.module.mjs +16 -0
- package/esm/components/TreeSelect/TreeSelect.module.mjs.map +1 -0
- package/esm/components/TreeSelect/TreeSelectOption.mjs +94 -0
- package/esm/components/TreeSelect/TreeSelectOption.mjs.map +1 -0
- package/esm/components/TreeSelect/flatten-tree-select-data.mjs +34 -0
- package/esm/components/TreeSelect/flatten-tree-select-data.mjs.map +1 -0
- package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs +29 -0
- package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +1 -0
- package/esm/core/MantineProvider/use-props/use-props.mjs +10 -2
- package/esm/core/MantineProvider/use-props/use-props.mjs.map +1 -1
- package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs +2 -2
- package/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs.map +1 -1
- package/esm/index.mjs +5 -1
- package/lib/components/Combobox/Combobox.types.d.ts +3 -0
- package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +1 -1
- package/lib/components/Combobox/index.d.ts +2 -0
- package/lib/components/Combobox/use-combobox-target-props/use-combobox-target-props.d.ts +3 -1
- package/lib/components/Combobox/use-pills-reorder/move-pill.d.ts +2 -0
- package/lib/components/Combobox/use-pills-reorder/use-pills-reorder.d.ts +26 -0
- package/lib/components/MaskInput/MaskInput.d.ts +2 -0
- package/lib/components/MultiSelect/MultiSelect.d.ts +3 -1
- package/lib/components/Popover/Popover.context.d.ts +1 -1
- package/lib/components/RollingNumber/DigitColumn.d.ts +11 -0
- package/lib/components/RollingNumber/RollingNumber.d.ts +41 -0
- package/lib/components/RollingNumber/build-value.d.ts +10 -0
- package/lib/components/RollingNumber/get-digit-parts.d.ts +12 -0
- package/lib/components/RollingNumber/get-render-slots.d.ts +35 -0
- package/lib/components/RollingNumber/index.d.ts +9 -0
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/TagsInput/TagsInput.d.ts +2 -0
- package/lib/components/Tree/Tree.d.ts +10 -0
- package/lib/components/Tree/TreeNode.d.ts +4 -1
- package/lib/components/Tree/index.d.ts +1 -0
- package/lib/components/Tree/use-tree-node-drag-drop.d.ts +19 -7
- package/lib/components/TreeSelect/TreeSelect.d.ts +124 -0
- package/lib/components/TreeSelect/TreeSelectOption.d.ts +36 -0
- package/lib/components/TreeSelect/flatten-tree-select-data.d.ts +12 -0
- package/lib/components/TreeSelect/get-checked-values-by-strategy.d.ts +4 -0
- package/lib/components/TreeSelect/index.d.ts +13 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/core/MantineProvider/use-props/use-props.d.ts +1 -1
- package/lib/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.d.ts +2 -2
- package/package.json +2 -2
- package/styles/Pill.css +35 -0
- package/styles/Pill.layer.css +35 -0
- package/styles/Radio.css +3 -2
- package/styles/Radio.layer.css +3 -2
- package/styles/RollingNumber.css +60 -0
- package/styles/RollingNumber.layer.css +61 -0
- package/styles/TreeSelect.css +113 -0
- package/styles/TreeSelect.layer.css +114 -0
- package/styles.css +213 -2
- package/styles.layer.css +213 -2
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
|
|
2
|
+
export type RollingNumberStylesNames = 'root' | 'digit' | 'digitColumn' | 'char';
|
|
3
|
+
export type RollingNumberCssVariables = {
|
|
4
|
+
root: '--rn-duration' | '--rn-timing-function';
|
|
5
|
+
};
|
|
6
|
+
export interface RollingNumberProps extends BoxProps, StylesApiProps<RollingNumberFactory>, ElementProps<'div'> {
|
|
7
|
+
/** Number value to display */
|
|
8
|
+
value: number;
|
|
9
|
+
/** Prefix added before the value */
|
|
10
|
+
prefix?: string;
|
|
11
|
+
/** Suffix added after the value */
|
|
12
|
+
suffix?: string;
|
|
13
|
+
/** Character used as a decimal separator @default '.' */
|
|
14
|
+
decimalSeparator?: string;
|
|
15
|
+
/** Character used to separate thousands, set to `true` for `,` @default false */
|
|
16
|
+
thousandSeparator?: string | boolean;
|
|
17
|
+
/** Number of decimal places to display */
|
|
18
|
+
decimalScale?: number;
|
|
19
|
+
/** If set, trailing zeros are added to match `decimalScale` @default false */
|
|
20
|
+
fixedDecimalScale?: boolean;
|
|
21
|
+
/** Animation duration in milliseconds @default 600 */
|
|
22
|
+
animationDuration?: number;
|
|
23
|
+
/** CSS timing function for animation @default 'ease' */
|
|
24
|
+
timingFunction?: string;
|
|
25
|
+
/** If set, use tabular (monospace) numbers @default true */
|
|
26
|
+
tabularNumbers?: boolean;
|
|
27
|
+
/** If set, the root element acts as an `aria-live="polite"` region (`role="status"`) and screen readers announce every value change. When `false`, the root uses `role="img"` so the current value is still accessible but updates are not announced. @default false */
|
|
28
|
+
withLiveRegion?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export type RollingNumberFactory = Factory<{
|
|
31
|
+
props: RollingNumberProps;
|
|
32
|
+
ref: HTMLDivElement;
|
|
33
|
+
stylesNames: RollingNumberStylesNames;
|
|
34
|
+
vars: RollingNumberCssVariables;
|
|
35
|
+
}>;
|
|
36
|
+
export declare const RollingNumber: import("../..").MantineComponent<{
|
|
37
|
+
props: RollingNumberProps;
|
|
38
|
+
ref: HTMLDivElement;
|
|
39
|
+
stylesNames: RollingNumberStylesNames;
|
|
40
|
+
vars: RollingNumberCssVariables;
|
|
41
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface BuildValueInput {
|
|
2
|
+
value: number;
|
|
3
|
+
prefix?: string;
|
|
4
|
+
suffix?: string;
|
|
5
|
+
decimalSeparator?: string;
|
|
6
|
+
thousandSeparator?: string | boolean;
|
|
7
|
+
decimalScale?: number;
|
|
8
|
+
fixedDecimalScale?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function buildValue({ value, prefix, suffix, decimalSeparator, thousandSeparator, decimalScale, fixedDecimalScale, }: BuildValueInput): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface DigitParts {
|
|
2
|
+
negative: boolean;
|
|
3
|
+
intDigits: string[];
|
|
4
|
+
fracDigits: string[];
|
|
5
|
+
hasDecimal: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface GetDigitPartsInput {
|
|
8
|
+
value: number;
|
|
9
|
+
decimalScale?: number;
|
|
10
|
+
fixedDecimalScale?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function getDigitParts({ value, decimalScale, fixedDecimalScale, }: GetDigitPartsInput): DigitParts;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type DigitParts } from './get-digit-parts';
|
|
2
|
+
export interface DigitSlot {
|
|
3
|
+
type: 'digit';
|
|
4
|
+
key: string;
|
|
5
|
+
digit: string;
|
|
6
|
+
previousDigit: string | null;
|
|
7
|
+
empty: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface CharSlot {
|
|
10
|
+
type: 'char';
|
|
11
|
+
key: string;
|
|
12
|
+
char: string;
|
|
13
|
+
empty: boolean;
|
|
14
|
+
}
|
|
15
|
+
export type RenderSlot = DigitSlot | CharSlot;
|
|
16
|
+
export interface GetRenderSlotsInput {
|
|
17
|
+
current: DigitParts;
|
|
18
|
+
previous: DigitParts;
|
|
19
|
+
prefix?: string;
|
|
20
|
+
suffix?: string;
|
|
21
|
+
decimalSeparator?: string;
|
|
22
|
+
thousandSeparator?: string | boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function getRenderSlots({ current, previous, prefix, suffix, decimalSeparator, thousandSeparator, }: GetRenderSlotsInput): RenderSlot[];
|
|
25
|
+
export interface GetRenderSlotsFromValuesInput {
|
|
26
|
+
value: number;
|
|
27
|
+
previousValue: number;
|
|
28
|
+
prefix?: string;
|
|
29
|
+
suffix?: string;
|
|
30
|
+
decimalSeparator?: string;
|
|
31
|
+
thousandSeparator?: string | boolean;
|
|
32
|
+
decimalScale?: number;
|
|
33
|
+
fixedDecimalScale?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function getRenderSlotsFromValues({ value, previousValue, prefix, suffix, decimalSeparator, thousandSeparator, decimalScale, fixedDecimalScale, }: GetRenderSlotsFromValuesInput): RenderSlot[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RollingNumberCssVariables, RollingNumberFactory, RollingNumberProps, RollingNumberStylesNames } from './RollingNumber';
|
|
2
|
+
export { RollingNumber } from './RollingNumber';
|
|
3
|
+
export type { RollingNumberProps, RollingNumberStylesNames, RollingNumberCssVariables, RollingNumberFactory, };
|
|
4
|
+
export declare namespace RollingNumber {
|
|
5
|
+
type Props = RollingNumberProps;
|
|
6
|
+
type StylesNames = RollingNumberStylesNames;
|
|
7
|
+
type CssVariables = RollingNumberCssVariables;
|
|
8
|
+
type Factory = RollingNumberFactory;
|
|
9
|
+
}
|
|
@@ -39,7 +39,7 @@ export interface SelectProps<Value extends Primitive = string> extends BoxProps,
|
|
|
39
39
|
/** Props passed down to the hidden input */
|
|
40
40
|
hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;
|
|
41
41
|
/** A function to render content of the option, replaces the default content of the option */
|
|
42
|
-
renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem
|
|
42
|
+
renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem<Value>>) => React.ReactNode;
|
|
43
43
|
/** Props passed down to the underlying `ScrollArea` component in the dropdown */
|
|
44
44
|
scrollAreaProps?: ScrollAreaProps;
|
|
45
45
|
/** Controls color of the default chevron, by default depends on the color scheme */
|
|
@@ -54,6 +54,8 @@ export interface TagsInputProps extends BoxProps, __BaseInputProps, Omit<Combobo
|
|
|
54
54
|
isDuplicate?: (value: string, currentValues: string[]) => boolean;
|
|
55
55
|
/** If set, the dropdown opens when the input receives focus @default true */
|
|
56
56
|
openOnFocus?: boolean;
|
|
57
|
+
/** If set, tags can be reordered by dragging pills. Disabled when `disabled` or `readOnly` is set. @default false */
|
|
58
|
+
withPillsReorder?: boolean;
|
|
57
59
|
}
|
|
58
60
|
export type TagsInputFactory = Factory<{
|
|
59
61
|
props: TagsInputProps;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BoxProps, ElementProps, Factory, MantineSpacing, StylesApiProps } from '../../core';
|
|
2
2
|
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
3
|
+
import type { TreeAllowDrop, TreeDragHandleProps } from './use-tree-node-drag-drop';
|
|
3
4
|
import { TreeController } from './use-tree';
|
|
4
5
|
export interface TreeNodeData {
|
|
5
6
|
label: React.ReactNode;
|
|
@@ -39,6 +40,9 @@ export interface RenderTreeNodePayload {
|
|
|
39
40
|
onDrop?: (event: React.DragEvent) => void;
|
|
40
41
|
onDragEnd?: (event: React.DragEvent) => void;
|
|
41
42
|
};
|
|
43
|
+
/** Props to spread into the drag handle element when `withDragHandle` is set on `Tree`.
|
|
44
|
+
* `undefined` when `withDragHandle` is not enabled or drag-and-drop is disabled. */
|
|
45
|
+
dragHandleProps: TreeDragHandleProps | undefined;
|
|
42
46
|
}
|
|
43
47
|
export type RenderNode = (payload: RenderTreeNodePayload) => React.ReactNode;
|
|
44
48
|
export type TreeStylesNames = 'root' | 'node' | 'subtree' | 'label';
|
|
@@ -74,6 +78,12 @@ export interface TreeProps extends BoxProps, StylesApiProps<TreeFactory>, Elemen
|
|
|
74
78
|
keepMounted?: boolean;
|
|
75
79
|
/** Called when a node is dropped on another node, enables drag-and-drop when provided */
|
|
76
80
|
onDragDrop?: (payload: TreeDragDropPayload) => void;
|
|
81
|
+
/** Called for each potential drop target to determine whether a drop is allowed.
|
|
82
|
+
* When it returns `false`, the drop indicator is hidden and the drop is rejected. */
|
|
83
|
+
allowDrop?: TreeAllowDrop;
|
|
84
|
+
/** If set, drag-and-drop must be initiated from an element that spreads `dragHandleProps`
|
|
85
|
+
* from the `renderNode` payload, rather than anywhere on the node. @default false */
|
|
86
|
+
withDragHandle?: boolean;
|
|
77
87
|
/** If set, connecting lines are rendered showing parent-child relationships @default false */
|
|
78
88
|
withLines?: boolean;
|
|
79
89
|
}
|
|
@@ -2,6 +2,7 @@ import { GetStylesApi } from '../../core';
|
|
|
2
2
|
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
3
3
|
import type { RenderNode, TreeDragState, TreeFactory, TreeNodeData } from './Tree';
|
|
4
4
|
import type { TreeController } from './use-tree';
|
|
5
|
+
import { TreeAllowDrop } from './use-tree-node-drag-drop';
|
|
5
6
|
interface TreeNodeProps {
|
|
6
7
|
node: TreeNodeData;
|
|
7
8
|
getStyles: GetStylesApi<TreeFactory>;
|
|
@@ -18,10 +19,12 @@ interface TreeNodeProps {
|
|
|
18
19
|
checkOnSpace: boolean | undefined;
|
|
19
20
|
keepMounted: boolean | undefined;
|
|
20
21
|
onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;
|
|
22
|
+
allowDrop: TreeAllowDrop | undefined;
|
|
23
|
+
withDragHandle: boolean | undefined;
|
|
21
24
|
dragStateRef: React.RefObject<TreeDragState>;
|
|
22
25
|
data: TreeNodeData[];
|
|
23
26
|
}
|
|
24
|
-
export declare function TreeNode({ node, getStyles, rootIndex, controller, expandOnClick, selectOnClick, isSubtree, level, renderNode, flatValues, allowRangeSelection, expandOnSpace, checkOnSpace, keepMounted, onDragDrop, dragStateRef, data, }: TreeNodeProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function TreeNode({ node, getStyles, rootIndex, controller, expandOnClick, selectOnClick, isSubtree, level, renderNode, flatValues, allowRangeSelection, expandOnSpace, checkOnSpace, keepMounted, onDragDrop, allowDrop, withDragHandle, dragStateRef, data, }: TreeNodeProps): import("react/jsx-runtime").JSX.Element;
|
|
25
28
|
export declare namespace TreeNode {
|
|
26
29
|
var displayName: string;
|
|
27
30
|
}
|
|
@@ -13,3 +13,4 @@ export type { TreeNodeFilter } from './filter-tree-data/filter-tree-data';
|
|
|
13
13
|
export type { TreeDragDropPosition, TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
14
14
|
export type { FlattenedTreeNodeData } from './flatten-tree-data/flatten-tree-data';
|
|
15
15
|
export type { FlatTreeNodeProps } from './FlatTreeNode';
|
|
16
|
+
export type { TreeAllowDrop, TreeDragHandleProps } from './use-tree-node-drag-drop';
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node';
|
|
2
2
|
import type { TreeDragState, TreeNodeData } from './Tree';
|
|
3
|
+
export type TreeAllowDrop = (payload: TreeDragDropPayload) => boolean;
|
|
3
4
|
interface UseTreeNodeDragDropInput {
|
|
4
5
|
nodeValue: string;
|
|
5
6
|
hasChildren: boolean;
|
|
6
7
|
data: TreeNodeData[];
|
|
7
8
|
onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;
|
|
8
9
|
dragStateRef: React.RefObject<TreeDragState>;
|
|
10
|
+
allowDrop: TreeAllowDrop | undefined;
|
|
11
|
+
withDragHandle: boolean | undefined;
|
|
9
12
|
}
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export interface TreeDragHandleProps {
|
|
14
|
+
onMouseDown: (event: React.MouseEvent) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare function useTreeNodeDragDrop({ nodeValue, hasChildren, data, onDragDrop, dragStateRef, allowDrop, withDragHandle, }: UseTreeNodeDragDropInput): {
|
|
17
|
+
readonly elementProps: {};
|
|
18
|
+
readonly dragHandleProps: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
elementProps: {
|
|
21
|
+
draggable: boolean;
|
|
22
|
+
onDragStart: (event: React.DragEvent) => void;
|
|
23
|
+
onDragOver: (event: React.DragEvent) => void;
|
|
24
|
+
onDragLeave: (event: React.DragEvent) => void;
|
|
25
|
+
onDrop: (event: React.DragEvent) => void;
|
|
26
|
+
onDragEnd: (event: React.DragEvent) => void;
|
|
27
|
+
};
|
|
28
|
+
dragHandleProps: TreeDragHandleProps | undefined;
|
|
17
29
|
};
|
|
18
30
|
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '../../core';
|
|
2
|
+
import { ComboboxLikeStylesNames } from '../Combobox';
|
|
3
|
+
import { __BaseInputProps, __InputStylesNames, ClearSectionMode, InputClearButtonProps, InputVariant } from '../Input';
|
|
4
|
+
import { ScrollAreaProps } from '../ScrollArea';
|
|
5
|
+
import type { TreeNodeData } from '../Tree';
|
|
6
|
+
import { CheckedStrategy } from './get-checked-values-by-strategy';
|
|
7
|
+
import { TreeSelectChevronAriaLabels, TreeSelectRenderNodePayload } from './TreeSelectOption';
|
|
8
|
+
export type TreeSelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames | 'pill' | 'pillsList' | 'inputField';
|
|
9
|
+
export type TreeSelectMode = 'single' | 'multiple' | 'checkbox';
|
|
10
|
+
export type TreeSelectValue<Mode extends TreeSelectMode> = Mode extends 'single' ? string | null : string[];
|
|
11
|
+
export interface TreeSelectProps<Mode extends TreeSelectMode = 'single'> extends BoxProps, __BaseInputProps, StylesApiProps<TreeSelectFactory>, ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {
|
|
12
|
+
/** Tree data */
|
|
13
|
+
data: TreeNodeData[];
|
|
14
|
+
/** Selection mode: 'single', 'multiple', or 'checkbox' (with cascade) @default 'single' */
|
|
15
|
+
mode?: Mode;
|
|
16
|
+
/** Controlled value */
|
|
17
|
+
value?: TreeSelectValue<Mode>;
|
|
18
|
+
/** Default value */
|
|
19
|
+
defaultValue?: TreeSelectValue<Mode>;
|
|
20
|
+
/** Called when value changes */
|
|
21
|
+
onChange?: (value: TreeSelectValue<Mode>) => void;
|
|
22
|
+
/** Disables parent-child cascade in checkbox mode @default false */
|
|
23
|
+
checkStrictly?: boolean;
|
|
24
|
+
/** Controls which checked nodes appear in value/pills in checkbox mode @default 'child' */
|
|
25
|
+
checkedStrategy?: CheckedStrategy;
|
|
26
|
+
/** Default expanded node values */
|
|
27
|
+
defaultExpandedValues?: string[];
|
|
28
|
+
/** Expand all nodes by default @default false */
|
|
29
|
+
defaultExpandAll?: boolean;
|
|
30
|
+
/** Controlled expanded state */
|
|
31
|
+
expandedValues?: string[];
|
|
32
|
+
/** Called when expanded state changes */
|
|
33
|
+
onExpandedChange?: (values: string[]) => void;
|
|
34
|
+
/** Also toggle expand when clicking a parent node (not just the chevron). In `single` and `multiple` modes, parent clicks only expand; only leaves can be selected. In `checkbox` mode, parent clicks both check and expand. @default false */
|
|
35
|
+
expandOnClick?: boolean;
|
|
36
|
+
/** Enables search filtering @default false */
|
|
37
|
+
searchable?: boolean;
|
|
38
|
+
/** Controlled search value */
|
|
39
|
+
searchValue?: string;
|
|
40
|
+
/** Default search value */
|
|
41
|
+
defaultSearchValue?: string;
|
|
42
|
+
/** Called when search changes */
|
|
43
|
+
onSearchChange?: (value: string) => void;
|
|
44
|
+
/** Custom filter function */
|
|
45
|
+
filter?: (query: string, node: TreeNodeData) => boolean;
|
|
46
|
+
/** Message when no nodes match search */
|
|
47
|
+
nothingFoundMessage?: React.ReactNode;
|
|
48
|
+
/** Allows deselecting in single mode @default true */
|
|
49
|
+
allowDeselect?: boolean;
|
|
50
|
+
/** Shows clear button @default false */
|
|
51
|
+
clearable?: boolean;
|
|
52
|
+
/** Determines how the clear button and rightSection are rendered @default 'both' */
|
|
53
|
+
clearSectionMode?: ClearSectionMode;
|
|
54
|
+
/** Props for the clear button */
|
|
55
|
+
clearButtonProps?: InputClearButtonProps;
|
|
56
|
+
/** Maximum selectable values (multiple/checkbox mode) */
|
|
57
|
+
maxValues?: number;
|
|
58
|
+
/** Maximum displayed pills before "+N more" */
|
|
59
|
+
maxDisplayedValues?: number;
|
|
60
|
+
/** Content shown when values overflow maxDisplayedValues */
|
|
61
|
+
maxDisplayedValuesContent?: React.ReactNode | ((overflow: number) => React.ReactNode);
|
|
62
|
+
/** Called with removed value in multiple/checkbox mode */
|
|
63
|
+
onRemove?: (value: string) => void;
|
|
64
|
+
/** Called when clear button is clicked */
|
|
65
|
+
onClear?: () => void;
|
|
66
|
+
/** Custom node rendering in the dropdown */
|
|
67
|
+
renderNode?: (payload: TreeSelectRenderNodePayload) => React.ReactNode;
|
|
68
|
+
/** Show tree connection lines between parent and child nodes @default true */
|
|
69
|
+
withLines?: boolean;
|
|
70
|
+
/** Props for the hidden input */
|
|
71
|
+
hiddenInputProps?: Omit<React.ComponentProps<'input'>, 'value'>;
|
|
72
|
+
/** Divider for hidden input values @default ',' */
|
|
73
|
+
hiddenInputValuesDivider?: string;
|
|
74
|
+
/** Props for the ScrollArea in the dropdown */
|
|
75
|
+
scrollAreaProps?: ScrollAreaProps;
|
|
76
|
+
/** Controls the default chevron color */
|
|
77
|
+
chevronColor?: MantineColor;
|
|
78
|
+
/** Max dropdown height @default 220 */
|
|
79
|
+
maxDropdownHeight?: number | string;
|
|
80
|
+
/** Controlled dropdown state */
|
|
81
|
+
dropdownOpened?: boolean;
|
|
82
|
+
/** Default dropdown state */
|
|
83
|
+
defaultDropdownOpened?: boolean;
|
|
84
|
+
/** Called when dropdown opens */
|
|
85
|
+
onDropdownOpen?: () => void;
|
|
86
|
+
/** Called when dropdown closes */
|
|
87
|
+
onDropdownClose?: () => void;
|
|
88
|
+
/** Props passed to the underlying Combobox */
|
|
89
|
+
comboboxProps?: Record<string, any>;
|
|
90
|
+
/** Clear search on selection change @default true */
|
|
91
|
+
clearSearchOnChange?: boolean;
|
|
92
|
+
/** Opens dropdown on focus (searchable mode) @default true */
|
|
93
|
+
openOnFocus?: boolean;
|
|
94
|
+
/** aria-label values for the expand/collapse chevron button */
|
|
95
|
+
chevronAriaLabels?: TreeSelectChevronAriaLabels;
|
|
96
|
+
}
|
|
97
|
+
export type TreeSelectFactory = Factory<{
|
|
98
|
+
props: TreeSelectProps;
|
|
99
|
+
ref: HTMLInputElement;
|
|
100
|
+
stylesNames: TreeSelectStylesNames;
|
|
101
|
+
variant: InputVariant;
|
|
102
|
+
signature: <Mode extends TreeSelectMode = 'single'>(props: TreeSelectProps<Mode>) => React.JSX.Element;
|
|
103
|
+
}>;
|
|
104
|
+
export declare const TreeSelect: (<Mode extends TreeSelectMode = "single">(props: TreeSelectProps<Mode>) => React.JSX.Element) & import("../..").ThemeExtend<{
|
|
105
|
+
props: TreeSelectProps;
|
|
106
|
+
ref: HTMLInputElement;
|
|
107
|
+
stylesNames: TreeSelectStylesNames;
|
|
108
|
+
variant: InputVariant;
|
|
109
|
+
signature: <Mode extends TreeSelectMode = "single">(props: TreeSelectProps<Mode>) => React.JSX.Element;
|
|
110
|
+
}> & import("../..").ComponentClasses<{
|
|
111
|
+
props: TreeSelectProps;
|
|
112
|
+
ref: HTMLInputElement;
|
|
113
|
+
stylesNames: TreeSelectStylesNames;
|
|
114
|
+
variant: InputVariant;
|
|
115
|
+
signature: <Mode extends TreeSelectMode = "single">(props: TreeSelectProps<Mode>) => React.JSX.Element;
|
|
116
|
+
}> & Record<string, never> & import("../..").FactoryComponentWithProps<{
|
|
117
|
+
props: TreeSelectProps;
|
|
118
|
+
ref: HTMLInputElement;
|
|
119
|
+
stylesNames: TreeSelectStylesNames;
|
|
120
|
+
variant: InputVariant;
|
|
121
|
+
signature: <Mode extends TreeSelectMode = "single">(props: TreeSelectProps<Mode>) => React.JSX.Element;
|
|
122
|
+
}> & {
|
|
123
|
+
displayName?: string;
|
|
124
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { TreeNodeData } from '../Tree';
|
|
2
|
+
export interface TreeSelectChevronAriaLabels {
|
|
3
|
+
/** aria-label for the expand button when the node is collapsed @default 'Expand' */
|
|
4
|
+
expand?: string;
|
|
5
|
+
/** aria-label for the expand button when the node is expanded @default 'Collapse' */
|
|
6
|
+
collapse?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface TreeSelectOptionProps {
|
|
9
|
+
node: TreeNodeData;
|
|
10
|
+
level: number;
|
|
11
|
+
expanded: boolean;
|
|
12
|
+
hasChildren: boolean;
|
|
13
|
+
selected: boolean;
|
|
14
|
+
checked: boolean;
|
|
15
|
+
indeterminate: boolean;
|
|
16
|
+
showCheckbox: boolean;
|
|
17
|
+
isLastChild: boolean;
|
|
18
|
+
lineGuides: boolean[];
|
|
19
|
+
withLines: boolean;
|
|
20
|
+
onToggleExpand: (value: string) => void;
|
|
21
|
+
renderNode?: (payload: TreeSelectRenderNodePayload) => React.ReactNode;
|
|
22
|
+
chevronAriaLabels?: TreeSelectChevronAriaLabels;
|
|
23
|
+
}
|
|
24
|
+
export interface TreeSelectRenderNodePayload {
|
|
25
|
+
node: TreeNodeData;
|
|
26
|
+
level: number;
|
|
27
|
+
expanded: boolean;
|
|
28
|
+
hasChildren: boolean;
|
|
29
|
+
selected: boolean;
|
|
30
|
+
checked: boolean;
|
|
31
|
+
indeterminate: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function TreeSelectOption({ node, level, expanded, hasChildren, selected, checked, indeterminate, showCheckbox, isLastChild, lineGuides, withLines, onToggleExpand, renderNode, chevronAriaLabels, }: TreeSelectOptionProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export declare namespace TreeSelectOption {
|
|
35
|
+
var displayName: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TreeNodeData } from '../Tree';
|
|
2
|
+
import type { TreeExpandedState } from '../Tree/use-tree';
|
|
3
|
+
export interface TreeSelectFlatNode {
|
|
4
|
+
node: TreeNodeData;
|
|
5
|
+
level: number;
|
|
6
|
+
parent: string | null;
|
|
7
|
+
hasChildren: boolean;
|
|
8
|
+
expanded: boolean;
|
|
9
|
+
isLastChild: boolean;
|
|
10
|
+
lineGuides: boolean[];
|
|
11
|
+
}
|
|
12
|
+
export declare function flattenTreeSelectData(data: TreeNodeData[], expandedState: TreeExpandedState): TreeSelectFlatNode[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TreeNodeData } from '../Tree';
|
|
2
|
+
export type CheckedStrategy = 'all' | 'parent' | 'child';
|
|
3
|
+
export declare function expandToLeafChecked(value: string[], data: TreeNodeData[]): string[];
|
|
4
|
+
export declare function checkedToValue(checkedState: string[], data: TreeNodeData[], strategy: CheckedStrategy): string[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TreeSelectFactory, TreeSelectMode, TreeSelectProps, TreeSelectStylesNames, TreeSelectValue } from './TreeSelect';
|
|
2
|
+
export { TreeSelect } from './TreeSelect';
|
|
3
|
+
export { TreeSelectOption } from './TreeSelectOption';
|
|
4
|
+
export type { TreeSelectChevronAriaLabels, TreeSelectRenderNodePayload } from './TreeSelectOption';
|
|
5
|
+
export type { CheckedStrategy } from './get-checked-values-by-strategy';
|
|
6
|
+
export type { TreeSelectProps, TreeSelectStylesNames, TreeSelectFactory, TreeSelectMode, TreeSelectValue, };
|
|
7
|
+
export declare namespace TreeSelect {
|
|
8
|
+
type Props = TreeSelectProps;
|
|
9
|
+
type StylesNames = TreeSelectStylesNames;
|
|
10
|
+
type Factory = TreeSelectFactory;
|
|
11
|
+
type Mode = TreeSelectMode;
|
|
12
|
+
type Value<Mode extends TreeSelectMode> = TreeSelectValue<Mode>;
|
|
13
|
+
}
|
|
@@ -79,6 +79,7 @@ export * from './Portal';
|
|
|
79
79
|
export * from './Progress';
|
|
80
80
|
export * from './Radio';
|
|
81
81
|
export * from './Rating';
|
|
82
|
+
export * from './RollingNumber';
|
|
82
83
|
export * from './RingProgress';
|
|
83
84
|
export * from './Scroller';
|
|
84
85
|
export * from './SegmentedControl';
|
|
@@ -105,4 +106,5 @@ export * from './Title';
|
|
|
105
106
|
export * from './Tooltip';
|
|
106
107
|
export * from './Transition';
|
|
107
108
|
export * from './Tree';
|
|
109
|
+
export * from './TreeSelect';
|
|
108
110
|
export * from './Typography';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function useProps<T extends Record<string, any>, U extends Partial<T> | null = {}>(component: string, defaultProps: U, props: T): T & (U extends null | undefined ? {} : {
|
|
1
|
+
export declare function useProps<T extends Record<string, any>, U extends Partial<T> | null = {}>(component: string | (string | undefined)[], defaultProps: U, props: T): T & (U extends null | undefined ? {} : {
|
|
2
2
|
[Key in Extract<keyof T, keyof U>]-?: U[Key] | NonNullable<T[Key]>;
|
|
3
3
|
});
|
|
@@ -7,6 +7,6 @@ export interface UseResolvedStylesApiInput<Payload extends FactoryPayload> {
|
|
|
7
7
|
stylesCtx?: Record<string, any>;
|
|
8
8
|
}
|
|
9
9
|
export declare function useResolvedStylesApi<Payload extends FactoryPayload>({ classNames, styles, props, stylesCtx, }: UseResolvedStylesApiInput<Payload>): {
|
|
10
|
-
resolvedClassNames: Partial<Record<string, string
|
|
11
|
-
resolvedStyles: Record<string, any
|
|
10
|
+
resolvedClassNames: Partial<Record<string, string>> | undefined;
|
|
11
|
+
resolvedStyles: Record<string, any> | undefined;
|
|
12
12
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/core",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"description": "React components library focused on usability, accessibility and developer experience",
|
|
5
5
|
"homepage": "https://mantine.dev/",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"directory": "packages/@mantine/core"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@mantine/hooks": "9.
|
|
46
|
+
"@mantine/hooks": "9.2.0",
|
|
47
47
|
"react": "^19.2.0",
|
|
48
48
|
"react-dom": "^19.2.0"
|
|
49
49
|
},
|
package/styles/Pill.css
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
user-select: none;
|
|
27
27
|
-webkit-user-select: none;
|
|
28
28
|
max-width: 100%;
|
|
29
|
+
position: relative;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
:where([data-mantine-color-scheme='dark']) .m_7cda1cd6 {
|
|
@@ -45,6 +46,40 @@
|
|
|
45
46
|
cursor: not-allowed;
|
|
46
47
|
}
|
|
47
48
|
|
|
49
|
+
.m_7cda1cd6:where([draggable='true']) {
|
|
50
|
+
cursor: grab;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.m_7cda1cd6:where([draggable='true']):focus-visible {
|
|
54
|
+
outline: 2px solid var(--mantine-primary-color-filled);
|
|
55
|
+
outline-offset: 2px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.m_7cda1cd6:where([data-dragging]) {
|
|
59
|
+
opacity: 0.4;
|
|
60
|
+
cursor: grabbing;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.m_7cda1cd6:where([data-drag-over='before'])::before,
|
|
64
|
+
.m_7cda1cd6:where([data-drag-over='after'])::after {
|
|
65
|
+
content: '';
|
|
66
|
+
position: absolute;
|
|
67
|
+
top: 0;
|
|
68
|
+
bottom: 0;
|
|
69
|
+
width: calc(0.125rem * var(--mantine-scale));
|
|
70
|
+
background-color: var(--mantine-primary-color-filled);
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
z-index: 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.m_7cda1cd6:where([data-drag-over='before'])::before {
|
|
76
|
+
inset-inline-start: calc(-0.25rem * var(--mantine-scale));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.m_7cda1cd6:where([data-drag-over='after'])::after {
|
|
80
|
+
inset-inline-end: calc(-0.25rem * var(--mantine-scale));
|
|
81
|
+
}
|
|
82
|
+
|
|
48
83
|
:where([data-mantine-color-scheme='light']) .m_44da308b {
|
|
49
84
|
background-color: var(--mantine-color-gray-1);
|
|
50
85
|
}
|
package/styles/Pill.layer.css
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
user-select: none;
|
|
27
27
|
-webkit-user-select: none;
|
|
28
28
|
max-width: 100%;
|
|
29
|
+
position: relative;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
:where([data-mantine-color-scheme='dark']) .m_7cda1cd6 {
|
|
@@ -45,6 +46,40 @@
|
|
|
45
46
|
cursor: not-allowed;
|
|
46
47
|
}
|
|
47
48
|
|
|
49
|
+
.m_7cda1cd6:where([draggable='true']) {
|
|
50
|
+
cursor: grab;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.m_7cda1cd6:where([draggable='true']):focus-visible {
|
|
54
|
+
outline: 2px solid var(--mantine-primary-color-filled);
|
|
55
|
+
outline-offset: 2px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.m_7cda1cd6:where([data-dragging]) {
|
|
59
|
+
opacity: 0.4;
|
|
60
|
+
cursor: grabbing;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.m_7cda1cd6:where([data-drag-over='before'])::before,
|
|
64
|
+
.m_7cda1cd6:where([data-drag-over='after'])::after {
|
|
65
|
+
content: '';
|
|
66
|
+
position: absolute;
|
|
67
|
+
top: 0;
|
|
68
|
+
bottom: 0;
|
|
69
|
+
width: calc(0.125rem * var(--mantine-scale));
|
|
70
|
+
background-color: var(--mantine-primary-color-filled);
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
z-index: 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.m_7cda1cd6:where([data-drag-over='before'])::before {
|
|
76
|
+
inset-inline-start: calc(-0.25rem * var(--mantine-scale));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.m_7cda1cd6:where([data-drag-over='after'])::after {
|
|
80
|
+
inset-inline-end: calc(-0.25rem * var(--mantine-scale));
|
|
81
|
+
}
|
|
82
|
+
|
|
48
83
|
:where([data-mantine-color-scheme='light']) .m_44da308b {
|
|
49
84
|
background-color: var(--mantine-color-gray-1);
|
|
50
85
|
}
|
package/styles/Radio.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
.m_f3ed6b2b {
|
|
30
30
|
color: var(--radio-icon-color);
|
|
31
31
|
opacity: var(--radio-icon-opacity, 0);
|
|
32
|
+
translate: -50% -50%;
|
|
32
33
|
transform: var(--radio-icon-transform, scale(0.2) translateY(calc(0.625rem * var(--mantine-scale))));
|
|
33
34
|
transition:
|
|
34
35
|
opacity 100ms ease,
|
|
@@ -37,8 +38,8 @@
|
|
|
37
38
|
width: var(--radio-icon-size);
|
|
38
39
|
height: var(--radio-icon-size);
|
|
39
40
|
position: absolute;
|
|
40
|
-
top:
|
|
41
|
-
left:
|
|
41
|
+
top: 50%;
|
|
42
|
+
left: 50%;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
.m_8a3dbb89 {
|
package/styles/Radio.layer.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
.m_f3ed6b2b {
|
|
30
30
|
color: var(--radio-icon-color);
|
|
31
31
|
opacity: var(--radio-icon-opacity, 0);
|
|
32
|
+
translate: -50% -50%;
|
|
32
33
|
transform: var(--radio-icon-transform, scale(0.2) translateY(calc(0.625rem * var(--mantine-scale))));
|
|
33
34
|
transition:
|
|
34
35
|
opacity 100ms ease,
|
|
@@ -37,8 +38,8 @@
|
|
|
37
38
|
width: var(--radio-icon-size);
|
|
38
39
|
height: var(--radio-icon-size);
|
|
39
40
|
position: absolute;
|
|
40
|
-
top:
|
|
41
|
-
left:
|
|
41
|
+
top: 50%;
|
|
42
|
+
left: 50%;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
.m_8a3dbb89 {
|