@coze-arch/cli 0.0.10 → 0.0.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/lib/__templates__/expo/AGENTS.md +3 -3
- package/lib/__templates__/expo/README.md +3 -3
- package/lib/__templates__/expo/client/components/Provider.tsx +4 -1
- package/lib/__templates__/expo/client/components/Screen.tsx +4 -1
- package/lib/__templates__/expo/client/eslint.config.mjs +2 -0
- package/lib/__templates__/expo/client/global.css +1 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/accordion.animation.ts +178 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/accordion.constants.ts +62 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/accordion.md +437 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/accordion.styles.ts +95 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/accordion.tsx +340 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/accordion.types.ts +267 -0
- package/lib/__templates__/expo/client/heroui/components/accordion/index.ts +17 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.constants.ts +13 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.hooks.ts +28 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.md +263 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.styles.ts +65 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.tsx +181 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.types.ts +99 -0
- package/lib/__templates__/expo/client/heroui/components/alert/alert.utils.tsx +25 -0
- package/lib/__templates__/expo/client/heroui/components/alert/default-icon.tsx +28 -0
- package/lib/__templates__/expo/client/heroui/components/alert/index.ts +15 -0
- package/lib/__templates__/expo/client/heroui/components/alert/success-icon.tsx +28 -0
- package/lib/__templates__/expo/client/heroui/components/alert/warning-icon.tsx +28 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.animation.ts +123 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.constants.ts +19 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.context.ts +11 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.md +386 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.styles.ts +145 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.tsx +307 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/avatar.types.ts +239 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/index.ts +13 -0
- package/lib/__templates__/expo/client/heroui/components/avatar/person-icon.tsx +23 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.animation.ts +42 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.constants.ts +13 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.md +349 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.styles.ts +66 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.tsx +351 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.types.ts +150 -0
- package/lib/__templates__/expo/client/heroui/components/bottom-sheet/index.ts +16 -0
- package/lib/__templates__/expo/client/heroui/components/button/button.constants.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/button/button.md +381 -0
- package/lib/__templates__/expo/client/heroui/components/button/button.styles.ts +89 -0
- package/lib/__templates__/expo/client/heroui/components/button/button.tsx +284 -0
- package/lib/__templates__/expo/client/heroui/components/button/button.types.ts +175 -0
- package/lib/__templates__/expo/client/heroui/components/button/button.utils.ts +34 -0
- package/lib/__templates__/expo/client/heroui/components/button/index.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/card/card.constants.ts +11 -0
- package/lib/__templates__/expo/client/heroui/components/card/card.md +186 -0
- package/lib/__templates__/expo/client/heroui/components/card/card.styles.ts +35 -0
- package/lib/__templates__/expo/client/heroui/components/card/card.tsx +153 -0
- package/lib/__templates__/expo/client/heroui/components/card/card.types.ts +77 -0
- package/lib/__templates__/expo/client/heroui/components/card/index.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.animation.ts +202 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.md +311 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.styles.ts +105 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.tsx +251 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.types.ts +216 -0
- package/lib/__templates__/expo/client/heroui/components/checkbox/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/chip/chip.animation.ts +18 -0
- package/lib/__templates__/expo/client/heroui/components/chip/chip.constants.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/chip/chip.md +190 -0
- package/lib/__templates__/expo/client/heroui/components/chip/chip.styles.ts +234 -0
- package/lib/__templates__/expo/client/heroui/components/chip/chip.tsx +125 -0
- package/lib/__templates__/expo/client/heroui/components/chip/chip.types.ts +69 -0
- package/lib/__templates__/expo/client/heroui/components/chip/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/close-button/close-button.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/close-button/close-button.md +109 -0
- package/lib/__templates__/expo/client/heroui/components/close-button/close-button.styles.ts +13 -0
- package/lib/__templates__/expo/client/heroui/components/close-button/close-button.tsx +57 -0
- package/lib/__templates__/expo/client/heroui/components/close-button/close-button.types.ts +30 -0
- package/lib/__templates__/expo/client/heroui/components/close-button/index.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.animation.ts +18 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.constants.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.context.ts +14 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.md +241 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.styles.ts +15 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.tsx +245 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/control-field.types.ts +67 -0
- package/lib/__templates__/expo/client/heroui/components/control-field/index.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/description/description.animation.ts +53 -0
- package/lib/__templates__/expo/client/heroui/components/description/description.constants.ts +30 -0
- package/lib/__templates__/expo/client/heroui/components/description/description.md +129 -0
- package/lib/__templates__/expo/client/heroui/components/description/description.styles.ts +25 -0
- package/lib/__templates__/expo/client/heroui/components/description/description.tsx +81 -0
- package/lib/__templates__/expo/client/heroui/components/description/description.types.ts +77 -0
- package/lib/__templates__/expo/client/heroui/components/description/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/dialog.animation.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/dialog.constants.ts +13 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/dialog.md +288 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/dialog.styles.ts +77 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/dialog.tsx +379 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/dialog.types.ts +199 -0
- package/lib/__templates__/expo/client/heroui/components/dialog/index.ts +12 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/field-error.animation.ts +50 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/field-error.constants.ts +31 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/field-error.md +204 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/field-error.styles.ts +23 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/field-error.tsx +91 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/field-error.types.ts +79 -0
- package/lib/__templates__/expo/client/heroui/components/field-error/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/input/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/input/input.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/input/input.md +193 -0
- package/lib/__templates__/expo/client/heroui/components/input/input.styles.ts +51 -0
- package/lib/__templates__/expo/client/heroui/components/input/input.tsx +96 -0
- package/lib/__templates__/expo/client/heroui/components/input/input.types.ts +44 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/index.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/input-group.animation.ts +14 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/input-group.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/input-group.md +197 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/input-group.styles.ts +31 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/input-group.tsx +239 -0
- package/lib/__templates__/expo/client/heroui/components/input-group/input-group.types.ts +98 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/index.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.animation.ts +199 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.constants.ts +12 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.md +376 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.styles.ts +68 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.tsx +414 -0
- package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.types.ts +275 -0
- package/lib/__templates__/expo/client/heroui/components/label/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/label/label.animation.ts +18 -0
- package/lib/__templates__/expo/client/heroui/components/label/label.constants.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/label/label.md +187 -0
- package/lib/__templates__/expo/client/heroui/components/label/label.styles.ts +44 -0
- package/lib/__templates__/expo/client/heroui/components/label/label.tsx +172 -0
- package/lib/__templates__/expo/client/heroui/components/label/label.types.ts +86 -0
- package/lib/__templates__/expo/client/heroui/components/list-group/index.ts +17 -0
- package/lib/__templates__/expo/client/heroui/components/list-group/list-group.constants.ts +17 -0
- package/lib/__templates__/expo/client/heroui/components/list-group/list-group.md +387 -0
- package/lib/__templates__/expo/client/heroui/components/list-group/list-group.styles.ts +40 -0
- package/lib/__templates__/expo/client/heroui/components/list-group/list-group.tsx +206 -0
- package/lib/__templates__/expo/client/heroui/components/list-group/list-group.types.ts +132 -0
- package/lib/__templates__/expo/client/heroui/components/menu/index.ts +38 -0
- package/lib/__templates__/expo/client/heroui/components/menu/menu.animation.ts +121 -0
- package/lib/__templates__/expo/client/heroui/components/menu/menu.constants.ts +37 -0
- package/lib/__templates__/expo/client/heroui/components/menu/menu.md +620 -0
- package/lib/__templates__/expo/client/heroui/components/menu/menu.styles.ts +107 -0
- package/lib/__templates__/expo/client/heroui/components/menu/menu.tsx +664 -0
- package/lib/__templates__/expo/client/heroui/components/menu/menu.types.ts +394 -0
- package/lib/__templates__/expo/client/heroui/components/popover/arrow-svg.tsx +180 -0
- package/lib/__templates__/expo/client/heroui/components/popover/index.ts +18 -0
- package/lib/__templates__/expo/client/heroui/components/popover/popover.animation.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/popover/popover.constants.ts +34 -0
- package/lib/__templates__/expo/client/heroui/components/popover/popover.md +508 -0
- package/lib/__templates__/expo/client/heroui/components/popover/popover.styles.ts +98 -0
- package/lib/__templates__/expo/client/heroui/components/popover/popover.tsx +624 -0
- package/lib/__templates__/expo/client/heroui/components/popover/popover.types.ts +290 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.animation.ts +450 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.constants.ts +12 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.md +328 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.styles.ts +84 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.tsx +330 -0
- package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.types.ts +386 -0
- package/lib/__templates__/expo/client/heroui/components/radio/index.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/radio/radio.animation.ts +92 -0
- package/lib/__templates__/expo/client/heroui/components/radio/radio.constants.ts +11 -0
- package/lib/__templates__/expo/client/heroui/components/radio/radio.md +339 -0
- package/lib/__templates__/expo/client/heroui/components/radio/radio.styles.ts +80 -0
- package/lib/__templates__/expo/client/heroui/components/radio/radio.tsx +217 -0
- package/lib/__templates__/expo/client/heroui/components/radio/radio.types.ts +106 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/index.ts +9 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.animation.ts +20 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.constants.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.context.ts +14 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.md +273 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.styles.ts +15 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.tsx +220 -0
- package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.types.ts +64 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/index.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.animation.ts +132 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.constants.ts +21 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.md +206 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.styles.ts +52 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.tsx +262 -0
- package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.types.ts +121 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/index.ts +17 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-field.animation.ts +18 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-field.constants.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-field.md +231 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-field.styles.ts +35 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-field.tsx +253 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-field.types.ts +160 -0
- package/lib/__templates__/expo/client/heroui/components/search-field/search-icon.tsx +37 -0
- package/lib/__templates__/expo/client/heroui/components/select/index.ts +28 -0
- package/lib/__templates__/expo/client/heroui/components/select/select.animation.ts +92 -0
- package/lib/__templates__/expo/client/heroui/components/select/select.constants.ts +53 -0
- package/lib/__templates__/expo/client/heroui/components/select/select.md +796 -0
- package/lib/__templates__/expo/client/heroui/components/select/select.styles.ts +149 -0
- package/lib/__templates__/expo/client/heroui/components/select/select.tsx +828 -0
- package/lib/__templates__/expo/client/heroui/components/select/select.types.ts +438 -0
- package/lib/__templates__/expo/client/heroui/components/separator/index.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/separator/separator.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/separator/separator.md +106 -0
- package/lib/__templates__/expo/client/heroui/components/separator/separator.styles.ts +50 -0
- package/lib/__templates__/expo/client/heroui/components/separator/separator.tsx +62 -0
- package/lib/__templates__/expo/client/heroui/components/separator/separator.types.ts +40 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/index.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/linear-gradient.tsx +45 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.animation.ts +351 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.constants.ts +39 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.md +208 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.styles.ts +49 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.tsx +183 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.types.ts +191 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton-group/index.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.constants.ts +7 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.md +247 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.styles.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.tsx +94 -0
- package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.types.ts +28 -0
- package/lib/__templates__/expo/client/heroui/components/slider/index.ts +23 -0
- package/lib/__templates__/expo/client/heroui/components/slider/slider.animation.ts +87 -0
- package/lib/__templates__/expo/client/heroui/components/slider/slider.constants.ts +24 -0
- package/lib/__templates__/expo/client/heroui/components/slider/slider.md +348 -0
- package/lib/__templates__/expo/client/heroui/components/slider/slider.styles.ts +85 -0
- package/lib/__templates__/expo/client/heroui/components/slider/slider.tsx +413 -0
- package/lib/__templates__/expo/client/heroui/components/slider/slider.types.ts +120 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/index.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner-icon.tsx +49 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner.animation.ts +150 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner.constants.ts +36 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner.md +199 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner.styles.ts +44 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner.tsx +198 -0
- package/lib/__templates__/expo/client/heroui/components/spinner/spinner.types.ts +158 -0
- package/lib/__templates__/expo/client/heroui/components/surface/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/surface/surface.animation.ts +18 -0
- package/lib/__templates__/expo/client/heroui/components/surface/surface.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/surface/surface.md +136 -0
- package/lib/__templates__/expo/client/heroui/components/surface/surface.styles.ts +28 -0
- package/lib/__templates__/expo/client/heroui/components/surface/surface.tsx +66 -0
- package/lib/__templates__/expo/client/heroui/components/surface/surface.types.ts +46 -0
- package/lib/__templates__/expo/client/heroui/components/switch/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/switch/switch.animation.ts +243 -0
- package/lib/__templates__/expo/client/heroui/components/switch/switch.constants.ts +26 -0
- package/lib/__templates__/expo/client/heroui/components/switch/switch.md +334 -0
- package/lib/__templates__/expo/client/heroui/components/switch/switch.styles.ts +83 -0
- package/lib/__templates__/expo/client/heroui/components/switch/switch.tsx +280 -0
- package/lib/__templates__/expo/client/heroui/components/switch/switch.types.ts +208 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/index.ts +8 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.animation.ts +246 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.constants.ts +17 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.context.ts +28 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.md +565 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.styles.ts +168 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.tsx +445 -0
- package/lib/__templates__/expo/client/heroui/components/tabs/tabs.types.ts +341 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/index.ts +15 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.animation.ts +17 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.constants.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.md +404 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.styles.ts +74 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.tsx +325 -0
- package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.types.ts +125 -0
- package/lib/__templates__/expo/client/heroui/components/text-area/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/text-area/text-area.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/text-area/text-area.md +133 -0
- package/lib/__templates__/expo/client/heroui/components/text-area/text-area.styles.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/text-area/text-area.tsx +44 -0
- package/lib/__templates__/expo/client/heroui/components/text-area/text-area.types.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/text-field.animation.ts +20 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/text-field.constants.ts +6 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/text-field.md +256 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/text-field.styles.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/text-field.tsx +82 -0
- package/lib/__templates__/expo/client/heroui/components/text-field/text-field.types.ts +56 -0
- package/lib/__templates__/expo/client/heroui/components/toast/index.ts +4 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.animation.ts +381 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.constants.ts +10 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.hooks.ts +73 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.md +420 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.styles.ts +89 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.tsx +472 -0
- package/lib/__templates__/expo/client/heroui/components/toast/toast.types.ts +320 -0
- package/lib/__templates__/expo/client/heroui/docs.md +47 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/hooks/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/hooks/use-is-on-surface.ts +8 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/hooks/use-theme-color.ts +137 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/utils/cn.ts +12 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/utils/color-kit/index.ts +2395 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/utils/color-kit/types.ts +212 -0
- package/lib/__templates__/expo/client/heroui/helpers/external/utils/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/animated-check-icon.tsx +78 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/bottom-sheet-content-container.tsx +97 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/bottom-sheet-content.tsx +158 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/check-icon.tsx +28 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/chevron-down-icon.tsx +28 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/chevron-right-icon.tsx +29 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/close-icon.tsx +29 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/full-window-overlay.tsx +48 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/hero-text.tsx +71 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/components/index.ts +9 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/animation-settings-context.ts +19 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/bottom-sheet-is-dragging-context.ts +11 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/form-field-context.ts +36 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/index.ts +14 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-augmented-ref.ts +32 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-bottom-sheet-aware-handlers.ts +94 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-bottom-sheet-gesture-handlers.ts +52 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-combined-animation-disabled-state.ts +49 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-controllable-state.ts +124 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-dev-info.ts +38 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-keyboard-status.ts +22 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-bottom-sheet-content-animation.ts +67 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-dialog-content-animation.ts +296 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-overlay-animation.ts +91 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-popover-content-animation.ts +199 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-root-animation.ts +26 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-relative-position.ts +353 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-resolved-style-property.ts +118 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/types/animation.ts +131 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/types/bottom-sheet.ts +99 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/types/index.ts +5 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/types/misc.ts +10 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/types/primitives.ts +146 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/types/theme.ts +18 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/animation.ts +266 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/children-to-string.ts +117 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/combine-styles.ts +17 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/create-context.ts +60 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/ease-gradient/create-interpolation.ts +35 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/ease-gradient/index.ts +97 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/get-element-by-display-name.ts +15 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/get-element-with-default.ts +17 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/has-prop.ts +18 -0
- package/lib/__templates__/expo/client/heroui/helpers/internal/utils/index.ts +8 -0
- package/lib/__templates__/expo/client/heroui/index.tsx +51 -0
- package/lib/__templates__/expo/client/heroui/primitives/README.md +27 -0
- package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.tsx +270 -0
- package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.types.ts +117 -0
- package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.utils.ts +12 -0
- package/lib/__templates__/expo/client/heroui/primitives/accordion/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/activity-indicator.tsx +50 -0
- package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/activity-indicator.types.ts +24 -0
- package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/alert/alert.tsx +124 -0
- package/lib/__templates__/expo/client/heroui/primitives/alert/alert.types.ts +87 -0
- package/lib/__templates__/expo/client/heroui/primitives/alert/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.tsx +171 -0
- package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.types.ts +62 -0
- package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.utils.ts +102 -0
- package/lib/__templates__/expo/client/heroui/primitives/avatar/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/bottom-sheet.tsx +235 -0
- package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/bottom-sheet.types.ts +127 -0
- package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/checkbox/checkbox.tsx +119 -0
- package/lib/__templates__/expo/client/heroui/primitives/checkbox/checkbox.types.ts +37 -0
- package/lib/__templates__/expo/client/heroui/primitives/checkbox/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/dialog/dialog.tsx +274 -0
- package/lib/__templates__/expo/client/heroui/primitives/dialog/dialog.types.ts +129 -0
- package/lib/__templates__/expo/client/heroui/primitives/dialog/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/input-otp/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.tsx +431 -0
- package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.types.ts +169 -0
- package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.utils.ts +31 -0
- package/lib/__templates__/expo/client/heroui/primitives/label/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/label/label.tsx +24 -0
- package/lib/__templates__/expo/client/heroui/primitives/label/label.types.ts +39 -0
- package/lib/__templates__/expo/client/heroui/primitives/menu/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/menu/menu.tsx +765 -0
- package/lib/__templates__/expo/client/heroui/primitives/menu/menu.types.ts +401 -0
- package/lib/__templates__/expo/client/heroui/primitives/popover/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/popover/popover.tsx +382 -0
- package/lib/__templates__/expo/client/heroui/primitives/popover/popover.types.ts +201 -0
- package/lib/__templates__/expo/client/heroui/primitives/portal/index.ts +1 -0
- package/lib/__templates__/expo/client/heroui/primitives/portal/portal.tsx +126 -0
- package/lib/__templates__/expo/client/heroui/primitives/radio/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/radio/radio.tsx +133 -0
- package/lib/__templates__/expo/client/heroui/primitives/radio/radio.types.ts +47 -0
- package/lib/__templates__/expo/client/heroui/primitives/radio-group/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/radio-group/radio-group.tsx +114 -0
- package/lib/__templates__/expo/client/heroui/primitives/radio-group/radio-group.types.ts +65 -0
- package/lib/__templates__/expo/client/heroui/primitives/select/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/select/select.tsx +705 -0
- package/lib/__templates__/expo/client/heroui/primitives/select/select.types.ts +409 -0
- package/lib/__templates__/expo/client/heroui/primitives/select/select.utils.ts +35 -0
- package/lib/__templates__/expo/client/heroui/primitives/slider/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/primitives/slider/slider.tsx +464 -0
- package/lib/__templates__/expo/client/heroui/primitives/slider/slider.types.ts +208 -0
- package/lib/__templates__/expo/client/heroui/primitives/slider/slider.utils.ts +93 -0
- package/lib/__templates__/expo/client/heroui/primitives/slot/index.ts +1 -0
- package/lib/__templates__/expo/client/heroui/primitives/slot/slot.tsx +122 -0
- package/lib/__templates__/expo/client/heroui/primitives/slot/types.ts +19 -0
- package/lib/__templates__/expo/client/heroui/primitives/slot/utils.ts +96 -0
- package/lib/__templates__/expo/client/heroui/primitives/switch/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/switch/switch.tsx +61 -0
- package/lib/__templates__/expo/client/heroui/primitives/switch/switch.types.ts +55 -0
- package/lib/__templates__/expo/client/heroui/primitives/tabs/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/tabs/tabs.tsx +202 -0
- package/lib/__templates__/expo/client/heroui/primitives/tabs/tabs.types.ts +77 -0
- package/lib/__templates__/expo/client/heroui/primitives/tag-group/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/tag-group/tag-group.tsx +324 -0
- package/lib/__templates__/expo/client/heroui/primitives/tag-group/tag-group.types.ts +119 -0
- package/lib/__templates__/expo/client/heroui/primitives/toast/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/primitives/toast/toast.tsx +138 -0
- package/lib/__templates__/expo/client/heroui/primitives/toast/toast.types.ts +86 -0
- package/lib/__templates__/expo/client/heroui/providers/animation-settings/index.ts +8 -0
- package/lib/__templates__/expo/client/heroui/providers/animation-settings/provider.tsx +47 -0
- package/lib/__templates__/expo/client/heroui/providers/animation-settings/types.ts +27 -0
- package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/provider.tsx +67 -0
- package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/types.ts +114 -0
- package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/provider.tsx +50 -0
- package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/types.ts +39 -0
- package/lib/__templates__/expo/client/heroui/providers/text-component/index.ts +2 -0
- package/lib/__templates__/expo/client/heroui/providers/text-component/provider.tsx +9 -0
- package/lib/__templates__/expo/client/heroui/providers/text-component/types.ts +52 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/index.ts +3 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/insets-container.tsx +87 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/provider.tsx +431 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/reducer.ts +34 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/toast-config.context.ts +27 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/toast-item-renderer.tsx +45 -0
- package/lib/__templates__/expo/client/heroui/providers/toast/types.ts +373 -0
- package/lib/__templates__/expo/client/heroui/styles/index.css +3 -0
- package/lib/__templates__/expo/client/heroui/styles/theme.css +112 -0
- package/lib/__templates__/expo/client/heroui/styles/utilities.css +8 -0
- package/lib/__templates__/expo/client/heroui/styles/variables.css +146 -0
- package/lib/__templates__/expo/client/package.json +4 -1
- package/lib/__templates__/expo/package.json +1 -1
- package/lib/__templates__/expo/pnpm-lock.yaml +68 -0
- package/lib/__templates__/nextjs/AGENTS.md +6 -4
- package/lib/__templates__/nextjs/eslint.config.mjs +9 -0
- package/lib/__templates__/taro/.coze +2 -0
- package/lib/__templates__/taro/.cozeproj/scripts/pack.sh +1 -2
- package/lib/__templates__/taro/config/index.ts +1 -1
- package/lib/__templates__/taro/package.json +1 -0
- package/lib/__templates__/taro/project.config.json +1 -1
- package/lib/cli.js +246 -252
- package/package.json +3 -2
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# Alert
|
|
2
|
+
|
|
3
|
+
Displays important messages and notifications to users with status indicators.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Alert } from '@/heroui';
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Anatomy
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<Alert>
|
|
15
|
+
<Alert.Indicator />
|
|
16
|
+
<Alert.Content>
|
|
17
|
+
<Alert.Title>...</Alert.Title>
|
|
18
|
+
<Alert.Description>...</Alert.Description>
|
|
19
|
+
</Alert.Content>
|
|
20
|
+
</Alert>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
- **Alert**: Main container with `role="alert"` and status-based styling. Provides status context to sub-components via a primitive context.
|
|
24
|
+
- **Alert.Indicator**: Renders a status-appropriate icon by default. Accepts custom children to override the default icon. Supports `iconProps` for customising size and color.
|
|
25
|
+
- **Alert.Content**: Wrapper for the title and description. Provides layout structure for text content.
|
|
26
|
+
- **Alert.Title**: Heading text with status-based color. Connected to root via `aria-labelledby`.
|
|
27
|
+
- **Alert.Description**: Body text rendered with muted color. Connected to root via `aria-describedby`.
|
|
28
|
+
|
|
29
|
+
## Usage
|
|
30
|
+
|
|
31
|
+
### Basic Usage
|
|
32
|
+
|
|
33
|
+
The Alert component uses compound parts to display a notification with an icon, title, and description.
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<Alert>
|
|
37
|
+
<Alert.Indicator />
|
|
38
|
+
<Alert.Content>
|
|
39
|
+
<Alert.Title>New features available</Alert.Title>
|
|
40
|
+
<Alert.Description>
|
|
41
|
+
Check out our latest updates including dark mode support and improved
|
|
42
|
+
accessibility features.
|
|
43
|
+
</Alert.Description>
|
|
44
|
+
</Alert.Content>
|
|
45
|
+
</Alert>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Status Variants
|
|
49
|
+
|
|
50
|
+
Set the `status` prop to control the icon and title color. Available statuses are `default`, `accent`, `success`, `warning`, and `danger`.
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
<Alert status="success">
|
|
54
|
+
<Alert.Indicator />
|
|
55
|
+
<Alert.Content>
|
|
56
|
+
<Alert.Title>Success</Alert.Title>
|
|
57
|
+
<Alert.Description>...</Alert.Description>
|
|
58
|
+
</Alert.Content>
|
|
59
|
+
</Alert>
|
|
60
|
+
|
|
61
|
+
<Alert status="warning">
|
|
62
|
+
<Alert.Indicator />
|
|
63
|
+
<Alert.Content>
|
|
64
|
+
<Alert.Title>Scheduled maintenance</Alert.Title>
|
|
65
|
+
<Alert.Description>...</Alert.Description>
|
|
66
|
+
</Alert.Content>
|
|
67
|
+
</Alert>
|
|
68
|
+
|
|
69
|
+
<Alert status="danger">
|
|
70
|
+
<Alert.Indicator />
|
|
71
|
+
<Alert.Content>
|
|
72
|
+
<Alert.Title>Unable to connect</Alert.Title>
|
|
73
|
+
<Alert.Description>...</Alert.Description>
|
|
74
|
+
</Alert.Content>
|
|
75
|
+
</Alert>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Title Only
|
|
79
|
+
|
|
80
|
+
Omit `Alert.Description` for a compact single-line alert.
|
|
81
|
+
|
|
82
|
+
```tsx
|
|
83
|
+
<Alert status="success" className="items-center">
|
|
84
|
+
<Alert.Indicator className="pt-0" />
|
|
85
|
+
<Alert.Content>
|
|
86
|
+
<Alert.Title>Profile updated successfully</Alert.Title>
|
|
87
|
+
</Alert.Content>
|
|
88
|
+
</Alert>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### With Action Buttons
|
|
92
|
+
|
|
93
|
+
Place additional elements like buttons alongside the content.
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
<Alert status="accent">
|
|
97
|
+
<Alert.Indicator />
|
|
98
|
+
<Alert.Content>
|
|
99
|
+
<Alert.Title>Update available</Alert.Title>
|
|
100
|
+
<Alert.Description>
|
|
101
|
+
A new version of the application is available.
|
|
102
|
+
</Alert.Description>
|
|
103
|
+
</Alert.Content>
|
|
104
|
+
<Button size="sm" variant="primary">
|
|
105
|
+
Refresh
|
|
106
|
+
</Button>
|
|
107
|
+
</Alert>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Custom Indicator
|
|
111
|
+
|
|
112
|
+
Replace the default status icon by passing custom children to `Alert.Indicator`.
|
|
113
|
+
|
|
114
|
+
```tsx
|
|
115
|
+
<Alert status="accent">
|
|
116
|
+
<Alert.Indicator>
|
|
117
|
+
<Spinner>
|
|
118
|
+
<Spinner.Indicator iconProps={{ width: 20, height: 20 }} />
|
|
119
|
+
</Spinner>
|
|
120
|
+
</Alert.Indicator>
|
|
121
|
+
<Alert.Content>
|
|
122
|
+
<Alert.Title>Processing your request</Alert.Title>
|
|
123
|
+
<Alert.Description>Please wait while we sync your data.</Alert.Description>
|
|
124
|
+
</Alert.Content>
|
|
125
|
+
</Alert>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Custom Styling
|
|
129
|
+
|
|
130
|
+
Apply custom styles using the `className` prop on the root and compound parts.
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
<Alert className="bg-accent/10 rounded-xl">
|
|
134
|
+
<Alert.Indicator className="pt-1" />
|
|
135
|
+
<Alert.Content className="gap-1">
|
|
136
|
+
<Alert.Title className="text-lg">...</Alert.Title>
|
|
137
|
+
<Alert.Description className="text-base">...</Alert.Description>
|
|
138
|
+
</Alert.Content>
|
|
139
|
+
</Alert>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Example
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
import { Alert, Button, CloseButton } from '@/heroui';
|
|
146
|
+
import { View } from 'react-native';
|
|
147
|
+
|
|
148
|
+
export default function AlertExample() {
|
|
149
|
+
return (
|
|
150
|
+
<View className="w-full gap-4">
|
|
151
|
+
<Alert status="accent">
|
|
152
|
+
<Alert.Indicator />
|
|
153
|
+
<Alert.Content>
|
|
154
|
+
<Alert.Title>Update available</Alert.Title>
|
|
155
|
+
<Alert.Description>
|
|
156
|
+
A new version of the application is available. Please refresh to get
|
|
157
|
+
the latest features and bug fixes.
|
|
158
|
+
</Alert.Description>
|
|
159
|
+
</Alert.Content>
|
|
160
|
+
<Button size="sm" variant="primary">
|
|
161
|
+
Refresh
|
|
162
|
+
</Button>
|
|
163
|
+
</Alert>
|
|
164
|
+
|
|
165
|
+
<Alert status="danger">
|
|
166
|
+
<Alert.Indicator />
|
|
167
|
+
<Alert.Content>
|
|
168
|
+
<Alert.Title>Unable to connect to server</Alert.Title>
|
|
169
|
+
<Alert.Description>
|
|
170
|
+
Unable to connect to the server. Check your internet connection and
|
|
171
|
+
try again.
|
|
172
|
+
</Alert.Description>
|
|
173
|
+
</Alert.Content>
|
|
174
|
+
<Button size="sm" variant="danger">
|
|
175
|
+
Retry
|
|
176
|
+
</Button>
|
|
177
|
+
</Alert>
|
|
178
|
+
|
|
179
|
+
<Alert status="success" className="items-center">
|
|
180
|
+
<Alert.Indicator className="pt-0" />
|
|
181
|
+
<Alert.Content>
|
|
182
|
+
<Alert.Title>Profile updated successfully</Alert.Title>
|
|
183
|
+
</Alert.Content>
|
|
184
|
+
<CloseButton />
|
|
185
|
+
</Alert>
|
|
186
|
+
</View>
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/alert.tsx>).
|
|
192
|
+
|
|
193
|
+
## API Reference
|
|
194
|
+
|
|
195
|
+
### Alert
|
|
196
|
+
|
|
197
|
+
| prop | type | default | description |
|
|
198
|
+
| -------------- | ------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |
|
|
199
|
+
| `children` | `React.ReactNode` | - | Children elements to render inside the alert |
|
|
200
|
+
| `status` | `'default' \| 'accent' \| 'success' \| 'warning' \| 'danger'` | `'default'` | Status controlling the icon and color treatment |
|
|
201
|
+
| `id` | `string \| number` | - | Unique identifier for the alert. Auto-generated when not provided |
|
|
202
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
203
|
+
| `style` | `ViewStyle` | - | Additional styles applied to the root container |
|
|
204
|
+
| `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
|
|
205
|
+
|
|
206
|
+
### Alert.Indicator
|
|
207
|
+
|
|
208
|
+
| prop | type | default | description |
|
|
209
|
+
| -------------- | ----------------- | ------- | ------------------------------------------------------------------ |
|
|
210
|
+
| `children` | `React.ReactNode` | - | Custom children to render instead of the default status icon |
|
|
211
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
212
|
+
| `iconProps` | `AlertIconProps` | - | Props passed to the default status icon (size and color overrides) |
|
|
213
|
+
| `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
|
|
214
|
+
|
|
215
|
+
#### AlertIconProps
|
|
216
|
+
|
|
217
|
+
| prop | type | default | description |
|
|
218
|
+
| ------- | -------- | ------------ | ---------------------- |
|
|
219
|
+
| `size` | `number` | `18` | Icon size in pixels |
|
|
220
|
+
| `color` | `string` | status color | Icon color as a string |
|
|
221
|
+
|
|
222
|
+
### Alert.Content
|
|
223
|
+
|
|
224
|
+
| prop | type | default | description |
|
|
225
|
+
| -------------- | ----------------- | ------- | --------------------------------------------------------------- |
|
|
226
|
+
| `children` | `React.ReactNode` | - | Children elements (typically Alert.Title and Alert.Description) |
|
|
227
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
228
|
+
| `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
|
|
229
|
+
|
|
230
|
+
### Alert.Title
|
|
231
|
+
|
|
232
|
+
| prop | type | default | description |
|
|
233
|
+
| -------------- | ----------------- | ------- | -------------------------------------------------- |
|
|
234
|
+
| `children` | `React.ReactNode` | - | Title text content |
|
|
235
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
236
|
+
| `...TextProps` | `TextProps` | - | All standard React Native Text props are supported |
|
|
237
|
+
|
|
238
|
+
### Alert.Description
|
|
239
|
+
|
|
240
|
+
| prop | type | default | description |
|
|
241
|
+
| -------------- | ----------------- | ------- | -------------------------------------------------- |
|
|
242
|
+
| `children` | `React.ReactNode` | - | Description text content |
|
|
243
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
244
|
+
| `...TextProps` | `TextProps` | - | All standard React Native Text props are supported |
|
|
245
|
+
|
|
246
|
+
## Hooks
|
|
247
|
+
|
|
248
|
+
### useAlert
|
|
249
|
+
|
|
250
|
+
Hook to access the alert root context. Must be used within an `Alert` component.
|
|
251
|
+
|
|
252
|
+
```tsx
|
|
253
|
+
import { useAlert } from '@/heroui';
|
|
254
|
+
|
|
255
|
+
const { status, nativeID } = useAlert();
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
#### Returns
|
|
259
|
+
|
|
260
|
+
| property | type | description |
|
|
261
|
+
| ---------- | ------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
262
|
+
| `status` | `'default' \| 'accent' \| 'success' \| 'warning' \| 'danger'` | Current alert status for sub-component styling |
|
|
263
|
+
| `nativeID` | `string` | Unique identifier used for accessibility and ARIA attributes |
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
import { tv } from 'tailwind-variants';
|
|
3
|
+
import { combineStyles } from '../../helpers/internal/utils';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Root style definition for the Alert container
|
|
7
|
+
*/
|
|
8
|
+
const root = tv({
|
|
9
|
+
base: 'p-3 flex-row gap-3 rounded-3xl bg-surface shadow-surface',
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Indicator style definition for the status icon container
|
|
14
|
+
*/
|
|
15
|
+
const indicator = tv({
|
|
16
|
+
base: 'pt-[3.5px]',
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Content style definition for the title/description wrapper
|
|
21
|
+
*/
|
|
22
|
+
const content = tv({
|
|
23
|
+
base: 'flex-1',
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Title style definition with status-based color variants
|
|
28
|
+
*/
|
|
29
|
+
const title = tv({
|
|
30
|
+
base: 'text-base font-medium',
|
|
31
|
+
variants: {
|
|
32
|
+
status: {
|
|
33
|
+
default: 'text-foreground',
|
|
34
|
+
accent: 'text-accent',
|
|
35
|
+
success: 'text-success',
|
|
36
|
+
warning: 'text-warning',
|
|
37
|
+
danger: 'text-danger',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
status: 'default',
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Description style definition
|
|
47
|
+
*/
|
|
48
|
+
const description = tv({
|
|
49
|
+
base: 'text-sm text-muted',
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
export const alertClassNames = combineStyles({
|
|
53
|
+
root,
|
|
54
|
+
indicator,
|
|
55
|
+
content,
|
|
56
|
+
title,
|
|
57
|
+
description,
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
/** StyleSheet for native-only properties (internal use only, NOT exported from index.ts) */
|
|
61
|
+
export const alertStyleSheet = StyleSheet.create({
|
|
62
|
+
root: {
|
|
63
|
+
borderCurve: 'continuous',
|
|
64
|
+
},
|
|
65
|
+
});
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { forwardRef } from 'react';
|
|
2
|
+
import { HeroText } from '../../helpers/internal/components';
|
|
3
|
+
import * as AlertPrimitives from '../../primitives/alert';
|
|
4
|
+
import type * as AlertPrimitiveTypes from '../../primitives/alert/alert.types';
|
|
5
|
+
import { DEFAULT_ICON_SIZE, DISPLAY_NAME } from './alert.constants';
|
|
6
|
+
import { useStatusColor } from './alert.hooks';
|
|
7
|
+
import { alertClassNames, alertStyleSheet } from './alert.styles';
|
|
8
|
+
import type {
|
|
9
|
+
AlertContentProps,
|
|
10
|
+
AlertDescriptionProps,
|
|
11
|
+
AlertIconProps,
|
|
12
|
+
AlertIndicatorProps,
|
|
13
|
+
AlertRootProps,
|
|
14
|
+
AlertTitleProps,
|
|
15
|
+
} from './alert.types';
|
|
16
|
+
import { getStatusIcon } from './alert.utils';
|
|
17
|
+
|
|
18
|
+
const useAlert = AlertPrimitives.useRootContext;
|
|
19
|
+
|
|
20
|
+
// --------------------------------------------------
|
|
21
|
+
|
|
22
|
+
const AlertRoot = forwardRef<AlertPrimitiveTypes.RootRef, AlertRootProps>(
|
|
23
|
+
(props, ref) => {
|
|
24
|
+
const {
|
|
25
|
+
children,
|
|
26
|
+
status = 'default',
|
|
27
|
+
className,
|
|
28
|
+
style,
|
|
29
|
+
...restProps
|
|
30
|
+
} = props;
|
|
31
|
+
|
|
32
|
+
const rootClassName = alertClassNames.root({ className });
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<AlertPrimitives.Root
|
|
36
|
+
ref={ref}
|
|
37
|
+
status={status}
|
|
38
|
+
className={rootClassName}
|
|
39
|
+
style={[alertStyleSheet.root, style]}
|
|
40
|
+
{...restProps}
|
|
41
|
+
>
|
|
42
|
+
{children}
|
|
43
|
+
</AlertPrimitives.Root>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
// --------------------------------------------------
|
|
49
|
+
|
|
50
|
+
const AlertIndicator = forwardRef<
|
|
51
|
+
AlertPrimitiveTypes.IndicatorRef,
|
|
52
|
+
AlertIndicatorProps
|
|
53
|
+
>((props, ref) => {
|
|
54
|
+
const { children, className, iconProps, ...restProps } = props;
|
|
55
|
+
|
|
56
|
+
const { status } = useAlert();
|
|
57
|
+
const statusColor = useStatusColor(status);
|
|
58
|
+
|
|
59
|
+
const indicatorClassName = alertClassNames.indicator({ className });
|
|
60
|
+
|
|
61
|
+
/** Merge default color with user-provided iconProps */
|
|
62
|
+
const resolvedIconProps: AlertIconProps = {
|
|
63
|
+
size: iconProps?.size ?? DEFAULT_ICON_SIZE,
|
|
64
|
+
color: iconProps?.color ?? statusColor,
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<AlertPrimitives.Indicator
|
|
69
|
+
ref={ref}
|
|
70
|
+
className={indicatorClassName}
|
|
71
|
+
{...restProps}
|
|
72
|
+
>
|
|
73
|
+
{children ?? getStatusIcon(status, resolvedIconProps)}
|
|
74
|
+
</AlertPrimitives.Indicator>
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// --------------------------------------------------
|
|
79
|
+
|
|
80
|
+
const AlertContent = forwardRef<
|
|
81
|
+
AlertPrimitiveTypes.ContentRef,
|
|
82
|
+
AlertContentProps
|
|
83
|
+
>((props, ref) => {
|
|
84
|
+
const { children, className, ...restProps } = props;
|
|
85
|
+
|
|
86
|
+
const contentClassName = alertClassNames.content({ className });
|
|
87
|
+
|
|
88
|
+
return (
|
|
89
|
+
<AlertPrimitives.Content
|
|
90
|
+
ref={ref}
|
|
91
|
+
className={contentClassName}
|
|
92
|
+
{...restProps}
|
|
93
|
+
>
|
|
94
|
+
{children}
|
|
95
|
+
</AlertPrimitives.Content>
|
|
96
|
+
);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// --------------------------------------------------
|
|
100
|
+
|
|
101
|
+
const AlertTitle = forwardRef<AlertPrimitiveTypes.TitleRef, AlertTitleProps>(
|
|
102
|
+
(props, ref) => {
|
|
103
|
+
const { children, className, ...restProps } = props;
|
|
104
|
+
|
|
105
|
+
const { status } = useAlert();
|
|
106
|
+
|
|
107
|
+
const titleClassName = alertClassNames.title({ status, className });
|
|
108
|
+
|
|
109
|
+
return (
|
|
110
|
+
<AlertPrimitives.Title asChild {...restProps}>
|
|
111
|
+
<HeroText ref={ref} className={titleClassName}>
|
|
112
|
+
{children}
|
|
113
|
+
</HeroText>
|
|
114
|
+
</AlertPrimitives.Title>
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
// --------------------------------------------------
|
|
120
|
+
|
|
121
|
+
const AlertDescription = forwardRef<
|
|
122
|
+
AlertPrimitiveTypes.DescriptionRef,
|
|
123
|
+
AlertDescriptionProps
|
|
124
|
+
>((props, ref) => {
|
|
125
|
+
const { children, className, ...restProps } = props;
|
|
126
|
+
|
|
127
|
+
const descriptionClassName = alertClassNames.description({ className });
|
|
128
|
+
|
|
129
|
+
return (
|
|
130
|
+
<AlertPrimitives.Description asChild {...restProps}>
|
|
131
|
+
<HeroText ref={ref} className={descriptionClassName}>
|
|
132
|
+
{children}
|
|
133
|
+
</HeroText>
|
|
134
|
+
</AlertPrimitives.Description>
|
|
135
|
+
);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
// --------------------------------------------------
|
|
139
|
+
|
|
140
|
+
AlertRoot.displayName = DISPLAY_NAME.ROOT;
|
|
141
|
+
AlertIndicator.displayName = DISPLAY_NAME.INDICATOR;
|
|
142
|
+
AlertContent.displayName = DISPLAY_NAME.CONTENT;
|
|
143
|
+
AlertTitle.displayName = DISPLAY_NAME.TITLE;
|
|
144
|
+
AlertDescription.displayName = DISPLAY_NAME.DESCRIPTION;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Compound Alert component with sub-components
|
|
148
|
+
*
|
|
149
|
+
* @component Alert - Main container that renders a styled alert with role="alert"
|
|
150
|
+
* and configurable status (default, accent, success, warning, danger).
|
|
151
|
+
* Status flows to sub-components via primitive context.
|
|
152
|
+
*
|
|
153
|
+
* @component Alert.Indicator - Renders a status-appropriate icon by default.
|
|
154
|
+
* Accepts custom children to override the default icon.
|
|
155
|
+
* Supports iconProps (size, color) for customising the default icon.
|
|
156
|
+
*
|
|
157
|
+
* @component Alert.Content - Flex-1 wrapper for Alert.Title and Alert.Description.
|
|
158
|
+
*
|
|
159
|
+
* @component Alert.Title - Heading text with status-based color (success, warning,
|
|
160
|
+
* danger apply their respective semantic color; default and accent use foreground).
|
|
161
|
+
*
|
|
162
|
+
* @component Alert.Description - Body text rendered with muted color.
|
|
163
|
+
*
|
|
164
|
+
* Props flow from Alert to sub-components via context (status, nativeID).
|
|
165
|
+
* Title and Description are connected to root via aria-labelledby / aria-describedby.
|
|
166
|
+
*
|
|
167
|
+
* @see Full documentation: https://v3.heroui.com/docs/native/components/alert
|
|
168
|
+
*/
|
|
169
|
+
const CompoundAlert = Object.assign(AlertRoot, {
|
|
170
|
+
/** @optional Status icon rendered as the leading visual element */
|
|
171
|
+
Indicator: AlertIndicator,
|
|
172
|
+
/** @optional Wrapper for title and description content */
|
|
173
|
+
Content: AlertContent,
|
|
174
|
+
/** @optional Primary heading with status-aware text color */
|
|
175
|
+
Title: AlertTitle,
|
|
176
|
+
/** @optional Secondary description with muted text color */
|
|
177
|
+
Description: AlertDescription,
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
export { useAlert };
|
|
181
|
+
export default CompoundAlert;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type * as AlertPrimitiveTypes from '../../primitives/alert/alert.types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Props for the icon rendered inside the alert indicator.
|
|
5
|
+
*/
|
|
6
|
+
export interface AlertIconProps {
|
|
7
|
+
/**
|
|
8
|
+
* Icon size in pixels
|
|
9
|
+
*
|
|
10
|
+
* @default 20
|
|
11
|
+
*/
|
|
12
|
+
size?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Icon color as a CSS color string
|
|
15
|
+
*/
|
|
16
|
+
color?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Props for the Alert root component.
|
|
21
|
+
* Renders a styled alert container with status-based visual treatment.
|
|
22
|
+
*/
|
|
23
|
+
export interface AlertRootProps extends AlertPrimitiveTypes.RootProps {
|
|
24
|
+
/**
|
|
25
|
+
* Children elements to render inside the alert
|
|
26
|
+
*/
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Additional CSS classes
|
|
30
|
+
*/
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Props for the Alert.Indicator component.
|
|
36
|
+
* Renders a status icon by default when no children are provided.
|
|
37
|
+
*/
|
|
38
|
+
export interface AlertIndicatorProps
|
|
39
|
+
extends AlertPrimitiveTypes.IndicatorProps {
|
|
40
|
+
/**
|
|
41
|
+
* Custom children to render instead of the default status icon
|
|
42
|
+
*/
|
|
43
|
+
children?: React.ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Additional CSS classes
|
|
46
|
+
*/
|
|
47
|
+
className?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Props passed to the default status icon (size and color overrides)
|
|
50
|
+
*/
|
|
51
|
+
iconProps?: AlertIconProps;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Props for the Alert.Content component.
|
|
56
|
+
* Container for the title and description.
|
|
57
|
+
*/
|
|
58
|
+
export interface AlertContentProps extends AlertPrimitiveTypes.ContentProps {
|
|
59
|
+
/**
|
|
60
|
+
* Children elements (typically Alert.Title and Alert.Description)
|
|
61
|
+
*/
|
|
62
|
+
children?: React.ReactNode;
|
|
63
|
+
/**
|
|
64
|
+
* Additional CSS classes
|
|
65
|
+
*/
|
|
66
|
+
className?: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Props for the Alert.Title component.
|
|
71
|
+
* Renders the alert heading with status-based text color.
|
|
72
|
+
*/
|
|
73
|
+
export interface AlertTitleProps
|
|
74
|
+
extends Omit<AlertPrimitiveTypes.TitleProps, 'asChild'> {
|
|
75
|
+
/**
|
|
76
|
+
* Title text content
|
|
77
|
+
*/
|
|
78
|
+
children?: React.ReactNode;
|
|
79
|
+
/**
|
|
80
|
+
* Additional CSS classes
|
|
81
|
+
*/
|
|
82
|
+
className?: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Props for the Alert.Description component.
|
|
87
|
+
* Renders the alert body text with muted styling.
|
|
88
|
+
*/
|
|
89
|
+
export interface AlertDescriptionProps
|
|
90
|
+
extends Omit<AlertPrimitiveTypes.DescriptionProps, 'asChild'> {
|
|
91
|
+
/**
|
|
92
|
+
* Description text content
|
|
93
|
+
*/
|
|
94
|
+
children?: React.ReactNode;
|
|
95
|
+
/**
|
|
96
|
+
* Additional CSS classes
|
|
97
|
+
*/
|
|
98
|
+
className?: string;
|
|
99
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AlertStatus } from '../../primitives/alert/alert.types';
|
|
2
|
+
import { DEFAULT_ICON_SIZE } from './alert.constants';
|
|
3
|
+
import type { AlertIconProps } from './alert.types';
|
|
4
|
+
import { DefaultIcon } from './default-icon';
|
|
5
|
+
import { SuccessIcon } from './success-icon';
|
|
6
|
+
import { WarningIcon } from './warning-icon';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the default icon component based on the current alert status.
|
|
10
|
+
*/
|
|
11
|
+
export function getStatusIcon(
|
|
12
|
+
status: AlertStatus,
|
|
13
|
+
iconProps: AlertIconProps
|
|
14
|
+
): React.ReactElement {
|
|
15
|
+
const { size = DEFAULT_ICON_SIZE, color } = iconProps;
|
|
16
|
+
|
|
17
|
+
switch (status) {
|
|
18
|
+
case 'success':
|
|
19
|
+
return <SuccessIcon size={size} color={color} />;
|
|
20
|
+
case 'warning':
|
|
21
|
+
return <WarningIcon size={size} color={color} />;
|
|
22
|
+
default:
|
|
23
|
+
return <DefaultIcon size={size} color={color} />;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Svg, { Path } from 'react-native-svg';
|
|
3
|
+
import type { AlertIconProps } from './alert.types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Default info circle icon for the Alert indicator.
|
|
7
|
+
* Used for "default", "accent", and "danger" status values.
|
|
8
|
+
*/
|
|
9
|
+
export const DefaultIcon: React.FC<AlertIconProps> = ({ size = 20, color }) => {
|
|
10
|
+
return (
|
|
11
|
+
<Svg
|
|
12
|
+
width={size}
|
|
13
|
+
height={size}
|
|
14
|
+
viewBox="0 0 16 16"
|
|
15
|
+
fill={color}
|
|
16
|
+
accessibilityElementsHidden={true}
|
|
17
|
+
importantForAccessibility="no-hide-descendants"
|
|
18
|
+
>
|
|
19
|
+
<Path
|
|
20
|
+
d="M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-9.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0m-.25 3a.75.75 0 0 0-1.5 0V11a.75.75 0 0 0 1.5 0z"
|
|
21
|
+
fillRule="evenodd"
|
|
22
|
+
clipRule="evenodd"
|
|
23
|
+
/>
|
|
24
|
+
</Svg>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
DefaultIcon.displayName = 'HeroUINative.Alert.DefaultIcon';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Component exports
|
|
2
|
+
export { default as Alert, useAlert } from './alert';
|
|
3
|
+
|
|
4
|
+
// ClassNames export for external reuse
|
|
5
|
+
export { alertClassNames } from './alert.styles';
|
|
6
|
+
|
|
7
|
+
// Type exports (named exports for better tree-shaking)
|
|
8
|
+
export type {
|
|
9
|
+
AlertContentProps,
|
|
10
|
+
AlertDescriptionProps,
|
|
11
|
+
AlertIconProps,
|
|
12
|
+
AlertIndicatorProps,
|
|
13
|
+
AlertRootProps,
|
|
14
|
+
AlertTitleProps,
|
|
15
|
+
} from './alert.types';
|