@brainfish-ai/components 0.24.4 → 0.24.6
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/dist/esm/chunks/{ChatSearch.DvpPvB5F.js → ChatSearch.s2AQdrx5.js} +7 -7
- package/dist/esm/chunks/{ChatSearch.DvpPvB5F.js.map → ChatSearch.s2AQdrx5.js.map} +1 -1
- package/dist/esm/chunks/{FormattedMessage.Br7XTLD2.js → FormattedMessage.CRbM-hF6.js} +2 -2
- package/dist/esm/chunks/{FormattedMessage.Br7XTLD2.js.map → FormattedMessage.CRbM-hF6.js.map} +1 -1
- package/dist/esm/chunks/button.DQL6gCAt.js +48 -0
- package/dist/esm/chunks/button.DQL6gCAt.js.map +1 -0
- package/dist/esm/chunks/{combobox.DNYCWyub.js → combobox.BpGnNZ6a.js} +2 -2
- package/dist/esm/chunks/{combobox.DNYCWyub.js.map → combobox.BpGnNZ6a.js.map} +1 -1
- package/dist/esm/chunks/{date-picker.sQXSlqNZ.js → date-picker._cBTpdEK.js} +2 -2
- package/dist/esm/chunks/{date-picker.sQXSlqNZ.js.map → date-picker._cBTpdEK.js.map} +1 -1
- package/dist/esm/chunks/{feedback.D139-1Wr.js → feedback.W2OzN-5r.js} +2 -2
- package/dist/esm/chunks/{feedback.D139-1Wr.js.map → feedback.W2OzN-5r.js.map} +1 -1
- package/dist/esm/chunks/{file-upload-status.Vw0Zxmir.js → file-upload-status.DP2iuttI.js} +2 -2
- package/dist/esm/chunks/{file-upload-status.Vw0Zxmir.js.map → file-upload-status.DP2iuttI.js.map} +1 -1
- package/dist/esm/chunks/{filters.Be4KPvMA.js → filters.LuyM6z8R.js} +2 -2
- package/dist/esm/chunks/{filters.Be4KPvMA.js.map → filters.LuyM6z8R.js.map} +1 -1
- package/dist/esm/chunks/{font-picker.DX1mER3H.js → font-picker.CtGg-OWt.js} +2 -2
- package/dist/esm/chunks/{font-picker.DX1mER3H.js.map → font-picker.CtGg-OWt.js.map} +1 -1
- package/dist/esm/chunks/{header-nav.BxK3FN1j.js → header-nav.C1uX9mgG.js} +2 -2
- package/dist/esm/chunks/{header-nav.BxK3FN1j.js.map → header-nav.C1uX9mgG.js.map} +1 -1
- package/dist/esm/chunks/{layout.Dx6MGe6T.js → layout.CLxqWeQt.js} +3 -3
- package/dist/esm/chunks/{layout.Dx6MGe6T.js.map → layout.CLxqWeQt.js.map} +1 -1
- package/dist/esm/chunks/{sidebar.zsMK3xuM.js → sidebar.CYhTQT2L.js} +2 -2
- package/dist/esm/chunks/{sidebar.zsMK3xuM.js.map → sidebar.CYhTQT2L.js.map} +1 -1
- package/dist/esm/chunks/{two-level-combobox.DsWPDcI6.js → two-level-combobox.BXs2z9u5.js} +2 -2
- package/dist/esm/chunks/{two-level-combobox.DsWPDcI6.js.map → two-level-combobox.BXs2z9u5.js.map} +1 -1
- package/dist/esm/components/article-suggestions-banner.js +1 -1
- package/dist/esm/components/chat-search.js +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/convos.js +2 -2
- package/dist/esm/components/date-picker.js +1 -1
- package/dist/esm/components/feedback.js +1 -1
- package/dist/esm/components/file-upload.js +1 -1
- package/dist/esm/components/filter.js +1 -1
- package/dist/esm/components/font-picker.js +1 -1
- package/dist/esm/components/markdown.js +1 -1
- package/dist/esm/components/two-level-combobox.js +1 -1
- package/dist/esm/components/ui/alert-dialog.js +1 -1
- package/dist/esm/components/ui/button.js +5 -45
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/select.js +3 -17
- package/dist/esm/components/ui/select.js.map +1 -1
- package/dist/esm/components/ui/sheet.js +1 -1
- package/dist/esm/global.css +1 -1
- package/dist/esm/index.js +14 -14
- package/dist/esm/layouts/full-layout.js +2 -2
- package/dist/esm/layouts/header-nav.js +1 -1
- package/dist/esm/layouts/sidebar.js +1 -1
- package/dist/esm/scenes/knowledge-review.js +24 -36
- package/dist/esm/scenes/knowledge-review.js.map +1 -1
- package/dist/esm/tailwind.preset.js +9 -1
- package/dist/esm/tailwind.preset.js.map +1 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
- package/tailwind.preset.ts +8 -0
package/dist/esm/chunks/{two-level-combobox.DsWPDcI6.js.map → two-level-combobox.BXs2z9u5.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-level-combobox.DsWPDcI6.js","sources":["../../../src/components/two-level-combobox/two-level-combobox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Check, CaretUpDown, Spinner, ArrowLeft, X } from '@phosphor-icons/react';\n\nimport { ComboboxItem } from '../combobox';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '@/components/ui/command';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { DivButton } from '@/components/ui/div-button';\nexport interface TwoLevelComboboxProps {\n firstLevelItems: ComboboxItem[];\n fetchSecondLevelItems: (firstLevelId: string) => Promise<ComboboxItem[]>;\n onSelectionChange?: (firstLevel: ComboboxItem | null, secondLevel: ComboboxItem | null) => void;\n firstLevelLabel?: string;\n secondLevelLabel?: string;\n firstLevelPlaceholder?: string;\n secondLevelPlaceholder?: string;\n className?: string;\n debugMode?: boolean;\n displayLabel?: boolean;\n}\n\nexport function TwoLevelCombobox({\n firstLevelItems,\n fetchSecondLevelItems,\n onSelectionChange,\n firstLevelLabel = 'First Level',\n secondLevelLabel = 'Second Level',\n firstLevelPlaceholder = 'Select first level...',\n className,\n debugMode = false,\n displayLabel = true,\n}: TwoLevelComboboxProps) {\n const [open, setOpen] = React.useState(false);\n const [view, setView] = React.useState<'first' | 'second'>('first');\n const [selectedFirstLevel, setSelectedFirstLevel] = React.useState<ComboboxItem | null>(null);\n const [selectedSecondLevel, setSelectedSecondLevel] = React.useState<ComboboxItem | null>(null);\n const [secondLevelItems, setSecondLevelItems] = React.useState<ComboboxItem[]>([]);\n const [isLoadingSecondLevel, setIsLoadingSecondLevel] = React.useState(false);\n const [searchValue, setSearchValue] = React.useState('');\n\n const handleFirstLevelSelect = async (item: ComboboxItem) => {\n setSelectedFirstLevel(item);\n setSelectedSecondLevel(null); // Reset second level when first level changes\n setIsLoadingSecondLevel(true);\n setView('second');\n setSearchValue(''); // Clear search input when switching to second level\n\n try {\n const fetchedItems = await fetchSecondLevelItems(item.value);\n setSecondLevelItems(fetchedItems);\n } catch (error) {\n console.warn(error);\n setSecondLevelItems([]);\n } finally {\n setIsLoadingSecondLevel(false);\n }\n\n onSelectionChange?.(item, null);\n };\n\n const handleSecondLevelSelect = (item: ComboboxItem) => {\n setSelectedSecondLevel(item);\n setOpen(false);\n onSelectionChange?.(selectedFirstLevel, item);\n };\n\n const handleBackToFirstLevel = () => {\n setView('first');\n setSearchValue(''); // Clear search input when going back to first level\n };\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (isOpen && !selectedFirstLevel) {\n setView('first');\n } else if (isOpen && selectedFirstLevel) {\n setView('second');\n }\n };\n\n const handleClearSelection = (e: React.MouseEvent) => {\n e.stopPropagation(); // Prevent opening the popover\n setSelectedFirstLevel(null);\n setSelectedSecondLevel(null);\n setSecondLevelItems([]);\n setView('first');\n onSelectionChange?.(null, null);\n };\n\n const getLabel = () => {\n if (selectedSecondLevel) return `${firstLevelLabel} & ${secondLevelLabel}`;\n if (selectedFirstLevel) return `Select ${secondLevelLabel}`;\n\n return `Select ${firstLevelLabel}`;\n };\n\n return (\n <div className={cn('space-y-4', className)}>\n <div className=\"space-y-2\">\n {displayLabel && (\n <label className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n {getLabel()}\n </label>\n )}\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n className=\"w-full justify-between bg-transparent\"\n >\n <div className=\"flex items-center gap-2 flex-1 min-w-0\">\n {selectedSecondLevel ? (\n <div className=\"truncate flex items-center gap-1\">\n {selectedFirstLevel!.label} → {selectedSecondLevel.label}\n </div>\n ) : selectedFirstLevel ? (\n <div className=\"truncate flex items-center\">{selectedFirstLevel.label}</div>\n ) : (\n <span className=\"truncate\">{firstLevelPlaceholder}</span>\n )}\n </div>\n <div className=\"flex items-center gap-1 shrink-0\">\n {(selectedFirstLevel || selectedSecondLevel) && (\n // Render button as div to prevent button within button error\n <DivButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"size-6 p-0 hover:bg-muted rounded-sm\"\n onClick={handleClearSelection}\n aria-label=\"Clear selection\"\n >\n <X className=\"size-3\" />\n </DivButton>\n )}\n <CaretUpDown className=\"size-4 shrink-0 opacity-50\" />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\" align=\"start\">\n <Command>\n {view === 'second' && selectedFirstLevel && (\n <div className=\"flex items-center gap-2 p-2 border-b\">\n <Button variant=\"ghost\" size=\"sm\" onClick={handleBackToFirstLevel} className=\"h-8 w-8 p-0 shrink-0\">\n <ArrowLeft className=\"size-4\" />\n </Button>\n <div className=\"text-sm font-medium truncate flex-1 min-w-0 flex items-center\">\n {selectedFirstLevel.label}\n </div>\n {/* Render button as div to prevent button within button error */}\n <DivButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"size-6 p-0 ml-auto hover:bg-muted rounded-sm shrink-0\"\n onClick={handleClearSelection}\n aria-label=\"Clear selection\"\n >\n <X className=\"size-3\" />\n </DivButton>\n {isLoadingSecondLevel && <Spinner className=\"size-4 animate-spin text-muted-foreground shrink-0\" />}\n </div>\n )}\n\n <CommandInput\n value={searchValue}\n onValueChange={setSearchValue}\n placeholder={\n view === 'first'\n ? `Search ${firstLevelLabel.toLowerCase()}...`\n : `Search ${secondLevelLabel.toLowerCase()}...`\n }\n />\n <CommandList>\n <CommandEmpty>\n {view === 'first'\n ? `No ${firstLevelLabel.toLowerCase()} found.`\n : `No ${secondLevelLabel.toLowerCase()} found.`}\n </CommandEmpty>\n\n {view === 'first' && (\n <CommandGroup>\n {firstLevelItems.map((item) => (\n <CommandItem key={item.value} value={item.label} onSelect={() => handleFirstLevelSelect(item)}>\n <span className=\"flex items-center gap-2\">\n {item.icon}\n {item.label}\n </span>\n <Check\n className={cn(\n 'ml-2 size-4',\n selectedFirstLevel?.value === item.value ? 'opacity-100' : 'opacity-0',\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n )}\n\n {view === 'second' && selectedFirstLevel && (\n <CommandGroup>\n {isLoadingSecondLevel ? (\n <div className=\"flex items-center justify-center py-6\">\n <Spinner className=\"size-4 animate-spin text-muted-foreground mr-2\" />\n <span className=\"text-sm text-muted-foreground\">\n Loading {secondLevelLabel.toLowerCase()}...\n </span>\n </div>\n ) : (\n secondLevelItems.map((item) => (\n <CommandItem key={item.value} value={item.label} onSelect={() => handleSecondLevelSelect(item)}>\n <span className=\"flex items-center gap-2\">\n {item.icon}\n {item.label}\n </span>\n <Check\n className={cn(\n 'ml-2 size-4',\n selectedSecondLevel?.value === item.value ? 'opacity-100' : 'opacity-0',\n )}\n />\n </CommandItem>\n ))\n )}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n\n {(selectedFirstLevel || selectedSecondLevel) && debugMode && (\n <div className=\"mt-6 p-4 bg-muted/50 rounded-lg space-y-2\">\n <h3 className=\"font-medium text-sm\">Selected Values:</h3>\n {selectedFirstLevel && (\n <div className=\"text-sm text-muted-foreground flex items-center gap-1\">\n <span className=\"font-medium\">{firstLevelLabel}:</span>\n <div className=\"flex items-center\">{selectedFirstLevel.label}</div>\n </div>\n )}\n {selectedSecondLevel && (\n <div className=\"text-sm text-muted-foreground flex items-center gap-1\">\n <span className=\"font-medium\">{secondLevelLabel}:</span>\n <div className=\"flex items-center\">{selectedSecondLevel.label}</div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"two-level-combobox.BXs2z9u5.js","sources":["../../../src/components/two-level-combobox/two-level-combobox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Check, CaretUpDown, Spinner, ArrowLeft, X } from '@phosphor-icons/react';\n\nimport { ComboboxItem } from '../combobox';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '@/components/ui/command';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { DivButton } from '@/components/ui/div-button';\nexport interface TwoLevelComboboxProps {\n firstLevelItems: ComboboxItem[];\n fetchSecondLevelItems: (firstLevelId: string) => Promise<ComboboxItem[]>;\n onSelectionChange?: (firstLevel: ComboboxItem | null, secondLevel: ComboboxItem | null) => void;\n firstLevelLabel?: string;\n secondLevelLabel?: string;\n firstLevelPlaceholder?: string;\n secondLevelPlaceholder?: string;\n className?: string;\n debugMode?: boolean;\n displayLabel?: boolean;\n}\n\nexport function TwoLevelCombobox({\n firstLevelItems,\n fetchSecondLevelItems,\n onSelectionChange,\n firstLevelLabel = 'First Level',\n secondLevelLabel = 'Second Level',\n firstLevelPlaceholder = 'Select first level...',\n className,\n debugMode = false,\n displayLabel = true,\n}: TwoLevelComboboxProps) {\n const [open, setOpen] = React.useState(false);\n const [view, setView] = React.useState<'first' | 'second'>('first');\n const [selectedFirstLevel, setSelectedFirstLevel] = React.useState<ComboboxItem | null>(null);\n const [selectedSecondLevel, setSelectedSecondLevel] = React.useState<ComboboxItem | null>(null);\n const [secondLevelItems, setSecondLevelItems] = React.useState<ComboboxItem[]>([]);\n const [isLoadingSecondLevel, setIsLoadingSecondLevel] = React.useState(false);\n const [searchValue, setSearchValue] = React.useState('');\n\n const handleFirstLevelSelect = async (item: ComboboxItem) => {\n setSelectedFirstLevel(item);\n setSelectedSecondLevel(null); // Reset second level when first level changes\n setIsLoadingSecondLevel(true);\n setView('second');\n setSearchValue(''); // Clear search input when switching to second level\n\n try {\n const fetchedItems = await fetchSecondLevelItems(item.value);\n setSecondLevelItems(fetchedItems);\n } catch (error) {\n console.warn(error);\n setSecondLevelItems([]);\n } finally {\n setIsLoadingSecondLevel(false);\n }\n\n onSelectionChange?.(item, null);\n };\n\n const handleSecondLevelSelect = (item: ComboboxItem) => {\n setSelectedSecondLevel(item);\n setOpen(false);\n onSelectionChange?.(selectedFirstLevel, item);\n };\n\n const handleBackToFirstLevel = () => {\n setView('first');\n setSearchValue(''); // Clear search input when going back to first level\n };\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (isOpen && !selectedFirstLevel) {\n setView('first');\n } else if (isOpen && selectedFirstLevel) {\n setView('second');\n }\n };\n\n const handleClearSelection = (e: React.MouseEvent) => {\n e.stopPropagation(); // Prevent opening the popover\n setSelectedFirstLevel(null);\n setSelectedSecondLevel(null);\n setSecondLevelItems([]);\n setView('first');\n onSelectionChange?.(null, null);\n };\n\n const getLabel = () => {\n if (selectedSecondLevel) return `${firstLevelLabel} & ${secondLevelLabel}`;\n if (selectedFirstLevel) return `Select ${secondLevelLabel}`;\n\n return `Select ${firstLevelLabel}`;\n };\n\n return (\n <div className={cn('space-y-4', className)}>\n <div className=\"space-y-2\">\n {displayLabel && (\n <label className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n {getLabel()}\n </label>\n )}\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n className=\"w-full justify-between bg-transparent\"\n >\n <div className=\"flex items-center gap-2 flex-1 min-w-0\">\n {selectedSecondLevel ? (\n <div className=\"truncate flex items-center gap-1\">\n {selectedFirstLevel!.label} → {selectedSecondLevel.label}\n </div>\n ) : selectedFirstLevel ? (\n <div className=\"truncate flex items-center\">{selectedFirstLevel.label}</div>\n ) : (\n <span className=\"truncate\">{firstLevelPlaceholder}</span>\n )}\n </div>\n <div className=\"flex items-center gap-1 shrink-0\">\n {(selectedFirstLevel || selectedSecondLevel) && (\n // Render button as div to prevent button within button error\n <DivButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"size-6 p-0 hover:bg-muted rounded-sm\"\n onClick={handleClearSelection}\n aria-label=\"Clear selection\"\n >\n <X className=\"size-3\" />\n </DivButton>\n )}\n <CaretUpDown className=\"size-4 shrink-0 opacity-50\" />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\" align=\"start\">\n <Command>\n {view === 'second' && selectedFirstLevel && (\n <div className=\"flex items-center gap-2 p-2 border-b\">\n <Button variant=\"ghost\" size=\"sm\" onClick={handleBackToFirstLevel} className=\"h-8 w-8 p-0 shrink-0\">\n <ArrowLeft className=\"size-4\" />\n </Button>\n <div className=\"text-sm font-medium truncate flex-1 min-w-0 flex items-center\">\n {selectedFirstLevel.label}\n </div>\n {/* Render button as div to prevent button within button error */}\n <DivButton\n variant=\"ghost\"\n size=\"sm\"\n className=\"size-6 p-0 ml-auto hover:bg-muted rounded-sm shrink-0\"\n onClick={handleClearSelection}\n aria-label=\"Clear selection\"\n >\n <X className=\"size-3\" />\n </DivButton>\n {isLoadingSecondLevel && <Spinner className=\"size-4 animate-spin text-muted-foreground shrink-0\" />}\n </div>\n )}\n\n <CommandInput\n value={searchValue}\n onValueChange={setSearchValue}\n placeholder={\n view === 'first'\n ? `Search ${firstLevelLabel.toLowerCase()}...`\n : `Search ${secondLevelLabel.toLowerCase()}...`\n }\n />\n <CommandList>\n <CommandEmpty>\n {view === 'first'\n ? `No ${firstLevelLabel.toLowerCase()} found.`\n : `No ${secondLevelLabel.toLowerCase()} found.`}\n </CommandEmpty>\n\n {view === 'first' && (\n <CommandGroup>\n {firstLevelItems.map((item) => (\n <CommandItem key={item.value} value={item.label} onSelect={() => handleFirstLevelSelect(item)}>\n <span className=\"flex items-center gap-2\">\n {item.icon}\n {item.label}\n </span>\n <Check\n className={cn(\n 'ml-2 size-4',\n selectedFirstLevel?.value === item.value ? 'opacity-100' : 'opacity-0',\n )}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n )}\n\n {view === 'second' && selectedFirstLevel && (\n <CommandGroup>\n {isLoadingSecondLevel ? (\n <div className=\"flex items-center justify-center py-6\">\n <Spinner className=\"size-4 animate-spin text-muted-foreground mr-2\" />\n <span className=\"text-sm text-muted-foreground\">\n Loading {secondLevelLabel.toLowerCase()}...\n </span>\n </div>\n ) : (\n secondLevelItems.map((item) => (\n <CommandItem key={item.value} value={item.label} onSelect={() => handleSecondLevelSelect(item)}>\n <span className=\"flex items-center gap-2\">\n {item.icon}\n {item.label}\n </span>\n <Check\n className={cn(\n 'ml-2 size-4',\n selectedSecondLevel?.value === item.value ? 'opacity-100' : 'opacity-0',\n )}\n />\n </CommandItem>\n ))\n )}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n\n {(selectedFirstLevel || selectedSecondLevel) && debugMode && (\n <div className=\"mt-6 p-4 bg-muted/50 rounded-lg space-y-2\">\n <h3 className=\"font-medium text-sm\">Selected Values:</h3>\n {selectedFirstLevel && (\n <div className=\"text-sm text-muted-foreground flex items-center gap-1\">\n <span className=\"font-medium\">{firstLevelLabel}:</span>\n <div className=\"flex items-center\">{selectedFirstLevel.label}</div>\n </div>\n )}\n {selectedSecondLevel && (\n <div className=\"text-sm text-muted-foreground flex items-center gap-1\">\n <span className=\"font-medium\">{secondLevelLabel}:</span>\n <div className=\"flex items-center\">{selectedSecondLevel.label}</div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Sparkle, CaretDown, CaretUp } from '@phosphor-icons/react';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { Button } from '
|
|
3
|
+
import { B as Button } from '../chunks/button.DQL6gCAt.js';
|
|
4
4
|
import { Tooltip, TooltipTrigger, TooltipContent } from './ui/tooltip.js';
|
|
5
5
|
import { ButtonGroup } from './ui/button-group.js';
|
|
6
6
|
import { c as cn } from '../chunks/utils.Cwtlq8dh.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { C as ChatSearch, a as ChatSearchProvider, u as useChatSearch, b as useIsChatSearchDirty } from '../chunks/ChatSearch.
|
|
1
|
+
export { C as ChatSearch, a as ChatSearchProvider, u as useChatSearch, b as useIsChatSearchDirty } from '../chunks/ChatSearch.s2AQdrx5.js';
|
|
2
2
|
//# sourceMappingURL=chat-search.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { C as Combobox } from '../chunks/combobox.
|
|
1
|
+
export { C as Combobox } from '../chunks/combobox.BpGnNZ6a.js';
|
|
2
2
|
//# sourceMappingURL=combobox.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React__default, { useState, useEffect, useRef } from 'react';
|
|
2
2
|
import { S as StatusBadge } from '../chunks/status-badge.eFJ1PYeb.js';
|
|
3
3
|
import { ArrowSquareOut, CheckCircle, XCircle, ListMagnifyingGlass, UserCircle, Eye, UserFocus, Circle } from '@phosphor-icons/react';
|
|
4
|
-
import { F as FormattedMessage } from '../chunks/FormattedMessage.
|
|
4
|
+
import { F as FormattedMessage } from '../chunks/FormattedMessage.CRbM-hF6.js';
|
|
5
5
|
import { Spinner } from './ui/spinner.js';
|
|
6
|
-
import { Button } from '
|
|
6
|
+
import { B as Button } from '../chunks/button.DQL6gCAt.js';
|
|
7
7
|
import { useForm, Controller } from 'react-hook-form';
|
|
8
8
|
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './ui/select.js';
|
|
9
9
|
import { Label } from './ui/label.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as DatePicker } from '../chunks/date-picker.
|
|
1
|
+
export { D as DatePicker } from '../chunks/date-picker._cBTpdEK.js';
|
|
2
2
|
//# sourceMappingURL=date-picker.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { F as Feedback } from '../chunks/feedback.
|
|
1
|
+
export { F as Feedback } from '../chunks/feedback.W2OzN-5r.js';
|
|
2
2
|
//# sourceMappingURL=feedback.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { F as FileUpload, a as FileUploadStatus, f as formatFileSize } from '../chunks/file-upload-status.
|
|
1
|
+
export { F as FileUpload, a as FileUploadStatus, f as formatFileSize } from '../chunks/file-upload-status.DP2iuttI.js';
|
|
2
2
|
//# sourceMappingURL=file-upload.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { F as Filter, a as Filters, O as Operator } from '../chunks/filters.
|
|
1
|
+
export { F as Filter, a as Filters, O as Operator } from '../chunks/filters.LuyM6z8R.js';
|
|
2
2
|
//# sourceMappingURL=filter.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { F as FontPicker, a as FontPickerItem, c as clearFontCache, g as getCachedFonts, l as loadFont, s as setCachedFonts, u as useFontOptions } from '../chunks/font-picker.
|
|
1
|
+
export { F as FontPicker, a as FontPickerItem, c as clearFontCache, g as getCachedFonts, l as loadFont, s as setCachedFonts, u as useFontOptions } from '../chunks/font-picker.CtGg-OWt.js';
|
|
2
2
|
//# sourceMappingURL=font-picker.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { C as CodeBlock, F as FormattedMessage, M as MemoizedReactMarkdown, Z as ZoomableImage } from '../chunks/FormattedMessage.
|
|
1
|
+
export { C as CodeBlock, F as FormattedMessage, M as MemoizedReactMarkdown, Z as ZoomableImage } from '../chunks/FormattedMessage.CRbM-hF6.js';
|
|
2
2
|
export { MermaidDiagram } from '../chunks/MermaidDiagram.xQ0CVFOI.js';
|
|
3
3
|
//# sourceMappingURL=markdown.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { T as TwoLevelCombobox } from '../chunks/two-level-combobox.
|
|
1
|
+
export { T as TwoLevelCombobox } from '../chunks/two-level-combobox.BXs2z9u5.js';
|
|
2
2
|
//# sourceMappingURL=two-level-combobox.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
3
3
|
import { c as cn } from '../../chunks/utils.Cwtlq8dh.js';
|
|
4
|
-
import { buttonVariants } from '
|
|
4
|
+
import { b as buttonVariants } from '../../chunks/button.DQL6gCAt.js';
|
|
5
5
|
|
|
6
6
|
const AlertDialogContext = React.createContext({});
|
|
7
7
|
const AlertDialog = React.forwardRef(({ onOpenChange, ...props }, _ref) => {
|
|
@@ -1,46 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
const buttonVariants = cva(
|
|
7
|
-
"inline-flex items-center text-dark-900 justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0",
|
|
8
|
-
{
|
|
9
|
-
variants: {
|
|
10
|
-
variant: {
|
|
11
|
-
default: "bg-primary text-primary border border-primary shadow hover:bg-primary/90",
|
|
12
|
-
destructive: "bg-destructive text-destructive border border-destructive shadow-sm hover:bg-destructive/90",
|
|
13
|
-
success: "bg-success text-success border border-success shadow-sm hover:bg-success/90",
|
|
14
|
-
outline: "border border-input border-border shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
15
|
-
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
16
|
-
suggestion: "bg-blue-600 text-white rounded-full",
|
|
17
|
-
ghost: "hover:bg-dark-200 active:bg-dark-400",
|
|
18
|
-
link: "text-foreground underline-offset-4 hover:underline",
|
|
19
|
-
shadow: "bg-primary text-primary rounded border border-border shadow-[2px_2px_0_0_#0A0A0D] hover:shadow-none !transition-shadow duration-300 ease-in-out active:shadow-[inset_2px_2px_0_0_#262626] dark:shadow-[2px_2px_0_0_#FFF] dark:hover:shadow-none dark:active:shadow-[inset_2px_2px_0_0_#FFF]",
|
|
20
|
-
shadowSurface: "bg-surface text-dark-900 rounded border border-border shadow-[2px_2px_0_0_#0A0A0D] hover:shadow-none !transition-shadow duration-300 ease-in-out active:shadow-[inset_2px_2px_0_0_#262626] dark:shadow-[2px_2px_0_0_#FFF] dark:hover:shadow-none dark:active:shadow-[inset_2px_2px_0_0_#FFF]",
|
|
21
|
-
dark: "bg-dark-700 text-white dark:text-primary shadow hover:bg-dark-800 dark:bg-primary dark:hover:bg-primary/80 focus-visible:bg-dark-800 dark:focus-visible:bg-primary/80"
|
|
22
|
-
},
|
|
23
|
-
size: {
|
|
24
|
-
default: "h-9 p-2",
|
|
25
|
-
xs: "h-8 rounded-md px-2 text-sm gap-1.5",
|
|
26
|
-
sm: "h-8 rounded-md px-3 text-sm",
|
|
27
|
-
lg: "h-10 rounded-md px-8",
|
|
28
|
-
icon: "h-9 w-9 [&_svg]:size-5"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
defaultVariants: {
|
|
32
|
-
variant: "default",
|
|
33
|
-
size: "default"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
const Button = React.forwardRef(
|
|
38
|
-
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
39
|
-
const Comp = asChild ? Slot : "button";
|
|
40
|
-
return /* @__PURE__ */ React.createElement(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
Button.displayName = "Button";
|
|
44
|
-
|
|
45
|
-
export { Button, buttonVariants };
|
|
1
|
+
import 'react';
|
|
2
|
+
import '../../chunks/index.BqibIWDw.js';
|
|
3
|
+
import 'class-variance-authority';
|
|
4
|
+
import '../../chunks/utils.Cwtlq8dh.js';
|
|
5
|
+
export { B as Button, b as buttonVariants } from '../../chunks/button.DQL6gCAt.js';
|
|
46
6
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":[
|
|
1
|
+
{"version":3,"file":"button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -25,7 +25,7 @@ const SelectContent = React.forwardRef(({ className, children, position = "poppe
|
|
|
25
25
|
{
|
|
26
26
|
ref,
|
|
27
27
|
className: cn(
|
|
28
|
-
"relative z-
|
|
28
|
+
"relative z-above-modal min-w-[8rem] overflow-hidden rounded border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in 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",
|
|
29
29
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
30
30
|
className
|
|
31
31
|
),
|
|
@@ -44,14 +44,7 @@ const SelectContent = React.forwardRef(({ className, children, position = "poppe
|
|
|
44
44
|
)
|
|
45
45
|
)));
|
|
46
46
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
47
|
-
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
|
|
48
|
-
SelectPrimitive.Label,
|
|
49
|
-
{
|
|
50
|
-
ref,
|
|
51
|
-
className: cn("px-2 py-1.5 text-sm font-semibold", className),
|
|
52
|
-
...props
|
|
53
|
-
}
|
|
54
|
-
));
|
|
47
|
+
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(SelectPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", className), ...props }));
|
|
55
48
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
56
49
|
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React.createElement(
|
|
57
50
|
SelectPrimitive.Item,
|
|
@@ -67,14 +60,7 @@ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
67
60
|
/* @__PURE__ */ React.createElement(SelectPrimitive.ItemText, null, children)
|
|
68
61
|
));
|
|
69
62
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
70
|
-
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(
|
|
71
|
-
SelectPrimitive.Separator,
|
|
72
|
-
{
|
|
73
|
-
ref,
|
|
74
|
-
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
75
|
-
...props
|
|
76
|
-
}
|
|
77
|
-
));
|
|
63
|
+
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React.createElement(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
|
|
78
64
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
79
65
|
|
|
80
66
|
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../src/components/ui/select.tsx"],"sourcesContent":["import * as React from
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../src/components/ui/select.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, CaretDown } from '@phosphor-icons/react';\n\nimport { cn } from '@/lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-9 w-full items-center justify-between rounded border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <CaretDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> & { appendToBody?: boolean }\n>(({ className, children, position = 'popper', appendToBody, ...props }, ref) => (\n <SelectPrimitive.Portal container={appendToBody ? document.body : undefined}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-above-modal min-w-[8rem] overflow-hidden rounded border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in 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',\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 <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)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator };\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { X } from '@phosphor-icons/react';
|
|
5
5
|
import { c as cn } from '../../chunks/utils.Cwtlq8dh.js';
|
|
6
|
-
import { Button } from '
|
|
6
|
+
import { B as Button } from '../../chunks/button.DQL6gCAt.js';
|
|
7
7
|
|
|
8
8
|
const Sheet = DialogPrimitive.Root;
|
|
9
9
|
const SheetTrigger = DialogPrimitive.Trigger;
|