@mantine/core 7.0.0-alpha.19 → 7.0.0-alpha.20

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 (252) hide show
  1. package/cjs/components/AppShell/AppShellMediaStyles/get-variables/get-variables.js.map +1 -1
  2. package/cjs/components/Blockquote/Blockquote.js +1 -1
  3. package/cjs/components/Button/Button.js.map +1 -1
  4. package/cjs/components/Card/Card.context.js +13 -0
  5. package/cjs/components/Card/Card.context.js.map +1 -0
  6. package/cjs/components/Card/Card.js +88 -0
  7. package/cjs/components/Card/Card.js.map +1 -0
  8. package/cjs/components/Card/Card.module.css.js +8 -0
  9. package/cjs/components/Card/Card.module.css.js.map +1 -0
  10. package/cjs/components/Card/CardSection/CardSection.js +79 -0
  11. package/cjs/components/Card/CardSection/CardSection.js.map +1 -0
  12. package/cjs/components/Collapse/Collapse.js +1 -1
  13. package/cjs/components/FileInput/FileInput.js +156 -0
  14. package/cjs/components/FileInput/FileInput.js.map +1 -0
  15. package/cjs/components/Grid/GridVariables.js.map +1 -1
  16. package/cjs/components/Group/Group.js +15 -4
  17. package/cjs/components/Group/Group.js.map +1 -1
  18. package/cjs/components/Image/Image.js +129 -0
  19. package/cjs/components/Image/Image.js.map +1 -0
  20. package/cjs/components/Image/Image.module.css.js +8 -0
  21. package/cjs/components/Image/Image.module.css.js.map +1 -0
  22. package/cjs/components/Indicator/Indicator.js +134 -0
  23. package/cjs/components/Indicator/Indicator.js.map +1 -0
  24. package/cjs/components/Indicator/Indicator.module.css.js +8 -0
  25. package/cjs/components/Indicator/Indicator.module.css.js.map +1 -0
  26. package/cjs/components/Indicator/get-position-variables/get-position-variables.js +46 -0
  27. package/cjs/components/Indicator/get-position-variables/get-position-variables.js.map +1 -0
  28. package/cjs/components/Input/InputLabel/InputLabel.js +1 -1
  29. package/cjs/components/JsonInput/JsonInput.js +117 -0
  30. package/cjs/components/JsonInput/JsonInput.js.map +1 -0
  31. package/cjs/components/JsonInput/validate-json/validate-json.js +18 -0
  32. package/cjs/components/JsonInput/validate-json/validate-json.js.map +1 -0
  33. package/cjs/components/Modal/Modal.js +5 -3
  34. package/cjs/components/Modal/Modal.js.map +1 -1
  35. package/cjs/components/Modal/ModalRoot.js +1 -1
  36. package/cjs/components/Modal/ModalRoot.js.map +1 -1
  37. package/cjs/components/ModalBase/ModalBaseContent.js.map +1 -1
  38. package/cjs/components/Overlay/Overlay.js +1 -1
  39. package/cjs/components/Paper/Paper.js +1 -1
  40. package/cjs/components/PasswordInput/PasswordInput.js +253 -0
  41. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -0
  42. package/cjs/components/PasswordInput/PasswordInput.module.css.js +8 -0
  43. package/cjs/components/PasswordInput/PasswordInput.module.css.js.map +1 -0
  44. package/cjs/components/PasswordInput/PasswordToggleIcon.js +33 -0
  45. package/cjs/components/PasswordInput/PasswordToggleIcon.js.map +1 -0
  46. package/cjs/components/PinInput/PinInput.js +292 -0
  47. package/cjs/components/PinInput/PinInput.js.map +1 -0
  48. package/cjs/components/PinInput/PinInput.module.css.js +8 -0
  49. package/cjs/components/PinInput/PinInput.module.css.js.map +1 -0
  50. package/cjs/components/PinInput/create-pin-array/create-pin-array.js +20 -0
  51. package/cjs/components/PinInput/create-pin-array/create-pin-array.js.map +1 -0
  52. package/cjs/components/Popover/Popover.js +6 -6
  53. package/cjs/components/Popover/Popover.js.map +1 -1
  54. package/cjs/components/Popover/PopoverTarget/PopoverTarget.js +1 -1
  55. package/cjs/components/ScrollArea/ScrollArea.js +2 -2
  56. package/cjs/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.js +1 -1
  57. package/cjs/components/Textarea/Textarea.js +73 -0
  58. package/cjs/components/Textarea/Textarea.js.map +1 -0
  59. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.js +5 -5
  60. package/cjs/components/Tooltip/TooltipFloating/use-floating-tooltip.js.map +1 -1
  61. package/cjs/components/Tooltip/use-tooltip.js +2 -4
  62. package/cjs/components/Tooltip/use-tooltip.js.map +1 -1
  63. package/cjs/core/Box/Box.js.map +1 -1
  64. package/cjs/core/factory/create-polymorphic-component.js.map +1 -1
  65. package/cjs/core/factory/factory.js.map +1 -1
  66. package/cjs/core/styles-api/use-styles/use-styles.js.map +1 -1
  67. package/cjs/core/utils/get-size/get-size.js +3 -0
  68. package/cjs/core/utils/get-size/get-size.js.map +1 -1
  69. package/cjs/index.css +1281 -1067
  70. package/cjs/index.js +74 -56
  71. package/cjs/index.js.map +1 -1
  72. package/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.js.map +1 -1
  73. package/esm/components/Blockquote/Blockquote.js +1 -1
  74. package/esm/components/Button/Button.js.map +1 -1
  75. package/esm/components/Card/Card.context.js +8 -0
  76. package/esm/components/Card/Card.context.js.map +1 -0
  77. package/esm/components/Card/Card.js +80 -0
  78. package/esm/components/Card/Card.js.map +1 -0
  79. package/esm/components/Card/Card.module.css.js +4 -0
  80. package/esm/components/Card/Card.module.css.js.map +1 -0
  81. package/esm/components/Card/CardSection/CardSection.js +71 -0
  82. package/esm/components/Card/CardSection/CardSection.js.map +1 -0
  83. package/esm/components/Collapse/Collapse.js +1 -1
  84. package/esm/components/FileInput/FileInput.js +148 -0
  85. package/esm/components/FileInput/FileInput.js.map +1 -0
  86. package/esm/components/Grid/GridVariables.js.map +1 -1
  87. package/esm/components/Group/Group.js +15 -4
  88. package/esm/components/Group/Group.js.map +1 -1
  89. package/esm/components/Image/Image.js +121 -0
  90. package/esm/components/Image/Image.js.map +1 -0
  91. package/esm/components/Image/Image.module.css.js +4 -0
  92. package/esm/components/Image/Image.module.css.js.map +1 -0
  93. package/esm/components/Indicator/Indicator.js +126 -0
  94. package/esm/components/Indicator/Indicator.js.map +1 -0
  95. package/esm/components/Indicator/Indicator.module.css.js +4 -0
  96. package/esm/components/Indicator/Indicator.module.css.js.map +1 -0
  97. package/esm/components/Indicator/get-position-variables/get-position-variables.js +42 -0
  98. package/esm/components/Indicator/get-position-variables/get-position-variables.js.map +1 -0
  99. package/esm/components/Input/InputLabel/InputLabel.js +1 -1
  100. package/esm/components/JsonInput/JsonInput.js +109 -0
  101. package/esm/components/JsonInput/JsonInput.js.map +1 -0
  102. package/esm/components/JsonInput/validate-json/validate-json.js +14 -0
  103. package/esm/components/JsonInput/validate-json/validate-json.js.map +1 -0
  104. package/esm/components/Modal/Modal.js +5 -3
  105. package/esm/components/Modal/Modal.js.map +1 -1
  106. package/esm/components/Modal/ModalRoot.js +1 -1
  107. package/esm/components/Modal/ModalRoot.js.map +1 -1
  108. package/esm/components/ModalBase/ModalBaseContent.js.map +1 -1
  109. package/esm/components/Overlay/Overlay.js +1 -1
  110. package/esm/components/Paper/Paper.js +1 -1
  111. package/esm/components/PasswordInput/PasswordInput.js +244 -0
  112. package/esm/components/PasswordInput/PasswordInput.js.map +1 -0
  113. package/esm/components/PasswordInput/PasswordInput.module.css.js +4 -0
  114. package/esm/components/PasswordInput/PasswordInput.module.css.js.map +1 -0
  115. package/esm/components/PasswordInput/PasswordToggleIcon.js +25 -0
  116. package/esm/components/PasswordInput/PasswordToggleIcon.js.map +1 -0
  117. package/esm/components/PinInput/PinInput.js +284 -0
  118. package/esm/components/PinInput/PinInput.js.map +1 -0
  119. package/esm/components/PinInput/PinInput.module.css.js +4 -0
  120. package/esm/components/PinInput/PinInput.module.css.js.map +1 -0
  121. package/esm/components/PinInput/create-pin-array/create-pin-array.js +16 -0
  122. package/esm/components/PinInput/create-pin-array/create-pin-array.js.map +1 -0
  123. package/esm/components/Popover/Popover.js +6 -6
  124. package/esm/components/Popover/Popover.js.map +1 -1
  125. package/esm/components/Popover/PopoverTarget/PopoverTarget.js +1 -1
  126. package/esm/components/ScrollArea/ScrollArea.js +2 -2
  127. package/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.js +1 -1
  128. package/esm/components/Textarea/Textarea.js +64 -0
  129. package/esm/components/Textarea/Textarea.js.map +1 -0
  130. package/esm/components/Tooltip/TooltipFloating/use-floating-tooltip.js +5 -5
  131. package/esm/components/Tooltip/TooltipFloating/use-floating-tooltip.js.map +1 -1
  132. package/esm/components/Tooltip/use-tooltip.js +2 -4
  133. package/esm/components/Tooltip/use-tooltip.js.map +1 -1
  134. package/esm/core/Box/Box.js.map +1 -1
  135. package/esm/core/factory/create-polymorphic-component.js.map +1 -1
  136. package/esm/core/factory/factory.js.map +1 -1
  137. package/esm/core/styles-api/use-styles/use-styles.js.map +1 -1
  138. package/esm/core/utils/get-size/get-size.js +3 -0
  139. package/esm/core/utils/get-size/get-size.js.map +1 -1
  140. package/esm/index.css +1281 -1067
  141. package/esm/index.js +36 -27
  142. package/esm/index.js.map +1 -1
  143. package/esm/styles/Card.css +1 -0
  144. package/esm/styles/Image.css +1 -0
  145. package/esm/styles/Indicator.css +1 -0
  146. package/esm/styles/Input.css +1 -1
  147. package/esm/styles/Modal.css +1 -1
  148. package/esm/styles/PasswordInput.css +1 -0
  149. package/esm/styles/PinInput.css +1 -0
  150. package/lib/components/Accordion/Accordion.context.d.ts +1 -1
  151. package/lib/components/Accordion/Accordion.d.ts +1 -1
  152. package/lib/components/Accordion/AccordionChevron.d.ts +1 -1
  153. package/lib/components/Accordion/AccordionItem.context.d.ts +1 -1
  154. package/lib/components/AppShell/AppShell.context.d.ts +1 -1
  155. package/lib/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.d.ts +1 -2
  156. package/lib/components/AppShell/AppShellMediaStyles/get-padding-value/get-padding-value.d.ts +1 -1
  157. package/lib/components/AppShell/AppShellMediaStyles/get-variables/get-variables.d.ts +3 -3
  158. package/lib/components/Avatar/AvatarPlaceholderIcon.d.ts +1 -1
  159. package/lib/components/Button/Button.d.ts +3 -0
  160. package/lib/components/Card/Card.context.d.ts +11 -0
  161. package/lib/components/Card/Card.d.ts +56 -0
  162. package/lib/components/Card/CardSection/CardSection.d.ts +35 -0
  163. package/lib/components/Card/index.d.ts +4 -0
  164. package/lib/components/Checkbox/CheckIcon.d.ts +2 -2
  165. package/lib/components/Chip/ChipGroup/ChipGroup.d.ts +1 -1
  166. package/lib/components/Chip/ChipGroup.context.d.ts +1 -1
  167. package/lib/components/ColorPicker/ColorPicker.context.d.ts +1 -1
  168. package/lib/components/ColorPicker/Saturation/Saturation.d.ts +1 -2
  169. package/lib/components/Combobox/Combobox.context.d.ts +1 -1
  170. package/lib/components/Combobox/Combobox.d.ts +1 -1
  171. package/lib/components/Combobox/OptionsDropdown/OptionsDropdown.d.ts +1 -1
  172. package/lib/components/CopyButton/CopyButton.d.ts +1 -1
  173. package/lib/components/Drawer/Drawer.context.d.ts +1 -1
  174. package/lib/components/FileInput/FileInput.d.ts +45 -0
  175. package/lib/components/FileInput/index.d.ts +2 -0
  176. package/lib/components/Grid/Grid.context.d.ts +1 -1
  177. package/lib/components/Grid/GridCol/GridColVariables.d.ts +1 -2
  178. package/lib/components/Grid/GridVariables.d.ts +1 -2
  179. package/lib/components/Group/Group.d.ts +1 -0
  180. package/lib/components/HoverCard/HoverCard.context.d.ts +1 -1
  181. package/lib/components/HoverCard/HoverCard.d.ts +1 -1
  182. package/lib/components/HoverCard/HoverCardDropdown/HoverCardDropdown.d.ts +1 -1
  183. package/lib/components/Image/Image.d.ts +44 -0
  184. package/lib/components/Image/index.d.ts +2 -0
  185. package/lib/components/Indicator/Indicator.d.ts +44 -0
  186. package/lib/components/Indicator/Indicator.types.d.ts +4 -0
  187. package/lib/components/Indicator/get-position-variables/get-position-variables.d.ts +3 -0
  188. package/lib/components/Indicator/index.d.ts +2 -0
  189. package/lib/components/Input/InputWrapper.context.d.ts +1 -1
  190. package/lib/components/Input/use-input-props.d.ts +50 -40
  191. package/lib/components/JsonInput/JsonInput.d.ts +30 -0
  192. package/lib/components/JsonInput/index.d.ts +2 -0
  193. package/lib/components/JsonInput/validate-json/validate-json.d.ts +1 -0
  194. package/lib/components/Menu/Menu.context.d.ts +1 -1
  195. package/lib/components/Menu/Menu.d.ts +2 -2
  196. package/lib/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  197. package/lib/components/Modal/Modal.context.d.ts +1 -1
  198. package/lib/components/Modal/ModalRoot.d.ts +1 -1
  199. package/lib/components/ModalBase/ModalBase.context.d.ts +1 -1
  200. package/lib/components/ModalBase/ModalBaseContent.d.ts +5 -1
  201. package/lib/components/ModalBase/NativeScrollArea.d.ts +1 -1
  202. package/lib/components/NativeSelect/NativeSelectOption.d.ts +1 -2
  203. package/lib/components/Pagination/Pagination.context.d.ts +1 -1
  204. package/lib/components/Pagination/Pagination.icons.d.ts +5 -5
  205. package/lib/components/Pagination/PaginationItems/PaginationItems.d.ts +1 -2
  206. package/lib/components/PasswordInput/PasswordInput.d.ts +36 -0
  207. package/lib/components/PasswordInput/PasswordToggleIcon.d.ts +6 -0
  208. package/lib/components/PasswordInput/index.d.ts +2 -0
  209. package/lib/components/Pill/PillGroup.context.d.ts +1 -1
  210. package/lib/components/PillsInput/PillsInput.context.d.ts +1 -1
  211. package/lib/components/PinInput/PinInput.d.ts +66 -0
  212. package/lib/components/PinInput/create-pin-array/create-pin-array.d.ts +1 -0
  213. package/lib/components/PinInput/index.d.ts +2 -0
  214. package/lib/components/Popover/Popover.context.d.ts +1 -1
  215. package/lib/components/Popover/Popover.d.ts +1 -1
  216. package/lib/components/Popover/use-popover.d.ts +38 -1
  217. package/lib/components/Portal/OptionalPortal.d.ts +1 -2
  218. package/lib/components/Progress/Progress.context.d.ts +1 -1
  219. package/lib/components/Rating/Rating.context.d.ts +1 -1
  220. package/lib/components/Rating/RatingItem/RatingItem.d.ts +1 -1
  221. package/lib/components/Rating/StarSymbol/StarIcon.d.ts +1 -1
  222. package/lib/components/Rating/StarSymbol/StarSymbol.d.ts +1 -2
  223. package/lib/components/RingProgress/Curve/Curve.d.ts +1 -1
  224. package/lib/components/ScrollArea/ScrollArea.context.d.ts +1 -1
  225. package/lib/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.context.d.ts +1 -1
  226. package/lib/components/SimpleGrid/SimpleGridVariables.d.ts +1 -2
  227. package/lib/components/Slider/Marks/Marks.d.ts +1 -1
  228. package/lib/components/Slider/Slider.context.d.ts +1 -1
  229. package/lib/components/Slider/Track/Track.d.ts +1 -1
  230. package/lib/components/Table/Table.context.d.ts +1 -1
  231. package/lib/components/Tabs/Tabs.context.d.ts +1 -1
  232. package/lib/components/Textarea/Textarea.d.ts +21 -0
  233. package/lib/components/Textarea/index.d.ts +2 -0
  234. package/lib/components/Tooltip/TooltipFloating/use-floating-tooltip.d.ts +3 -3
  235. package/lib/components/Tooltip/TooltipGroup/TooltipGroup.d.ts +1 -1
  236. package/lib/components/Tooltip/use-tooltip.d.ts +4 -4
  237. package/lib/components/Transition/Transition.d.ts +1 -1
  238. package/lib/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  239. package/lib/components/index.d.ts +19 -11
  240. package/lib/core/DirectionProvider/DirectionProvider.d.ts +1 -1
  241. package/lib/core/InlineStyles/InlineStyles.d.ts +1 -1
  242. package/lib/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.d.ts +1 -1
  243. package/lib/core/MantineProvider/MantineClasses/MantineClasses.d.ts +1 -2
  244. package/lib/core/MantineProvider/MantineCssVariables/MantineCssVariables.d.ts +1 -2
  245. package/lib/core/MantineProvider/MantineProvider.d.ts +1 -1
  246. package/lib/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.d.ts +1 -1
  247. package/lib/core/factory/factory.d.ts +1 -1
  248. package/lib/core/styles-api/use-styles/use-styles.d.ts +1 -1
  249. package/lib/core/utils/create-optional-context/create-optional-context.d.ts +1 -1
  250. package/lib/core/utils/create-safe-context/create-safe-context.d.ts +1 -1
  251. package/lib/core/utils/get-size/get-size.d.ts +6 -6
  252. package/package.json +9 -9
@@ -0,0 +1,284 @@
1
+ import React, { useState, useRef, useEffect } from 'react';
2
+ import { useId, useUncontrolled } from '@mantine/hooks';
3
+ import { createPinArray } from './create-pin-array/create-pin-array.js';
4
+ import classes from './PinInput.module.css.js';
5
+ import { Group } from '../Group/Group.js';
6
+ import { Input } from '../Input/Input.js';
7
+ import { InputBase } from '../InputBase/InputBase.js';
8
+ import { factory } from '../../core/factory/factory.js';
9
+ import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
10
+ import { useStyles } from '../../core/styles-api/use-styles/use-styles.js';
11
+ import { useResolvedStylesApi } from '../../core/styles-api/use-resolved-styles-api/use-resolved-styles-api.js';
12
+ import { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.js';
13
+ import { getSize } from '../../core/utils/get-size/get-size.js';
14
+
15
+ var __defProp = Object.defineProperty;
16
+ var __defProps = Object.defineProperties;
17
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
18
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
19
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
20
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
21
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
22
+ var __spreadValues = (a, b) => {
23
+ for (var prop in b || (b = {}))
24
+ if (__hasOwnProp.call(b, prop))
25
+ __defNormalProp(a, prop, b[prop]);
26
+ if (__getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(b)) {
28
+ if (__propIsEnum.call(b, prop))
29
+ __defNormalProp(a, prop, b[prop]);
30
+ }
31
+ return a;
32
+ };
33
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
34
+ var __objRest = (source, exclude) => {
35
+ var target = {};
36
+ for (var prop in source)
37
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
38
+ target[prop] = source[prop];
39
+ if (source != null && __getOwnPropSymbols)
40
+ for (var prop of __getOwnPropSymbols(source)) {
41
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
42
+ target[prop] = source[prop];
43
+ }
44
+ return target;
45
+ };
46
+ const regex = {
47
+ number: /^[0-9]+$/,
48
+ alphanumeric: /^[a-zA-Z0-9]+$/i
49
+ };
50
+ const defaultProps = {
51
+ size: "sm",
52
+ gap: "sm",
53
+ length: 4,
54
+ manageFocus: true,
55
+ oneTimeCode: true,
56
+ placeholder: "\u25CB",
57
+ type: "alphanumeric",
58
+ ariaLabel: "PinInput"
59
+ };
60
+ const varsResolver = createVarsResolver((_, { size }) => ({
61
+ root: {
62
+ "--pin-input-size": getSize(size != null ? size : defaultProps.size, "pin-input-size")
63
+ }
64
+ }));
65
+ const PinInput = factory((props, ref) => {
66
+ const _a = useProps("PinInput", defaultProps, props), {
67
+ name,
68
+ form,
69
+ className,
70
+ value,
71
+ defaultValue,
72
+ variant,
73
+ gap,
74
+ style,
75
+ size,
76
+ classNames,
77
+ styles,
78
+ unstyled,
79
+ length,
80
+ onChange,
81
+ onComplete,
82
+ manageFocus,
83
+ autoFocus,
84
+ error,
85
+ radius,
86
+ disabled,
87
+ oneTimeCode,
88
+ placeholder,
89
+ type,
90
+ mask,
91
+ readOnly,
92
+ inputType,
93
+ inputMode,
94
+ ariaLabel,
95
+ vars
96
+ } = _a, others = __objRest(_a, [
97
+ "name",
98
+ "form",
99
+ "className",
100
+ "value",
101
+ "defaultValue",
102
+ "variant",
103
+ "gap",
104
+ "style",
105
+ "size",
106
+ "classNames",
107
+ "styles",
108
+ "unstyled",
109
+ "length",
110
+ "onChange",
111
+ "onComplete",
112
+ "manageFocus",
113
+ "autoFocus",
114
+ "error",
115
+ "radius",
116
+ "disabled",
117
+ "oneTimeCode",
118
+ "placeholder",
119
+ "type",
120
+ "mask",
121
+ "readOnly",
122
+ "inputType",
123
+ "inputMode",
124
+ "ariaLabel",
125
+ "vars"
126
+ ]);
127
+ const uuid = useId(name);
128
+ const getStyles = useStyles({
129
+ name: "PinInput",
130
+ classes,
131
+ props,
132
+ className,
133
+ style,
134
+ classNames,
135
+ styles,
136
+ unstyled,
137
+ vars,
138
+ varsResolver
139
+ });
140
+ const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
141
+ classNames,
142
+ styles,
143
+ props
144
+ });
145
+ const [focusedIndex, setFocusedIndex] = useState(-1);
146
+ const [_value, setValues] = useUncontrolled({
147
+ value,
148
+ defaultValue,
149
+ finalValue: "",
150
+ onChange
151
+ });
152
+ const inputsRef = useRef([]);
153
+ const validate = (code) => {
154
+ const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;
155
+ return re == null ? void 0 : re.test(code);
156
+ };
157
+ const focusInputField = (dir, index) => {
158
+ if (!manageFocus)
159
+ return;
160
+ if (dir === "next") {
161
+ const nextIndex = index + 1;
162
+ inputsRef.current[nextIndex < (length != null ? length : 0) ? nextIndex : index].focus();
163
+ }
164
+ if (dir === "prev") {
165
+ const nextIndex = index - 1;
166
+ inputsRef.current[nextIndex > -1 ? nextIndex : index].focus();
167
+ }
168
+ };
169
+ const setFieldValue = (val, index) => {
170
+ const values = [...createPinArray(length != null ? length : 0, _value)];
171
+ values[index] = val;
172
+ setValues(values.join(""));
173
+ };
174
+ const handleChange = (event, index) => {
175
+ const inputValue = event.target.value;
176
+ const nextChar = inputValue.length > 1 ? inputValue.split("")[inputValue.length - 1] : inputValue;
177
+ const isValid = validate(nextChar);
178
+ if (isValid) {
179
+ setFieldValue(nextChar, index);
180
+ focusInputField("next", index);
181
+ } else {
182
+ setFieldValue("", index);
183
+ }
184
+ };
185
+ const handleKeyDown = (event, index) => {
186
+ if (event.key === "ArrowLeft") {
187
+ event.preventDefault();
188
+ focusInputField("prev", index);
189
+ } else if (event.key === "ArrowRight") {
190
+ event.preventDefault();
191
+ focusInputField("next", index);
192
+ } else if (event.key === "Delete") {
193
+ event.preventDefault();
194
+ setFieldValue("", index);
195
+ } else if (event.key === "Backspace") {
196
+ event.preventDefault();
197
+ setFieldValue("", index);
198
+ if (length === index + 1) {
199
+ if (event.target.value === "") {
200
+ focusInputField("prev", index);
201
+ }
202
+ } else {
203
+ focusInputField("prev", index);
204
+ }
205
+ }
206
+ };
207
+ const handleFocus = (event, index) => {
208
+ event.target.select();
209
+ setFocusedIndex(index);
210
+ };
211
+ const handleBlur = () => {
212
+ setFocusedIndex(-1);
213
+ };
214
+ const handlePaste = (event) => {
215
+ event.preventDefault();
216
+ const copyValue = event.clipboardData.getData("Text");
217
+ const isValid = validate(copyValue);
218
+ if (isValid) {
219
+ setValues(copyValue);
220
+ }
221
+ };
222
+ useEffect(() => {
223
+ if (_value.length !== length)
224
+ return;
225
+ onComplete == null ? void 0 : onComplete(_value);
226
+ }, [_value]);
227
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
228
+ Group,
229
+ __spreadProps(__spreadValues(__spreadValues({}, others), getStyles("root")), {
230
+ role: "group",
231
+ id: uuid,
232
+ gap,
233
+ ref,
234
+ unstyled,
235
+ wrap: "nowrap",
236
+ variant,
237
+ __size: size
238
+ }),
239
+ createPinArray(length != null ? length : 0, _value).map((char, index) => /* @__PURE__ */ React.createElement(
240
+ Input,
241
+ __spreadProps(__spreadValues({
242
+ component: "input"
243
+ }, getStyles("pinInput", {
244
+ style: {
245
+ "--_input-padding": "0",
246
+ "--_input-text-align": "center"
247
+ }
248
+ })), {
249
+ classNames: resolvedClassNames,
250
+ styles: resolvedStyles,
251
+ size,
252
+ __staticSelector: "PinInput",
253
+ id: `${uuid}-${index + 1}`,
254
+ key: `${uuid}-${index}`,
255
+ inputMode: inputMode || (type === "number" ? "numeric" : "text"),
256
+ onChange: (event) => handleChange(event, index),
257
+ onKeyDown: (event) => handleKeyDown(event, index),
258
+ onFocus: (event) => handleFocus(event, index),
259
+ onBlur: handleBlur,
260
+ onPaste: handlePaste,
261
+ type: inputType || (mask ? "password" : type === "number" ? "tel" : "text"),
262
+ radius,
263
+ error,
264
+ variant,
265
+ disabled,
266
+ ref: (node) => {
267
+ inputsRef.current[index] = node;
268
+ },
269
+ autoComplete: oneTimeCode ? "one-time-code" : "off",
270
+ placeholder: focusedIndex === index ? "" : placeholder,
271
+ value: char,
272
+ autoFocus: autoFocus && index === 0,
273
+ unstyled,
274
+ "aria-label": ariaLabel,
275
+ readOnly
276
+ })
277
+ ))
278
+ ), /* @__PURE__ */ React.createElement("input", { type: "hidden", name, form, value: _value }));
279
+ });
280
+ PinInput.classes = __spreadValues(__spreadValues({}, classes), InputBase.classes);
281
+ PinInput.displayName = "@mantine/core/PinInput";
282
+
283
+ export { PinInput };
284
+ //# sourceMappingURL=PinInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinInput.js","sources":["../../../src/components/PinInput/PinInput.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport {\n BoxProps,\n ElementProps,\n Factory,\n MantineRadius,\n MantineSize,\n MantineSpacing,\n StylesApiProps,\n createVarsResolver,\n factory,\n getSize,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '../../core';\nimport { Group } from '../Group';\nimport { Input } from '../Input';\nimport { createPinArray } from './create-pin-array/create-pin-array';\nimport classes from './PinInput.module.css';\nimport { InputBase } from '../InputBase';\n\nconst regex = {\n number: /^[0-9]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i,\n};\n\nexport type PinInputStylesNames = 'root' | 'pinInput' | 'input';\n\nexport type PinInputCssVariables = {\n root: '--pin-input-size';\n};\n\nexport interface PinInputProps\n extends BoxProps,\n StylesApiProps<PinInputFactory>,\n ElementProps<'div', 'onChange'> {\n /** Hidden input name attribute */\n name?: string;\n\n /** Hidden input form attribute */\n form?: string;\n\n /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem, `'md'` by default */\n gap?: MantineSpacing | (string & {}) | number;\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, numbers are converted to rem, `theme.defaultRadius` by default */\n radius?: MantineRadius | (string & {}) | number;\n\n /** Controls inputs `width` and `height`, `'sm'` by default */\n size?: MantineSize;\n\n /** If set, the first input is focused when component is mounted, `false` by default */\n autoFocus?: boolean;\n\n /** Controlled component value */\n value?: string;\n\n /** Uncontrolled component default value */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Called when all inputs have value */\n onComplete?(value: string): void;\n\n /** Inputs placeholder, `'○'` by default */\n placeholder?: string;\n\n /** Determines whether focus should be moved automatically to the next input once filled, `true` by default */\n manageFocus?: boolean;\n\n /** Determines whether `autocomplete=\"one-time-code\"` attribute should be set on all inputs, `true` by default */\n oneTimeCode?: boolean;\n\n /** Base id used for all inputs, generated randomly by default */\n id?: string;\n\n /** Disables all inputs */\n disabled?: boolean;\n\n /** Adds error styles to all inputs */\n error?: boolean;\n\n /** Allowed values, `'alphanumeric'` by default */\n type?: 'alphanumeric' | 'number' | RegExp;\n\n /** Changes input type to `\"password\"`, `false` by default */\n mask?: boolean;\n\n /** Number of input boxes, `4` by default */\n length?: number;\n\n /** Determines whether input content can be edited */\n readOnly?: boolean;\n\n /** Inputs `type` attribute, inferred from the `type` prop if not specified */\n inputType?: React.HTMLInputTypeAttribute;\n\n /** `inputmode` attribute, inferred from the `type` prop if not specified */\n inputMode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search'\n | undefined;\n\n /** `aria-label` for the inputs */\n ariaLabel?: string;\n}\n\nexport type PinInputFactory = Factory<{\n props: PinInputProps;\n ref: HTMLInputElement;\n stylesNames: PinInputStylesNames;\n vars: PinInputCssVariables;\n}>;\n\nconst defaultProps: Partial<PinInputProps> = {\n size: 'sm',\n gap: 'sm',\n length: 4,\n manageFocus: true,\n oneTimeCode: true,\n placeholder: '○',\n type: 'alphanumeric',\n ariaLabel: 'PinInput',\n};\n\nconst varsResolver = createVarsResolver<PinInputFactory>((_, { size }) => ({\n root: {\n '--pin-input-size': getSize(size ?? defaultProps.size, 'pin-input-size'),\n },\n}));\n\nexport const PinInput = factory<PinInputFactory>((props, ref) => {\n const {\n name,\n form,\n className,\n value,\n defaultValue,\n variant,\n gap,\n style,\n size,\n classNames,\n styles,\n unstyled,\n length,\n onChange,\n onComplete,\n manageFocus,\n autoFocus,\n error,\n radius,\n disabled,\n oneTimeCode,\n placeholder,\n type,\n mask,\n readOnly,\n inputType,\n inputMode,\n ariaLabel,\n vars,\n ...others\n } = useProps('PinInput', defaultProps, props);\n\n const uuid = useId(name);\n\n const getStyles = useStyles<PinInputFactory>({\n name: 'PinInput',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<PinInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const [focusedIndex, setFocusedIndex] = useState(-1);\n\n const [_value, setValues] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const inputsRef = useRef<Array<HTMLInputElement>>([]);\n\n const validate = (code: string) => {\n const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;\n return re?.test(code);\n };\n\n const focusInputField = (dir: 'next' | 'prev', index: number) => {\n if (!manageFocus) return;\n\n if (dir === 'next') {\n const nextIndex = index + 1;\n inputsRef.current[nextIndex < (length ?? 0) ? nextIndex : index].focus();\n }\n\n if (dir === 'prev') {\n const nextIndex = index - 1;\n\n inputsRef.current[nextIndex > -1 ? nextIndex : index].focus();\n }\n };\n\n const setFieldValue = (val: string, index: number) => {\n const values = [...createPinArray(length ?? 0, _value)];\n values[index] = val;\n setValues(values.join(''));\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const inputValue = event.target.value;\n const nextChar =\n inputValue.length > 1 ? inputValue.split('')[inputValue.length - 1] : inputValue;\n\n const isValid = validate(nextChar);\n\n if (isValid) {\n setFieldValue(nextChar, index);\n focusInputField('next', index);\n } else {\n setFieldValue('', index);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>, index: number) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n focusInputField('prev', index);\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n focusInputField('next', index);\n } else if (event.key === 'Delete') {\n event.preventDefault();\n setFieldValue('', index);\n } else if (event.key === 'Backspace') {\n event.preventDefault();\n setFieldValue('', index);\n if (length === index + 1) {\n if ((event.target as HTMLInputElement).value === '') {\n focusInputField('prev', index);\n }\n } else {\n focusInputField('prev', index);\n }\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>, index: number) => {\n event.target.select();\n setFocusedIndex(index);\n };\n\n const handleBlur = () => {\n setFocusedIndex(-1);\n };\n\n const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n event.preventDefault();\n const copyValue = event.clipboardData.getData('Text');\n const isValid = validate(copyValue);\n\n if (isValid) {\n setValues(copyValue);\n }\n };\n\n useEffect(() => {\n if (_value.length !== length) return;\n\n onComplete?.(_value);\n }, [_value]);\n\n return (\n <>\n <Group\n {...others}\n {...getStyles('root')}\n role=\"group\"\n id={uuid}\n gap={gap}\n ref={ref}\n unstyled={unstyled}\n wrap=\"nowrap\"\n variant={variant}\n __size={size}\n >\n {createPinArray(length ?? 0, _value).map((char, index) => (\n <Input\n component=\"input\"\n {...getStyles('pinInput', {\n style: {\n '--_input-padding': '0',\n '--_input-text-align': 'center',\n } as React.CSSProperties,\n })}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n size={size}\n __staticSelector=\"PinInput\"\n id={`${uuid}-${index + 1}`}\n key={`${uuid}-${index}`}\n inputMode={inputMode || (type === 'number' ? 'numeric' : 'text')}\n onChange={(event) => handleChange(event, index)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n onFocus={(event) => handleFocus(event, index)}\n onBlur={handleBlur}\n onPaste={handlePaste}\n type={inputType || (mask ? 'password' : type === 'number' ? 'tel' : 'text')}\n radius={radius}\n error={error}\n variant={variant}\n disabled={disabled}\n ref={(node) => {\n inputsRef.current[index] = node!;\n }}\n autoComplete={oneTimeCode ? 'one-time-code' : 'off'}\n placeholder={focusedIndex === index ? '' : placeholder}\n value={char}\n autoFocus={autoFocus && index === 0}\n unstyled={unstyled}\n aria-label={ariaLabel}\n readOnly={readOnly}\n />\n ))}\n </Group>\n\n <input type=\"hidden\" name={name} form={form} value={_value} />\n </>\n );\n});\n\nPinInput.classes = { ...classes, ...InputBase.classes };\nPinInput.displayName = '@mantine/core/PinInput';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var classes = {"root":"m-f1cb205a","pinInput":"m-cb288ead"};
2
+
3
+ export default classes;
4
+ //# sourceMappingURL=PinInput.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinInput.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,16 @@
1
+ function createPinArray(length, value) {
2
+ if (length < 1) {
3
+ return [];
4
+ }
5
+ const values = new Array(length).fill("");
6
+ if (value) {
7
+ const splitted = value.trim().split("");
8
+ for (let i = 0; i < Math.min(length, splitted.length); i += 1) {
9
+ values[i] = splitted[i];
10
+ }
11
+ }
12
+ return values;
13
+ }
14
+
15
+ export { createPinArray };
16
+ //# sourceMappingURL=create-pin-array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-pin-array.js","sources":["../../../../src/components/PinInput/create-pin-array/create-pin-array.ts"],"sourcesContent":["export function createPinArray(length: number, value: string): string[] {\n if (length < 1) {\n return [];\n }\n\n const values = new Array<string>(length).fill('');\n\n if (value) {\n const splitted = value.trim().split('');\n for (let i = 0; i < Math.min(length, splitted.length); i += 1) {\n values[i] = splitted[i];\n }\n }\n\n return values;\n}\n"],"names":[],"mappings":"AAAO,SAAS,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;AAC9C,EAAE,IAAI,MAAM,GAAG,CAAC,EAAE;AAClB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC5C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACnE,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
@@ -7,11 +7,11 @@ import { PopoverDropdown } from './PopoverDropdown/PopoverDropdown.js';
7
7
  import classes from './Popover.module.css.js';
8
8
  import { getFloatingPosition } from '../Floating/get-floating-position/get-floating-position.js';
9
9
  import { getDefaultZIndex } from '../../core/utils/get-default-z-index/get-default-z-index.js';
10
- import { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.js';
11
- import { getRadius, getShadow } from '../../core/utils/get-size/get-size.js';
12
10
  import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
13
11
  import { useStyles } from '../../core/styles-api/use-styles/use-styles.js';
14
12
  import { useDirection } from '../../core/DirectionProvider/DirectionProvider.js';
13
+ import { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.js';
14
+ import { getRadius, getShadow } from '../../core/utils/get-size/get-size.js';
15
15
 
16
16
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
17
17
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -175,16 +175,16 @@ function Popover(_props) {
175
175
  const reference = useCallback(
176
176
  (node) => {
177
177
  setTargetNode(node);
178
- popover.floating.reference(node);
178
+ popover.floating.refs.setReference(node);
179
179
  },
180
- [popover.floating.reference]
180
+ [popover.floating.refs.setReference]
181
181
  );
182
182
  const floating = useCallback(
183
183
  (node) => {
184
184
  setDropdownNode(node);
185
- popover.floating.floating(node);
185
+ popover.floating.refs.setFloating(node);
186
186
  },
187
- [popover.floating.floating]
187
+ [popover.floating.refs.setFloating]
188
188
  );
189
189
  return /* @__PURE__ */ React.createElement(
190
190
  PopoverContextProvider,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n MantineShadow,\n getDefaultZIndex,\n useProps,\n MantineRadius,\n useDirection,\n useStyles,\n Factory,\n createVarsResolver,\n getRadius,\n getShadow,\n StylesApiProps,\n ExtendComponent,\n} from '../../core';\nimport { TransitionOverride } from '../Transition';\nimport {\n getFloatingPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n ArrowPosition,\n} from '../Floating';\nimport { PortalProps } from '../Portal';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\nimport classes from './Popover.module.css';\n\nexport type PopoverStylesNames = 'dropdown' | 'arrow';\nexport type PopoverCssVariables = {\n dropdown: '--popover-radius' | '--popover-shadow';\n};\n\nexport interface __PopoverProps {\n /** Dropdown position relative to the target element, `'bottom'` by default */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element, `8` by default */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** `useEffect` dependencies to force update dropdown position, `[]` by default */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** If set dropdown will not be unmounted from the DOM when it is hidden, `display: none` styles will be added instead, `false` by default */\n keepMounted?: boolean;\n\n /** Props passed down to the `Transition` component that used to animate dropdown presence, use to configure duration and animation type, `{ duration: 150, transition: 'fade' }` by default */\n transitionProps?: TransitionOverride;\n\n /** Dropdown width, or `'target'` to make dropdown width the same as target element, `'max-content'` by default */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling, `{ flip: true, shift: true, inline: false }` by default */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow, `false` by default */\n withArrow?: boolean;\n\n /** Arrow size in px, `7` by default */\n arrowSize?: number;\n\n /** Arrow offset in px, `5` by default */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px, `0` by default */\n arrowRadius?: number;\n\n /** Arrow position */\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within the `Portal`, `true` by default */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is true */\n portalProps?: Omit<PortalProps, 'children'>;\n\n /** Dropdown `z-index`, `300` by default */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, `theme.defaultRadius` by default */\n radius?: MantineRadius | (string & {}) | number;\n\n /** Key of `theme.shadows` or any other valid CSS `box-shadow` value */\n shadow?: MantineShadow | (string & {});\n\n /** If set, popover dropdown will not be rendered */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, `false` by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends __PopoverProps, StylesApiProps<PopoverFactory> {\n __staticSelector?: string;\n\n /** `Popover.Target` and `Popover.Dropdown` components */\n children?: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controlled dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, `true` by default */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, `false` by default */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when `Escape` key is pressed, `true` by default */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target elements should have accessible roles, `true` by default */\n withRoles?: boolean;\n}\n\nexport type PopoverFactory = Factory<{\n props: PopoverProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nconst varsResolver = createVarsResolver<PopoverFactory>((_, { radius, shadow }) => ({\n dropdown: {\n '--popover-radius': getRadius(radius),\n '--popover-shadow': getShadow(shadow),\n },\n}));\n\nexport function Popover(_props: PopoverProps) {\n const props = useProps('Popover', defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n vars,\n ...others\n } = props;\n\n const getStyles = useStyles<PopoverFactory>({\n name: __staticSelector!,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n rootSelector: 'dropdown',\n vars,\n varsResolver,\n });\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const [targetNode, setTargetNode] = useState<HTMLElement | null>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);\n const { dir } = useDirection();\n\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position!),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize! / 2 : 0) : offset!,\n arrowRef,\n arrowOffset: arrowOffset!,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.reference(node);\n },\n [popover.floating.reference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.floating(node);\n },\n [popover.floating.floating]\n );\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x!,\n y: popover.floating.y!,\n arrowX: popover.floating?.middlewareData?.arrow?.x!,\n arrowY: popover.floating?.middlewareData?.arrow?.y!,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize: arrowSize!,\n arrowOffset: arrowOffset!,\n arrowRadius: arrowRadius!,\n arrowPosition: arrowPosition!,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector: __staticSelector!,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n getStyles,\n }}\n >\n {children}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\nPopover.extend = (input: ExtendComponent<PopoverFactory>) => input;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n MantineShadow,\n getDefaultZIndex,\n useProps,\n MantineRadius,\n useDirection,\n useStyles,\n Factory,\n createVarsResolver,\n getRadius,\n getShadow,\n StylesApiProps,\n ExtendComponent,\n} from '../../core';\nimport { TransitionOverride } from '../Transition';\nimport {\n getFloatingPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n ArrowPosition,\n} from '../Floating';\nimport { PortalProps } from '../Portal';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\nimport classes from './Popover.module.css';\n\nexport type PopoverStylesNames = 'dropdown' | 'arrow';\nexport type PopoverCssVariables = {\n dropdown: '--popover-radius' | '--popover-shadow';\n};\n\nexport interface __PopoverProps {\n /** Dropdown position relative to the target element, `'bottom'` by default */\n position?: FloatingPosition;\n\n /** Offset of the dropdown element, `8` by default */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** `useEffect` dependencies to force update dropdown position, `[]` by default */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** If set dropdown will not be unmounted from the DOM when it is hidden, `display: none` styles will be added instead, `false` by default */\n keepMounted?: boolean;\n\n /** Props passed down to the `Transition` component that used to animate dropdown presence, use to configure duration and animation type, `{ duration: 150, transition: 'fade' }` by default */\n transitionProps?: TransitionOverride;\n\n /** Dropdown width, or `'target'` to make dropdown width the same as target element, `'max-content'` by default */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling, `{ flip: true, shift: true, inline: false }` by default */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow, `false` by default */\n withArrow?: boolean;\n\n /** Arrow size in px, `7` by default */\n arrowSize?: number;\n\n /** Arrow offset in px, `5` by default */\n arrowOffset?: number;\n\n /** Arrow `border-radius` in px, `0` by default */\n arrowRadius?: number;\n\n /** Arrow position */\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within the `Portal`, `true` by default */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is true */\n portalProps?: Omit<PortalProps, 'children'>;\n\n /** Dropdown `z-index`, `300` by default */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Key of `theme.radius` or any valid CSS value to set border-radius, `theme.defaultRadius` by default */\n radius?: MantineRadius | (string & {}) | number;\n\n /** Key of `theme.shadows` or any other valid CSS `box-shadow` value */\n shadow?: MantineShadow | (string & {});\n\n /** If set, popover dropdown will not be rendered */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, `false` by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends __PopoverProps, StylesApiProps<PopoverFactory> {\n __staticSelector?: string;\n\n /** `Popover.Target` and `Popover.Dropdown` components */\n children?: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controlled dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, `true` by default */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, `false` by default */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when `Escape` key is pressed, `true` by default */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target elements should have accessible roles, `true` by default */\n withRoles?: boolean;\n}\n\nexport type PopoverFactory = Factory<{\n props: PopoverProps;\n stylesNames: PopoverStylesNames;\n vars: PopoverCssVariables;\n}>;\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nconst varsResolver = createVarsResolver<PopoverFactory>((_, { radius, shadow }) => ({\n dropdown: {\n '--popover-radius': getRadius(radius),\n '--popover-shadow': getShadow(shadow),\n },\n}));\n\nexport function Popover(_props: PopoverProps) {\n const props = useProps('Popover', defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n vars,\n ...others\n } = props;\n\n const getStyles = useStyles<PopoverFactory>({\n name: __staticSelector!,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n rootSelector: 'dropdown',\n vars,\n varsResolver,\n });\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const [targetNode, setTargetNode] = useState<HTMLElement | null>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);\n const { dir } = useDirection();\n\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position!),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize! / 2 : 0) : offset!,\n arrowRef,\n arrowOffset: arrowOffset!,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x!,\n y: popover.floating.y!,\n arrowX: popover.floating?.middlewareData?.arrow?.x!,\n arrowY: popover.floating?.middlewareData?.arrow?.y!,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize: arrowSize!,\n arrowOffset: arrowOffset!,\n arrowRadius: arrowRadius!,\n arrowPosition: arrowPosition!,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector: __staticSelector!,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n getStyles,\n }}\n >\n {children}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\nPopover.extend = (input: ExtendComponent<PopoverFactory>) => input;\n"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { cloneElement } from 'react';
2
2
  import cx from 'clsx';
3
3
  import { useMergedRef } from '@mantine/hooks';
4
4
  import { usePopoverContext } from '../Popover.context.js';
5
- import { factory } from '../../../core/factory/factory.js';
6
5
  import { isElement } from '../../../core/utils/is-element/is-element.js';
6
+ import { factory } from '../../../core/factory/factory.js';
7
7
  import { useProps } from '../../../core/MantineProvider/use-props/use-props.js';
8
8
 
9
9
  var __defProp = Object.defineProperty;
@@ -6,11 +6,11 @@ import { ScrollAreaViewport } from './ScrollAreaViewport/ScrollAreaViewport.js';
6
6
  import classes from './ScrollArea.module.css.js';
7
7
  import { ScrollAreaThumb } from './ScrollAreaThumb/ScrollAreaThumb.js';
8
8
  import { factory } from '../../core/factory/factory.js';
9
- import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
10
9
  import { useStyles } from '../../core/styles-api/use-styles/use-styles.js';
11
- import { Box } from '../../core/Box/Box.js';
12
10
  import { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.js';
13
11
  import { rem } from '../../core/utils/units-converters/rem.js';
12
+ import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
13
+ import { Box } from '../../core/Box/Box.js';
14
14
 
15
15
  var __defProp = Object.defineProperty;
16
16
  var __defProps = Object.defineProperties;
@@ -2,10 +2,10 @@ import React, { forwardRef, useRef, useState } from 'react';
2
2
  import { useScrollAreaContext } from '../ScrollArea.context.js';
3
3
  import { ScrollAreaScrollbarX } from './ScrollbarX.js';
4
4
  import { ScrollAreaScrollbarY } from './ScrollbarY.js';
5
+ import { useDirection } from '../../../core/DirectionProvider/DirectionProvider.js';
5
6
  import { getThumbRatio } from '../utils/get-thumb-ratio.js';
6
7
  import { getThumbOffsetFromScroll } from '../utils/get-thumb-offset-from-scroll.js';
7
8
  import { getScrollPositionFromPointer } from '../utils/get-scroll-position-from-pointer.js';
8
- import { useDirection } from '../../../core/DirectionProvider/DirectionProvider.js';
9
9
 
10
10
  var __defProp = Object.defineProperty;
11
11
  var __defProps = Object.defineProperties;
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import TextareaAutosize from 'react-textarea-autosize';
3
+ import { InputBase } from '../InputBase/InputBase.js';
4
+ import { factory } from '../../core/factory/factory.js';
5
+ import { useProps } from '../../core/MantineProvider/use-props/use-props.js';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __defProps = Object.defineProperties;
9
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
10
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
+ var __spreadValues = (a, b) => {
15
+ for (var prop in b || (b = {}))
16
+ if (__hasOwnProp.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ if (__getOwnPropSymbols)
19
+ for (var prop of __getOwnPropSymbols(b)) {
20
+ if (__propIsEnum.call(b, prop))
21
+ __defNormalProp(a, prop, b[prop]);
22
+ }
23
+ return a;
24
+ };
25
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
+ var __objRest = (source, exclude) => {
27
+ var target = {};
28
+ for (var prop in source)
29
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
30
+ target[prop] = source[prop];
31
+ if (source != null && __getOwnPropSymbols)
32
+ for (var prop of __getOwnPropSymbols(source)) {
33
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
34
+ target[prop] = source[prop];
35
+ }
36
+ return target;
37
+ };
38
+ const defaultProps = {
39
+ size: "sm"
40
+ };
41
+ const Textarea = factory((props, ref) => {
42
+ const _a = useProps(
43
+ "Textarea",
44
+ defaultProps,
45
+ props
46
+ ), { autosize, maxRows, minRows, __staticSelector } = _a, others = __objRest(_a, ["autosize", "maxRows", "minRows", "__staticSelector"]);
47
+ const autosizeProps = autosize ? { maxRows, minRows } : {};
48
+ return /* @__PURE__ */ React.createElement(
49
+ InputBase,
50
+ __spreadValues(__spreadProps(__spreadValues({
51
+ component: autosize ? TextareaAutosize : "textarea",
52
+ ref
53
+ }, others), {
54
+ __staticSelector: __staticSelector || "Textarea",
55
+ multiline: true,
56
+ "data-no-overflow": autosize && maxRows === void 0 || void 0
57
+ }), autosizeProps)
58
+ );
59
+ });
60
+ Textarea.classes = InputBase.classes;
61
+ Textarea.displayName = "@mantine/core/Textarea";
62
+
63
+ export { Textarea };
64
+ //# sourceMappingURL=Textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.js","sources":["../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import React from 'react';\nimport TextareaAutosize from 'react-textarea-autosize';\nimport { factory, ElementProps, useProps, Factory } from '../../core';\nimport { InputBase, InputBaseProps } from '../InputBase';\nimport { __InputStylesNames } from '../Input';\n\nexport interface TextareaProps extends InputBaseProps, ElementProps<'textarea', 'size'> {\n /** Determines whether the textarea height should grow with its content, `false` by default */\n autosize?: boolean;\n\n /** Maximum rows for autosize textarea to grow, ignored if `autosize` prop is not set */\n maxRows?: number;\n\n /** Minimum rows of autosize textarea, ignored if `autosize` prop is not set */\n minRows?: number;\n}\n\nexport type TextareaFactory = Factory<{\n props: TextareaProps;\n ref: HTMLInputElement;\n stylesNames: __InputStylesNames;\n}>;\n\nconst defaultProps: Partial<TextareaProps> = {\n size: 'sm',\n};\n\nexport const Textarea = factory<TextareaFactory>((props, ref) => {\n const { autosize, maxRows, minRows, __staticSelector, ...others } = useProps(\n 'Textarea',\n defaultProps,\n props\n );\n\n const autosizeProps = autosize ? { maxRows, minRows } : {};\n\n return (\n <InputBase<any>\n component={autosize ? TextareaAutosize : 'textarea'}\n ref={ref}\n {...others}\n __staticSelector={__staticSelector || 'Textarea'}\n multiline\n data-no-overflow={(autosize && maxRows === undefined) || undefined}\n {...autosizeProps}\n />\n );\n});\n\nTextarea.classes = InputBase.classes;\nTextarea.displayName = '@mantine/core/Textarea';\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ function useFloatingTooltip({
7
7
  }) {
8
8
  const [opened, setOpened] = useState(false);
9
9
  const boundaryRef = useRef();
10
- const { x, y, reference, floating, refs, update, placement } = useFloating({
10
+ const { x, y, elements, refs, update, placement } = useFloating({
11
11
  placement: position,
12
12
  middleware: [
13
13
  shift({
@@ -21,7 +21,7 @@ function useFloatingTooltip({
21
21
  const verticalOffset = placement.includes("bottom") ? offset : position.includes("top") ? offset * -1 : 0;
22
22
  const handleMouseMove = useCallback(
23
23
  ({ clientX, clientY }) => {
24
- reference({
24
+ refs.setPositionReference({
25
25
  getBoundingClientRect() {
26
26
  return {
27
27
  width: 0,
@@ -36,7 +36,7 @@ function useFloatingTooltip({
36
36
  }
37
37
  });
38
38
  },
39
- [reference]
39
+ [elements.reference]
40
40
  );
41
41
  useEffect(() => {
42
42
  if (refs.floating.current) {
@@ -54,8 +54,8 @@ function useFloatingTooltip({
54
54
  };
55
55
  }
56
56
  return void 0;
57
- }, [reference, refs.floating.current, update, handleMouseMove, opened]);
58
- return { handleMouseMove, x, y, opened, setOpened, boundaryRef, floating };
57
+ }, [elements.reference, refs.floating.current, update, handleMouseMove, opened]);
58
+ return { handleMouseMove, x, y, opened, setOpened, boundaryRef, floating: refs.setFloating };
59
59
  }
60
60
 
61
61
  export { useFloatingTooltip };