@campxdev/react-native-blueprint 0.1.8 → 0.1.11
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 +188 -89
- package/lib/commonjs/app/_layout.js +34 -0
- package/lib/commonjs/app/_layout.js.map +1 -0
- package/lib/commonjs/assets/icons/weather_icons/drizzle.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/foggy.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/freezing_rain.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/partly_cloudy.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/rainy.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/showers.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/sunny_weather.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/thunderstorm.png +0 -0
- package/lib/commonjs/assets/icons/weather_icons/thunderstorm_hail.png +0 -0
- package/lib/commonjs/components/theme-config.js +274 -0
- package/lib/commonjs/components/theme-config.js.map +1 -0
- package/lib/commonjs/components/ui/Accordion.js +235 -0
- package/lib/commonjs/components/ui/Accordion.js.map +1 -0
- package/lib/commonjs/components/ui/Alert-Dialog.js +280 -0
- package/lib/commonjs/components/ui/Alert-Dialog.js.map +1 -0
- package/lib/commonjs/components/ui/Alert.js +113 -0
- package/lib/commonjs/components/ui/Alert.js.map +1 -0
- package/lib/commonjs/components/ui/AppBar.js +407 -0
- package/lib/commonjs/components/ui/AppBar.js.map +1 -0
- package/lib/commonjs/components/ui/Aspect-Ratio.js +30 -0
- package/lib/commonjs/components/ui/Aspect-Ratio.js.map +1 -0
- package/lib/commonjs/components/ui/Avatar.js +101 -0
- package/lib/commonjs/components/ui/Avatar.js.map +1 -0
- package/lib/commonjs/components/ui/Badge.js +131 -0
- package/lib/commonjs/components/ui/Badge.js.map +1 -0
- package/lib/commonjs/components/ui/Bottom-Sheet.js +156 -0
- package/lib/commonjs/components/ui/Bottom-Sheet.js.map +1 -0
- package/lib/commonjs/components/ui/Button.js +92 -0
- package/lib/commonjs/components/ui/Button.js.map +1 -0
- package/lib/commonjs/components/ui/Card.js +180 -0
- package/lib/commonjs/components/ui/Card.js.map +1 -0
- package/lib/commonjs/components/ui/Checkbox.js +69 -0
- package/lib/commonjs/components/ui/Checkbox.js.map +1 -0
- package/lib/commonjs/components/ui/Collapsible.js +45 -0
- package/lib/commonjs/components/ui/Collapsible.js.map +1 -0
- package/lib/commonjs/components/ui/Context-Menu.js +304 -0
- package/lib/commonjs/components/ui/Context-Menu.js.map +1 -0
- package/lib/commonjs/components/ui/Custom-Card.js +210 -0
- package/lib/commonjs/components/ui/Custom-Card.js.map +1 -0
- package/lib/commonjs/components/ui/Dialog.js +214 -0
- package/lib/commonjs/components/ui/Dialog.js.map +1 -0
- package/lib/commonjs/components/ui/Dropdown-Menu.js +438 -0
- package/lib/commonjs/components/ui/Dropdown-Menu.js.map +1 -0
- package/lib/commonjs/components/ui/Floating-Action.js +55 -0
- package/lib/commonjs/components/ui/Floating-Action.js.map +1 -0
- package/lib/commonjs/components/ui/Greeting-Card.js +401 -0
- package/lib/commonjs/components/ui/Greeting-Card.js.map +1 -0
- package/lib/commonjs/components/ui/Hover-Card.js +100 -0
- package/lib/commonjs/components/ui/Hover-Card.js.map +1 -0
- package/lib/commonjs/components/ui/Icon.js +76 -0
- package/lib/commonjs/components/ui/Icon.js.map +1 -0
- package/lib/commonjs/components/ui/Input.js +79 -0
- package/lib/commonjs/components/ui/Input.js.map +1 -0
- package/lib/commonjs/components/ui/Label.js +48 -0
- package/lib/commonjs/components/ui/Label.js.map +1 -0
- package/lib/commonjs/components/ui/Menubar.js +392 -0
- package/lib/commonjs/components/ui/Menubar.js.map +1 -0
- package/lib/commonjs/components/ui/Native-Only-Animated-View.js +43 -0
- package/lib/commonjs/components/ui/Native-Only-Animated-View.js.map +1 -0
- package/lib/commonjs/components/ui/NavBar.js +356 -0
- package/lib/commonjs/components/ui/NavBar.js.map +1 -0
- package/lib/commonjs/components/ui/Popover.js +105 -0
- package/lib/commonjs/components/ui/Popover.js.map +1 -0
- package/lib/commonjs/components/ui/Progress.js +127 -0
- package/lib/commonjs/components/ui/Progress.js.map +1 -0
- package/lib/commonjs/components/ui/Radio-Group.js +78 -0
- package/lib/commonjs/components/ui/Radio-Group.js.map +1 -0
- package/lib/commonjs/components/ui/Select.js +283 -0
- package/lib/commonjs/components/ui/Select.js.map +1 -0
- package/lib/commonjs/components/ui/Separator.js +62 -0
- package/lib/commonjs/components/ui/Separator.js.map +1 -0
- package/lib/commonjs/components/ui/SizedBox.js +106 -0
- package/lib/commonjs/components/ui/SizedBox.js.map +1 -0
- package/lib/commonjs/components/ui/Skeleton.js +60 -0
- package/lib/commonjs/components/ui/Skeleton.js.map +1 -0
- package/lib/commonjs/components/ui/Slider.js +178 -0
- package/lib/commonjs/components/ui/Slider.js.map +1 -0
- package/lib/commonjs/components/ui/Switch.js +57 -0
- package/lib/commonjs/components/ui/Switch.js.map +1 -0
- package/lib/commonjs/components/ui/Table.js +161 -0
- package/lib/commonjs/components/ui/Table.js.map +1 -0
- package/lib/commonjs/components/ui/Tabs.js +111 -0
- package/lib/commonjs/components/ui/Tabs.js.map +1 -0
- package/lib/commonjs/components/ui/Text.js +73 -0
- package/lib/commonjs/components/ui/Text.js.map +1 -0
- package/lib/commonjs/components/ui/Textarea.js +93 -0
- package/lib/commonjs/components/ui/Textarea.js.map +1 -0
- package/lib/commonjs/components/ui/Theme-Toggle.js +160 -0
- package/lib/commonjs/components/ui/Theme-Toggle.js.map +1 -0
- package/lib/commonjs/components/ui/Toast.js +107 -0
- package/lib/commonjs/components/ui/Toast.js.map +1 -0
- package/lib/commonjs/components/ui/Toggle-Group.js +133 -0
- package/lib/commonjs/components/ui/Toggle-Group.js.map +1 -0
- package/lib/commonjs/components/ui/Toggle.js +110 -0
- package/lib/commonjs/components/ui/Toggle.js.map +1 -0
- package/lib/commonjs/components/ui/Tooltip.js +110 -0
- package/lib/commonjs/components/ui/Tooltip.js.map +1 -0
- package/lib/commonjs/components/ui/index.js +479 -0
- package/lib/commonjs/components/ui/index.js.map +1 -0
- package/lib/commonjs/global.css +417 -0
- package/lib/commonjs/index.js +118 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/lib/ThemeProvider.js +180 -0
- package/lib/commonjs/lib/ThemeProvider.js.map +1 -0
- package/lib/commonjs/lib/cornerRadius.js +171 -0
- package/lib/commonjs/lib/cornerRadius.js.map +1 -0
- package/lib/commonjs/lib/fonts.js +101 -0
- package/lib/commonjs/lib/fonts.js.map +1 -0
- package/lib/commonjs/lib/slot-helpers.js +24 -0
- package/lib/commonjs/lib/slot-helpers.js.map +1 -0
- package/lib/commonjs/lib/theme.js +215 -0
- package/lib/commonjs/lib/theme.js.map +1 -0
- package/lib/commonjs/lib/utils.js +142 -0
- package/lib/commonjs/lib/utils.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/types/components.d.js +6 -0
- package/lib/commonjs/types/components.d.js.map +1 -0
- package/lib/commonjs/types/global.d.js +8 -0
- package/lib/commonjs/types/global.d.js.map +1 -0
- package/lib/commonjs/types/rn-primitives.d.js +6 -0
- package/lib/commonjs/types/rn-primitives.d.js.map +1 -0
- package/lib/module/components/ui/Alert-Dialog.js.map +1 -1
- package/lib/module/components/ui/Context-Menu.js.map +1 -1
- package/lib/module/components/ui/Dropdown-Menu.js.map +1 -1
- package/lib/module/components/ui/Menubar.js.map +1 -1
- package/lib/module/components/ui/Tabs.js.map +1 -1
- package/lib/module/components/ui/Toggle-Group.js.map +1 -1
- package/lib/module/lib/fonts.js +81 -8
- package/lib/module/lib/fonts.js.map +1 -1
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/app/_layout.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/theme-config.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Accordion.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Alert-Dialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Alert.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/AppBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Aspect-Ratio.d.ts.map +1 -0
- package/lib/typescript/{src → commonjs/src}/components/ui/Avatar.d.ts +59 -59
- package/lib/typescript/{src → commonjs/src}/components/ui/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/ui/Badge.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Bottom-Sheet.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Button.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Checkbox.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Collapsible.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Context-Menu.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Custom-Card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Dialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Dropdown-Menu.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Floating-Action.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Greeting-Card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Hover-Card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Input.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Label.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Menubar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Native-Only-Animated-View.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/NavBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Popover.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Progress.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Radio-Group.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Select.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Separator.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/SizedBox.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Skeleton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Slider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Switch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Table.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Tabs.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Text.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Textarea.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Theme-Toggle.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Toast.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Toggle-Group.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Toggle.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/Tooltip.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/components/ui/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lib/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lib/cornerRadius.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lib/fonts.d.ts +16 -0
- package/lib/typescript/commonjs/src/lib/fonts.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lib/slot-helpers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lib/theme.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lib/utils.d.ts.map +1 -0
- package/lib/typescript/module/src/app/_layout.d.ts +7 -0
- package/lib/typescript/module/src/app/_layout.d.ts.map +1 -0
- package/lib/typescript/module/src/components/theme-config.d.ts +174 -0
- package/lib/typescript/module/src/components/theme-config.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Accordion.d.ts +103 -0
- package/lib/typescript/module/src/components/ui/Accordion.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Alert-Dialog.d.ts +145 -0
- package/lib/typescript/module/src/components/ui/Alert-Dialog.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Alert.d.ts +61 -0
- package/lib/typescript/module/src/components/ui/Alert.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/AppBar.d.ts +227 -0
- package/lib/typescript/module/src/components/ui/AppBar.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Aspect-Ratio.d.ts +24 -0
- package/lib/typescript/module/src/components/ui/Aspect-Ratio.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Avatar.d.ts +1486 -0
- package/lib/typescript/module/src/components/ui/Avatar.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Badge.d.ts +77 -0
- package/lib/typescript/module/src/components/ui/Badge.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Bottom-Sheet.d.ts +43 -0
- package/lib/typescript/module/src/components/ui/Bottom-Sheet.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Button.d.ts +23 -0
- package/lib/typescript/module/src/components/ui/Button.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Card.d.ts +93 -0
- package/lib/typescript/module/src/components/ui/Card.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Checkbox.d.ts +36 -0
- package/lib/typescript/module/src/components/ui/Checkbox.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Collapsible.d.ts +37 -0
- package/lib/typescript/module/src/components/ui/Collapsible.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Context-Menu.d.ts +107 -0
- package/lib/typescript/module/src/components/ui/Context-Menu.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Custom-Card.d.ts +103 -0
- package/lib/typescript/module/src/components/ui/Custom-Card.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Dialog.d.ts +90 -0
- package/lib/typescript/module/src/components/ui/Dialog.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Dropdown-Menu.d.ts +242 -0
- package/lib/typescript/module/src/components/ui/Dropdown-Menu.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Floating-Action.d.ts +44 -0
- package/lib/typescript/module/src/components/ui/Floating-Action.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Greeting-Card.d.ts +153 -0
- package/lib/typescript/module/src/components/ui/Greeting-Card.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Hover-Card.d.ts +49 -0
- package/lib/typescript/module/src/components/ui/Hover-Card.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Icon.d.ts +43 -0
- package/lib/typescript/module/src/components/ui/Icon.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Input.d.ts +54 -0
- package/lib/typescript/module/src/components/ui/Input.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Label.d.ts +34 -0
- package/lib/typescript/module/src/components/ui/Label.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Menubar.d.ts +142 -0
- package/lib/typescript/module/src/components/ui/Menubar.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Native-Only-Animated-View.d.ts +26 -0
- package/lib/typescript/module/src/components/ui/Native-Only-Animated-View.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/NavBar.d.ts +273 -0
- package/lib/typescript/module/src/components/ui/NavBar.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Popover.d.ts +54 -0
- package/lib/typescript/module/src/components/ui/Popover.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Progress.d.ts +27 -0
- package/lib/typescript/module/src/components/ui/Progress.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Radio-Group.d.ts +47 -0
- package/lib/typescript/module/src/components/ui/Radio-Group.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Select.d.ts +86 -0
- package/lib/typescript/module/src/components/ui/Select.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Separator.d.ts +40 -0
- package/lib/typescript/module/src/components/ui/Separator.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/SizedBox.d.ts +79 -0
- package/lib/typescript/module/src/components/ui/SizedBox.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Skeleton.d.ts +42 -0
- package/lib/typescript/module/src/components/ui/Skeleton.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Slider.d.ts +56 -0
- package/lib/typescript/module/src/components/ui/Slider.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Switch.d.ts +34 -0
- package/lib/typescript/module/src/components/ui/Switch.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Table.d.ts +80 -0
- package/lib/typescript/module/src/components/ui/Table.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Tabs.d.ts +51 -0
- package/lib/typescript/module/src/components/ui/Tabs.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Text.d.ts +45 -0
- package/lib/typescript/module/src/components/ui/Text.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Textarea.d.ts +65 -0
- package/lib/typescript/module/src/components/ui/Textarea.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Theme-Toggle.d.ts +67 -0
- package/lib/typescript/module/src/components/ui/Theme-Toggle.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Toast.d.ts +56 -0
- package/lib/typescript/module/src/components/ui/Toast.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Toggle-Group.d.ts +49 -0
- package/lib/typescript/module/src/components/ui/Toggle-Group.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Toggle.d.ts +53 -0
- package/lib/typescript/module/src/components/ui/Toggle.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/Tooltip.d.ts +51 -0
- package/lib/typescript/module/src/components/ui/Tooltip.d.ts.map +1 -0
- package/lib/typescript/module/src/components/ui/index.d.ts +44 -0
- package/lib/typescript/module/src/components/ui/index.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +9 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/lib/ThemeProvider.d.ts +137 -0
- package/lib/typescript/module/src/lib/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/module/src/lib/cornerRadius.d.ts +112 -0
- package/lib/typescript/module/src/lib/cornerRadius.d.ts.map +1 -0
- package/lib/typescript/module/src/lib/fonts.d.ts +16 -0
- package/lib/typescript/module/src/lib/fonts.d.ts.map +1 -0
- package/lib/typescript/module/src/lib/slot-helpers.d.ts +32 -0
- package/lib/typescript/module/src/lib/slot-helpers.d.ts.map +1 -0
- package/lib/typescript/module/src/lib/theme.d.ts +87 -0
- package/lib/typescript/module/src/lib/theme.d.ts.map +1 -0
- package/lib/typescript/module/src/lib/utils.d.ts +111 -0
- package/lib/typescript/module/src/lib/utils.d.ts.map +1 -0
- package/package.json +180 -50
- package/src/components/ui/Alert-Dialog.tsx +2 -2
- package/src/components/ui/Context-Menu.tsx +1 -1
- package/src/components/ui/Dropdown-Menu.tsx +1 -1
- package/src/components/ui/Menubar.tsx +2 -2
- package/src/components/ui/Tabs.tsx +1 -1
- package/src/components/ui/Toggle-Group.tsx +2 -2
- package/src/lib/fonts.ts +83 -12
- package/lib/typescript/src/app/_layout.d.ts.map +0 -1
- package/lib/typescript/src/components/theme-config.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Accordion.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Alert.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/AppBar.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Aspect-Ratio.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Badge.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Bottom-Sheet.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Button.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Card.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Checkbox.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Collapsible.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Context-Menu.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Custom-Card.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Dialog.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Floating-Action.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Greeting-Card.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Hover-Card.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Icon.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Input.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Label.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Menubar.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Native-Only-Animated-View.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/NavBar.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Popover.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Progress.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Radio-Group.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Select.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Separator.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/SizedBox.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Skeleton.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Slider.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Switch.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Table.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Tabs.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Text.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Textarea.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Theme-Toggle.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Toast.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Toggle-Group.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Toggle.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Tooltip.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/index.d.ts.map +0 -1
- package/lib/typescript/src/index.d.ts.map +0 -1
- package/lib/typescript/src/lib/ThemeProvider.d.ts.map +0 -1
- package/lib/typescript/src/lib/cornerRadius.d.ts.map +0 -1
- package/lib/typescript/src/lib/fonts.d.ts +0 -21
- package/lib/typescript/src/lib/fonts.d.ts.map +0 -1
- package/lib/typescript/src/lib/slot-helpers.d.ts.map +0 -1
- package/lib/typescript/src/lib/theme.d.ts.map +0 -1
- package/lib/typescript/src/lib/utils.d.ts.map +0 -1
- /package/lib/typescript/{src → commonjs/src}/app/_layout.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/theme-config.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Accordion.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Alert-Dialog.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Alert.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/AppBar.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Aspect-Ratio.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Badge.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Bottom-Sheet.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Button.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Card.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Checkbox.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Collapsible.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Context-Menu.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Custom-Card.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Dialog.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Dropdown-Menu.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Floating-Action.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Greeting-Card.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Hover-Card.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Icon.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Input.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Label.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Menubar.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Native-Only-Animated-View.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/NavBar.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Popover.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Progress.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Radio-Group.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Select.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Separator.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/SizedBox.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Skeleton.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Slider.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Switch.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Table.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Tabs.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Text.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Textarea.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Theme-Toggle.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Toast.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Toggle-Group.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Toggle.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/Tooltip.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/components/ui/index.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/index.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/lib/ThemeProvider.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/lib/cornerRadius.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/lib/slot-helpers.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/lib/theme.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/lib/utils.d.ts +0 -0
- /package/lib/typescript/{package.json → module/package.json} +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Textarea = Textarea;
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _nativewind = require("nativewind");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const TextInput = (0, _nativewind.cssInterop)(_reactNative.TextInput, {
|
|
14
|
+
className: 'style'
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Props for Textarea component
|
|
19
|
+
*
|
|
20
|
+
* @extends TextInputProps - All React Native TextInput properties
|
|
21
|
+
* @property {string} [className] - Additional Tailwind classes for styling
|
|
22
|
+
* @property {string} [placeholderClassName] - Tailwind classes for placeholder text styling
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <Textarea
|
|
27
|
+
* placeholder="Enter your message"
|
|
28
|
+
* value={message}
|
|
29
|
+
* onChangeText={setMessage}
|
|
30
|
+
* numberOfLines={4}
|
|
31
|
+
* />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Multi-line text input component
|
|
37
|
+
*
|
|
38
|
+
* A textarea component for longer text input with configurable height and styling.
|
|
39
|
+
* Automatically configured for multi-line input with appropriate platform-specific defaults.
|
|
40
|
+
*
|
|
41
|
+
* @component
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* // Basic textarea
|
|
45
|
+
* <Textarea
|
|
46
|
+
* placeholder="Enter description"
|
|
47
|
+
* value={description}
|
|
48
|
+
* onChangeText={setDescription}
|
|
49
|
+
* />
|
|
50
|
+
*
|
|
51
|
+
* // Controlled textarea with validation
|
|
52
|
+
* <Textarea
|
|
53
|
+
* value={bio}
|
|
54
|
+
* onChangeText={setBio}
|
|
55
|
+
* placeholder="Tell us about yourself"
|
|
56
|
+
* numberOfLines={6}
|
|
57
|
+
* maxLength={500}
|
|
58
|
+
* />
|
|
59
|
+
*
|
|
60
|
+
* // Disabled textarea
|
|
61
|
+
* <Textarea value={content} editable={false} />
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @accessibility
|
|
65
|
+
* - Supports standard TextInput accessibility props
|
|
66
|
+
* - Placeholder text with appropriate color contrast
|
|
67
|
+
* - Focus states on web for keyboard navigation
|
|
68
|
+
* - Disabled state with reduced opacity
|
|
69
|
+
*/
|
|
70
|
+
function Textarea({
|
|
71
|
+
className,
|
|
72
|
+
multiline = true,
|
|
73
|
+
numberOfLines = _reactNative.Platform.select({
|
|
74
|
+
web: 2,
|
|
75
|
+
native: 8
|
|
76
|
+
}),
|
|
77
|
+
placeholderClassName,
|
|
78
|
+
editable = true,
|
|
79
|
+
...props
|
|
80
|
+
}) {
|
|
81
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextInput, {
|
|
82
|
+
className: (0, _utils.cn)('text-foreground border-input dark:bg-input/30 flex min-h-16 w-full flex-row rounded-md border bg-transparent px-3 py-2 text-base shadow-sm shadow-black/5 md:text-sm', _reactNative.Platform.select({
|
|
83
|
+
web: 'placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive field-sizing-content resize-y outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed'
|
|
84
|
+
}), !editable && 'opacity-50', className),
|
|
85
|
+
placeholderClassName: (0, _utils.cn)('text-muted-foreground', placeholderClassName),
|
|
86
|
+
multiline: multiline,
|
|
87
|
+
numberOfLines: numberOfLines,
|
|
88
|
+
textAlignVertical: "top",
|
|
89
|
+
editable: editable,
|
|
90
|
+
...props
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=Textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","React","_interopRequireWildcard","_reactNative","_nativewind","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TextInput","cssInterop","RNTextInput","className","Textarea","multiline","numberOfLines","Platform","select","web","native","placeholderClassName","editable","props","jsx","cn","textAlignVertical"],"sourceRoot":"../../../../src","sources":["components/ui/Textarea.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AAAwC,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAExC,MAAMkB,SAAS,GAAG,IAAAC,sBAAU,EAACC,sBAAW,EAAE;EACxCC,SAAS,EAAE;AACb,CAAC,CAA6B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAAC;EAChBD,SAAS;EACTE,SAAS,GAAG,IAAI;EAChBC,aAAa,GAAGC,qBAAQ,CAACC,MAAM,CAAC;IAAEC,GAAG,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC;EACtDC,oBAAoB;EACpBC,QAAQ,GAAG,IAAI;EACf,GAAGC;AAC6C,CAAC,EAAE;EACnD,oBACE,IAAAjC,WAAA,CAAAkC,GAAA,EAACd,SAAS;IACRG,SAAS,EAAE,IAAAY,SAAE,EACX,sKAAsK,EACtKR,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAE;IACP,CAAC,CAAC,EACF,CAACG,QAAQ,IAAI,YAAY,EACzBT,SACF,CAAE;IACFQ,oBAAoB,EAAE,IAAAI,SAAE,EAAC,uBAAuB,EAAEJ,oBAAoB,CAAE;IACxEN,SAAS,EAAEA,SAAU;IACrBC,aAAa,EAAEA,aAAc;IAC7BU,iBAAiB,EAAC,KAAK;IACvBJ,QAAQ,EAAEA,QAAS;IAAA,GACfC;EAAK,CACV,CAAC;AAEN","ignoreList":[]}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ThemeToggle = void 0;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _nativewind = require("nativewind");
|
|
10
|
+
var _lucideReactNative = require("lucide-react-native");
|
|
11
|
+
var _utils = require("../../lib/utils");
|
|
12
|
+
var _ThemeProvider = require("../../lib/ThemeProvider");
|
|
13
|
+
var _Icon = require("./Icon");
|
|
14
|
+
var _Text = require("./Text");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
const View = (0, _nativewind.cssInterop)(_reactNative.View, {
|
|
18
|
+
className: 'style'
|
|
19
|
+
});
|
|
20
|
+
const Pressable = (0, _nativewind.cssInterop)(_reactNative.Pressable, {
|
|
21
|
+
className: 'style'
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Theme toggle button variants
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Props for ThemeToggle component
|
|
30
|
+
*
|
|
31
|
+
* @property {'icon' | 'button' | 'segmented'} [variant='icon'] - Visual style variant
|
|
32
|
+
* @property {boolean} [showLabel=false] - Show text label next to icon (for button variant)
|
|
33
|
+
* @property {string} [className] - Additional Tailwind classes
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* // Icon only (default)
|
|
38
|
+
* <ThemeToggle />
|
|
39
|
+
*
|
|
40
|
+
* // Button with label
|
|
41
|
+
* <ThemeToggle variant="button" showLabel />
|
|
42
|
+
*
|
|
43
|
+
* // Segmented control
|
|
44
|
+
* <ThemeToggle variant="segmented" />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Theme toggle component for switching between light, dark, and system themes
|
|
50
|
+
*
|
|
51
|
+
* Provides three variants:
|
|
52
|
+
* - **icon**: Simple icon button that cycles through themes (light → dark → system)
|
|
53
|
+
* - **button**: Button with icon and optional label
|
|
54
|
+
* - **segmented**: Segmented control showing all three options
|
|
55
|
+
*
|
|
56
|
+
* @component
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* // Icon toggle (minimal)
|
|
60
|
+
* <ThemeToggle />
|
|
61
|
+
*
|
|
62
|
+
* // Button with label
|
|
63
|
+
* <ThemeToggle variant="button" showLabel />
|
|
64
|
+
*
|
|
65
|
+
* // Segmented control (shows all options)
|
|
66
|
+
* <ThemeToggle variant="segmented" />
|
|
67
|
+
*
|
|
68
|
+
* // Custom styling
|
|
69
|
+
* <ThemeToggle className="my-4" />
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @accessibility
|
|
73
|
+
* - Proper button role for screen readers
|
|
74
|
+
* - Announces current theme state
|
|
75
|
+
* - Keyboard navigable on web
|
|
76
|
+
*/
|
|
77
|
+
const ThemeToggle = exports.ThemeToggle = /*#__PURE__*/React.forwardRef(({
|
|
78
|
+
variant = 'icon',
|
|
79
|
+
showLabel = false,
|
|
80
|
+
className,
|
|
81
|
+
...props
|
|
82
|
+
}, ref) => {
|
|
83
|
+
const {
|
|
84
|
+
mode,
|
|
85
|
+
isDark,
|
|
86
|
+
setMode
|
|
87
|
+
} = (0, _ThemeProvider.useTheme)();
|
|
88
|
+
|
|
89
|
+
// Cycle through themes: light → dark → system → light
|
|
90
|
+
const cycleTheme = () => {
|
|
91
|
+
const nextMode = mode === 'light' ? 'dark' : mode === 'dark' ? 'system' : 'light';
|
|
92
|
+
setMode(nextMode);
|
|
93
|
+
};
|
|
94
|
+
if (variant === 'segmented') {
|
|
95
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(View, {
|
|
96
|
+
ref: ref,
|
|
97
|
+
className: (0, _utils.cn)('flex-row bg-muted dark:bg-muted rounded-lg p-1', className),
|
|
98
|
+
...props,
|
|
99
|
+
children: ['light', 'dark', 'system'].map(themeMode => {
|
|
100
|
+
const isActive = mode === themeMode;
|
|
101
|
+
const IconComponent = themeMode === 'light' ? _lucideReactNative.Sun : themeMode === 'dark' ? _lucideReactNative.Moon : _lucideReactNative.Monitor;
|
|
102
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Pressable, {
|
|
103
|
+
onPress: () => setMode(themeMode),
|
|
104
|
+
className: (0, _utils.cn)('flex-1 flex-row items-center justify-center rounded-md px-3 py-2 transition-colors', isActive ? 'bg-background dark:bg-background shadow-sm' : 'active:bg-background/50 dark:active:bg-background/50'),
|
|
105
|
+
role: "button",
|
|
106
|
+
accessibilityLabel: `Switch to ${themeMode} theme`,
|
|
107
|
+
accessibilityState: {
|
|
108
|
+
selected: isActive
|
|
109
|
+
},
|
|
110
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
111
|
+
as: IconComponent,
|
|
112
|
+
size: 16,
|
|
113
|
+
className: (0, _utils.cn)(isActive ? 'text-foreground dark:text-foreground' : 'text-muted-foreground dark:text-muted-foreground')
|
|
114
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
115
|
+
className: (0, _utils.cn)('ml-2 text-sm font-medium capitalize', isActive ? 'text-foreground dark:text-foreground' : 'text-muted-foreground dark:text-muted-foreground'),
|
|
116
|
+
children: themeMode
|
|
117
|
+
})]
|
|
118
|
+
}, themeMode);
|
|
119
|
+
})
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (variant === 'button') {
|
|
123
|
+
const IconComponent = isDark ? _lucideReactNative.Moon : _lucideReactNative.Sun;
|
|
124
|
+
const label = mode === 'system' ? 'System' : isDark ? 'Dark' : 'Light';
|
|
125
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Pressable, {
|
|
126
|
+
ref: ref,
|
|
127
|
+
onPress: cycleTheme,
|
|
128
|
+
className: (0, _utils.cn)('flex-row items-center justify-center rounded-md px-4 py-2', 'bg-secondary dark:bg-secondary active:opacity-80', className),
|
|
129
|
+
role: "button",
|
|
130
|
+
accessibilityLabel: `Current theme: ${label}. Tap to change.`,
|
|
131
|
+
...props,
|
|
132
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
133
|
+
as: IconComponent,
|
|
134
|
+
size: 16,
|
|
135
|
+
className: "text-secondary-foreground dark:text-secondary-foreground"
|
|
136
|
+
}), showLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
137
|
+
className: "ml-2 text-sm font-medium text-secondary-foreground dark:text-secondary-foreground",
|
|
138
|
+
children: label
|
|
139
|
+
})]
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Default: icon variant
|
|
144
|
+
const IconComponent = mode === 'system' ? _lucideReactNative.Monitor : isDark ? _lucideReactNative.Moon : _lucideReactNative.Sun;
|
|
145
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Pressable, {
|
|
146
|
+
ref: ref,
|
|
147
|
+
onPress: cycleTheme,
|
|
148
|
+
className: (0, _utils.cn)('h-10 w-10 items-center justify-center rounded-md', 'active:bg-accent dark:active:bg-accent', 'web:hover:bg-accent/50 dark:web:hover:bg-accent/50', 'web:transition-colors', className),
|
|
149
|
+
role: "button",
|
|
150
|
+
accessibilityLabel: `Current theme: ${mode}. Tap to cycle themes.`,
|
|
151
|
+
...props,
|
|
152
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
153
|
+
as: IconComponent,
|
|
154
|
+
size: 20,
|
|
155
|
+
className: "text-foreground dark:text-foreground"
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
ThemeToggle.displayName = 'ThemeToggle';
|
|
160
|
+
//# sourceMappingURL=Theme-Toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_nativewind","_lucideReactNative","_utils","_ThemeProvider","_Icon","_Text","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","View","cssInterop","RNView","className","Pressable","RNPressable","ThemeToggle","exports","forwardRef","variant","showLabel","props","ref","mode","isDark","setMode","useTheme","cycleTheme","nextMode","jsx","cn","children","map","themeMode","isActive","IconComponent","Sun","Moon","Monitor","jsxs","onPress","role","accessibilityLabel","accessibilityState","selected","Icon","as","size","Text","label","displayName"],"sourceRoot":"../../../../src","sources":["components/ui/Theme-Toggle.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Toast = Toast;
|
|
7
|
+
exports.ToastDescription = ToastDescription;
|
|
8
|
+
exports.ToastTitle = ToastTitle;
|
|
9
|
+
var _utils = require("../../lib/utils");
|
|
10
|
+
var _Text = require("./Text");
|
|
11
|
+
var _Icon = require("./Icon");
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _reactNative = require("react-native");
|
|
14
|
+
var _nativewind = require("nativewind");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
const View = (0, _nativewind.cssInterop)(_reactNative.View, {
|
|
18
|
+
className: 'style'
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Toast notification component
|
|
23
|
+
*
|
|
24
|
+
* Displays temporary messages or notifications with optional icons.
|
|
25
|
+
* Supports default and destructive variants for different message types.
|
|
26
|
+
*
|
|
27
|
+
* @component
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* <Toast icon={CheckCircle}>
|
|
31
|
+
* <ToastTitle>
|
|
32
|
+
* <Text>Success</Text>
|
|
33
|
+
* </ToastTitle>
|
|
34
|
+
* <ToastDescription>
|
|
35
|
+
* <Text>Your changes have been saved</Text>
|
|
36
|
+
* </ToastDescription>
|
|
37
|
+
* </Toast>
|
|
38
|
+
*
|
|
39
|
+
* <Toast variant="destructive" icon={AlertCircle}>
|
|
40
|
+
* <ToastTitle>
|
|
41
|
+
* <Text>Error</Text>
|
|
42
|
+
* </ToastTitle>
|
|
43
|
+
* <ToastDescription>
|
|
44
|
+
* <Text>Failed to save changes</Text>
|
|
45
|
+
* </ToastDescription>
|
|
46
|
+
* </Toast>
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @accessibility
|
|
50
|
+
* - Announces messages to screen readers
|
|
51
|
+
* - Proper role for notifications
|
|
52
|
+
*/
|
|
53
|
+
function Toast({
|
|
54
|
+
className,
|
|
55
|
+
variant,
|
|
56
|
+
children,
|
|
57
|
+
icon,
|
|
58
|
+
iconClassName,
|
|
59
|
+
...props
|
|
60
|
+
}) {
|
|
61
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.TextClassContext.Provider, {
|
|
62
|
+
value: (0, _utils.cn)('text-sm text-foreground', variant === 'destructive' && 'text-destructive', className),
|
|
63
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(View, {
|
|
64
|
+
className: (0, _utils.cn)('bg-background border-border relative flex-row items-start gap-3 rounded-lg border p-4 shadow-lg shadow-black/10', variant === 'destructive' && 'border-destructive', className),
|
|
65
|
+
...props,
|
|
66
|
+
children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
67
|
+
as: icon,
|
|
68
|
+
className: (0, _utils.cn)('size-5 shrink-0', variant === 'destructive' && 'text-destructive', iconClassName)
|
|
69
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(View, {
|
|
70
|
+
className: "flex-1 gap-1",
|
|
71
|
+
children: children
|
|
72
|
+
})]
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Toast title component
|
|
79
|
+
*
|
|
80
|
+
* @component
|
|
81
|
+
*/
|
|
82
|
+
function ToastTitle({
|
|
83
|
+
className,
|
|
84
|
+
...props
|
|
85
|
+
}) {
|
|
86
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
87
|
+
className: (0, _utils.cn)('font-semibold leading-none tracking-tight', className),
|
|
88
|
+
...props
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Toast description component
|
|
94
|
+
*
|
|
95
|
+
* @component
|
|
96
|
+
*/
|
|
97
|
+
function ToastDescription({
|
|
98
|
+
className,
|
|
99
|
+
...props
|
|
100
|
+
}) {
|
|
101
|
+
const textClass = React.useContext(_Text.TextClassContext);
|
|
102
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
103
|
+
className: (0, _utils.cn)('text-muted-foreground text-sm', textClass?.includes('text-destructive') && 'text-destructive/90', className),
|
|
104
|
+
...props
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","_Text","_Icon","React","_interopRequireWildcard","_reactNative","_nativewind","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","View","cssInterop","RNView","className","Toast","variant","children","icon","iconClassName","props","jsx","TextClassContext","Provider","value","cn","jsxs","Icon","as","ToastTitle","Text","ToastDescription","textClass","useContext","includes"],"sourceRoot":"../../../../src","sources":["components/ui/Toast.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAAwC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAI,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAExC,MAAMkB,IAAI,GAAG,IAAAC,sBAAU,EAACC,iBAAM,EAAE;EAC9BC,SAAS,EAAE;AACb,CAAC,CAA6B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAAC;EACbD,SAAS;EACTE,OAAO;EACPC,QAAQ;EACRC,IAAI;EACJC,aAAa;EACb,GAAGC;AAOH,CAAC,EAAE;EACH,oBACE,IAAA7B,WAAA,CAAA8B,GAAA,EAACpC,KAAA,CAAAqC,gBAAgB,CAACC,QAAQ;IACxBC,KAAK,EAAE,IAAAC,SAAE,EACP,yBAAyB,EACzBT,OAAO,KAAK,aAAa,IAAI,kBAAkB,EAC/CF,SACF,CAAE;IAAAG,QAAA,eAEF,IAAA1B,WAAA,CAAAmC,IAAA,EAACf,IAAI;MACHG,SAAS,EAAE,IAAAW,SAAE,EACX,iHAAiH,EACjHT,OAAO,KAAK,aAAa,IAAI,oBAAoB,EACjDF,SACF,CAAE;MAAA,GACEM,KAAK;MAAAH,QAAA,GAERC,IAAI,iBACH,IAAA3B,WAAA,CAAA8B,GAAA,EAACnC,KAAA,CAAAyC,IAAI;QACHC,EAAE,EAAEV,IAAK;QACTJ,SAAS,EAAE,IAAAW,SAAE,EACX,iBAAiB,EACjBT,OAAO,KAAK,aAAa,IAAI,kBAAkB,EAC/CG,aACF;MAAE,CACH,CACF,eACD,IAAA5B,WAAA,CAAA8B,GAAA,EAACV,IAAI;QAACG,SAAS,EAAC,cAAc;QAAAG,QAAA,EAAEA;MAAQ,CAAO,CAAC;IAAA,CAC5C;EAAC,CACkB,CAAC;AAEhC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASY,UAAUA,CAAC;EAClBf,SAAS;EACT,GAAGM;AAC0D,CAAC,EAAE;EAChE,oBACE,IAAA7B,WAAA,CAAA8B,GAAA,EAACpC,KAAA,CAAA6C,IAAI;IACHhB,SAAS,EAAE,IAAAW,SAAE,EAAC,2CAA2C,EAAEX,SAAS,CAAE;IAAA,GAClEM;EAAK,CACV,CAAC;AAEN;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASW,gBAAgBA,CAAC;EACxBjB,SAAS;EACT,GAAGM;AAC0D,CAAC,EAAE;EAChE,MAAMY,SAAS,GAAG7C,KAAK,CAAC8C,UAAU,CAACX,sBAAgB,CAAC;EACpD,oBACE,IAAA/B,WAAA,CAAA8B,GAAA,EAACpC,KAAA,CAAA6C,IAAI;IACHhB,SAAS,EAAE,IAAAW,SAAE,EACX,+BAA+B,EAC/BO,SAAS,EAAEE,QAAQ,CAAC,kBAAkB,CAAC,IAAI,qBAAqB,EAChEpB,SACF,CAAE;IAAA,GACEM;EAAK,CACV,CAAC;AAEN","ignoreList":[]}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToggleGroup = ToggleGroup;
|
|
7
|
+
exports.ToggleGroupIcon = ToggleGroupIcon;
|
|
8
|
+
exports.ToggleGroupItem = ToggleGroupItem;
|
|
9
|
+
var _Icon = require("./Icon");
|
|
10
|
+
var _Text = require("./Text");
|
|
11
|
+
var _Toggle = require("./Toggle");
|
|
12
|
+
var _utils = require("../../lib/utils");
|
|
13
|
+
var ToggleGroupPrimitive = _interopRequireWildcard(require("@rn-primitives/toggle-group"));
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _reactNative = require("react-native");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
/**
|
|
19
|
+
* Context for sharing variant and size props across toggle group items
|
|
20
|
+
*/const ToggleGroupContext = /*#__PURE__*/React.createContext(null);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Toggle group component for grouping related toggle buttons
|
|
24
|
+
*
|
|
25
|
+
* Allows single or multiple selection among a set of toggle buttons.
|
|
26
|
+
* Supports both outline and default variants.
|
|
27
|
+
*
|
|
28
|
+
* @component
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* <ToggleGroup type="single" value={alignment} onValueChange={setAlignment}>
|
|
32
|
+
* <ToggleGroupItem value="left" isFirst>
|
|
33
|
+
* <ToggleGroupIcon as={AlignLeft} />
|
|
34
|
+
* </ToggleGroupItem>
|
|
35
|
+
* <ToggleGroupItem value="center">
|
|
36
|
+
* <ToggleGroupIcon as={AlignCenter} />
|
|
37
|
+
* </ToggleGroupItem>
|
|
38
|
+
* <ToggleGroupItem value="right" isLast>
|
|
39
|
+
* <ToggleGroupIcon as={AlignRight} />
|
|
40
|
+
* </ToggleGroupItem>
|
|
41
|
+
* </ToggleGroup>
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @accessibility
|
|
45
|
+
* - Uses proper ARIA attributes for grouped toggles
|
|
46
|
+
* - Keyboard navigation support
|
|
47
|
+
*/
|
|
48
|
+
function ToggleGroup({
|
|
49
|
+
className,
|
|
50
|
+
variant,
|
|
51
|
+
size,
|
|
52
|
+
children,
|
|
53
|
+
...props
|
|
54
|
+
}) {
|
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToggleGroupPrimitive.Root, {
|
|
56
|
+
className: (0, _utils.cn)('flex flex-row items-center rounded-md shadow-none', _reactNative.Platform.select({
|
|
57
|
+
web: 'w-fit'
|
|
58
|
+
}), variant === 'outline' && 'shadow-sm shadow-black/5', className),
|
|
59
|
+
...props,
|
|
60
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ToggleGroupContext.Provider, {
|
|
61
|
+
value: {
|
|
62
|
+
variant,
|
|
63
|
+
size
|
|
64
|
+
},
|
|
65
|
+
children: children
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Hook to access toggle group context
|
|
72
|
+
*
|
|
73
|
+
* @throws Error if used outside of ToggleGroup component
|
|
74
|
+
*/
|
|
75
|
+
function useToggleGroupContext() {
|
|
76
|
+
const context = React.useContext(ToggleGroupContext);
|
|
77
|
+
if (context === null) {
|
|
78
|
+
throw new Error('ToggleGroup compound components cannot be rendered outside the ToggleGroup component');
|
|
79
|
+
}
|
|
80
|
+
return context;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Individual toggle item within a toggle group
|
|
85
|
+
*
|
|
86
|
+
* @component
|
|
87
|
+
*/
|
|
88
|
+
function ToggleGroupItem({
|
|
89
|
+
className,
|
|
90
|
+
children,
|
|
91
|
+
variant,
|
|
92
|
+
size,
|
|
93
|
+
isFirst,
|
|
94
|
+
isLast,
|
|
95
|
+
...props
|
|
96
|
+
}) {
|
|
97
|
+
const context = useToggleGroupContext();
|
|
98
|
+
const {
|
|
99
|
+
value
|
|
100
|
+
} = ToggleGroupPrimitive.useRootContext();
|
|
101
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.TextClassContext.Provider, {
|
|
102
|
+
value: (0, _utils.cn)('text-sm text-foreground font-medium', ToggleGroupPrimitive.utils.getIsSelected(value, props.value) ? 'text-accent-foreground' : _reactNative.Platform.select({
|
|
103
|
+
web: 'group-hover:text-muted-foreground'
|
|
104
|
+
})),
|
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ToggleGroupPrimitive.Item, {
|
|
106
|
+
className: (0, _utils.cn)((0, _Toggle.toggleVariants)({
|
|
107
|
+
variant: context.variant || variant,
|
|
108
|
+
size: context.size || size
|
|
109
|
+
}), props.disabled && 'opacity-50', ToggleGroupPrimitive.utils.getIsSelected(value, props.value) && 'bg-accent', 'min-w-0 shrink-0 rounded-none shadow-none', isFirst && 'rounded-l-md', isLast && 'rounded-r-md', (context.variant === 'outline' || variant === 'outline') && 'border-l-0', (context.variant === 'outline' || variant === 'outline') && isFirst && 'border-l', _reactNative.Platform.select({
|
|
110
|
+
web: 'flex-1 focus:z-10 focus-visible:z-10'
|
|
111
|
+
}), className),
|
|
112
|
+
...props,
|
|
113
|
+
children: children
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Icon component for use within toggle group items
|
|
120
|
+
*
|
|
121
|
+
* @component
|
|
122
|
+
*/
|
|
123
|
+
function ToggleGroupIcon({
|
|
124
|
+
className,
|
|
125
|
+
...props
|
|
126
|
+
}) {
|
|
127
|
+
const textClass = React.useContext(_Text.TextClassContext);
|
|
128
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
129
|
+
className: (0, _utils.cn)('size-4 shrink-0', textClass, className),
|
|
130
|
+
...props
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=Toggle-Group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Icon","require","_Text","_Toggle","_utils","ToggleGroupPrimitive","_interopRequireWildcard","React","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToggleGroupContext","createContext","ToggleGroup","className","variant","size","children","props","jsx","Root","cn","Platform","select","web","Provider","value","useToggleGroupContext","context","useContext","Error","ToggleGroupItem","isFirst","isLast","useRootContext","TextClassContext","utils","getIsSelected","Item","toggleVariants","disabled","ToggleGroupIcon","textClass","Icon"],"sourceRoot":"../../../../src","sources":["components/ui/Toggle-Group.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Toggle = Toggle;
|
|
7
|
+
exports.ToggleIcon = ToggleIcon;
|
|
8
|
+
exports.toggleVariants = void 0;
|
|
9
|
+
var _Icon = require("./Icon");
|
|
10
|
+
var _Text = require("./Text");
|
|
11
|
+
var _utils = require("../../lib/utils");
|
|
12
|
+
var TogglePrimitive = _interopRequireWildcard(require("@rn-primitives/toggle"));
|
|
13
|
+
var _classVarianceAuthority = require("class-variance-authority");
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _reactNative = require("react-native");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
/**
|
|
19
|
+
* Toggle button style variants using class-variance-authority
|
|
20
|
+
*
|
|
21
|
+
* @variant default - Standard toggle with transparent background
|
|
22
|
+
* @variant outline - Toggle with border and background
|
|
23
|
+
*
|
|
24
|
+
* @size default - Standard size (40px/36px)
|
|
25
|
+
* @size sm - Small size (36px/32px)
|
|
26
|
+
* @size lg - Large size (44px/40px)
|
|
27
|
+
*/const toggleVariants = exports.toggleVariants = (0, _classVarianceAuthority.cva)((0, _utils.cn)('active:bg-muted group flex flex-row items-center justify-center gap-2 rounded-md', _reactNative.Platform.select({
|
|
28
|
+
web: 'hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex cursor-default whitespace-nowrap outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:pointer-events-none [&_svg]:pointer-events-none'
|
|
29
|
+
})), {
|
|
30
|
+
variants: {
|
|
31
|
+
variant: {
|
|
32
|
+
default: 'bg-transparent',
|
|
33
|
+
outline: (0, _utils.cn)('border-input active:bg-accent border bg-transparent shadow-sm shadow-black/5', _reactNative.Platform.select({
|
|
34
|
+
web: 'hover:bg-accent hover:text-accent-foreground'
|
|
35
|
+
}))
|
|
36
|
+
},
|
|
37
|
+
size: {
|
|
38
|
+
default: 'h-10 min-w-10 px-2.5 sm:h-9 sm:min-w-9 sm:px-2',
|
|
39
|
+
sm: 'h-9 min-w-9 px-2 sm:h-8 sm:min-w-8 sm:px-1.5',
|
|
40
|
+
lg: 'h-11 min-w-11 px-3 sm:h-10 sm:min-w-10 sm:px-2.5'
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
defaultVariants: {
|
|
44
|
+
variant: 'default',
|
|
45
|
+
size: 'default'
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Toggle button component for on/off states
|
|
51
|
+
*
|
|
52
|
+
* A two-state button that can be toggled between pressed and unpressed states.
|
|
53
|
+
* Supports multiple variants and sizes.
|
|
54
|
+
*
|
|
55
|
+
* @component
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* <Toggle pressed={isBold} onPressedChange={setIsBold}>
|
|
59
|
+
* <ToggleIcon as={Bold} />
|
|
60
|
+
* <Text>Bold</Text>
|
|
61
|
+
* </Toggle>
|
|
62
|
+
*
|
|
63
|
+
* <Toggle variant="outline" size="sm">
|
|
64
|
+
* <ToggleIcon as={Italic} />
|
|
65
|
+
* </Toggle>
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @accessibility
|
|
69
|
+
* - Uses proper ARIA pressed state
|
|
70
|
+
* - Disabled state prevents interaction
|
|
71
|
+
* - Focus visible states on web
|
|
72
|
+
*/
|
|
73
|
+
function Toggle({
|
|
74
|
+
className,
|
|
75
|
+
variant,
|
|
76
|
+
size,
|
|
77
|
+
...props
|
|
78
|
+
}) {
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.TextClassContext.Provider, {
|
|
80
|
+
value: (0, _utils.cn)('text-sm text-foreground font-medium', props.pressed ? 'text-accent-foreground' : _reactNative.Platform.select({
|
|
81
|
+
web: 'group-hover:text-muted-foreground'
|
|
82
|
+
}), className),
|
|
83
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TogglePrimitive.Root, {
|
|
84
|
+
className: (0, _utils.cn)(toggleVariants({
|
|
85
|
+
variant,
|
|
86
|
+
size
|
|
87
|
+
}), props.disabled && 'opacity-50', props.pressed && 'bg-accent', className),
|
|
88
|
+
...props
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Icon component for use within Toggle buttons
|
|
95
|
+
*
|
|
96
|
+
* Automatically inherits text styling from the toggle context.
|
|
97
|
+
*
|
|
98
|
+
* @component
|
|
99
|
+
*/
|
|
100
|
+
function ToggleIcon({
|
|
101
|
+
className,
|
|
102
|
+
...props
|
|
103
|
+
}) {
|
|
104
|
+
const textClass = React.useContext(_Text.TextClassContext);
|
|
105
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
106
|
+
className: (0, _utils.cn)('size-4 shrink-0', textClass, className),
|
|
107
|
+
...props
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=Toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Icon","require","_Text","_utils","TogglePrimitive","_interopRequireWildcard","_classVarianceAuthority","React","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toggleVariants","exports","cva","cn","Platform","select","web","variants","variant","outline","size","sm","lg","defaultVariants","Toggle","className","props","jsx","TextClassContext","Provider","value","pressed","children","Root","disabled","ToggleIcon","textClass","useContext","Icon"],"sourceRoot":"../../../../src","sources":["components/ui/Toggle.tsx"],"mappings":"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","ignoreList":[]}
|