@bergetai/ui 0.14.2 → 0.16.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/bubble/index.d.cts +2 -0
- package/dist/components/bubble/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/input-group/InputGroup.cjs +41 -0
- package/dist/components/input-group/InputGroup.cjs.map +1 -0
- package/dist/components/input-group/InputGroup.d.cts +33 -0
- package/dist/components/input-group/InputGroup.d.cts.map +1 -0
- package/dist/components/input-group/InputGroup.d.mts +33 -0
- package/dist/components/input-group/InputGroup.d.mts.map +1 -0
- package/dist/components/input-group/InputGroup.mjs +36 -0
- package/dist/components/input-group/InputGroup.mjs.map +1 -0
- package/dist/components/input-group/index.d.cts +3 -0
- package/dist/components/input-group/index.d.mts +3 -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/message/index.d.cts +2 -0
- package/dist/components/message/index.d.mts +2 -0
- package/dist/components/message-scroller/index.d.cts +2 -0
- package/dist/components/message-scroller/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/slider/Slider.cjs +23 -0
- package/dist/components/slider/Slider.cjs.map +1 -0
- package/dist/components/slider/Slider.d.cts +20 -0
- package/dist/components/slider/Slider.d.cts.map +1 -0
- package/dist/components/slider/Slider.d.mts +20 -0
- package/dist/components/slider/Slider.d.mts.map +1 -0
- package/dist/components/slider/Slider.mjs +23 -0
- package/dist/components/slider/Slider.mjs.map +1 -0
- package/dist/components/slider/index.d.cts +2 -0
- package/dist/components/slider/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 +280 -5937
- package/dist/index.d.cts +101 -840
- package/dist/index.d.mts +101 -0
- package/dist/index.mjs +58 -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/bubble.cjs +80 -0
- package/dist/primitives/bubble.cjs.map +1 -0
- package/dist/primitives/bubble.d.cts +19 -0
- package/dist/primitives/bubble.d.cts.map +1 -0
- package/dist/primitives/bubble.d.mts +19 -0
- package/dist/primitives/bubble.d.mts.map +1 -0
- package/dist/primitives/bubble.mjs +75 -0
- package/dist/primitives/bubble.mjs.map +1 -0
- package/dist/primitives/button.cjs +47 -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 +46 -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 +88 -0
- package/dist/primitives/input-group.cjs.map +1 -0
- package/dist/primitives/input-group.d.cts +21 -0
- package/dist/primitives/input-group.d.cts.map +1 -0
- package/dist/primitives/input-group.d.mts +21 -0
- package/dist/primitives/input-group.d.mts.map +1 -0
- package/dist/primitives/input-group.mjs +81 -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/message-scroller.cjs +69 -0
- package/dist/primitives/message-scroller.cjs.map +1 -0
- package/dist/primitives/message-scroller.d.cts +13 -0
- package/dist/primitives/message-scroller.d.cts.map +1 -0
- package/dist/primitives/message-scroller.d.mts +13 -0
- package/dist/primitives/message-scroller.d.mts.map +1 -0
- package/dist/primitives/message-scroller.mjs +62 -0
- package/dist/primitives/message-scroller.mjs.map +1 -0
- package/dist/primitives/message.cjs +58 -0
- package/dist/primitives/message.cjs.map +1 -0
- package/dist/primitives/message.d.cts +13 -0
- package/dist/primitives/message.d.cts.map +1 -0
- package/dist/primitives/message.d.mts +13 -0
- package/dist/primitives/message.d.mts.map +1 -0
- package/dist/primitives/message.mjs +51 -0
- package/dist/primitives/message.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/slider.cjs +35 -0
- package/dist/primitives/slider.cjs.map +1 -0
- package/dist/primitives/slider.d.cts +6 -0
- package/dist/primitives/slider.d.cts.map +1 -0
- package/dist/primitives/slider.d.mts +6 -0
- package/dist/primitives/slider.d.mts.map +1 -0
- package/dist/primitives/slider.mjs +35 -0
- package/dist/primitives/slider.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 +20 -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 -5685
- 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,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/theme-provider/ThemeProvider.tsx
|
|
5
|
+
const ThemeProviderContext = React.createContext(void 0);
|
|
6
|
+
const STORAGE_KEY = "berget-theme";
|
|
7
|
+
function getSystemTheme() {
|
|
8
|
+
return window.matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
9
|
+
}
|
|
10
|
+
function resolveTheme(theme) {
|
|
11
|
+
return {
|
|
12
|
+
theme,
|
|
13
|
+
resolvedTheme: theme === "system" ? getSystemTheme() : theme
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const ThemeProvider = React.memo(function ThemeProvider({ children, theme: controlledTheme }) {
|
|
17
|
+
const isControlled = controlledTheme !== void 0;
|
|
18
|
+
const [state, setState] = React.useState(() => {
|
|
19
|
+
if (isControlled) return resolveTheme(controlledTheme);
|
|
20
|
+
let theme = "system";
|
|
21
|
+
try {
|
|
22
|
+
const stored = localStorage.getItem(STORAGE_KEY);
|
|
23
|
+
if (stored && [
|
|
24
|
+
"dark",
|
|
25
|
+
"light",
|
|
26
|
+
"system"
|
|
27
|
+
].includes(stored)) theme = stored;
|
|
28
|
+
} catch {}
|
|
29
|
+
return resolveTheme(theme);
|
|
30
|
+
});
|
|
31
|
+
React.useEffect(() => {
|
|
32
|
+
document.documentElement.setAttribute("data-theme", state.resolvedTheme);
|
|
33
|
+
}, [state.resolvedTheme]);
|
|
34
|
+
React.useEffect(() => {
|
|
35
|
+
if (isControlled && state.theme !== controlledTheme) setState(resolveTheme(controlledTheme));
|
|
36
|
+
}, [
|
|
37
|
+
isControlled,
|
|
38
|
+
controlledTheme,
|
|
39
|
+
state.theme
|
|
40
|
+
]);
|
|
41
|
+
const setTheme = React.useCallback((theme) => {
|
|
42
|
+
if (isControlled) return;
|
|
43
|
+
const next = resolveTheme(theme);
|
|
44
|
+
setState(next);
|
|
45
|
+
try {
|
|
46
|
+
localStorage.setItem(STORAGE_KEY, theme);
|
|
47
|
+
} catch {}
|
|
48
|
+
}, [isControlled]);
|
|
49
|
+
React.useEffect(() => {
|
|
50
|
+
if (isControlled || state.theme !== "system") return;
|
|
51
|
+
const media = window.matchMedia("(prefers-color-scheme: light)");
|
|
52
|
+
const handler = () => {
|
|
53
|
+
setState((prev) => ({
|
|
54
|
+
...prev,
|
|
55
|
+
resolvedTheme: getSystemTheme()
|
|
56
|
+
}));
|
|
57
|
+
};
|
|
58
|
+
media.addEventListener("change", handler);
|
|
59
|
+
return () => media.removeEventListener("change", handler);
|
|
60
|
+
}, [isControlled, state.theme]);
|
|
61
|
+
const value = React.useMemo(() => ({
|
|
62
|
+
...state,
|
|
63
|
+
setTheme
|
|
64
|
+
}), [state, setTheme]);
|
|
65
|
+
return /* @__PURE__ */ jsx(ThemeProviderContext.Provider, {
|
|
66
|
+
value,
|
|
67
|
+
children
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
function useTheme() {
|
|
71
|
+
const context = React.useContext(ThemeProviderContext);
|
|
72
|
+
if (!context) throw new Error("useTheme must be used within a ThemeProvider.");
|
|
73
|
+
return context;
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
export { ThemeProvider, useTheme };
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=ThemeProvider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.mjs","names":[],"sources":["../../../src/components/theme-provider/ThemeProvider.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\ntype Theme = 'dark' | 'light' | 'system';\n\ninterface ThemeState {\n theme: Theme;\n resolvedTheme: 'dark' | 'light';\n}\n\ninterface ThemeProviderContextValue extends ThemeState {\n setTheme: (theme: Theme) => void;\n}\n\nconst ThemeProviderContext = React.createContext<ThemeProviderContextValue | undefined>(undefined);\n\nconst STORAGE_KEY = 'berget-theme';\n\nfunction getSystemTheme(): 'dark' | 'light' {\n return window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';\n}\n\nfunction resolveTheme(theme: Theme): ThemeState {\n return {\n theme,\n resolvedTheme: theme === 'system' ? getSystemTheme() : theme,\n };\n}\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n /** Explicitly set and lock the theme ('light' or 'dark').\n * When provided, `setTheme` is a no-op and localStorage is ignored. */\n theme?: 'light' | 'dark';\n}\n\nconst ThemeProvider = React.memo(function ThemeProvider({\n children,\n theme: controlledTheme,\n}: ThemeProviderProps) {\n const isControlled = controlledTheme !== undefined;\n\n const [state, setState] = React.useState<ThemeState>(() => {\n if (isControlled) {\n return resolveTheme(controlledTheme);\n }\n\n let theme: Theme = 'system';\n try {\n const stored = localStorage.getItem(STORAGE_KEY) as Theme | null;\n if (stored && ['dark', 'light', 'system'].includes(stored)) {\n theme = stored;\n }\n } catch {\n /* ignore */\n }\n\n return resolveTheme(theme);\n });\n\n // Sync DOM attribute\n React.useEffect(() => {\n document.documentElement.setAttribute('data-theme', state.resolvedTheme);\n }, [state.resolvedTheme]);\n\n // Controlled sync: if theme prop changes, override state\n React.useEffect(() => {\n if (isControlled && state.theme !== controlledTheme) {\n setState(resolveTheme(controlledTheme));\n }\n }, [isControlled, controlledTheme, state.theme]);\n\n const setTheme = React.useCallback(\n (theme: Theme) => {\n if (isControlled) return;\n\n const next = resolveTheme(theme);\n setState(next);\n\n try {\n localStorage.setItem(STORAGE_KEY, theme);\n } catch {\n /* ignore */\n }\n },\n [isControlled],\n );\n\n // System preference listener (only when system is active and not controlled)\n React.useEffect(() => {\n if (isControlled || state.theme !== 'system') return;\n\n const media = window.matchMedia('(prefers-color-scheme: light)');\n const handler = () => {\n setState((prev) => ({\n ...prev,\n resolvedTheme: getSystemTheme(),\n }));\n };\n\n media.addEventListener('change', handler);\n return () => media.removeEventListener('change', handler);\n }, [isControlled, state.theme]);\n\n const value = React.useMemo(\n () => ({\n ...state,\n setTheme,\n }),\n [state, setTheme],\n );\n\n return <ThemeProviderContext.Provider value={value}>{children}</ThemeProviderContext.Provider>;\n});\n\nfunction useTheme(): ThemeProviderContextValue {\n const context = React.useContext(ThemeProviderContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider.');\n }\n return context;\n}\n\nexport { ThemeProvider, useTheme };\nexport type { Theme };\n"],"mappings":";;;;AAeA,MAAM,uBAAuB,MAAM,cAAqD,KAAA,CAAS;AAEjG,MAAM,cAAc;AAEpB,SAAS,iBAAmC;CAC1C,OAAO,OAAO,WAAW,+BAA+B,CAAC,CAAC,UAAU,UAAU;AAChF;AAEA,SAAS,aAAa,OAA0B;CAC9C,OAAO;EACL;EACA,eAAe,UAAU,WAAW,eAAe,IAAI;CACzD;AACF;AASA,MAAM,gBAAgB,MAAM,KAAK,SAAS,cAAc,EACtD,UACA,OAAO,mBACc;CACrB,MAAM,eAAe,oBAAoB,KAAA;CAEzC,MAAM,CAAC,OAAO,YAAY,MAAM,eAA2B;EACzD,IAAI,cACF,OAAO,aAAa,eAAe;EAGrC,IAAI,QAAe;EACnB,IAAI;GACF,MAAM,SAAS,aAAa,QAAQ,WAAW;GAC/C,IAAI,UAAU;IAAC;IAAQ;IAAS;GAAQ,CAAC,CAAC,SAAS,MAAM,GACvD,QAAQ;EAEZ,QAAQ,CAER;EAEA,OAAO,aAAa,KAAK;CAC3B,CAAC;CAGD,MAAM,gBAAgB;EACpB,SAAS,gBAAgB,aAAa,cAAc,MAAM,aAAa;CACzE,GAAG,CAAC,MAAM,aAAa,CAAC;CAGxB,MAAM,gBAAgB;EACpB,IAAI,gBAAgB,MAAM,UAAU,iBAClC,SAAS,aAAa,eAAe,CAAC;CAE1C,GAAG;EAAC;EAAc;EAAiB,MAAM;CAAK,CAAC;CAE/C,MAAM,WAAW,MAAM,aACpB,UAAiB;EAChB,IAAI,cAAc;EAElB,MAAM,OAAO,aAAa,KAAK;EAC/B,SAAS,IAAI;EAEb,IAAI;GACF,aAAa,QAAQ,aAAa,KAAK;EACzC,QAAQ,CAER;CACF,GACA,CAAC,YAAY,CACf;CAGA,MAAM,gBAAgB;EACpB,IAAI,gBAAgB,MAAM,UAAU,UAAU;EAE9C,MAAM,QAAQ,OAAO,WAAW,+BAA+B;EAC/D,MAAM,gBAAgB;GACpB,UAAU,UAAU;IAClB,GAAG;IACH,eAAe,eAAe;GAChC,EAAE;EACJ;EAEA,MAAM,iBAAiB,UAAU,OAAO;EACxC,aAAa,MAAM,oBAAoB,UAAU,OAAO;CAC1D,GAAG,CAAC,cAAc,MAAM,KAAK,CAAC;CAE9B,MAAM,QAAQ,MAAM,eACX;EACL,GAAG;EACH;CACF,IACA,CAAC,OAAO,QAAQ,CAClB;CAEA,OAAO,oBAAC,qBAAqB,UAAtB;EAAsC;EAAQ;CAAwC,CAAA;AAC/F,CAAC;AAED,SAAS,WAAsC;CAC7C,MAAM,UAAU,MAAM,WAAW,oBAAoB;CACrD,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,+CAA+C;CAEjE,OAAO;AACT"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_ThemeProvider = require("./ThemeProvider.cjs");
|
|
4
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_runtime.__toESM(react, 1);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
//#region src/components/theme-provider/ThemeToggle.tsx
|
|
9
|
+
const ThemeToggle = react.forwardRef(({ className, label = "Toggle theme", size = "md", ...props }, ref) => {
|
|
10
|
+
const { theme, resolvedTheme, setTheme } = require_ThemeProvider.useTheme();
|
|
11
|
+
const toggle = react.useCallback(() => {
|
|
12
|
+
setTheme(theme === "dark" ? "light" : "dark");
|
|
13
|
+
}, [theme, setTheme]);
|
|
14
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
15
|
+
ref,
|
|
16
|
+
type: "button",
|
|
17
|
+
onClick: toggle,
|
|
18
|
+
"aria-label": label,
|
|
19
|
+
title: `Toggle ${resolvedTheme === "dark" ? "light" : "dark"} mode`,
|
|
20
|
+
className: require_utils.cn("relative inline-flex items-center justify-center rounded-full cursor-pointer", "transition-colors duration-200", "hover:bg-berget-surface-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring", size === "sm" && "w-7 h-7", size === "md" && "w-9 h-9", size === "lg" && "w-11 h-11", className),
|
|
21
|
+
...props,
|
|
22
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
23
|
+
className: require_utils.cn("absolute transition-all duration-200", resolvedTheme === "dark" ? "opacity-100 scale-100 rotate-0" : "opacity-0 scale-0 -rotate-90", size === "sm" && "w-3.5 h-3.5", size === "md" && "w-4 h-4", size === "lg" && "w-5 h-5"),
|
|
24
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
25
|
+
fill: "none",
|
|
26
|
+
viewBox: "0 0 24 24",
|
|
27
|
+
stroke: "currentColor",
|
|
28
|
+
strokeWidth: 2,
|
|
29
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
30
|
+
cx: "12",
|
|
31
|
+
cy: "12",
|
|
32
|
+
r: "4"
|
|
33
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
34
|
+
strokeLinecap: "round",
|
|
35
|
+
d: "M12 2v2m0 16v2m9-10h-2M5 12H3m15.36 6.36-1.41-1.41M6.05 6.05 4.64 4.64m12.72 0-1.41 1.41M6.05 17.95l-1.41 1.41"
|
|
36
|
+
})]
|
|
37
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
38
|
+
className: require_utils.cn("absolute transition-all duration-200", resolvedTheme === "light" ? "opacity-100 scale-100 rotate-0" : "opacity-0 scale-0 rotate-90", size === "sm" && "w-3.5 h-3.5", size === "md" && "w-4 h-4", size === "lg" && "w-5 h-5"),
|
|
39
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
40
|
+
fill: "none",
|
|
41
|
+
viewBox: "0 0 24 24",
|
|
42
|
+
stroke: "currentColor",
|
|
43
|
+
strokeWidth: 2,
|
|
44
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
45
|
+
strokeLinecap: "round",
|
|
46
|
+
strokeLinejoin: "round",
|
|
47
|
+
d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
|
|
48
|
+
})
|
|
49
|
+
})]
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
ThemeToggle.displayName = "ThemeToggle";
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.ThemeToggle = ThemeToggle;
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=ThemeToggle.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.cjs","names":["React","useTheme","cn"],"sources":["../../../src/components/theme-provider/ThemeToggle.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useTheme } from './ThemeProvider';\nimport { cn } from '../../lib/utils';\n\nexport interface ThemeToggleProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Accessible label for the toggle button */\n label?: string;\n /** Force a specific size class */\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst ThemeToggle = React.forwardRef<HTMLButtonElement, ThemeToggleProps>(\n ({ className, label = 'Toggle theme', size = 'md', ...props }, ref) => {\n const { theme, resolvedTheme, setTheme } = useTheme();\n\n const toggle = React.useCallback(() => {\n setTheme(theme === 'dark' ? 'light' : 'dark');\n }, [theme, setTheme]);\n\n return (\n <button\n ref={ref}\n type=\"button\"\n onClick={toggle}\n aria-label={label}\n title={`Toggle ${resolvedTheme === 'dark' ? 'light' : 'dark'} mode`}\n className={cn(\n 'relative inline-flex items-center justify-center rounded-full cursor-pointer',\n 'transition-colors duration-200',\n 'hover:bg-berget-surface-hover',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring',\n size === 'sm' && 'w-7 h-7',\n size === 'md' && 'w-9 h-9',\n size === 'lg' && 'w-11 h-11',\n className,\n )}\n {...props}\n >\n {/* Sun */}\n <svg\n className={cn(\n 'absolute transition-all duration-200',\n resolvedTheme === 'dark'\n ? 'opacity-100 scale-100 rotate-0'\n : 'opacity-0 scale-0 -rotate-90',\n size === 'sm' && 'w-3.5 h-3.5',\n size === 'md' && 'w-4 h-4',\n size === 'lg' && 'w-5 h-5',\n )}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n >\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path\n strokeLinecap=\"round\"\n d=\"M12 2v2m0 16v2m9-10h-2M5 12H3m15.36 6.36-1.41-1.41M6.05 6.05 4.64 4.64m12.72 0-1.41 1.41M6.05 17.95l-1.41 1.41\"\n />\n </svg>\n\n {/* Moon */}\n <svg\n className={cn(\n 'absolute transition-all duration-200',\n resolvedTheme === 'light'\n ? 'opacity-100 scale-100 rotate-0'\n : 'opacity-0 scale-0 rotate-90',\n size === 'sm' && 'w-3.5 h-3.5',\n size === 'md' && 'w-4 h-4',\n size === 'lg' && 'w-5 h-5',\n )}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\"\n />\n </svg>\n </button>\n );\n },\n);\n\nThemeToggle.displayName = 'ThemeToggle';\n\nexport { ThemeToggle };\n"],"mappings":";;;;;;;;AAaA,MAAM,cAAcA,MAAM,YACvB,EAAE,WAAW,QAAQ,gBAAgB,OAAO,MAAM,GAAG,SAAS,QAAQ;CACrE,MAAM,EAAE,OAAO,eAAe,aAAaC,sBAAAA,SAAS;CAEpD,MAAM,SAASD,MAAM,kBAAkB;EACrC,SAAS,UAAU,SAAS,UAAU,MAAM;CAC9C,GAAG,CAAC,OAAO,QAAQ,CAAC;CAEpB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,UAAD;EACO;EACL,MAAK;EACL,SAAS;EACT,cAAY;EACZ,OAAO,UAAU,kBAAkB,SAAS,UAAU,OAAO;EAC7D,WAAWE,cAAAA,GACT,gFACA,kCACA,iCACA,kFACA,SAAS,QAAQ,WACjB,SAAS,QAAQ,WACjB,SAAS,QAAQ,aACjB,SACF;EACA,GAAI;EAhBN,UAAA,CAmBE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GACE,WAAWA,cAAAA,GACT,wCACA,kBAAkB,SACd,mCACA,gCACJ,SAAS,QAAQ,eACjB,SAAS,QAAQ,WACjB,SAAS,QAAQ,SACnB;GACA,OAAM;GACN,MAAK;GACL,SAAQ;GACR,QAAO;GACP,aAAa;GAdf,UAAA,CAgBE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;IAAQ,IAAG;IAAK,IAAG;IAAK,GAAE;GAAK,CAAA,GAC/B,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IACE,eAAc;IACd,GAAE;GACH,CAAA,CACE;EAGL,CAAA,GAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GACE,WAAWA,cAAAA,GACT,wCACA,kBAAkB,UACd,mCACA,+BACJ,SAAS,QAAQ,eACjB,SAAS,QAAQ,WACjB,SAAS,QAAQ,SACnB;GACA,OAAM;GACN,MAAK;GACL,SAAQ;GACR,QAAO;GACP,aAAa;GAEb,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;IACE,eAAc;IACd,gBAAe;IACf,GAAE;GACH,CAAA;EACE,CAAA,CACC;;AAEZ,CACF;AAEA,YAAY,cAAc"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/components/theme-provider/ThemeToggle.d.ts
|
|
3
|
+
export interface ThemeToggleProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
4
|
+
/** Accessible label for the toggle button */
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Force a specific size class */
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
}
|
|
9
|
+
declare const ThemeToggle: React.ForwardRefExoticComponent<ThemeToggleProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ThemeToggle };
|
|
12
|
+
//# sourceMappingURL=ThemeToggle.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.d.cts","names":[],"sources":["../../../src/components/theme-provider/ThemeToggle.tsx"],"mappings":";;iBAMiB,yBAAyB,MAAM,qBAAqB;;EAEnE;;EAEA;;cAGI,aAAW,MAAA,0BAAA,mBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/components/theme-provider/ThemeToggle.d.ts
|
|
3
|
+
export interface ThemeToggleProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
4
|
+
/** Accessible label for the toggle button */
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Force a specific size class */
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
}
|
|
9
|
+
declare const ThemeToggle: React.ForwardRefExoticComponent<ThemeToggleProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ThemeToggle };
|
|
12
|
+
//# sourceMappingURL=ThemeToggle.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.d.mts","names":[],"sources":["../../../src/components/theme-provider/ThemeToggle.tsx"],"mappings":";;iBAMiB,yBAAyB,MAAM,qBAAqB;;EAEnE;;EAEA;;cAGI,aAAW,MAAA,0BAAA,mBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useTheme } from "./ThemeProvider.mjs";
|
|
3
|
+
import { cn } from "../../lib/utils.mjs";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/theme-provider/ThemeToggle.tsx
|
|
7
|
+
const ThemeToggle = React.forwardRef(({ className, label = "Toggle theme", size = "md", ...props }, ref) => {
|
|
8
|
+
const { theme, resolvedTheme, setTheme } = useTheme();
|
|
9
|
+
const toggle = React.useCallback(() => {
|
|
10
|
+
setTheme(theme === "dark" ? "light" : "dark");
|
|
11
|
+
}, [theme, setTheme]);
|
|
12
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
13
|
+
ref,
|
|
14
|
+
type: "button",
|
|
15
|
+
onClick: toggle,
|
|
16
|
+
"aria-label": label,
|
|
17
|
+
title: `Toggle ${resolvedTheme === "dark" ? "light" : "dark"} mode`,
|
|
18
|
+
className: cn("relative inline-flex items-center justify-center rounded-full cursor-pointer", "transition-colors duration-200", "hover:bg-berget-surface-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring", size === "sm" && "w-7 h-7", size === "md" && "w-9 h-9", size === "lg" && "w-11 h-11", className),
|
|
19
|
+
...props,
|
|
20
|
+
children: [/* @__PURE__ */ jsxs("svg", {
|
|
21
|
+
className: cn("absolute transition-all duration-200", resolvedTheme === "dark" ? "opacity-100 scale-100 rotate-0" : "opacity-0 scale-0 -rotate-90", size === "sm" && "w-3.5 h-3.5", size === "md" && "w-4 h-4", size === "lg" && "w-5 h-5"),
|
|
22
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
23
|
+
fill: "none",
|
|
24
|
+
viewBox: "0 0 24 24",
|
|
25
|
+
stroke: "currentColor",
|
|
26
|
+
strokeWidth: 2,
|
|
27
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
28
|
+
cx: "12",
|
|
29
|
+
cy: "12",
|
|
30
|
+
r: "4"
|
|
31
|
+
}), /* @__PURE__ */ jsx("path", {
|
|
32
|
+
strokeLinecap: "round",
|
|
33
|
+
d: "M12 2v2m0 16v2m9-10h-2M5 12H3m15.36 6.36-1.41-1.41M6.05 6.05 4.64 4.64m12.72 0-1.41 1.41M6.05 17.95l-1.41 1.41"
|
|
34
|
+
})]
|
|
35
|
+
}), /* @__PURE__ */ jsx("svg", {
|
|
36
|
+
className: cn("absolute transition-all duration-200", resolvedTheme === "light" ? "opacity-100 scale-100 rotate-0" : "opacity-0 scale-0 rotate-90", size === "sm" && "w-3.5 h-3.5", size === "md" && "w-4 h-4", size === "lg" && "w-5 h-5"),
|
|
37
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
+
fill: "none",
|
|
39
|
+
viewBox: "0 0 24 24",
|
|
40
|
+
stroke: "currentColor",
|
|
41
|
+
strokeWidth: 2,
|
|
42
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
43
|
+
strokeLinecap: "round",
|
|
44
|
+
strokeLinejoin: "round",
|
|
45
|
+
d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
|
|
46
|
+
})
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
ThemeToggle.displayName = "ThemeToggle";
|
|
51
|
+
//#endregion
|
|
52
|
+
export { ThemeToggle };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=ThemeToggle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.mjs","names":[],"sources":["../../../src/components/theme-provider/ThemeToggle.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useTheme } from './ThemeProvider';\nimport { cn } from '../../lib/utils';\n\nexport interface ThemeToggleProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Accessible label for the toggle button */\n label?: string;\n /** Force a specific size class */\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst ThemeToggle = React.forwardRef<HTMLButtonElement, ThemeToggleProps>(\n ({ className, label = 'Toggle theme', size = 'md', ...props }, ref) => {\n const { theme, resolvedTheme, setTheme } = useTheme();\n\n const toggle = React.useCallback(() => {\n setTheme(theme === 'dark' ? 'light' : 'dark');\n }, [theme, setTheme]);\n\n return (\n <button\n ref={ref}\n type=\"button\"\n onClick={toggle}\n aria-label={label}\n title={`Toggle ${resolvedTheme === 'dark' ? 'light' : 'dark'} mode`}\n className={cn(\n 'relative inline-flex items-center justify-center rounded-full cursor-pointer',\n 'transition-colors duration-200',\n 'hover:bg-berget-surface-hover',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring',\n size === 'sm' && 'w-7 h-7',\n size === 'md' && 'w-9 h-9',\n size === 'lg' && 'w-11 h-11',\n className,\n )}\n {...props}\n >\n {/* Sun */}\n <svg\n className={cn(\n 'absolute transition-all duration-200',\n resolvedTheme === 'dark'\n ? 'opacity-100 scale-100 rotate-0'\n : 'opacity-0 scale-0 -rotate-90',\n size === 'sm' && 'w-3.5 h-3.5',\n size === 'md' && 'w-4 h-4',\n size === 'lg' && 'w-5 h-5',\n )}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n >\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path\n strokeLinecap=\"round\"\n d=\"M12 2v2m0 16v2m9-10h-2M5 12H3m15.36 6.36-1.41-1.41M6.05 6.05 4.64 4.64m12.72 0-1.41 1.41M6.05 17.95l-1.41 1.41\"\n />\n </svg>\n\n {/* Moon */}\n <svg\n className={cn(\n 'absolute transition-all duration-200',\n resolvedTheme === 'light'\n ? 'opacity-100 scale-100 rotate-0'\n : 'opacity-0 scale-0 rotate-90',\n size === 'sm' && 'w-3.5 h-3.5',\n size === 'md' && 'w-4 h-4',\n size === 'lg' && 'w-5 h-5',\n )}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\"\n />\n </svg>\n </button>\n );\n },\n);\n\nThemeToggle.displayName = 'ThemeToggle';\n\nexport { ThemeToggle };\n"],"mappings":";;;;;;AAaA,MAAM,cAAc,MAAM,YACvB,EAAE,WAAW,QAAQ,gBAAgB,OAAO,MAAM,GAAG,SAAS,QAAQ;CACrE,MAAM,EAAE,OAAO,eAAe,aAAa,SAAS;CAEpD,MAAM,SAAS,MAAM,kBAAkB;EACrC,SAAS,UAAU,SAAS,UAAU,MAAM;CAC9C,GAAG,CAAC,OAAO,QAAQ,CAAC;CAEpB,OACE,qBAAC,UAAD;EACO;EACL,MAAK;EACL,SAAS;EACT,cAAY;EACZ,OAAO,UAAU,kBAAkB,SAAS,UAAU,OAAO;EAC7D,WAAW,GACT,gFACA,kCACA,iCACA,kFACA,SAAS,QAAQ,WACjB,SAAS,QAAQ,WACjB,SAAS,QAAQ,aACjB,SACF;EACA,GAAI;EAhBN,UAAA,CAmBE,qBAAC,OAAD;GACE,WAAW,GACT,wCACA,kBAAkB,SACd,mCACA,gCACJ,SAAS,QAAQ,eACjB,SAAS,QAAQ,WACjB,SAAS,QAAQ,SACnB;GACA,OAAM;GACN,MAAK;GACL,SAAQ;GACR,QAAO;GACP,aAAa;GAdf,UAAA,CAgBE,oBAAC,UAAD;IAAQ,IAAG;IAAK,IAAG;IAAK,GAAE;GAAK,CAAA,GAC/B,oBAAC,QAAD;IACE,eAAc;IACd,GAAE;GACH,CAAA,CACE;EAGL,CAAA,GAAA,oBAAC,OAAD;GACE,WAAW,GACT,wCACA,kBAAkB,UACd,mCACA,+BACJ,SAAS,QAAQ,eACjB,SAAS,QAAQ,WACjB,SAAS,QAAQ,SACnB;GACA,OAAM;GACN,MAAK;GACL,SAAQ;GACR,QAAO;GACP,aAAa;GAEb,UAAA,oBAAC,QAAD;IACE,eAAc;IACd,gBAAe;IACf,GAAE;GACH,CAAA;EACE,CAAA,CACC;;AAEZ,CACF;AAEA,YAAY,cAAc"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
4
|
+
const require_tooltip = require("../../primitives/tooltip.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_runtime.__toESM(react, 1);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
//#region src/components/tooltip/Tooltip.tsx
|
|
9
|
+
const TooltipTrigger = react.forwardRef(({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tooltip.TooltipTrigger, {
|
|
10
|
+
ref,
|
|
11
|
+
render: require_utils.asChildRender(asChild, children),
|
|
12
|
+
...props,
|
|
13
|
+
children: asChild ? void 0 : children
|
|
14
|
+
}));
|
|
15
|
+
TooltipTrigger.displayName = "TooltipTrigger";
|
|
16
|
+
const TooltipContent = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tooltip.TooltipContent, {
|
|
17
|
+
ref,
|
|
18
|
+
className: require_utils.cn("rounded-berget-xs shadow-berget-md", className),
|
|
19
|
+
...props
|
|
20
|
+
}));
|
|
21
|
+
TooltipContent.displayName = "TooltipContent";
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.Tooltip = require_tooltip.Tooltip;
|
|
24
|
+
exports.TooltipContent = TooltipContent;
|
|
25
|
+
exports.TooltipProvider = require_tooltip.TooltipProvider;
|
|
26
|
+
exports.TooltipTrigger = TooltipTrigger;
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=Tooltip.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","names":["React","TooltipTriggerPrimitive","asChildRender","TooltipContentPrimitive","cn"],"sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport {\n Tooltip,\n TooltipContent as TooltipContentPrimitive,\n TooltipProvider,\n TooltipTrigger as TooltipTriggerPrimitive,\n} from '../../primitives/tooltip';\nimport { asChildRender, cn } from '../../lib/utils';\n\n/* ------------------------------------------------------------------ */\n/* Root & Provider (re-exported as-is) */\n/* ------------------------------------------------------------------ */\n\nexport { Tooltip, TooltipProvider };\n\n/* ------------------------------------------------------------------ */\n/* Trigger */\n/* ------------------------------------------------------------------ */\n\nexport type TooltipTriggerProps = Omit<\n React.ComponentProps<typeof TooltipTriggerPrimitive>,\n 'className' | 'render'\n> & {\n className?: string;\n /** Render as a different element/component. Replaces the Base UI `render` prop. */\n asChild?: boolean;\n};\n\nconst TooltipTrigger = React.forwardRef<HTMLButtonElement, TooltipTriggerProps>(\n ({ asChild, children, ...props }, ref) => (\n <TooltipTriggerPrimitive ref={ref} render={asChildRender(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </TooltipTriggerPrimitive>\n ),\n);\nTooltipTrigger.displayName = 'TooltipTrigger';\n\n/* ------------------------------------------------------------------ */\n/* Content */\n/* ------------------------------------------------------------------ */\n\nexport type TooltipContentProps = React.ComponentProps<typeof TooltipContentPrimitive>;\n\nconst TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(\n ({ className, ...props }, ref) => (\n <TooltipContentPrimitive\n ref={ref}\n className={cn('rounded-berget-xs shadow-berget-md', className)}\n {...props}\n />\n ),\n);\nTooltipContent.displayName = 'TooltipContent';\n\nexport { TooltipTrigger, TooltipContent };\n"],"mappings":";;;;;;;;AA+BA,MAAM,iBAAiBA,MAAM,YAC1B,EAAE,SAAS,UAAU,GAAG,SAAS,QAChC,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,gBAAD;CAA8B;CAAK,QAAQC,cAAAA,cAAc,SAAS,QAAQ;CAAG,GAAI;CAC9E,UAAA,UAAU,KAAA,IAAY;AACA,CAAA,CAE7B;AACA,eAAe,cAAc;AAQ7B,MAAM,iBAAiBF,MAAM,YAC1B,EAAE,WAAW,GAAG,SAAS,QACxB,iBAAA,GAAA,kBAAA,IAAA,CAACG,gBAAAA,gBAAD;CACO;CACL,WAAWC,cAAAA,GAAG,sCAAsC,SAAS;CAC7D,GAAI;AACL,CAAA,CAEL;AACA,eAAe,cAAc"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Tooltip, TooltipContent as TooltipContent$1, TooltipProvider, TooltipTrigger as TooltipTrigger$1 } from "../../primitives/tooltip.cjs";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/components/tooltip/Tooltip.d.ts
|
|
4
|
+
export type TooltipTriggerProps = Omit<React.ComponentProps<typeof TooltipTrigger$1>, 'className' | 'render'> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Render as a different element/component. Replaces the Base UI `render` prop. */
|
|
7
|
+
asChild?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const TooltipTrigger: React.ForwardRefExoticComponent<Omit<TooltipTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export type TooltipContentProps = React.ComponentProps<typeof TooltipContent$1>;
|
|
11
|
+
declare const TooltipContent: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").TooltipPopupProps & Pick<import("@base-ui/react").TooltipPositionerProps, "side" | "align" | "alignOffset" | "sideOffset">, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
14
|
+
//# sourceMappingURL=Tooltip.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.cts","names":["TooltipTriggerPrimitive","TooltipContentPrimitive"],"sources":["../../../src/components/tooltip/Tooltip.tsx"],"mappings":";;;YAsBY,sBAAsB,KAChC,MAAM,sBAAsBA;EAG5B;;EAEA;;cAGI,gBAAc,MAAA,0BAAA,KAAA,8BAAA,MAAA,cAAA;YAaR,sBAAsB,MAAM,sBAAsBC;cAExD,gBAAc,MAAA,0BAAA,8BAAA,oBAAA,8BAAA,mFAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Tooltip, TooltipContent as TooltipContent$1, TooltipProvider, TooltipTrigger as TooltipTrigger$1 } from "../../primitives/tooltip.mjs";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/components/tooltip/Tooltip.d.ts
|
|
4
|
+
export type TooltipTriggerProps = Omit<React.ComponentProps<typeof TooltipTrigger$1>, 'className' | 'render'> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Render as a different element/component. Replaces the Base UI `render` prop. */
|
|
7
|
+
asChild?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const TooltipTrigger: React.ForwardRefExoticComponent<Omit<TooltipTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export type TooltipContentProps = React.ComponentProps<typeof TooltipContent$1>;
|
|
11
|
+
declare const TooltipContent: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").TooltipPopupProps & Pick<import("@base-ui/react").TooltipPositionerProps, "side" | "align" | "alignOffset" | "sideOffset">, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
14
|
+
//# sourceMappingURL=Tooltip.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.mts","names":["TooltipTriggerPrimitive","TooltipContentPrimitive"],"sources":["../../../src/components/tooltip/Tooltip.tsx"],"mappings":";;;YAsBY,sBAAsB,KAChC,MAAM,sBAAsBA;EAG5B;;EAEA;;cAGI,gBAAc,MAAA,0BAAA,KAAA,8BAAA,MAAA,cAAA;YAaR,sBAAsB,MAAM,sBAAsBC;cAExD,gBAAc,MAAA,0BAAA,8BAAA,oBAAA,8BAAA,mFAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { asChildRender, cn } from "../../lib/utils.mjs";
|
|
3
|
+
import { Tooltip, TooltipContent as TooltipContent$1, TooltipProvider, TooltipTrigger as TooltipTrigger$1 } from "../../primitives/tooltip.mjs";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/tooltip/Tooltip.tsx
|
|
7
|
+
const TooltipTrigger = React.forwardRef(({ asChild, children, ...props }, ref) => /* @__PURE__ */ jsx(TooltipTrigger$1, {
|
|
8
|
+
ref,
|
|
9
|
+
render: asChildRender(asChild, children),
|
|
10
|
+
...props,
|
|
11
|
+
children: asChild ? void 0 : children
|
|
12
|
+
}));
|
|
13
|
+
TooltipTrigger.displayName = "TooltipTrigger";
|
|
14
|
+
const TooltipContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(TooltipContent$1, {
|
|
15
|
+
ref,
|
|
16
|
+
className: cn("rounded-berget-xs shadow-berget-md", className),
|
|
17
|
+
...props
|
|
18
|
+
}));
|
|
19
|
+
TooltipContent.displayName = "TooltipContent";
|
|
20
|
+
//#endregion
|
|
21
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=Tooltip.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.mjs","names":["TooltipTriggerPrimitive","TooltipContentPrimitive"],"sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport {\n Tooltip,\n TooltipContent as TooltipContentPrimitive,\n TooltipProvider,\n TooltipTrigger as TooltipTriggerPrimitive,\n} from '../../primitives/tooltip';\nimport { asChildRender, cn } from '../../lib/utils';\n\n/* ------------------------------------------------------------------ */\n/* Root & Provider (re-exported as-is) */\n/* ------------------------------------------------------------------ */\n\nexport { Tooltip, TooltipProvider };\n\n/* ------------------------------------------------------------------ */\n/* Trigger */\n/* ------------------------------------------------------------------ */\n\nexport type TooltipTriggerProps = Omit<\n React.ComponentProps<typeof TooltipTriggerPrimitive>,\n 'className' | 'render'\n> & {\n className?: string;\n /** Render as a different element/component. Replaces the Base UI `render` prop. */\n asChild?: boolean;\n};\n\nconst TooltipTrigger = React.forwardRef<HTMLButtonElement, TooltipTriggerProps>(\n ({ asChild, children, ...props }, ref) => (\n <TooltipTriggerPrimitive ref={ref} render={asChildRender(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </TooltipTriggerPrimitive>\n ),\n);\nTooltipTrigger.displayName = 'TooltipTrigger';\n\n/* ------------------------------------------------------------------ */\n/* Content */\n/* ------------------------------------------------------------------ */\n\nexport type TooltipContentProps = React.ComponentProps<typeof TooltipContentPrimitive>;\n\nconst TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(\n ({ className, ...props }, ref) => (\n <TooltipContentPrimitive\n ref={ref}\n className={cn('rounded-berget-xs shadow-berget-md', className)}\n {...props}\n />\n ),\n);\nTooltipContent.displayName = 'TooltipContent';\n\nexport { TooltipTrigger, TooltipContent };\n"],"mappings":";;;;;;AA+BA,MAAM,iBAAiB,MAAM,YAC1B,EAAE,SAAS,UAAU,GAAG,SAAS,QAChC,oBAACA,kBAAD;CAA8B;CAAK,QAAQ,cAAc,SAAS,QAAQ;CAAG,GAAI;CAC9E,UAAA,UAAU,KAAA,IAAY;AACA,CAAA,CAE7B;AACA,eAAe,cAAc;AAQ7B,MAAM,iBAAiB,MAAM,YAC1B,EAAE,WAAW,GAAG,SAAS,QACxB,oBAACC,kBAAD;CACO;CACL,WAAW,GAAG,sCAAsC,SAAS;CAC7D,GAAI;AACL,CAAA,CAEL;AACA,eAAe,cAAc"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Tooltip, TooltipProvider } from "../../primitives/tooltip.cjs";
|
|
2
|
+
import { TooltipContent, TooltipContentProps, TooltipTrigger, TooltipTriggerProps } from "./Tooltip.cjs";
|
|
3
|
+
export { Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type TooltipTriggerProps };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Tooltip, TooltipProvider } from "../../primitives/tooltip.mjs";
|
|
2
|
+
import { TooltipContent, TooltipContentProps, TooltipTrigger, TooltipTriggerProps } from "./Tooltip.mjs";
|
|
3
|
+
export { Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type TooltipTriggerProps };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
react = require_runtime.__toESM(react, 1);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region src/components/typography/Typography.tsx
|
|
8
|
+
const typographyVariants = (0, require("class-variance-authority").cva)("", {
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
h1: "text-h1 font-h1 leading-h1 tracking-h1 text-balance",
|
|
12
|
+
hero: "text-hero font-hero leading-hero tracking-hero text-balance font-normal [font-feature-settings:'normal']",
|
|
13
|
+
h2: "text-h2 font-h2 leading-h2 tracking-h2 text-balance",
|
|
14
|
+
h3: "text-h3 font-h3 leading-h3 tracking-h3 text-balance",
|
|
15
|
+
h4: "text-h4 font-h4 leading-h4 tracking-h4 text-balance",
|
|
16
|
+
h5: "text-xl font-xl leading-xl text-balance",
|
|
17
|
+
large: "text-lg font-lg leading-lg text-pretty",
|
|
18
|
+
body: "text-p font-p leading-p text-pretty",
|
|
19
|
+
small: "text-sm font-sm leading-sm text-pretty",
|
|
20
|
+
xs: "text-xs font-xs leading-xs text-pretty",
|
|
21
|
+
caption: "text-caption font-caption leading-caption tracking-caption text-pretty font-semibold uppercase",
|
|
22
|
+
mono: "text-mono font-mono leading-mono text-pretty",
|
|
23
|
+
code: "text-xs font-mono"
|
|
24
|
+
},
|
|
25
|
+
color: {
|
|
26
|
+
default: "text-berget-foreground",
|
|
27
|
+
muted: "text-berget-muted-foreground",
|
|
28
|
+
dim: "text-berget-foreground/65",
|
|
29
|
+
primary: "text-berget-primary"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
variant: "body",
|
|
34
|
+
color: "default"
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const defaultElementMap = {
|
|
38
|
+
hero: "h1",
|
|
39
|
+
h1: "h1",
|
|
40
|
+
h2: "h2",
|
|
41
|
+
h3: "h3",
|
|
42
|
+
h4: "h4",
|
|
43
|
+
h5: "h5",
|
|
44
|
+
large: "p",
|
|
45
|
+
body: "p",
|
|
46
|
+
small: "p",
|
|
47
|
+
xs: "p",
|
|
48
|
+
caption: "span",
|
|
49
|
+
mono: "p",
|
|
50
|
+
code: "span"
|
|
51
|
+
};
|
|
52
|
+
const Typography = react.forwardRef(({ className, variant = "body", color = "default", as, children, ...props }, ref) => {
|
|
53
|
+
const Component = as ?? defaultElementMap[variant ?? "body"] ?? "p";
|
|
54
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
|
|
55
|
+
className: require_utils.cn(typographyVariants({
|
|
56
|
+
variant,
|
|
57
|
+
color
|
|
58
|
+
}), className),
|
|
59
|
+
ref,
|
|
60
|
+
...props,
|
|
61
|
+
children
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
Typography.displayName = "Typography";
|
|
65
|
+
//#endregion
|
|
66
|
+
exports.Typography = Typography;
|
|
67
|
+
exports.typographyVariants = typographyVariants;
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=Typography.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.cjs","names":["cva","React","cn"],"sources":["../../../src/components/typography/Typography.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst typographyVariants = cva('', {\n variants: {\n variant: {\n // Fluid heading scale — use @theme tokens (clamp-based, 390px → 1440px)\n h1: 'text-h1 font-h1 leading-h1 tracking-h1 text-balance',\n // Hero display — from landing-page /dedicated-inference hero (Ovo, 400, tight display leading)\n hero: \"text-hero font-hero leading-hero tracking-hero text-balance font-normal [font-feature-settings:'normal']\",\n h2: 'text-h2 font-h2 leading-h2 tracking-h2 text-balance',\n h3: 'text-h3 font-h3 leading-h3 tracking-h3 text-balance',\n h4: 'text-h4 font-h4 leading-h4 tracking-h4 text-balance',\n // Static sans-serif sub-heading\n h5: 'text-xl font-xl leading-xl text-balance',\n // Body and UI text — use @theme tokens where available\n large: 'text-lg font-lg leading-lg text-pretty',\n body: 'text-p font-p leading-p text-pretty',\n small: 'text-sm font-sm leading-sm text-pretty',\n xs: 'text-xs font-xs leading-xs text-pretty',\n // Caption / overline / eyebrow (DM Sans, Semibold, uppercase)\n caption:\n 'text-caption font-caption leading-caption tracking-caption text-pretty font-semibold uppercase',\n // Monospaced — use @theme token\n mono: 'text-mono font-mono leading-mono text-pretty',\n // Inline code / spec labels\n code: 'text-xs font-mono',\n },\n color: {\n default: 'text-berget-foreground',\n muted: 'text-berget-muted-foreground',\n dim: 'text-berget-foreground/65',\n primary: 'text-berget-primary',\n },\n },\n defaultVariants: {\n variant: 'body',\n color: 'default',\n },\n});\n\nconst defaultElementMap: Record<string, 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | 'span'> = {\n hero: 'h1',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n large: 'p',\n body: 'p',\n small: 'p',\n xs: 'p',\n caption: 'span',\n mono: 'p',\n code: 'span',\n};\n\nexport interface TypographyProps\n extends\n Omit<React.HTMLAttributes<HTMLElement>, 'color'>,\n VariantProps<typeof typographyVariants> {\n as?: React.ElementType;\n}\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ className, variant = 'body', color = 'default', as, children, ...props }, ref) => {\n const Component = (as ?? defaultElementMap[variant ?? 'body'] ?? 'p') as\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'p'\n | 'span';\n return (\n <Component\n className={cn(typographyVariants({ variant, color }), className)}\n ref={ref as any}\n {...(props as any)}\n >\n {children}\n </Component>\n );\n },\n);\nTypography.displayName = 'Typography';\n\nexport { Typography, typographyVariants };\n"],"mappings":";;;;;;;AAMA,MAAM,sBAAA,G,kCAAqBA,CAAAA,CAAAA,IAAAA,CAAI,IAAI;CACjC,UAAU;EACR,SAAS;GAEP,IAAI;GAEJ,MAAM;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GAEJ,IAAI;GAEJ,OAAO;GACP,MAAM;GACN,OAAO;GACP,IAAI;GAEJ,SACE;GAEF,MAAM;GAEN,MAAM;EACR;EACA,OAAO;GACL,SAAS;GACT,OAAO;GACP,KAAK;GACL,SAAS;EACX;CACF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CAAC;AAED,MAAM,oBAAqF;CACzF,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,MAAM;CACN,OAAO;CACP,IAAI;CACJ,SAAS;CACT,MAAM;CACN,MAAM;AACR;AASA,MAAM,aAAaC,MAAM,YACtB,EAAE,WAAW,UAAU,QAAQ,QAAQ,WAAW,IAAI,UAAU,GAAG,SAAS,QAAQ;CACnF,MAAM,YAAa,MAAM,kBAAkB,WAAW,WAAW;CAQjE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;EACE,WAAWC,cAAAA,GAAG,mBAAmB;GAAE;GAAS;EAAM,CAAC,GAAG,SAAS;EAC1D;EACL,GAAK;EAEJ;CACQ,CAAA;AAEf,CACF;AACA,WAAW,cAAc"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
//#region src/components/typography/Typography.d.ts
|
|
4
|
+
declare const typographyVariants: (props?: ({
|
|
5
|
+
variant?: "body" | "caption" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "small" | "hero" | "large" | "xs" | "mono" | null | undefined;
|
|
6
|
+
color?: "default" | "muted" | "dim" | "primary" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export interface TypographyProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, VariantProps<typeof typographyVariants> {
|
|
9
|
+
as?: React.ElementType;
|
|
10
|
+
}
|
|
11
|
+
declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Typography, typographyVariants };
|
|
14
|
+
//# sourceMappingURL=Typography.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.d.cts","names":[],"sources":["../../../src/components/typography/Typography.tsx"],"mappings":";;;cAMM,qBAAkB;;;6CAoCtB;iBAkBe,wBAEb,KAAK,MAAM,eAAe,wBAC1B,oBAAoB;EACtB,KAAK,MAAM;;cAGP,YAAU,MAAA,0BAAA,kBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
//#region src/components/typography/Typography.d.ts
|
|
4
|
+
declare const typographyVariants: (props?: ({
|
|
5
|
+
variant?: "body" | "caption" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "small" | "hero" | "large" | "xs" | "mono" | null | undefined;
|
|
6
|
+
color?: "default" | "muted" | "dim" | "primary" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export interface TypographyProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, VariantProps<typeof typographyVariants> {
|
|
9
|
+
as?: React.ElementType;
|
|
10
|
+
}
|
|
11
|
+
declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Typography, typographyVariants };
|
|
14
|
+
//# sourceMappingURL=Typography.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.d.mts","names":[],"sources":["../../../src/components/typography/Typography.tsx"],"mappings":";;;cAMM,qBAAkB;;;6CAoCtB;iBAkBe,wBAEb,KAAK,MAAM,eAAe,wBAC1B,oBAAoB;EACtB,KAAK,MAAM;;cAGP,YAAU,MAAA,0BAAA,kBAAA,MAAA,cAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.mjs";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
//#region src/components/typography/Typography.tsx
|
|
7
|
+
const typographyVariants = cva("", {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
h1: "text-h1 font-h1 leading-h1 tracking-h1 text-balance",
|
|
11
|
+
hero: "text-hero font-hero leading-hero tracking-hero text-balance font-normal [font-feature-settings:'normal']",
|
|
12
|
+
h2: "text-h2 font-h2 leading-h2 tracking-h2 text-balance",
|
|
13
|
+
h3: "text-h3 font-h3 leading-h3 tracking-h3 text-balance",
|
|
14
|
+
h4: "text-h4 font-h4 leading-h4 tracking-h4 text-balance",
|
|
15
|
+
h5: "text-xl font-xl leading-xl text-balance",
|
|
16
|
+
large: "text-lg font-lg leading-lg text-pretty",
|
|
17
|
+
body: "text-p font-p leading-p text-pretty",
|
|
18
|
+
small: "text-sm font-sm leading-sm text-pretty",
|
|
19
|
+
xs: "text-xs font-xs leading-xs text-pretty",
|
|
20
|
+
caption: "text-caption font-caption leading-caption tracking-caption text-pretty font-semibold uppercase",
|
|
21
|
+
mono: "text-mono font-mono leading-mono text-pretty",
|
|
22
|
+
code: "text-xs font-mono"
|
|
23
|
+
},
|
|
24
|
+
color: {
|
|
25
|
+
default: "text-berget-foreground",
|
|
26
|
+
muted: "text-berget-muted-foreground",
|
|
27
|
+
dim: "text-berget-foreground/65",
|
|
28
|
+
primary: "text-berget-primary"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: {
|
|
32
|
+
variant: "body",
|
|
33
|
+
color: "default"
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const defaultElementMap = {
|
|
37
|
+
hero: "h1",
|
|
38
|
+
h1: "h1",
|
|
39
|
+
h2: "h2",
|
|
40
|
+
h3: "h3",
|
|
41
|
+
h4: "h4",
|
|
42
|
+
h5: "h5",
|
|
43
|
+
large: "p",
|
|
44
|
+
body: "p",
|
|
45
|
+
small: "p",
|
|
46
|
+
xs: "p",
|
|
47
|
+
caption: "span",
|
|
48
|
+
mono: "p",
|
|
49
|
+
code: "span"
|
|
50
|
+
};
|
|
51
|
+
const Typography = React.forwardRef(({ className, variant = "body", color = "default", as, children, ...props }, ref) => {
|
|
52
|
+
const Component = as ?? defaultElementMap[variant ?? "body"] ?? "p";
|
|
53
|
+
return /* @__PURE__ */ jsx(Component, {
|
|
54
|
+
className: cn(typographyVariants({
|
|
55
|
+
variant,
|
|
56
|
+
color
|
|
57
|
+
}), className),
|
|
58
|
+
ref,
|
|
59
|
+
...props,
|
|
60
|
+
children
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
Typography.displayName = "Typography";
|
|
64
|
+
//#endregion
|
|
65
|
+
export { Typography, typographyVariants };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=Typography.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.mjs","names":[],"sources":["../../../src/components/typography/Typography.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst typographyVariants = cva('', {\n variants: {\n variant: {\n // Fluid heading scale — use @theme tokens (clamp-based, 390px → 1440px)\n h1: 'text-h1 font-h1 leading-h1 tracking-h1 text-balance',\n // Hero display — from landing-page /dedicated-inference hero (Ovo, 400, tight display leading)\n hero: \"text-hero font-hero leading-hero tracking-hero text-balance font-normal [font-feature-settings:'normal']\",\n h2: 'text-h2 font-h2 leading-h2 tracking-h2 text-balance',\n h3: 'text-h3 font-h3 leading-h3 tracking-h3 text-balance',\n h4: 'text-h4 font-h4 leading-h4 tracking-h4 text-balance',\n // Static sans-serif sub-heading\n h5: 'text-xl font-xl leading-xl text-balance',\n // Body and UI text — use @theme tokens where available\n large: 'text-lg font-lg leading-lg text-pretty',\n body: 'text-p font-p leading-p text-pretty',\n small: 'text-sm font-sm leading-sm text-pretty',\n xs: 'text-xs font-xs leading-xs text-pretty',\n // Caption / overline / eyebrow (DM Sans, Semibold, uppercase)\n caption:\n 'text-caption font-caption leading-caption tracking-caption text-pretty font-semibold uppercase',\n // Monospaced — use @theme token\n mono: 'text-mono font-mono leading-mono text-pretty',\n // Inline code / spec labels\n code: 'text-xs font-mono',\n },\n color: {\n default: 'text-berget-foreground',\n muted: 'text-berget-muted-foreground',\n dim: 'text-berget-foreground/65',\n primary: 'text-berget-primary',\n },\n },\n defaultVariants: {\n variant: 'body',\n color: 'default',\n },\n});\n\nconst defaultElementMap: Record<string, 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | 'span'> = {\n hero: 'h1',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n large: 'p',\n body: 'p',\n small: 'p',\n xs: 'p',\n caption: 'span',\n mono: 'p',\n code: 'span',\n};\n\nexport interface TypographyProps\n extends\n Omit<React.HTMLAttributes<HTMLElement>, 'color'>,\n VariantProps<typeof typographyVariants> {\n as?: React.ElementType;\n}\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ className, variant = 'body', color = 'default', as, children, ...props }, ref) => {\n const Component = (as ?? defaultElementMap[variant ?? 'body'] ?? 'p') as\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'p'\n | 'span';\n return (\n <Component\n className={cn(typographyVariants({ variant, color }), className)}\n ref={ref as any}\n {...(props as any)}\n >\n {children}\n </Component>\n );\n },\n);\nTypography.displayName = 'Typography';\n\nexport { Typography, typographyVariants };\n"],"mappings":";;;;;;AAMA,MAAM,qBAAqB,IAAI,IAAI;CACjC,UAAU;EACR,SAAS;GAEP,IAAI;GAEJ,MAAM;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GAEJ,IAAI;GAEJ,OAAO;GACP,MAAM;GACN,OAAO;GACP,IAAI;GAEJ,SACE;GAEF,MAAM;GAEN,MAAM;EACR;EACA,OAAO;GACL,SAAS;GACT,OAAO;GACP,KAAK;GACL,SAAS;EACX;CACF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CAAC;AAED,MAAM,oBAAqF;CACzF,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,MAAM;CACN,OAAO;CACP,IAAI;CACJ,SAAS;CACT,MAAM;CACN,MAAM;AACR;AASA,MAAM,aAAa,MAAM,YACtB,EAAE,WAAW,UAAU,QAAQ,QAAQ,WAAW,IAAI,UAAU,GAAG,SAAS,QAAQ;CACnF,MAAM,YAAa,MAAM,kBAAkB,WAAW,WAAW;CAQjE,OACE,oBAAC,WAAD;EACE,WAAW,GAAG,mBAAmB;GAAE;GAAS;EAAM,CAAC,GAAG,SAAS;EAC1D;EACL,GAAK;EAEJ;CACQ,CAAA;AAEf,CACF;AACA,WAAW,cAAc"}
|