@bergetai/ui 0.14.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -46
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/components/alert/Alert.cjs +31 -0
- package/dist/components/alert/Alert.cjs.map +1 -0
- package/dist/components/alert/Alert.d.cts +14 -0
- package/dist/components/alert/Alert.d.cts.map +1 -0
- package/dist/components/alert/Alert.d.mts +14 -0
- package/dist/components/alert/Alert.d.mts.map +1 -0
- package/dist/components/alert/Alert.mjs +27 -0
- package/dist/components/alert/Alert.mjs.map +1 -0
- package/dist/components/alert/index.d.cts +3 -0
- package/dist/components/alert/index.d.mts +3 -0
- package/dist/components/alert-dialog/AlertDialog.cjs +95 -0
- package/dist/components/alert-dialog/AlertDialog.cjs.map +1 -0
- package/dist/components/alert-dialog/AlertDialog.d.cts +46 -0
- package/dist/components/alert-dialog/AlertDialog.d.cts.map +1 -0
- package/dist/components/alert-dialog/AlertDialog.d.mts +46 -0
- package/dist/components/alert-dialog/AlertDialog.d.mts.map +1 -0
- package/dist/components/alert-dialog/AlertDialog.mjs +83 -0
- package/dist/components/alert-dialog/AlertDialog.mjs.map +1 -0
- package/dist/components/alert-dialog/index.d.cts +2 -0
- package/dist/components/alert-dialog/index.d.mts +2 -0
- package/dist/components/badge/Badge.cjs +57 -0
- package/dist/components/badge/Badge.cjs.map +1 -0
- package/dist/components/badge/Badge.d.cts +16 -0
- package/dist/components/badge/Badge.d.cts.map +1 -0
- package/dist/components/badge/Badge.d.mts +16 -0
- package/dist/components/badge/Badge.d.mts.map +1 -0
- package/dist/components/badge/Badge.mjs +55 -0
- package/dist/components/badge/Badge.mjs.map +1 -0
- package/dist/components/badge/index.d.cts +2 -0
- package/dist/components/badge/index.d.mts +2 -0
- package/dist/components/berget-logo/BergetLogo.cjs +87 -0
- package/dist/components/berget-logo/BergetLogo.cjs.map +1 -0
- package/dist/components/berget-logo/BergetLogo.d.cts +14 -0
- package/dist/components/berget-logo/BergetLogo.d.cts.map +1 -0
- package/dist/components/berget-logo/BergetLogo.d.mts +14 -0
- package/dist/components/berget-logo/BergetLogo.d.mts.map +1 -0
- package/dist/components/berget-logo/BergetLogo.mjs +85 -0
- package/dist/components/berget-logo/BergetLogo.mjs.map +1 -0
- package/dist/components/berget-logo/index.d.cts +2 -0
- package/dist/components/berget-logo/index.d.mts +2 -0
- package/dist/components/box/Box.cjs +67 -0
- package/dist/components/box/Box.cjs.map +1 -0
- package/dist/components/box/Box.d.cts +21 -0
- package/dist/components/box/Box.d.cts.map +1 -0
- package/dist/components/box/Box.d.mts +21 -0
- package/dist/components/box/Box.d.mts.map +1 -0
- package/dist/components/box/Box.mjs +64 -0
- package/dist/components/box/Box.mjs.map +1 -0
- package/dist/components/box/index.d.cts +2 -0
- package/dist/components/box/index.d.mts +2 -0
- package/dist/components/button/Button.cjs +75 -0
- package/dist/components/button/Button.cjs.map +1 -0
- package/dist/components/button/Button.d.cts +19 -0
- package/dist/components/button/Button.d.cts.map +1 -0
- package/dist/components/button/Button.d.mts +19 -0
- package/dist/components/button/Button.d.mts.map +1 -0
- package/dist/components/button/Button.mjs +74 -0
- package/dist/components/button/Button.mjs.map +1 -0
- package/dist/components/button/index.d.cts +3 -0
- package/dist/components/button/index.d.mts +3 -0
- package/dist/components/card/Card.cjs +36 -0
- package/dist/components/card/Card.cjs.map +1 -0
- package/dist/components/card/Card.d.cts +15 -0
- package/dist/components/card/Card.d.cts.map +1 -0
- package/dist/components/card/Card.d.mts +15 -0
- package/dist/components/card/Card.d.mts.map +1 -0
- package/dist/components/card/Card.mjs +28 -0
- package/dist/components/card/Card.mjs.map +1 -0
- package/dist/components/card/index.d.cts +3 -0
- package/dist/components/card/index.d.mts +3 -0
- package/dist/components/checkbox/Checkbox.cjs +87 -0
- package/dist/components/checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/checkbox/Checkbox.d.cts +18 -0
- package/dist/components/checkbox/Checkbox.d.cts.map +1 -0
- package/dist/components/checkbox/Checkbox.d.mts +18 -0
- package/dist/components/checkbox/Checkbox.d.mts.map +1 -0
- package/dist/components/checkbox/Checkbox.mjs +84 -0
- package/dist/components/checkbox/Checkbox.mjs.map +1 -0
- package/dist/components/checkbox/index.d.cts +2 -0
- package/dist/components/checkbox/index.d.mts +2 -0
- package/dist/components/code-block/CodeBlock.cjs +58 -0
- package/dist/components/code-block/CodeBlock.cjs.map +1 -0
- package/dist/components/code-block/CodeBlock.d.cts +10 -0
- package/dist/components/code-block/CodeBlock.d.cts.map +1 -0
- package/dist/components/code-block/CodeBlock.d.mts +10 -0
- package/dist/components/code-block/CodeBlock.d.mts.map +1 -0
- package/dist/components/code-block/CodeBlock.mjs +58 -0
- package/dist/components/code-block/CodeBlock.mjs.map +1 -0
- package/dist/components/container/Container.cjs +50 -0
- package/dist/components/container/Container.cjs.map +1 -0
- package/dist/components/container/Container.d.cts +17 -0
- package/dist/components/container/Container.d.cts.map +1 -0
- package/dist/components/container/Container.d.mts +17 -0
- package/dist/components/container/Container.d.mts.map +1 -0
- package/dist/components/container/Container.mjs +47 -0
- package/dist/components/container/Container.mjs.map +1 -0
- package/dist/components/container/index.d.cts +2 -0
- package/dist/components/container/index.d.mts +2 -0
- package/dist/components/country-select/CountrySelect.cjs +95 -0
- package/dist/components/country-select/CountrySelect.cjs.map +1 -0
- package/dist/components/country-select/CountrySelect.d.cts +16 -0
- package/dist/components/country-select/CountrySelect.d.cts.map +1 -0
- package/dist/components/country-select/CountrySelect.d.mts +16 -0
- package/dist/components/country-select/CountrySelect.d.mts.map +1 -0
- package/dist/components/country-select/CountrySelect.mjs +93 -0
- package/dist/components/country-select/CountrySelect.mjs.map +1 -0
- package/dist/components/country-select/countries.cjs +409 -0
- package/dist/components/country-select/countries.cjs.map +1 -0
- package/dist/components/country-select/countries.d.cts +17 -0
- package/dist/components/country-select/countries.d.cts.map +1 -0
- package/dist/components/country-select/countries.d.mts +17 -0
- package/dist/components/country-select/countries.d.mts.map +1 -0
- package/dist/components/country-select/countries.mjs +405 -0
- package/dist/components/country-select/countries.mjs.map +1 -0
- package/dist/components/country-select/index.d.cts +3 -0
- package/dist/components/country-select/index.d.mts +3 -0
- package/dist/components/dialog/Dialog.cjs +85 -0
- package/dist/components/dialog/Dialog.cjs.map +1 -0
- package/dist/components/dialog/Dialog.d.cts +35 -0
- package/dist/components/dialog/Dialog.d.cts.map +1 -0
- package/dist/components/dialog/Dialog.d.mts +35 -0
- package/dist/components/dialog/Dialog.d.mts.map +1 -0
- package/dist/components/dialog/Dialog.mjs +74 -0
- package/dist/components/dialog/Dialog.mjs.map +1 -0
- package/dist/components/dialog/index.d.cts +2 -0
- package/dist/components/dialog/index.d.mts +2 -0
- package/dist/components/divider/Divider.cjs +72 -0
- package/dist/components/divider/Divider.cjs.map +1 -0
- package/dist/components/divider/Divider.mjs +70 -0
- package/dist/components/divider/Divider.mjs.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.cjs +101 -0
- package/dist/components/dropdown-menu/DropdownMenu.cjs.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.cts +62 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.cts.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.mts +62 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.mts.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.mjs +85 -0
- package/dist/components/dropdown-menu/DropdownMenu.mjs.map +1 -0
- package/dist/components/dropdown-menu/index.d.cts +3 -0
- package/dist/components/dropdown-menu/index.d.mts +3 -0
- package/dist/components/empty/Empty.cjs +51 -0
- package/dist/components/empty/Empty.cjs.map +1 -0
- package/dist/components/empty/Empty.d.cts +17 -0
- package/dist/components/empty/Empty.d.cts.map +1 -0
- package/dist/components/empty/Empty.d.mts +17 -0
- package/dist/components/empty/Empty.d.mts.map +1 -0
- package/dist/components/empty/Empty.mjs +44 -0
- package/dist/components/empty/Empty.mjs.map +1 -0
- package/dist/components/empty/index.d.cts +3 -0
- package/dist/components/empty/index.d.mts +3 -0
- package/dist/components/field/index.d.cts +2 -0
- package/dist/components/field/index.d.mts +2 -0
- package/dist/components/fog-illustration/FogIllustration.cjs +342 -0
- package/dist/components/fog-illustration/FogIllustration.cjs.map +1 -0
- package/dist/components/fog-illustration/FogIllustration.d.cts +35 -0
- package/dist/components/fog-illustration/FogIllustration.d.cts.map +1 -0
- package/dist/components/fog-illustration/FogIllustration.d.mts +35 -0
- package/dist/components/fog-illustration/FogIllustration.d.mts.map +1 -0
- package/dist/components/fog-illustration/FogIllustration.mjs +341 -0
- package/dist/components/fog-illustration/FogIllustration.mjs.map +1 -0
- package/dist/components/grid/Grid.cjs +51 -0
- package/dist/components/grid/Grid.cjs.map +1 -0
- package/dist/components/grid/Grid.d.cts +25 -0
- package/dist/components/grid/Grid.d.cts.map +1 -0
- package/dist/components/grid/Grid.d.mts +25 -0
- package/dist/components/grid/Grid.d.mts.map +1 -0
- package/dist/components/grid/Grid.mjs +48 -0
- package/dist/components/grid/Grid.mjs.map +1 -0
- package/dist/components/grid/index.d.cts +2 -0
- package/dist/components/grid/index.d.mts +2 -0
- package/dist/components/icon/Icon.cjs +30 -0
- package/dist/components/icon/Icon.cjs.map +1 -0
- package/dist/components/icon/Icon.d.cts +14 -0
- package/dist/components/icon/Icon.d.cts.map +1 -0
- package/dist/components/icon/Icon.d.mts +14 -0
- package/dist/components/icon/Icon.d.mts.map +1 -0
- package/dist/components/icon/Icon.mjs +28 -0
- package/dist/components/icon/Icon.mjs.map +1 -0
- package/dist/components/icon/index.d.cts +2 -0
- package/dist/components/icon/index.d.mts +2 -0
- package/dist/components/input/index.d.cts +2 -0
- package/dist/components/input/index.d.mts +2 -0
- package/dist/components/item/Item.cjs +65 -0
- package/dist/components/item/Item.cjs.map +1 -0
- package/dist/components/item/Item.d.cts +24 -0
- package/dist/components/item/Item.d.cts.map +1 -0
- package/dist/components/item/Item.d.mts +24 -0
- package/dist/components/item/Item.d.mts.map +1 -0
- package/dist/components/item/Item.mjs +54 -0
- package/dist/components/item/Item.mjs.map +1 -0
- package/dist/components/item/index.d.cts +3 -0
- package/dist/components/item/index.d.mts +3 -0
- package/dist/components/label/index.d.cts +2 -0
- package/dist/components/label/index.d.mts +2 -0
- package/dist/components/language-select/LanguageSelect.cjs +48 -0
- package/dist/components/language-select/LanguageSelect.cjs.map +1 -0
- package/dist/components/language-select/LanguageSelect.d.cts +17 -0
- package/dist/components/language-select/LanguageSelect.d.cts.map +1 -0
- package/dist/components/language-select/LanguageSelect.d.mts +17 -0
- package/dist/components/language-select/LanguageSelect.d.mts.map +1 -0
- package/dist/components/language-select/LanguageSelect.mjs +46 -0
- package/dist/components/language-select/LanguageSelect.mjs.map +1 -0
- package/dist/components/language-select/index.d.cts +2 -0
- package/dist/components/language-select/index.d.mts +2 -0
- package/dist/components/link/Link.cjs +71 -0
- package/dist/components/link/Link.cjs.map +1 -0
- package/dist/components/link/Link.d.cts +18 -0
- package/dist/components/link/Link.d.cts.map +1 -0
- package/dist/components/link/Link.d.mts +18 -0
- package/dist/components/link/Link.d.mts.map +1 -0
- package/dist/components/link/Link.mjs +68 -0
- package/dist/components/link/Link.mjs.map +1 -0
- package/dist/components/link/index.d.cts +2 -0
- package/dist/components/link/index.d.mts +2 -0
- package/dist/components/list/List.cjs +71 -0
- package/dist/components/list/List.cjs.map +1 -0
- package/dist/components/list/List.d.cts +24 -0
- package/dist/components/list/List.d.cts.map +1 -0
- package/dist/components/list/List.d.mts +24 -0
- package/dist/components/list/List.d.mts.map +1 -0
- package/dist/components/list/List.mjs +66 -0
- package/dist/components/list/List.mjs.map +1 -0
- package/dist/components/list/index.d.cts +2 -0
- package/dist/components/list/index.d.mts +2 -0
- package/dist/components/model-card/ModelCard.cjs +108 -0
- package/dist/components/model-card/ModelCard.cjs.map +1 -0
- package/dist/components/model-card/ModelCard.d.cts +58 -0
- package/dist/components/model-card/ModelCard.d.cts.map +1 -0
- package/dist/components/model-card/ModelCard.d.mts +58 -0
- package/dist/components/model-card/ModelCard.d.mts.map +1 -0
- package/dist/components/model-card/ModelCard.mjs +106 -0
- package/dist/components/model-card/ModelCard.mjs.map +1 -0
- package/dist/components/model-card/index.d.cts +3 -0
- package/dist/components/model-card/index.d.mts +3 -0
- package/dist/components/model-logo/ModelLogo.cjs +98 -0
- package/dist/components/model-logo/ModelLogo.cjs.map +1 -0
- package/dist/components/model-logo/ModelLogo.d.cts +32 -0
- package/dist/components/model-logo/ModelLogo.d.cts.map +1 -0
- package/dist/components/model-logo/ModelLogo.d.mts +32 -0
- package/dist/components/model-logo/ModelLogo.d.mts.map +1 -0
- package/dist/components/model-logo/ModelLogo.mjs +95 -0
- package/dist/components/model-logo/ModelLogo.mjs.map +1 -0
- package/dist/components/model-logo/index.d.cts +2 -0
- package/dist/components/model-logo/index.d.mts +2 -0
- package/dist/components/navigation-menu/NavigationMenu.cjs +65 -0
- package/dist/components/navigation-menu/NavigationMenu.cjs.map +1 -0
- package/dist/components/navigation-menu/NavigationMenu.d.cts +11 -0
- package/dist/components/navigation-menu/NavigationMenu.d.cts.map +1 -0
- package/dist/components/navigation-menu/NavigationMenu.d.mts +11 -0
- package/dist/components/navigation-menu/NavigationMenu.d.mts.map +1 -0
- package/dist/components/navigation-menu/NavigationMenu.mjs +57 -0
- package/dist/components/navigation-menu/NavigationMenu.mjs.map +1 -0
- package/dist/components/navigation-menu/index.d.cts +3 -0
- package/dist/components/navigation-menu/index.d.mts +3 -0
- package/dist/components/neural-flow/NeuralFlow.cjs +1038 -0
- package/dist/components/neural-flow/NeuralFlow.cjs.map +1 -0
- package/dist/components/neural-flow/NeuralFlow.d.cts +47 -0
- package/dist/components/neural-flow/NeuralFlow.d.cts.map +1 -0
- package/dist/components/neural-flow/NeuralFlow.d.mts +47 -0
- package/dist/components/neural-flow/NeuralFlow.d.mts.map +1 -0
- package/dist/components/neural-flow/NeuralFlow.mjs +1032 -0
- package/dist/components/neural-flow/NeuralFlow.mjs.map +1 -0
- package/dist/components/neural-flow/index.d.cts +2 -0
- package/dist/components/neural-flow/index.d.mts +2 -0
- package/dist/components/neural-flow/mnist-samples.cjs +73 -0
- package/dist/components/neural-flow/mnist-samples.cjs.map +1 -0
- package/dist/components/neural-flow/mnist-samples.mjs +73 -0
- package/dist/components/neural-flow/mnist-samples.mjs.map +1 -0
- package/dist/components/neural-flow/sparse-weights.cjs +21 -0
- package/dist/components/neural-flow/sparse-weights.cjs.map +1 -0
- package/dist/components/neural-flow/sparse-weights.mjs +21 -0
- package/dist/components/neural-flow/sparse-weights.mjs.map +1 -0
- package/dist/components/progress/Progress.cjs +25 -0
- package/dist/components/progress/Progress.cjs.map +1 -0
- package/dist/components/progress/Progress.d.cts +8 -0
- package/dist/components/progress/Progress.d.cts.map +1 -0
- package/dist/components/progress/Progress.d.mts +8 -0
- package/dist/components/progress/Progress.d.mts.map +1 -0
- package/dist/components/progress/Progress.mjs +19 -0
- package/dist/components/progress/Progress.mjs.map +1 -0
- package/dist/components/progress/index.d.cts +3 -0
- package/dist/components/progress/index.d.mts +3 -0
- package/dist/components/search-input/SearchInput.cjs +28 -0
- package/dist/components/search-input/SearchInput.cjs.map +1 -0
- package/dist/components/search-input/SearchInput.d.cts +10 -0
- package/dist/components/search-input/SearchInput.d.cts.map +1 -0
- package/dist/components/search-input/SearchInput.d.mts +10 -0
- package/dist/components/search-input/SearchInput.d.mts.map +1 -0
- package/dist/components/search-input/SearchInput.mjs +26 -0
- package/dist/components/search-input/SearchInput.mjs.map +1 -0
- package/dist/components/search-input/index.d.cts +2 -0
- package/dist/components/search-input/index.d.mts +2 -0
- package/dist/components/select/index.d.cts +2 -0
- package/dist/components/select/index.d.mts +2 -0
- package/dist/components/sidebar/Sidebar.cjs +203 -0
- package/dist/components/sidebar/Sidebar.cjs.map +1 -0
- package/dist/components/sidebar/Sidebar.d.cts +69 -0
- package/dist/components/sidebar/Sidebar.d.cts.map +1 -0
- package/dist/components/sidebar/Sidebar.d.mts +69 -0
- package/dist/components/sidebar/Sidebar.d.mts.map +1 -0
- package/dist/components/sidebar/Sidebar.mjs +150 -0
- package/dist/components/sidebar/Sidebar.mjs.map +1 -0
- package/dist/components/sidebar/index.d.cts +3 -0
- package/dist/components/sidebar/index.d.mts +3 -0
- package/dist/components/skeleton/Skeleton.cjs +20 -0
- package/dist/components/skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/skeleton/Skeleton.d.cts +7 -0
- package/dist/components/skeleton/Skeleton.d.cts.map +1 -0
- package/dist/components/skeleton/Skeleton.d.mts +7 -0
- package/dist/components/skeleton/Skeleton.d.mts.map +1 -0
- package/dist/components/skeleton/Skeleton.mjs +18 -0
- package/dist/components/skeleton/Skeleton.mjs.map +1 -0
- package/dist/components/skeleton/index.d.cts +2 -0
- package/dist/components/skeleton/index.d.mts +2 -0
- package/dist/components/switch/Switch.cjs +85 -0
- package/dist/components/switch/Switch.cjs.map +1 -0
- package/dist/components/switch/Switch.d.cts +21 -0
- package/dist/components/switch/Switch.d.cts.map +1 -0
- package/dist/components/switch/Switch.d.mts +21 -0
- package/dist/components/switch/Switch.d.mts.map +1 -0
- package/dist/components/switch/Switch.mjs +81 -0
- package/dist/components/switch/Switch.mjs.map +1 -0
- package/dist/components/switch/index.d.cts +2 -0
- package/dist/components/switch/index.d.mts +2 -0
- package/dist/components/table/Table.cjs +67 -0
- package/dist/components/table/Table.cjs.map +1 -0
- package/dist/components/table/Table.d.cts +13 -0
- package/dist/components/table/Table.d.cts.map +1 -0
- package/dist/components/table/Table.d.mts +13 -0
- package/dist/components/table/Table.d.mts.map +1 -0
- package/dist/components/table/Table.mjs +58 -0
- package/dist/components/table/Table.mjs.map +1 -0
- package/dist/components/table/index.d.cts +2 -0
- package/dist/components/table/index.d.mts +2 -0
- package/dist/components/text-area/index.d.cts +2 -0
- package/dist/components/text-area/index.d.mts +2 -0
- package/dist/components/theme-provider/ThemeProvider.cjs +81 -0
- package/dist/components/theme-provider/ThemeProvider.cjs.map +1 -0
- package/dist/components/theme-provider/ThemeProvider.d.cts +21 -0
- package/dist/components/theme-provider/ThemeProvider.d.cts.map +1 -0
- package/dist/components/theme-provider/ThemeProvider.d.mts +21 -0
- package/dist/components/theme-provider/ThemeProvider.d.mts.map +1 -0
- package/dist/components/theme-provider/ThemeProvider.mjs +78 -0
- package/dist/components/theme-provider/ThemeProvider.mjs.map +1 -0
- package/dist/components/theme-provider/ThemeToggle.cjs +56 -0
- package/dist/components/theme-provider/ThemeToggle.cjs.map +1 -0
- package/dist/components/theme-provider/ThemeToggle.d.cts +12 -0
- package/dist/components/theme-provider/ThemeToggle.d.cts.map +1 -0
- package/dist/components/theme-provider/ThemeToggle.d.mts +12 -0
- package/dist/components/theme-provider/ThemeToggle.d.mts.map +1 -0
- package/dist/components/theme-provider/ThemeToggle.mjs +54 -0
- package/dist/components/theme-provider/ThemeToggle.mjs.map +1 -0
- package/dist/components/theme-provider/index.d.cts +3 -0
- package/dist/components/theme-provider/index.d.mts +3 -0
- package/dist/components/tooltip/Tooltip.cjs +28 -0
- package/dist/components/tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/tooltip/Tooltip.d.cts +14 -0
- package/dist/components/tooltip/Tooltip.d.cts.map +1 -0
- package/dist/components/tooltip/Tooltip.d.mts +14 -0
- package/dist/components/tooltip/Tooltip.d.mts.map +1 -0
- package/dist/components/tooltip/Tooltip.mjs +23 -0
- package/dist/components/tooltip/Tooltip.mjs.map +1 -0
- package/dist/components/tooltip/index.d.cts +3 -0
- package/dist/components/tooltip/index.d.mts +3 -0
- package/dist/components/typography/Typography.cjs +69 -0
- package/dist/components/typography/Typography.cjs.map +1 -0
- package/dist/components/typography/Typography.d.cts +14 -0
- package/dist/components/typography/Typography.d.cts.map +1 -0
- package/dist/components/typography/Typography.d.mts +14 -0
- package/dist/components/typography/Typography.d.mts.map +1 -0
- package/dist/components/typography/Typography.mjs +67 -0
- package/dist/components/typography/Typography.mjs.map +1 -0
- package/dist/components/typography/index.d.cts +2 -0
- package/dist/components/typography/index.d.mts +2 -0
- package/dist/components/window-frame/WindowFrame.cjs +47 -0
- package/dist/components/window-frame/WindowFrame.cjs.map +1 -0
- package/dist/components/window-frame/WindowFrame.d.cts +19 -0
- package/dist/components/window-frame/WindowFrame.d.cts.map +1 -0
- package/dist/components/window-frame/WindowFrame.d.mts +19 -0
- package/dist/components/window-frame/WindowFrame.d.mts.map +1 -0
- package/dist/components/window-frame/WindowFrame.mjs +46 -0
- package/dist/components/window-frame/WindowFrame.mjs.map +1 -0
- package/dist/components/window-frame/index.d.cts +2 -0
- package/dist/components/window-frame/index.d.mts +2 -0
- package/dist/hooks/use-mobile.cjs +23 -0
- package/dist/hooks/use-mobile.cjs.map +1 -0
- package/dist/hooks/use-mobile.mjs +21 -0
- package/dist/hooks/use-mobile.mjs.map +1 -0
- package/dist/index.cjs +235 -5936
- package/dist/index.d.cts +90 -840
- package/dist/index.d.mts +90 -0
- package/dist/index.mjs +52 -0
- package/dist/lib/shiki-theme.cjs +10 -0
- package/dist/lib/shiki-theme.cjs.map +1 -0
- package/dist/lib/shiki-theme.d.cts +4 -0
- package/dist/lib/shiki-theme.d.cts.map +1 -0
- package/dist/lib/shiki-theme.d.mts +4 -0
- package/dist/lib/shiki-theme.d.mts.map +1 -0
- package/dist/lib/shiki-theme.mjs +11 -0
- package/dist/lib/shiki-theme.mjs.map +1 -0
- package/dist/lib/shiki.cjs +31 -0
- package/dist/lib/shiki.cjs.map +1 -0
- package/dist/lib/shiki.d.cts +6 -0
- package/dist/lib/shiki.d.cts.map +1 -0
- package/dist/lib/shiki.d.mts +6 -0
- package/dist/lib/shiki.d.mts.map +1 -0
- package/dist/lib/shiki.mjs +30 -0
- package/dist/lib/shiki.mjs.map +1 -0
- package/dist/lib/terminal.d.cts +12 -0
- package/dist/lib/terminal.d.cts.map +1 -0
- package/dist/lib/terminal.d.mts +12 -0
- package/dist/lib/terminal.d.mts.map +1 -0
- package/dist/lib/utils.cjs +43 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.mjs +41 -0
- package/dist/lib/utils.mjs.map +1 -0
- package/dist/neural-flow.cjs +3 -1015
- package/dist/neural-flow.d.cts +3 -47
- package/dist/neural-flow.d.mts +3 -0
- package/dist/neural-flow.mjs +1 -0
- package/dist/primitives/alert.cjs +43 -0
- package/dist/primitives/alert.cjs.map +1 -0
- package/dist/primitives/alert.d.cts +8 -0
- package/dist/primitives/alert.d.cts.map +1 -0
- package/dist/primitives/alert.d.mts +8 -0
- package/dist/primitives/alert.d.mts.map +1 -0
- package/dist/primitives/alert.mjs +39 -0
- package/dist/primitives/alert.mjs.map +1 -0
- package/dist/primitives/button.cjs +48 -0
- package/dist/primitives/button.cjs.map +1 -0
- package/dist/primitives/button.d.cts +11 -0
- package/dist/primitives/button.d.cts.map +1 -0
- package/dist/primitives/button.d.mts +11 -0
- package/dist/primitives/button.d.mts.map +1 -0
- package/dist/primitives/button.mjs +47 -0
- package/dist/primitives/button.mjs.map +1 -0
- package/dist/primitives/card.cjs +67 -0
- package/dist/primitives/card.cjs.map +1 -0
- package/dist/primitives/card.d.cts +11 -0
- package/dist/primitives/card.d.cts.map +1 -0
- package/dist/primitives/card.d.mts +11 -0
- package/dist/primitives/card.d.mts.map +1 -0
- package/dist/primitives/card.mjs +59 -0
- package/dist/primitives/card.mjs.map +1 -0
- package/dist/primitives/checkbox.cjs +22 -0
- package/dist/primitives/checkbox.cjs.map +1 -0
- package/dist/primitives/checkbox.mjs +22 -0
- package/dist/primitives/checkbox.mjs.map +1 -0
- package/dist/primitives/command.cjs +69 -0
- package/dist/primitives/command.cjs.map +1 -0
- package/dist/primitives/command.mjs +62 -0
- package/dist/primitives/command.mjs.map +1 -0
- package/dist/primitives/dropdown-menu.cjs +155 -0
- package/dist/primitives/dropdown-menu.cjs.map +1 -0
- package/dist/primitives/dropdown-menu.d.cts +30 -0
- package/dist/primitives/dropdown-menu.d.cts.map +1 -0
- package/dist/primitives/dropdown-menu.d.mts +30 -0
- package/dist/primitives/dropdown-menu.d.mts.map +1 -0
- package/dist/primitives/dropdown-menu.mjs +139 -0
- package/dist/primitives/dropdown-menu.mjs.map +1 -0
- package/dist/primitives/empty.cjs +67 -0
- package/dist/primitives/empty.cjs.map +1 -0
- package/dist/primitives/empty.d.cts +8 -0
- package/dist/primitives/empty.d.cts.map +1 -0
- package/dist/primitives/empty.d.mts +8 -0
- package/dist/primitives/empty.d.mts.map +1 -0
- package/dist/primitives/empty.mjs +62 -0
- package/dist/primitives/empty.mjs.map +1 -0
- package/dist/primitives/field.cjs +121 -0
- package/dist/primitives/field.cjs.map +1 -0
- package/dist/primitives/field.d.cts +27 -0
- package/dist/primitives/field.d.cts.map +1 -0
- package/dist/primitives/field.d.mts +27 -0
- package/dist/primitives/field.d.mts.map +1 -0
- package/dist/primitives/field.mjs +112 -0
- package/dist/primitives/field.mjs.map +1 -0
- package/dist/primitives/input-group.cjs +52 -0
- package/dist/primitives/input-group.cjs.map +1 -0
- package/dist/primitives/input-group.mjs +49 -0
- package/dist/primitives/input-group.mjs.map +1 -0
- package/dist/primitives/input.cjs +20 -0
- package/dist/primitives/input.cjs.map +1 -0
- package/dist/primitives/input.d.cts +6 -0
- package/dist/primitives/input.d.cts.map +1 -0
- package/dist/primitives/input.d.mts +6 -0
- package/dist/primitives/input.d.mts.map +1 -0
- package/dist/primitives/input.mjs +18 -0
- package/dist/primitives/input.mjs.map +1 -0
- package/dist/primitives/item.cjs +135 -0
- package/dist/primitives/item.cjs.map +1 -0
- package/dist/primitives/item.d.cts +18 -0
- package/dist/primitives/item.d.cts.map +1 -0
- package/dist/primitives/item.d.mts +18 -0
- package/dist/primitives/item.d.mts.map +1 -0
- package/dist/primitives/item.mjs +124 -0
- package/dist/primitives/item.mjs.map +1 -0
- package/dist/primitives/label.cjs +18 -0
- package/dist/primitives/label.cjs.map +1 -0
- package/dist/primitives/label.d.cts +6 -0
- package/dist/primitives/label.d.cts.map +1 -0
- package/dist/primitives/label.d.mts +6 -0
- package/dist/primitives/label.d.mts.map +1 -0
- package/dist/primitives/label.mjs +16 -0
- package/dist/primitives/label.mjs.map +1 -0
- package/dist/primitives/navigation-menu.cjs +44 -0
- package/dist/primitives/navigation-menu.cjs.map +1 -0
- package/dist/primitives/navigation-menu.d.cts +9 -0
- package/dist/primitives/navigation-menu.d.cts.map +1 -0
- package/dist/primitives/navigation-menu.d.mts +9 -0
- package/dist/primitives/navigation-menu.d.mts.map +1 -0
- package/dist/primitives/navigation-menu.mjs +41 -0
- package/dist/primitives/navigation-menu.mjs.map +1 -0
- package/dist/primitives/popover.cjs +40 -0
- package/dist/primitives/popover.cjs.map +1 -0
- package/dist/primitives/popover.mjs +36 -0
- package/dist/primitives/popover.mjs.map +1 -0
- package/dist/primitives/progress.cjs +50 -0
- package/dist/primitives/progress.cjs.map +1 -0
- package/dist/primitives/progress.d.cts +10 -0
- package/dist/primitives/progress.d.cts.map +1 -0
- package/dist/primitives/progress.d.mts +10 -0
- package/dist/primitives/progress.d.mts.map +1 -0
- package/dist/primitives/progress.mjs +46 -0
- package/dist/primitives/progress.mjs.map +1 -0
- package/dist/primitives/select.cjs +111 -0
- package/dist/primitives/select.cjs.map +1 -0
- package/dist/primitives/select.d.cts +18 -0
- package/dist/primitives/select.d.cts.map +1 -0
- package/dist/primitives/select.d.mts +18 -0
- package/dist/primitives/select.d.mts.map +1 -0
- package/dist/primitives/select.mjs +100 -0
- package/dist/primitives/select.mjs.map +1 -0
- package/dist/primitives/separator.cjs +17 -0
- package/dist/primitives/separator.cjs.map +1 -0
- package/dist/primitives/separator.d.cts +6 -0
- package/dist/primitives/separator.d.cts.map +1 -0
- package/dist/primitives/separator.d.mts +6 -0
- package/dist/primitives/separator.d.mts.map +1 -0
- package/dist/primitives/separator.mjs +17 -0
- package/dist/primitives/separator.mjs.map +1 -0
- package/dist/primitives/sheet.cjs +78 -0
- package/dist/primitives/sheet.cjs.map +1 -0
- package/dist/primitives/sheet.mjs +72 -0
- package/dist/primitives/sheet.mjs.map +1 -0
- package/dist/primitives/sidebar.cjs +413 -0
- package/dist/primitives/sidebar.cjs.map +1 -0
- package/dist/primitives/sidebar.d.cts +66 -0
- package/dist/primitives/sidebar.d.cts.map +1 -0
- package/dist/primitives/sidebar.d.mts +66 -0
- package/dist/primitives/sidebar.d.mts.map +1 -0
- package/dist/primitives/sidebar.mjs +388 -0
- package/dist/primitives/sidebar.mjs.map +1 -0
- package/dist/primitives/skeleton.cjs +15 -0
- package/dist/primitives/skeleton.cjs.map +1 -0
- package/dist/primitives/skeleton.mjs +15 -0
- package/dist/primitives/skeleton.mjs.map +1 -0
- package/dist/primitives/table.cjs +78 -0
- package/dist/primitives/table.cjs.map +1 -0
- package/dist/primitives/table.mjs +69 -0
- package/dist/primitives/table.mjs.map +1 -0
- package/dist/primitives/textarea.cjs +18 -0
- package/dist/primitives/textarea.cjs.map +1 -0
- package/dist/primitives/textarea.d.cts +6 -0
- package/dist/primitives/textarea.d.cts.map +1 -0
- package/dist/primitives/textarea.d.mts +6 -0
- package/dist/primitives/textarea.d.mts.map +1 -0
- package/dist/primitives/textarea.mjs +16 -0
- package/dist/primitives/textarea.mjs.map +1 -0
- package/dist/primitives/tooltip.cjs +46 -0
- package/dist/primitives/tooltip.cjs.map +1 -0
- package/dist/primitives/tooltip.d.cts +9 -0
- package/dist/primitives/tooltip.d.cts.map +1 -0
- package/dist/primitives/tooltip.d.mts +9 -0
- package/dist/primitives/tooltip.d.mts.map +1 -0
- package/dist/primitives/tooltip.mjs +43 -0
- package/dist/primitives/tooltip.mjs.map +1 -0
- package/dist/shiki.cjs +6 -80
- package/dist/shiki.d.cts +3 -10
- package/dist/shiki.d.mts +3 -0
- package/dist/shiki.mjs +3 -0
- package/dist/styles/index.css +11 -0
- package/package.json +19 -13
- package/dist/chunk-3LBFYXI6.js +0 -42
- package/dist/chunk-3LBFYXI6.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -840
- package/dist/index.js +0 -5681
- package/dist/index.js.map +0 -1
- package/dist/neural-flow.cjs.map +0 -1
- package/dist/neural-flow.d.ts +0 -47
- package/dist/neural-flow.js +0 -978
- package/dist/neural-flow.js.map +0 -1
- package/dist/shiki.cjs.map +0 -1
- package/dist/shiki.d.ts +0 -10
- package/dist/shiki.js +0 -11
- package/dist/shiki.js.map +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.mjs";
|
|
3
|
+
import { Icon } from "../icon/Icon.mjs";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { ExternalLink } from "lucide-react";
|
|
8
|
+
//#region src/components/link/Link.tsx
|
|
9
|
+
const linkVariants = cva("inline-flex cursor-pointer items-center gap-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50", {
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: "text-foreground hover:text-foreground/80",
|
|
13
|
+
primary: "text-berget-brand-moss-400 hover:text-berget-brand-moss-500",
|
|
14
|
+
secondary: "text-berget-accent hover:text-berget-accent/80",
|
|
15
|
+
ghost: "text-muted-foreground hover:text-foreground",
|
|
16
|
+
muted: "text-muted-foreground hover:text-muted-foreground/80",
|
|
17
|
+
code: "text-berget-brand-moss-400 hover:text-berget-brand-moss-500 font-mono text-sm bg-berget-primary-tint px-2 py-1 rounded hover:bg-berget-primary-tint-hover"
|
|
18
|
+
},
|
|
19
|
+
size: {
|
|
20
|
+
sm: "text-sm",
|
|
21
|
+
default: "text-base",
|
|
22
|
+
lg: "text-lg"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
variant: "default",
|
|
27
|
+
size: "default"
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const Link = React.forwardRef(({ className, variant, size, external = false, icon, showExternalIcon = false, disabled = false, children, ...props }, ref) => {
|
|
31
|
+
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
32
|
+
return /* @__PURE__ */ jsxs("a", {
|
|
33
|
+
ref,
|
|
34
|
+
className: cn(linkVariants({
|
|
35
|
+
variant,
|
|
36
|
+
size
|
|
37
|
+
}), className),
|
|
38
|
+
...disabled && {
|
|
39
|
+
"aria-disabled": true,
|
|
40
|
+
onClick: (e) => e.preventDefault()
|
|
41
|
+
},
|
|
42
|
+
...props,
|
|
43
|
+
...isExternal && !disabled && {
|
|
44
|
+
rel: "noopener noreferrer",
|
|
45
|
+
target: "_blank"
|
|
46
|
+
},
|
|
47
|
+
children: [
|
|
48
|
+
children,
|
|
49
|
+
icon && /* @__PURE__ */ jsx("span", {
|
|
50
|
+
className: "inline-flex items-center",
|
|
51
|
+
children: icon
|
|
52
|
+
}),
|
|
53
|
+
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ jsx("span", {
|
|
54
|
+
className: "inline-flex items-center ml-1 opacity-60",
|
|
55
|
+
"aria-hidden": "true",
|
|
56
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
57
|
+
icon: ExternalLink,
|
|
58
|
+
size: 16
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
Link.displayName = "Link";
|
|
65
|
+
//#endregion
|
|
66
|
+
export { Link, linkVariants };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=Link.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.mjs","names":[],"sources":["../../../src/components/link/Link.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { ExternalLink } from 'lucide-react';\n\nconst linkVariants = cva(\n 'inline-flex cursor-pointer items-center gap-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'text-foreground hover:text-foreground/80',\n primary: 'text-berget-brand-moss-400 hover:text-berget-brand-moss-500',\n secondary: 'text-berget-accent hover:text-berget-accent/80',\n ghost: 'text-muted-foreground hover:text-foreground',\n muted: 'text-muted-foreground hover:text-muted-foreground/80',\n code: 'text-berget-brand-moss-400 hover:text-berget-brand-moss-500 font-mono text-sm bg-berget-primary-tint px-2 py-1 rounded hover:bg-berget-primary-tint-hover',\n },\n size: {\n sm: 'text-sm',\n default: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface LinkProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {\n children: React.ReactNode;\n external?: boolean;\n icon?: React.ReactNode;\n showExternalIcon?: boolean;\n disabled?: boolean;\n}\n\nconst Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n className,\n variant,\n size,\n external = false,\n icon,\n showExternalIcon = false,\n disabled = false,\n children,\n ...props\n },\n ref,\n ) => {\n const isExternal =\n external ||\n (typeof props.href === 'string' &&\n (props.href.startsWith('http://') ||\n props.href.startsWith('https://') ||\n props.href.startsWith('mailto:') ||\n props.href.startsWith('tel:')));\n\n return (\n <a\n ref={ref}\n className={cn(linkVariants({ variant, size }), className)}\n {...(disabled && {\n 'aria-disabled': true,\n onClick: (e: React.MouseEvent) => e.preventDefault(),\n })}\n {...props}\n {...(isExternal &&\n !disabled && {\n rel: 'noopener noreferrer',\n target: '_blank',\n })}\n >\n {children}\n {icon && <span className=\"inline-flex items-center\">{icon}</span>}\n {showExternalIcon && isExternal && !disabled && (\n <span className=\"inline-flex items-center ml-1 opacity-60\" aria-hidden=\"true\">\n <Icon icon={ExternalLink} size={16} />\n </span>\n )}\n </a>\n );\n },\n);\nLink.displayName = 'Link';\n\nexport { Link, linkVariants };\n"],"mappings":";;;;;;;;AAQA,MAAM,eAAe,IACnB,uQACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SAAS;GACT,WAAW;GACX,OAAO;GACP,OAAO;GACP,MAAM;EACR;EACA,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;AAWA,MAAM,OAAO,MAAM,YAEf,EACE,WACA,SACA,MACA,WAAW,OACX,MACA,mBAAmB,OACnB,WAAW,OACX,UACA,GAAG,SAEL,QACG;CACH,MAAM,aACJ,YACC,OAAO,MAAM,SAAS,aACpB,MAAM,KAAK,WAAW,SAAS,KAC9B,MAAM,KAAK,WAAW,UAAU,KAChC,MAAM,KAAK,WAAW,SAAS,KAC/B,MAAM,KAAK,WAAW,MAAM;CAElC,OACE,qBAAC,KAAD;EACO;EACL,WAAW,GAAG,aAAa;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EACxD,GAAK,YAAY;GACf,iBAAiB;GACjB,UAAU,MAAwB,EAAE,eAAe;EACrD;EACA,GAAI;EACJ,GAAK,cACH,CAAC,YAAY;GACX,KAAK;GACL,QAAQ;EACV;EAZJ,UAAA;GAcG;GACA,QAAQ,oBAAC,QAAD;IAAM,WAAU;IAA4B,UAAA;GAAW,CAAA;GAC/D,oBAAoB,cAAc,CAAC,YAClC,oBAAC,QAAD;IAAM,WAAU;IAA2C,eAAY;IACrE,UAAA,oBAAC,MAAD;KAAM,MAAM;KAAc,MAAM;IAAK,CAAA;GACjC,CAAA;EAEP;;AAEP,CACF;AACA,KAAK,cAAc"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
4
|
+
const require_Typography = require("../typography/Typography.cjs");
|
|
5
|
+
const require_Icon = require("../icon/Icon.cjs");
|
|
6
|
+
const require_Divider = require("../divider/Divider.cjs");
|
|
7
|
+
let react = require("react");
|
|
8
|
+
react = require_runtime.__toESM(react, 1);
|
|
9
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
+
let lucide_react = require("lucide-react");
|
|
11
|
+
//#region src/components/list/List.tsx
|
|
12
|
+
const List = react.forwardRef(({ className, children, ...props }, ref) => {
|
|
13
|
+
const childrenArray = react.Children.toArray(children);
|
|
14
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15
|
+
ref,
|
|
16
|
+
className: require_utils.cn("flex flex-col", className),
|
|
17
|
+
...props,
|
|
18
|
+
children: childrenArray.map((child, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [child, index < childrenArray.length - 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Divider.Divider, { variant: "subtle" })] }, index))
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
List.displayName = "List";
|
|
22
|
+
const ListItem = react.forwardRef(({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
23
|
+
ref,
|
|
24
|
+
className: require_utils.cn("flex items-center gap-4 px-4 py-3 sm:px-6 sm:py-4", interactive && "transition-all duration-200 hover:bg-berget-surface-hover cursor-pointer", className),
|
|
25
|
+
...props,
|
|
26
|
+
children: [icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27
|
+
className: "flex-shrink-0 flex items-center justify-center",
|
|
28
|
+
children: icon
|
|
29
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
30
|
+
className: "flex-1 min-w-0",
|
|
31
|
+
children
|
|
32
|
+
})]
|
|
33
|
+
}));
|
|
34
|
+
ListItem.displayName = "ListItem";
|
|
35
|
+
const ListHeader = react.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
36
|
+
ref,
|
|
37
|
+
className: require_utils.cn("px-4 py-2 sm:px-6 sm:py-3 text-sm text-muted-foreground", className),
|
|
38
|
+
...props,
|
|
39
|
+
children
|
|
40
|
+
}));
|
|
41
|
+
ListHeader.displayName = "ListHeader";
|
|
42
|
+
const FeatureList = react.forwardRef(({ items, variant = "bullet", className, ...props }, ref) => {
|
|
43
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
44
|
+
ref,
|
|
45
|
+
className: require_utils.cn("flex flex-col gap-fluid-md", className),
|
|
46
|
+
...props,
|
|
47
|
+
children: items.map((item, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
|
|
48
|
+
className: "flex items-start gap-fluid-md",
|
|
49
|
+
children: [variant === "bullet" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
50
|
+
className: "flex-shrink-0 mt-0.5",
|
|
51
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
52
|
+
icon: lucide_react.Check,
|
|
53
|
+
size: 24,
|
|
54
|
+
className: "text-berget-logo-light"
|
|
55
|
+
})
|
|
56
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
57
|
+
variant: "body",
|
|
58
|
+
color: "muted",
|
|
59
|
+
children: item
|
|
60
|
+
})]
|
|
61
|
+
}, index))
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
FeatureList.displayName = "FeatureList";
|
|
65
|
+
//#endregion
|
|
66
|
+
exports.FeatureList = FeatureList;
|
|
67
|
+
exports.List = List;
|
|
68
|
+
exports.ListHeader = ListHeader;
|
|
69
|
+
exports.ListItem = ListItem;
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=List.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.cjs","names":["React","cn","Divider","Icon","Check","Typography"],"sources":["../../../src/components/list/List.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { Divider } from '../divider';\nimport { Typography } from '../typography';\nimport { Check } from 'lucide-react';\n\nexport interface ListProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst List = React.forwardRef<HTMLDivElement, ListProps>(\n ({ className, children, ...props }, ref) => {\n const childrenArray = React.Children.toArray(children);\n return (\n <div ref={ref} className={cn('flex flex-col', className)} {...props}>\n {childrenArray.map((child, index) => (\n <React.Fragment key={index}>\n {child}\n {index < childrenArray.length - 1 && <Divider variant=\"subtle\" />}\n </React.Fragment>\n ))}\n </div>\n );\n },\n);\nList.displayName = 'List';\n\nexport interface ListItemProps extends React.HTMLAttributes<HTMLDivElement> {\n icon?: React.ReactNode;\n children: React.ReactNode;\n interactive?: boolean;\n}\n\nconst ListItem = React.forwardRef<HTMLDivElement, ListItemProps>(\n ({ className, icon, children, interactive = true, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex items-center gap-4 px-4 py-3 sm:px-6 sm:py-4',\n interactive && 'transition-all duration-200 hover:bg-berget-surface-hover cursor-pointer',\n className,\n )}\n {...props}\n >\n {icon && <div className=\"flex-shrink-0 flex items-center justify-center\">{icon}</div>}\n <div className=\"flex-1 min-w-0\">{children}</div>\n </div>\n ),\n);\nListItem.displayName = 'ListItem';\n\nexport interface ListHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst ListHeader = React.forwardRef<HTMLDivElement, ListHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('px-4 py-2 sm:px-6 sm:py-3 text-sm text-muted-foreground', className)}\n {...props}\n >\n {children}\n </div>\n ),\n);\nListHeader.displayName = 'ListHeader';\n\nexport interface FeatureListProps extends React.HTMLAttributes<HTMLUListElement> {\n items: string[];\n variant?: 'bullet' | 'checkmark';\n}\n\nconst FeatureList = React.forwardRef<HTMLUListElement, FeatureListProps>(\n ({ items, variant = 'bullet', className, ...props }, ref) => {\n return (\n <ul ref={ref} className={cn('flex flex-col gap-fluid-md', className)} {...props}>\n {items.map((item, index) => (\n <li key={index} className=\"flex items-start gap-fluid-md\">\n {variant === 'bullet' ? (\n <span className=\"w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2\" />\n ) : (\n <div className=\"flex-shrink-0 mt-0.5\">\n <Icon icon={Check} size={24} className=\"text-berget-logo-light\" />\n </div>\n )}\n <Typography variant=\"body\" color=\"muted\">\n {item}\n </Typography>\n </li>\n ))}\n </ul>\n );\n },\n);\nFeatureList.displayName = 'FeatureList';\n\nexport { List, ListItem, ListHeader, FeatureList };\n"],"mappings":";;;;;;;;;;;AAaA,MAAM,OAAOA,MAAM,YAChB,EAAE,WAAW,UAAU,GAAG,SAAS,QAAQ;CAC1C,MAAM,gBAAgBA,MAAM,SAAS,QAAQ,QAAQ;CACrD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAU;EAAK,WAAWC,cAAAA,GAAG,iBAAiB,SAAS;EAAG,GAAI;EAC3D,UAAA,cAAc,KAAK,OAAO,UACzB,iBAAA,GAAA,kBAAA,KAAA,CAACD,MAAM,UAAP,EAAA,UAAA,CACG,OACA,QAAQ,cAAc,SAAS,KAAK,iBAAA,GAAA,kBAAA,IAAA,CAACE,gBAAAA,SAAD,EAAS,SAAQ,SAAU,CAAA,CAClD,EAAA,GAHK,KAGL,CACjB;CACE,CAAA;AAET,CACF;AACA,KAAK,cAAc;AAQnB,MAAM,WAAWF,MAAM,YACpB,EAAE,WAAW,MAAM,UAAU,cAAc,MAAM,GAAG,SAAS,QAC5D,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;CACO;CACL,WAAWC,cAAAA,GACT,qDACA,eAAe,4EACf,SACF;CACA,GAAI;CAPN,UAAA,CASG,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAU;EAAkD,UAAA;CAAU,CAAA,GACpF,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAU;EAAkB;CAAc,CAAA,CAC5C;AAET,CAAA,CAAA;AACA,SAAS,cAAc;AAMvB,MAAM,aAAaD,MAAM,YACtB,EAAE,WAAW,UAAU,GAAG,SAAS,QAClC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CACO;CACL,WAAWC,cAAAA,GAAG,2DAA2D,SAAS;CAClF,GAAI;CAEH;AACE,CAAA,CAET;AACA,WAAW,cAAc;AAOzB,MAAM,cAAcD,MAAM,YACvB,EAAE,OAAO,UAAU,UAAU,WAAW,GAAG,SAAS,QAAQ;CAC3D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;EAAS;EAAK,WAAWC,cAAAA,GAAG,8BAA8B,SAAS;EAAG,GAAI;EACvE,UAAA,MAAM,KAAK,MAAM,UAChB,iBAAA,GAAA,kBAAA,KAAA,CAAC,MAAD;GAAgB,WAAU;GAA1B,UAAA,CACG,YAAY,WACX,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,WAAU,mEAAoE,CAAA,IAEpF,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAU;IACb,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACE,aAAAA,MAAD;KAAM,MAAMC,aAAAA;KAAO,MAAM;KAAI,WAAU;IAA0B,CAAA;GAC9D,CAAA,GAEP,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,YAAD;IAAY,SAAQ;IAAO,OAAM;IAC9B,UAAA;GACS,CAAA,CACV;EAXK,GAAA,KAWL,CACL;CACC,CAAA;AAER,CACF;AACA,YAAY,cAAc"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/components/list/List.d.ts
|
|
3
|
+
export interface ListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export interface ListItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
interactive?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export interface ListHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
declare const ListHeader: React.ForwardRefExoticComponent<ListHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
export interface FeatureListProps extends React.HTMLAttributes<HTMLUListElement> {
|
|
18
|
+
items: string[];
|
|
19
|
+
variant?: 'bullet' | 'checkmark';
|
|
20
|
+
}
|
|
21
|
+
declare const FeatureList: React.ForwardRefExoticComponent<FeatureListProps & React.RefAttributes<HTMLUListElement>>;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { FeatureList, List, ListHeader, ListItem };
|
|
24
|
+
//# sourceMappingURL=List.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.d.cts","names":[],"sources":["../../../src/components/list/List.tsx"],"mappings":";;iBASiB,kBAAkB,MAAM,eAAe;EACtD,UAAU,MAAM;;cAGZ,MAAI,MAAA,0BAAA,YAAA,MAAA,cAAA;iBAiBO,sBAAsB,MAAM,eAAe;EAC1D,OAAO,MAAM;EACb,UAAU,MAAM;EAChB;;cAGI,UAAQ,MAAA,0BAAA,gBAAA,MAAA,cAAA;iBAkBG,wBAAwB,MAAM,eAAe;EAC5D,UAAU,MAAM;;cAGZ,YAAU,MAAA,0BAAA,kBAAA,MAAA,cAAA;iBAaC,yBAAyB,MAAM,eAAe;EAC7D;EACA;;cAGI,aAAW,MAAA,0BAAA,mBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/components/list/List.d.ts
|
|
3
|
+
export interface ListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export interface ListItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
interactive?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export interface ListHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
declare const ListHeader: React.ForwardRefExoticComponent<ListHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
export interface FeatureListProps extends React.HTMLAttributes<HTMLUListElement> {
|
|
18
|
+
items: string[];
|
|
19
|
+
variant?: 'bullet' | 'checkmark';
|
|
20
|
+
}
|
|
21
|
+
declare const FeatureList: React.ForwardRefExoticComponent<FeatureListProps & React.RefAttributes<HTMLUListElement>>;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { FeatureList, List, ListHeader, ListItem };
|
|
24
|
+
//# sourceMappingURL=List.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.d.mts","names":[],"sources":["../../../src/components/list/List.tsx"],"mappings":";;iBASiB,kBAAkB,MAAM,eAAe;EACtD,UAAU,MAAM;;cAGZ,MAAI,MAAA,0BAAA,YAAA,MAAA,cAAA;iBAiBO,sBAAsB,MAAM,eAAe;EAC1D,OAAO,MAAM;EACb,UAAU,MAAM;EAChB;;cAGI,UAAQ,MAAA,0BAAA,gBAAA,MAAA,cAAA;iBAkBG,wBAAwB,MAAM,eAAe;EAC5D,UAAU,MAAM;;cAGZ,YAAU,MAAA,0BAAA,kBAAA,MAAA,cAAA;iBAaC,yBAAyB,MAAM,eAAe;EAC7D;EACA;;cAGI,aAAW,MAAA,0BAAA,mBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.mjs";
|
|
3
|
+
import { Typography } from "../typography/Typography.mjs";
|
|
4
|
+
import { Icon } from "../icon/Icon.mjs";
|
|
5
|
+
import { Divider } from "../divider/Divider.mjs";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Check } from "lucide-react";
|
|
9
|
+
//#region src/components/list/List.tsx
|
|
10
|
+
const List = React.forwardRef(({ className, children, ...props }, ref) => {
|
|
11
|
+
const childrenArray = React.Children.toArray(children);
|
|
12
|
+
return /* @__PURE__ */ jsx("div", {
|
|
13
|
+
ref,
|
|
14
|
+
className: cn("flex flex-col", className),
|
|
15
|
+
...props,
|
|
16
|
+
children: childrenArray.map((child, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [child, index < childrenArray.length - 1 && /* @__PURE__ */ jsx(Divider, { variant: "subtle" })] }, index))
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
List.displayName = "List";
|
|
20
|
+
const ListItem = React.forwardRef(({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ jsxs("div", {
|
|
21
|
+
ref,
|
|
22
|
+
className: cn("flex items-center gap-4 px-4 py-3 sm:px-6 sm:py-4", interactive && "transition-all duration-200 hover:bg-berget-surface-hover cursor-pointer", className),
|
|
23
|
+
...props,
|
|
24
|
+
children: [icon && /* @__PURE__ */ jsx("div", {
|
|
25
|
+
className: "flex-shrink-0 flex items-center justify-center",
|
|
26
|
+
children: icon
|
|
27
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
28
|
+
className: "flex-1 min-w-0",
|
|
29
|
+
children
|
|
30
|
+
})]
|
|
31
|
+
}));
|
|
32
|
+
ListItem.displayName = "ListItem";
|
|
33
|
+
const ListHeader = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx("div", {
|
|
34
|
+
ref,
|
|
35
|
+
className: cn("px-4 py-2 sm:px-6 sm:py-3 text-sm text-muted-foreground", className),
|
|
36
|
+
...props,
|
|
37
|
+
children
|
|
38
|
+
}));
|
|
39
|
+
ListHeader.displayName = "ListHeader";
|
|
40
|
+
const FeatureList = React.forwardRef(({ items, variant = "bullet", className, ...props }, ref) => {
|
|
41
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
42
|
+
ref,
|
|
43
|
+
className: cn("flex flex-col gap-fluid-md", className),
|
|
44
|
+
...props,
|
|
45
|
+
children: items.map((item, index) => /* @__PURE__ */ jsxs("li", {
|
|
46
|
+
className: "flex items-start gap-fluid-md",
|
|
47
|
+
children: [variant === "bullet" ? /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ jsx("div", {
|
|
48
|
+
className: "flex-shrink-0 mt-0.5",
|
|
49
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
50
|
+
icon: Check,
|
|
51
|
+
size: 24,
|
|
52
|
+
className: "text-berget-logo-light"
|
|
53
|
+
})
|
|
54
|
+
}), /* @__PURE__ */ jsx(Typography, {
|
|
55
|
+
variant: "body",
|
|
56
|
+
color: "muted",
|
|
57
|
+
children: item
|
|
58
|
+
})]
|
|
59
|
+
}, index))
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
FeatureList.displayName = "FeatureList";
|
|
63
|
+
//#endregion
|
|
64
|
+
export { FeatureList, List, ListHeader, ListItem };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=List.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.mjs","names":[],"sources":["../../../src/components/list/List.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport { Icon } from '../icon/Icon';\nimport { Divider } from '../divider';\nimport { Typography } from '../typography';\nimport { Check } from 'lucide-react';\n\nexport interface ListProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst List = React.forwardRef<HTMLDivElement, ListProps>(\n ({ className, children, ...props }, ref) => {\n const childrenArray = React.Children.toArray(children);\n return (\n <div ref={ref} className={cn('flex flex-col', className)} {...props}>\n {childrenArray.map((child, index) => (\n <React.Fragment key={index}>\n {child}\n {index < childrenArray.length - 1 && <Divider variant=\"subtle\" />}\n </React.Fragment>\n ))}\n </div>\n );\n },\n);\nList.displayName = 'List';\n\nexport interface ListItemProps extends React.HTMLAttributes<HTMLDivElement> {\n icon?: React.ReactNode;\n children: React.ReactNode;\n interactive?: boolean;\n}\n\nconst ListItem = React.forwardRef<HTMLDivElement, ListItemProps>(\n ({ className, icon, children, interactive = true, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex items-center gap-4 px-4 py-3 sm:px-6 sm:py-4',\n interactive && 'transition-all duration-200 hover:bg-berget-surface-hover cursor-pointer',\n className,\n )}\n {...props}\n >\n {icon && <div className=\"flex-shrink-0 flex items-center justify-center\">{icon}</div>}\n <div className=\"flex-1 min-w-0\">{children}</div>\n </div>\n ),\n);\nListItem.displayName = 'ListItem';\n\nexport interface ListHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nconst ListHeader = React.forwardRef<HTMLDivElement, ListHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('px-4 py-2 sm:px-6 sm:py-3 text-sm text-muted-foreground', className)}\n {...props}\n >\n {children}\n </div>\n ),\n);\nListHeader.displayName = 'ListHeader';\n\nexport interface FeatureListProps extends React.HTMLAttributes<HTMLUListElement> {\n items: string[];\n variant?: 'bullet' | 'checkmark';\n}\n\nconst FeatureList = React.forwardRef<HTMLUListElement, FeatureListProps>(\n ({ items, variant = 'bullet', className, ...props }, ref) => {\n return (\n <ul ref={ref} className={cn('flex flex-col gap-fluid-md', className)} {...props}>\n {items.map((item, index) => (\n <li key={index} className=\"flex items-start gap-fluid-md\">\n {variant === 'bullet' ? (\n <span className=\"w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2\" />\n ) : (\n <div className=\"flex-shrink-0 mt-0.5\">\n <Icon icon={Check} size={24} className=\"text-berget-logo-light\" />\n </div>\n )}\n <Typography variant=\"body\" color=\"muted\">\n {item}\n </Typography>\n </li>\n ))}\n </ul>\n );\n },\n);\nFeatureList.displayName = 'FeatureList';\n\nexport { List, ListItem, ListHeader, FeatureList };\n"],"mappings":";;;;;;;;;AAaA,MAAM,OAAO,MAAM,YAChB,EAAE,WAAW,UAAU,GAAG,SAAS,QAAQ;CAC1C,MAAM,gBAAgB,MAAM,SAAS,QAAQ,QAAQ;CACrD,OACE,oBAAC,OAAD;EAAU;EAAK,WAAW,GAAG,iBAAiB,SAAS;EAAG,GAAI;EAC3D,UAAA,cAAc,KAAK,OAAO,UACzB,qBAAC,MAAM,UAAP,EAAA,UAAA,CACG,OACA,QAAQ,cAAc,SAAS,KAAK,oBAAC,SAAD,EAAS,SAAQ,SAAU,CAAA,CAClD,EAAA,GAHK,KAGL,CACjB;CACE,CAAA;AAET,CACF;AACA,KAAK,cAAc;AAQnB,MAAM,WAAW,MAAM,YACpB,EAAE,WAAW,MAAM,UAAU,cAAc,MAAM,GAAG,SAAS,QAC5D,qBAAC,OAAD;CACO;CACL,WAAW,GACT,qDACA,eAAe,4EACf,SACF;CACA,GAAI;CAPN,UAAA,CASG,QAAQ,oBAAC,OAAD;EAAK,WAAU;EAAkD,UAAA;CAAU,CAAA,GACpF,oBAAC,OAAD;EAAK,WAAU;EAAkB;CAAc,CAAA,CAC5C;AAET,CAAA,CAAA;AACA,SAAS,cAAc;AAMvB,MAAM,aAAa,MAAM,YACtB,EAAE,WAAW,UAAU,GAAG,SAAS,QAClC,oBAAC,OAAD;CACO;CACL,WAAW,GAAG,2DAA2D,SAAS;CAClF,GAAI;CAEH;AACE,CAAA,CAET;AACA,WAAW,cAAc;AAOzB,MAAM,cAAc,MAAM,YACvB,EAAE,OAAO,UAAU,UAAU,WAAW,GAAG,SAAS,QAAQ;CAC3D,OACE,oBAAC,MAAD;EAAS;EAAK,WAAW,GAAG,8BAA8B,SAAS;EAAG,GAAI;EACvE,UAAA,MAAM,KAAK,MAAM,UAChB,qBAAC,MAAD;GAAgB,WAAU;GAA1B,UAAA,CACG,YAAY,WACX,oBAAC,QAAD,EAAM,WAAU,mEAAoE,CAAA,IAEpF,oBAAC,OAAD;IAAK,WAAU;IACb,UAAA,oBAAC,MAAD;KAAM,MAAM;KAAO,MAAM;KAAI,WAAU;IAA0B,CAAA;GAC9D,CAAA,GAEP,oBAAC,YAAD;IAAY,SAAQ;IAAO,OAAM;IAC9B,UAAA;GACS,CAAA,CACV;EAXK,GAAA,KAWL,CACL;CACC,CAAA;AAER,CACF;AACA,YAAY,cAAc"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
4
|
+
const require_Typography = require("../typography/Typography.cjs");
|
|
5
|
+
const require_Card = require("../card/Card.cjs");
|
|
6
|
+
const require_ModelLogo = require("../model-logo/ModelLogo.cjs");
|
|
7
|
+
let react = require("react");
|
|
8
|
+
react = require_runtime.__toESM(react, 1);
|
|
9
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
+
//#region src/components/model-card/ModelCard.tsx
|
|
11
|
+
const lifecycleLabels = {
|
|
12
|
+
preview: "Preview",
|
|
13
|
+
active: "Active",
|
|
14
|
+
deprecated: "Deprecated"
|
|
15
|
+
};
|
|
16
|
+
/** Per-status styling for the lifecycle tab (tint classes come from
|
|
17
|
+
* index.css; deprecated uses the granite neutral). Brightens when the
|
|
18
|
+
* card (`group`) is hovered. */
|
|
19
|
+
const lifecycleStyles = {
|
|
20
|
+
preview: "berget-tint berget-tint-warning",
|
|
21
|
+
active: "berget-tint berget-tint-success",
|
|
22
|
+
deprecated: "bg-berget-brand-granite-700 text-berget-muted-foreground"
|
|
23
|
+
};
|
|
24
|
+
const ModelCard = react.forwardRef(({ icon, provider, category, eyebrow, title, lifecycle, description, columns, meta, href, external, className, children, ...props }, ref) => {
|
|
25
|
+
const titleId = react.useId();
|
|
26
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
27
|
+
ref,
|
|
28
|
+
href,
|
|
29
|
+
"aria-labelledby": titleId,
|
|
30
|
+
...external ? {
|
|
31
|
+
target: "_blank",
|
|
32
|
+
rel: "noopener noreferrer"
|
|
33
|
+
} : {},
|
|
34
|
+
className: require_utils.cn("group block", className),
|
|
35
|
+
...props,
|
|
36
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.Card, {
|
|
37
|
+
variant: "filled",
|
|
38
|
+
className: "relative flex h-full flex-col bg-berget-card-filled-bg p-5 transition-all hover:bg-[color-mix(in_oklab,var(--berget-brand-granite-100)_5%,var(--berget-card-filled-bg))] sm:p-6",
|
|
39
|
+
children: [
|
|
40
|
+
lifecycle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
41
|
+
className: "absolute top-0 right-0 z-10 overflow-hidden rounded-bl-berget-sm",
|
|
42
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43
|
+
className: require_utils.cn("inline-flex h-6 items-center whitespace-nowrap border-0! px-8 text-sm", lifecycleStyles[lifecycle]),
|
|
44
|
+
children: lifecycleLabels[lifecycle]
|
|
45
|
+
})
|
|
46
|
+
}),
|
|
47
|
+
(icon || provider || category) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
48
|
+
className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-berget-xs border border-berget-border bg-white/5 text-berget-foreground",
|
|
49
|
+
children: icon ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ModelLogo.ModelLogo, {
|
|
50
|
+
provider,
|
|
51
|
+
category
|
|
52
|
+
})
|
|
53
|
+
}),
|
|
54
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", { children: [
|
|
55
|
+
eyebrow && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
56
|
+
variant: "xs",
|
|
57
|
+
color: "muted",
|
|
58
|
+
className: "font-medium uppercase leading-none tracking-[0.25em]",
|
|
59
|
+
children: eyebrow
|
|
60
|
+
}),
|
|
61
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
62
|
+
className: require_utils.cn("flex items-baseline gap-3", lifecycle && "pr-24"),
|
|
63
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
64
|
+
as: "h3",
|
|
65
|
+
id: titleId,
|
|
66
|
+
variant: "h5",
|
|
67
|
+
className: "min-w-0 truncate whitespace-nowrap leading-tight",
|
|
68
|
+
style: { fontFeatureSettings: "normal" },
|
|
69
|
+
children: title
|
|
70
|
+
})
|
|
71
|
+
}),
|
|
72
|
+
description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
73
|
+
variant: "xs",
|
|
74
|
+
color: "muted",
|
|
75
|
+
className: "leading-none",
|
|
76
|
+
children: description
|
|
77
|
+
})
|
|
78
|
+
] }),
|
|
79
|
+
columns && columns.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
80
|
+
className: "grid grid-cols-2",
|
|
81
|
+
children: columns.map((col, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
82
|
+
variant: "xs",
|
|
83
|
+
color: "muted",
|
|
84
|
+
className: "leading-none",
|
|
85
|
+
children: col.label
|
|
86
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
87
|
+
variant: "body",
|
|
88
|
+
className: "tabular-nums leading-none",
|
|
89
|
+
style: { fontFeatureSettings: "normal" },
|
|
90
|
+
children: col.value
|
|
91
|
+
})] }, i))
|
|
92
|
+
}),
|
|
93
|
+
meta && meta.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
94
|
+
variant: "xs",
|
|
95
|
+
color: "muted",
|
|
96
|
+
className: "text-[0.65rem] uppercase tracking-[0.15em]",
|
|
97
|
+
children: meta.map((item, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [i > 0 && " ▪ ", item] }, i))
|
|
98
|
+
}),
|
|
99
|
+
children
|
|
100
|
+
]
|
|
101
|
+
})
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
ModelCard.displayName = "ModelCard";
|
|
105
|
+
//#endregion
|
|
106
|
+
exports.ModelCard = ModelCard;
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=ModelCard.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelCard.cjs","names":["React","cn","Card","ModelLogo","Typography"],"sources":["../../../src/components/model-card/ModelCard.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport { Card } from '../card';\nimport { type ModelCategory, type ModelLogoProvider, ModelLogo } from '../model-logo';\nimport { Typography } from '../typography';\n\n/**\n * ModelCard — a whole-card link tile for presenting AI models in a grid:\n * provider mark, category eyebrow, model name, optional lifecycle tab,\n * per-unit price columns, and fine-print capability facts.\n *\n * Presentational only: all copy is passed in as props; the card itself\n * owns no strings and no domain types.\n */\n/** Lifecycle status shown as a corner tab on the card. */\nexport type ModelLifecycle = 'preview' | 'active' | 'deprecated';\n\nconst lifecycleLabels: Record<ModelLifecycle, string> = {\n preview: 'Preview',\n active: 'Active',\n deprecated: 'Deprecated',\n};\n\n/** Per-status styling for the lifecycle tab (tint classes come from\n * index.css; deprecated uses the granite neutral). Brightens when the\n * card (`group`) is hovered. */\nconst lifecycleStyles: Record<ModelLifecycle, string> = {\n preview: 'berget-tint berget-tint-warning',\n active: 'berget-tint berget-tint-success',\n deprecated: 'bg-berget-brand-granite-700 text-berget-muted-foreground',\n};\n\nexport type { ModelCategory, ModelLogoProvider };\n\nexport interface ModelCardProps extends Omit<React.ComponentProps<'a'>, 'title' | 'children'> {\n /** Provider mark, rendered in a bordered square at the top of the card. */\n icon?: React.ReactNode;\n /**\n * Model family for the icon square — resolved to a bundled brand mark\n * (e.g. `'mistralai'`, `'moonshotai'`, `'berget'`). Ignored when `icon`\n * is set.\n */\n provider?: string;\n /** Fallback category for the icon square when no brand mark exists\n * (maps to the `model_type` values from `GET /v1/models`). */\n category?: ModelCategory;\n /** Small category label above the title (rendered uppercase). */\n eyebrow?: string;\n /** The model name — rendered as an `h3` and truncated when too long. */\n title: React.ReactNode;\n /**\n * Lifecycle status rendered as a corner tab: `preview` (yellow),\n * `active` (green), `deprecated` (gray).\n */\n lifecycle?: ModelLifecycle;\n /** Secondary line under the title, e.g. the provider name. */\n description?: React.ReactNode;\n /** Label-above-value columns, e.g. per-million-token input/output prices. */\n columns?: { label: React.ReactNode; value: React.ReactNode }[];\n /**\n * Fine-print capability facts rendered in one uppercase row with\n * square separators drawn by the card, e.g. ['Vision', '262K context'].\n */\n meta?: React.ReactNode[];\n /** Link target for the whole card. */\n href: string;\n /** Opens the link in a new tab (adds `target`/`rel`). */\n external?: boolean;\n /** Extra content rendered at the bottom of the card. */\n children?: React.ReactNode;\n}\n\nconst ModelCard = React.forwardRef<HTMLAnchorElement, ModelCardProps>(\n (\n {\n icon,\n provider,\n category,\n eyebrow,\n title,\n lifecycle,\n description,\n columns,\n meta,\n href,\n external,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const titleId = React.useId();\n\n return (\n <a\n ref={ref}\n href={href}\n aria-labelledby={titleId}\n {...(external ? { target: '_blank', rel: 'noopener noreferrer' } : {})}\n className={cn('group block', className)}\n {...props}\n >\n <Card\n variant=\"filled\"\n className=\"relative flex h-full flex-col bg-berget-card-filled-bg p-5 transition-all hover:bg-[color-mix(in_oklab,var(--berget-brand-granite-100)_5%,var(--berget-card-filled-bg))] sm:p-6\"\n >\n {lifecycle && (\n <div className=\"absolute top-0 right-0 z-10 overflow-hidden rounded-bl-berget-sm\">\n <div\n className={cn(\n 'inline-flex h-6 items-center whitespace-nowrap border-0! px-8 text-sm',\n lifecycleStyles[lifecycle],\n )}\n >\n {lifecycleLabels[lifecycle]}\n </div>\n </div>\n )}\n {(icon || provider || category) && (\n <div className=\"flex h-12 w-12 shrink-0 items-center justify-center rounded-berget-xs border border-berget-border bg-white/5 text-berget-foreground\">\n {icon ?? <ModelLogo provider={provider} category={category} />}\n </div>\n )}\n\n {/* Identity cluster: eyebrow, title, description — cb tightly\n grouped; the card's flex gap separates it from other groups. */}\n <header>\n {eyebrow && (\n <Typography\n variant=\"xs\"\n color=\"muted\"\n className=\"font-medium uppercase leading-none tracking-[0.25em]\"\n >\n {eyebrow}\n </Typography>\n )}\n <div className={cn('flex items-baseline gap-3', lifecycle && 'pr-24')}>\n <Typography\n as=\"h3\"\n id={titleId}\n variant=\"h5\"\n className=\"min-w-0 truncate whitespace-nowrap leading-tight\"\n style={{ fontFeatureSettings: 'normal' }}\n >\n {title}\n </Typography>\n </div>\n {description && (\n <Typography variant=\"xs\" color=\"muted\" className=\"leading-none\">\n {description}\n </Typography>\n )}\n </header>\n\n {columns && columns.length > 0 && (\n <div className=\"grid grid-cols-2\">\n {columns.map((col, i) => (\n <div key={i}>\n <Typography variant=\"xs\" color=\"muted\" className=\"leading-none\">\n {col.label}\n </Typography>\n <Typography\n variant=\"body\"\n className=\"tabular-nums leading-none\"\n style={{ fontFeatureSettings: 'normal' }}\n >\n {col.value}\n </Typography>\n </div>\n ))}\n </div>\n )}\n\n {meta && meta.length > 0 && (\n <Typography\n variant=\"xs\"\n color=\"muted\"\n className=\"text-[0.65rem] uppercase tracking-[0.15em]\"\n >\n {meta.map((item, i) => (\n <React.Fragment key={i}>\n {i > 0 && ' ▪ '}\n {item}\n </React.Fragment>\n ))}\n </Typography>\n )}\n\n {children}\n </Card>\n </a>\n );\n },\n);\nModelCard.displayName = 'ModelCard';\n\nexport { ModelCard };\n"],"mappings":";;;;;;;;;;AAmBA,MAAM,kBAAkD;CACtD,SAAS;CACT,QAAQ;CACR,YAAY;AACd;;;;AAKA,MAAM,kBAAkD;CACtD,SAAS;CACT,QAAQ;CACR,YAAY;AACd;AA0CA,MAAM,YAAYA,MAAM,YAEpB,EACE,MACA,UACA,UACA,SACA,OACA,WACA,aACA,SACA,MACA,MACA,UACA,WACA,UACA,GAAG,SAEL,QACG;CACH,MAAM,UAAUA,MAAM,MAAM;CAE5B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;EACO;EACC;EACN,mBAAiB;EACjB,GAAK,WAAW;GAAE,QAAQ;GAAU,KAAK;EAAsB,IAAI,CAAC;EACpE,WAAWC,cAAAA,GAAG,eAAe,SAAS;EACtC,GAAI;EAEJ,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACC,aAAAA,MAAD;GACE,SAAQ;GACR,WAAU;GAFZ,UAAA;IAIG,aACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACb,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;MACE,WAAWD,cAAAA,GACT,yEACA,gBAAgB,UAClB;MAEC,UAAA,gBAAgB;KACd,CAAA;IACF,CAAA;KAEL,QAAQ,YAAY,aACpB,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACZ,UAAA,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAACE,kBAAAA,WAAD;MAAqB;MAAoB;KAAW,CAAA;IAC1D,CAAA;IAKP,iBAAA,GAAA,kBAAA,KAAA,CAAC,UAAD,EAAA,UAAA;KACG,WACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,YAAD;MACE,SAAQ;MACR,OAAM;MACN,WAAU;MAET,UAAA;KACS,CAAA;KAEd,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;MAAK,WAAWH,cAAAA,GAAG,6BAA6B,aAAa,OAAO;MAClE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACG,mBAAAA,YAAD;OACE,IAAG;OACH,IAAI;OACJ,SAAQ;OACR,WAAU;OACV,OAAO,EAAE,qBAAqB,SAAS;OAEtC,UAAA;MACS,CAAA;KACT,CAAA;KACJ,eACC,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,YAAD;MAAY,SAAQ;MAAK,OAAM;MAAQ,WAAU;MAC9C,UAAA;KACS,CAAA;IAER,EAAA,CAAA;IAEP,WAAW,QAAQ,SAAS,KAC3B,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACZ,UAAA,QAAQ,KAAK,KAAK,MACjB,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,YAAD;MAAY,SAAQ;MAAK,OAAM;MAAQ,WAAU;MAC9C,UAAA,IAAI;KACK,CAAA,GACZ,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,YAAD;MACE,SAAQ;MACR,WAAU;MACV,OAAO,EAAE,qBAAqB,SAAS;MAEtC,UAAA,IAAI;KACK,CAAA,CACT,EAAA,GAXK,CAWL,CACN;IACE,CAAA;IAGN,QAAQ,KAAK,SAAS,KACrB,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,YAAD;KACE,SAAQ;KACR,OAAM;KACN,WAAU;KAET,UAAA,KAAK,KAAK,MAAM,MACf,iBAAA,GAAA,kBAAA,KAAA,CAACJ,MAAM,UAAP,EAAA,UAAA,CACG,IAAI,KAAK,OACT,IACa,EAAA,GAHK,CAGL,CACjB;IACS,CAAA;IAGb;GACG;;CACL,CAAA;AAEP,CACF;AACA,UAAU,cAAc"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ModelCategory, ModelLogoProvider } from "../model-logo/ModelLogo.cjs";
|
|
2
|
+
import "../model-logo/index.cjs";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
//#region src/components/model-card/ModelCard.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* ModelCard — a whole-card link tile for presenting AI models in a grid:
|
|
7
|
+
* provider mark, category eyebrow, model name, optional lifecycle tab,
|
|
8
|
+
* per-unit price columns, and fine-print capability facts.
|
|
9
|
+
*
|
|
10
|
+
* Presentational only: all copy is passed in as props; the card itself
|
|
11
|
+
* owns no strings and no domain types.
|
|
12
|
+
*/
|
|
13
|
+
/** Lifecycle status shown as a corner tab on the card. */
|
|
14
|
+
export type ModelLifecycle = 'preview' | 'active' | 'deprecated';
|
|
15
|
+
export interface ModelCardProps extends Omit<React.ComponentProps<'a'>, 'title' | 'children'> {
|
|
16
|
+
/** Provider mark, rendered in a bordered square at the top of the card. */
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Model family for the icon square — resolved to a bundled brand mark
|
|
20
|
+
* (e.g. `'mistralai'`, `'moonshotai'`, `'berget'`). Ignored when `icon`
|
|
21
|
+
* is set.
|
|
22
|
+
*/
|
|
23
|
+
provider?: string;
|
|
24
|
+
/** Fallback category for the icon square when no brand mark exists
|
|
25
|
+
* (maps to the `model_type` values from `GET /v1/models`). */
|
|
26
|
+
category?: ModelCategory;
|
|
27
|
+
/** Small category label above the title (rendered uppercase). */
|
|
28
|
+
eyebrow?: string;
|
|
29
|
+
/** The model name — rendered as an `h3` and truncated when too long. */
|
|
30
|
+
title: React.ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Lifecycle status rendered as a corner tab: `preview` (yellow),
|
|
33
|
+
* `active` (green), `deprecated` (gray).
|
|
34
|
+
*/
|
|
35
|
+
lifecycle?: ModelLifecycle;
|
|
36
|
+
/** Secondary line under the title, e.g. the provider name. */
|
|
37
|
+
description?: React.ReactNode;
|
|
38
|
+
/** Label-above-value columns, e.g. per-million-token input/output prices. */
|
|
39
|
+
columns?: {
|
|
40
|
+
label: React.ReactNode;
|
|
41
|
+
value: React.ReactNode;
|
|
42
|
+
}[];
|
|
43
|
+
/**
|
|
44
|
+
* Fine-print capability facts rendered in one uppercase row with
|
|
45
|
+
* square separators drawn by the card, e.g. ['Vision', '262K context'].
|
|
46
|
+
*/
|
|
47
|
+
meta?: React.ReactNode[];
|
|
48
|
+
/** Link target for the whole card. */
|
|
49
|
+
href: string;
|
|
50
|
+
/** Opens the link in a new tab (adds `target`/`rel`). */
|
|
51
|
+
external?: boolean;
|
|
52
|
+
/** Extra content rendered at the bottom of the card. */
|
|
53
|
+
children?: React.ReactNode;
|
|
54
|
+
}
|
|
55
|
+
declare const ModelCard: React.ForwardRefExoticComponent<Omit<ModelCardProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
56
|
+
//#endregion
|
|
57
|
+
export { ModelCard, type ModelCategory, type ModelLogoProvider };
|
|
58
|
+
//# sourceMappingURL=ModelCard.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelCard.d.cts","names":[],"sources":["../../../src/components/model-card/ModelCard.tsx"],"mappings":";;;;;;;;;;;;;YAiBY;iBAmBK,uBAAuB,KAAK,MAAM;;EAEjD,OAAO,MAAM;;;;;;EAMb;;;EAGA,WAAW;;EAEX;;EAEA,OAAO,MAAM;;;;;EAKb,YAAY;;EAEZ,cAAc,MAAM;;EAEpB;IAAY,OAAO,MAAM;IAAW,OAAO,MAAM;;;;;;EAKjD,OAAO,MAAM;;EAEb;;EAEA;;EAEA,WAAW,MAAM;;cAGb,WAAS,MAAA,0BAAA,KAAA,yBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ModelCategory, ModelLogoProvider } from "../model-logo/ModelLogo.mjs";
|
|
2
|
+
import "../model-logo/index.mjs";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
//#region src/components/model-card/ModelCard.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* ModelCard — a whole-card link tile for presenting AI models in a grid:
|
|
7
|
+
* provider mark, category eyebrow, model name, optional lifecycle tab,
|
|
8
|
+
* per-unit price columns, and fine-print capability facts.
|
|
9
|
+
*
|
|
10
|
+
* Presentational only: all copy is passed in as props; the card itself
|
|
11
|
+
* owns no strings and no domain types.
|
|
12
|
+
*/
|
|
13
|
+
/** Lifecycle status shown as a corner tab on the card. */
|
|
14
|
+
export type ModelLifecycle = 'preview' | 'active' | 'deprecated';
|
|
15
|
+
export interface ModelCardProps extends Omit<React.ComponentProps<'a'>, 'title' | 'children'> {
|
|
16
|
+
/** Provider mark, rendered in a bordered square at the top of the card. */
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Model family for the icon square — resolved to a bundled brand mark
|
|
20
|
+
* (e.g. `'mistralai'`, `'moonshotai'`, `'berget'`). Ignored when `icon`
|
|
21
|
+
* is set.
|
|
22
|
+
*/
|
|
23
|
+
provider?: string;
|
|
24
|
+
/** Fallback category for the icon square when no brand mark exists
|
|
25
|
+
* (maps to the `model_type` values from `GET /v1/models`). */
|
|
26
|
+
category?: ModelCategory;
|
|
27
|
+
/** Small category label above the title (rendered uppercase). */
|
|
28
|
+
eyebrow?: string;
|
|
29
|
+
/** The model name — rendered as an `h3` and truncated when too long. */
|
|
30
|
+
title: React.ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Lifecycle status rendered as a corner tab: `preview` (yellow),
|
|
33
|
+
* `active` (green), `deprecated` (gray).
|
|
34
|
+
*/
|
|
35
|
+
lifecycle?: ModelLifecycle;
|
|
36
|
+
/** Secondary line under the title, e.g. the provider name. */
|
|
37
|
+
description?: React.ReactNode;
|
|
38
|
+
/** Label-above-value columns, e.g. per-million-token input/output prices. */
|
|
39
|
+
columns?: {
|
|
40
|
+
label: React.ReactNode;
|
|
41
|
+
value: React.ReactNode;
|
|
42
|
+
}[];
|
|
43
|
+
/**
|
|
44
|
+
* Fine-print capability facts rendered in one uppercase row with
|
|
45
|
+
* square separators drawn by the card, e.g. ['Vision', '262K context'].
|
|
46
|
+
*/
|
|
47
|
+
meta?: React.ReactNode[];
|
|
48
|
+
/** Link target for the whole card. */
|
|
49
|
+
href: string;
|
|
50
|
+
/** Opens the link in a new tab (adds `target`/`rel`). */
|
|
51
|
+
external?: boolean;
|
|
52
|
+
/** Extra content rendered at the bottom of the card. */
|
|
53
|
+
children?: React.ReactNode;
|
|
54
|
+
}
|
|
55
|
+
declare const ModelCard: React.ForwardRefExoticComponent<Omit<ModelCardProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
56
|
+
//#endregion
|
|
57
|
+
export { ModelCard, type ModelCategory, type ModelLogoProvider };
|
|
58
|
+
//# sourceMappingURL=ModelCard.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelCard.d.mts","names":[],"sources":["../../../src/components/model-card/ModelCard.tsx"],"mappings":";;;;;;;;;;;;;YAiBY;iBAmBK,uBAAuB,KAAK,MAAM;;EAEjD,OAAO,MAAM;;;;;;EAMb;;;EAGA,WAAW;;EAEX;;EAEA,OAAO,MAAM;;;;;EAKb,YAAY;;EAEZ,cAAc,MAAM;;EAEpB;IAAY,OAAO,MAAM;IAAW,OAAO,MAAM;;;;;;EAKjD,OAAO,MAAM;;EAEb;;EAEA;;EAEA,WAAW,MAAM;;cAGb,WAAS,MAAA,0BAAA,KAAA,yBAAA,MAAA,cAAA"}
|