@fairmint/ui 0.4.1 → 0.4.3

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 (49) hide show
  1. package/dist/_virtual/index3.cjs +5 -3
  2. package/dist/_virtual/index3.cjs.map +1 -1
  3. package/dist/_virtual/index3.js +5 -2
  4. package/dist/_virtual/index3.js.map +1 -1
  5. package/dist/_virtual/index4.cjs +3 -5
  6. package/dist/_virtual/index4.cjs.map +1 -1
  7. package/dist/_virtual/index4.js +2 -5
  8. package/dist/_virtual/index4.js.map +1 -1
  9. package/dist/components/layout/MobileNav/MobileNav.cjs.map +1 -1
  10. package/dist/components/layout/MobileNav/MobileNav.d.ts +2 -2
  11. package/dist/components/layout/MobileNav/MobileNav.js.map +1 -1
  12. package/dist/components/layout/MobileNav/MobileNavHeader.cjs +20 -18
  13. package/dist/components/layout/MobileNav/MobileNavHeader.cjs.map +1 -1
  14. package/dist/components/layout/MobileNav/MobileNavHeader.d.ts +4 -4
  15. package/dist/components/layout/MobileNav/MobileNavHeader.d.ts.map +1 -1
  16. package/dist/components/layout/MobileNav/MobileNavHeader.js +21 -19
  17. package/dist/components/layout/MobileNav/MobileNavHeader.js.map +1 -1
  18. package/dist/components/primitives/MultiSelect/MultiSelect.cjs +6 -1
  19. package/dist/components/primitives/MultiSelect/MultiSelect.cjs.map +1 -1
  20. package/dist/components/primitives/MultiSelect/MultiSelect.d.ts.map +1 -1
  21. package/dist/components/primitives/MultiSelect/MultiSelect.js +6 -1
  22. package/dist/components/primitives/MultiSelect/MultiSelect.js.map +1 -1
  23. package/dist/components/primitives/Select/Select.cjs +8 -2
  24. package/dist/components/primitives/Select/Select.cjs.map +1 -1
  25. package/dist/components/primitives/Select/Select.d.ts.map +1 -1
  26. package/dist/components/primitives/Select/Select.js +8 -2
  27. package/dist/components/primitives/Select/Select.js.map +1 -1
  28. package/dist/components/primitives/muiCompat.cjs +6 -0
  29. package/dist/components/primitives/muiCompat.cjs.map +1 -1
  30. package/dist/components/primitives/muiCompat.d.ts.map +1 -1
  31. package/dist/components/primitives/muiCompat.js +6 -0
  32. package/dist/components/primitives/muiCompat.js.map +1 -1
  33. package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.cjs +1 -1
  34. package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.js +1 -1
  35. package/dist/node_modules/prop-types/index.cjs +1 -1
  36. package/dist/node_modules/prop-types/index.js +1 -1
  37. package/dist/theme/index.cjs +13 -0
  38. package/dist/theme/index.cjs.map +1 -1
  39. package/dist/theme/index.d.ts +1 -1
  40. package/dist/theme/index.d.ts.map +1 -1
  41. package/dist/theme/index.js +14 -0
  42. package/dist/theme/index.js.map +1 -1
  43. package/dist/theme/zIndex.cjs +2 -0
  44. package/dist/theme/zIndex.cjs.map +1 -1
  45. package/dist/theme/zIndex.d.ts +5 -0
  46. package/dist/theme/zIndex.d.ts.map +1 -1
  47. package/dist/theme/zIndex.js +2 -0
  48. package/dist/theme/zIndex.js.map +1 -1
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs","sources":["../../../../src/components/primitives/Select/Select.tsx"],"sourcesContent":["import { Select as MantineSelect, type SelectProps as MantineSelectProps } from \"@mantine/core\";\nimport {\n Children,\n forwardRef,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useState,\n} from \"react\";\n\ntype SelectChangeEvent = {\n currentTarget: { name?: string; value: unknown };\n target: { name?: string; value: unknown };\n};\n\ntype LegacySelectChange = (event: SelectChangeEvent, option: unknown) => void;\n\nexport interface SelectProps extends Omit<MantineSelectProps, \"onChange\"> {\n children?: ReactNode;\n endAdornment?: ReactNode;\n onChange?: MantineSelectProps[\"onChange\"] | LegacySelectChange;\n}\n\ntype SelectChildProps = {\n children?: ReactNode;\n value?: unknown;\n};\n\nconst nodeToLabel = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (Array.isArray(node)) return node.map(nodeToLabel).join(\"\");\n if (isValidElement<SelectChildProps>(node)) return nodeToLabel(node.props.children);\n return \"\";\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>(\n ({ children, endAdornment, ...props }, ref) => {\n const {\n classNames,\n comboboxProps,\n data,\n defaultValue,\n hiddenInputProps,\n name,\n onChange,\n rightSection,\n styles,\n value,\n ...compatProps\n } = props;\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const rawChildOptions = children\n ? Children.toArray(children)\n .filter(isValidElement)\n .map((child, index) => {\n const option = child as ReactElement<SelectChildProps>;\n const stringValue = String(option.props.value);\n return {\n index,\n label: nodeToLabel(option.props.children),\n originalValue: option.props.value,\n stringValue,\n };\n })\n : undefined;\n const stringValueCounts = new Map<string, number>();\n rawChildOptions?.forEach((option) => {\n stringValueCounts.set(\n option.stringValue,\n (stringValueCounts.get(option.stringValue) ?? 0) + 1,\n );\n });\n const childOptions = rawChildOptions?.map((option) => ({\n ...option,\n value:\n (stringValueCounts.get(option.stringValue) ?? 0) > 1\n ? `${option.stringValue}::${option.index}`\n : option.stringValue,\n }));\n const childValuesByInternalValue = new Map(\n childOptions?.map((option) => [option.value, option.originalValue]),\n );\n const resolveInternalValue = (nextValue: unknown) => {\n if (nextValue == null) return nextValue;\n const matchingOption = childOptions?.find((option) =>\n Object.is(option.originalValue, nextValue),\n );\n return matchingOption?.value ?? String(nextValue);\n };\n const resolveOriginalValue = (nextValue: unknown) => {\n if (nextValue == null) return null;\n return childValuesByInternalValue.has(String(nextValue))\n ? childValuesByInternalValue.get(String(nextValue))\n : nextValue;\n };\n const [uncontrolledOriginalValue, setUncontrolledOriginalValue] = useState(\n defaultValue == null ? null : resolveOriginalValue(resolveInternalValue(defaultValue)),\n );\n const rendersOwnHiddenInput = Boolean(children && name);\n const selectedOriginalValue =\n value === undefined\n ? uncontrolledOriginalValue\n : resolveOriginalValue(resolveInternalValue(value));\n const hiddenValue = selectedOriginalValue == null ? \"\" : String(selectedOriginalValue);\n\n if (!children && !endAdornment) {\n const { onChange: mantineOnChange, ...mantineProps } = props;\n return (\n <MantineSelect\n size=\"md\"\n {...mantineProps}\n onChange={mantineOnChange as MantineSelectProps[\"onChange\"]}\n ref={ref}\n />\n );\n }\n\n return (\n <>\n <MantineSelect\n size=\"md\"\n classNames={{\n ...classNameMap,\n input: [\"MuiSelect-select\", \"fairmint-select-input\", classNameMap?.input]\n .filter(Boolean)\n .join(\" \"),\n option: [\"fairmint-select-option\", classNameMap?.option].filter(Boolean).join(\" \"),\n }}\n data={children ? childOptions?.map(({ label, value }) => ({ label, value })) : data}\n defaultValue={\n defaultValue == null ? undefined : String(resolveInternalValue(defaultValue))\n }\n hiddenInputProps={rendersOwnHiddenInput ? undefined : hiddenInputProps}\n name={rendersOwnHiddenInput ? undefined : name}\n value={\n value === undefined\n ? undefined\n : value == null\n ? null\n : String(resolveInternalValue(value))\n }\n comboboxProps={comboboxProps}\n rightSection={rightSection || endAdornment}\n styles={styles}\n onChange={(next, option) => {\n if (children) {\n const originalValue = resolveOriginalValue(next);\n if (value === undefined) setUncontrolledOriginalValue(originalValue);\n const event = {\n currentTarget: { name, value: originalValue },\n target: { name, value: originalValue },\n };\n (onChange as LegacySelectChange | undefined)?.(event, option);\n return;\n }\n (onChange as MantineSelectProps[\"onChange\"] | undefined)?.(next, option);\n }}\n {...compatProps}\n ref={ref}\n />\n {rendersOwnHiddenInput ? (\n <input {...hiddenInputProps} name={name} type=\"hidden\" value={hiddenValue} />\n ) : null}\n </>\n );\n },\n);\nSelect.displayName = \"Select\";\n"],"names":["isValidElement","forwardRef","Children","useState","jsx","MantineSelect","jsxs","Fragment","value"],"mappings":"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"}
1
+ {"version":3,"file":"Select.cjs","sources":["../../../../src/components/primitives/Select/Select.tsx"],"sourcesContent":["import { Select as MantineSelect, type SelectProps as MantineSelectProps } from \"@mantine/core\";\nimport {\n Children,\n forwardRef,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useState,\n} from \"react\";\nimport { overlayZIndexAboveFairmintOverlays } from \"../../../theme/zIndex\";\n\ntype SelectChangeEvent = {\n currentTarget: { name?: string; value: unknown };\n target: { name?: string; value: unknown };\n};\n\ntype LegacySelectChange = (event: SelectChangeEvent, option: unknown) => void;\n\nexport interface SelectProps extends Omit<MantineSelectProps, \"onChange\"> {\n children?: ReactNode;\n endAdornment?: ReactNode;\n onChange?: MantineSelectProps[\"onChange\"] | LegacySelectChange;\n}\n\ntype SelectChildProps = {\n children?: ReactNode;\n value?: unknown;\n};\n\nconst nodeToLabel = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (Array.isArray(node)) return node.map(nodeToLabel).join(\"\");\n if (isValidElement<SelectChildProps>(node)) return nodeToLabel(node.props.children);\n return \"\";\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>(\n ({ children, endAdornment, ...props }, ref) => {\n const {\n classNames,\n comboboxProps,\n data,\n defaultValue,\n hiddenInputProps,\n name,\n onChange,\n rightSection,\n styles,\n value,\n ...compatProps\n } = props;\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const rawChildOptions = children\n ? Children.toArray(children)\n .filter(isValidElement)\n .map((child, index) => {\n const option = child as ReactElement<SelectChildProps>;\n const stringValue = String(option.props.value);\n return {\n index,\n label: nodeToLabel(option.props.children),\n originalValue: option.props.value,\n stringValue,\n };\n })\n : undefined;\n const stringValueCounts = new Map<string, number>();\n rawChildOptions?.forEach((option) => {\n stringValueCounts.set(\n option.stringValue,\n (stringValueCounts.get(option.stringValue) ?? 0) + 1,\n );\n });\n const childOptions = rawChildOptions?.map((option) => ({\n ...option,\n value:\n (stringValueCounts.get(option.stringValue) ?? 0) > 1\n ? `${option.stringValue}::${option.index}`\n : option.stringValue,\n }));\n const childValuesByInternalValue = new Map(\n childOptions?.map((option) => [option.value, option.originalValue]),\n );\n const resolveInternalValue = (nextValue: unknown) => {\n if (nextValue == null) return nextValue;\n const matchingOption = childOptions?.find((option) =>\n Object.is(option.originalValue, nextValue),\n );\n return matchingOption?.value ?? String(nextValue);\n };\n const resolveOriginalValue = (nextValue: unknown) => {\n if (nextValue == null) return null;\n return childValuesByInternalValue.has(String(nextValue))\n ? childValuesByInternalValue.get(String(nextValue))\n : nextValue;\n };\n const [uncontrolledOriginalValue, setUncontrolledOriginalValue] = useState(\n defaultValue == null ? null : resolveOriginalValue(resolveInternalValue(defaultValue)),\n );\n const rendersOwnHiddenInput = Boolean(children && name);\n const selectedOriginalValue =\n value === undefined\n ? uncontrolledOriginalValue\n : resolveOriginalValue(resolveInternalValue(value));\n const hiddenValue = selectedOriginalValue == null ? \"\" : String(selectedOriginalValue);\n const mergedComboboxProps = {\n zIndex: overlayZIndexAboveFairmintOverlays,\n ...comboboxProps,\n };\n\n if (!children && !endAdornment) {\n const { comboboxProps: _comboboxProps, onChange: mantineOnChange, ...mantineProps } = props;\n return (\n <MantineSelect\n size=\"md\"\n {...mantineProps}\n comboboxProps={mergedComboboxProps}\n onChange={mantineOnChange as MantineSelectProps[\"onChange\"]}\n ref={ref}\n />\n );\n }\n\n return (\n <>\n <MantineSelect\n size=\"md\"\n classNames={{\n ...classNameMap,\n input: [\"MuiSelect-select\", \"fairmint-select-input\", classNameMap?.input]\n .filter(Boolean)\n .join(\" \"),\n option: [\"fairmint-select-option\", classNameMap?.option].filter(Boolean).join(\" \"),\n }}\n data={children ? childOptions?.map(({ label, value }) => ({ label, value })) : data}\n defaultValue={\n defaultValue == null ? undefined : String(resolveInternalValue(defaultValue))\n }\n hiddenInputProps={rendersOwnHiddenInput ? undefined : hiddenInputProps}\n name={rendersOwnHiddenInput ? undefined : name}\n value={\n value === undefined\n ? undefined\n : value == null\n ? null\n : String(resolveInternalValue(value))\n }\n comboboxProps={mergedComboboxProps}\n rightSection={rightSection || endAdornment}\n styles={styles}\n onChange={(next, option) => {\n if (children) {\n const originalValue = resolveOriginalValue(next);\n if (value === undefined) setUncontrolledOriginalValue(originalValue);\n const event = {\n currentTarget: { name, value: originalValue },\n target: { name, value: originalValue },\n };\n (onChange as LegacySelectChange | undefined)?.(event, option);\n return;\n }\n (onChange as MantineSelectProps[\"onChange\"] | undefined)?.(next, option);\n }}\n {...compatProps}\n ref={ref}\n />\n {rendersOwnHiddenInput ? (\n <input {...hiddenInputProps} name={name} type=\"hidden\" value={hiddenValue} />\n ) : null}\n </>\n );\n },\n);\nSelect.displayName = \"Select\";\n"],"names":["isValidElement","forwardRef","Children","useState","overlayZIndexAboveFairmintOverlays","jsx","MantineSelect","jsxs","Fragment","value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,WAAW,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAE9E,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACvE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;CAChE;AAcD,eAAO,MAAM,MAAM,0GAmIlB,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,WAAW,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAGf,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAE9E,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACvE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;CAChE;AAcD,eAAO,MAAM,MAAM,0GAwIlB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { forwardRef, Children, isValidElement, useState } from "react";
3
+ import { overlayZIndexAboveFairmintOverlays } from "../../../theme/zIndex.js";
3
4
  import { Select as Select$1 } from "../../../node_modules/@mantine/core/esm/components/Select/Select.js";
4
5
  const nodeToLabel = (node) => {
5
6
  if (typeof node === "string" || typeof node === "number") return String(node);
@@ -64,13 +65,18 @@ const Select = forwardRef(
64
65
  const rendersOwnHiddenInput = Boolean(children && name);
65
66
  const selectedOriginalValue = value === void 0 ? uncontrolledOriginalValue : resolveOriginalValue(resolveInternalValue(value));
66
67
  const hiddenValue = selectedOriginalValue == null ? "" : String(selectedOriginalValue);
68
+ const mergedComboboxProps = {
69
+ zIndex: overlayZIndexAboveFairmintOverlays,
70
+ ...comboboxProps
71
+ };
67
72
  if (!children && !endAdornment) {
68
- const { onChange: mantineOnChange, ...mantineProps } = props;
73
+ const { comboboxProps: _comboboxProps, onChange: mantineOnChange, ...mantineProps } = props;
69
74
  return /* @__PURE__ */ jsx(
70
75
  Select$1,
71
76
  {
72
77
  size: "md",
73
78
  ...mantineProps,
79
+ comboboxProps: mergedComboboxProps,
74
80
  onChange: mantineOnChange,
75
81
  ref
76
82
  }
@@ -91,7 +97,7 @@ const Select = forwardRef(
91
97
  hiddenInputProps: rendersOwnHiddenInput ? void 0 : hiddenInputProps,
92
98
  name: rendersOwnHiddenInput ? void 0 : name,
93
99
  value: value === void 0 ? void 0 : value == null ? null : String(resolveInternalValue(value)),
94
- comboboxProps,
100
+ comboboxProps: mergedComboboxProps,
95
101
  rightSection: rightSection || endAdornment,
96
102
  styles,
97
103
  onChange: (next, option) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/primitives/Select/Select.tsx"],"sourcesContent":["import { Select as MantineSelect, type SelectProps as MantineSelectProps } from \"@mantine/core\";\nimport {\n Children,\n forwardRef,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useState,\n} from \"react\";\n\ntype SelectChangeEvent = {\n currentTarget: { name?: string; value: unknown };\n target: { name?: string; value: unknown };\n};\n\ntype LegacySelectChange = (event: SelectChangeEvent, option: unknown) => void;\n\nexport interface SelectProps extends Omit<MantineSelectProps, \"onChange\"> {\n children?: ReactNode;\n endAdornment?: ReactNode;\n onChange?: MantineSelectProps[\"onChange\"] | LegacySelectChange;\n}\n\ntype SelectChildProps = {\n children?: ReactNode;\n value?: unknown;\n};\n\nconst nodeToLabel = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (Array.isArray(node)) return node.map(nodeToLabel).join(\"\");\n if (isValidElement<SelectChildProps>(node)) return nodeToLabel(node.props.children);\n return \"\";\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>(\n ({ children, endAdornment, ...props }, ref) => {\n const {\n classNames,\n comboboxProps,\n data,\n defaultValue,\n hiddenInputProps,\n name,\n onChange,\n rightSection,\n styles,\n value,\n ...compatProps\n } = props;\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const rawChildOptions = children\n ? Children.toArray(children)\n .filter(isValidElement)\n .map((child, index) => {\n const option = child as ReactElement<SelectChildProps>;\n const stringValue = String(option.props.value);\n return {\n index,\n label: nodeToLabel(option.props.children),\n originalValue: option.props.value,\n stringValue,\n };\n })\n : undefined;\n const stringValueCounts = new Map<string, number>();\n rawChildOptions?.forEach((option) => {\n stringValueCounts.set(\n option.stringValue,\n (stringValueCounts.get(option.stringValue) ?? 0) + 1,\n );\n });\n const childOptions = rawChildOptions?.map((option) => ({\n ...option,\n value:\n (stringValueCounts.get(option.stringValue) ?? 0) > 1\n ? `${option.stringValue}::${option.index}`\n : option.stringValue,\n }));\n const childValuesByInternalValue = new Map(\n childOptions?.map((option) => [option.value, option.originalValue]),\n );\n const resolveInternalValue = (nextValue: unknown) => {\n if (nextValue == null) return nextValue;\n const matchingOption = childOptions?.find((option) =>\n Object.is(option.originalValue, nextValue),\n );\n return matchingOption?.value ?? String(nextValue);\n };\n const resolveOriginalValue = (nextValue: unknown) => {\n if (nextValue == null) return null;\n return childValuesByInternalValue.has(String(nextValue))\n ? childValuesByInternalValue.get(String(nextValue))\n : nextValue;\n };\n const [uncontrolledOriginalValue, setUncontrolledOriginalValue] = useState(\n defaultValue == null ? null : resolveOriginalValue(resolveInternalValue(defaultValue)),\n );\n const rendersOwnHiddenInput = Boolean(children && name);\n const selectedOriginalValue =\n value === undefined\n ? uncontrolledOriginalValue\n : resolveOriginalValue(resolveInternalValue(value));\n const hiddenValue = selectedOriginalValue == null ? \"\" : String(selectedOriginalValue);\n\n if (!children && !endAdornment) {\n const { onChange: mantineOnChange, ...mantineProps } = props;\n return (\n <MantineSelect\n size=\"md\"\n {...mantineProps}\n onChange={mantineOnChange as MantineSelectProps[\"onChange\"]}\n ref={ref}\n />\n );\n }\n\n return (\n <>\n <MantineSelect\n size=\"md\"\n classNames={{\n ...classNameMap,\n input: [\"MuiSelect-select\", \"fairmint-select-input\", classNameMap?.input]\n .filter(Boolean)\n .join(\" \"),\n option: [\"fairmint-select-option\", classNameMap?.option].filter(Boolean).join(\" \"),\n }}\n data={children ? childOptions?.map(({ label, value }) => ({ label, value })) : data}\n defaultValue={\n defaultValue == null ? undefined : String(resolveInternalValue(defaultValue))\n }\n hiddenInputProps={rendersOwnHiddenInput ? undefined : hiddenInputProps}\n name={rendersOwnHiddenInput ? undefined : name}\n value={\n value === undefined\n ? undefined\n : value == null\n ? null\n : String(resolveInternalValue(value))\n }\n comboboxProps={comboboxProps}\n rightSection={rightSection || endAdornment}\n styles={styles}\n onChange={(next, option) => {\n if (children) {\n const originalValue = resolveOriginalValue(next);\n if (value === undefined) setUncontrolledOriginalValue(originalValue);\n const event = {\n currentTarget: { name, value: originalValue },\n target: { name, value: originalValue },\n };\n (onChange as LegacySelectChange | undefined)?.(event, option);\n return;\n }\n (onChange as MantineSelectProps[\"onChange\"] | undefined)?.(next, option);\n }}\n {...compatProps}\n ref={ref}\n />\n {rendersOwnHiddenInput ? (\n <input {...hiddenInputProps} name={name} type=\"hidden\" value={hiddenValue} />\n ) : null}\n </>\n );\n },\n);\nSelect.displayName = \"Select\";\n"],"names":["MantineSelect","value"],"mappings":";;;AA4BA,MAAM,cAAc,CAAC,SAA4B;AAC/C,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,SAAU,QAAO,OAAO,IAAI;AAC5E,MAAI,MAAM,QAAQ,IAAI,EAAG,QAAO,KAAK,IAAI,WAAW,EAAE,KAAK,EAAE;AAC7D,MAAI,eAAiC,IAAI,UAAU,YAAY,KAAK,MAAM,QAAQ;AAClF,SAAO;AACT;AAEO,MAAM,SAAS;AAAA,EACpB,CAAC,EAAE,UAAU,cAAc,GAAG,MAAA,GAAS,QAAQ;AAC7C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IAAA,IACD;AACJ,UAAM,eAAe,OAAO,eAAe,aAAa,SAAY;AACpE,UAAM,kBAAkB,WACpB,SAAS,QAAQ,QAAQ,EACtB,OAAO,cAAc,EACrB,IAAI,CAAC,OAAO,UAAU;AACrB,YAAM,SAAS;AACf,YAAM,cAAc,OAAO,OAAO,MAAM,KAAK;AAC7C,aAAO;AAAA,QACL;AAAA,QACA,OAAO,YAAY,OAAO,MAAM,QAAQ;AAAA,QACxC,eAAe,OAAO,MAAM;AAAA,QAC5B;AAAA,MAAA;AAAA,IAEJ,CAAC,IACH;AACJ,UAAM,wCAAwB,IAAA;AAC9B,qBAAiB,QAAQ,CAAC,WAAW;AACnC,wBAAkB;AAAA,QAChB,OAAO;AAAA,SACN,kBAAkB,IAAI,OAAO,WAAW,KAAK,KAAK;AAAA,MAAA;AAAA,IAEvD,CAAC;AACD,UAAM,eAAe,iBAAiB,IAAI,CAAC,YAAY;AAAA,MACrD,GAAG;AAAA,MACH,QACG,kBAAkB,IAAI,OAAO,WAAW,KAAK,KAAK,IAC/C,GAAG,OAAO,WAAW,KAAK,OAAO,KAAK,KACtC,OAAO;AAAA,IAAA,EACb;AACF,UAAM,6BAA6B,IAAI;AAAA,MACrC,cAAc,IAAI,CAAC,WAAW,CAAC,OAAO,OAAO,OAAO,aAAa,CAAC;AAAA,IAAA;AAEpE,UAAM,uBAAuB,CAAC,cAAuB;AACnD,UAAI,aAAa,KAAM,QAAO;AAC9B,YAAM,iBAAiB,cAAc;AAAA,QAAK,CAAC,WACzC,OAAO,GAAG,OAAO,eAAe,SAAS;AAAA,MAAA;AAE3C,aAAO,gBAAgB,SAAS,OAAO,SAAS;AAAA,IAClD;AACA,UAAM,uBAAuB,CAAC,cAAuB;AACnD,UAAI,aAAa,KAAM,QAAO;AAC9B,aAAO,2BAA2B,IAAI,OAAO,SAAS,CAAC,IACnD,2BAA2B,IAAI,OAAO,SAAS,CAAC,IAChD;AAAA,IACN;AACA,UAAM,CAAC,2BAA2B,4BAA4B,IAAI;AAAA,MAChE,gBAAgB,OAAO,OAAO,qBAAqB,qBAAqB,YAAY,CAAC;AAAA,IAAA;AAEvF,UAAM,wBAAwB,QAAQ,YAAY,IAAI;AACtD,UAAM,wBACJ,UAAU,SACN,4BACA,qBAAqB,qBAAqB,KAAK,CAAC;AACtD,UAAM,cAAc,yBAAyB,OAAO,KAAK,OAAO,qBAAqB;AAErF,QAAI,CAAC,YAAY,CAAC,cAAc;AAC9B,YAAM,EAAE,UAAU,iBAAiB,GAAG,iBAAiB;AACvD,aACE;AAAA,QAACA;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACJ,GAAG;AAAA,UACJ,UAAU;AAAA,UACV;AAAA,QAAA;AAAA,MAAA;AAAA,IAGN;AAEA,WACE,qBAAA,UAAA,EACE,UAAA;AAAA,MAAA;AAAA,QAACA;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,YAAY;AAAA,YACV,GAAG;AAAA,YACH,OAAO,CAAC,oBAAoB,yBAAyB,cAAc,KAAK,EACrE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,YACX,QAAQ,CAAC,0BAA0B,cAAc,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,UAAA;AAAA,UAEnF,MAAM,WAAW,cAAc,IAAI,CAAC,EAAE,OAAO,OAAAC,OAAAA,OAAa,EAAE,OAAO,OAAAA,OAAAA,EAAQ,IAAI;AAAA,UAC/E,cACE,gBAAgB,OAAO,SAAY,OAAO,qBAAqB,YAAY,CAAC;AAAA,UAE9E,kBAAkB,wBAAwB,SAAY;AAAA,UACtD,MAAM,wBAAwB,SAAY;AAAA,UAC1C,OACE,UAAU,SACN,SACA,SAAS,OACP,OACA,OAAO,qBAAqB,KAAK,CAAC;AAAA,UAE1C;AAAA,UACA,cAAc,gBAAgB;AAAA,UAC9B;AAAA,UACA,UAAU,CAAC,MAAM,WAAW;AAC1B,gBAAI,UAAU;AACZ,oBAAM,gBAAgB,qBAAqB,IAAI;AAC/C,kBAAI,UAAU,OAAW,8BAA6B,aAAa;AACnE,oBAAM,QAAQ;AAAA,gBACZ,eAAe,EAAE,MAAM,OAAO,cAAA;AAAA,gBAC9B,QAAQ,EAAE,MAAM,OAAO,cAAA;AAAA,cAAc;AAEtC,yBAA8C,OAAO,MAAM;AAC5D;AAAA,YACF;AACC,uBAA0D,MAAM,MAAM;AAAA,UACzE;AAAA,UACC,GAAG;AAAA,UACJ;AAAA,QAAA;AAAA,MAAA;AAAA,MAED,wBACC,oBAAC,SAAA,EAAO,GAAG,kBAAkB,MAAY,MAAK,UAAS,OAAO,YAAA,CAAa,IACzE;AAAA,IAAA,GACN;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/primitives/Select/Select.tsx"],"sourcesContent":["import { Select as MantineSelect, type SelectProps as MantineSelectProps } from \"@mantine/core\";\nimport {\n Children,\n forwardRef,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useState,\n} from \"react\";\nimport { overlayZIndexAboveFairmintOverlays } from \"../../../theme/zIndex\";\n\ntype SelectChangeEvent = {\n currentTarget: { name?: string; value: unknown };\n target: { name?: string; value: unknown };\n};\n\ntype LegacySelectChange = (event: SelectChangeEvent, option: unknown) => void;\n\nexport interface SelectProps extends Omit<MantineSelectProps, \"onChange\"> {\n children?: ReactNode;\n endAdornment?: ReactNode;\n onChange?: MantineSelectProps[\"onChange\"] | LegacySelectChange;\n}\n\ntype SelectChildProps = {\n children?: ReactNode;\n value?: unknown;\n};\n\nconst nodeToLabel = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (Array.isArray(node)) return node.map(nodeToLabel).join(\"\");\n if (isValidElement<SelectChildProps>(node)) return nodeToLabel(node.props.children);\n return \"\";\n};\n\nexport const Select = forwardRef<HTMLInputElement, SelectProps>(\n ({ children, endAdornment, ...props }, ref) => {\n const {\n classNames,\n comboboxProps,\n data,\n defaultValue,\n hiddenInputProps,\n name,\n onChange,\n rightSection,\n styles,\n value,\n ...compatProps\n } = props;\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const rawChildOptions = children\n ? Children.toArray(children)\n .filter(isValidElement)\n .map((child, index) => {\n const option = child as ReactElement<SelectChildProps>;\n const stringValue = String(option.props.value);\n return {\n index,\n label: nodeToLabel(option.props.children),\n originalValue: option.props.value,\n stringValue,\n };\n })\n : undefined;\n const stringValueCounts = new Map<string, number>();\n rawChildOptions?.forEach((option) => {\n stringValueCounts.set(\n option.stringValue,\n (stringValueCounts.get(option.stringValue) ?? 0) + 1,\n );\n });\n const childOptions = rawChildOptions?.map((option) => ({\n ...option,\n value:\n (stringValueCounts.get(option.stringValue) ?? 0) > 1\n ? `${option.stringValue}::${option.index}`\n : option.stringValue,\n }));\n const childValuesByInternalValue = new Map(\n childOptions?.map((option) => [option.value, option.originalValue]),\n );\n const resolveInternalValue = (nextValue: unknown) => {\n if (nextValue == null) return nextValue;\n const matchingOption = childOptions?.find((option) =>\n Object.is(option.originalValue, nextValue),\n );\n return matchingOption?.value ?? String(nextValue);\n };\n const resolveOriginalValue = (nextValue: unknown) => {\n if (nextValue == null) return null;\n return childValuesByInternalValue.has(String(nextValue))\n ? childValuesByInternalValue.get(String(nextValue))\n : nextValue;\n };\n const [uncontrolledOriginalValue, setUncontrolledOriginalValue] = useState(\n defaultValue == null ? null : resolveOriginalValue(resolveInternalValue(defaultValue)),\n );\n const rendersOwnHiddenInput = Boolean(children && name);\n const selectedOriginalValue =\n value === undefined\n ? uncontrolledOriginalValue\n : resolveOriginalValue(resolveInternalValue(value));\n const hiddenValue = selectedOriginalValue == null ? \"\" : String(selectedOriginalValue);\n const mergedComboboxProps = {\n zIndex: overlayZIndexAboveFairmintOverlays,\n ...comboboxProps,\n };\n\n if (!children && !endAdornment) {\n const { comboboxProps: _comboboxProps, onChange: mantineOnChange, ...mantineProps } = props;\n return (\n <MantineSelect\n size=\"md\"\n {...mantineProps}\n comboboxProps={mergedComboboxProps}\n onChange={mantineOnChange as MantineSelectProps[\"onChange\"]}\n ref={ref}\n />\n );\n }\n\n return (\n <>\n <MantineSelect\n size=\"md\"\n classNames={{\n ...classNameMap,\n input: [\"MuiSelect-select\", \"fairmint-select-input\", classNameMap?.input]\n .filter(Boolean)\n .join(\" \"),\n option: [\"fairmint-select-option\", classNameMap?.option].filter(Boolean).join(\" \"),\n }}\n data={children ? childOptions?.map(({ label, value }) => ({ label, value })) : data}\n defaultValue={\n defaultValue == null ? undefined : String(resolveInternalValue(defaultValue))\n }\n hiddenInputProps={rendersOwnHiddenInput ? undefined : hiddenInputProps}\n name={rendersOwnHiddenInput ? undefined : name}\n value={\n value === undefined\n ? undefined\n : value == null\n ? null\n : String(resolveInternalValue(value))\n }\n comboboxProps={mergedComboboxProps}\n rightSection={rightSection || endAdornment}\n styles={styles}\n onChange={(next, option) => {\n if (children) {\n const originalValue = resolveOriginalValue(next);\n if (value === undefined) setUncontrolledOriginalValue(originalValue);\n const event = {\n currentTarget: { name, value: originalValue },\n target: { name, value: originalValue },\n };\n (onChange as LegacySelectChange | undefined)?.(event, option);\n return;\n }\n (onChange as MantineSelectProps[\"onChange\"] | undefined)?.(next, option);\n }}\n {...compatProps}\n ref={ref}\n />\n {rendersOwnHiddenInput ? (\n <input {...hiddenInputProps} name={name} type=\"hidden\" value={hiddenValue} />\n ) : null}\n </>\n );\n },\n);\nSelect.displayName = \"Select\";\n"],"names":["MantineSelect","value"],"mappings":"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"}
@@ -16,6 +16,7 @@ const Table = require("../../node_modules/@mantine/core/esm/components/Table/Tab
16
16
  const Accordion$1 = require("../../node_modules/@mantine/core/esm/components/Accordion/Accordion.cjs");
17
17
  const Text = require("../../node_modules/@mantine/core/esm/components/Text/Text.cjs");
18
18
  const MultiSelect = require("../../node_modules/@mantine/core/esm/components/MultiSelect/MultiSelect.cjs");
19
+ const zIndex = require("../../theme/zIndex.cjs");
19
20
  const Select = require("../../node_modules/@mantine/core/esm/components/Select/Select.cjs");
20
21
  const Box = require("../../node_modules/@mantine/core/esm/core/Box/Box.cjs");
21
22
  const Title = require("../../node_modules/@mantine/core/esm/components/Title/Title.cjs");
@@ -1231,6 +1232,7 @@ function Autocomplete(componentProps) {
1231
1232
  filterOptions,
1232
1233
  freeSolo,
1233
1234
  fullWidth,
1235
+ comboboxProps,
1234
1236
  getOptionLabel,
1235
1237
  defaultValue,
1236
1238
  inputValue,
@@ -1363,6 +1365,10 @@ function Autocomplete(componentProps) {
1363
1365
  const commonSelectProps = {
1364
1366
  ...autocompleteInputProps,
1365
1367
  clearable: !disableClearable,
1368
+ comboboxProps: {
1369
+ zIndex: zIndex.overlayZIndexAboveFairmintOverlays,
1370
+ ...comboboxProps
1371
+ },
1366
1372
  disabled: disabled ?? autocompleteInputProps.disabled,
1367
1373
  label: inputProps.label || label,
1368
1374
  nothingFoundMessage: _noOptionsText,