exploreda 0.0.5 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -0
- package/dist/ExplorEda.cjs +4608 -10858
- package/dist/ExplorEda.cjs.map +1 -1
- package/dist/ExplorEda.css +2332 -1653
- package/dist/ExplorEda.css.map +1 -1
- package/dist/ExplorEda.d.cts +125 -278
- package/dist/ExplorEda.d.ts +125 -278
- package/dist/ExplorEda.js +4521 -10782
- package/dist/ExplorEda.js.map +1 -1
- package/dist/calculations.cjs +18 -0
- package/dist/calculations.cjs.map +1 -0
- package/dist/calculations.d.cts +63 -0
- package/dist/calculations.d.ts +63 -0
- package/dist/calculations.js +3 -0
- package/dist/calculations.js.map +1 -0
- package/dist/charts/bar.cjs +27 -0
- package/dist/charts/bar.cjs.map +1 -0
- package/dist/charts/bar.d.cts +2 -0
- package/dist/charts/bar.d.ts +2 -0
- package/dist/charts/bar.js +18 -0
- package/dist/charts/bar.js.map +1 -0
- package/dist/charts/box-plot.cjs +26 -0
- package/dist/charts/box-plot.cjs.map +1 -0
- package/dist/charts/box-plot.d.cts +2 -0
- package/dist/charts/box-plot.d.ts +2 -0
- package/dist/charts/box-plot.js +17 -0
- package/dist/charts/box-plot.js.map +1 -0
- package/dist/charts/color-legend.cjs +22 -0
- package/dist/charts/color-legend.cjs.map +1 -0
- package/dist/charts/color-legend.d.cts +2 -0
- package/dist/charts/color-legend.d.ts +2 -0
- package/dist/charts/color-legend.js +13 -0
- package/dist/charts/color-legend.js.map +1 -0
- package/dist/charts/data-table.cjs +22 -0
- package/dist/charts/data-table.cjs.map +1 -0
- package/dist/charts/data-table.d.cts +2 -0
- package/dist/charts/data-table.d.ts +2 -0
- package/dist/charts/data-table.js +13 -0
- package/dist/charts/data-table.js.map +1 -0
- package/dist/charts/line.cjs +30 -0
- package/dist/charts/line.cjs.map +1 -0
- package/dist/charts/line.d.cts +2 -0
- package/dist/charts/line.d.ts +2 -0
- package/dist/charts/line.js +17 -0
- package/dist/charts/line.js.map +1 -0
- package/dist/charts/markdown.cjs +16 -0
- package/dist/charts/markdown.cjs.map +1 -0
- package/dist/charts/markdown.css +77 -0
- package/dist/charts/markdown.css.map +1 -0
- package/dist/charts/markdown.d.cts +2 -0
- package/dist/charts/markdown.d.ts +2 -0
- package/dist/charts/markdown.js +7 -0
- package/dist/charts/markdown.js.map +1 -0
- package/dist/charts/pivot-table.cjs +23 -0
- package/dist/charts/pivot-table.cjs.map +1 -0
- package/dist/charts/pivot-table.d.cts +2 -0
- package/dist/charts/pivot-table.d.ts +2 -0
- package/dist/charts/pivot-table.js +14 -0
- package/dist/charts/pivot-table.js.map +1 -0
- package/dist/charts/row.cjs +27 -0
- package/dist/charts/row.cjs.map +1 -0
- package/dist/charts/row.d.cts +6 -0
- package/dist/charts/row.d.ts +6 -0
- package/dist/charts/row.js +18 -0
- package/dist/charts/row.js.map +1 -0
- package/dist/charts/scatter.cjs +24 -0
- package/dist/charts/scatter.cjs.map +1 -0
- package/dist/charts/scatter.d.cts +2 -0
- package/dist/charts/scatter.d.ts +2 -0
- package/dist/charts/scatter.js +15 -0
- package/dist/charts/scatter.js.map +1 -0
- package/dist/charts/summary-table.cjs +19 -0
- package/dist/charts/summary-table.cjs.map +1 -0
- package/dist/charts/summary-table.d.cts +2 -0
- package/dist/charts/summary-table.d.ts +2 -0
- package/dist/charts/summary-table.js +10 -0
- package/dist/charts/summary-table.js.map +1 -0
- package/dist/charts/three-d-scatter.cjs +24 -0
- package/dist/charts/three-d-scatter.cjs.map +1 -0
- package/dist/charts/three-d-scatter.d.cts +6 -0
- package/dist/charts/three-d-scatter.d.ts +6 -0
- package/dist/charts/three-d-scatter.js +15 -0
- package/dist/charts/three-d-scatter.js.map +1 -0
- package/dist/chunk-3PGYFLE3.cjs +499 -0
- package/dist/chunk-3PGYFLE3.cjs.map +1 -0
- package/dist/chunk-4HNDKMWF.js +167 -0
- package/dist/chunk-4HNDKMWF.js.map +1 -0
- package/dist/chunk-4QNENKTV.cjs +1214 -0
- package/dist/chunk-4QNENKTV.cjs.map +1 -0
- package/dist/chunk-54M32JJB.js +132 -0
- package/dist/chunk-54M32JJB.js.map +1 -0
- package/dist/chunk-5B23JVH3.cjs +2238 -0
- package/dist/chunk-5B23JVH3.cjs.map +1 -0
- package/dist/chunk-5LH6NSNL.js +456 -0
- package/dist/chunk-5LH6NSNL.js.map +1 -0
- package/dist/chunk-6DOKKCJ5.cjs +313 -0
- package/dist/chunk-6DOKKCJ5.cjs.map +1 -0
- package/dist/chunk-6HZX5CBT.cjs +1074 -0
- package/dist/chunk-6HZX5CBT.cjs.map +1 -0
- package/dist/chunk-6U5DOIQM.js +1071 -0
- package/dist/chunk-6U5DOIQM.js.map +1 -0
- package/dist/chunk-7GBZIK2R.cjs +80 -0
- package/dist/chunk-7GBZIK2R.cjs.map +1 -0
- package/dist/chunk-7PTJNIOD.js +520 -0
- package/dist/chunk-7PTJNIOD.js.map +1 -0
- package/dist/chunk-AHZYQ7FN.js +319 -0
- package/dist/chunk-AHZYQ7FN.js.map +1 -0
- package/dist/chunk-AOODAOL4.cjs +55 -0
- package/dist/chunk-AOODAOL4.cjs.map +1 -0
- package/dist/chunk-ASKFIRMC.cjs +165 -0
- package/dist/chunk-ASKFIRMC.cjs.map +1 -0
- package/dist/chunk-B7OQUBH4.cjs +171 -0
- package/dist/chunk-B7OQUBH4.cjs.map +1 -0
- package/dist/chunk-BIMEHDLB.js +72 -0
- package/dist/chunk-BIMEHDLB.js.map +1 -0
- package/dist/chunk-C62KHV7S.js +1225 -0
- package/dist/chunk-C62KHV7S.js.map +1 -0
- package/dist/chunk-C7GQT65O.cjs +1119 -0
- package/dist/chunk-C7GQT65O.cjs.map +1 -0
- package/dist/chunk-CGDWDV4Z.js +1211 -0
- package/dist/chunk-CGDWDV4Z.js.map +1 -0
- package/dist/chunk-CJQQFNEY.js +69 -0
- package/dist/chunk-CJQQFNEY.js.map +1 -0
- package/dist/chunk-DHYLSXNR.js +964 -0
- package/dist/chunk-DHYLSXNR.js.map +1 -0
- package/dist/chunk-DKFA4KOJ.cjs +87 -0
- package/dist/chunk-DKFA4KOJ.cjs.map +1 -0
- package/dist/chunk-DS5BS7PP.cjs +357 -0
- package/dist/chunk-DS5BS7PP.cjs.map +1 -0
- package/dist/chunk-EGMFQSGK.js +909 -0
- package/dist/chunk-EGMFQSGK.js.map +1 -0
- package/dist/chunk-EU5EFHO5.cjs +53 -0
- package/dist/chunk-EU5EFHO5.cjs.map +1 -0
- package/dist/chunk-FM46QSDM.js +837 -0
- package/dist/chunk-FM46QSDM.js.map +1 -0
- package/dist/chunk-GV2LRR32.cjs +843 -0
- package/dist/chunk-GV2LRR32.cjs.map +1 -0
- package/dist/chunk-H3XKFSA5.cjs +322 -0
- package/dist/chunk-H3XKFSA5.cjs.map +1 -0
- package/dist/chunk-H5AVMMCE.js +347 -0
- package/dist/chunk-H5AVMMCE.js.map +1 -0
- package/dist/chunk-JDMUN4VK.cjs +986 -0
- package/dist/chunk-JDMUN4VK.cjs.map +1 -0
- package/dist/chunk-JNO7OXCC.js +2171 -0
- package/dist/chunk-JNO7OXCC.js.map +1 -0
- package/dist/chunk-JQMG4ZR7.js +111 -0
- package/dist/chunk-JQMG4ZR7.js.map +1 -0
- package/dist/chunk-L2Q2R43U.cjs +118 -0
- package/dist/chunk-L2Q2R43U.cjs.map +1 -0
- package/dist/chunk-LBTZVERO.js +466 -0
- package/dist/chunk-LBTZVERO.js.map +1 -0
- package/dist/chunk-LUUGGTTK.cjs +1227 -0
- package/dist/chunk-LUUGGTTK.cjs.map +1 -0
- package/dist/chunk-MEEPH7ZC.cjs +911 -0
- package/dist/chunk-MEEPH7ZC.cjs.map +1 -0
- package/dist/chunk-MJPDJ5AS.js +184 -0
- package/dist/chunk-MJPDJ5AS.js.map +1 -0
- package/dist/chunk-MJROUIDZ.cjs +219 -0
- package/dist/chunk-MJROUIDZ.cjs.map +1 -0
- package/dist/chunk-MUWSBYJS.js +528 -0
- package/dist/chunk-MUWSBYJS.js.map +1 -0
- package/dist/chunk-NDF5LCST.js +1088 -0
- package/dist/chunk-NDF5LCST.js.map +1 -0
- package/dist/chunk-NGWTPED4.js +311 -0
- package/dist/chunk-NGWTPED4.js.map +1 -0
- package/dist/chunk-PP4VCONW.js +739 -0
- package/dist/chunk-PP4VCONW.js.map +1 -0
- package/dist/chunk-PRMC2A6P.cjs +488 -0
- package/dist/chunk-PRMC2A6P.cjs.map +1 -0
- package/dist/chunk-PST6UU6S.cjs +742 -0
- package/dist/chunk-PST6UU6S.cjs.map +1 -0
- package/dist/chunk-Q7LK2UWH.js +33 -0
- package/dist/chunk-Q7LK2UWH.js.map +1 -0
- package/dist/chunk-SFV5LZPD.js +162 -0
- package/dist/chunk-SFV5LZPD.js.map +1 -0
- package/dist/chunk-SKXGYJJG.cjs +370 -0
- package/dist/chunk-SKXGYJJG.cjs.map +1 -0
- package/dist/chunk-SWLNKY6R.js +477 -0
- package/dist/chunk-SWLNKY6R.js.map +1 -0
- package/dist/chunk-TGVLNHUB.cjs +483 -0
- package/dist/chunk-TGVLNHUB.cjs.map +1 -0
- package/dist/chunk-TLLRW6S3.js +74 -0
- package/dist/chunk-TLLRW6S3.js.map +1 -0
- package/dist/chunk-TRAIXZ6M.cjs +140 -0
- package/dist/chunk-TRAIXZ6M.cjs.map +1 -0
- package/dist/chunk-U74A5VK5.cjs +74 -0
- package/dist/chunk-U74A5VK5.cjs.map +1 -0
- package/dist/chunk-UAVDLBTA.cjs +74 -0
- package/dist/chunk-UAVDLBTA.cjs.map +1 -0
- package/dist/chunk-UJWS6TRV.js +354 -0
- package/dist/chunk-UJWS6TRV.js.map +1 -0
- package/dist/chunk-UUJMUPB3.cjs +531 -0
- package/dist/chunk-UUJMUPB3.cjs.map +1 -0
- package/dist/chunk-VTKHZIJB.cjs +549 -0
- package/dist/chunk-VTKHZIJB.cjs.map +1 -0
- package/dist/chunk-YXPAWUXO.js +51 -0
- package/dist/chunk-YXPAWUXO.js.map +1 -0
- package/dist/chunk-ZD64SCZB.js +80 -0
- package/dist/chunk-ZD64SCZB.js.map +1 -0
- package/dist/core.cjs +28 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +22 -0
- package/dist/core.d.ts +22 -0
- package/dist/core.js +3 -0
- package/dist/core.js.map +1 -0
- package/dist/dataLayerState-B4XmQjQN.d.cts +258 -0
- package/dist/dataLayerState-B4XmQjQN.d.ts +258 -0
- package/package.json +32 -52
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/select.tsx","../src/components/SummaryTable/components/FieldInspector.tsx"],"names":["SelectPrimitive","jsxs","cn","jsx","ChevronDownIcon","CheckIcon","ChevronUpIcon","useDataLayer","useState","useEffect","useMemo","buildConversionPreview","getFieldSettingsError","Popover","ActionTooltip","PopoverTrigger","Button","Settings2","PopoverContent","Fragment","Tabs","TabsList","TabsTrigger","TabsContent","Label","Input","AlertCircle"],"mappings":"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","file":"chunk-PRMC2A6P.cjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground aria-invalid:border-destructive ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:focus-visible:ring-0 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground motion-safe:data-[state=open]:animate-in motion-safe:data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","import { useEffect, useMemo, useState, type ReactNode } from \"react\";\nimport { AlertCircle, Settings2 } from \"lucide-react\";\nimport { useDataLayer } from \"@/providers/DataLayerProvider\";\nimport {\n buildConversionPreview,\n getFieldSettingsError,\n type DatePreset,\n type FieldFormat,\n type FieldSettings,\n} from \"@/lib/fieldSettings\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport { ActionTooltip } from \"@/components/ui/tooltip\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\n\nconst dataTypes = [\"numeric\", \"categorical\", \"datetime\", \"boolean\"] as const;\nconst formats = [\n \"auto\",\n \"number\",\n \"currency\",\n \"percent\",\n \"date\",\n \"datetime\",\n] as const;\n\ntype Props = {\n field: string | null;\n children?: ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\n\nexport function FieldInspector({ field, children, open, onOpenChange }: Props) {\n const fieldSettings = useDataLayer((state) => state.fieldSettings);\n const updateFieldSettings = useDataLayer(\n (state) => state.updateFieldSettings\n );\n const getFieldConversionPreview = useDataLayer(\n (state) => state.getFieldConversionPreview\n );\n const getFieldLabel = useDataLayer((state) => state.getFieldLabel);\n const getColumnData = useDataLayer((state) => state.getColumnData);\n const calculations = useDataLayer((state) => state.calculations);\n const fieldProfiles = useDataLayer((state) => state.fieldProfiles);\n const [draft, setDraft] = useState<FieldSettings>({});\n const [showAllFailures, setShowAllFailures] = useState(false);\n const [localOpen, setLocalOpen] = useState(false);\n const isOpen = open ?? localOpen;\n const setOpen = onOpenChange ?? setLocalOpen;\n\n useEffect(() => {\n if (isOpen && field) {\n setDraft((fieldSettings ?? {})[field] ?? {});\n setShowAllFailures(false);\n }\n }, [isOpen, field, fieldSettings]);\n\n const applied = field ? ((fieldSettings ?? {})[field] ?? {}) : {};\n const isCalculated = Boolean(\n field &&\n (calculations ?? []).some(\n (calculation) => calculation.resultColumnName === field\n )\n );\n const calculatedProfile = (fieldProfiles ?? []).find(\n (profile) => profile.name === field\n );\n const preview = useMemo(() => {\n if (!isOpen || !field) return null;\n if (!isCalculated) return getFieldConversionPreview(field, draft);\n const values = getColumnData(field);\n const rows = Object.values(values).map((value) => ({ [field]: value }));\n return buildConversionPreview(\n field,\n rows,\n draft,\n calculatedProfile?.dataType ?? \"categorical\"\n );\n }, [\n field,\n getFieldConversionPreview,\n getColumnData,\n calculatedProfile?.dataType,\n isCalculated,\n isOpen,\n draft,\n ]);\n const settingsError = getFieldSettingsError(draft);\n const conversionChanged =\n !isCalculated &&\n (draft.type !== applied.type ||\n draft.datePreset !== applied.datePreset ||\n JSON.stringify(draft.nullTokens ?? []) !==\n JSON.stringify(applied.nullTokens ?? []));\n\n if (!field) return null;\n const update = (next: Partial<FieldSettings>) =>\n setDraft((current) => ({ ...current, ...next }));\n\n return (\n <Popover open={isOpen} onOpenChange={setOpen} modal={false}>\n <ActionTooltip content={`Inspect ${getFieldLabel(field)}`}>\n <PopoverTrigger asChild>\n {children ?? (\n <Button variant=\"ghost\" size=\"icon\" aria-label={`Inspect ${field}`}>\n <Settings2 className=\"h-4 w-4\" />\n </Button>\n )}\n </PopoverTrigger>\n </ActionTooltip>\n <PopoverContent\n aria-label={`Inspect field: ${getFieldLabel(field)}`}\n align=\"start\"\n side=\"bottom\"\n collisionPadding={12}\n className=\"w-[min(400px,calc(100vw-24px))] max-h-[min(480px,var(--radix-popover-content-available-height))] overflow-y-auto p-3\"\n >\n <div className=\"mb-3 space-y-1\">\n <div className=\"flex items-center gap-2 text-sm font-semibold\">\n <Settings2 className=\"h-4 w-4\" />\n Inspect field: {getFieldLabel(field)}\n </div>\n <p className=\"text-xs text-muted-foreground\">\n {field !== getFieldLabel(field) ? (\n <>\n Source name: <code>{field}</code>\n </>\n ) : (\n \"Field settings for this analysis\"\n )}\n </p>\n </div>\n\n {preview && (\n <div className=\"mb-3 flex flex-wrap gap-x-3 gap-y-1 rounded bg-muted/50 px-2 py-2 text-xs\">\n <div className=\"flex flex-wrap gap-x-3 gap-y-1\">\n <span>\n Inferred: <strong>{preview.inferredType}</strong>\n </span>\n <span>\n Effective: <strong>{preview.effectiveType}</strong>\n </span>\n <span>{preview.validCount} valid</span>\n <span>{preview.missingCount} missing</span>\n <span>{preview.failedCount} failed</span>\n </div>\n {preview.failedCount > 0 && (\n <div className=\"mt-2 text-destructive\">\n Invalid values become missing. Review the failed rows below.\n </div>\n )}\n </div>\n )}\n\n <Tabs defaultValue=\"display\">\n <TabsList className=\"grid h-8 w-full grid-cols-3\">\n <TabsTrigger value=\"display\" className=\"text-xs\">\n Display\n </TabsTrigger>\n <TabsTrigger value=\"type\" className=\"text-xs\">\n Type\n </TabsTrigger>\n <TabsTrigger value=\"preview\" className=\"text-xs\">\n Preview\n </TabsTrigger>\n </TabsList>\n <TabsContent value=\"display\" className=\"mt-3 space-y-3\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"field-label\">Display label</Label>\n <Input\n id=\"field-label\"\n value={draft.label ?? \"\"}\n placeholder={field}\n onChange={(event) => update({ label: event.target.value })}\n />\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"field-description\">Description</Label>\n <Input\n id=\"field-description\"\n value={draft.description ?? \"\"}\n onChange={(event) =>\n update({ description: event.target.value })\n }\n />\n </div>\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"space-y-1.5\">\n <Label>Display format</Label>\n <Select\n value={draft.format ?? \"auto\"}\n onValueChange={(value) =>\n update({ format: value as FieldFormat })\n }\n >\n <SelectTrigger aria-label=\"Display format\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {formats.map((format) => (\n <SelectItem key={format} value={format}>\n {format}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"field-precision\">Precision</Label>\n <Input\n id=\"field-precision\"\n type=\"number\"\n min={0}\n max={20}\n value={draft.precision ?? \"\"}\n onChange={(event) =>\n update({\n precision:\n event.target.value === \"\"\n ? undefined\n : Number(event.target.value),\n })\n }\n />\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"field-unit\">Unit suffix</Label>\n <Input\n id=\"field-unit\"\n value={draft.unit ?? \"\"}\n placeholder=\"kg, ms, USD\"\n onChange={(event) => update({ unit: event.target.value })}\n />\n </div>\n {draft.format === \"currency\" && (\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"field-currency\">Currency code</Label>\n <Input\n id=\"field-currency\"\n value={draft.currency ?? \"USD\"}\n maxLength={3}\n onChange={(event) =>\n update({ currency: event.target.value.toUpperCase() })\n }\n />\n </div>\n )}\n </div>\n </TabsContent>\n <TabsContent value=\"type\" className=\"mt-3 space-y-3\">\n {isCalculated && (\n <p className=\"text-xs text-muted-foreground\">\n This is a calculated field. Its formula controls the runtime\n type. Use the formula editor for type changes; this inspector\n controls display settings and previews calculated values.\n </p>\n )}\n {preview && (\n <>\n {\" \"}\n <p className=\"mt-2 text-muted-foreground\">\n Automatic inference currently treats this field as{\" \"}\n <strong>{preview.inferredType}</strong>. An override changes\n runtime values, filters, calculations, and chart positions.\n </p>\n </>\n )}\n {!isCalculated && (\n <div className=\"space-y-1.5\">\n <Label>Type override</Label>\n <Select\n value={draft.type ?? \"auto\"}\n onValueChange={(value) =>\n update({\n type:\n value === \"auto\"\n ? undefined\n : (value as FieldSettings[\"type\"]),\n })\n }\n >\n <SelectTrigger aria-label=\"Type override\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"auto\">Automatic</SelectItem>\n {dataTypes.map((type) => (\n <SelectItem key={type} value={type}>\n {type}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n {!isCalculated && draft.type === \"datetime\" && (\n <div className=\"space-y-1.5\">\n <Label>Date input preset</Label>\n <Select\n value={draft.datePreset ?? \"iso\"}\n onValueChange={(value) =>\n update({ datePreset: value as DatePreset })\n }\n >\n <SelectTrigger aria-label=\"Date input preset\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"iso\">ISO</SelectItem>\n <SelectItem value=\"month-day-year\">\n Month / day / year\n </SelectItem>\n <SelectItem value=\"day-month-year\">\n Day / month / year\n </SelectItem>\n </SelectContent>\n </Select>\n </div>\n )}\n {!isCalculated && (\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"field-null-tokens\">Null tokens</Label>\n <Input\n id=\"field-null-tokens\"\n value={draft.nullTokens?.join(\", \") ?? \"\"}\n placeholder=\"NA, N/A, -\"\n onChange={(event) =>\n update({\n nullTokens: event.target.value\n .split(\",\")\n .map((token) => token.trim())\n .filter(Boolean),\n })\n }\n />\n </div>\n )}\n {conversionChanged && (\n <div className=\"flex gap-2 rounded-md border border-warning/40 bg-warning/10 p-3 text-xs\">\n <AlertCircle className=\"mt-0.5 h-4 w-4 shrink-0 text-warning\" />\n Applying a type, date preset, or null-token change clears\n filters for this field.\n </div>\n )}\n </TabsContent>\n <TabsContent value=\"preview\" className=\"mt-3\">\n {preview && preview.examples.length > 0 && (\n <div className=\"space-y-1.5\">\n <h3 className=\"text-xs font-medium\">Conversion preview</h3>\n <div className=\"overflow-x-auto rounded-md border\">\n <table className=\"w-full text-xs\">\n <thead>\n <tr className=\"border-b text-left\">\n <th className=\"p-2\">Row</th>\n <th className=\"p-2\">Raw</th>\n <th className=\"p-2\">Runtime</th>\n </tr>\n </thead>\n <tbody>\n {preview.examples.map((example) => (\n <tr\n key={example.row}\n className=\"border-b last:border-0\"\n >\n <td className=\"p-2 tabular-nums\">\n {example.row + 1}\n </td>\n <td className=\"p-2 font-mono\">\n {String(example.raw)}\n </td>\n <td className=\"p-2\">\n {String(example.value ?? \"Missing\")}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n )}\n {preview && preview.failures.length > 0 && (\n <div className=\"mt-4 space-y-1.5 text-xs\">\n <h3 className=\"font-medium text-destructive\">Failed rows</h3>\n <ul className=\"max-h-24 overflow-y-auto text-muted-foreground\">\n {(showAllFailures\n ? preview.failures\n : preview.failures.slice(0, 12)\n ).map((failure) => (\n <li key={failure.row}>\n Row {failure.row + 1}: {String(failure.raw)} —{\" \"}\n {failure.reason}\n </li>\n ))}\n </ul>\n {preview.failures.length > 12 && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setShowAllFailures((current) => !current)}\n >\n {showAllFailures\n ? \"Show fewer failed rows\"\n : `Show all ${preview.failures.length} failed rows`}\n </Button>\n )}\n </div>\n )}\n {!preview?.examples.length && !preview?.failures.length && (\n <p className=\"text-xs text-muted-foreground\">\n No conversion issues or sample rows.\n </p>\n )}\n </TabsContent>\n </Tabs>\n\n {settingsError && (\n <p role=\"alert\" className=\"text-xs text-destructive\">\n {settingsError}\n </p>\n )}\n <div className=\"sticky bottom-[-16px] mt-4 flex justify-end gap-2 border-t bg-popover py-3\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <Button\n size=\"sm\"\n disabled={Boolean(settingsError)}\n onClick={() => {\n updateFieldSettings(field, draft);\n setOpen(false);\n }}\n >\n Apply field settings\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|