@bigbinary/neeto-atoms 1.0.115 → 1.0.117

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.
@@ -36,7 +36,7 @@ const pruneDuplicates = (existing, newEmailStrings, entryType = "email") => {
36
36
  duplicates.push(emailStr);
37
37
  } else {
38
38
  seen.add(lower);
39
- added.push(formatEmailInputOption(emailStr, entryType));
39
+ added.push(formatEmailInputOption(lower, entryType));
40
40
  }
41
41
  }
42
42
  return { uniqueEmails: [...existing, ...added], duplicates };
@@ -342,4 +342,4 @@ const MultiEmailInput = forwardRef((props, ref) => {
342
342
  MultiEmailInput.displayName = "MultiEmailInput";
343
343
 
344
344
  export { MultiEmailInput as M };
345
- //# sourceMappingURL=MultiEmailInput-DFWfld8K.js.map
345
+ //# sourceMappingURL=MultiEmailInput-D2uHxkeV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiEmailInput-D2uHxkeV.js","sources":["../src/components/MultiEmailInput/constants.ts","../src/components/MultiEmailInput/utils.ts","../src/components/MultiEmailInput/useMultiEmailState.ts","../src/components/MultiEmailInput/MultiEmailInput.tsx"],"sourcesContent":["export const EMAIL_REGEX =\n /^[A-Z0-9._%+-]+@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*\\.[A-Z]{2,}$/i;\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const DOMAIN_REGEX = /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const VALIDATION_REGEX = {\n email: EMAIL_REGEX,\n domain: DOMAIN_REGEX,\n} as const;\n\nexport const ENTITY_FALLBACK = {\n email: { one: \"email\", other: \"emails\" },\n domain: { one: \"domain\", other: \"domains\" },\n} as const;\n","import type { TFunction } from \"i18next\";\n\nimport { ENTITY_FALLBACK, VALIDATION_REGEX } from \"./constants\";\nimport type { EmailValue, EntryType } from \"./types\";\n\nexport const formatEmailInputOption = (\n email: string,\n entryType: EntryType = \"email\"\n): EmailValue => ({\n label: email,\n value: email,\n valid: VALIDATION_REGEX[entryType].test(email),\n});\n\nexport const pruneDuplicates = (\n existing: EmailValue[],\n newEmailStrings: string[],\n entryType: EntryType = \"email\"\n): { uniqueEmails: EmailValue[]; duplicates: string[] } => {\n const seen = new Set(existing.map(e => e.value.toLowerCase()));\n const duplicates: string[] = [];\n const added: EmailValue[] = [];\n\n for (const emailStr of newEmailStrings) {\n const lower = emailStr.toLowerCase();\n if (seen.has(lower)) {\n duplicates.push(emailStr);\n } else {\n seen.add(lower);\n added.push(formatEmailInputOption(lower, entryType));\n }\n }\n\n return { uniqueEmails: [...existing, ...added], duplicates };\n};\n\nexport const filterValidEmails = (emails: EmailValue[]): EmailValue[] =>\n emails.filter(email => email.valid);\n\nexport const getEntityLabel = (\n t: TFunction,\n entryType: EntryType,\n count: number\n): string =>\n t(\n `neetoatoms.multiEmailInput.${entryType}`,\n ENTITY_FALLBACK[entryType][count === 1 ? \"one\" : \"other\"],\n { count }\n );\n","import { useState, useCallback, useMemo } from \"react\";\n\nimport { UNSTRICT_EMAIL_REGEX, SEPARATION_REGEX } from \"./constants\";\nimport { pruneDuplicates, filterValidEmails } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nexport function useMultiEmailState(props: MultiEmailInputProps) {\n const {\n entryType = \"email\",\n value = [],\n onChange,\n onBlur,\n visibleEmailsCount = 3,\n isAlwaysExpanded = false,\n counter,\n filterInvalidEmails,\n } = props;\n\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState<string[]>([]);\n\n const addEmails = useCallback(\n (input: string) => {\n const trimmed = input.trim();\n if (!trimmed) return;\n const separated = trimmed.match(SEPARATION_REGEX) || [];\n const matches =\n entryType === \"email\"\n ? trimmed.match(UNSTRICT_EMAIL_REGEX) || separated\n : separated;\n if (matches.length === 0) return;\n const { uniqueEmails, duplicates } = pruneDuplicates(\n value,\n matches,\n entryType\n );\n onChange?.(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n },\n [value, onChange, entryType]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (!inputValue && event.key === \"Backspace\" && value.length > 0) {\n onChange?.(value.slice(0, -1));\n return;\n }\n if (!inputValue) return;\n if ([\"Enter\", \"Tab\", \",\", \" \"].includes(event.key)) {\n addEmails(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [inputValue, value, onChange, addEmails]\n );\n\n const handlePaste = useCallback(\n (event: React.ClipboardEvent<HTMLInputElement>) => {\n const text = event.clipboardData.getData(\"text\");\n if (!text) return;\n event.preventDefault();\n addEmails(text);\n },\n [addEmails]\n );\n\n const handleBlur = useCallback(() => {\n if (inputValue) {\n addEmails(inputValue);\n } else {\n onBlur?.();\n }\n setIsFocused(false);\n setDuplicateEmails([]);\n }, [inputValue, addEmails, onBlur]);\n\n const handleFocus = useCallback(() => setIsFocused(true), []);\n\n const handleChipRemove = useCallback(\n (emailValue: string) =>\n onChange?.(value.filter(e => e.value !== emailValue)),\n [value, onChange]\n );\n\n const handleFilterInvalidEmails = useCallback(\n () => onChange?.(filterValidEmails(value)),\n [value, onChange]\n );\n\n const validCount = useMemo(() => value.filter(e => e.valid).length, [value]);\n const isCounterVisible =\n !!counter &&\n (typeof counter === \"boolean\" ||\n !counter.startsFrom ||\n validCount >= counter.startsFrom);\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n const visibleEmails = shouldCollapse\n ? value.slice(0, visibleEmailsCount)\n : value;\n const hiddenCount = shouldCollapse ? value.length - visibleEmailsCount : 0;\n const isFilterLinkVisible =\n !!filterInvalidEmails && value.length > validCount;\n\n return {\n inputValue,\n setInputValue,\n isFocused,\n duplicateEmails,\n handleKeyDown,\n handlePaste,\n handleBlur,\n handleFocus,\n handleChipRemove,\n handleFilterInvalidEmails,\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n isFilterLinkVisible,\n };\n}\n","import { forwardRef, useId } from \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Field, FieldLabel, FieldContent } from \"src/primitives/Field\";\nimport { buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { hyphenize } from \"src/utils/hyphenize\";\nimport { withIconSize } from \"src/utils/withIconSize\";\nimport { useMultiEmailState } from \"./useMultiEmailState\";\nimport { getEntityLabel } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nconst CHIP_BASE =\n \"flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground\";\nconst CHIP_INVALID =\n \"border border-destructive text-destructive bg-destructive/10\";\nconst CHIPS_CONTAINER =\n \"flex min-h-8 flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-base md:text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50\";\nconst CHIPS_ERROR =\n \"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40\";\n\nexport const MultiEmailInput = forwardRef<\n HTMLInputElement,\n MultiEmailInputProps\n>((props, ref) => {\n const {\n entryType = \"email\",\n label,\n placeholder = \"\",\n helpText,\n error,\n disabled = false,\n required = false,\n maxHeight = 200,\n counter,\n filterInvalidEmails,\n prefix,\n suffix,\n labelProps,\n className,\n dataTestId,\n } = props;\n const id = useId();\n const { t } = useTranslation();\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n const {\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n inputValue,\n setInputValue,\n handleKeyDown,\n handlePaste,\n handleFocus,\n handleBlur,\n handleChipRemove,\n isFilterLinkVisible,\n handleFilterInvalidEmails,\n duplicateEmails,\n } = useMultiEmailState(props);\n\n return (\n <Field\n className={cn(\"flex flex-col gap-1.5\", className)}\n data-testid=\"email-input-wrapper\"\n >\n {(label || isCounterVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel\n htmlFor={id}\n data-testid={`${testIdPrefix}-input-label`}\n {...labelProps}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n {\" *\"}\n </span>\n )}\n </FieldLabel>\n )}\n {isCounterVisible && (\n <span\n className=\"text-xs text-muted-foreground\"\n data-testid={`${testIdPrefix}-email-counter`}\n >\n {validCount}{\" \"}\n {typeof counter === \"object\" && counter?.label\n ? counter.label\n : getEntityLabel(t, entryType, validCount)}\n </span>\n )}\n </div>\n )}\n <div\n data-testid=\"multi-email-select-container\"\n className={cn(\n CHIPS_CONTAINER,\n !!error && CHIPS_ERROR,\n disabled && \"pointer-events-none opacity-50\"\n )}\n style={{ maxHeight: `${maxHeight}px`, overflowY: \"auto\" }}\n >\n {prefix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(prefix, \"size-4\")}\n </div>\n )}\n {visibleEmails.map(email => (\n <span\n key={email.value}\n className={cn(CHIP_BASE, !email.valid && CHIP_INVALID)}\n >\n {email.label}\n {!disabled && (\n <button\n type=\"button\"\n tabIndex={-1}\n data-testid={`${hyphenize(email.label)}-remove-icon`}\n className=\"-ms-0.5 rounded-xs opacity-50 hover:opacity-100\"\n onMouseDown={e => e.preventDefault()}\n onClick={() => handleChipRemove(email.value)}\n aria-label={t(\n \"neetoatoms.multiEmailInput.remove\",\n \"Remove {{label}}\",\n {\n label: email.label,\n }\n )}\n >\n <XIcon className=\"size-3 pointer-events-none\" />\n </button>\n )}\n </span>\n ))}\n {hiddenCount > 0 && (\n <span className=\"flex h-[calc(--spacing(5.25))] items-center rounded-sm bg-secondary px-1.5 text-xs font-medium text-secondary-foreground\">\n {t(\"neetoatoms.multiEmailInput.hiddenCount\", \"+{{total}} more\", {\n total: hiddenCount,\n })}\n </span>\n )}\n <input\n ref={ref}\n id={id}\n type=\"text\"\n data-testid=\"email-select-input-field\"\n value={inputValue}\n onChange={e => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={props.value?.length ? \"\" : placeholder}\n disabled={disabled}\n className=\"min-w-16 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground md:text-sm\"\n />\n {suffix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(suffix, \"size-4\")}\n </div>\n )}\n </div>\n <FieldContent>\n {!!error && (\n <p\n className=\"text-[0.8rem] text-destructive\"\n data-testid={`${testIdPrefix}-input-error`}\n >\n {error}\n {isFilterLinkVisible && (\n <button\n type=\"button\"\n className=\"ml-1 cursor-pointer font-semibold underline\"\n onClick={handleFilterInvalidEmails}\n >\n {filterInvalidEmails?.label ??\n t(\n \"neetoatoms.multiEmailInput.removeInvalid\",\n \"Click here to remove invalid {{entity}}.\",\n { entity: getEntityLabel(t, entryType, 0) }\n )}\n </button>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"text-[0.8rem] text-muted-foreground\"\n data-testid={`${testIdPrefix}-input-help`}\n >\n {helpText}\n </p>\n )}\n {duplicateEmails.length > 0 && (\n <p\n className=\"text-[0.8rem] text-amber-600 dark:text-amber-400\"\n data-testid={`${testIdPrefix}-duplicate-emails-warning`}\n >\n {t(\n \"neetoatoms.multiEmailInput.duplicateWarning\",\n \"Removed {{total}} duplicate {{entity}} from the list: {{items}}\",\n {\n total: duplicateEmails.length,\n entity: getEntityLabel(t, entryType, duplicateEmails.length),\n items: duplicateEmails.join(\", \"),\n }\n )}\n </p>\n )}\n </FieldContent>\n </Field>\n );\n});\nMultiEmailInput.displayName = \"MultiEmailInput\";\n"],"names":["XIcon"],"mappings":"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"}
@@ -38,7 +38,7 @@ const pruneDuplicates = (existing, newEmailStrings, entryType = "email") => {
38
38
  duplicates.push(emailStr);
39
39
  } else {
40
40
  seen.add(lower);
41
- added.push(formatEmailInputOption(emailStr, entryType));
41
+ added.push(formatEmailInputOption(lower, entryType));
42
42
  }
43
43
  }
44
44
  return { uniqueEmails: [...existing, ...added], duplicates };
@@ -344,4 +344,4 @@ const MultiEmailInput = React.forwardRef((props, ref) => {
344
344
  MultiEmailInput.displayName = "MultiEmailInput";
345
345
 
346
346
  exports.MultiEmailInput = MultiEmailInput;
347
- //# sourceMappingURL=MultiEmailInput-CW0TQEU2.js.map
347
+ //# sourceMappingURL=MultiEmailInput-B_C-kOJt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiEmailInput-B_C-kOJt.js","sources":["../../src/components/MultiEmailInput/constants.ts","../../src/components/MultiEmailInput/utils.ts","../../src/components/MultiEmailInput/useMultiEmailState.ts","../../src/components/MultiEmailInput/MultiEmailInput.tsx"],"sourcesContent":["export const EMAIL_REGEX =\n /^[A-Z0-9._%+-]+@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*\\.[A-Z]{2,}$/i;\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const DOMAIN_REGEX = /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const VALIDATION_REGEX = {\n email: EMAIL_REGEX,\n domain: DOMAIN_REGEX,\n} as const;\n\nexport const ENTITY_FALLBACK = {\n email: { one: \"email\", other: \"emails\" },\n domain: { one: \"domain\", other: \"domains\" },\n} as const;\n","import type { TFunction } from \"i18next\";\n\nimport { ENTITY_FALLBACK, VALIDATION_REGEX } from \"./constants\";\nimport type { EmailValue, EntryType } from \"./types\";\n\nexport const formatEmailInputOption = (\n email: string,\n entryType: EntryType = \"email\"\n): EmailValue => ({\n label: email,\n value: email,\n valid: VALIDATION_REGEX[entryType].test(email),\n});\n\nexport const pruneDuplicates = (\n existing: EmailValue[],\n newEmailStrings: string[],\n entryType: EntryType = \"email\"\n): { uniqueEmails: EmailValue[]; duplicates: string[] } => {\n const seen = new Set(existing.map(e => e.value.toLowerCase()));\n const duplicates: string[] = [];\n const added: EmailValue[] = [];\n\n for (const emailStr of newEmailStrings) {\n const lower = emailStr.toLowerCase();\n if (seen.has(lower)) {\n duplicates.push(emailStr);\n } else {\n seen.add(lower);\n added.push(formatEmailInputOption(lower, entryType));\n }\n }\n\n return { uniqueEmails: [...existing, ...added], duplicates };\n};\n\nexport const filterValidEmails = (emails: EmailValue[]): EmailValue[] =>\n emails.filter(email => email.valid);\n\nexport const getEntityLabel = (\n t: TFunction,\n entryType: EntryType,\n count: number\n): string =>\n t(\n `neetoatoms.multiEmailInput.${entryType}`,\n ENTITY_FALLBACK[entryType][count === 1 ? \"one\" : \"other\"],\n { count }\n );\n","import { useState, useCallback, useMemo } from \"react\";\n\nimport { UNSTRICT_EMAIL_REGEX, SEPARATION_REGEX } from \"./constants\";\nimport { pruneDuplicates, filterValidEmails } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nexport function useMultiEmailState(props: MultiEmailInputProps) {\n const {\n entryType = \"email\",\n value = [],\n onChange,\n onBlur,\n visibleEmailsCount = 3,\n isAlwaysExpanded = false,\n counter,\n filterInvalidEmails,\n } = props;\n\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState<string[]>([]);\n\n const addEmails = useCallback(\n (input: string) => {\n const trimmed = input.trim();\n if (!trimmed) return;\n const separated = trimmed.match(SEPARATION_REGEX) || [];\n const matches =\n entryType === \"email\"\n ? trimmed.match(UNSTRICT_EMAIL_REGEX) || separated\n : separated;\n if (matches.length === 0) return;\n const { uniqueEmails, duplicates } = pruneDuplicates(\n value,\n matches,\n entryType\n );\n onChange?.(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n },\n [value, onChange, entryType]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (!inputValue && event.key === \"Backspace\" && value.length > 0) {\n onChange?.(value.slice(0, -1));\n return;\n }\n if (!inputValue) return;\n if ([\"Enter\", \"Tab\", \",\", \" \"].includes(event.key)) {\n addEmails(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [inputValue, value, onChange, addEmails]\n );\n\n const handlePaste = useCallback(\n (event: React.ClipboardEvent<HTMLInputElement>) => {\n const text = event.clipboardData.getData(\"text\");\n if (!text) return;\n event.preventDefault();\n addEmails(text);\n },\n [addEmails]\n );\n\n const handleBlur = useCallback(() => {\n if (inputValue) {\n addEmails(inputValue);\n } else {\n onBlur?.();\n }\n setIsFocused(false);\n setDuplicateEmails([]);\n }, [inputValue, addEmails, onBlur]);\n\n const handleFocus = useCallback(() => setIsFocused(true), []);\n\n const handleChipRemove = useCallback(\n (emailValue: string) =>\n onChange?.(value.filter(e => e.value !== emailValue)),\n [value, onChange]\n );\n\n const handleFilterInvalidEmails = useCallback(\n () => onChange?.(filterValidEmails(value)),\n [value, onChange]\n );\n\n const validCount = useMemo(() => value.filter(e => e.valid).length, [value]);\n const isCounterVisible =\n !!counter &&\n (typeof counter === \"boolean\" ||\n !counter.startsFrom ||\n validCount >= counter.startsFrom);\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n const visibleEmails = shouldCollapse\n ? value.slice(0, visibleEmailsCount)\n : value;\n const hiddenCount = shouldCollapse ? value.length - visibleEmailsCount : 0;\n const isFilterLinkVisible =\n !!filterInvalidEmails && value.length > validCount;\n\n return {\n inputValue,\n setInputValue,\n isFocused,\n duplicateEmails,\n handleKeyDown,\n handlePaste,\n handleBlur,\n handleFocus,\n handleChipRemove,\n handleFilterInvalidEmails,\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n isFilterLinkVisible,\n };\n}\n","import { forwardRef, useId } from \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Field, FieldLabel, FieldContent } from \"src/primitives/Field\";\nimport { buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { hyphenize } from \"src/utils/hyphenize\";\nimport { withIconSize } from \"src/utils/withIconSize\";\nimport { useMultiEmailState } from \"./useMultiEmailState\";\nimport { getEntityLabel } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nconst CHIP_BASE =\n \"flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground\";\nconst CHIP_INVALID =\n \"border border-destructive text-destructive bg-destructive/10\";\nconst CHIPS_CONTAINER =\n \"flex min-h-8 flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-base md:text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50\";\nconst CHIPS_ERROR =\n \"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40\";\n\nexport const MultiEmailInput = forwardRef<\n HTMLInputElement,\n MultiEmailInputProps\n>((props, ref) => {\n const {\n entryType = \"email\",\n label,\n placeholder = \"\",\n helpText,\n error,\n disabled = false,\n required = false,\n maxHeight = 200,\n counter,\n filterInvalidEmails,\n prefix,\n suffix,\n labelProps,\n className,\n dataTestId,\n } = props;\n const id = useId();\n const { t } = useTranslation();\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n const {\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n inputValue,\n setInputValue,\n handleKeyDown,\n handlePaste,\n handleFocus,\n handleBlur,\n handleChipRemove,\n isFilterLinkVisible,\n handleFilterInvalidEmails,\n duplicateEmails,\n } = useMultiEmailState(props);\n\n return (\n <Field\n className={cn(\"flex flex-col gap-1.5\", className)}\n data-testid=\"email-input-wrapper\"\n >\n {(label || isCounterVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel\n htmlFor={id}\n data-testid={`${testIdPrefix}-input-label`}\n {...labelProps}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n {\" *\"}\n </span>\n )}\n </FieldLabel>\n )}\n {isCounterVisible && (\n <span\n className=\"text-xs text-muted-foreground\"\n data-testid={`${testIdPrefix}-email-counter`}\n >\n {validCount}{\" \"}\n {typeof counter === \"object\" && counter?.label\n ? counter.label\n : getEntityLabel(t, entryType, validCount)}\n </span>\n )}\n </div>\n )}\n <div\n data-testid=\"multi-email-select-container\"\n className={cn(\n CHIPS_CONTAINER,\n !!error && CHIPS_ERROR,\n disabled && \"pointer-events-none opacity-50\"\n )}\n style={{ maxHeight: `${maxHeight}px`, overflowY: \"auto\" }}\n >\n {prefix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(prefix, \"size-4\")}\n </div>\n )}\n {visibleEmails.map(email => (\n <span\n key={email.value}\n className={cn(CHIP_BASE, !email.valid && CHIP_INVALID)}\n >\n {email.label}\n {!disabled && (\n <button\n type=\"button\"\n tabIndex={-1}\n data-testid={`${hyphenize(email.label)}-remove-icon`}\n className=\"-ms-0.5 rounded-xs opacity-50 hover:opacity-100\"\n onMouseDown={e => e.preventDefault()}\n onClick={() => handleChipRemove(email.value)}\n aria-label={t(\n \"neetoatoms.multiEmailInput.remove\",\n \"Remove {{label}}\",\n {\n label: email.label,\n }\n )}\n >\n <XIcon className=\"size-3 pointer-events-none\" />\n </button>\n )}\n </span>\n ))}\n {hiddenCount > 0 && (\n <span className=\"flex h-[calc(--spacing(5.25))] items-center rounded-sm bg-secondary px-1.5 text-xs font-medium text-secondary-foreground\">\n {t(\"neetoatoms.multiEmailInput.hiddenCount\", \"+{{total}} more\", {\n total: hiddenCount,\n })}\n </span>\n )}\n <input\n ref={ref}\n id={id}\n type=\"text\"\n data-testid=\"email-select-input-field\"\n value={inputValue}\n onChange={e => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={props.value?.length ? \"\" : placeholder}\n disabled={disabled}\n className=\"min-w-16 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground md:text-sm\"\n />\n {suffix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(suffix, \"size-4\")}\n </div>\n )}\n </div>\n <FieldContent>\n {!!error && (\n <p\n className=\"text-[0.8rem] text-destructive\"\n data-testid={`${testIdPrefix}-input-error`}\n >\n {error}\n {isFilterLinkVisible && (\n <button\n type=\"button\"\n className=\"ml-1 cursor-pointer font-semibold underline\"\n onClick={handleFilterInvalidEmails}\n >\n {filterInvalidEmails?.label ??\n t(\n \"neetoatoms.multiEmailInput.removeInvalid\",\n \"Click here to remove invalid {{entity}}.\",\n { entity: getEntityLabel(t, entryType, 0) }\n )}\n </button>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"text-[0.8rem] text-muted-foreground\"\n data-testid={`${testIdPrefix}-input-help`}\n >\n {helpText}\n </p>\n )}\n {duplicateEmails.length > 0 && (\n <p\n className=\"text-[0.8rem] text-amber-600 dark:text-amber-400\"\n data-testid={`${testIdPrefix}-duplicate-emails-warning`}\n >\n {t(\n \"neetoatoms.multiEmailInput.duplicateWarning\",\n \"Removed {{total}} duplicate {{entity}} from the list: {{items}}\",\n {\n total: duplicateEmails.length,\n entity: getEntityLabel(t, entryType, duplicateEmails.length),\n items: duplicateEmails.join(\", \"),\n }\n )}\n </p>\n )}\n </FieldContent>\n </Field>\n );\n});\nMultiEmailInput.displayName = \"MultiEmailInput\";\n"],"names":["useState","useCallback","useMemo","forwardRef","useId","useTranslation","buildTestIdPrefix","jsxs","Field","cn","FieldLabel","jsx","withIconSize","hyphenize","XIcon","FieldContent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var MultiEmailInput = require('../MultiEmailInput-CW0TQEU2.js');
3
+ var MultiEmailInput = require('../MultiEmailInput-B_C-kOJt.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('react-i18next');
@@ -16,7 +16,7 @@ var Empty = require('../Empty-Bqt-TucD.js');
16
16
  var Input = require('../Input-DIq7T9D0.js');
17
17
  var Kbd = require('../Kbd--A8Gl8TV.js');
18
18
  var Label = require('../Label-CpsdGBV8.js');
19
- var MultiEmailInput = require('../MultiEmailInput-CW0TQEU2.js');
19
+ var MultiEmailInput = require('../MultiEmailInput-B_C-kOJt.js');
20
20
  var Pagination = require('../Pagination-WyQlBpvK.js');
21
21
  var Popover = require('../Popover-5BUgIW60.js');
22
22
  var Progress = require('../Progress-n_VwK9_E.js');
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var formik = require('formik');
6
6
  var ramda = require('ramda');
7
- var MultiEmailInput = require('../MultiEmailInput-CW0TQEU2.js');
7
+ var MultiEmailInput = require('../MultiEmailInput-B_C-kOJt.js');
8
8
  require('react-i18next');
9
9
  require('../utils-BhM0B89p.js');
10
10
  require('../primitives/Field.js');
@@ -95,7 +95,7 @@ require('../index-CS_WSHYi.js');
95
95
  require('../Tree-Y0ulyxew.js');
96
96
  require('../chevron-right-0jNdwX2Q.js');
97
97
  require('../redux-DEF7lAd1.js');
98
- require('../MultiEmailInput-CW0TQEU2.js');
98
+ require('../MultiEmailInput-B_C-kOJt.js');
99
99
  require('../Dialog-ZUHGaoAE.js');
100
100
  require('../primitives/Dialog.js');
101
101
  require('../dialog-CGblgaX5.js');
package/dist/cjs/index.js CHANGED
@@ -21,7 +21,7 @@ var Empty = require('./Empty-Bqt-TucD.js');
21
21
  var Input = require('./Input-DIq7T9D0.js');
22
22
  var Kbd = require('./Kbd--A8Gl8TV.js');
23
23
  var Label = require('./Label-CpsdGBV8.js');
24
- var MultiEmailInput = require('./MultiEmailInput-CW0TQEU2.js');
24
+ var MultiEmailInput = require('./MultiEmailInput-B_C-kOJt.js');
25
25
  var Pagination = require('./Pagination-WyQlBpvK.js');
26
26
  var Popover = require('./Popover-5BUgIW60.js');
27
27
  var Progress = require('./Progress-n_VwK9_E.js');
@@ -321,7 +321,7 @@ function DropdownMenuTrigger$1({
321
321
  Trigger,
322
322
  {
323
323
  "data-slot": "dropdown-menu-trigger",
324
- "data-testid": "natm-dropdown-icon",
324
+ "data-testid": "nui-dropdown-icon",
325
325
  ...props
326
326
  }
327
327
  );
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../../src/shadcn/components/dropdown-menu.tsx","../../../src/primitives/DropdownMenu.tsx"],"sourcesContent":["\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\"\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n data-testid=\"natm-dropdown-icon\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n container,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content> &\n Pick<\n React.ComponentProps<typeof DropdownMenuPrimitive.Portal>,\n \"container\"\n >) {\n return (\n // `container` overrides the portal target (defaults to <body>). Consumers\n // pass a specific ancestor when <body> is the wrong parent — e.g. a\n // fullscreen element, whose subtree is the only thing the browser renders.\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\"z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"rtl:rotate-180 ms-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","import type React from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n DropdownMenu as ShadcnDropdownMenu,\n DropdownMenuPortal as ShadcnDropdownMenuPortal,\n DropdownMenuTrigger as ShadcnDropdownMenuTrigger,\n DropdownMenuContent as ShadcnDropdownMenuContent,\n DropdownMenuGroup as ShadcnDropdownMenuGroup,\n DropdownMenuLabel as ShadcnDropdownMenuLabel,\n DropdownMenuItem as ShadcnDropdownMenuItem,\n DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem,\n DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup,\n DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem,\n DropdownMenuSeparator as ShadcnDropdownMenuSeparator,\n DropdownMenuShortcut as ShadcnDropdownMenuShortcut,\n DropdownMenuSub as ShadcnDropdownMenuSub,\n DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger,\n DropdownMenuSubContent as ShadcnDropdownMenuSubContent,\n} from \"src/shadcn/components/dropdown-menu\";\n\nconst DropdownMenu = (\n props: React.ComponentProps<typeof ShadcnDropdownMenu>\n) => <ShadcnDropdownMenu {...props} />;\n\nconst DropdownMenuPortal = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuPortal>\n) => <ShadcnDropdownMenuPortal {...props} />;\n\nconst DropdownMenuTrigger = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuTrigger>\n) => <ShadcnDropdownMenuTrigger {...props} />;\n\nconst DropdownMenuContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuContent>\n) => <ShadcnDropdownMenuContent {...props} />;\n\nconst DropdownMenuGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuGroup>\n) => <ShadcnDropdownMenuGroup {...props} />;\n\nconst DropdownMenuLabel = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuLabel>\n) => <ShadcnDropdownMenuLabel {...props} />;\n\nconst DropdownMenuItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuItem>) => (\n <ShadcnDropdownMenuItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuCheckboxItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuCheckboxItem>) => (\n <ShadcnDropdownMenuCheckboxItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuRadioGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuRadioGroup>\n) => <ShadcnDropdownMenuRadioGroup {...props} />;\n\nconst DropdownMenuRadioItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuRadioItem>) => (\n <ShadcnDropdownMenuRadioItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSeparator = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSeparator>\n) => <ShadcnDropdownMenuSeparator {...props} />;\n\nconst DropdownMenuShortcut = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuShortcut>\n) => <ShadcnDropdownMenuShortcut {...props} />;\n\nconst DropdownMenuSub = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSub>\n) => <ShadcnDropdownMenuSub {...props} />;\n\nconst DropdownMenuSubTrigger = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuSubTrigger>) => (\n <ShadcnDropdownMenuSubTrigger\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSubContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSubContent>\n) => <ShadcnDropdownMenuSubContent {...props} />;\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"names":["createContextScope","createMenuScope","DropdownMenu","React","useControllableState","jsx","useId","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","Primitive","composeRefs","composeEventHandlers","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Content","cn","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Item","jsxs","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","CheckIcon","DropdownMenuPrimitive.RadioGroup","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","DropdownMenuShortcut","DropdownMenuPrimitive.Sub","DropdownMenuPrimitive.SubTrigger","ChevronRightIcon","DropdownMenuPrimitive.SubContent","ShadcnDropdownMenu","ShadcnDropdownMenuPortal","ShadcnDropdownMenuTrigger","ShadcnDropdownMenuContent","ShadcnDropdownMenuGroup","ShadcnDropdownMenuLabel","ShadcnDropdownMenuItem","ShadcnDropdownMenuCheckboxItem","ShadcnDropdownMenuRadioGroup","ShadcnDropdownMenuRadioItem","ShadcnDropdownMenuSeparator","ShadcnDropdownMenuShortcut","ShadcnDropdownMenuSub","ShadcnDropdownMenuSubTrigger","ShadcnDropdownMenuSubContent"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../../src/shadcn/components/dropdown-menu.tsx","../../../src/primitives/DropdownMenu.tsx"],"sourcesContent":["\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\"\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n data-testid=\"nui-dropdown-icon\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n container,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content> &\n Pick<\n React.ComponentProps<typeof DropdownMenuPrimitive.Portal>,\n \"container\"\n >) {\n return (\n // `container` overrides the portal target (defaults to <body>). Consumers\n // pass a specific ancestor when <body> is the wrong parent — e.g. a\n // fullscreen element, whose subtree is the only thing the browser renders.\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\"z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"rtl:rotate-180 ms-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","import type React from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n DropdownMenu as ShadcnDropdownMenu,\n DropdownMenuPortal as ShadcnDropdownMenuPortal,\n DropdownMenuTrigger as ShadcnDropdownMenuTrigger,\n DropdownMenuContent as ShadcnDropdownMenuContent,\n DropdownMenuGroup as ShadcnDropdownMenuGroup,\n DropdownMenuLabel as ShadcnDropdownMenuLabel,\n DropdownMenuItem as ShadcnDropdownMenuItem,\n DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem,\n DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup,\n DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem,\n DropdownMenuSeparator as ShadcnDropdownMenuSeparator,\n DropdownMenuShortcut as ShadcnDropdownMenuShortcut,\n DropdownMenuSub as ShadcnDropdownMenuSub,\n DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger,\n DropdownMenuSubContent as ShadcnDropdownMenuSubContent,\n} from \"src/shadcn/components/dropdown-menu\";\n\nconst DropdownMenu = (\n props: React.ComponentProps<typeof ShadcnDropdownMenu>\n) => <ShadcnDropdownMenu {...props} />;\n\nconst DropdownMenuPortal = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuPortal>\n) => <ShadcnDropdownMenuPortal {...props} />;\n\nconst DropdownMenuTrigger = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuTrigger>\n) => <ShadcnDropdownMenuTrigger {...props} />;\n\nconst DropdownMenuContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuContent>\n) => <ShadcnDropdownMenuContent {...props} />;\n\nconst DropdownMenuGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuGroup>\n) => <ShadcnDropdownMenuGroup {...props} />;\n\nconst DropdownMenuLabel = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuLabel>\n) => <ShadcnDropdownMenuLabel {...props} />;\n\nconst DropdownMenuItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuItem>) => (\n <ShadcnDropdownMenuItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuCheckboxItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuCheckboxItem>) => (\n <ShadcnDropdownMenuCheckboxItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuRadioGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuRadioGroup>\n) => <ShadcnDropdownMenuRadioGroup {...props} />;\n\nconst DropdownMenuRadioItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuRadioItem>) => (\n <ShadcnDropdownMenuRadioItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSeparator = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSeparator>\n) => <ShadcnDropdownMenuSeparator {...props} />;\n\nconst DropdownMenuShortcut = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuShortcut>\n) => <ShadcnDropdownMenuShortcut {...props} />;\n\nconst DropdownMenuSub = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSub>\n) => <ShadcnDropdownMenuSub {...props} />;\n\nconst DropdownMenuSubTrigger = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuSubTrigger>) => (\n <ShadcnDropdownMenuSubTrigger\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSubContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSubContent>\n) => <ShadcnDropdownMenuSubContent {...props} />;\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"names":["createContextScope","createMenuScope","DropdownMenu","React","useControllableState","jsx","useId","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","Primitive","composeRefs","composeEventHandlers","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Content","cn","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Item","jsxs","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","CheckIcon","DropdownMenuPrimitive.RadioGroup","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","DropdownMenuShortcut","DropdownMenuPrimitive.Sub","DropdownMenuPrimitive.SubTrigger","ChevronRightIcon","DropdownMenuPrimitive.SubContent","ShadcnDropdownMenu","ShadcnDropdownMenuPortal","ShadcnDropdownMenuTrigger","ShadcnDropdownMenuContent","ShadcnDropdownMenuGroup","ShadcnDropdownMenuLabel","ShadcnDropdownMenuItem","ShadcnDropdownMenuCheckboxItem","ShadcnDropdownMenuRadioGroup","ShadcnDropdownMenuRadioItem","ShadcnDropdownMenuSeparator","ShadcnDropdownMenuShortcut","ShadcnDropdownMenuSub","ShadcnDropdownMenuSubTrigger","ShadcnDropdownMenuSubContent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- export { M as MultiEmailInput } from '../MultiEmailInput-DFWfld8K.js';
1
+ export { M as MultiEmailInput } from '../MultiEmailInput-D2uHxkeV.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import 'react-i18next';
@@ -14,7 +14,7 @@ export { E as Empty } from '../Empty-DINS0Uu4.js';
14
14
  export { I as Input } from '../Input-W8foyOcS.js';
15
15
  export { K as Kbd } from '../Kbd-CKfR8HlC.js';
16
16
  export { L as Label } from '../Label-B-R4PNNq.js';
17
- export { M as MultiEmailInput } from '../MultiEmailInput-DFWfld8K.js';
17
+ export { M as MultiEmailInput } from '../MultiEmailInput-D2uHxkeV.js';
18
18
  export { P as Pagination } from '../Pagination-yjG8uCpV.js';
19
19
  export { P as Popover } from '../Popover-BHGvcdV2.js';
20
20
  export { P as Progress } from '../Progress-DbtLbWf8.js';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { useField, useFormikContext, getIn } from 'formik';
4
4
  import { dissoc } from 'ramda';
5
- import { M as MultiEmailInput } from '../MultiEmailInput-DFWfld8K.js';
5
+ import { M as MultiEmailInput } from '../MultiEmailInput-D2uHxkeV.js';
6
6
  import 'react-i18next';
7
7
  import '../utils-BJnb9o5c.js';
8
8
  import '../primitives/Field.js';
@@ -93,7 +93,7 @@ import '../index-Jr4soqx3.js';
93
93
  import '../Tree-Cb1Zkayi.js';
94
94
  import '../chevron-right-DQnrO-ek.js';
95
95
  import '../redux-BKH6DnBB.js';
96
- import '../MultiEmailInput-DFWfld8K.js';
96
+ import '../MultiEmailInput-D2uHxkeV.js';
97
97
  import '../Dialog-Yw34WDqY.js';
98
98
  import '../primitives/Dialog.js';
99
99
  import '../dialog-CqXuhXNS.js';
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ export { E as Empty } from './Empty-DINS0Uu4.js';
20
20
  export { I as Input } from './Input-W8foyOcS.js';
21
21
  export { K as Kbd } from './Kbd-CKfR8HlC.js';
22
22
  export { L as Label } from './Label-B-R4PNNq.js';
23
- export { M as MultiEmailInput } from './MultiEmailInput-DFWfld8K.js';
23
+ export { M as MultiEmailInput } from './MultiEmailInput-D2uHxkeV.js';
24
24
  export { P as Pagination } from './Pagination-yjG8uCpV.js';
25
25
  export { P as Popover } from './Popover-BHGvcdV2.js';
26
26
  export { P as Progress } from './Progress-DbtLbWf8.js';
@@ -299,7 +299,7 @@ function DropdownMenuTrigger$1({
299
299
  Trigger,
300
300
  {
301
301
  "data-slot": "dropdown-menu-trigger",
302
- "data-testid": "natm-dropdown-icon",
302
+ "data-testid": "nui-dropdown-icon",
303
303
  ...props
304
304
  }
305
305
  );
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../src/shadcn/components/dropdown-menu.tsx","../../src/primitives/DropdownMenu.tsx"],"sourcesContent":["\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\"\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n data-testid=\"natm-dropdown-icon\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n container,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content> &\n Pick<\n React.ComponentProps<typeof DropdownMenuPrimitive.Portal>,\n \"container\"\n >) {\n return (\n // `container` overrides the portal target (defaults to <body>). Consumers\n // pass a specific ancestor when <body> is the wrong parent — e.g. a\n // fullscreen element, whose subtree is the only thing the browser renders.\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\"z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"rtl:rotate-180 ms-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","import type React from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n DropdownMenu as ShadcnDropdownMenu,\n DropdownMenuPortal as ShadcnDropdownMenuPortal,\n DropdownMenuTrigger as ShadcnDropdownMenuTrigger,\n DropdownMenuContent as ShadcnDropdownMenuContent,\n DropdownMenuGroup as ShadcnDropdownMenuGroup,\n DropdownMenuLabel as ShadcnDropdownMenuLabel,\n DropdownMenuItem as ShadcnDropdownMenuItem,\n DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem,\n DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup,\n DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem,\n DropdownMenuSeparator as ShadcnDropdownMenuSeparator,\n DropdownMenuShortcut as ShadcnDropdownMenuShortcut,\n DropdownMenuSub as ShadcnDropdownMenuSub,\n DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger,\n DropdownMenuSubContent as ShadcnDropdownMenuSubContent,\n} from \"src/shadcn/components/dropdown-menu\";\n\nconst DropdownMenu = (\n props: React.ComponentProps<typeof ShadcnDropdownMenu>\n) => <ShadcnDropdownMenu {...props} />;\n\nconst DropdownMenuPortal = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuPortal>\n) => <ShadcnDropdownMenuPortal {...props} />;\n\nconst DropdownMenuTrigger = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuTrigger>\n) => <ShadcnDropdownMenuTrigger {...props} />;\n\nconst DropdownMenuContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuContent>\n) => <ShadcnDropdownMenuContent {...props} />;\n\nconst DropdownMenuGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuGroup>\n) => <ShadcnDropdownMenuGroup {...props} />;\n\nconst DropdownMenuLabel = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuLabel>\n) => <ShadcnDropdownMenuLabel {...props} />;\n\nconst DropdownMenuItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuItem>) => (\n <ShadcnDropdownMenuItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuCheckboxItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuCheckboxItem>) => (\n <ShadcnDropdownMenuCheckboxItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuRadioGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuRadioGroup>\n) => <ShadcnDropdownMenuRadioGroup {...props} />;\n\nconst DropdownMenuRadioItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuRadioItem>) => (\n <ShadcnDropdownMenuRadioItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSeparator = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSeparator>\n) => <ShadcnDropdownMenuSeparator {...props} />;\n\nconst DropdownMenuShortcut = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuShortcut>\n) => <ShadcnDropdownMenuShortcut {...props} />;\n\nconst DropdownMenuSub = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSub>\n) => <ShadcnDropdownMenuSub {...props} />;\n\nconst DropdownMenuSubTrigger = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuSubTrigger>) => (\n <ShadcnDropdownMenuSubTrigger\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSubContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSubContent>\n) => <ShadcnDropdownMenuSubContent {...props} />;\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"names":["DropdownMenu","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Item","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","CheckIcon","DropdownMenuPrimitive.RadioGroup","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","DropdownMenuShortcut","DropdownMenuPrimitive.Sub","DropdownMenuPrimitive.SubTrigger","ChevronRightIcon","DropdownMenuPrimitive.SubContent","ShadcnDropdownMenu","ShadcnDropdownMenuPortal","ShadcnDropdownMenuTrigger","ShadcnDropdownMenuContent","ShadcnDropdownMenuGroup","ShadcnDropdownMenuLabel","ShadcnDropdownMenuItem","ShadcnDropdownMenuCheckboxItem","ShadcnDropdownMenuRadioGroup","ShadcnDropdownMenuRadioItem","ShadcnDropdownMenuSeparator","ShadcnDropdownMenuShortcut","ShadcnDropdownMenuSub","ShadcnDropdownMenuSubTrigger","ShadcnDropdownMenuSubContent"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../../src/shadcn/components/dropdown-menu.tsx","../../src/primitives/DropdownMenu.tsx"],"sourcesContent":["\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\"\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n data-testid=\"nui-dropdown-icon\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n container,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content> &\n Pick<\n React.ComponentProps<typeof DropdownMenuPrimitive.Portal>,\n \"container\"\n >) {\n return (\n // `container` overrides the portal target (defaults to <body>). Consumers\n // pass a specific ancestor when <body> is the wrong parent — e.g. a\n // fullscreen element, whose subtree is the only thing the browser renders.\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\"z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"rtl:rotate-180 ms-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","import type React from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n DropdownMenu as ShadcnDropdownMenu,\n DropdownMenuPortal as ShadcnDropdownMenuPortal,\n DropdownMenuTrigger as ShadcnDropdownMenuTrigger,\n DropdownMenuContent as ShadcnDropdownMenuContent,\n DropdownMenuGroup as ShadcnDropdownMenuGroup,\n DropdownMenuLabel as ShadcnDropdownMenuLabel,\n DropdownMenuItem as ShadcnDropdownMenuItem,\n DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem,\n DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup,\n DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem,\n DropdownMenuSeparator as ShadcnDropdownMenuSeparator,\n DropdownMenuShortcut as ShadcnDropdownMenuShortcut,\n DropdownMenuSub as ShadcnDropdownMenuSub,\n DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger,\n DropdownMenuSubContent as ShadcnDropdownMenuSubContent,\n} from \"src/shadcn/components/dropdown-menu\";\n\nconst DropdownMenu = (\n props: React.ComponentProps<typeof ShadcnDropdownMenu>\n) => <ShadcnDropdownMenu {...props} />;\n\nconst DropdownMenuPortal = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuPortal>\n) => <ShadcnDropdownMenuPortal {...props} />;\n\nconst DropdownMenuTrigger = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuTrigger>\n) => <ShadcnDropdownMenuTrigger {...props} />;\n\nconst DropdownMenuContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuContent>\n) => <ShadcnDropdownMenuContent {...props} />;\n\nconst DropdownMenuGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuGroup>\n) => <ShadcnDropdownMenuGroup {...props} />;\n\nconst DropdownMenuLabel = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuLabel>\n) => <ShadcnDropdownMenuLabel {...props} />;\n\nconst DropdownMenuItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuItem>) => (\n <ShadcnDropdownMenuItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuCheckboxItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuCheckboxItem>) => (\n <ShadcnDropdownMenuCheckboxItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuRadioGroup = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuRadioGroup>\n) => <ShadcnDropdownMenuRadioGroup {...props} />;\n\nconst DropdownMenuRadioItem = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuRadioItem>) => (\n <ShadcnDropdownMenuRadioItem\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSeparator = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSeparator>\n) => <ShadcnDropdownMenuSeparator {...props} />;\n\nconst DropdownMenuShortcut = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuShortcut>\n) => <ShadcnDropdownMenuShortcut {...props} />;\n\nconst DropdownMenuSub = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSub>\n) => <ShadcnDropdownMenuSub {...props} />;\n\nconst DropdownMenuSubTrigger = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnDropdownMenuSubTrigger>) => (\n <ShadcnDropdownMenuSubTrigger\n className={cn(\"cursor-pointer\", className)}\n {...props}\n />\n);\n\nconst DropdownMenuSubContent = (\n props: React.ComponentProps<typeof ShadcnDropdownMenuSubContent>\n) => <ShadcnDropdownMenuSubContent {...props} />;\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"names":["DropdownMenu","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","MenuPrimitive.Content","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","DropdownMenuSub","MenuPrimitive.Sub","DropdownMenuSubTrigger","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Group","DropdownMenuPrimitive.Item","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","CheckIcon","DropdownMenuPrimitive.RadioGroup","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","DropdownMenuShortcut","DropdownMenuPrimitive.Sub","DropdownMenuPrimitive.SubTrigger","ChevronRightIcon","DropdownMenuPrimitive.SubContent","ShadcnDropdownMenu","ShadcnDropdownMenuPortal","ShadcnDropdownMenuTrigger","ShadcnDropdownMenuContent","ShadcnDropdownMenuGroup","ShadcnDropdownMenuLabel","ShadcnDropdownMenuItem","ShadcnDropdownMenuCheckboxItem","ShadcnDropdownMenuRadioGroup","ShadcnDropdownMenuRadioItem","ShadcnDropdownMenuSeparator","ShadcnDropdownMenuShortcut","ShadcnDropdownMenuSub","ShadcnDropdownMenuSubTrigger","ShadcnDropdownMenuSubContent"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-atoms",
3
- "version": "1.0.115",
3
+ "version": "1.0.117",
4
4
  "author": "BigBinary",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiEmailInput-DFWfld8K.js","sources":["../src/components/MultiEmailInput/constants.ts","../src/components/MultiEmailInput/utils.ts","../src/components/MultiEmailInput/useMultiEmailState.ts","../src/components/MultiEmailInput/MultiEmailInput.tsx"],"sourcesContent":["export const EMAIL_REGEX =\n /^[A-Z0-9._%+-]+@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*\\.[A-Z]{2,}$/i;\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const DOMAIN_REGEX = /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const VALIDATION_REGEX = {\n email: EMAIL_REGEX,\n domain: DOMAIN_REGEX,\n} as const;\n\nexport const ENTITY_FALLBACK = {\n email: { one: \"email\", other: \"emails\" },\n domain: { one: \"domain\", other: \"domains\" },\n} as const;\n","import type { TFunction } from \"i18next\";\n\nimport { ENTITY_FALLBACK, VALIDATION_REGEX } from \"./constants\";\nimport type { EmailValue, EntryType } from \"./types\";\n\nexport const formatEmailInputOption = (\n email: string,\n entryType: EntryType = \"email\"\n): EmailValue => ({\n label: email,\n value: email,\n valid: VALIDATION_REGEX[entryType].test(email),\n});\n\nexport const pruneDuplicates = (\n existing: EmailValue[],\n newEmailStrings: string[],\n entryType: EntryType = \"email\"\n): { uniqueEmails: EmailValue[]; duplicates: string[] } => {\n const seen = new Set(existing.map(e => e.value.toLowerCase()));\n const duplicates: string[] = [];\n const added: EmailValue[] = [];\n\n for (const emailStr of newEmailStrings) {\n const lower = emailStr.toLowerCase();\n if (seen.has(lower)) {\n duplicates.push(emailStr);\n } else {\n seen.add(lower);\n added.push(formatEmailInputOption(emailStr, entryType));\n }\n }\n\n return { uniqueEmails: [...existing, ...added], duplicates };\n};\n\nexport const filterValidEmails = (emails: EmailValue[]): EmailValue[] =>\n emails.filter(email => email.valid);\n\nexport const getEntityLabel = (\n t: TFunction,\n entryType: EntryType,\n count: number\n): string =>\n t(\n `neetoatoms.multiEmailInput.${entryType}`,\n ENTITY_FALLBACK[entryType][count === 1 ? \"one\" : \"other\"],\n { count }\n );\n","import { useState, useCallback, useMemo } from \"react\";\n\nimport { UNSTRICT_EMAIL_REGEX, SEPARATION_REGEX } from \"./constants\";\nimport { pruneDuplicates, filterValidEmails } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nexport function useMultiEmailState(props: MultiEmailInputProps) {\n const {\n entryType = \"email\",\n value = [],\n onChange,\n onBlur,\n visibleEmailsCount = 3,\n isAlwaysExpanded = false,\n counter,\n filterInvalidEmails,\n } = props;\n\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState<string[]>([]);\n\n const addEmails = useCallback(\n (input: string) => {\n const trimmed = input.trim();\n if (!trimmed) return;\n const separated = trimmed.match(SEPARATION_REGEX) || [];\n const matches =\n entryType === \"email\"\n ? trimmed.match(UNSTRICT_EMAIL_REGEX) || separated\n : separated;\n if (matches.length === 0) return;\n const { uniqueEmails, duplicates } = pruneDuplicates(\n value,\n matches,\n entryType\n );\n onChange?.(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n },\n [value, onChange, entryType]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (!inputValue && event.key === \"Backspace\" && value.length > 0) {\n onChange?.(value.slice(0, -1));\n return;\n }\n if (!inputValue) return;\n if ([\"Enter\", \"Tab\", \",\", \" \"].includes(event.key)) {\n addEmails(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [inputValue, value, onChange, addEmails]\n );\n\n const handlePaste = useCallback(\n (event: React.ClipboardEvent<HTMLInputElement>) => {\n const text = event.clipboardData.getData(\"text\");\n if (!text) return;\n event.preventDefault();\n addEmails(text);\n },\n [addEmails]\n );\n\n const handleBlur = useCallback(() => {\n if (inputValue) {\n addEmails(inputValue);\n } else {\n onBlur?.();\n }\n setIsFocused(false);\n setDuplicateEmails([]);\n }, [inputValue, addEmails, onBlur]);\n\n const handleFocus = useCallback(() => setIsFocused(true), []);\n\n const handleChipRemove = useCallback(\n (emailValue: string) =>\n onChange?.(value.filter(e => e.value !== emailValue)),\n [value, onChange]\n );\n\n const handleFilterInvalidEmails = useCallback(\n () => onChange?.(filterValidEmails(value)),\n [value, onChange]\n );\n\n const validCount = useMemo(() => value.filter(e => e.valid).length, [value]);\n const isCounterVisible =\n !!counter &&\n (typeof counter === \"boolean\" ||\n !counter.startsFrom ||\n validCount >= counter.startsFrom);\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n const visibleEmails = shouldCollapse\n ? value.slice(0, visibleEmailsCount)\n : value;\n const hiddenCount = shouldCollapse ? value.length - visibleEmailsCount : 0;\n const isFilterLinkVisible =\n !!filterInvalidEmails && value.length > validCount;\n\n return {\n inputValue,\n setInputValue,\n isFocused,\n duplicateEmails,\n handleKeyDown,\n handlePaste,\n handleBlur,\n handleFocus,\n handleChipRemove,\n handleFilterInvalidEmails,\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n isFilterLinkVisible,\n };\n}\n","import { forwardRef, useId } from \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Field, FieldLabel, FieldContent } from \"src/primitives/Field\";\nimport { buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { hyphenize } from \"src/utils/hyphenize\";\nimport { withIconSize } from \"src/utils/withIconSize\";\nimport { useMultiEmailState } from \"./useMultiEmailState\";\nimport { getEntityLabel } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nconst CHIP_BASE =\n \"flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground\";\nconst CHIP_INVALID =\n \"border border-destructive text-destructive bg-destructive/10\";\nconst CHIPS_CONTAINER =\n \"flex min-h-8 flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-base md:text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50\";\nconst CHIPS_ERROR =\n \"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40\";\n\nexport const MultiEmailInput = forwardRef<\n HTMLInputElement,\n MultiEmailInputProps\n>((props, ref) => {\n const {\n entryType = \"email\",\n label,\n placeholder = \"\",\n helpText,\n error,\n disabled = false,\n required = false,\n maxHeight = 200,\n counter,\n filterInvalidEmails,\n prefix,\n suffix,\n labelProps,\n className,\n dataTestId,\n } = props;\n const id = useId();\n const { t } = useTranslation();\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n const {\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n inputValue,\n setInputValue,\n handleKeyDown,\n handlePaste,\n handleFocus,\n handleBlur,\n handleChipRemove,\n isFilterLinkVisible,\n handleFilterInvalidEmails,\n duplicateEmails,\n } = useMultiEmailState(props);\n\n return (\n <Field\n className={cn(\"flex flex-col gap-1.5\", className)}\n data-testid=\"email-input-wrapper\"\n >\n {(label || isCounterVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel\n htmlFor={id}\n data-testid={`${testIdPrefix}-input-label`}\n {...labelProps}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n {\" *\"}\n </span>\n )}\n </FieldLabel>\n )}\n {isCounterVisible && (\n <span\n className=\"text-xs text-muted-foreground\"\n data-testid={`${testIdPrefix}-email-counter`}\n >\n {validCount}{\" \"}\n {typeof counter === \"object\" && counter?.label\n ? counter.label\n : getEntityLabel(t, entryType, validCount)}\n </span>\n )}\n </div>\n )}\n <div\n data-testid=\"multi-email-select-container\"\n className={cn(\n CHIPS_CONTAINER,\n !!error && CHIPS_ERROR,\n disabled && \"pointer-events-none opacity-50\"\n )}\n style={{ maxHeight: `${maxHeight}px`, overflowY: \"auto\" }}\n >\n {prefix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(prefix, \"size-4\")}\n </div>\n )}\n {visibleEmails.map(email => (\n <span\n key={email.value}\n className={cn(CHIP_BASE, !email.valid && CHIP_INVALID)}\n >\n {email.label}\n {!disabled && (\n <button\n type=\"button\"\n tabIndex={-1}\n data-testid={`${hyphenize(email.label)}-remove-icon`}\n className=\"-ms-0.5 rounded-xs opacity-50 hover:opacity-100\"\n onMouseDown={e => e.preventDefault()}\n onClick={() => handleChipRemove(email.value)}\n aria-label={t(\n \"neetoatoms.multiEmailInput.remove\",\n \"Remove {{label}}\",\n {\n label: email.label,\n }\n )}\n >\n <XIcon className=\"size-3 pointer-events-none\" />\n </button>\n )}\n </span>\n ))}\n {hiddenCount > 0 && (\n <span className=\"flex h-[calc(--spacing(5.25))] items-center rounded-sm bg-secondary px-1.5 text-xs font-medium text-secondary-foreground\">\n {t(\"neetoatoms.multiEmailInput.hiddenCount\", \"+{{total}} more\", {\n total: hiddenCount,\n })}\n </span>\n )}\n <input\n ref={ref}\n id={id}\n type=\"text\"\n data-testid=\"email-select-input-field\"\n value={inputValue}\n onChange={e => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={props.value?.length ? \"\" : placeholder}\n disabled={disabled}\n className=\"min-w-16 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground md:text-sm\"\n />\n {suffix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(suffix, \"size-4\")}\n </div>\n )}\n </div>\n <FieldContent>\n {!!error && (\n <p\n className=\"text-[0.8rem] text-destructive\"\n data-testid={`${testIdPrefix}-input-error`}\n >\n {error}\n {isFilterLinkVisible && (\n <button\n type=\"button\"\n className=\"ml-1 cursor-pointer font-semibold underline\"\n onClick={handleFilterInvalidEmails}\n >\n {filterInvalidEmails?.label ??\n t(\n \"neetoatoms.multiEmailInput.removeInvalid\",\n \"Click here to remove invalid {{entity}}.\",\n { entity: getEntityLabel(t, entryType, 0) }\n )}\n </button>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"text-[0.8rem] text-muted-foreground\"\n data-testid={`${testIdPrefix}-input-help`}\n >\n {helpText}\n </p>\n )}\n {duplicateEmails.length > 0 && (\n <p\n className=\"text-[0.8rem] text-amber-600 dark:text-amber-400\"\n data-testid={`${testIdPrefix}-duplicate-emails-warning`}\n >\n {t(\n \"neetoatoms.multiEmailInput.duplicateWarning\",\n \"Removed {{total}} duplicate {{entity}} from the list: {{items}}\",\n {\n total: duplicateEmails.length,\n entity: getEntityLabel(t, entryType, duplicateEmails.length),\n items: duplicateEmails.join(\", \"),\n }\n )}\n </p>\n )}\n </FieldContent>\n </Field>\n );\n});\nMultiEmailInput.displayName = \"MultiEmailInput\";\n"],"names":["XIcon"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiEmailInput-CW0TQEU2.js","sources":["../../src/components/MultiEmailInput/constants.ts","../../src/components/MultiEmailInput/utils.ts","../../src/components/MultiEmailInput/useMultiEmailState.ts","../../src/components/MultiEmailInput/MultiEmailInput.tsx"],"sourcesContent":["export const EMAIL_REGEX =\n /^[A-Z0-9._%+-]+@[A-Z0-9-]+(?:\\.[A-Z0-9-]+)*\\.[A-Z]{2,}$/i;\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const DOMAIN_REGEX = /^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z0-9-]{2,63}$/;\n\nexport const SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const VALIDATION_REGEX = {\n email: EMAIL_REGEX,\n domain: DOMAIN_REGEX,\n} as const;\n\nexport const ENTITY_FALLBACK = {\n email: { one: \"email\", other: \"emails\" },\n domain: { one: \"domain\", other: \"domains\" },\n} as const;\n","import type { TFunction } from \"i18next\";\n\nimport { ENTITY_FALLBACK, VALIDATION_REGEX } from \"./constants\";\nimport type { EmailValue, EntryType } from \"./types\";\n\nexport const formatEmailInputOption = (\n email: string,\n entryType: EntryType = \"email\"\n): EmailValue => ({\n label: email,\n value: email,\n valid: VALIDATION_REGEX[entryType].test(email),\n});\n\nexport const pruneDuplicates = (\n existing: EmailValue[],\n newEmailStrings: string[],\n entryType: EntryType = \"email\"\n): { uniqueEmails: EmailValue[]; duplicates: string[] } => {\n const seen = new Set(existing.map(e => e.value.toLowerCase()));\n const duplicates: string[] = [];\n const added: EmailValue[] = [];\n\n for (const emailStr of newEmailStrings) {\n const lower = emailStr.toLowerCase();\n if (seen.has(lower)) {\n duplicates.push(emailStr);\n } else {\n seen.add(lower);\n added.push(formatEmailInputOption(emailStr, entryType));\n }\n }\n\n return { uniqueEmails: [...existing, ...added], duplicates };\n};\n\nexport const filterValidEmails = (emails: EmailValue[]): EmailValue[] =>\n emails.filter(email => email.valid);\n\nexport const getEntityLabel = (\n t: TFunction,\n entryType: EntryType,\n count: number\n): string =>\n t(\n `neetoatoms.multiEmailInput.${entryType}`,\n ENTITY_FALLBACK[entryType][count === 1 ? \"one\" : \"other\"],\n { count }\n );\n","import { useState, useCallback, useMemo } from \"react\";\n\nimport { UNSTRICT_EMAIL_REGEX, SEPARATION_REGEX } from \"./constants\";\nimport { pruneDuplicates, filterValidEmails } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nexport function useMultiEmailState(props: MultiEmailInputProps) {\n const {\n entryType = \"email\",\n value = [],\n onChange,\n onBlur,\n visibleEmailsCount = 3,\n isAlwaysExpanded = false,\n counter,\n filterInvalidEmails,\n } = props;\n\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState<string[]>([]);\n\n const addEmails = useCallback(\n (input: string) => {\n const trimmed = input.trim();\n if (!trimmed) return;\n const separated = trimmed.match(SEPARATION_REGEX) || [];\n const matches =\n entryType === \"email\"\n ? trimmed.match(UNSTRICT_EMAIL_REGEX) || separated\n : separated;\n if (matches.length === 0) return;\n const { uniqueEmails, duplicates } = pruneDuplicates(\n value,\n matches,\n entryType\n );\n onChange?.(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n },\n [value, onChange, entryType]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (!inputValue && event.key === \"Backspace\" && value.length > 0) {\n onChange?.(value.slice(0, -1));\n return;\n }\n if (!inputValue) return;\n if ([\"Enter\", \"Tab\", \",\", \" \"].includes(event.key)) {\n addEmails(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [inputValue, value, onChange, addEmails]\n );\n\n const handlePaste = useCallback(\n (event: React.ClipboardEvent<HTMLInputElement>) => {\n const text = event.clipboardData.getData(\"text\");\n if (!text) return;\n event.preventDefault();\n addEmails(text);\n },\n [addEmails]\n );\n\n const handleBlur = useCallback(() => {\n if (inputValue) {\n addEmails(inputValue);\n } else {\n onBlur?.();\n }\n setIsFocused(false);\n setDuplicateEmails([]);\n }, [inputValue, addEmails, onBlur]);\n\n const handleFocus = useCallback(() => setIsFocused(true), []);\n\n const handleChipRemove = useCallback(\n (emailValue: string) =>\n onChange?.(value.filter(e => e.value !== emailValue)),\n [value, onChange]\n );\n\n const handleFilterInvalidEmails = useCallback(\n () => onChange?.(filterValidEmails(value)),\n [value, onChange]\n );\n\n const validCount = useMemo(() => value.filter(e => e.valid).length, [value]);\n const isCounterVisible =\n !!counter &&\n (typeof counter === \"boolean\" ||\n !counter.startsFrom ||\n validCount >= counter.startsFrom);\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n const visibleEmails = shouldCollapse\n ? value.slice(0, visibleEmailsCount)\n : value;\n const hiddenCount = shouldCollapse ? value.length - visibleEmailsCount : 0;\n const isFilterLinkVisible =\n !!filterInvalidEmails && value.length > validCount;\n\n return {\n inputValue,\n setInputValue,\n isFocused,\n duplicateEmails,\n handleKeyDown,\n handlePaste,\n handleBlur,\n handleFocus,\n handleChipRemove,\n handleFilterInvalidEmails,\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n isFilterLinkVisible,\n };\n}\n","import { forwardRef, useId } from \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Field, FieldLabel, FieldContent } from \"src/primitives/Field\";\nimport { buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { hyphenize } from \"src/utils/hyphenize\";\nimport { withIconSize } from \"src/utils/withIconSize\";\nimport { useMultiEmailState } from \"./useMultiEmailState\";\nimport { getEntityLabel } from \"./utils\";\nimport type { MultiEmailInputProps } from \"./types\";\n\nconst CHIP_BASE =\n \"flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground\";\nconst CHIP_INVALID =\n \"border border-destructive text-destructive bg-destructive/10\";\nconst CHIPS_CONTAINER =\n \"flex min-h-8 flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-base md:text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50\";\nconst CHIPS_ERROR =\n \"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40\";\n\nexport const MultiEmailInput = forwardRef<\n HTMLInputElement,\n MultiEmailInputProps\n>((props, ref) => {\n const {\n entryType = \"email\",\n label,\n placeholder = \"\",\n helpText,\n error,\n disabled = false,\n required = false,\n maxHeight = 200,\n counter,\n filterInvalidEmails,\n prefix,\n suffix,\n labelProps,\n className,\n dataTestId,\n } = props;\n const id = useId();\n const { t } = useTranslation();\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n const {\n isCounterVisible,\n validCount,\n visibleEmails,\n hiddenCount,\n inputValue,\n setInputValue,\n handleKeyDown,\n handlePaste,\n handleFocus,\n handleBlur,\n handleChipRemove,\n isFilterLinkVisible,\n handleFilterInvalidEmails,\n duplicateEmails,\n } = useMultiEmailState(props);\n\n return (\n <Field\n className={cn(\"flex flex-col gap-1.5\", className)}\n data-testid=\"email-input-wrapper\"\n >\n {(label || isCounterVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel\n htmlFor={id}\n data-testid={`${testIdPrefix}-input-label`}\n {...labelProps}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n {\" *\"}\n </span>\n )}\n </FieldLabel>\n )}\n {isCounterVisible && (\n <span\n className=\"text-xs text-muted-foreground\"\n data-testid={`${testIdPrefix}-email-counter`}\n >\n {validCount}{\" \"}\n {typeof counter === \"object\" && counter?.label\n ? counter.label\n : getEntityLabel(t, entryType, validCount)}\n </span>\n )}\n </div>\n )}\n <div\n data-testid=\"multi-email-select-container\"\n className={cn(\n CHIPS_CONTAINER,\n !!error && CHIPS_ERROR,\n disabled && \"pointer-events-none opacity-50\"\n )}\n style={{ maxHeight: `${maxHeight}px`, overflowY: \"auto\" }}\n >\n {prefix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(prefix, \"size-4\")}\n </div>\n )}\n {visibleEmails.map(email => (\n <span\n key={email.value}\n className={cn(CHIP_BASE, !email.valid && CHIP_INVALID)}\n >\n {email.label}\n {!disabled && (\n <button\n type=\"button\"\n tabIndex={-1}\n data-testid={`${hyphenize(email.label)}-remove-icon`}\n className=\"-ms-0.5 rounded-xs opacity-50 hover:opacity-100\"\n onMouseDown={e => e.preventDefault()}\n onClick={() => handleChipRemove(email.value)}\n aria-label={t(\n \"neetoatoms.multiEmailInput.remove\",\n \"Remove {{label}}\",\n {\n label: email.label,\n }\n )}\n >\n <XIcon className=\"size-3 pointer-events-none\" />\n </button>\n )}\n </span>\n ))}\n {hiddenCount > 0 && (\n <span className=\"flex h-[calc(--spacing(5.25))] items-center rounded-sm bg-secondary px-1.5 text-xs font-medium text-secondary-foreground\">\n {t(\"neetoatoms.multiEmailInput.hiddenCount\", \"+{{total}} more\", {\n total: hiddenCount,\n })}\n </span>\n )}\n <input\n ref={ref}\n id={id}\n type=\"text\"\n data-testid=\"email-select-input-field\"\n value={inputValue}\n onChange={e => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onBlur={handleBlur}\n placeholder={props.value?.length ? \"\" : placeholder}\n disabled={disabled}\n className=\"min-w-16 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground md:text-sm\"\n />\n {suffix && (\n <div className=\"shrink-0 text-muted-foreground\">\n {withIconSize(suffix, \"size-4\")}\n </div>\n )}\n </div>\n <FieldContent>\n {!!error && (\n <p\n className=\"text-[0.8rem] text-destructive\"\n data-testid={`${testIdPrefix}-input-error`}\n >\n {error}\n {isFilterLinkVisible && (\n <button\n type=\"button\"\n className=\"ml-1 cursor-pointer font-semibold underline\"\n onClick={handleFilterInvalidEmails}\n >\n {filterInvalidEmails?.label ??\n t(\n \"neetoatoms.multiEmailInput.removeInvalid\",\n \"Click here to remove invalid {{entity}}.\",\n { entity: getEntityLabel(t, entryType, 0) }\n )}\n </button>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"text-[0.8rem] text-muted-foreground\"\n data-testid={`${testIdPrefix}-input-help`}\n >\n {helpText}\n </p>\n )}\n {duplicateEmails.length > 0 && (\n <p\n className=\"text-[0.8rem] text-amber-600 dark:text-amber-400\"\n data-testid={`${testIdPrefix}-duplicate-emails-warning`}\n >\n {t(\n \"neetoatoms.multiEmailInput.duplicateWarning\",\n \"Removed {{total}} duplicate {{entity}} from the list: {{items}}\",\n {\n total: duplicateEmails.length,\n entity: getEntityLabel(t, entryType, duplicateEmails.length),\n items: duplicateEmails.join(\", \"),\n }\n )}\n </p>\n )}\n </FieldContent>\n </Field>\n );\n});\nMultiEmailInput.displayName = \"MultiEmailInput\";\n"],"names":["useState","useCallback","useMemo","forwardRef","useId","useTranslation","buildTestIdPrefix","jsxs","Field","cn","FieldLabel","jsx","withIconSize","hyphenize","XIcon","FieldContent"],"mappings":";;;;;;;;;;;;AAAO,MAAM,WAAA,GACX,0DAAA;AAEK,MAAM,oBAAA,GACX,sJAAA;AAEK,MAAM,YAAA,GAAe,+CAAA;AAErB,MAAM,gBAAA,GAAmB,UAAA;AAEzB,MAAM,gBAAA,GAAmB;AAAA,EAC9B,KAAA,EAAO,WAAA;AAAA,EACP,MAAA,EAAQ;AACV,CAAA;AAEO,MAAM,eAAA,GAAkB;AAAA,EAC7B,KAAA,EAAO,EAAE,GAAA,EAAK,OAAA,EAAS,OAAO,QAAA,EAAS;AAAA,EACvC,MAAA,EAAQ,EAAE,GAAA,EAAK,QAAA,EAAU,OAAO,SAAA;AAClC,CAAA;;ACbO,MAAM,sBAAA,GAAyB,CACpC,KAAA,EACA,SAAA,GAAuB,OAAA,MACP;AAAA,EAChB,KAAA,EAAO,KAAA;AAAA,EACP,KAAA,EAAO,KAAA;AAAA,EACP,KAAA,EAAO,gBAAA,CAAiB,SAAS,CAAA,CAAE,KAAK,KAAK;AAC/C,CAAA,CAAA;AAEO,MAAM,eAAA,GAAkB,CAC7B,QAAA,EACA,eAAA,EACA,YAAuB,OAAA,KACkC;AACzD,EAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,QAAA,CAAS,GAAA,CAAI,OAAK,CAAA,CAAE,KAAA,CAAM,WAAA,EAAa,CAAC,CAAA;AAC7D,EAAA,MAAM,aAAuB,EAAC;AAC9B,EAAA,MAAM,QAAsB,EAAC;AAE7B,EAAA,KAAA,MAAW,YAAY,eAAA,EAAiB;AACtC,IAAA,MAAM,KAAA,GAAQ,SAAS,WAAA,EAAY;AACnC,IAAA,IAAI,IAAA,CAAK,GAAA,CAAI,KAAK,CAAA,EAAG;AACnB,MAAA,UAAA,CAAW,KAAK,QAAQ,CAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,IAAI,KAAK,CAAA;AACd,MAAA,KAAA,CAAM,IAAA,CAAK,sBAAA,CAAuB,QAAA,EAAU,SAAS,CAAC,CAAA;AAAA,IACxD;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,cAAc,CAAC,GAAG,UAAU,GAAG,KAAK,GAAG,UAAA,EAAW;AAC7D,CAAA;AAEO,MAAM,oBAAoB,CAAC,MAAA,KAChC,OAAO,MAAA,CAAO,CAAA,KAAA,KAAS,MAAM,KAAK,CAAA;AAE7B,MAAM,cAAA,GAAiB,CAC5B,CAAA,EACA,SAAA,EACA,KAAA,KAEA,CAAA;AAAA,EACE,8BAA8B,SAAS,CAAA,CAAA;AAAA,EACvC,gBAAgB,SAAS,CAAA,CAAE,KAAA,KAAU,CAAA,GAAI,QAAQ,OAAO,CAAA;AAAA,EACxD,EAAE,KAAA;AACJ,CAAA;;AC1CK,SAAS,mBAAmB,KAAA,EAA6B;AAC9D,EAAA,MAAM;AAAA,IACJ,SAAA,GAAY,OAAA;AAAA,IACZ,QAAQ,EAAC;AAAA,IACT,QAAA;AAAA,IACA,MAAA;AAAA,IACA,kBAAA,GAAqB,CAAA;AAAA,IACrB,gBAAA,GAAmB,KAAA;AAAA,IACnB,OAAA;AAAA,IACA;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,cAAA,CAAmB,EAAE,CAAA;AAEnE,EAAA,MAAM,SAAA,GAAYC,iBAAA;AAAA,IAChB,CAAC,KAAA,KAAkB;AACjB,MAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,MAAA,IAAI,CAAC,OAAA,EAAS;AACd,MAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,KAAA,CAAM,gBAAgB,KAAK,EAAC;AACtD,MAAA,MAAM,UACJ,SAAA,KAAc,OAAA,GACV,QAAQ,KAAA,CAAM,oBAAoB,KAAK,SAAA,GACvC,SAAA;AACN,MAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC1B,MAAA,MAAM,EAAE,YAAA,EAAc,UAAA,EAAW,GAAI,eAAA;AAAA,QACnC,KAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,QAAA,GAAW,YAAY,CAAA;AACvB,MAAA,kBAAA,CAAmB,UAAU,CAAA;AAC7B,MAAA,aAAA,CAAc,EAAE,CAAA;AAAA,IAClB,CAAA;AAAA,IACA,CAAC,KAAA,EAAO,QAAA,EAAU,SAAS;AAAA,GAC7B;AAEA,EAAA,MAAM,aAAA,GAAgBA,iBAAA;AAAA,IACpB,CAAC,KAAA,KAAiD;AAChD,MAAA,IAAI,CAAC,UAAA,IAAc,KAAA,CAAM,QAAQ,WAAA,IAAe,KAAA,CAAM,SAAS,CAAA,EAAG;AAChE,QAAA,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,CAAA;AAC7B,QAAA;AAAA,MACF;AACA,MAAA,IAAI,CAAC,UAAA,EAAY;AACjB,MAAA,IAAI,CAAC,SAAS,KAAA,EAAO,GAAA,EAAK,GAAG,CAAA,CAAE,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,EAAG;AAClD,QAAA,SAAA,CAAU,UAAU,CAAA;AACpB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,KAAA,CAAM,eAAA,EAAgB;AAAA,MACxB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,UAAA,EAAY,KAAA,EAAO,QAAA,EAAU,SAAS;AAAA,GACzC;AAEA,EAAA,MAAM,WAAA,GAAcA,iBAAA;AAAA,IAClB,CAAC,KAAA,KAAkD;AACjD,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,aAAA,CAAc,OAAA,CAAQ,MAAM,CAAA;AAC/C,MAAA,IAAI,CAAC,IAAA,EAAM;AACX,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,SAAA,CAAU,IAAI,CAAA;AAAA,IAChB,CAAA;AAAA,IACA,CAAC,SAAS;AAAA,GACZ;AAEA,EAAA,MAAM,UAAA,GAAaA,kBAAY,MAAM;AACnC,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,SAAA,CAAU,UAAU,CAAA;AAAA,IACtB,CAAA,MAAO;AACL,MAAA,MAAA,IAAS;AAAA,IACX;AACA,IAAA,YAAA,CAAa,KAAK,CAAA;AAClB,IAAA,kBAAA,CAAmB,EAAE,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,UAAA,EAAY,SAAA,EAAW,MAAM,CAAC,CAAA;AAElC,EAAA,MAAM,cAAcA,iBAAA,CAAY,MAAM,aAAa,IAAI,CAAA,EAAG,EAAE,CAAA;AAE5D,EAAA,MAAM,gBAAA,GAAmBA,iBAAA;AAAA,IACvB,CAAC,eACC,QAAA,GAAW,KAAA,CAAM,OAAO,CAAA,CAAA,KAAK,CAAA,CAAE,KAAA,KAAU,UAAU,CAAC,CAAA;AAAA,IACtD,CAAC,OAAO,QAAQ;AAAA,GAClB;AAEA,EAAA,MAAM,yBAAA,GAA4BA,iBAAA;AAAA,IAChC,MAAM,QAAA,GAAW,iBAAA,CAAkB,KAAK,CAAC,CAAA;AAAA,IACzC,CAAC,OAAO,QAAQ;AAAA,GAClB;AAEA,EAAA,MAAM,UAAA,GAAaC,aAAA,CAAQ,MAAM,KAAA,CAAM,MAAA,CAAO,CAAA,CAAA,KAAK,CAAA,CAAE,KAAK,CAAA,CAAE,MAAA,EAAQ,CAAC,KAAK,CAAC,CAAA;AAC3E,EAAA,MAAM,gBAAA,GACJ,CAAC,CAAC,OAAA,KACD,OAAO,OAAA,KAAY,SAAA,IAClB,CAAC,OAAA,CAAQ,UAAA,IACT,UAAA,IAAc,OAAA,CAAQ,UAAA,CAAA;AAC1B,EAAA,MAAM,iBACJ,CAAC,gBAAA,IAAoB,CAAC,SAAA,IAAa,MAAM,MAAA,GAAS,kBAAA;AACpD,EAAA,MAAM,gBAAgB,cAAA,GAClB,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,kBAAkB,CAAA,GACjC,KAAA;AACJ,EAAA,MAAM,WAAA,GAAc,cAAA,GAAiB,KAAA,CAAM,MAAA,GAAS,kBAAA,GAAqB,CAAA;AACzE,EAAA,MAAM,mBAAA,GACJ,CAAC,CAAC,mBAAA,IAAuB,MAAM,MAAA,GAAS,UAAA;AAE1C,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAA;AAAA,IACA,yBAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF;;AChHA,MAAM,SAAA,GACJ,yJAAA;AACF,MAAM,YAAA,GACJ,8DAAA;AACF,MAAM,eAAA,GACJ,mOAAA;AACF,MAAM,WAAA,GACJ,mGAAA;AAEK,MAAM,eAAA,GAAkBC,gBAAA,CAG7B,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChB,EAAA,MAAM;AAAA,IACJ,SAAA,GAAY,OAAA;AAAA,IACZ,KAAA;AAAA,IACA,WAAA,GAAc,EAAA;AAAA,IACd,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA,GAAW,KAAA;AAAA,IACX,QAAA,GAAW,KAAA;AAAA,IACX,SAAA,GAAY,GAAA;AAAA,IACZ,OAAA;AAAA,IACA,mBAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF,GAAI,KAAA;AACJ,EAAA,MAAM,KAAKC,WAAA,EAAM;AACjB,EAAA,MAAM,EAAE,CAAA,EAAE,GAAIC,2BAAA,EAAe;AAC7B,EAAA,MAAM,YAAA,GAAeC,0BAAA,CAAkB,UAAA,EAAY,KAAK,CAAA;AACxD,EAAA,MAAM;AAAA,IACJ,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,mBAAA;AAAA,IACA,yBAAA;AAAA,IACA;AAAA,GACF,GAAI,mBAAmB,KAAK,CAAA;AAE5B,EAAA,uBACEC,eAAA;AAAA,IAACC,sBAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,QAAA,CAAG,uBAAA,EAAyB,SAAS,CAAA;AAAA,MAChD,aAAA,EAAY,qBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,QAAA,CAAA,KAAA,IAAS,gBAAA,qBACTF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mCAAA,EACZ,QAAA,EAAA;AAAA,UAAA,KAAA,oBACCA,eAAA;AAAA,YAACG,2BAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAS,EAAA;AAAA,cACT,aAAA,EAAa,GAAG,YAAY,CAAA,YAAA,CAAA;AAAA,cAC3B,GAAG,UAAA;AAAA,cAEH,QAAA,EAAA;AAAA,gBAAA,KAAA;AAAA,gBACA,4BACCC,cAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,SAAA,EAAU,oBAChC,QAAA,EAAA,IAAA,EACH;AAAA;AAAA;AAAA,WAEJ;AAAA,UAED,gBAAA,oBACCJ,eAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,+BAAA;AAAA,cACV,aAAA,EAAa,GAAG,YAAY,CAAA,cAAA,CAAA;AAAA,cAE3B,QAAA,EAAA;AAAA,gBAAA,UAAA;AAAA,gBAAY,GAAA;AAAA,gBACZ,OAAO,OAAA,KAAY,QAAA,IAAY,OAAA,EAAS,KAAA,GACrC,QAAQ,KAAA,GACR,cAAA,CAAe,CAAA,EAAG,SAAA,EAAW,UAAU;AAAA;AAAA;AAAA;AAC7C,SAAA,EAEJ,CAAA;AAAA,wBAEFA,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,8BAAA;AAAA,YACZ,SAAA,EAAWE,QAAA;AAAA,cACT,eAAA;AAAA,cACA,CAAC,CAAC,KAAA,IAAS,WAAA;AAAA,cACX,QAAA,IAAY;AAAA,aACd;AAAA,YACA,OAAO,EAAE,SAAA,EAAW,GAAG,SAAS,CAAA,EAAA,CAAA,EAAM,WAAW,MAAA,EAAO;AAAA,YAEvD,QAAA,EAAA;AAAA,cAAA,MAAA,mCACE,KAAA,EAAA,EAAI,SAAA,EAAU,kCACZ,QAAA,EAAAG,yBAAA,CAAa,MAAA,EAAQ,QAAQ,CAAA,EAChC,CAAA;AAAA,cAED,aAAA,CAAc,IAAI,CAAA,KAAA,qBACjBL,eAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBAEC,WAAWE,QAAA,CAAG,SAAA,EAAW,CAAC,KAAA,CAAM,SAAS,YAAY,CAAA;AAAA,kBAEpD,QAAA,EAAA;AAAA,oBAAA,KAAA,CAAM,KAAA;AAAA,oBACN,CAAC,QAAA,oBACAE,cAAA;AAAA,sBAAC,QAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,QAAA;AAAA,wBACL,QAAA,EAAU,EAAA;AAAA,wBACV,aAAA,EAAa,CAAA,EAAGE,mBAAA,CAAU,KAAA,CAAM,KAAK,CAAC,CAAA,YAAA,CAAA;AAAA,wBACtC,SAAA,EAAU,iDAAA;AAAA,wBACV,WAAA,EAAa,CAAA,CAAA,KAAK,CAAA,CAAE,cAAA,EAAe;AAAA,wBACnC,OAAA,EAAS,MAAM,gBAAA,CAAiB,KAAA,CAAM,KAAK,CAAA;AAAA,wBAC3C,YAAA,EAAY,CAAA;AAAA,0BACV,mCAAA;AAAA,0BACA,kBAAA;AAAA,0BACA;AAAA,4BACE,OAAO,KAAA,CAAM;AAAA;AACf,yBACF;AAAA,wBAEA,QAAA,kBAAAF,cAAA,CAACG,GAAA,EAAA,EAAM,SAAA,EAAU,4BAAA,EAA6B;AAAA;AAAA;AAChD;AAAA,iBAAA;AAAA,gBArBG,KAAA,CAAM;AAAA,eAwBd,CAAA;AAAA,cACA,WAAA,GAAc,qBACbH,cAAA,CAAC,MAAA,EAAA,EAAK,WAAU,0HAAA,EACb,QAAA,EAAA,CAAA,CAAE,0CAA0C,iBAAA,EAAmB;AAAA,gBAC9D,KAAA,EAAO;AAAA,eACR,CAAA,EACH,CAAA;AAAA,8BAEFA,cAAA;AAAA,gBAAC,OAAA;AAAA,gBAAA;AAAA,kBACC,GAAA;AAAA,kBACA,EAAA;AAAA,kBACA,IAAA,EAAK,MAAA;AAAA,kBACL,aAAA,EAAY,0BAAA;AAAA,kBACZ,KAAA,EAAO,UAAA;AAAA,kBACP,QAAA,EAAU,CAAA,CAAA,KAAK,aAAA,CAAc,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,kBAC3C,SAAA,EAAW,aAAA;AAAA,kBACX,OAAA,EAAS,WAAA;AAAA,kBACT,OAAA,EAAS,WAAA;AAAA,kBACT,MAAA,EAAQ,UAAA;AAAA,kBACR,WAAA,EAAa,KAAA,CAAM,KAAA,EAAO,MAAA,GAAS,EAAA,GAAK,WAAA;AAAA,kBACxC,QAAA;AAAA,kBACA,SAAA,EAAU;AAAA;AAAA,eACZ;AAAA,cACC,MAAA,mCACE,KAAA,EAAA,EAAI,SAAA,EAAU,kCACZ,QAAA,EAAAC,yBAAA,CAAa,MAAA,EAAQ,QAAQ,CAAA,EAChC;AAAA;AAAA;AAAA,SAEJ;AAAA,wCACCG,6BAAA,EAAA,EACE,QAAA,EAAA;AAAA,UAAA,CAAC,CAAC,KAAA,oBACDR,eAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,gCAAA;AAAA,cACV,aAAA,EAAa,GAAG,YAAY,CAAA,YAAA,CAAA;AAAA,cAE3B,QAAA,EAAA;AAAA,gBAAA,KAAA;AAAA,gBACA,mBAAA,oBACCI,cAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBACC,IAAA,EAAK,QAAA;AAAA,oBACL,SAAA,EAAU,6CAAA;AAAA,oBACV,OAAA,EAAS,yBAAA;AAAA,oBAER,+BAAqB,KAAA,IACpB,CAAA;AAAA,sBACE,0CAAA;AAAA,sBACA,0CAAA;AAAA,sBACA,EAAE,MAAA,EAAQ,cAAA,CAAe,CAAA,EAAG,SAAA,EAAW,CAAC,CAAA;AAAE;AAC5C;AAAA;AACJ;AAAA;AAAA,WAEJ;AAAA,UAED,CAAC,CAAC,QAAA,oBACDA,cAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,qCAAA;AAAA,cACV,aAAA,EAAa,GAAG,YAAY,CAAA,WAAA,CAAA;AAAA,cAE3B,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UAED,eAAA,CAAgB,SAAS,CAAA,oBACxBA,cAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAU,kDAAA;AAAA,cACV,aAAA,EAAa,GAAG,YAAY,CAAA,yBAAA,CAAA;AAAA,cAE3B,QAAA,EAAA,CAAA;AAAA,gBACC,6CAAA;AAAA,gBACA,iEAAA;AAAA,gBACA;AAAA,kBACE,OAAO,eAAA,CAAgB,MAAA;AAAA,kBACvB,MAAA,EAAQ,cAAA,CAAe,CAAA,EAAG,SAAA,EAAW,gBAAgB,MAAM,CAAA;AAAA,kBAC3D,KAAA,EAAO,eAAA,CAAgB,IAAA,CAAK,IAAI;AAAA;AAClC;AACF;AAAA;AACF,SAAA,EAEJ;AAAA;AAAA;AAAA,GACF;AAEJ,CAAC;AACD,eAAA,CAAgB,WAAA,GAAc,iBAAA;;;;"}