@brainfish-ai/components 0.26.0 → 0.27.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/dist/alert-dialog.d.ts +6 -2
- package/dist/button.d.ts +4 -2
- package/dist/chat-search.d.ts +14 -1
- package/dist/confirm-dialog.d.ts +3 -1
- package/dist/convos.d.ts +3 -0
- package/dist/esm/chunks/ChatSearch.bblH7kYY.js +95 -0
- package/dist/esm/chunks/ChatSearch.bblH7kYY.js.map +1 -0
- package/dist/esm/chunks/Conversation.CuRp-tJL.js +22 -0
- package/dist/esm/chunks/{Conversation.BriXFYqU.js.map → Conversation.CuRp-tJL.js.map} +1 -1
- package/dist/esm/chunks/FormattedMessage.XNMN23hm.js +23 -0
- package/dist/esm/chunks/FormattedMessage.XNMN23hm.js.map +1 -0
- package/dist/esm/chunks/MermaidDiagram.PRgXQ5Yh.js +2 -0
- package/dist/esm/chunks/{MermaidDiagram.xQ0CVFOI.js.map → MermaidDiagram.PRgXQ5Yh.js.map} +1 -1
- package/dist/esm/chunks/_commonjsHelpers.lGe4XDVY.js +2 -0
- package/dist/esm/chunks/_commonjsHelpers.lGe4XDVY.js.map +1 -0
- package/dist/esm/chunks/button.D_2SonNs.js +3 -0
- package/dist/esm/chunks/button.D_2SonNs.js.map +1 -0
- package/dist/esm/chunks/chart.BDL2tf-S.js +10 -0
- package/dist/esm/chunks/{chart.4ZbtBMmR.js.map → chart.BDL2tf-S.js.map} +1 -1
- package/dist/esm/chunks/chat-logo.CqPppEb9.js +3 -0
- package/dist/esm/chunks/chat-logo.CqPppEb9.js.map +1 -0
- package/dist/esm/chunks/combobox.MyoPH18G.js +6 -0
- package/dist/esm/chunks/{combobox.CJKym3Z1.js.map → combobox.MyoPH18G.js.map} +1 -1
- package/dist/esm/chunks/dark.DuW7JuAk.js +2 -0
- package/dist/esm/chunks/{dark.Cq2RCgy4.js.map → dark.DuW7JuAk.js.map} +1 -1
- package/dist/esm/chunks/data-table.CJOR-1Kf.js +5 -0
- package/dist/esm/chunks/{data-table.DbcAYxMY.js.map → data-table.CJOR-1Kf.js.map} +1 -1
- package/dist/esm/chunks/date-picker.C2VT_rZ9.js +4 -0
- package/dist/esm/chunks/{date-picker._cBTpdEK.js.map → date-picker.C2VT_rZ9.js.map} +1 -1
- package/dist/esm/chunks/extends.DPdBf6DS.js +2 -0
- package/dist/esm/chunks/extends.DPdBf6DS.js.map +1 -0
- package/dist/esm/chunks/feature-flags.DOcVlPHk.js +3 -0
- package/dist/esm/chunks/{feature-flags.DeDEcnd1.js.map → feature-flags.DOcVlPHk.js.map} +1 -1
- package/dist/esm/chunks/feedback.CLMuSvsg.js +13 -0
- package/dist/esm/chunks/{feedback.W2OzN-5r.js.map → feedback.CLMuSvsg.js.map} +1 -1
- package/dist/esm/chunks/file-upload-status.D8RhMcbO.js +8 -0
- package/dist/esm/chunks/{file-upload-status.DP2iuttI.js.map → file-upload-status.D8RhMcbO.js.map} +1 -1
- package/dist/esm/chunks/filters.BHp3ukNW.js +22 -0
- package/dist/esm/chunks/{filters.-7vSLEQ2.js.map → filters.BHp3ukNW.js.map} +1 -1
- package/dist/esm/chunks/font-picker.B9GPXyK4.js +6 -0
- package/dist/esm/chunks/{font-picker.DisEoE8a.js.map → font-picker.B9GPXyK4.js.map} +1 -1
- package/dist/esm/chunks/formatDate.D2xEZm8f.js +2 -0
- package/dist/esm/chunks/{formatDate.CWN6IFKq.js.map → formatDate.D2xEZm8f.js.map} +1 -1
- package/dist/esm/chunks/formatNumber.DhVn228t.js +2 -0
- package/dist/esm/chunks/{formatNumber.Bm2k8QrT.js.map → formatNumber.DhVn228t.js.map} +1 -1
- package/dist/esm/chunks/generating-star.BN9p_FDu.js +7 -0
- package/dist/esm/chunks/generating-star.BN9p_FDu.js.map +1 -0
- package/dist/esm/chunks/header-nav.DdOXbPSM.js +10 -0
- package/dist/esm/chunks/{header-nav.b4hvOsKc.js.map → header-nav.DdOXbPSM.js.map} +1 -1
- package/dist/esm/chunks/header-pane.DrVjpN5S.js +20 -0
- package/dist/esm/chunks/{header-pane.BFXHXxVn.js.map → header-pane.DrVjpN5S.js.map} +1 -1
- package/dist/esm/chunks/hooks.BQTKhHSv.js +2 -0
- package/dist/esm/chunks/hooks.BQTKhHSv.js.map +1 -0
- package/dist/esm/chunks/index.uF4ME3WQ.js +4 -0
- package/dist/esm/chunks/{index.BqibIWDw.js.map → index.uF4ME3WQ.js.map} +1 -1
- package/dist/esm/chunks/input-with-tags.DLv9e0XI.js +5 -0
- package/dist/esm/chunks/{input-with-tags.tg2nhPFv.js.map → input-with-tags.DLv9e0XI.js.map} +1 -1
- package/dist/esm/chunks/logo.CketsPBx.js +5 -0
- package/dist/esm/chunks/{logo.D5BMN6Db.js.map → logo.CketsPBx.js.map} +1 -1
- package/dist/esm/chunks/primary.CMQbo1GJ.js +2 -0
- package/dist/esm/chunks/{primary.CtiRZbqq.js.map → primary.CMQbo1GJ.js.map} +1 -1
- package/dist/esm/chunks/review-list.Cn5bw-lP.js +6 -0
- package/dist/esm/chunks/review-list.Cn5bw-lP.js.map +1 -0
- package/dist/esm/chunks/sidebar.DsEgGwJU.js +25 -0
- package/dist/esm/chunks/sidebar.DsEgGwJU.js.map +1 -0
- package/dist/esm/chunks/simpleSelect.DK1qZSXM.js +3 -0
- package/dist/esm/chunks/{simpleSelect.B1rktKkt.js.map → simpleSelect.DK1qZSXM.js.map} +1 -1
- package/dist/esm/chunks/status-badge.BLB0pWDn.js +3 -0
- package/dist/esm/chunks/status-badge.BLB0pWDn.js.map +1 -0
- package/dist/esm/chunks/trend-value.BPBDBsk2.js +3 -0
- package/dist/esm/chunks/{trend-value.COSukPwk.js.map → trend-value.BPBDBsk2.js.map} +1 -1
- package/dist/esm/chunks/two-level-combobox.DJYP--W9.js +8 -0
- package/dist/esm/chunks/{two-level-combobox.BXs2z9u5.js.map → two-level-combobox.DJYP--W9.js.map} +1 -1
- package/dist/esm/chunks/useChartDateFormatters.Dx2h5AAm.js +2 -0
- package/dist/esm/chunks/{useChartDateFormatters.DS9ASgFO.js.map → useChartDateFormatters.Dx2h5AAm.js.map} +1 -1
- package/dist/esm/chunks/utils.C6Qu-kwd.js +2 -0
- package/dist/esm/chunks/{utils.Cwtlq8dh.js.map → utils.C6Qu-kwd.js.map} +1 -1
- package/dist/esm/colors.js +1 -169
- package/dist/esm/colors.js.map +1 -1
- package/dist/esm/components/article-suggestions-banner.js +4 -53
- package/dist/esm/components/article-suggestions-banner.js.map +1 -1
- package/dist/esm/components/articles-coverage.js +4 -116
- package/dist/esm/components/articles-coverage.js.map +1 -1
- package/dist/esm/components/articles-updated.js +4 -74
- package/dist/esm/components/articles-updated.js.map +1 -1
- package/dist/esm/components/breadcrumbs.js +3 -13
- package/dist/esm/components/breadcrumbs.js.map +1 -1
- package/dist/esm/components/chart-area-linear.js +6 -66
- package/dist/esm/components/chart-area-linear.js.map +1 -1
- package/dist/esm/components/chart-radial-stacked.js +2 -48
- package/dist/esm/components/chart-radial-stacked.js.map +1 -1
- package/dist/esm/components/chat-search.js +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/confirm-dialog.js +2 -47
- package/dist/esm/components/confirm-dialog.js.map +1 -1
- package/dist/esm/components/conversation.js +1 -1
- package/dist/esm/components/convos.js +27 -607
- package/dist/esm/components/convos.js.map +1 -1
- package/dist/esm/components/data-table.js +1 -1
- package/dist/esm/components/date-picker.js +1 -1
- package/dist/esm/components/discoveries-created.js +4 -64
- package/dist/esm/components/discoveries-created.js.map +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/generating-star.js +1 -1
- package/dist/esm/components/input-with-tags.js +1 -1
- package/dist/esm/components/logo.js +1 -1
- package/dist/esm/components/markdown.js +1 -2
- package/dist/esm/components/markdown.js.map +1 -1
- package/dist/esm/components/metric-card.js +3 -29
- package/dist/esm/components/metric-card.js.map +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/trend-value.js +1 -1
- package/dist/esm/components/two-level-combobox.js +1 -1
- package/dist/esm/components/ui/accordion.js +7 -46
- package/dist/esm/components/ui/accordion.js.map +1 -1
- package/dist/esm/components/ui/alert-dialog.js +3 -114
- package/dist/esm/components/ui/alert-dialog.js.map +1 -1
- package/dist/esm/components/ui/alert.js +4 -103
- package/dist/esm/components/ui/alert.js.map +1 -1
- package/dist/esm/components/ui/avatar.js +7 -89
- package/dist/esm/components/ui/avatar.js.map +1 -1
- package/dist/esm/components/ui/badge.js +2 -26
- package/dist/esm/components/ui/badge.js.map +1 -1
- package/dist/esm/components/ui/breadcrumb.js +4 -60
- package/dist/esm/components/ui/breadcrumb.js.map +1 -1
- package/dist/esm/components/ui/button-group.js +4 -88
- package/dist/esm/components/ui/button-group.js.map +1 -1
- package/dist/esm/components/ui/button.js +1 -5
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/calendar.js +2 -20
- package/dist/esm/components/ui/calendar.js.map +1 -1
- package/dist/esm/components/ui/card.js +1 -55
- package/dist/esm/components/ui/card.js.map +1 -1
- package/dist/esm/components/ui/collapsible.js +1 -33
- package/dist/esm/components/ui/collapsible.js.map +1 -1
- package/dist/esm/components/ui/combobox.js +1 -1
- package/dist/esm/components/ui/command.js +2 -79
- package/dist/esm/components/ui/command.js.map +1 -1
- package/dist/esm/components/ui/dialog.js +4 -60
- package/dist/esm/components/ui/dialog.js.map +1 -1
- package/dist/esm/components/ui/div-button.js +2 -61
- package/dist/esm/components/ui/div-button.js.map +1 -1
- package/dist/esm/components/ui/dropdown-menu.js +3 -114
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
- package/dist/esm/components/ui/icon.js +2 -25
- package/dist/esm/components/ui/icon.js.map +1 -1
- package/dist/esm/components/ui/input.js +4 -47
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/components/ui/item.js +11 -140
- package/dist/esm/components/ui/item.js.map +1 -1
- package/dist/esm/components/ui/label.js +1 -19
- package/dist/esm/components/ui/label.js.map +1 -1
- package/dist/esm/components/ui/popover.js +1 -31
- package/dist/esm/components/ui/popover.js.map +1 -1
- package/dist/esm/components/ui/progress.js +2 -22
- package/dist/esm/components/ui/progress.js.map +1 -1
- package/dist/esm/components/ui/scroll-area.js +2 -32
- package/dist/esm/components/ui/scroll-area.js.map +1 -1
- package/dist/esm/components/ui/select.js +5 -66
- package/dist/esm/components/ui/select.js.map +1 -1
- package/dist/esm/components/ui/separator.js +1 -23
- package/dist/esm/components/ui/separator.js.map +1 -1
- package/dist/esm/components/ui/sheet.js +3 -62
- package/dist/esm/components/ui/sheet.js.map +1 -1
- package/dist/esm/components/ui/spinner.js +2 -17
- package/dist/esm/components/ui/spinner.js.map +1 -1
- package/dist/esm/components/ui/switch.js +2 -26
- package/dist/esm/components/ui/switch.js.map +1 -1
- package/dist/esm/components/ui/table.js +1 -82
- package/dist/esm/components/ui/table.js.map +1 -1
- package/dist/esm/components/ui/textarea.js +1 -33
- package/dist/esm/components/ui/textarea.js.map +1 -1
- package/dist/esm/components/ui/tooltip.js +3 -31
- package/dist/esm/components/ui/tooltip.js.map +1 -1
- package/dist/esm/global.css +1 -1
- package/dist/esm/index.js +1 -53
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layouts/full-layout.js +1 -1
- package/dist/esm/layouts/header-nav.js +1 -1
- package/dist/esm/layouts/sidebar.js +1 -1
- package/dist/esm/logos/microsoft-logo.js +6 -66
- package/dist/esm/logos/microsoft-logo.js.map +1 -1
- package/dist/esm/logos/microsoft-teams-logo.js +12 -112
- package/dist/esm/logos/microsoft-teams-logo.js.map +1 -1
- package/dist/esm/logos/slack-logo.js +3 -39
- package/dist/esm/logos/slack-logo.js.map +1 -1
- package/dist/esm/scenes/knowledge-review.js +17 -380
- package/dist/esm/scenes/knowledge-review.js.map +1 -1
- package/dist/esm/tailwind.preset.js +1 -1526
- package/dist/esm/tailwind.preset.js.map +1 -1
- package/dist/index.d.ts +32 -5
- package/dist/logo.d.ts +9 -0
- package/dist/stats.html +47 -46
- package/package.json +17 -18
- package/tailwind.preset.ts +1 -0
- package/dist/esm/chunks/ChatSearch.CeQrTOVx.js +0 -6825
- package/dist/esm/chunks/ChatSearch.CeQrTOVx.js.map +0 -1
- package/dist/esm/chunks/Conversation.BriXFYqU.js +0 -831
- package/dist/esm/chunks/FormattedMessage.CRbM-hF6.js +0 -39715
- package/dist/esm/chunks/FormattedMessage.CRbM-hF6.js.map +0 -1
- package/dist/esm/chunks/MermaidDiagram.xQ0CVFOI.js +0 -50
- package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js +0 -8
- package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js.map +0 -1
- package/dist/esm/chunks/button.DQL6gCAt.js +0 -48
- package/dist/esm/chunks/button.DQL6gCAt.js.map +0 -1
- package/dist/esm/chunks/chart.4ZbtBMmR.js +0 -199
- package/dist/esm/chunks/combobox.CJKym3Z1.js +0 -95
- package/dist/esm/chunks/dark.Cq2RCgy4.js +0 -18
- package/dist/esm/chunks/data-table.DbcAYxMY.js +0 -102
- package/dist/esm/chunks/date-picker._cBTpdEK.js +0 -26
- package/dist/esm/chunks/extends.mO86zOh3.js +0 -12
- package/dist/esm/chunks/extends.mO86zOh3.js.map +0 -1
- package/dist/esm/chunks/feature-flags.DeDEcnd1.js +0 -22
- package/dist/esm/chunks/feedback.W2OzN-5r.js +0 -214
- package/dist/esm/chunks/file-upload-status.DP2iuttI.js +0 -141
- package/dist/esm/chunks/filters.-7vSLEQ2.js +0 -565
- package/dist/esm/chunks/font-picker.DisEoE8a.js +0 -181
- package/dist/esm/chunks/formatDate.CWN6IFKq.js +0 -952
- package/dist/esm/chunks/formatNumber.Bm2k8QrT.js +0 -10
- package/dist/esm/chunks/generating-star.DMDPNTaM.js +0 -1501
- package/dist/esm/chunks/generating-star.DMDPNTaM.js.map +0 -1
- package/dist/esm/chunks/header-nav.b4hvOsKc.js +0 -197
- package/dist/esm/chunks/header-pane.BFXHXxVn.js +0 -559
- package/dist/esm/chunks/hooks.BWVaVAT-.js +0 -343
- package/dist/esm/chunks/hooks.BWVaVAT-.js.map +0 -1
- package/dist/esm/chunks/index.BqibIWDw.js +0 -137
- package/dist/esm/chunks/input-with-tags.tg2nhPFv.js +0 -110
- package/dist/esm/chunks/logo.D5BMN6Db.js +0 -191
- package/dist/esm/chunks/primary.CtiRZbqq.js +0 -18
- package/dist/esm/chunks/review-list.BtSnfpSc.js +0 -117
- package/dist/esm/chunks/review-list.BtSnfpSc.js.map +0 -1
- package/dist/esm/chunks/sidebar.BamKohb5.js +0 -803
- package/dist/esm/chunks/sidebar.BamKohb5.js.map +0 -1
- package/dist/esm/chunks/simpleSelect.B1rktKkt.js +0 -23
- package/dist/esm/chunks/status-badge.eFJ1PYeb.js +0 -18
- package/dist/esm/chunks/status-badge.eFJ1PYeb.js.map +0 -1
- package/dist/esm/chunks/trend-value.COSukPwk.js +0 -51
- package/dist/esm/chunks/two-level-combobox.BXs2z9u5.js +0 -132
- package/dist/esm/chunks/useChartDateFormatters.DS9ASgFO.js +0 -11
- package/dist/esm/chunks/utils.Cwtlq8dh.js +0 -45
package/dist/esm/chunks/{two-level-combobox.BXs2z9u5.js.map → two-level-combobox.DJYP--W9.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"two-level-combobox.DJYP--W9.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":["TwoLevelCombobox","firstLevelItems","fetchSecondLevelItems","onSelectionChange","firstLevelLabel","secondLevelLabel","firstLevelPlaceholder","className","debugMode","displayLabel","open","setOpen","React","useState","view","setView","selectedFirstLevel","setSelectedFirstLevel","selectedSecondLevel","setSelectedSecondLevel","secondLevelItems","setSecondLevelItems","isLoadingSecondLevel","setIsLoadingSecondLevel","searchValue","setSearchValue","handleClearSelection","e","stopPropagation","createElement","cn","Popover","onOpenChange","isOpen","PopoverTrigger","asChild","Button","variant","role","label","DivButton","size","onClick","X","CaretUpDown","PopoverContent","align","Command","ArrowLeft","Spinner","CommandInput","value","onValueChange","placeholder","toLowerCase","CommandList","CommandEmpty","CommandGroup","map","item","CommandItem","key","onSelect","async","fetchedItems","error","console","warn","handleFirstLevelSelect","icon","Check","handleSecondLevelSelect"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChartDateFormatters.
|
|
1
|
+
{"version":3,"file":"useChartDateFormatters.Dx2h5AAm.js","sources":["../../../src/lib/useChartDateFormatters.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { formatChartLabel, formatChartTick } from './formatDate';\n\nexport function useChartDateFormatters(locale?: string) {\n const tickFormatter = useCallback((value: Date | string | undefined) => formatChartTick(value, locale ?? 'en-US'), [locale]);\n\n const formatXLabel = useCallback((label: Date | string | undefined) => formatChartLabel(label, locale ?? 'en-US'), [locale]);\n\n return { tickFormatter, formatXLabel };\n}\n"],"names":["useChartDateFormatters","locale","tickFormatter","useCallback","value","formatChartTick","formatXLabel","label","formatChartLabel"],"mappings":"mFAIO,SAASA,EAAuBC,GAKrC,MAAO,CAAEC,cAJaC,EAAaC,GAAqCC,EAAgBD,EAAOH,GAAU,SAAU,CAACA,IAI5FK,aAFHH,EAAaI,GAAqCC,EAAiBD,EAAON,GAAU,SAAU,CAACA,IAGtH"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"react";import{clsx as i}from"clsx";import{twMerge as n}from"tailwind-merge";function e(...e){return n(i(e))}function o(i){const n={en:[/i(?:\s|['\u2018\u2019])?m(?:\s+really)?\s+not\s+sure/i,/i(?:\s+am)?(?:\s+really)?\s+not\s+sure/i,/i\s+(?:really\s+)?don(?:['\u2018\u2019])?t\s+know/i,/it(?:['\u2018\u2019]s| is) unclear/i,/cannot determine/i,/hard to say/i,/difficult to determine/i],es:[/no (?:lo )?sé/i,/no estoy seguro/i,/no es claro/i,/desconocido/i],fr:[/je ne sais pas/i,/je ne suis pas sûr/i,/ce n'est pas clair/i,/inconnu/i],de:[/ich weiß nicht/i,/ich bin nicht sicher/i,/es ist unklar/i,/unbekannt/i],it:[/non lo so/i,/non sono sicuro/i,/non è chiaro/i,/sconosciuto/i],pt:[/não sei/i,/não tenho certeza/i,/não está claro/i,/desconhecido/i],nl:[/ik weet het niet/i,/ik weet niet zeker/i,/het is onduidelijk/i,/onbekend/i],pl:[/nie wiem/i,/nie jestem pewien/i,/to nie jest jasne/i,/nieznany/i],ru:[/я не знаю/i,/я не уверен/i,/это не ясно/i,/неизвестно/i],ja:[/知りません/i,/よくわからない/i,/不明です/i,/未知/i],ko:[/모릅니다/i,/잘 모르겠습니다/i,/불확실합니다/i,/알 수 없음/i],zh:[/我不知道/i,/我不确定/i,/不清楚/i,/未知/i],"zh-TW":[/我不知道/i,/我不確定/i,/不清楚/i,/未知/i]};let e=null;for(const[o,s]of Object.entries(n))for(const n of s){const s=i.match(n);s&&(null===e||s.index<e.index)&&(e={index:s.index,language:o})}return e?{uncertain:!0,language:e.language}:{uncertain:!1,language:null}}export{e as c,o as i};
|
|
2
|
+
//# sourceMappingURL=utils.C6Qu-kwd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.
|
|
1
|
+
{"version":3,"file":"utils.C6Qu-kwd.js","sources":["../../../src/lib/utils.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nlet globalId = 0;\nconst genId = () => ++globalId;\n\nexport function useId(prefix?: string): string {\n const idRef = useRef<string>();\n if (idRef.current === undefined) {\n idRef.current = `${prefix || 'id'}-${genId()}`;\n }\n\n return idRef.current;\n}\n\nexport function isAnswerUncertain(response: string): { uncertain: boolean; language: string | null } {\n // Define uncertainty patterns for various languages\n const uncertaintyPatternsByLanguage: Record<string, RegExp[]> = {\n en: [\n /i(?:\\s|['\\u2018\\u2019])?m(?:\\s+really)?\\s+not\\s+sure/i,\n /i(?:\\s+am)?(?:\\s+really)?\\s+not\\s+sure/i,\n /i\\s+(?:really\\s+)?don(?:['\\u2018\\u2019])?t\\s+know/i,\n /it(?:['\\u2018\\u2019]s| is) unclear/i,\n /cannot determine/i,\n /hard to say/i,\n /difficult to determine/i,\n ],\n es: [/no (?:lo )?sé/i, /no estoy seguro/i, /no es claro/i, /desconocido/i],\n fr: [/je ne sais pas/i, /je ne suis pas sûr/i, /ce n'est pas clair/i, /inconnu/i],\n de: [/ich weiß nicht/i, /ich bin nicht sicher/i, /es ist unklar/i, /unbekannt/i],\n it: [/non lo so/i, /non sono sicuro/i, /non è chiaro/i, /sconosciuto/i],\n pt: [/não sei/i, /não tenho certeza/i, /não está claro/i, /desconhecido/i],\n nl: [/ik weet het niet/i, /ik weet niet zeker/i, /het is onduidelijk/i, /onbekend/i],\n pl: [/nie wiem/i, /nie jestem pewien/i, /to nie jest jasne/i, /nieznany/i],\n ru: [/я не знаю/i, /я не уверен/i, /это не ясно/i, /неизвестно/i],\n ja: [/知りません/i, /よくわからない/i, /不明です/i, /未知/i],\n ko: [/모릅니다/i, /잘 모르겠습니다/i, /불확실합니다/i, /알 수 없음/i],\n zh: [/我不知道/i, /我不确定/i, /不清楚/i, /未知/i],\n 'zh-TW': [/我不知道/i, /我不確定/i, /不清楚/i, /未知/i],\n };\n\n let earliestMatch: { index: number; language: string } | null = null;\n\n // Find the earliest match across all languages\n for (const [language, patterns] of Object.entries(uncertaintyPatternsByLanguage)) {\n for (const pattern of patterns) {\n const match = response.match(pattern);\n if (match && (earliestMatch === null || match.index! < earliestMatch.index)) {\n earliestMatch = { index: match.index!, language };\n }\n }\n }\n\n return earliestMatch ? { uncertain: true, language: earliestMatch.language } : { uncertain: false, language: null };\n}\n"],"names":["cn","inputs","twMerge","clsx","isAnswerUncertain","response","uncertaintyPatternsByLanguage","en","es","fr","de","it","pt","nl","pl","ru","ja","ko","zh","earliestMatch","language","patterns","Object","entries","pattern","match","index","uncertain"],"mappings":"mFAIO,SAASA,KAAMC,GACpB,OAAOC,EAAQC,EAAKF,GACtB,CAcO,SAASG,EAAkBC,GAEhC,MAAMC,EAA0D,CAC9DC,GAAI,CACF,wDACA,0CACA,qDACA,sCACA,oBACA,eACA,2BAEFC,GAAI,CAAC,iBAAkB,mBAAoB,eAAgB,gBAC3DC,GAAI,CAAC,kBAAmB,sBAAuB,sBAAuB,YACtEC,GAAI,CAAC,kBAAmB,wBAAyB,iBAAkB,cACnEC,GAAI,CAAC,aAAc,mBAAoB,gBAAiB,gBACxDC,GAAI,CAAC,WAAY,qBAAsB,kBAAmB,iBAC1DC,GAAI,CAAC,oBAAqB,sBAAuB,sBAAuB,aACxEC,GAAI,CAAC,YAAa,qBAAsB,qBAAsB,aAC9DC,GAAI,CAAC,aAAc,eAAgB,eAAgB,eACnDC,GAAI,CAAC,SAAU,WAAY,QAAS,OACpCC,GAAI,CAAC,QAAS,YAAa,UAAW,WACtCC,GAAI,CAAC,QAAS,QAAS,OAAQ,OAC/B,QAAS,CAAC,QAAS,QAAS,OAAQ,QAGtC,IAAIC,EAA4D,KAGhE,IAAA,MAAYC,EAAUC,KAAaC,OAAOC,QAAQjB,GAChD,IAAA,MAAWkB,KAAWH,EAAU,CAC9B,MAAMI,EAAQpB,EAASoB,MAAMD,GACzBC,IAA4B,OAAlBN,GAA0BM,EAAMC,MAASP,EAAcO,SACnEP,EAAgB,CAAEO,MAAOD,EAAMC,MAAQN,YAE3C,CAGF,OAAOD,EAAgB,CAAEQ,WAAW,EAAMP,SAAUD,EAAcC,UAAa,CAAEO,WAAW,EAAOP,SAAU,KAC/G"}
|
package/dist/esm/colors.js
CHANGED
|
@@ -1,170 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { d as dark } from './chunks/dark.Cq2RCgy4.js';
|
|
3
|
-
|
|
4
|
-
const orange = {
|
|
5
|
-
100: "var(--bfc-v2-color-orange-100, #fff3eb)",
|
|
6
|
-
200: "var(--bfc-v2-color-orange-200, #fedec8)",
|
|
7
|
-
300: "var(--bfc-v2-color-orange-300, #fec195)",
|
|
8
|
-
400: "var(--bfc-v2-color-orange-400, #fea362)",
|
|
9
|
-
500: "var(--bfc-v2-color-orange-500, #f38a3f)",
|
|
10
|
-
600: "var(--bfc-v2-color-orange-600, #e56910)",
|
|
11
|
-
700: "var(--bfc-v2-color-orange-700, #c25100)",
|
|
12
|
-
800: "var(--bfc-v2-color-orange-800, #a54800)",
|
|
13
|
-
900: "var(--bfc-v2-color-orange-900, #702e00)",
|
|
14
|
-
1e3: "var(--bfc-v2-color-orange-1000, #38291e)",
|
|
15
|
-
DEFAULT: "var(--bfc-v2-color-orange-700, #c25100)"
|
|
16
|
-
// 700
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const yellow = {
|
|
20
|
-
100: "var(--bfc-v2-color-yellow-100, #fef7c8)",
|
|
21
|
-
200: "var(--bfc-v2-color-yellow-200, #ffdf84)",
|
|
22
|
-
300: "var(--bfc-v2-color-yellow-300, #fed153)",
|
|
23
|
-
400: "var(--bfc-v2-color-yellow-400, #fbbf25)",
|
|
24
|
-
500: "var(--bfc-v2-color-yellow-500, #e5ad1d)",
|
|
25
|
-
600: "var(--bfc-v2-color-yellow-600, #c59109)",
|
|
26
|
-
700: "var(--bfc-v2-color-yellow-700, #977007)",
|
|
27
|
-
800: "var(--bfc-v2-color-yellow-800, #7f5f01)",
|
|
28
|
-
900: "var(--bfc-v2-color-yellow-900, #533f04)",
|
|
29
|
-
1e3: "var(--bfc-v2-color-yellow-1000, #332e1b)",
|
|
30
|
-
DEFAULT: "var(--bfc-v2-color-yellow-700, #946f00)"
|
|
31
|
-
// 700
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const lime = {
|
|
35
|
-
100: "var(--bfc-v2-color-lime-100, #e9fec8)",
|
|
36
|
-
200: "var(--bfc-v2-color-lime-200, #d6f589)",
|
|
37
|
-
300: "var(--bfc-v2-color-lime-300, #b3ee2b)",
|
|
38
|
-
400: "var(--bfc-v2-color-lime-400, #a3e635)",
|
|
39
|
-
500: "var(--bfc-v2-color-lime-500, #91cf02)",
|
|
40
|
-
600: "var(--bfc-v2-color-lime-600, #83b300)",
|
|
41
|
-
700: "var(--bfc-v2-color-lime-700, #647f01)",
|
|
42
|
-
800: "var(--bfc-v2-color-lime-800, #546c00)",
|
|
43
|
-
900: "var(--bfc-v2-color-lime-900, #3f5304)",
|
|
44
|
-
1e3: "var(--bfc-v2-color-lime-1000, #2b331b)",
|
|
45
|
-
DEFAULT: "var(--bfc-v2-color-lime-700, #647f01)"
|
|
46
|
-
// 700
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const green = {
|
|
50
|
-
100: "var(--bfc-v2-color-green-100, #dcfff1)",
|
|
51
|
-
200: "var(--bfc-v2-color-green-200, #baf3db)",
|
|
52
|
-
300: "var(--bfc-v2-color-green-300, #7ee2b8)",
|
|
53
|
-
400: "var(--bfc-v2-color-green-400, #4bce97)",
|
|
54
|
-
500: "var(--bfc-v2-color-green-500, #2abb7f)",
|
|
55
|
-
600: "var(--bfc-v2-color-green-600, #22a06b)",
|
|
56
|
-
700: "var(--bfc-v2-color-green-700, #1f845a)",
|
|
57
|
-
800: "var(--bfc-v2-color-green-800, #216e4e)",
|
|
58
|
-
900: "var(--bfc-v2-color-green-900, #164b35)",
|
|
59
|
-
1e3: "var(--bfc-v2-color-green-1000, #1c3329)",
|
|
60
|
-
DEFAULT: "var(--bfc-v2-color-green-700, #1f845a)"
|
|
61
|
-
// 700
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const blue = {
|
|
65
|
-
100: "var(--bfc-v2-color-blue-100, #e9f2fe)",
|
|
66
|
-
200: "var(--bfc-v2-color-blue-200, #cfe1fd)",
|
|
67
|
-
300: "var(--bfc-v2-color-blue-300, #8fb8f6)",
|
|
68
|
-
400: "var(--bfc-v2-color-blue-400, #669df1)",
|
|
69
|
-
500: "var(--bfc-v2-color-blue-500, #4688ec)",
|
|
70
|
-
600: "var(--bfc-v2-color-blue-600, #357de8)",
|
|
71
|
-
700: "var(--bfc-v2-color-blue-700, #1868db)",
|
|
72
|
-
800: "var(--bfc-v2-color-blue-800, #1558bc)",
|
|
73
|
-
900: "var(--bfc-v2-color-blue-900, #123263)",
|
|
74
|
-
1e3: "var(--bfc-v2-color-blue-1000, #1c2b42)",
|
|
75
|
-
DEFAULT: "var(--bfc-v2-color-blue-700, #1868db)"
|
|
76
|
-
// 700
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
const teal = {
|
|
80
|
-
100: "var(--bfc-v2-color-teal-100, #e7f9ff)",
|
|
81
|
-
200: "var(--bfc-v2-color-teal-200, #c6edfb)",
|
|
82
|
-
300: "var(--bfc-v2-color-teal-300, #9dd9ee)",
|
|
83
|
-
400: "var(--bfc-v2-color-teal-400, #6cc3e0)",
|
|
84
|
-
500: "var(--bfc-v2-color-teal-500, #42b2d7)",
|
|
85
|
-
600: "var(--bfc-v2-color-teal-600, #2898bd)",
|
|
86
|
-
700: "var(--bfc-v2-color-teal-700, #227d9b)",
|
|
87
|
-
800: "var(--bfc-v2-color-teal-800, #206a83)",
|
|
88
|
-
900: "var(--bfc-v2-color-teal-900, #164555)",
|
|
89
|
-
1e3: "var(--bfc-v2-color-teal-1000, #1e3137)",
|
|
90
|
-
DEFAULT: "var(--bfc-v2-color-teal-700, #227d9b)"
|
|
91
|
-
// 700
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const purple = {
|
|
95
|
-
100: "var(--bfc-v2-color-purple-100, #f8eefe)",
|
|
96
|
-
200: "var(--bfc-v2-color-purple-200, #dfd8fd)",
|
|
97
|
-
300: "var(--bfc-v2-color-purple-300, #b8acf6)",
|
|
98
|
-
400: "var(--bfc-v2-color-purple-400, #9f8fef)",
|
|
99
|
-
500: "var(--bfc-v2-color-purple-500, #8f7ee7)",
|
|
100
|
-
600: "var(--bfc-v2-color-purple-600, #8270db)",
|
|
101
|
-
700: "var(--bfc-v2-color-purple-700, #6e5dc6)",
|
|
102
|
-
800: "var(--bfc-v2-color-purple-800, #5e4db2)",
|
|
103
|
-
900: "var(--bfc-v2-color-purple-900, #352c63)",
|
|
104
|
-
1e3: "var(--bfc-v2-color-purple-1000, #2b273f)",
|
|
105
|
-
DEFAULT: "var(--bfc-v2-color-purple-700, #6e5dc6)"
|
|
106
|
-
// 700
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
const magenta = {
|
|
110
|
-
100: "var(--bfc-v2-color-magenta-100, #ffecf8)",
|
|
111
|
-
200: "var(--bfc-v2-color-magenta-200, #fdd0ec)",
|
|
112
|
-
300: "var(--bfc-v2-color-magenta-300, #f797d2)",
|
|
113
|
-
400: "var(--bfc-v2-color-magenta-400, #e774bb)",
|
|
114
|
-
500: "var(--bfc-v2-color-magenta-500, #da62ac)",
|
|
115
|
-
600: "var(--bfc-v2-color-magenta-600, #cd519d)",
|
|
116
|
-
700: "var(--bfc-v2-color-magenta-700, #ae4787)",
|
|
117
|
-
800: "var(--bfc-v2-color-magenta-800, #943d73)",
|
|
118
|
-
900: "var(--bfc-v2-color-magenta-900, #50253f)",
|
|
119
|
-
1e3: "var(--bfc-v2-color-magenta-1000, #3d2232)",
|
|
120
|
-
DEFAULT: "var(--bfc-v2-color-magenta-700, #ae4787)"
|
|
121
|
-
// 700
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
const pink = {
|
|
125
|
-
50: "var(--bfc-v2-color-pink-50, #F5F4FF)",
|
|
126
|
-
100: "var(--bfc-v2-color-pink-100, #FAE9FF)",
|
|
127
|
-
200: "var(--bfc-v2-color-pink-200, #F5D1FE)",
|
|
128
|
-
300: "var(--bfc-v2-color-pink-300, #F0ACFC)",
|
|
129
|
-
400: "var(--bfc-v2-color-pink-400, #E87AF9)",
|
|
130
|
-
500: "var(--bfc-v2-color-pink-500, #D947EF)",
|
|
131
|
-
600: "var(--bfc-v2-color-pink-600, #C027D3)",
|
|
132
|
-
700: "var(--bfc-v2-color-pink-700, #A21DAF)",
|
|
133
|
-
800: "var(--bfc-v2-color-pink-800, #861A8F)",
|
|
134
|
-
900: "var(--bfc-v2-color-pink-900, #701B75)",
|
|
135
|
-
DEFAULT: "var(--bfc-v2-color-pink-400, #E87AF9)"
|
|
136
|
-
// 400
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
const red = {
|
|
140
|
-
100: "var(--bfc-v2-color-red-100, #ffeceb)",
|
|
141
|
-
200: "var(--bfc-v2-color-red-200, #ffd5d2)",
|
|
142
|
-
300: "var(--bfc-v2-color-red-300, #fd9891)",
|
|
143
|
-
400: "var(--bfc-v2-color-red-400, #f87168)",
|
|
144
|
-
500: "var(--bfc-v2-color-red-500, #f15b50)",
|
|
145
|
-
600: "var(--bfc-v2-color-red-600, #e2483d)",
|
|
146
|
-
700: "var(--bfc-v2-color-red-700, #c9372c)",
|
|
147
|
-
800: "var(--bfc-v2-color-red-800, #ae2e24)",
|
|
148
|
-
900: "var(--bfc-v2-color-red-900, #5d1f1a)",
|
|
149
|
-
1e3: "var(--bfc-v2-color-red-1000, #42221f)",
|
|
150
|
-
DEFAULT: "var(--bfc-v2-color-red-700, #c9372c)"
|
|
151
|
-
// 700
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
const BrainfishColors = {
|
|
155
|
-
primary,
|
|
156
|
-
dark,
|
|
157
|
-
orange,
|
|
158
|
-
yellow,
|
|
159
|
-
lime,
|
|
160
|
-
green,
|
|
161
|
-
blue,
|
|
162
|
-
teal,
|
|
163
|
-
purple,
|
|
164
|
-
magenta,
|
|
165
|
-
pink,
|
|
166
|
-
red
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
export { BrainfishColors };
|
|
1
|
+
import{p as r}from"./chunks/primary.CMQbo1GJ.js";import{d as c}from"./chunks/dark.DuW7JuAk.js";const o={primary:r,dark:c,orange:{100:"var(--bfc-v2-color-orange-100, #fff3eb)",200:"var(--bfc-v2-color-orange-200, #fedec8)",300:"var(--bfc-v2-color-orange-300, #fec195)",400:"var(--bfc-v2-color-orange-400, #fea362)",500:"var(--bfc-v2-color-orange-500, #f38a3f)",600:"var(--bfc-v2-color-orange-600, #e56910)",700:"var(--bfc-v2-color-orange-700, #c25100)",800:"var(--bfc-v2-color-orange-800, #a54800)",900:"var(--bfc-v2-color-orange-900, #702e00)",1e3:"var(--bfc-v2-color-orange-1000, #38291e)",DEFAULT:"var(--bfc-v2-color-orange-700, #c25100)"},yellow:{100:"var(--bfc-v2-color-yellow-100, #fef7c8)",200:"var(--bfc-v2-color-yellow-200, #ffdf84)",300:"var(--bfc-v2-color-yellow-300, #fed153)",400:"var(--bfc-v2-color-yellow-400, #fbbf25)",500:"var(--bfc-v2-color-yellow-500, #e5ad1d)",600:"var(--bfc-v2-color-yellow-600, #c59109)",700:"var(--bfc-v2-color-yellow-700, #977007)",800:"var(--bfc-v2-color-yellow-800, #7f5f01)",900:"var(--bfc-v2-color-yellow-900, #533f04)",1e3:"var(--bfc-v2-color-yellow-1000, #332e1b)",DEFAULT:"var(--bfc-v2-color-yellow-700, #946f00)"},lime:{100:"var(--bfc-v2-color-lime-100, #e9fec8)",200:"var(--bfc-v2-color-lime-200, #d6f589)",300:"var(--bfc-v2-color-lime-300, #b3ee2b)",400:"var(--bfc-v2-color-lime-400, #a3e635)",500:"var(--bfc-v2-color-lime-500, #91cf02)",600:"var(--bfc-v2-color-lime-600, #83b300)",700:"var(--bfc-v2-color-lime-700, #647f01)",800:"var(--bfc-v2-color-lime-800, #546c00)",900:"var(--bfc-v2-color-lime-900, #3f5304)",1e3:"var(--bfc-v2-color-lime-1000, #2b331b)",DEFAULT:"var(--bfc-v2-color-lime-700, #647f01)"},green:{100:"var(--bfc-v2-color-green-100, #dcfff1)",200:"var(--bfc-v2-color-green-200, #baf3db)",300:"var(--bfc-v2-color-green-300, #7ee2b8)",400:"var(--bfc-v2-color-green-400, #4bce97)",500:"var(--bfc-v2-color-green-500, #2abb7f)",600:"var(--bfc-v2-color-green-600, #22a06b)",700:"var(--bfc-v2-color-green-700, #1f845a)",800:"var(--bfc-v2-color-green-800, #216e4e)",900:"var(--bfc-v2-color-green-900, #164b35)",1e3:"var(--bfc-v2-color-green-1000, #1c3329)",DEFAULT:"var(--bfc-v2-color-green-700, #1f845a)"},blue:{100:"var(--bfc-v2-color-blue-100, #e9f2fe)",200:"var(--bfc-v2-color-blue-200, #cfe1fd)",300:"var(--bfc-v2-color-blue-300, #8fb8f6)",400:"var(--bfc-v2-color-blue-400, #669df1)",500:"var(--bfc-v2-color-blue-500, #4688ec)",600:"var(--bfc-v2-color-blue-600, #357de8)",700:"var(--bfc-v2-color-blue-700, #1868db)",800:"var(--bfc-v2-color-blue-800, #1558bc)",900:"var(--bfc-v2-color-blue-900, #123263)",1e3:"var(--bfc-v2-color-blue-1000, #1c2b42)",DEFAULT:"var(--bfc-v2-color-blue-700, #1868db)"},teal:{100:"var(--bfc-v2-color-teal-100, #e7f9ff)",200:"var(--bfc-v2-color-teal-200, #c6edfb)",300:"var(--bfc-v2-color-teal-300, #9dd9ee)",400:"var(--bfc-v2-color-teal-400, #6cc3e0)",500:"var(--bfc-v2-color-teal-500, #42b2d7)",600:"var(--bfc-v2-color-teal-600, #2898bd)",700:"var(--bfc-v2-color-teal-700, #227d9b)",800:"var(--bfc-v2-color-teal-800, #206a83)",900:"var(--bfc-v2-color-teal-900, #164555)",1e3:"var(--bfc-v2-color-teal-1000, #1e3137)",DEFAULT:"var(--bfc-v2-color-teal-700, #227d9b)"},purple:{100:"var(--bfc-v2-color-purple-100, #f8eefe)",200:"var(--bfc-v2-color-purple-200, #dfd8fd)",300:"var(--bfc-v2-color-purple-300, #b8acf6)",400:"var(--bfc-v2-color-purple-400, #9f8fef)",500:"var(--bfc-v2-color-purple-500, #8f7ee7)",600:"var(--bfc-v2-color-purple-600, #8270db)",700:"var(--bfc-v2-color-purple-700, #6e5dc6)",800:"var(--bfc-v2-color-purple-800, #5e4db2)",900:"var(--bfc-v2-color-purple-900, #352c63)",1e3:"var(--bfc-v2-color-purple-1000, #2b273f)",DEFAULT:"var(--bfc-v2-color-purple-700, #6e5dc6)"},magenta:{100:"var(--bfc-v2-color-magenta-100, #ffecf8)",200:"var(--bfc-v2-color-magenta-200, #fdd0ec)",300:"var(--bfc-v2-color-magenta-300, #f797d2)",400:"var(--bfc-v2-color-magenta-400, #e774bb)",500:"var(--bfc-v2-color-magenta-500, #da62ac)",600:"var(--bfc-v2-color-magenta-600, #cd519d)",700:"var(--bfc-v2-color-magenta-700, #ae4787)",800:"var(--bfc-v2-color-magenta-800, #943d73)",900:"var(--bfc-v2-color-magenta-900, #50253f)",1e3:"var(--bfc-v2-color-magenta-1000, #3d2232)",DEFAULT:"var(--bfc-v2-color-magenta-700, #ae4787)"},pink:{50:"var(--bfc-v2-color-pink-50, #F5F4FF)",100:"var(--bfc-v2-color-pink-100, #FAE9FF)",200:"var(--bfc-v2-color-pink-200, #F5D1FE)",300:"var(--bfc-v2-color-pink-300, #F0ACFC)",400:"var(--bfc-v2-color-pink-400, #E87AF9)",500:"var(--bfc-v2-color-pink-500, #D947EF)",600:"var(--bfc-v2-color-pink-600, #C027D3)",700:"var(--bfc-v2-color-pink-700, #A21DAF)",800:"var(--bfc-v2-color-pink-800, #861A8F)",900:"var(--bfc-v2-color-pink-900, #701B75)",DEFAULT:"var(--bfc-v2-color-pink-400, #E87AF9)"},red:{100:"var(--bfc-v2-color-red-100, #ffeceb)",200:"var(--bfc-v2-color-red-200, #ffd5d2)",300:"var(--bfc-v2-color-red-300, #fd9891)",400:"var(--bfc-v2-color-red-400, #f87168)",500:"var(--bfc-v2-color-red-500, #f15b50)",600:"var(--bfc-v2-color-red-600, #e2483d)",700:"var(--bfc-v2-color-red-700, #c9372c)",800:"var(--bfc-v2-color-red-800, #ae2e24)",900:"var(--bfc-v2-color-red-900, #5d1f1a)",1e3:"var(--bfc-v2-color-red-1000, #42221f)",DEFAULT:"var(--bfc-v2-color-red-700, #c9372c)"}};export{o as BrainfishColors};
|
|
170
2
|
//# sourceMappingURL=colors.js.map
|
package/dist/esm/colors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sources":["../../src/colors/orange.ts","../../src/colors/yellow.ts","../../src/colors/lime.ts","../../src/colors/green.ts","../../src/colors/blue.ts","../../src/colors/teal.ts","../../src/colors/purple.ts","../../src/colors/magenta.ts","../../src/colors/pink.ts","../../src/colors/red.ts","../../src/colors/index.ts"],"sourcesContent":["export const orange = {\n 100: 'var(--bfc-v2-color-orange-100, #fff3eb)',\n 200: 'var(--bfc-v2-color-orange-200, #fedec8)',\n 300: 'var(--bfc-v2-color-orange-300, #fec195)',\n 400: 'var(--bfc-v2-color-orange-400, #fea362)',\n 500: 'var(--bfc-v2-color-orange-500, #f38a3f)',\n 600: 'var(--bfc-v2-color-orange-600, #e56910)',\n 700: 'var(--bfc-v2-color-orange-700, #c25100)',\n 800: 'var(--bfc-v2-color-orange-800, #a54800)',\n 900: 'var(--bfc-v2-color-orange-900, #702e00)',\n 1000: 'var(--bfc-v2-color-orange-1000, #38291e)',\n DEFAULT: 'var(--bfc-v2-color-orange-700, #c25100)', // 700\n};\n","export const yellow = {\n 100: 'var(--bfc-v2-color-yellow-100, #fef7c8)',\n 200: 'var(--bfc-v2-color-yellow-200, #ffdf84)',\n 300: 'var(--bfc-v2-color-yellow-300, #fed153)',\n 400: 'var(--bfc-v2-color-yellow-400, #fbbf25)',\n 500: 'var(--bfc-v2-color-yellow-500, #e5ad1d)',\n 600: 'var(--bfc-v2-color-yellow-600, #c59109)',\n 700: 'var(--bfc-v2-color-yellow-700, #977007)',\n 800: 'var(--bfc-v2-color-yellow-800, #7f5f01)',\n 900: 'var(--bfc-v2-color-yellow-900, #533f04)',\n 1000: 'var(--bfc-v2-color-yellow-1000, #332e1b)',\n DEFAULT: 'var(--bfc-v2-color-yellow-700, #946f00)', // 700\n};\n","export const lime = {\n 100: 'var(--bfc-v2-color-lime-100, #e9fec8)',\n 200: 'var(--bfc-v2-color-lime-200, #d6f589)',\n 300: 'var(--bfc-v2-color-lime-300, #b3ee2b)',\n 400: 'var(--bfc-v2-color-lime-400, #a3e635)',\n 500: 'var(--bfc-v2-color-lime-500, #91cf02)',\n 600: 'var(--bfc-v2-color-lime-600, #83b300)',\n 700: 'var(--bfc-v2-color-lime-700, #647f01)',\n 800: 'var(--bfc-v2-color-lime-800, #546c00)',\n 900: 'var(--bfc-v2-color-lime-900, #3f5304)',\n 1000: 'var(--bfc-v2-color-lime-1000, #2b331b)',\n DEFAULT: 'var(--bfc-v2-color-lime-700, #647f01)', // 700\n};\n","export const green = {\n 100: 'var(--bfc-v2-color-green-100, #dcfff1)',\n 200: 'var(--bfc-v2-color-green-200, #baf3db)',\n 300: 'var(--bfc-v2-color-green-300, #7ee2b8)',\n 400: 'var(--bfc-v2-color-green-400, #4bce97)',\n 500: 'var(--bfc-v2-color-green-500, #2abb7f)',\n 600: 'var(--bfc-v2-color-green-600, #22a06b)',\n 700: 'var(--bfc-v2-color-green-700, #1f845a)',\n 800: 'var(--bfc-v2-color-green-800, #216e4e)',\n 900: 'var(--bfc-v2-color-green-900, #164b35)',\n 1000: 'var(--bfc-v2-color-green-1000, #1c3329)',\n DEFAULT: 'var(--bfc-v2-color-green-700, #1f845a)', // 700\n};\n","export const blue = {\n 100: 'var(--bfc-v2-color-blue-100, #e9f2fe)',\n 200: 'var(--bfc-v2-color-blue-200, #cfe1fd)',\n 300: 'var(--bfc-v2-color-blue-300, #8fb8f6)',\n 400: 'var(--bfc-v2-color-blue-400, #669df1)',\n 500: 'var(--bfc-v2-color-blue-500, #4688ec)',\n 600: 'var(--bfc-v2-color-blue-600, #357de8)',\n 700: 'var(--bfc-v2-color-blue-700, #1868db)',\n 800: 'var(--bfc-v2-color-blue-800, #1558bc)',\n 900: 'var(--bfc-v2-color-blue-900, #123263)',\n 1000: 'var(--bfc-v2-color-blue-1000, #1c2b42)',\n DEFAULT: 'var(--bfc-v2-color-blue-700, #1868db)', // 700\n};\n","export const teal = {\n 100: 'var(--bfc-v2-color-teal-100, #e7f9ff)',\n 200: 'var(--bfc-v2-color-teal-200, #c6edfb)',\n 300: 'var(--bfc-v2-color-teal-300, #9dd9ee)',\n 400: 'var(--bfc-v2-color-teal-400, #6cc3e0)',\n 500: 'var(--bfc-v2-color-teal-500, #42b2d7)',\n 600: 'var(--bfc-v2-color-teal-600, #2898bd)',\n 700: 'var(--bfc-v2-color-teal-700, #227d9b)',\n 800: 'var(--bfc-v2-color-teal-800, #206a83)',\n 900: 'var(--bfc-v2-color-teal-900, #164555)',\n 1000: 'var(--bfc-v2-color-teal-1000, #1e3137)',\n DEFAULT: 'var(--bfc-v2-color-teal-700, #227d9b)', // 700\n};\n","export const purple = {\n 100: 'var(--bfc-v2-color-purple-100, #f8eefe)',\n 200: 'var(--bfc-v2-color-purple-200, #dfd8fd)',\n 300: 'var(--bfc-v2-color-purple-300, #b8acf6)',\n 400: 'var(--bfc-v2-color-purple-400, #9f8fef)',\n 500: 'var(--bfc-v2-color-purple-500, #8f7ee7)',\n 600: 'var(--bfc-v2-color-purple-600, #8270db)',\n 700: 'var(--bfc-v2-color-purple-700, #6e5dc6)',\n 800: 'var(--bfc-v2-color-purple-800, #5e4db2)',\n 900: 'var(--bfc-v2-color-purple-900, #352c63)',\n 1000: 'var(--bfc-v2-color-purple-1000, #2b273f)',\n DEFAULT: 'var(--bfc-v2-color-purple-700, #6e5dc6)', // 700\n};\n","export const magenta = {\n 100: 'var(--bfc-v2-color-magenta-100, #ffecf8)',\n 200: 'var(--bfc-v2-color-magenta-200, #fdd0ec)',\n 300: 'var(--bfc-v2-color-magenta-300, #f797d2)',\n 400: 'var(--bfc-v2-color-magenta-400, #e774bb)',\n 500: 'var(--bfc-v2-color-magenta-500, #da62ac)',\n 600: 'var(--bfc-v2-color-magenta-600, #cd519d)',\n 700: 'var(--bfc-v2-color-magenta-700, #ae4787)',\n 800: 'var(--bfc-v2-color-magenta-800, #943d73)',\n 900: 'var(--bfc-v2-color-magenta-900, #50253f)',\n 1000: 'var(--bfc-v2-color-magenta-1000, #3d2232)',\n DEFAULT: 'var(--bfc-v2-color-magenta-700, #ae4787)', // 700\n};\n","export const pink = {\n 50: 'var(--bfc-v2-color-pink-50, #F5F4FF)',\n 100: 'var(--bfc-v2-color-pink-100, #FAE9FF)',\n 200: 'var(--bfc-v2-color-pink-200, #F5D1FE)',\n 300: 'var(--bfc-v2-color-pink-300, #F0ACFC)',\n 400: 'var(--bfc-v2-color-pink-400, #E87AF9)',\n 500: 'var(--bfc-v2-color-pink-500, #D947EF)',\n 600: 'var(--bfc-v2-color-pink-600, #C027D3)',\n 700: 'var(--bfc-v2-color-pink-700, #A21DAF)',\n 800: 'var(--bfc-v2-color-pink-800, #861A8F)',\n 900: 'var(--bfc-v2-color-pink-900, #701B75)',\n DEFAULT: 'var(--bfc-v2-color-pink-400, #E87AF9)', // 400\n};\n","export const red = {\n 100: 'var(--bfc-v2-color-red-100, #ffeceb)',\n 200: 'var(--bfc-v2-color-red-200, #ffd5d2)',\n 300: 'var(--bfc-v2-color-red-300, #fd9891)',\n 400: 'var(--bfc-v2-color-red-400, #f87168)',\n 500: 'var(--bfc-v2-color-red-500, #f15b50)',\n 600: 'var(--bfc-v2-color-red-600, #e2483d)',\n 700: 'var(--bfc-v2-color-red-700, #c9372c)',\n 800: 'var(--bfc-v2-color-red-800, #ae2e24)',\n 900: 'var(--bfc-v2-color-red-900, #5d1f1a)',\n 1000: 'var(--bfc-v2-color-red-1000, #42221f)',\n DEFAULT: 'var(--bfc-v2-color-red-700, #c9372c)', // 700\n};\n","import { primary } from './primary';\nimport { dark } from './dark';\nimport { orange } from './orange';\nimport { yellow } from './yellow';\nimport { lime } from './lime';\nimport { green } from './green';\nimport { blue } from './blue';\nimport { teal } from './teal';\nimport { purple } from './purple';\nimport { magenta } from './magenta';\nimport { pink } from './pink';\nimport { red } from './red';\n\nexport const BrainfishColors = {\n primary,\n dark,\n orange,\n yellow,\n lime,\n green,\n blue,\n teal,\n purple,\n magenta,\n pink,\n red,\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colors.js","sources":["../../src/colors/orange.ts","../../src/colors/index.ts","../../src/colors/yellow.ts","../../src/colors/lime.ts","../../src/colors/green.ts","../../src/colors/blue.ts","../../src/colors/teal.ts","../../src/colors/purple.ts","../../src/colors/magenta.ts","../../src/colors/pink.ts","../../src/colors/red.ts"],"sourcesContent":["export const orange = {\n 100: 'var(--bfc-v2-color-orange-100, #fff3eb)',\n 200: 'var(--bfc-v2-color-orange-200, #fedec8)',\n 300: 'var(--bfc-v2-color-orange-300, #fec195)',\n 400: 'var(--bfc-v2-color-orange-400, #fea362)',\n 500: 'var(--bfc-v2-color-orange-500, #f38a3f)',\n 600: 'var(--bfc-v2-color-orange-600, #e56910)',\n 700: 'var(--bfc-v2-color-orange-700, #c25100)',\n 800: 'var(--bfc-v2-color-orange-800, #a54800)',\n 900: 'var(--bfc-v2-color-orange-900, #702e00)',\n 1000: 'var(--bfc-v2-color-orange-1000, #38291e)',\n DEFAULT: 'var(--bfc-v2-color-orange-700, #c25100)', // 700\n};\n","import { primary } from './primary';\nimport { dark } from './dark';\nimport { orange } from './orange';\nimport { yellow } from './yellow';\nimport { lime } from './lime';\nimport { green } from './green';\nimport { blue } from './blue';\nimport { teal } from './teal';\nimport { purple } from './purple';\nimport { magenta } from './magenta';\nimport { pink } from './pink';\nimport { red } from './red';\n\nexport const BrainfishColors = {\n primary,\n dark,\n orange,\n yellow,\n lime,\n green,\n blue,\n teal,\n purple,\n magenta,\n pink,\n red,\n};\n","export const yellow = {\n 100: 'var(--bfc-v2-color-yellow-100, #fef7c8)',\n 200: 'var(--bfc-v2-color-yellow-200, #ffdf84)',\n 300: 'var(--bfc-v2-color-yellow-300, #fed153)',\n 400: 'var(--bfc-v2-color-yellow-400, #fbbf25)',\n 500: 'var(--bfc-v2-color-yellow-500, #e5ad1d)',\n 600: 'var(--bfc-v2-color-yellow-600, #c59109)',\n 700: 'var(--bfc-v2-color-yellow-700, #977007)',\n 800: 'var(--bfc-v2-color-yellow-800, #7f5f01)',\n 900: 'var(--bfc-v2-color-yellow-900, #533f04)',\n 1000: 'var(--bfc-v2-color-yellow-1000, #332e1b)',\n DEFAULT: 'var(--bfc-v2-color-yellow-700, #946f00)', // 700\n};\n","export const lime = {\n 100: 'var(--bfc-v2-color-lime-100, #e9fec8)',\n 200: 'var(--bfc-v2-color-lime-200, #d6f589)',\n 300: 'var(--bfc-v2-color-lime-300, #b3ee2b)',\n 400: 'var(--bfc-v2-color-lime-400, #a3e635)',\n 500: 'var(--bfc-v2-color-lime-500, #91cf02)',\n 600: 'var(--bfc-v2-color-lime-600, #83b300)',\n 700: 'var(--bfc-v2-color-lime-700, #647f01)',\n 800: 'var(--bfc-v2-color-lime-800, #546c00)',\n 900: 'var(--bfc-v2-color-lime-900, #3f5304)',\n 1000: 'var(--bfc-v2-color-lime-1000, #2b331b)',\n DEFAULT: 'var(--bfc-v2-color-lime-700, #647f01)', // 700\n};\n","export const green = {\n 100: 'var(--bfc-v2-color-green-100, #dcfff1)',\n 200: 'var(--bfc-v2-color-green-200, #baf3db)',\n 300: 'var(--bfc-v2-color-green-300, #7ee2b8)',\n 400: 'var(--bfc-v2-color-green-400, #4bce97)',\n 500: 'var(--bfc-v2-color-green-500, #2abb7f)',\n 600: 'var(--bfc-v2-color-green-600, #22a06b)',\n 700: 'var(--bfc-v2-color-green-700, #1f845a)',\n 800: 'var(--bfc-v2-color-green-800, #216e4e)',\n 900: 'var(--bfc-v2-color-green-900, #164b35)',\n 1000: 'var(--bfc-v2-color-green-1000, #1c3329)',\n DEFAULT: 'var(--bfc-v2-color-green-700, #1f845a)', // 700\n};\n","export const blue = {\n 100: 'var(--bfc-v2-color-blue-100, #e9f2fe)',\n 200: 'var(--bfc-v2-color-blue-200, #cfe1fd)',\n 300: 'var(--bfc-v2-color-blue-300, #8fb8f6)',\n 400: 'var(--bfc-v2-color-blue-400, #669df1)',\n 500: 'var(--bfc-v2-color-blue-500, #4688ec)',\n 600: 'var(--bfc-v2-color-blue-600, #357de8)',\n 700: 'var(--bfc-v2-color-blue-700, #1868db)',\n 800: 'var(--bfc-v2-color-blue-800, #1558bc)',\n 900: 'var(--bfc-v2-color-blue-900, #123263)',\n 1000: 'var(--bfc-v2-color-blue-1000, #1c2b42)',\n DEFAULT: 'var(--bfc-v2-color-blue-700, #1868db)', // 700\n};\n","export const teal = {\n 100: 'var(--bfc-v2-color-teal-100, #e7f9ff)',\n 200: 'var(--bfc-v2-color-teal-200, #c6edfb)',\n 300: 'var(--bfc-v2-color-teal-300, #9dd9ee)',\n 400: 'var(--bfc-v2-color-teal-400, #6cc3e0)',\n 500: 'var(--bfc-v2-color-teal-500, #42b2d7)',\n 600: 'var(--bfc-v2-color-teal-600, #2898bd)',\n 700: 'var(--bfc-v2-color-teal-700, #227d9b)',\n 800: 'var(--bfc-v2-color-teal-800, #206a83)',\n 900: 'var(--bfc-v2-color-teal-900, #164555)',\n 1000: 'var(--bfc-v2-color-teal-1000, #1e3137)',\n DEFAULT: 'var(--bfc-v2-color-teal-700, #227d9b)', // 700\n};\n","export const purple = {\n 100: 'var(--bfc-v2-color-purple-100, #f8eefe)',\n 200: 'var(--bfc-v2-color-purple-200, #dfd8fd)',\n 300: 'var(--bfc-v2-color-purple-300, #b8acf6)',\n 400: 'var(--bfc-v2-color-purple-400, #9f8fef)',\n 500: 'var(--bfc-v2-color-purple-500, #8f7ee7)',\n 600: 'var(--bfc-v2-color-purple-600, #8270db)',\n 700: 'var(--bfc-v2-color-purple-700, #6e5dc6)',\n 800: 'var(--bfc-v2-color-purple-800, #5e4db2)',\n 900: 'var(--bfc-v2-color-purple-900, #352c63)',\n 1000: 'var(--bfc-v2-color-purple-1000, #2b273f)',\n DEFAULT: 'var(--bfc-v2-color-purple-700, #6e5dc6)', // 700\n};\n","export const magenta = {\n 100: 'var(--bfc-v2-color-magenta-100, #ffecf8)',\n 200: 'var(--bfc-v2-color-magenta-200, #fdd0ec)',\n 300: 'var(--bfc-v2-color-magenta-300, #f797d2)',\n 400: 'var(--bfc-v2-color-magenta-400, #e774bb)',\n 500: 'var(--bfc-v2-color-magenta-500, #da62ac)',\n 600: 'var(--bfc-v2-color-magenta-600, #cd519d)',\n 700: 'var(--bfc-v2-color-magenta-700, #ae4787)',\n 800: 'var(--bfc-v2-color-magenta-800, #943d73)',\n 900: 'var(--bfc-v2-color-magenta-900, #50253f)',\n 1000: 'var(--bfc-v2-color-magenta-1000, #3d2232)',\n DEFAULT: 'var(--bfc-v2-color-magenta-700, #ae4787)', // 700\n};\n","export const pink = {\n 50: 'var(--bfc-v2-color-pink-50, #F5F4FF)',\n 100: 'var(--bfc-v2-color-pink-100, #FAE9FF)',\n 200: 'var(--bfc-v2-color-pink-200, #F5D1FE)',\n 300: 'var(--bfc-v2-color-pink-300, #F0ACFC)',\n 400: 'var(--bfc-v2-color-pink-400, #E87AF9)',\n 500: 'var(--bfc-v2-color-pink-500, #D947EF)',\n 600: 'var(--bfc-v2-color-pink-600, #C027D3)',\n 700: 'var(--bfc-v2-color-pink-700, #A21DAF)',\n 800: 'var(--bfc-v2-color-pink-800, #861A8F)',\n 900: 'var(--bfc-v2-color-pink-900, #701B75)',\n DEFAULT: 'var(--bfc-v2-color-pink-400, #E87AF9)', // 400\n};\n","export const red = {\n 100: 'var(--bfc-v2-color-red-100, #ffeceb)',\n 200: 'var(--bfc-v2-color-red-200, #ffd5d2)',\n 300: 'var(--bfc-v2-color-red-300, #fd9891)',\n 400: 'var(--bfc-v2-color-red-400, #f87168)',\n 500: 'var(--bfc-v2-color-red-500, #f15b50)',\n 600: 'var(--bfc-v2-color-red-600, #e2483d)',\n 700: 'var(--bfc-v2-color-red-700, #c9372c)',\n 800: 'var(--bfc-v2-color-red-800, #ae2e24)',\n 900: 'var(--bfc-v2-color-red-900, #5d1f1a)',\n 1000: 'var(--bfc-v2-color-red-1000, #42221f)',\n DEFAULT: 'var(--bfc-v2-color-red-700, #c9372c)', // 700\n};\n"],"names":["BrainfishColors","primary","dark","orange","DEFAULT","yellow","lime","green","blue","teal","purple","magenta","pink","red"],"mappings":"+FAAO,MCaMA,EAAkB,CAC7BC,UACAC,OACAC,ODhBoB,CACpB,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAM,2CACNC,QAAS,2CCMTC,OCjBoB,CACpB,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAM,2CACND,QAAS,2CDOTE,KElBkB,CAClB,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAM,yCACNF,QAAS,yCFQTG,MGnBmB,CACnB,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAK,yCACL,IAAM,0CACNH,QAAS,0CHSTI,KIpBkB,CAClB,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAM,yCACNJ,QAAS,yCJUTK,KKrBkB,CAClB,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAM,yCACNL,QAAS,yCLWTM,OMtBoB,CACpB,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAK,0CACL,IAAM,2CACNN,QAAS,2CNYTO,QOvBqB,CACrB,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAK,2CACL,IAAM,4CACNP,QAAS,4CPaTQ,KQxBkB,CAClB,GAAI,uCACJ,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACL,IAAK,wCACLR,QAAS,yCRcTS,ISzBiB,CACjB,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAK,uCACL,IAAM,wCACNT,QAAS"}
|
|
@@ -1,54 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { ButtonGroup } from './ui/button-group.js';
|
|
6
|
-
import { c as cn } from '../chunks/utils.Cwtlq8dh.js';
|
|
7
|
-
|
|
8
|
-
function pluralise(count, singular, plural = `${singular}s`) {
|
|
9
|
-
const word = count === 1 ? singular : plural;
|
|
10
|
-
return `${count} ${word}`;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const ArticleSuggestionsBanner = React.forwardRef(
|
|
14
|
-
function ArticleSuggestionsBanner2({
|
|
15
|
-
suggestionsCount,
|
|
16
|
-
currentArticleIndex,
|
|
17
|
-
totalArticles,
|
|
18
|
-
onNextArticle,
|
|
19
|
-
onPreviousArticle,
|
|
20
|
-
onStartReviewSuggestions,
|
|
21
|
-
onRejectAllSuggestions,
|
|
22
|
-
onApproveAllSuggestions,
|
|
23
|
-
className,
|
|
24
|
-
...props
|
|
25
|
-
}, ref) {
|
|
26
|
-
const hasNextArticle = currentArticleIndex < totalArticles - 1;
|
|
27
|
-
const hasPreviousArticle = currentArticleIndex > 0;
|
|
28
|
-
const currentArticle = currentArticleIndex + 1;
|
|
29
|
-
return /* @__PURE__ */ React.createElement("div", { ref, className: cn("flex bg-blue-200 rounded-md border border-blue-600", className), ...props }, /* @__PURE__ */ React.createElement("div", { className: "flex-1 py-3 px-4 flex justify-between items-center" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement(Sparkle, { size: 32, weight: "fill", className: "text-blue-700" }), /* @__PURE__ */ React.createElement("p", { className: "text-sm text-foreground" }, pluralise(suggestionsCount, "way"), " to level up this article.")), /* @__PURE__ */ React.createElement(ButtonGroup, { orientation: "horizontal", rounded: false, "aria-label": "Suggestion actions" }, /* @__PURE__ */ React.createElement(Button, { variant: "link", onClick: onStartReviewSuggestions }, "Start review"), /* @__PURE__ */ React.createElement(Button, { variant: "link", onClick: onRejectAllSuggestions }, "Reject all"), /* @__PURE__ */ React.createElement(Button, { variant: "shadowSurface", onClick: onApproveAllSuggestions }, "Approve all"))), /* @__PURE__ */ React.createElement("div", { className: "py-3 px-6 flex items-center bg-blue-300 border-l border-blue-700 gap-2 rounded-r-md" }, /* @__PURE__ */ React.createElement("p", { className: "text-sm text-foreground" }, /* @__PURE__ */ React.createElement("span", { "aria-hidden": "true" }, currentArticle, "/", totalArticles), /* @__PURE__ */ React.createElement("span", { className: "sr-only", "aria-live": "polite" }, "Article ", currentArticle, " of ", totalArticles)), /* @__PURE__ */ React.createElement(Tooltip, null, /* @__PURE__ */ React.createElement(TooltipTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
30
|
-
Button,
|
|
31
|
-
{
|
|
32
|
-
variant: "link",
|
|
33
|
-
size: "icon",
|
|
34
|
-
disabled: !hasNextArticle,
|
|
35
|
-
onClick: onNextArticle,
|
|
36
|
-
"aria-label": "Go to next article"
|
|
37
|
-
},
|
|
38
|
-
/* @__PURE__ */ React.createElement(CaretDown, { "aria-hidden": "true", weight: "bold" })
|
|
39
|
-
)), /* @__PURE__ */ React.createElement(TooltipContent, { side: "bottom", bgColor: "--bfc-foreground", className: "text-background" }, "Next Article")), /* @__PURE__ */ React.createElement(Tooltip, null, /* @__PURE__ */ React.createElement(TooltipTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
40
|
-
Button,
|
|
41
|
-
{
|
|
42
|
-
variant: "link",
|
|
43
|
-
size: "icon",
|
|
44
|
-
disabled: !hasPreviousArticle,
|
|
45
|
-
onClick: onPreviousArticle,
|
|
46
|
-
"aria-label": "Go to previous article"
|
|
47
|
-
},
|
|
48
|
-
/* @__PURE__ */ React.createElement(CaretUp, { "aria-hidden": "true", weight: "bold" })
|
|
49
|
-
)), /* @__PURE__ */ React.createElement(TooltipContent, { side: "top", bgColor: "--bfc-foreground", className: "text-background" }, "Previous Article"))));
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
export { ArticleSuggestionsBanner };
|
|
1
|
+
import{Sparkle as e,CaretDown as t,CaretUp as r}from"@phosphor-icons/react";import*as a from"react";import{B as l}from"../chunks/button.D_2SonNs.js";import{Tooltip as n,TooltipTrigger as o,TooltipContent as i}from"./ui/tooltip.js";import{ButtonGroup as c}from"./ui/button-group.js";import{c as s}from"../chunks/utils.C6Qu-kwd.js";const m=a.forwardRef(function({suggestionsCount:m,currentArticleIndex:u,totalArticles:d,onNextArticle:p,onPreviousArticle:b,onStartReviewSuggestions:f,onRejectAllSuggestions:g,onApproveAllSuggestions:E,className:v,...x},h){const k=u<d-1,N=u>0,A=u+1;/* @__PURE__ */
|
|
2
|
+
return a.createElement("div",{ref:h,className:s("flex bg-blue-200 rounded-md border border-blue-600",v),...x},/* @__PURE__ */a.createElement("div",{className:"flex-1 py-3 px-4 flex justify-between items-center"},/* @__PURE__ */a.createElement("div",{className:"flex items-center gap-2"},/* @__PURE__ */a.createElement(e,{size:32,weight:"fill",className:"text-blue-700"}),/* @__PURE__ */a.createElement("p",{className:"text-sm text-foreground"},function(e,t,r=`${t}s`){return`${e} ${1===e?t:r}`}(m,"way")," to level up this article.")),/* @__PURE__ */a.createElement(c,{orientation:"horizontal",rounded:!1,"aria-label":"Suggestion actions"},/* @__PURE__ */a.createElement(l,{variant:"link",onClick:f},"Start review"),/* @__PURE__ */a.createElement(l,{variant:"link",onClick:g},"Reject all"),/* @__PURE__ */a.createElement(l,{variant:"surface",elevation:"shadow",onClick:E},"Approve all"))),/* @__PURE__ */a.createElement("div",{className:"py-3 px-6 flex items-center bg-blue-300 border-l border-blue-700 gap-2 rounded-r-md"},/* @__PURE__ */a.createElement("p",{className:"text-sm text-foreground"},/* @__PURE__ */a.createElement("span",{"aria-hidden":"true"},A,"/",d),/* @__PURE__ */a.createElement("span",{className:"sr-only","aria-live":"polite"},"Article ",A," of ",d)),/* @__PURE__ */a.createElement(n,null,/* @__PURE__ */a.createElement(o,{asChild:!0},/* @__PURE__ */a.createElement(l,{variant:"link",size:"icon",disabled:!k,onClick:p,"aria-label":"Go to next article"},
|
|
3
|
+
/* @__PURE__ */a.createElement(t,{"aria-hidden":"true",weight:"bold"}))),/* @__PURE__ */a.createElement(i,{side:"bottom",bgColor:"--bfc-foreground",className:"text-background"},"Next Article")),/* @__PURE__ */a.createElement(n,null,/* @__PURE__ */a.createElement(o,{asChild:!0},/* @__PURE__ */a.createElement(l,{variant:"link",size:"icon",disabled:!N,onClick:b,"aria-label":"Go to previous article"},
|
|
4
|
+
/* @__PURE__ */a.createElement(r,{"aria-hidden":"true",weight:"bold"}))),/* @__PURE__ */a.createElement(i,{side:"top",bgColor:"--bfc-foreground",className:"text-background"},"Previous Article"))))});export{m as ArticleSuggestionsBanner};
|
|
54
5
|
//# sourceMappingURL=article-suggestions-banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-suggestions-banner.js","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"article-suggestions-banner.js","sources":["../../../src/components/article-suggestions-banner/article-suggestions-banner.tsx","../../../src/lib/pluralise.ts"],"sourcesContent":["import { CaretDown, CaretUp, Sparkle } from '@phosphor-icons/react';\nimport * as React from 'react';\n\nimport { Button } from '../ui/button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip';\nimport { ButtonGroup } from '../ui/button-group';\n\nimport { cn } from '@/lib/utils';\nimport { pluralise } from '@/lib/pluralise';\n\nexport interface ArticleSuggestionsBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n suggestionsCount: number;\n currentArticleIndex: number;\n totalArticles: number;\n onNextArticle: () => void;\n onPreviousArticle: () => void;\n onStartReviewSuggestions: () => void;\n onRejectAllSuggestions: () => void;\n onApproveAllSuggestions: () => void;\n}\n\nexport const ArticleSuggestionsBanner = React.forwardRef<HTMLDivElement, ArticleSuggestionsBannerProps>(\n function ArticleSuggestionsBanner(\n {\n suggestionsCount,\n currentArticleIndex,\n totalArticles,\n onNextArticle,\n onPreviousArticle,\n onStartReviewSuggestions,\n onRejectAllSuggestions,\n onApproveAllSuggestions,\n className,\n ...props\n },\n ref,\n ) {\n const hasNextArticle = currentArticleIndex < totalArticles - 1;\n const hasPreviousArticle = currentArticleIndex > 0;\n const currentArticle = currentArticleIndex + 1;\n\n return (\n <div ref={ref} className={cn('flex bg-blue-200 rounded-md border border-blue-600', className)} {...props}>\n <div className=\"flex-1 py-3 px-4 flex justify-between items-center\">\n <div className=\"flex items-center gap-2\">\n <Sparkle size={32} weight=\"fill\" className=\"text-blue-700\" />\n <p className=\"text-sm text-foreground\">{pluralise(suggestionsCount, 'way')} to level up this article.</p>\n </div>\n <ButtonGroup orientation=\"horizontal\" rounded={false} aria-label=\"Suggestion actions\">\n <Button variant=\"link\" onClick={onStartReviewSuggestions}>\n Start review\n </Button>\n <Button variant=\"link\" onClick={onRejectAllSuggestions}>\n Reject all\n </Button>\n <Button variant=\"surface\" elevation=\"shadow\" onClick={onApproveAllSuggestions}>\n Approve all\n </Button>\n </ButtonGroup>\n </div>\n <div className=\"py-3 px-6 flex items-center bg-blue-300 border-l border-blue-700 gap-2 rounded-r-md\">\n <p className=\"text-sm text-foreground\">\n <span aria-hidden=\"true\">\n {currentArticle}/{totalArticles}\n </span>\n <span className=\"sr-only\" aria-live=\"polite\">\n Article {currentArticle} of {totalArticles}\n </span>\n </p>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"link\"\n size=\"icon\"\n disabled={!hasNextArticle}\n onClick={onNextArticle}\n aria-label=\"Go to next article\"\n >\n <CaretDown aria-hidden=\"true\" weight=\"bold\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\" bgColor=\"--bfc-foreground\" className=\"text-background\">\n Next Article\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"link\"\n size=\"icon\"\n disabled={!hasPreviousArticle}\n onClick={onPreviousArticle}\n aria-label=\"Go to previous article\"\n >\n <CaretUp aria-hidden=\"true\" weight=\"bold\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\" bgColor=\"--bfc-foreground\" className=\"text-background\">\n Previous Article\n </TooltipContent>\n </Tooltip>\n </div>\n </div>\n );\n },\n);\n","export function pluralise(count: number, singular: string, plural = `${singular}s`) {\n const word = count === 1 ? singular : plural;\n\n return `${count} ${word}`;\n}\n"],"names":["ArticleSuggestionsBanner","React","forwardRef","suggestionsCount","currentArticleIndex","totalArticles","onNextArticle","onPreviousArticle","onStartReviewSuggestions","onRejectAllSuggestions","onApproveAllSuggestions","className","props","ref","hasNextArticle","hasPreviousArticle","currentArticle","createElement","cn","Sparkle","size","weight","count","singular","plural","pluralise","ButtonGroup","orientation","rounded","Button","variant","onClick","elevation","Tooltip","TooltipTrigger","asChild","disabled","CaretDown","TooltipContent","side","bgColor","CaretUp"],"mappings":"0UAqBO,MAAMA,EAA2BC,EAAMC,WAC5C,UACEC,iBACEA,EAAAC,oBACAA,EAAAC,cACAA,EAAAC,cACAA,EAAAC,kBACAA,EAAAC,yBACAA,EAAAC,uBACAA,EAAAC,wBACAA,EAAAC,UACAA,KACGC,GAELC,GAEA,MAAMC,EAAiBV,EAAsBC,EAAgB,EACvDU,EAAqBX,EAAsB,EAC3CY,EAAiBZ,EAAsB;AAE7C,OACEH,EAAAgB,cAAC,OAAIJ,MAAUF,UAAWO,EAAG,qDAAsDP,MAAgBC,kBACjGX,EAAAgB,cAAC,OAAIN,UAAU,qEACbV,EAAAgB,cAAC,MAAA,CAAIN,UAAU,0DACZQ,EAAA,CAAQC,KAAM,GAAIC,OAAO,OAAOV,UAAU,iCAC3CV,EAAAgB,cAAC,IAAA,CAAEN,UAAU,2BC9ClB,SAAmBW,EAAeC,EAAkBC,EAAS,GAAGD,MAGrE,MAAO,GAAGD,KAFa,IAAVA,EAAcC,EAAWC,GAGxC,CD0CoDC,CAAUtB,EAAkB,OAAO,8CAE7EF,EAAAgB,cAACS,GAAYC,YAAY,aAAaC,SAAS,EAAO,aAAW,qDAC9DC,EAAA,CAAOC,QAAQ,OAAOC,QAASvB,GAA0B,+BAG1DP,EAAAgB,cAACY,EAAA,CAAOC,QAAQ,OAAOC,QAAStB,GAAwB,6BAGxDR,EAAAgB,cAACY,EAAA,CAAOC,QAAQ,UAAUE,UAAU,SAASD,QAASrB,GAAyB,gDAKlF,MAAA,CAAIC,UAAU,sGACbV,EAAAgB,cAAC,IAAA,CAAEN,UAAU,0CACXV,EAAAgB,cAAC,OAAA,CAAK,cAAY,QACfD,EAAe,IAAEX,kBAEpBJ,EAAAgB,cAAC,OAAA,CAAKN,UAAU,UAAU,YAAU,UAAS,WAClCK,EAAe,OAAKX,mCAGhC4B,EAAA,oBACChC,EAAAgB,cAACiB,EAAA,CAAeC,SAAO,kBACrBlC,EAAAgB,cAACY,EAAA,CACCC,QAAQ,OACRV,KAAK,OACLgB,UAAWtB,EACXiB,QAASzB,EACT,aAAW;eAEXL,EAAAgB,cAACoB,EAAA,CAAU,cAAY,OAAOhB,OAAO,0BAGzCpB,EAAAgB,cAACqB,GAAeC,KAAK,SAASC,QAAQ,mBAAmB7B,UAAU,mBAAkB,gCAIvFV,EAAAgB,cAACgB,sBACChC,EAAAgB,cAACiB,EAAA,CAAeC,SAAO,kBACrBlC,EAAAgB,cAACY,EAAA,CACCC,QAAQ,OACRV,KAAK,OACLgB,UAAWrB,EACXgB,QAASxB,EACT,aAAW;eAEXN,EAAAgB,cAACwB,EAAA,CAAQ,cAAY,OAAOpB,OAAO,0BAGvCpB,EAAAgB,cAACqB,EAAA,CAAeC,KAAK,MAAMC,QAAQ,mBAAmB7B,UAAU,mBAAkB,sBAO5F"}
|