@mantine/core 5.1.4 → 5.1.5

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 (51) hide show
  1. package/cjs/Box/use-sx/get-system-styles/get-system-styles.js +6 -6
  2. package/cjs/Box/use-sx/get-system-styles/get-system-styles.js.map +1 -1
  3. package/cjs/Button/ButtonGroup/ButtonGroup.styles.js +6 -0
  4. package/cjs/Button/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  5. package/cjs/HoverCard/HoverCardTarget/HoverCardTarget.js +35 -5
  6. package/cjs/HoverCard/HoverCardTarget/HoverCardTarget.js.map +1 -1
  7. package/cjs/Menu/MenuTarget/MenuTarget.js +35 -5
  8. package/cjs/Menu/MenuTarget/MenuTarget.js.map +1 -1
  9. package/cjs/NumberInput/NumberInput.js +4 -0
  10. package/cjs/NumberInput/NumberInput.js.map +1 -1
  11. package/cjs/Popover/PopoverTarget/PopoverTarget.js +19 -9
  12. package/cjs/Popover/PopoverTarget/PopoverTarget.js.map +1 -1
  13. package/cjs/Select/SelectItems/SelectItems.js +4 -4
  14. package/cjs/Select/SelectItems/SelectItems.js.map +1 -1
  15. package/cjs/Tooltip/Tooltip.js +18 -8
  16. package/cjs/Tooltip/Tooltip.js.map +1 -1
  17. package/esm/Box/use-sx/get-system-styles/get-system-styles.js +6 -6
  18. package/esm/Box/use-sx/get-system-styles/get-system-styles.js.map +1 -1
  19. package/esm/Button/ButtonGroup/ButtonGroup.styles.js +6 -0
  20. package/esm/Button/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  21. package/esm/HoverCard/HoverCardTarget/HoverCardTarget.js +36 -6
  22. package/esm/HoverCard/HoverCardTarget/HoverCardTarget.js.map +1 -1
  23. package/esm/Menu/MenuTarget/MenuTarget.js +36 -6
  24. package/esm/Menu/MenuTarget/MenuTarget.js.map +1 -1
  25. package/esm/NumberInput/NumberInput.js +4 -0
  26. package/esm/NumberInput/NumberInput.js.map +1 -1
  27. package/esm/Popover/PopoverTarget/PopoverTarget.js +20 -10
  28. package/esm/Popover/PopoverTarget/PopoverTarget.js.map +1 -1
  29. package/esm/Select/SelectItems/SelectItems.js +4 -4
  30. package/esm/Select/SelectItems/SelectItems.js.map +1 -1
  31. package/esm/Tooltip/Tooltip.js +19 -9
  32. package/esm/Tooltip/Tooltip.js.map +1 -1
  33. package/lib/Button/ButtonGroup/ButtonGroup.styles.d.ts.map +1 -1
  34. package/lib/HoverCard/HoverCard.d.ts +1 -2
  35. package/lib/HoverCard/HoverCard.d.ts.map +1 -1
  36. package/lib/HoverCard/HoverCardTarget/HoverCardTarget.d.ts +2 -5
  37. package/lib/HoverCard/HoverCardTarget/HoverCardTarget.d.ts.map +1 -1
  38. package/lib/Menu/Menu.d.ts +1 -2
  39. package/lib/Menu/Menu.d.ts.map +1 -1
  40. package/lib/Menu/MenuTarget/MenuTarget.d.ts +1 -4
  41. package/lib/Menu/MenuTarget/MenuTarget.d.ts.map +1 -1
  42. package/lib/NumberInput/NumberInput.d.ts.map +1 -1
  43. package/lib/Popover/Popover.d.ts +1 -2
  44. package/lib/Popover/Popover.d.ts.map +1 -1
  45. package/lib/Popover/PopoverTarget/PopoverTarget.d.ts +1 -4
  46. package/lib/Popover/PopoverTarget/PopoverTarget.d.ts.map +1 -1
  47. package/lib/Select/SelectItems/SelectItems.d.ts.map +1 -1
  48. package/lib/Select/SelectPopover/SelectPopover.d.ts +1 -1
  49. package/lib/Tooltip/Tooltip.d.ts +5 -7
  50. package/lib/Tooltip/Tooltip.d.ts.map +1 -1
  51. package/package.json +4 -4
@@ -13,14 +13,14 @@ const SYSTEM_PROPS = {
13
13
  pr: "paddingRight"
14
14
  };
15
15
  const NEGATIVE_VALUES = ["-xs", "-sm", "-md", "-lg", "-xl"];
16
- function isValidSizeValue(margin) {
17
- return typeof margin === "string" || typeof margin === "number";
16
+ function isValidSizeValue(size) {
17
+ return typeof size === "string" || typeof size === "number";
18
18
  }
19
- function getSizeValue(margin, theme) {
20
- if (NEGATIVE_VALUES.includes(margin)) {
21
- return theme.fn.size({ size: margin.replace("-", ""), sizes: theme.spacing }) * -1;
19
+ function getSizeValue(size, theme) {
20
+ if (NEGATIVE_VALUES.includes(size)) {
21
+ return theme.fn.size({ size: size.replace("-", ""), sizes: theme.spacing }) * -1;
22
22
  }
23
- return theme.fn.size({ size: margin, sizes: theme.spacing });
23
+ return theme.fn.size({ size, sizes: theme.spacing });
24
24
  }
25
25
  function getSystemStyles(systemStyles, theme) {
26
26
  const styles = {};
@@ -1 +1 @@
1
- {"version":3,"file":"get-system-styles.js","sources":["../../../../src/Box/use-sx/get-system-styles/get-system-styles.ts"],"sourcesContent":["import { MantineStyleSystemProps, MantineTheme, CSSObject } from '@mantine/styles';\n\nconst SYSTEM_PROPS = {\n mt: 'marginTop',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mr: 'marginRight',\n pt: 'paddingTop',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n pr: 'paddingRight',\n};\n\nconst NEGATIVE_VALUES = ['-xs', '-sm', '-md', '-lg', '-xl'];\n\nfunction isValidSizeValue(margin: any) {\n return typeof margin === 'string' || typeof margin === 'number';\n}\n\nfunction getSizeValue(margin: any, theme: MantineTheme) {\n if (NEGATIVE_VALUES.includes(margin)) {\n return theme.fn.size({ size: margin.replace('-', ''), sizes: theme.spacing }) * -1;\n }\n\n return theme.fn.size({ size: margin, sizes: theme.spacing });\n}\n\nexport function getSystemStyles(systemStyles: MantineStyleSystemProps, theme: MantineTheme) {\n const styles: CSSObject = {};\n\n if (isValidSizeValue(systemStyles.p)) {\n const value = getSizeValue(systemStyles.p, theme);\n styles.padding = value;\n }\n\n if (isValidSizeValue(systemStyles.m)) {\n const value = getSizeValue(systemStyles.m, theme);\n styles.margin = value;\n }\n\n if (isValidSizeValue(systemStyles.py)) {\n const value = getSizeValue(systemStyles.py, theme);\n styles.paddingTop = value;\n styles.paddingBottom = value;\n }\n\n if (isValidSizeValue(systemStyles.px)) {\n const value = getSizeValue(systemStyles.px, theme);\n styles.paddingLeft = value;\n styles.paddingRight = value;\n }\n\n if (isValidSizeValue(systemStyles.my)) {\n const value = getSizeValue(systemStyles.my, theme);\n styles.marginTop = value;\n styles.marginBottom = value;\n }\n\n if (isValidSizeValue(systemStyles.mx)) {\n const value = getSizeValue(systemStyles.mx, theme);\n styles.marginLeft = value;\n styles.marginRight = value;\n }\n\n Object.keys(SYSTEM_PROPS).forEach((property) => {\n if (isValidSizeValue(systemStyles[property])) {\n styles[SYSTEM_PROPS[property]] = theme.fn.size({\n size: getSizeValue(systemStyles[property], theme),\n sizes: theme.spacing,\n });\n }\n });\n\n return styles;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-system-styles.js","sources":["../../../../src/Box/use-sx/get-system-styles/get-system-styles.ts"],"sourcesContent":["import { MantineStyleSystemProps, MantineTheme, CSSObject } from '@mantine/styles';\n\nconst SYSTEM_PROPS = {\n mt: 'marginTop',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mr: 'marginRight',\n pt: 'paddingTop',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n pr: 'paddingRight',\n};\n\nconst NEGATIVE_VALUES = ['-xs', '-sm', '-md', '-lg', '-xl'];\n\nfunction isValidSizeValue(size: any) {\n return typeof size === 'string' || typeof size === 'number';\n}\n\nfunction getSizeValue(size: any, theme: MantineTheme) {\n if (NEGATIVE_VALUES.includes(size)) {\n return theme.fn.size({ size: size.replace('-', ''), sizes: theme.spacing }) * -1;\n }\n\n return theme.fn.size({ size, sizes: theme.spacing });\n}\n\nexport function getSystemStyles(systemStyles: MantineStyleSystemProps, theme: MantineTheme) {\n const styles: CSSObject = {};\n\n if (isValidSizeValue(systemStyles.p)) {\n const value = getSizeValue(systemStyles.p, theme);\n styles.padding = value;\n }\n\n if (isValidSizeValue(systemStyles.m)) {\n const value = getSizeValue(systemStyles.m, theme);\n styles.margin = value;\n }\n\n if (isValidSizeValue(systemStyles.py)) {\n const value = getSizeValue(systemStyles.py, theme);\n styles.paddingTop = value;\n styles.paddingBottom = value;\n }\n\n if (isValidSizeValue(systemStyles.px)) {\n const value = getSizeValue(systemStyles.px, theme);\n styles.paddingLeft = value;\n styles.paddingRight = value;\n }\n\n if (isValidSizeValue(systemStyles.my)) {\n const value = getSizeValue(systemStyles.my, theme);\n styles.marginTop = value;\n styles.marginBottom = value;\n }\n\n if (isValidSizeValue(systemStyles.mx)) {\n const value = getSizeValue(systemStyles.mx, theme);\n styles.marginLeft = value;\n styles.marginRight = value;\n }\n\n Object.keys(SYSTEM_PROPS).forEach((property) => {\n if (isValidSizeValue(systemStyles[property])) {\n styles[SYSTEM_PROPS[property]] = theme.fn.size({\n size: getSizeValue(systemStyles[property], theme),\n sizes: theme.spacing,\n });\n }\n });\n\n return styles;\n}\n"],"names":[],"mappings":"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"}
@@ -23,6 +23,12 @@ var useStyles = styles.createStyles((_theme, { orientation, buttonBorderWidth })
23
23
  borderRadius: 0,
24
24
  [orientation === "vertical" ? "borderTopWidth" : "borderLeftWidth"]: buttonBorderWidth / 2,
25
25
  [orientation === "vertical" ? "borderBottomWidth" : "borderRightWidth"]: buttonBorderWidth / 2
26
+ },
27
+ "& + [data-button]": {
28
+ [orientation === "vertical" ? "marginTop" : "marginLeft"]: -buttonBorderWidth,
29
+ "@media (min-resolution: 192dpi)": {
30
+ [orientation === "vertical" ? "marginTop" : "marginLeft"]: 0
31
+ }
26
32
  }
27
33
  }
28
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.styles.js","sources":["../../../src/Button/ButtonGroup/ButtonGroup.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport interface ButtonGroupStylesParams {\n orientation: 'vertical' | 'horizontal';\n buttonBorderWidth: number;\n}\n\nexport default createStyles(\n (_theme, { orientation, buttonBorderWidth }: ButtonGroupStylesParams) => ({\n root: {\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'column' : 'row',\n\n '& [data-button]': {\n '&:first-of-type': {\n borderBottomRightRadius: 0,\n [orientation === 'vertical' ? 'borderBottomLeftRadius' : 'borderTopRightRadius']: 0,\n [orientation === 'vertical' ? 'borderBottomWidth' : 'borderRightWidth']:\n buttonBorderWidth / 2,\n },\n\n '&:last-of-type': {\n borderTopLeftRadius: 0,\n [orientation === 'vertical' ? 'borderTopRightRadius' : 'borderBottomLeftRadius']: 0,\n [orientation === 'vertical' ? 'borderTopWidth' : 'borderLeftWidth']:\n buttonBorderWidth / 2,\n },\n\n '&:not(:first-of-type):not(:last-of-type)': {\n borderRadius: 0,\n [orientation === 'vertical' ? 'borderTopWidth' : 'borderLeftWidth']:\n buttonBorderWidth / 2,\n [orientation === 'vertical' ? 'borderBottomWidth' : 'borderRightWidth']:\n buttonBorderWidth / 2,\n },\n },\n },\n })\n);\n"],"names":["createStyles"],"mappings":";;;;;;AACA,gBAAeA,mBAAY,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM;AAC7E,EAAE,IAAI,EAAE;AACR,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,aAAa,EAAE,WAAW,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK;AAChE,IAAI,iBAAiB,EAAE;AACvB,MAAM,iBAAiB,EAAE;AACzB,QAAQ,uBAAuB,EAAE,CAAC;AAClC,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,CAAC;AAC3F,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,CAAC;AACtG,OAAO;AACP,MAAM,gBAAgB,EAAE;AACxB,QAAQ,mBAAmB,EAAE,CAAC;AAC9B,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,CAAC;AAC3F,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,CAAC;AAClG,OAAO;AACP,MAAM,0CAA0C,EAAE;AAClD,QAAQ,YAAY,EAAE,CAAC;AACvB,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,CAAC;AAClG,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,CAAC;AACtG,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"ButtonGroup.styles.js","sources":["../../../src/Button/ButtonGroup/ButtonGroup.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport interface ButtonGroupStylesParams {\n orientation: 'vertical' | 'horizontal';\n buttonBorderWidth: number;\n}\n\nexport default createStyles(\n (_theme, { orientation, buttonBorderWidth }: ButtonGroupStylesParams) => ({\n root: {\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'column' : 'row',\n\n '& [data-button]': {\n '&:first-of-type': {\n borderBottomRightRadius: 0,\n [orientation === 'vertical' ? 'borderBottomLeftRadius' : 'borderTopRightRadius']: 0,\n [orientation === 'vertical' ? 'borderBottomWidth' : 'borderRightWidth']:\n buttonBorderWidth / 2,\n },\n\n '&:last-of-type': {\n borderTopLeftRadius: 0,\n [orientation === 'vertical' ? 'borderTopRightRadius' : 'borderBottomLeftRadius']: 0,\n [orientation === 'vertical' ? 'borderTopWidth' : 'borderLeftWidth']:\n buttonBorderWidth / 2,\n },\n\n '&:not(:first-of-type):not(:last-of-type)': {\n borderRadius: 0,\n [orientation === 'vertical' ? 'borderTopWidth' : 'borderLeftWidth']:\n buttonBorderWidth / 2,\n [orientation === 'vertical' ? 'borderBottomWidth' : 'borderRightWidth']:\n buttonBorderWidth / 2,\n },\n\n '& + [data-button]': {\n [orientation === 'vertical' ? 'marginTop' : 'marginLeft']: -buttonBorderWidth,\n '@media (min-resolution: 192dpi)': {\n [orientation === 'vertical' ? 'marginTop' : 'marginLeft']: 0,\n },\n },\n },\n },\n })\n);\n"],"names":["createStyles"],"mappings":";;;;;;AACA,gBAAeA,mBAAY,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM;AAC7E,EAAE,IAAI,EAAE;AACR,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,aAAa,EAAE,WAAW,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK;AAChE,IAAI,iBAAiB,EAAE;AACvB,MAAM,iBAAiB,EAAE;AACzB,QAAQ,uBAAuB,EAAE,CAAC;AAClC,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,CAAC;AAC3F,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,CAAC;AACtG,OAAO;AACP,MAAM,gBAAgB,EAAE;AACxB,QAAQ,mBAAmB,EAAE,CAAC;AAC9B,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,CAAC;AAC3F,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,CAAC;AAClG,OAAO;AACP,MAAM,0CAA0C,EAAE;AAClD,QAAQ,YAAY,EAAE,CAAC;AACvB,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,CAAC;AAClG,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,CAAC;AACtG,OAAO;AACP,MAAM,mBAAmB,EAAE;AAC3B,QAAQ,CAAC,WAAW,KAAK,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,CAAC,iBAAiB;AACrF,QAAQ,iCAAiC,EAAE;AAC3C,UAAU,CAAC,WAAW,KAAK,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,CAAC;AACtE,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
@@ -12,17 +12,47 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
14
 
15
- function HoverCardTarget({ children, refProp }) {
15
+ var __defProp = Object.defineProperty;
16
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
17
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
18
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
19
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
+ var __spreadValues = (a, b) => {
21
+ for (var prop in b || (b = {}))
22
+ if (__hasOwnProp.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ if (__getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(b)) {
26
+ if (__propIsEnum.call(b, prop))
27
+ __defNormalProp(a, prop, b[prop]);
28
+ }
29
+ return a;
30
+ };
31
+ var __objRest = (source, exclude) => {
32
+ var target = {};
33
+ for (var prop in source)
34
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
35
+ target[prop] = source[prop];
36
+ if (source != null && __getOwnPropSymbols)
37
+ for (var prop of __getOwnPropSymbols(source)) {
38
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
39
+ target[prop] = source[prop];
40
+ }
41
+ return target;
42
+ };
43
+ const HoverCardTarget = React.forwardRef((_a, ref) => {
44
+ var _b = _a, { children, refProp } = _b, others = __objRest(_b, ["children", "refProp"]);
16
45
  if (!utils.isElement(children)) {
17
46
  throw new Error(HoverCard_errors.HOVER_CARD_ERRORS.children);
18
47
  }
19
48
  const ctx = HoverCard_context.useHoverCardContext();
20
49
  const onMouseEnter = utils.createEventHandler(children.props.onMouseEnter, ctx.openDropdown);
21
50
  const onMouseLeave = utils.createEventHandler(children.props.onMouseLeave, ctx.closeDropdown);
22
- return /* @__PURE__ */ React__default.createElement(Popover.Popover.Target, {
23
- refProp
24
- }, React.cloneElement(children, { onMouseEnter, onMouseLeave }));
25
- }
51
+ return /* @__PURE__ */ React__default.createElement(Popover.Popover.Target, __spreadValues({
52
+ refProp,
53
+ ref
54
+ }, others), React.cloneElement(children, { onMouseEnter, onMouseLeave }));
55
+ });
26
56
  HoverCardTarget.displayName = "@mantine/core/HoverCardTarget";
27
57
 
28
58
  exports.HoverCardTarget = HoverCardTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"HoverCardTarget.js","sources":["../../../src/HoverCard/HoverCardTarget/HoverCardTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { Popover, PopoverTargetProps } from '../../Popover';\nimport { useHoverCardContext } from '../HoverCard.context';\nimport { HOVER_CARD_ERRORS } from '../HoverCard.errors';\n\nexport interface HoverCardTargetProps extends PopoverTargetProps {}\n\nexport function HoverCardTarget({ children, refProp }: HoverCardTargetProps) {\n if (!isElement(children)) {\n throw new Error(HOVER_CARD_ERRORS.children);\n }\n\n const ctx = useHoverCardContext();\n const onMouseEnter = createEventHandler(children.props.onMouseEnter, ctx.openDropdown);\n const onMouseLeave = createEventHandler(children.props.onMouseLeave, ctx.closeDropdown);\n\n return (\n <Popover.Target refProp={refProp}>\n {cloneElement(children as React.ReactElement, { onMouseEnter, onMouseLeave })}\n </Popover.Target>\n );\n}\n\nHoverCardTarget.displayName = '@mantine/core/HoverCardTarget';\n"],"names":["isElement","HOVER_CARD_ERRORS","useHoverCardContext","createEventHandler","React","Popover","cloneElement"],"mappings":";;;;;;;;;;;;;;AAKO,SAAS,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;AACvD,EAAE,IAAI,CAACA,eAAS,CAAC,QAAQ,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,KAAK,CAACC,kCAAiB,CAAC,QAAQ,CAAC,CAAC;AAChD,GAAG;AACH,EAAE,MAAM,GAAG,GAAGC,qCAAmB,EAAE,CAAC;AACpC,EAAE,MAAM,YAAY,GAAGC,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;AACzF,EAAE,MAAM,YAAY,GAAGA,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AAC1F,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,eAAO,CAAC,MAAM,EAAE;AAC7D,IAAI,OAAO;AACX,GAAG,EAAEC,kBAAY,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AACD,eAAe,CAAC,WAAW,GAAG,+BAA+B;;;;"}
1
+ {"version":3,"file":"HoverCardTarget.js","sources":["../../../src/HoverCard/HoverCardTarget/HoverCardTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { Popover, PopoverTargetProps } from '../../Popover';\nimport { useHoverCardContext } from '../HoverCard.context';\nimport { HOVER_CARD_ERRORS } from '../HoverCard.errors';\n\nexport interface HoverCardTargetProps extends PopoverTargetProps {}\n\nexport const HoverCardTarget = forwardRef<HTMLElement, HoverCardTargetProps>(\n ({ children, refProp, ...others }, ref) => {\n if (!isElement(children)) {\n throw new Error(HOVER_CARD_ERRORS.children);\n }\n\n const ctx = useHoverCardContext();\n const onMouseEnter = createEventHandler(children.props.onMouseEnter, ctx.openDropdown);\n const onMouseLeave = createEventHandler(children.props.onMouseLeave, ctx.closeDropdown);\n\n return (\n <Popover.Target refProp={refProp} ref={ref} {...others}>\n {cloneElement(children as React.ReactElement, { onMouseEnter, onMouseLeave })}\n </Popover.Target>\n );\n }\n);\n\nHoverCardTarget.displayName = '@mantine/core/HoverCardTarget';\n"],"names":["forwardRef","isElement","HOVER_CARD_ERRORS","useHoverCardContext","createEventHandler","React","Popover","cloneElement"],"mappings":"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"}
@@ -12,7 +12,36 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
14
 
15
- function MenuTarget({ children, refProp = "ref" }) {
15
+ var __defProp = Object.defineProperty;
16
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
17
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
18
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
19
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
+ var __spreadValues = (a, b) => {
21
+ for (var prop in b || (b = {}))
22
+ if (__hasOwnProp.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ if (__getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(b)) {
26
+ if (__propIsEnum.call(b, prop))
27
+ __defNormalProp(a, prop, b[prop]);
28
+ }
29
+ return a;
30
+ };
31
+ var __objRest = (source, exclude) => {
32
+ var target = {};
33
+ for (var prop in source)
34
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
35
+ target[prop] = source[prop];
36
+ if (source != null && __getOwnPropSymbols)
37
+ for (var prop of __getOwnPropSymbols(source)) {
38
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
39
+ target[prop] = source[prop];
40
+ }
41
+ return target;
42
+ };
43
+ const MenuTarget = React.forwardRef((_a, ref) => {
44
+ var _b = _a, { children, refProp = "ref" } = _b, others = __objRest(_b, ["children", "refProp"]);
16
45
  if (!utils.isElement(children)) {
17
46
  throw new Error(Menu_errors.MENU_ERRORS.children);
18
47
  }
@@ -20,16 +49,17 @@ function MenuTarget({ children, refProp = "ref" }) {
20
49
  const onClick = utils.createEventHandler(children.props.onClick, () => ctx.trigger === "click" && ctx.toggleDropdown());
21
50
  const onMouseEnter = utils.createEventHandler(children.props.onMouseEnter, () => ctx.trigger === "hover" && ctx.openDropdown());
22
51
  const onMouseLeave = utils.createEventHandler(children.props.onMouseLeave, () => ctx.trigger === "hover" && ctx.closeDropdown());
23
- return /* @__PURE__ */ React__default.createElement(Popover.Popover.Target, {
52
+ return /* @__PURE__ */ React__default.createElement(Popover.Popover.Target, __spreadValues({
24
53
  refProp,
25
- popupType: "menu"
26
- }, React.cloneElement(children, {
54
+ popupType: "menu",
55
+ ref
56
+ }, others), React.cloneElement(children, {
27
57
  onClick,
28
58
  onMouseEnter,
29
59
  onMouseLeave,
30
60
  "data-expanded": ctx.opened ? true : void 0
31
61
  }));
32
- }
62
+ });
33
63
  MenuTarget.displayName = "@mantine/core/MenuTarget";
34
64
 
35
65
  exports.MenuTarget = MenuTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTarget.js","sources":["../../../src/Menu/MenuTarget/MenuTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useMenuContext } from '../Menu.context';\nimport { Popover } from '../../Popover';\nimport { MENU_ERRORS } from '../Menu.errors';\n\nexport interface MenuTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nexport function MenuTarget({ children, refProp = 'ref' }: MenuTargetProps) {\n if (!isElement(children)) {\n throw new Error(MENU_ERRORS.children);\n }\n\n const ctx = useMenuContext();\n\n const onClick = createEventHandler(\n children.props.onClick,\n () => ctx.trigger === 'click' && ctx.toggleDropdown()\n );\n\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => ctx.trigger === 'hover' && ctx.openDropdown()\n );\n\n const onMouseLeave = createEventHandler(\n children.props.onMouseLeave,\n () => ctx.trigger === 'hover' && ctx.closeDropdown()\n );\n\n return (\n <Popover.Target refProp={refProp} popupType=\"menu\">\n {cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n 'data-expanded': ctx.opened ? true : undefined,\n })}\n </Popover.Target>\n );\n}\n\nMenuTarget.displayName = '@mantine/core/MenuTarget';\n"],"names":["isElement","MENU_ERRORS","useMenuContext","createEventHandler","React","Popover","cloneElement"],"mappings":";;;;;;;;;;;;;;AAKO,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;AAC1D,EAAE,IAAI,CAACA,eAAS,CAAC,QAAQ,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,KAAK,CAACC,uBAAW,CAAC,QAAQ,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,MAAM,GAAG,GAAGC,2BAAc,EAAE,CAAC;AAC/B,EAAE,MAAM,OAAO,GAAGC,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;AACpH,EAAE,MAAM,YAAY,GAAGA,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;AAC5H,EAAE,MAAM,YAAY,GAAGA,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;AAC7H,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,eAAO,CAAC,MAAM,EAAE;AAC7D,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,MAAM;AACrB,GAAG,EAAEC,kBAAY,CAAC,QAAQ,EAAE;AAC5B,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,eAAe,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAC/C,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
1
+ {"version":3,"file":"MenuTarget.js","sources":["../../../src/Menu/MenuTarget/MenuTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useMenuContext } from '../Menu.context';\nimport { Popover } from '../../Popover';\nimport { MENU_ERRORS } from '../Menu.errors';\n\nexport interface MenuTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nexport const MenuTarget = forwardRef<HTMLElement, MenuTargetProps>(\n ({ children, refProp = 'ref', ...others }, ref) => {\n if (!isElement(children)) {\n throw new Error(MENU_ERRORS.children);\n }\n\n const ctx = useMenuContext();\n\n const onClick = createEventHandler(\n children.props.onClick,\n () => ctx.trigger === 'click' && ctx.toggleDropdown()\n );\n\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => ctx.trigger === 'hover' && ctx.openDropdown()\n );\n\n const onMouseLeave = createEventHandler(\n children.props.onMouseLeave,\n () => ctx.trigger === 'hover' && ctx.closeDropdown()\n );\n\n return (\n <Popover.Target refProp={refProp} popupType=\"menu\" ref={ref} {...others}>\n {cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n 'data-expanded': ctx.opened ? true : undefined,\n })}\n </Popover.Target>\n );\n }\n);\n\nMenuTarget.displayName = '@mantine/core/MenuTarget';\n"],"names":["forwardRef","isElement","MENU_ERRORS","useMenuContext","createEventHandler","React","Popover","cloneElement"],"mappings":";;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAMU,MAAC,UAAU,GAAGA,gBAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAClD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACnG,EAAE,IAAI,CAACC,eAAS,CAAC,QAAQ,CAAC,EAAE;AAC5B,IAAI,MAAM,IAAI,KAAK,CAACC,uBAAW,CAAC,QAAQ,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,MAAM,GAAG,GAAGC,2BAAc,EAAE,CAAC;AAC/B,EAAE,MAAM,OAAO,GAAGC,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;AACpH,EAAE,MAAM,YAAY,GAAGA,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;AAC5H,EAAE,MAAM,YAAY,GAAGA,wBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;AAC7H,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,eAAO,CAAC,MAAM,EAAE,cAAc,CAAC;AAC5E,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,EAAEC,kBAAY,CAAC,QAAQ,EAAE;AACrC,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,eAAe,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAC/C,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
@@ -268,6 +268,10 @@ const NumberInput = React.forwardRef((props, ref) => {
268
268
  direction: "down"
269
269
  })));
270
270
  const handleChange = (event) => {
271
+ const evt = event.nativeEvent;
272
+ if (evt.isComposing) {
273
+ return;
274
+ }
271
275
  const val = event.target.value;
272
276
  const parsed = parseNum(val);
273
277
  setTempValue(parsed);
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | undefined) => string;\ntype Parser = (value: string | undefined) => string | undefined;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** onChange input handler for controlled variant, note that input event is not exposed. It will return undefined if the input is empty, otherwise it'll return a number */\n onChange?(value: number | undefined): void;\n\n /** Input value for controlled variant */\n value?: number | undefined;\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Default value for uncontrolled variant only */\n defaultValue?: number | undefined;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return undefined;\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: 10,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onFocus,\n hideControls,\n radius,\n variant,\n precision,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { radius, size },\n { classNames, styles, unstyled, name: 'NumberInput' }\n );\n\n const [focused, setFocused] = useState(false);\n const [_value, setValue] = useState(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : undefined\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? finalValue.toFixed(precision) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | undefined) => {\n if (val !== _value && !Number.isNaN(val)) {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n }\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | undefined => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue?.toFixed(precision) ?? min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp(_value + step, _min, _max).toFixed(precision);\n\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue?.toFixed(precision) ?? min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp(_value - step, _min, _max).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' && !focused) {\n setValue(value);\n setTempValue(value.toFixed(precision));\n }\n if (defaultValue === undefined && value === undefined && !focused) {\n setValue(value);\n setTempValue('');\n }\n }, [value]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.target.value;\n const parsed = parseNum(val);\n\n setTempValue(parsed);\n\n if (val === '' || val === '-') {\n handleValueChange(undefined);\n } else {\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parseFloat(parsed));\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange(undefined);\n } else {\n let newNumber = event.target.value;\n\n if (newNumber[0] === `${decimalSeparator}` || newNumber[0] === '.') {\n newNumber = `0${newNumber}`;\n }\n\n const parsedVal = parseNum(newNumber);\n const val = clamp(parseFloat(parsedVal), _min, _max);\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n setTempValue(val.toFixed(precision));\n handleValueChange(parseFloat(val.toFixed(precision)));\n }\n } else {\n setTempValue(finalValue?.toFixed(precision) ?? '');\n }\n }\n\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n ref={useMergedRef(inputRef, ref)}\n type=\"text\"\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection || (disabled || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={rightSectionWidth || theme.fn.size({ size, sizes: CONTROL_SIZES }) + 1}\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useRef","clamp","assignRef","useEffect","React","Chevron","TextInput","useMergedRef","CONTROL_SIZES","getInputMode","useOs"],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | undefined) => string;\ntype Parser = (value: string | undefined) => string | undefined;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** onChange input handler for controlled variant, note that input event is not exposed. It will return undefined if the input is empty, otherwise it'll return a number */\n onChange?(value: number | undefined): void;\n\n /** Input value for controlled variant */\n value?: number | undefined;\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Default value for uncontrolled variant only */\n defaultValue?: number | undefined;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return undefined;\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: 10,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onFocus,\n hideControls,\n radius,\n variant,\n precision,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { radius, size },\n { classNames, styles, unstyled, name: 'NumberInput' }\n );\n\n const [focused, setFocused] = useState(false);\n const [_value, setValue] = useState(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : undefined\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? finalValue.toFixed(precision) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | undefined) => {\n if (val !== _value && !Number.isNaN(val)) {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n }\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | undefined => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue?.toFixed(precision) ?? min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp(_value + step, _min, _max).toFixed(precision);\n\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue?.toFixed(precision) ?? min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp(_value - step, _min, _max).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' && !focused) {\n setValue(value);\n setTempValue(value.toFixed(precision));\n }\n if (defaultValue === undefined && value === undefined && !focused) {\n setValue(value);\n setTempValue('');\n }\n }, [value]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n const val = event.target.value;\n const parsed = parseNum(val);\n\n setTempValue(parsed);\n\n if (val === '' || val === '-') {\n handleValueChange(undefined);\n } else {\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parseFloat(parsed));\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange(undefined);\n } else {\n let newNumber = event.target.value;\n\n if (newNumber[0] === `${decimalSeparator}` || newNumber[0] === '.') {\n newNumber = `0${newNumber}`;\n }\n\n const parsedVal = parseNum(newNumber);\n const val = clamp(parseFloat(parsedVal), _min, _max);\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n setTempValue(val.toFixed(precision));\n handleValueChange(parseFloat(val.toFixed(precision)));\n }\n } else {\n setTempValue(finalValue?.toFixed(precision) ?? '');\n }\n }\n\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n ref={useMergedRef(inputRef, ref)}\n type=\"text\"\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection || (disabled || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={rightSectionWidth || theme.fn.size({ size, sizes: CONTROL_SIZES }) + 1}\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useRef","clamp","assignRef","useEffect","React","Chevron","TextInput","useMergedRef","CONTROL_SIZES","getInputMode","useOs"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC;AAChD,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE;AACnB,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC;AACpB,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACxC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AAC/B,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AACF,MAAM,aAAa,GAAG;AACtB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,SAAS,EAAE,CAAC;AACd,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,SAAS,EAAE,gBAAgB;AAC7B,EAAE,MAAM,EAAE,aAAa;AACvB,CAAC,CAAC;AACU,MAAC,WAAW,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACtD,EAAE,MAAM,EAAE,GAAGC,+BAAwB,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC3E,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,UAAU;AACd,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,IAAI,aAAa;AACjB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,UAAU;AACd,YAAIC,QAAM;AACV,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAGC,6BAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,UAAED,QAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AACpH,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGE,cAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,YAAY,KAAK,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;AACpI,EAAE,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAChE,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAC,OAAO,UAAU,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;AAClH,EAAE,MAAM,QAAQ,GAAGC,YAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACrC,IAAI,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC9C,MAAM,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtD,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK;AAClC,IAAI,IAAI,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAChE,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC7D,KAAK;AACL,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK;AAC5B,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC;AAClB,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;AACzD,EAAE,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;AACxD,EAAE,MAAM,YAAY,GAAGA,YAAM,EAAE,CAAC;AAChC,EAAE,YAAY,CAAC,OAAO,GAAG,MAAM;AAC/B,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AACpB,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;AAC3B,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,UAAU,IAAI,IAAI,GAAG,UAAU,GAAG,GAAG,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AACzF,MAAM,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;AAC9K,KAAK,MAAM;AACX,MAAM,MAAM,MAAM,GAAGC,WAAK,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzE,MAAM,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAGD,YAAM,EAAE,CAAC;AAChC,EAAE,YAAY,CAAC,OAAO,GAAG,MAAM;AAC/B,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AACpB,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;AAC3B,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,UAAU,IAAI,IAAI,GAAG,UAAU,GAAG,GAAG,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AACzF,MAAM,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;AAC9K,KAAK,MAAM;AACX,MAAM,MAAM,MAAM,GAAGC,WAAK,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzE,MAAM,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,KAAK;AACL,GAAG,CAAC;AACJ,EAAEC,eAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/F,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE;AAC/C,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,IAAI,YAAY,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;AACjE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;AACvB,KAAK;AACL,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,EAAE,MAAM,qBAAqB,GAAG,aAAa,KAAK,KAAK,CAAC,IAAI,gBAAgB,KAAK,KAAK,CAAC,CAAC;AACxF,EAAE,MAAM,gBAAgB,GAAGH,YAAM,CAAC,IAAI,CAAC,CAAC;AACxC,EAAE,MAAM,YAAY,GAAGA,YAAM,CAAC,CAAC,CAAC,CAAC;AACjC,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAClC,MAAM,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;AACpC,IAAI,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,WAAW,KAAK;AAC9C,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7B,KAAK,MAAM;AACX,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7B,KAAK;AACL,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,WAAW,KAAK;AACtC,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACpC,IAAI,IAAI,qBAAqB,EAAE;AAC/B,MAAM,MAAM,QAAQ,GAAG,OAAO,gBAAgB,KAAK,QAAQ,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACxH,MAAM,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5F,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK;AACzC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAC7B,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACpC,IAAI,IAAI,qBAAqB,EAAE;AAC/B,MAAM,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACjG,KAAK;AACL,GAAG,CAAC;AACJ,EAAEG,eAAS,CAAC,MAAM;AAClB,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,QAAQ,mBAAmBC,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9D,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACnD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,QAAQ,EAAE,UAAU,IAAI,GAAG;AAC/B,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;AACrD,IAAI,aAAa,EAAE,CAAC,KAAK,KAAK;AAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,cAAc,EAAE,UAAU;AAC9B,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACC,eAAO,EAAE;AAClD,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACvD,IAAI,SAAS,EAAE,IAAI;AACnB,GAAG,CAAC,CAAC,kBAAkBD,cAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACrD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,QAAQ,EAAE,UAAU,IAAI,GAAG;AAC/B,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;AACvD,IAAI,aAAa,EAAE,CAAC,KAAK,KAAK;AAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,cAAc,EAAE,UAAU;AAC9B,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACC,eAAO,EAAE;AAClD,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACvD,IAAI,SAAS,EAAE,MAAM;AACrB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK;AAClC,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;AAClC,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE;AACzB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACnC,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AACzB,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE;AACnC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,KAAK,MAAM;AACX,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1F,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK;AAChC,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE;AACnC,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;AACvB,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,KAAK,MAAM;AACX,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACzC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC1E,QAAQ,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,GAAG,GAAGJ,WAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC9B,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,UAAU,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,UAAU,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAChE,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,YAAY,CAAC,CAAC,GAAG,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AAC7G,OAAO;AACP,KAAK;AACL,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AACtB,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AACjC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,EAAE;AACzG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;AACjC,MAAM,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1B,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;AAC1C,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AACjC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;AAC9D,MAAM,UAAU,EAAE,CAAC;AACnB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,uBAAuBG,cAAK,CAAC,aAAa,CAACE,mBAAS,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;AAClG,IAAI,OAAO;AACX,IAAI,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC;AAC/B,IAAI,QAAQ;AACZ,IAAI,GAAG,EAAEC,kBAAY,CAAC,QAAQ,EAAE,GAAG,CAAC;AACpC,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,YAAY,EAAE,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,OAAO,KAAK,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AACxG,IAAI,iBAAiB,EAAE,iBAAiB,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAEC,gCAAa,EAAE,CAAC,GAAG,CAAC;AAC7F,IAAI,MAAM;AACV,IAAI,GAAG;AACP,IAAI,GAAG;AACP,IAAI,IAAI;AACR,IAAI,IAAI;AACR,YAAIX,QAAM;AACV,IAAI,UAAU;AACd,IAAI,SAAS,EAAE,SAAS,IAAIY,yBAAY,CAAC,IAAI,EAAE,SAAS,EAAEC,WAAK,EAAE,CAAC;AAClE,IAAI,gBAAgB,EAAE,aAAa;AACnC,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,WAAW,CAAC,WAAW,GAAG,2BAA2B;;;;"}
@@ -28,27 +28,37 @@ var __spreadValues = (a, b) => {
28
28
  return a;
29
29
  };
30
30
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
31
- function PopoverTarget({
32
- children,
33
- refProp = "ref",
34
- popupType = "dialog"
35
- }) {
31
+ var __objRest = (source, exclude) => {
32
+ var target = {};
33
+ for (var prop in source)
34
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
35
+ target[prop] = source[prop];
36
+ if (source != null && __getOwnPropSymbols)
37
+ for (var prop of __getOwnPropSymbols(source)) {
38
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
39
+ target[prop] = source[prop];
40
+ }
41
+ return target;
42
+ };
43
+ const PopoverTarget = React.forwardRef((_a, ref) => {
44
+ var _b = _a, { children, refProp = "ref", popupType = "dialog" } = _b, others = __objRest(_b, ["children", "refProp", "popupType"]);
36
45
  if (!utils.isElement(children)) {
37
46
  throw new Error(Popover_errors.POPOVER_ERRORS.children);
38
47
  }
48
+ const forwardedProps = others;
39
49
  const ctx = Popover_context.usePopoverContext();
40
- const targetRef = hooks.useMergedRef(ctx.reference, children.ref);
50
+ const targetRef = hooks.useMergedRef(ctx.reference, children.ref, ref);
41
51
  const accessibleProps = ctx.withRoles ? {
42
52
  "aria-haspopup": popupType,
43
53
  "aria-expanded": ctx.opened,
44
54
  "aria-controls": ctx.getDropdownId(),
45
55
  id: ctx.getTargetId()
46
56
  } : {};
47
- return React.cloneElement(children, __spreadValues(__spreadProps(__spreadValues(__spreadValues({}, accessibleProps), ctx.targetProps), {
48
- className: styles.clsx(ctx.targetProps.className, children.props.className),
57
+ return React.cloneElement(children, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, forwardedProps), accessibleProps), ctx.targetProps), {
58
+ className: styles.clsx(ctx.targetProps.className, forwardedProps.className, children.props.className),
49
59
  [refProp]: targetRef
50
60
  }), !ctx.controlled ? { onClick: ctx.onToggle } : null));
51
- }
61
+ });
52
62
  PopoverTarget.displayName = "@mantine/core/PopoverTarget";
53
63
 
54
64
  exports.PopoverTarget = PopoverTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverTarget.js","sources":["../../../src/Popover/PopoverTarget/PopoverTarget.tsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement } from '@mantine/utils';\nimport { clsx } from '@mantine/styles';\nimport { usePopoverContext } from '../Popover.context';\nimport { POPOVER_ERRORS } from '../Popover.errors';\n\nexport interface PopoverTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n\n /** Popup accessible type, 'dialog' by default */\n popupType?: string;\n}\n\nexport function PopoverTarget({\n children,\n refProp = 'ref',\n popupType = 'dialog',\n}: PopoverTargetProps) {\n if (!isElement(children)) {\n throw new Error(POPOVER_ERRORS.children);\n }\n\n const ctx = usePopoverContext();\n const targetRef = useMergedRef(ctx.reference, (children as any).ref);\n\n const accessibleProps = ctx.withRoles\n ? {\n 'aria-haspopup': popupType,\n 'aria-expanded': ctx.opened,\n 'aria-controls': ctx.getDropdownId(),\n id: ctx.getTargetId(),\n }\n : {};\n\n return cloneElement(children, {\n ...accessibleProps,\n ...ctx.targetProps,\n className: clsx(ctx.targetProps.className, children.props.className),\n [refProp]: targetRef,\n ...(!ctx.controlled ? { onClick: ctx.onToggle } : null),\n });\n}\n\nPopoverTarget.displayName = '@mantine/core/PopoverTarget';\n"],"names":["isElement","POPOVER_ERRORS","usePopoverContext","useMergedRef","cloneElement","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverTarget.js","sources":["../../../src/Popover/PopoverTarget/PopoverTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement } from '@mantine/utils';\nimport { clsx } from '@mantine/styles';\nimport { usePopoverContext } from '../Popover.context';\nimport { POPOVER_ERRORS } from '../Popover.errors';\n\nexport interface PopoverTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n\n /** Popup accessible type, 'dialog' by default */\n popupType?: string;\n}\n\nexport const PopoverTarget = forwardRef<HTMLElement, PopoverTargetProps>(\n ({ children, refProp = 'ref', popupType = 'dialog', ...others }, ref) => {\n if (!isElement(children)) {\n throw new Error(POPOVER_ERRORS.children);\n }\n\n const forwardedProps = others as any;\n const ctx = usePopoverContext();\n const targetRef = useMergedRef(ctx.reference, (children as any).ref, ref);\n\n const accessibleProps = ctx.withRoles\n ? {\n 'aria-haspopup': popupType,\n 'aria-expanded': ctx.opened,\n 'aria-controls': ctx.getDropdownId(),\n id: ctx.getTargetId(),\n }\n : {};\n\n return cloneElement(children, {\n ...forwardedProps,\n ...accessibleProps,\n ...ctx.targetProps,\n className: clsx(\n ctx.targetProps.className,\n forwardedProps.className,\n children.props.className\n ),\n [refProp]: targetRef,\n ...(!ctx.controlled ? { onClick: ctx.onToggle } : null),\n });\n }\n);\n\nPopoverTarget.displayName = '@mantine/core/PopoverTarget';\n"],"names":["forwardRef","isElement","POPOVER_ERRORS","usePopoverContext","useMergedRef","cloneElement","clsx"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var hooks = require('@mantine/hooks');
6
7
  var Text = require('../../Text/Text.js');
7
8
  var Divider = require('../../Divider/Divider.js');
8
9
  var SelectItems_styles = require('./SelectItems.styles.js');
@@ -97,11 +98,9 @@ function SelectItems({
97
98
  });
98
99
  if (creatable) {
99
100
  const creatableDataItem = data[creatableDataIndex];
100
- const selected = typeof isItemSelected === "function" ? isItemSelected(data[creatableDataIndex].value) : false;
101
101
  unGroupedItems.push(/* @__PURE__ */ React__default.createElement("div", {
102
- key: creatableDataItem.value,
102
+ key: hooks.randomId(),
103
103
  className: classes.item,
104
- "data-selected": selected || void 0,
105
104
  "data-hovered": hovered === creatableDataIndex || void 0,
106
105
  onMouseEnter: () => onItemHover(creatableDataIndex),
107
106
  onMouseDown: (event) => {
@@ -118,7 +117,8 @@ function SelectItems({
118
117
  }
119
118
  if (groupedItems.length > 0 && unGroupedItems.length > 0) {
120
119
  unGroupedItems.unshift(/* @__PURE__ */ React__default.createElement("div", {
121
- className: classes.separator
120
+ className: classes.separator,
121
+ key: "empty-group-separator"
122
122
  }, /* @__PURE__ */ React__default.createElement(Divider.Divider, null)));
123
123
  }
124
124
  return groupedItems.length > 0 || unGroupedItems.length > 0 ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, groupedItems, unGroupedItems) : /* @__PURE__ */ React__default.createElement(Text.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItems.js","sources":["../../../src/Select/SelectItems/SelectItems.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { Text } from '../../Text/Text';\nimport { Divider } from '../../Divider/Divider';\nimport { SelectItem } from '../types';\nimport useStyles from './SelectItems.styles';\n\nexport type SelectItemsStylesNames = Selectors<typeof useStyles>;\n\nexport interface SelectItemsProps extends DefaultProps<SelectItemsStylesNames> {\n data: SelectItem[];\n hovered: number;\n __staticSelector: string;\n isItemSelected?(itemValue: string): boolean;\n uuid: string;\n itemsRefs?: React.MutableRefObject<Record<string, HTMLDivElement>>;\n onItemHover(index: number): void;\n onItemSelect(item: SelectItem): void;\n size: MantineSize;\n itemComponent: React.FC<any>;\n nothingFound?: React.ReactNode;\n creatable?: boolean;\n createLabel?: React.ReactNode;\n}\n\nexport function SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n}: SelectItemsProps) {\n const { classes } = useStyles({ size }, { classNames, styles, unstyled, name: __staticSelector });\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n let creatableDataIndex = null;\n\n const constructItemComponent = (item: SelectItem, index: number) => {\n const selected = typeof isItemSelected === 'function' ? isItemSelected(item.value) : false;\n return (\n <Item\n key={item.value}\n className={classes.item}\n data-disabled={item.disabled || undefined}\n data-hovered={(!item.disabled && hovered === index) || undefined}\n data-selected={(!item.disabled && selected) || undefined}\n onMouseEnter={() => onItemHover(index)}\n id={`${uuid}-${index}`}\n role=\"option\"\n data-ignore-outside-clicks\n tabIndex={-1}\n aria-selected={hovered === index}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n onMouseDown={\n !item.disabled\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(item);\n }\n : null\n }\n disabled={item.disabled}\n {...item}\n />\n );\n };\n\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={`__mantine-divider-${index}`}>\n <Divider classNames={{ label: classes.separatorLabel }} label={item.group} />\n </div>\n );\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n const selected =\n typeof isItemSelected === 'function' ? isItemSelected(data[creatableDataIndex].value) : false;\n unGroupedItems.push(\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n key={creatableDataItem.value}\n className={classes.item}\n data-selected={selected || undefined}\n data-hovered={hovered === creatableDataIndex || undefined}\n onMouseEnter={() => onItemHover(creatableDataIndex)}\n onMouseDown={(event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n }}\n tabIndex={-1}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }}\n >\n {createLabel}\n </div>\n );\n }\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator}>\n <Divider />\n </div>\n );\n }\n\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text size={size} unstyled={unstyled} className={classes.nothingFound}>\n {nothingFound}\n </Text>\n );\n}\n\nSelectItems.displayName = '@mantine/core/SelectItems';\n"],"names":["useStyles","React","Divider","Text"],"mappings":"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"}
1
+ {"version":3,"file":"SelectItems.js","sources":["../../../src/Select/SelectItems/SelectItems.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/styles';\nimport { randomId } from '@mantine/hooks';\nimport { Text } from '../../Text/Text';\nimport { Divider } from '../../Divider/Divider';\nimport { SelectItem } from '../types';\nimport useStyles from './SelectItems.styles';\n\nexport type SelectItemsStylesNames = Selectors<typeof useStyles>;\n\nexport interface SelectItemsProps extends DefaultProps<SelectItemsStylesNames> {\n data: SelectItem[];\n hovered: number;\n __staticSelector: string;\n isItemSelected?(itemValue: string): boolean;\n uuid: string;\n itemsRefs?: React.MutableRefObject<Record<string, HTMLDivElement>>;\n onItemHover(index: number): void;\n onItemSelect(item: SelectItem): void;\n size: MantineSize;\n itemComponent: React.FC<any>;\n nothingFound?: React.ReactNode;\n creatable?: boolean;\n createLabel?: React.ReactNode;\n}\n\nexport function SelectItems({\n data,\n hovered,\n classNames,\n styles,\n isItemSelected,\n uuid,\n __staticSelector,\n onItemHover,\n onItemSelect,\n itemsRefs,\n itemComponent: Item,\n size,\n nothingFound,\n creatable,\n createLabel,\n unstyled,\n}: SelectItemsProps) {\n const { classes } = useStyles({ size }, { classNames, styles, unstyled, name: __staticSelector });\n const unGroupedItems: React.ReactElement<any>[] = [];\n const groupedItems: React.ReactElement<any>[] = [];\n let creatableDataIndex = null;\n\n const constructItemComponent = (item: SelectItem, index: number) => {\n const selected = typeof isItemSelected === 'function' ? isItemSelected(item.value) : false;\n return (\n <Item\n key={item.value}\n className={classes.item}\n data-disabled={item.disabled || undefined}\n data-hovered={(!item.disabled && hovered === index) || undefined}\n data-selected={(!item.disabled && selected) || undefined}\n onMouseEnter={() => onItemHover(index)}\n id={`${uuid}-${index}`}\n role=\"option\"\n data-ignore-outside-clicks\n tabIndex={-1}\n aria-selected={hovered === index}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[item.value] = node;\n }\n }}\n onMouseDown={\n !item.disabled\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(item);\n }\n : null\n }\n disabled={item.disabled}\n {...item}\n />\n );\n };\n\n let groupName = null;\n data.forEach((item, index) => {\n if (item.creatable) {\n creatableDataIndex = index;\n } else if (!item.group) {\n unGroupedItems.push(constructItemComponent(item, index));\n } else {\n if (groupName !== item.group) {\n groupName = item.group;\n groupedItems.push(\n <div className={classes.separator} key={`__mantine-divider-${index}`}>\n <Divider classNames={{ label: classes.separatorLabel }} label={item.group} />\n </div>\n );\n }\n groupedItems.push(constructItemComponent(item, index));\n }\n });\n\n if (creatable) {\n const creatableDataItem = data[creatableDataIndex];\n unGroupedItems.push(\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n key={randomId()}\n className={classes.item}\n data-hovered={hovered === creatableDataIndex || undefined}\n onMouseEnter={() => onItemHover(creatableDataIndex)}\n onMouseDown={(event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n onItemSelect(creatableDataItem);\n }}\n tabIndex={-1}\n ref={(node: HTMLDivElement) => {\n if (itemsRefs && itemsRefs.current) {\n // eslint-disable-next-line no-param-reassign\n itemsRefs.current[creatableDataItem.value] = node;\n }\n }}\n >\n {createLabel}\n </div>\n );\n }\n\n if (groupedItems.length > 0 && unGroupedItems.length > 0) {\n unGroupedItems.unshift(\n <div className={classes.separator} key=\"empty-group-separator\">\n <Divider />\n </div>\n );\n }\n\n return groupedItems.length > 0 || unGroupedItems.length > 0 ? (\n <>\n {groupedItems}\n {unGroupedItems}\n </>\n ) : (\n <Text size={size} unstyled={unstyled} className={classes.nothingFound}>\n {nothingFound}\n </Text>\n );\n}\n\nSelectItems.displayName = '@mantine/core/SelectItems';\n"],"names":["useStyles","React","Divider","randomId","Text"],"mappings":"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"}
@@ -66,7 +66,7 @@ const defaultProps = {
66
66
  zIndex: styles.getDefaultZIndex("popover"),
67
67
  positionDependencies: []
68
68
  };
69
- function Tooltip(props) {
69
+ const _Tooltip = React.forwardRef((props, ref) => {
70
70
  const _a = styles.useComponentDefaultProps("Tooltip", defaultProps, props), {
71
71
  children,
72
72
  position,
@@ -95,7 +95,10 @@ function Tooltip(props) {
95
95
  events,
96
96
  zIndex,
97
97
  disabled,
98
- positionDependencies
98
+ positionDependencies,
99
+ onClick,
100
+ onMouseEnter,
101
+ onMouseLeave
99
102
  } = _a, others = __objRest(_a, [
100
103
  "children",
101
104
  "position",
@@ -124,7 +127,10 @@ function Tooltip(props) {
124
127
  "events",
125
128
  "zIndex",
126
129
  "disabled",
127
- "positionDependencies"
130
+ "positionDependencies",
131
+ "onClick",
132
+ "onMouseEnter",
133
+ "onMouseLeave"
128
134
  ]);
129
135
  const { classes, cx, theme } = Tooltip_styles['default']({ radius, color, width, multiline }, { name: "Tooltip", classNames, styles: styles$1, unstyled });
130
136
  const tooltip = useTooltip.useTooltip({
@@ -140,7 +146,7 @@ function Tooltip(props) {
140
146
  if (!utils.isElement(children)) {
141
147
  throw new Error(Tooltip_errors.TOOLTIP_ERRORS.children);
142
148
  }
143
- const targetRef = hooks.useMergedRef(tooltip.reference, children.ref);
149
+ const targetRef = hooks.useMergedRef(tooltip.reference, children.ref, ref);
144
150
  return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(OptionalPortal.OptionalPortal, {
145
151
  withinPortal
146
152
  }, /* @__PURE__ */ React__default.createElement(Transition.Transition, {
@@ -166,13 +172,17 @@ function Tooltip(props) {
166
172
  className: classes.arrow
167
173
  }));
168
174
  })), React.cloneElement(children, tooltip.getReferenceProps(__spreadValues({
175
+ onClick,
176
+ onMouseEnter,
177
+ onMouseLeave,
169
178
  [refProp]: targetRef,
170
179
  className: cx(className, children.props.className)
171
180
  }, children.props))));
172
- }
173
- Tooltip.Group = TooltipGroup.TooltipGroup;
174
- Tooltip.Floating = TooltipFloating.TooltipFloating;
175
- Tooltip.displayName = "@mantine/core/Tooltip";
181
+ });
182
+ _Tooltip.Group = TooltipGroup.TooltipGroup;
183
+ _Tooltip.Floating = TooltipFloating.TooltipFloating;
184
+ _Tooltip.displayName = "@mantine/core/Tooltip";
185
+ const Tooltip = _Tooltip;
176
186
 
177
187
  exports.Tooltip = Tooltip;
178
188
  //# sourceMappingURL=Tooltip.js.map