@mantine/core 9.4.2 → 9.5.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.
Files changed (176) hide show
  1. package/cjs/components/Accordion/Accordion.cjs +5 -2
  2. package/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/cjs/components/AngleSlider/AngleSlider.cjs +4 -1
  4. package/cjs/components/AngleSlider/AngleSlider.cjs.map +1 -1
  5. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs +15 -14
  6. package/cjs/components/Avatar/AvatarGroup/AvatarGroup.cjs.map +1 -1
  7. package/cjs/components/Cascader/Cascader.cjs +371 -0
  8. package/cjs/components/Cascader/Cascader.cjs.map +1 -0
  9. package/cjs/components/Cascader/Cascader.module.cjs +18 -0
  10. package/cjs/components/Cascader/Cascader.module.cjs.map +1 -0
  11. package/cjs/components/Cascader/CascaderColumns.cjs +136 -0
  12. package/cjs/components/Cascader/CascaderColumns.cjs.map +1 -0
  13. package/cjs/components/Cascader/flatten-cascader-paths.cjs +26 -0
  14. package/cjs/components/Cascader/flatten-cascader-paths.cjs.map +1 -0
  15. package/cjs/components/Cascader/get-cascader-columns.cjs +30 -0
  16. package/cjs/components/Cascader/get-cascader-columns.cjs.map +1 -0
  17. package/cjs/components/Cascader/get-cascader-path-options.cjs +19 -0
  18. package/cjs/components/Cascader/get-cascader-path-options.cjs.map +1 -0
  19. package/cjs/components/Cascader/use-cascader.cjs +135 -0
  20. package/cjs/components/Cascader/use-cascader.cjs.map +1 -0
  21. package/cjs/components/ColorPicker/converters/converters.cjs +5 -0
  22. package/cjs/components/ColorPicker/converters/parsers.cjs +5 -0
  23. package/cjs/components/Combobox/use-combobox/use-combobox.cjs +6 -2
  24. package/cjs/components/Combobox/use-combobox/use-combobox.cjs.map +1 -1
  25. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs +2 -1
  26. package/cjs/components/ComboboxPopover/ComboboxPopover.cjs.map +1 -1
  27. package/cjs/components/Drawer/DrawerStack.cjs +1 -1
  28. package/cjs/components/Drawer/DrawerStack.cjs.map +1 -1
  29. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs +2 -1
  30. package/cjs/components/FloatingIndicator/FloatingIndicator.cjs.map +1 -1
  31. package/cjs/components/FloatingWindow/FloatingWindow.cjs +31 -10
  32. package/cjs/components/FloatingWindow/FloatingWindow.cjs.map +1 -1
  33. package/cjs/components/FloatingWindow/FloatingWindow.context.cjs +8 -0
  34. package/cjs/components/FloatingWindow/FloatingWindow.context.cjs.map +1 -0
  35. package/cjs/components/FloatingWindow/FloatingWindow.module.cjs.map +1 -1
  36. package/cjs/components/FloatingWindow/FloatingWindowResizeHandle.cjs +161 -0
  37. package/cjs/components/FloatingWindow/FloatingWindowResizeHandle.cjs.map +1 -0
  38. package/cjs/components/Modal/ModalStack.cjs +1 -1
  39. package/cjs/components/Modal/ModalStack.cjs.map +1 -1
  40. package/cjs/components/OverflowList/OverflowList.cjs +2 -1
  41. package/cjs/components/OverflowList/OverflowList.cjs.map +1 -1
  42. package/cjs/components/Pagination/PaginationEdges/PaginationEdges.cjs +1 -0
  43. package/cjs/components/ScrollArea/ScrollArea.cjs +7 -2
  44. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  45. package/cjs/components/ScrollArea/ScrollArea.module.cjs.map +1 -1
  46. package/cjs/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.cjs +1 -0
  47. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs +8 -4
  48. package/cjs/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.cjs.map +1 -1
  49. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs +3 -1
  50. package/cjs/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.cjs.map +1 -1
  51. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs +1 -1
  52. package/cjs/components/SimpleGrid/SimpleGridVariables.cjs.map +1 -1
  53. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +18 -11
  54. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  55. package/cjs/components/Table/Table.components.cjs +1 -0
  56. package/cjs/components/TagsInput/TagsInput.cjs +2 -1
  57. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  58. package/cjs/components/Timeline/Timeline.cjs +5 -1
  59. package/cjs/components/Timeline/Timeline.cjs.map +1 -1
  60. package/cjs/components/Timeline/Timeline.module.cjs +2 -1
  61. package/cjs/components/Timeline/Timeline.module.cjs.map +1 -1
  62. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs +31 -20
  63. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  64. package/cjs/components/Tree/TreeNode.cjs.map +1 -1
  65. package/cjs/components/Tree/use-tree.cjs +1 -1
  66. package/cjs/components/Tree/use-tree.cjs.map +1 -1
  67. package/cjs/components/TreeSelect/TreeSelect.cjs +3 -2
  68. package/cjs/components/TreeSelect/TreeSelect.cjs.map +1 -1
  69. package/cjs/core/Box/get-box-mod/get-box-mod.cjs +1 -0
  70. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs +6 -5
  71. package/cjs/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs.map +1 -1
  72. package/cjs/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.cjs +2 -0
  73. package/cjs/core/MantineProvider/use-matches/use-matches.cjs +3 -2
  74. package/cjs/core/MantineProvider/use-matches/use-matches.cjs.map +1 -1
  75. package/cjs/index.cjs +7 -1
  76. package/esm/components/Accordion/Accordion.mjs +5 -2
  77. package/esm/components/Accordion/Accordion.mjs.map +1 -1
  78. package/esm/components/AngleSlider/AngleSlider.mjs +4 -1
  79. package/esm/components/AngleSlider/AngleSlider.mjs.map +1 -1
  80. package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs +15 -14
  81. package/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs.map +1 -1
  82. package/esm/components/Cascader/Cascader.mjs +371 -0
  83. package/esm/components/Cascader/Cascader.mjs.map +1 -0
  84. package/esm/components/Cascader/Cascader.module.mjs +18 -0
  85. package/esm/components/Cascader/Cascader.module.mjs.map +1 -0
  86. package/esm/components/Cascader/CascaderColumns.mjs +135 -0
  87. package/esm/components/Cascader/CascaderColumns.mjs.map +1 -0
  88. package/esm/components/Cascader/flatten-cascader-paths.mjs +26 -0
  89. package/esm/components/Cascader/flatten-cascader-paths.mjs.map +1 -0
  90. package/esm/components/Cascader/get-cascader-columns.mjs +28 -0
  91. package/esm/components/Cascader/get-cascader-columns.mjs.map +1 -0
  92. package/esm/components/Cascader/get-cascader-path-options.mjs +19 -0
  93. package/esm/components/Cascader/get-cascader-path-options.mjs.map +1 -0
  94. package/esm/components/Cascader/use-cascader.mjs +135 -0
  95. package/esm/components/Cascader/use-cascader.mjs.map +1 -0
  96. package/esm/components/ColorPicker/converters/converters.mjs +1 -1
  97. package/esm/components/ColorPicker/converters/parsers.mjs +1 -1
  98. package/esm/components/Combobox/use-combobox/use-combobox.mjs +6 -2
  99. package/esm/components/Combobox/use-combobox/use-combobox.mjs.map +1 -1
  100. package/esm/components/ComboboxPopover/ComboboxPopover.mjs +2 -1
  101. package/esm/components/ComboboxPopover/ComboboxPopover.mjs.map +1 -1
  102. package/esm/components/Drawer/DrawerStack.mjs +1 -1
  103. package/esm/components/Drawer/DrawerStack.mjs.map +1 -1
  104. package/esm/components/FloatingIndicator/FloatingIndicator.mjs +2 -1
  105. package/esm/components/FloatingIndicator/FloatingIndicator.mjs.map +1 -1
  106. package/esm/components/FloatingWindow/FloatingWindow.context.mjs +8 -0
  107. package/esm/components/FloatingWindow/FloatingWindow.context.mjs.map +1 -0
  108. package/esm/components/FloatingWindow/FloatingWindow.mjs +32 -11
  109. package/esm/components/FloatingWindow/FloatingWindow.mjs.map +1 -1
  110. package/esm/components/FloatingWindow/FloatingWindow.module.mjs.map +1 -1
  111. package/esm/components/FloatingWindow/FloatingWindowResizeHandle.mjs +161 -0
  112. package/esm/components/FloatingWindow/FloatingWindowResizeHandle.mjs.map +1 -0
  113. package/esm/components/Modal/ModalStack.mjs +1 -1
  114. package/esm/components/Modal/ModalStack.mjs.map +1 -1
  115. package/esm/components/OverflowList/OverflowList.mjs +2 -1
  116. package/esm/components/OverflowList/OverflowList.mjs.map +1 -1
  117. package/esm/components/Pagination/PaginationEdges/PaginationEdges.mjs +1 -1
  118. package/esm/components/ScrollArea/ScrollArea.mjs +7 -2
  119. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  120. package/esm/components/ScrollArea/ScrollArea.module.mjs.map +1 -1
  121. package/esm/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.mjs +1 -1
  122. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs +8 -4
  123. package/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs.map +1 -1
  124. package/esm/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.mjs +3 -2
  125. package/esm/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.mjs.map +1 -1
  126. package/esm/components/SimpleGrid/SimpleGridVariables.mjs +1 -1
  127. package/esm/components/SimpleGrid/SimpleGridVariables.mjs.map +1 -1
  128. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +18 -11
  129. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  130. package/esm/components/Table/Table.components.mjs +1 -1
  131. package/esm/components/TagsInput/TagsInput.mjs +2 -1
  132. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  133. package/esm/components/Timeline/Timeline.mjs +5 -1
  134. package/esm/components/Timeline/Timeline.mjs.map +1 -1
  135. package/esm/components/Timeline/Timeline.module.mjs +2 -1
  136. package/esm/components/Timeline/Timeline.module.mjs.map +1 -1
  137. package/esm/components/Timeline/TimelineItem/TimelineItem.mjs +31 -20
  138. package/esm/components/Timeline/TimelineItem/TimelineItem.mjs.map +1 -1
  139. package/esm/components/Tree/TreeNode.mjs.map +1 -1
  140. package/esm/components/Tree/use-tree.mjs +1 -1
  141. package/esm/components/Tree/use-tree.mjs.map +1 -1
  142. package/esm/components/TreeSelect/TreeSelect.mjs +3 -2
  143. package/esm/components/TreeSelect/TreeSelect.mjs.map +1 -1
  144. package/esm/core/Box/get-box-mod/get-box-mod.mjs +1 -1
  145. package/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs +6 -5
  146. package/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs.map +1 -1
  147. package/esm/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.mjs +1 -1
  148. package/esm/core/MantineProvider/use-matches/use-matches.mjs +3 -2
  149. package/esm/core/MantineProvider/use-matches/use-matches.mjs.map +1 -1
  150. package/esm/index.mjs +5 -2
  151. package/lib/components/Accordion/Accordion.d.ts +2 -0
  152. package/lib/components/Cascader/Cascader.d.ts +114 -0
  153. package/lib/components/Cascader/CascaderColumns.d.ts +36 -0
  154. package/lib/components/Cascader/flatten-cascader-paths.d.ts +12 -0
  155. package/lib/components/Cascader/get-cascader-columns.d.ts +4 -0
  156. package/lib/components/Cascader/get-cascader-path-options.d.ts +2 -0
  157. package/lib/components/Cascader/index.d.ts +12 -0
  158. package/lib/components/Cascader/use-cascader.d.ts +25 -0
  159. package/lib/components/FloatingWindow/FloatingWindow.context.d.ts +21 -0
  160. package/lib/components/FloatingWindow/FloatingWindow.d.ts +10 -5
  161. package/lib/components/FloatingWindow/FloatingWindowResizeHandle.d.ts +11 -0
  162. package/lib/components/FloatingWindow/index.d.ts +2 -0
  163. package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
  164. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +5 -1
  165. package/lib/components/index.d.ts +1 -0
  166. package/package.json +3 -3
  167. package/styles/Cascader.css +215 -0
  168. package/styles/Cascader.layer.css +216 -0
  169. package/styles/FloatingWindow.css +2 -0
  170. package/styles/FloatingWindow.layer.css +2 -0
  171. package/styles/ScrollArea.css +58 -0
  172. package/styles/ScrollArea.layer.css +58 -0
  173. package/styles/Timeline.css +88 -14
  174. package/styles/Timeline.layer.css +88 -14
  175. package/styles.css +364 -14
  176. package/styles.layer.css +364 -14
@@ -2,6 +2,8 @@ import { SetFloatingWindowPosition, UseFloatingWindowOptions } from '@mantine/ho
2
2
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
3
3
  import { PaperBaseProps } from '../Paper';
4
4
  import { PortalProps } from '../Portal';
5
+ import { FloatingWindowDimensions } from './FloatingWindow.context';
6
+ import { FloatingWindowResizeHandle } from './FloatingWindowResizeHandle';
5
7
  export type FloatingWindowStylesNames = 'root';
6
8
  export interface FloatingWindowProps extends UseFloatingWindowOptions, PaperBaseProps, BoxProps, StylesApiProps<FloatingWindowFactory>, ElementProps<'div', keyof UseFloatingWindowOptions> {
7
9
  /** Assigns ref to set position programmatically */
@@ -12,19 +14,22 @@ export interface FloatingWindowProps extends UseFloatingWindowOptions, PaperBase
12
14
  portalProps?: Omit<PortalProps, 'children'>;
13
15
  /** `z-index` of the root element @default 400 */
14
16
  zIndex?: React.CSSProperties['zIndex'];
17
+ /** Dimensions configuration for resizable floating window */
18
+ dimensions?: FloatingWindowDimensions;
15
19
  }
16
20
  export type FloatingWindowFactory = Factory<{
17
21
  props: FloatingWindowProps;
18
22
  ref: HTMLDivElement;
19
23
  stylesNames: FloatingWindowStylesNames;
24
+ staticComponents: {
25
+ ResizeHandle: typeof FloatingWindowResizeHandle;
26
+ };
20
27
  }>;
21
28
  export declare const FloatingWindow: import("../..").MantineComponent<{
22
29
  props: FloatingWindowProps;
23
30
  ref: HTMLDivElement;
24
31
  stylesNames: FloatingWindowStylesNames;
32
+ staticComponents: {
33
+ ResizeHandle: typeof FloatingWindowResizeHandle;
34
+ };
25
35
  }>;
26
- export declare namespace FloatingWindow {
27
- type Props = FloatingWindowProps;
28
- type StylesNames = FloatingWindowStylesNames;
29
- type Factory = FloatingWindowFactory;
30
- }
@@ -0,0 +1,11 @@
1
+ import { BoxProps, ElementProps, Factory } from '../../core';
2
+ export interface FloatingWindowResizeHandleProps extends BoxProps, ElementProps<'div', 'role'> {
3
+ }
4
+ export type FloatingWindowResizeHandleFactory = Factory<{
5
+ props: FloatingWindowResizeHandleProps;
6
+ ref: HTMLDivElement;
7
+ }>;
8
+ export declare const FloatingWindowResizeHandle: import("../..").MantineComponent<{
9
+ props: FloatingWindowResizeHandleProps;
10
+ ref: HTMLDivElement;
11
+ }>;
@@ -1,3 +1,5 @@
1
1
  import type { FloatingWindowFactory, FloatingWindowProps, FloatingWindowStylesNames } from './FloatingWindow';
2
2
  export { FloatingWindow } from './FloatingWindow';
3
3
  export type { FloatingWindowProps, FloatingWindowStylesNames, FloatingWindowFactory };
4
+ export type { FloatingWindowDimensions } from './FloatingWindow.context';
5
+ export type { FloatingWindowResizeHandleProps, FloatingWindowResizeHandleFactory, } from './FloatingWindowResizeHandle';
@@ -62,6 +62,11 @@ export interface ScrollAreaProps extends BoxProps, StylesApiProps<ScrollAreaFact
62
62
  x?: number;
63
63
  y?: number;
64
64
  };
65
+ /**
66
+ * Pins the vertical scrollbar to a physical side (`left` or `right`) regardless of direction.
67
+ * By default, the scrollbar follows the inline-end edge (right in LTR, left in RTL).
68
+ */
69
+ verticalScrollbarPosition?: 'left' | 'right';
65
70
  }
66
71
  export interface ScrollAreaAutosizeProps extends ScrollAreaProps {
67
72
  /** Called when content overflows due to max-height, making the container scrollable */
@@ -1,5 +1,5 @@
1
1
  import { BoxProps, CompoundStylesApiProps, ElementProps, Factory, MantineColor, MantineRadius } from '../../../core';
2
- export type TimelineItemStylesNames = 'itemBody' | 'itemContent' | 'itemBullet' | 'item' | 'itemTitle';
2
+ export type TimelineItemStylesNames = 'itemBody' | 'itemContent' | 'itemBullet' | 'item' | 'itemTitle' | 'itemOpposite';
3
3
  export interface TimelineItemProps extends BoxProps, CompoundStylesApiProps<TimelineItemFactory>, ElementProps<'div', 'title'> {
4
4
  __active?: boolean;
5
5
  __lineActive?: boolean;
@@ -10,6 +10,10 @@ export interface TimelineItemProps extends BoxProps, CompoundStylesApiProps<Time
10
10
  children?: React.ReactNode;
11
11
  /** React node that should be rendered inside the bullet – icon, image, avatar, etc. By default, large white dot is displayed. */
12
12
  bullet?: React.ReactNode;
13
+ /** Content displayed on the opposite side of the timeline item */
14
+ opposite?: React.ReactNode;
15
+ /** If set, switches the position of content and opposite @default false */
16
+ alternate?: boolean;
13
17
  /** Key of `theme.radius` or any valid CSS value to set `border-radius`, numbers are converted to rem @default 'xl' */
14
18
  radius?: MantineRadius;
15
19
  /** Key of `theme.colors` or any valid CSS color to control active item colors @default theme.primaryColor */
@@ -31,6 +31,7 @@ export * from './Breadcrumbs';
31
31
  export * from './Burger';
32
32
  export * from './Button';
33
33
  export * from './Card';
34
+ export * from './Cascader';
34
35
  export * from './Center';
35
36
  export * from './Checkbox';
36
37
  export * from './Chip';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/core",
3
- "version": "9.4.2",
3
+ "version": "9.5.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.4.2",
46
+ "@mantine/hooks": "9.5.0",
47
47
  "react": "^19.2.0",
48
48
  "react-dom": "^19.2.0"
49
49
  },
@@ -52,7 +52,7 @@
52
52
  "clsx": "^2.1.1",
53
53
  "react-number-format": "^5.4.5",
54
54
  "react-remove-scroll": "^2.7.2",
55
- "type-fest": "^5.7.0"
55
+ "type-fest": "^5.8.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@mantine-tests/core": "workspace:*",
@@ -0,0 +1,215 @@
1
+ .m_9a782f2c {
2
+ --cascader-column-width: 200px;
3
+
4
+ display: flex;
5
+ flex-direction: row;
6
+ align-items: stretch;
7
+ }
8
+
9
+ .m_4c5a03a5 {
10
+ display: flex;
11
+ flex-direction: column;
12
+ width: var(--cascader-column-width);
13
+ min-width: var(--cascader-column-width);
14
+ border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid var(--popover-border-color, var(--mantine-color-default-border));
15
+ }
16
+
17
+ /* Keep the border width reserved so revealing the next column does not shift the layout */
18
+
19
+ .m_4c5a03a5:where([data-last]) {
20
+ border-inline-end-color: transparent;
21
+ }
22
+
23
+ .m_7f3ac6d2 {
24
+ flex: 1;
25
+ padding: var(--combobox-padding);
26
+ }
27
+
28
+ .m_6b93b90 {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ align-self: stretch;
33
+ padding-inline: calc(var(--combobox-padding) / 2);
34
+ color: var(--mantine-color-dimmed);
35
+ cursor: pointer;
36
+ border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid var(--popover-border-color, var(--mantine-color-default-border));
37
+ }
38
+
39
+ @media (hover: hover) {
40
+ :where([data-mantine-color-scheme='light']) .m_6b93b90:hover {
41
+ background-color: var(--mantine-color-gray-0);
42
+ }
43
+
44
+ :where([data-mantine-color-scheme='dark']) .m_6b93b90:hover {
45
+ background-color: var(--mantine-color-dark-7);
46
+ }
47
+ }
48
+
49
+ @media (hover: none) {
50
+ :where([data-mantine-color-scheme='light']) .m_6b93b90:active {
51
+ background-color: var(--mantine-color-gray-0);
52
+ }
53
+
54
+ :where([data-mantine-color-scheme='dark']) .m_6b93b90:active {
55
+ background-color: var(--mantine-color-dark-7);
56
+ }
57
+ }
58
+
59
+ .m_6b93b90 > svg {
60
+ width: 0.9em;
61
+ height: 0.9em;
62
+ transform: rotate(90deg);
63
+ }
64
+
65
+ /* Round the corners that sit against the rounded dropdown edge so the hover background
66
+ does not overflow the dropdown corners */
67
+
68
+ .m_6b93b90:where([data-position='start']) {
69
+ border-start-start-radius: var(--popover-radius, var(--mantine-radius-default));
70
+ border-end-start-radius: var(--popover-radius, var(--mantine-radius-default));
71
+ }
72
+
73
+ /* The divider on the left is provided by the previous column, so this control has none */
74
+
75
+ .m_6b93b90:where([data-position='end']) {
76
+ border-inline-end-color: transparent;
77
+ border-start-end-radius: var(--popover-radius, var(--mantine-radius-default));
78
+ border-end-end-radius: var(--popover-radius, var(--mantine-radius-default));
79
+ }
80
+
81
+ .m_6b93b90:where([data-position='end']) > svg {
82
+ transform: rotate(-90deg);
83
+ }
84
+
85
+ :where([dir="rtl"]) .m_6b93b90 > svg {
86
+ transform: rotate(-90deg);
87
+ }
88
+
89
+ :where([dir="rtl"]) .m_6b93b90:where([data-position='end']) > svg {
90
+ transform: rotate(90deg);
91
+ }
92
+
93
+ .m_791f687a {
94
+ display: flex;
95
+ align-items: center;
96
+ gap: var(--mantine-spacing-xs);
97
+ width: 100%;
98
+ padding: var(--combobox-option-padding);
99
+ font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));
100
+ border-radius: var(--combobox-option-radius, var(--mantine-radius-default));
101
+ color: var(--mantine-color-text);
102
+ cursor: pointer;
103
+ }
104
+
105
+ @media (hover: hover) {
106
+ :where([data-mantine-color-scheme='light']) .m_791f687a:hover:where(:not([data-disabled], [data-active])) {
107
+ background-color: var(--mantine-color-gray-0);
108
+ }
109
+
110
+ :where([data-mantine-color-scheme='dark']) .m_791f687a:hover:where(:not([data-disabled], [data-active])) {
111
+ background-color: var(--mantine-color-dark-7);
112
+ }
113
+ }
114
+
115
+ @media (hover: none) {
116
+ :where([data-mantine-color-scheme='light']) .m_791f687a:active:where(:not([data-disabled], [data-active])) {
117
+ background-color: var(--mantine-color-gray-0);
118
+ }
119
+
120
+ :where([data-mantine-color-scheme='dark']) .m_791f687a:active:where(:not([data-disabled], [data-active])) {
121
+ background-color: var(--mantine-color-dark-7);
122
+ }
123
+ }
124
+
125
+ /* Selected options in the ancestor columns (the navigation trail) */
126
+
127
+ :where([data-mantine-color-scheme='light']) .m_791f687a:where([data-in-path]) {
128
+ background-color: var(--mantine-color-gray-1);
129
+ }
130
+
131
+ :where([data-mantine-color-scheme='dark']) .m_791f687a:where([data-in-path]) {
132
+ background-color: var(--mantine-color-dark-6);
133
+ }
134
+
135
+ /* Option in the column that is currently being navigated */
136
+
137
+ .m_791f687a:where([data-active]) {
138
+ background-color: var(--mantine-primary-color-filled);
139
+ color: var(--mantine-color-white);
140
+ }
141
+
142
+ @media (hover: hover) {
143
+
144
+ .m_791f687a:where([data-active]):hover {
145
+ background-color: var(--mantine-primary-color-filled-hover);
146
+ }
147
+ }
148
+
149
+ @media (hover: none) {
150
+
151
+ .m_791f687a:where([data-active]):active {
152
+ background-color: var(--mantine-primary-color-filled-hover);
153
+ }
154
+ }
155
+
156
+ .m_791f687a:where([data-disabled]) {
157
+ color: var(--mantine-color-dimmed);
158
+ cursor: not-allowed;
159
+ opacity: 0.5;
160
+ }
161
+
162
+ .m_452a61d {
163
+ display: flex;
164
+ align-items: center;
165
+ gap: var(--mantine-spacing-xs);
166
+ width: 100%;
167
+ }
168
+
169
+ .m_aecd629a {
170
+ flex: 1;
171
+ overflow: hidden;
172
+ text-overflow: ellipsis;
173
+ white-space: nowrap;
174
+ }
175
+
176
+ .m_92054c13 {
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: center;
180
+ width: 0.9em;
181
+ min-width: 0.9em;
182
+ height: 0.9em;
183
+ color: var(--mantine-color-dimmed);
184
+ transform: rotate(-90deg);
185
+ }
186
+
187
+ :where([data-active]) .m_92054c13 {
188
+ color: inherit;
189
+ }
190
+
191
+ :where([dir="rtl"]) .m_92054c13 {
192
+ transform: rotate(90deg);
193
+ }
194
+
195
+ .m_ae51c8ae {
196
+ width: 0.8em;
197
+ min-width: 0.8em;
198
+ height: 0.8em;
199
+ opacity: 0.4;
200
+ }
201
+
202
+ :where([data-active]) .m_ae51c8ae,
203
+ :where([data-combobox-selected]) .m_ae51c8ae {
204
+ opacity: 1;
205
+ }
206
+
207
+ .m_97ff10a8 {
208
+ display: flex;
209
+ align-items: center;
210
+ justify-content: center;
211
+ padding: var(--combobox-option-padding);
212
+ color: var(--mantine-color-dimmed);
213
+ font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));
214
+ white-space: nowrap;
215
+ }
@@ -0,0 +1,216 @@
1
+ @layer mantine {.m_9a782f2c {
2
+ --cascader-column-width: 200px;
3
+
4
+ display: flex;
5
+ flex-direction: row;
6
+ align-items: stretch;
7
+ }
8
+
9
+ .m_4c5a03a5 {
10
+ display: flex;
11
+ flex-direction: column;
12
+ width: var(--cascader-column-width);
13
+ min-width: var(--cascader-column-width);
14
+ border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid var(--popover-border-color, var(--mantine-color-default-border));
15
+ }
16
+
17
+ /* Keep the border width reserved so revealing the next column does not shift the layout */
18
+
19
+ .m_4c5a03a5:where([data-last]) {
20
+ border-inline-end-color: transparent;
21
+ }
22
+
23
+ .m_7f3ac6d2 {
24
+ flex: 1;
25
+ padding: var(--combobox-padding);
26
+ }
27
+
28
+ .m_6b93b90 {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ align-self: stretch;
33
+ padding-inline: calc(var(--combobox-padding) / 2);
34
+ color: var(--mantine-color-dimmed);
35
+ cursor: pointer;
36
+ border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid var(--popover-border-color, var(--mantine-color-default-border));
37
+ }
38
+
39
+ @media (hover: hover) {
40
+ :where([data-mantine-color-scheme='light']) .m_6b93b90:hover {
41
+ background-color: var(--mantine-color-gray-0);
42
+ }
43
+
44
+ :where([data-mantine-color-scheme='dark']) .m_6b93b90:hover {
45
+ background-color: var(--mantine-color-dark-7);
46
+ }
47
+ }
48
+
49
+ @media (hover: none) {
50
+ :where([data-mantine-color-scheme='light']) .m_6b93b90:active {
51
+ background-color: var(--mantine-color-gray-0);
52
+ }
53
+
54
+ :where([data-mantine-color-scheme='dark']) .m_6b93b90:active {
55
+ background-color: var(--mantine-color-dark-7);
56
+ }
57
+ }
58
+
59
+ .m_6b93b90 > svg {
60
+ width: 0.9em;
61
+ height: 0.9em;
62
+ transform: rotate(90deg);
63
+ }
64
+
65
+ /* Round the corners that sit against the rounded dropdown edge so the hover background
66
+ does not overflow the dropdown corners */
67
+
68
+ .m_6b93b90:where([data-position='start']) {
69
+ border-start-start-radius: var(--popover-radius, var(--mantine-radius-default));
70
+ border-end-start-radius: var(--popover-radius, var(--mantine-radius-default));
71
+ }
72
+
73
+ /* The divider on the left is provided by the previous column, so this control has none */
74
+
75
+ .m_6b93b90:where([data-position='end']) {
76
+ border-inline-end-color: transparent;
77
+ border-start-end-radius: var(--popover-radius, var(--mantine-radius-default));
78
+ border-end-end-radius: var(--popover-radius, var(--mantine-radius-default));
79
+ }
80
+
81
+ .m_6b93b90:where([data-position='end']) > svg {
82
+ transform: rotate(-90deg);
83
+ }
84
+
85
+ :where([dir="rtl"]) .m_6b93b90 > svg {
86
+ transform: rotate(-90deg);
87
+ }
88
+
89
+ :where([dir="rtl"]) .m_6b93b90:where([data-position='end']) > svg {
90
+ transform: rotate(90deg);
91
+ }
92
+
93
+ .m_791f687a {
94
+ display: flex;
95
+ align-items: center;
96
+ gap: var(--mantine-spacing-xs);
97
+ width: 100%;
98
+ padding: var(--combobox-option-padding);
99
+ font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));
100
+ border-radius: var(--combobox-option-radius, var(--mantine-radius-default));
101
+ color: var(--mantine-color-text);
102
+ cursor: pointer;
103
+ }
104
+
105
+ @media (hover: hover) {
106
+ :where([data-mantine-color-scheme='light']) .m_791f687a:hover:where(:not([data-disabled], [data-active])) {
107
+ background-color: var(--mantine-color-gray-0);
108
+ }
109
+
110
+ :where([data-mantine-color-scheme='dark']) .m_791f687a:hover:where(:not([data-disabled], [data-active])) {
111
+ background-color: var(--mantine-color-dark-7);
112
+ }
113
+ }
114
+
115
+ @media (hover: none) {
116
+ :where([data-mantine-color-scheme='light']) .m_791f687a:active:where(:not([data-disabled], [data-active])) {
117
+ background-color: var(--mantine-color-gray-0);
118
+ }
119
+
120
+ :where([data-mantine-color-scheme='dark']) .m_791f687a:active:where(:not([data-disabled], [data-active])) {
121
+ background-color: var(--mantine-color-dark-7);
122
+ }
123
+ }
124
+
125
+ /* Selected options in the ancestor columns (the navigation trail) */
126
+
127
+ :where([data-mantine-color-scheme='light']) .m_791f687a:where([data-in-path]) {
128
+ background-color: var(--mantine-color-gray-1);
129
+ }
130
+
131
+ :where([data-mantine-color-scheme='dark']) .m_791f687a:where([data-in-path]) {
132
+ background-color: var(--mantine-color-dark-6);
133
+ }
134
+
135
+ /* Option in the column that is currently being navigated */
136
+
137
+ .m_791f687a:where([data-active]) {
138
+ background-color: var(--mantine-primary-color-filled);
139
+ color: var(--mantine-color-white);
140
+ }
141
+
142
+ @media (hover: hover) {
143
+
144
+ .m_791f687a:where([data-active]):hover {
145
+ background-color: var(--mantine-primary-color-filled-hover);
146
+ }
147
+ }
148
+
149
+ @media (hover: none) {
150
+
151
+ .m_791f687a:where([data-active]):active {
152
+ background-color: var(--mantine-primary-color-filled-hover);
153
+ }
154
+ }
155
+
156
+ .m_791f687a:where([data-disabled]) {
157
+ color: var(--mantine-color-dimmed);
158
+ cursor: not-allowed;
159
+ opacity: 0.5;
160
+ }
161
+
162
+ .m_452a61d {
163
+ display: flex;
164
+ align-items: center;
165
+ gap: var(--mantine-spacing-xs);
166
+ width: 100%;
167
+ }
168
+
169
+ .m_aecd629a {
170
+ flex: 1;
171
+ overflow: hidden;
172
+ text-overflow: ellipsis;
173
+ white-space: nowrap;
174
+ }
175
+
176
+ .m_92054c13 {
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: center;
180
+ width: 0.9em;
181
+ min-width: 0.9em;
182
+ height: 0.9em;
183
+ color: var(--mantine-color-dimmed);
184
+ transform: rotate(-90deg);
185
+ }
186
+
187
+ :where([data-active]) .m_92054c13 {
188
+ color: inherit;
189
+ }
190
+
191
+ :where([dir="rtl"]) .m_92054c13 {
192
+ transform: rotate(90deg);
193
+ }
194
+
195
+ .m_ae51c8ae {
196
+ width: 0.8em;
197
+ min-width: 0.8em;
198
+ height: 0.8em;
199
+ opacity: 0.4;
200
+ }
201
+
202
+ :where([data-active]) .m_ae51c8ae,
203
+ :where([data-combobox-selected]) .m_ae51c8ae {
204
+ opacity: 1;
205
+ }
206
+
207
+ .m_97ff10a8 {
208
+ display: flex;
209
+ align-items: center;
210
+ justify-content: center;
211
+ padding: var(--combobox-option-padding);
212
+ color: var(--mantine-color-dimmed);
213
+ font-size: var(--combobox-option-fz, var(--mantine-font-size-sm));
214
+ white-space: nowrap;
215
+ }
216
+ }
@@ -1,4 +1,6 @@
1
1
  .m_df020499 {
2
2
  position: fixed;
3
3
  z-index: var(--floating-window-z-index);
4
+ width: var(--floating-window-width, auto);
5
+ height: var(--floating-window-height, auto);
4
6
  }
@@ -1,5 +1,7 @@
1
1
  @layer mantine {.m_df020499 {
2
2
  position: fixed;
3
3
  z-index: var(--floating-window-z-index);
4
+ width: var(--floating-window-width, auto);
5
+ height: var(--floating-window-height, auto);
4
6
  }
5
7
  }
@@ -40,6 +40,26 @@
40
40
  padding-inline-start: unset;
41
41
  }
42
42
 
43
+ .m_c0783ff9:where([data-scrollbars='xy'], [data-scrollbars='y']):where(
44
+ [data-offset-scrollbars='xy'],
45
+ [data-offset-scrollbars='y'],
46
+ [data-offset-scrollbars='present']
47
+ ):not([data-vertical-hidden]):where([data-vertical-scrollbar-position='left']) {
48
+ padding-inline-end: unset;
49
+ padding-left: var(--scrollarea-scrollbar-size);
50
+ padding-right: unset;
51
+ }
52
+
53
+ .m_c0783ff9:where([data-scrollbars='xy'], [data-scrollbars='y']):where(
54
+ [data-offset-scrollbars='xy'],
55
+ [data-offset-scrollbars='y'],
56
+ [data-offset-scrollbars='present']
57
+ ):not([data-vertical-hidden]):where([data-vertical-scrollbar-position='right']) {
58
+ padding-inline-end: unset;
59
+ padding-left: unset;
60
+ padding-right: var(--scrollarea-scrollbar-size);
61
+ }
62
+
43
63
  .m_c0783ff9:where([data-scrollbars='xy'], [data-scrollbars='x']):where(
44
64
  [data-offset-scrollbars='xy'],
45
65
  [data-offset-scrollbars='x'],
@@ -122,6 +142,18 @@
122
142
  inset-inline-end: 0;
123
143
  }
124
144
 
145
+ .m_c44ba933:where([data-orientation='vertical']):where([data-vertical-scrollbar-position='left']) {
146
+ inset-inline-end: auto;
147
+ left: 0;
148
+ right: auto;
149
+ }
150
+
151
+ .m_c44ba933:where([data-orientation='vertical']):where([data-vertical-scrollbar-position='right']) {
152
+ inset-inline-end: auto;
153
+ left: auto;
154
+ right: 0;
155
+ }
156
+
125
157
  .m_c44ba933:where([data-orientation='horizontal']) {
126
158
  height: var(--scrollarea-scrollbar-size);
127
159
  flex-direction: column;
@@ -130,6 +162,20 @@
130
162
  inset-inline-end: var(--sa-corner-width);
131
163
  }
132
164
 
165
+ .m_c44ba933:where([data-orientation='horizontal']):where([data-vertical-scrollbar-position='left']) {
166
+ inset-inline-start: auto;
167
+ inset-inline-end: auto;
168
+ left: var(--sa-corner-width);
169
+ right: 0;
170
+ }
171
+
172
+ .m_c44ba933:where([data-orientation='horizontal']):where([data-vertical-scrollbar-position='right']) {
173
+ inset-inline-start: auto;
174
+ inset-inline-end: auto;
175
+ left: 0;
176
+ right: var(--sa-corner-width);
177
+ }
178
+
133
179
  .m_d8b5e363 {
134
180
  flex: 1;
135
181
  border-radius: var(--scrollarea-scrollbar-size);
@@ -168,6 +214,18 @@
168
214
  bottom: 0;
169
215
  }
170
216
 
217
+ .m_21657268:where([data-vertical-scrollbar-position='left']) {
218
+ inset-inline-end: auto;
219
+ left: 0;
220
+ right: auto;
221
+ }
222
+
223
+ .m_21657268:where([data-vertical-scrollbar-position='right']) {
224
+ inset-inline-end: auto;
225
+ left: auto;
226
+ right: 0;
227
+ }
228
+
171
229
  :where([data-mantine-color-scheme='light']) .m_21657268 {
172
230
  background-color: var(--mantine-color-gray-0);
173
231
  }