@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,320 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
EntryOrExitLayoutType,
|
|
3
|
+
WithTimingConfig,
|
|
4
|
+
} from 'react-native-reanimated';
|
|
5
|
+
import type {
|
|
6
|
+
AnimationRoot,
|
|
7
|
+
AnimationValue,
|
|
8
|
+
ViewRef,
|
|
9
|
+
} from '../../helpers/internal/types';
|
|
10
|
+
import type * as ToastPrimitive from '../../primitives/toast';
|
|
11
|
+
import type {
|
|
12
|
+
ToastComponentProps,
|
|
13
|
+
ToastShowOptions,
|
|
14
|
+
} from '../../providers/toast';
|
|
15
|
+
import type { ButtonRootProps } from '../button';
|
|
16
|
+
import type { ButtonRootPropsScaleHighlight } from '../button/button.types';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Toast variant types
|
|
20
|
+
*/
|
|
21
|
+
export type ToastVariant =
|
|
22
|
+
| 'default'
|
|
23
|
+
| 'accent'
|
|
24
|
+
| 'success'
|
|
25
|
+
| 'warning'
|
|
26
|
+
| 'danger';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Toast placement types
|
|
30
|
+
*/
|
|
31
|
+
export type ToastPlacement = 'top' | 'bottom';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Animation configuration for toast root component
|
|
35
|
+
*/
|
|
36
|
+
export type ToastRootAnimation = AnimationRoot<{
|
|
37
|
+
opacity?: AnimationValue<{
|
|
38
|
+
/**
|
|
39
|
+
* Opacity interpolation values [start, end]
|
|
40
|
+
* Controls how fast toast items fade out as they move beyond the visible stack limits.
|
|
41
|
+
* When toasts are pushed out of view (beyond the last few visible items), their opacity
|
|
42
|
+
* gradually decreases to create a smooth disappearing effect.
|
|
43
|
+
* - First value: fully visible opacity (1) for items within visible stack
|
|
44
|
+
* - Second value: hidden opacity (0) for items pushed out of view
|
|
45
|
+
* @default [1, 0]
|
|
46
|
+
*/
|
|
47
|
+
value?: [number, number];
|
|
48
|
+
/**
|
|
49
|
+
* Animation timing configuration
|
|
50
|
+
* @default { duration: 300 }
|
|
51
|
+
*/
|
|
52
|
+
timingConfig?: WithTimingConfig;
|
|
53
|
+
}>;
|
|
54
|
+
translateY?: AnimationValue<{
|
|
55
|
+
/**
|
|
56
|
+
* Translate Y interpolation values [start, end]
|
|
57
|
+
* Controls how much of a toast item is visible when it's positioned behind the last visible toast.
|
|
58
|
+
* This creates a "peek" effect where stacked toasts are slightly offset vertically,
|
|
59
|
+
* allowing users to see a portion of the toast behind the current one.
|
|
60
|
+
* - First value: no offset (0) for the last/active toast
|
|
61
|
+
* - Second value: vertical offset in pixels (10) for toasts behind the last one
|
|
62
|
+
* Note: The offset direction is automatically adjusted based on placement (top/bottom)
|
|
63
|
+
* @default [0, 10] (multiplied by placement sign)
|
|
64
|
+
*/
|
|
65
|
+
value?: [number, number];
|
|
66
|
+
/**
|
|
67
|
+
* Animation timing configuration
|
|
68
|
+
* @default { duration: 300 }
|
|
69
|
+
*/
|
|
70
|
+
timingConfig?: WithTimingConfig;
|
|
71
|
+
}>;
|
|
72
|
+
scale?: AnimationValue<{
|
|
73
|
+
/**
|
|
74
|
+
* Scale interpolation values [start, end]
|
|
75
|
+
* Controls the size scaling of toast items in the stack.
|
|
76
|
+
* Toasts behind the active one are slightly scaled down to create depth and visual hierarchy.
|
|
77
|
+
* - First value: normal scale (1) for the active/last toast
|
|
78
|
+
* - Second value: scaled down value (0.97) for toasts positioned behind
|
|
79
|
+
* @default [1, 0.97]
|
|
80
|
+
*/
|
|
81
|
+
value?: [number, number];
|
|
82
|
+
/**
|
|
83
|
+
* Animation timing configuration
|
|
84
|
+
* @default { duration: 300 }
|
|
85
|
+
*/
|
|
86
|
+
timingConfig?: WithTimingConfig;
|
|
87
|
+
}>;
|
|
88
|
+
entering?: AnimationValue<{
|
|
89
|
+
/**
|
|
90
|
+
* Custom entering animation for top placement
|
|
91
|
+
* @default FadeInUp.springify().withInitialValues({ opacity: 1, transform: [{ translateY: -100 }] }).mass(3)
|
|
92
|
+
*/
|
|
93
|
+
top?: EntryOrExitLayoutType;
|
|
94
|
+
/**
|
|
95
|
+
* Custom entering animation for bottom placement
|
|
96
|
+
* @default FadeInDown.springify().withInitialValues({ opacity: 1, transform: [{ translateY: 100 }] }).mass(3)
|
|
97
|
+
*/
|
|
98
|
+
bottom?: EntryOrExitLayoutType;
|
|
99
|
+
}>;
|
|
100
|
+
exiting?: AnimationValue<{
|
|
101
|
+
/**
|
|
102
|
+
* Custom exiting animation for top placement
|
|
103
|
+
* @default Keyframe animation with translateY: -100, scale: 0.97, opacity: 0.5
|
|
104
|
+
*/
|
|
105
|
+
top?: EntryOrExitLayoutType;
|
|
106
|
+
/**
|
|
107
|
+
* Custom exiting animation for bottom placement
|
|
108
|
+
* @default Keyframe animation with translateY: 100, scale: 0.97, opacity: 0.5
|
|
109
|
+
*/
|
|
110
|
+
bottom?: EntryOrExitLayoutType;
|
|
111
|
+
}>;
|
|
112
|
+
}>;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Props for the Toast.Root component
|
|
116
|
+
*/
|
|
117
|
+
export interface ToastRootProps
|
|
118
|
+
extends ToastPrimitive.RootProps,
|
|
119
|
+
Omit<ToastComponentProps, 'id'> {
|
|
120
|
+
/**
|
|
121
|
+
* Visual variant of the toast
|
|
122
|
+
* @default 'default'
|
|
123
|
+
*/
|
|
124
|
+
variant?: ToastVariant;
|
|
125
|
+
/**
|
|
126
|
+
* Placement of the toast
|
|
127
|
+
* @default 'top'
|
|
128
|
+
*/
|
|
129
|
+
placement?: ToastPlacement;
|
|
130
|
+
/**
|
|
131
|
+
* Additional CSS class for the toast container
|
|
132
|
+
*
|
|
133
|
+
* @note The following style properties are occupied by animations and cannot be set via className:
|
|
134
|
+
* - `opacity` - Animated for visibility transitions when toasts are pushed beyond visible stack limits
|
|
135
|
+
* - `transform` (translateY) - Animated for vertical position transitions when toasts are stacked, and for swipe-to-dismiss gestures
|
|
136
|
+
* - `transform` (scale) - Animated for size scaling transitions when toasts are stacked (toasts behind active one are scaled down)
|
|
137
|
+
* - `height` - Animated for height transitions when toast content changes
|
|
138
|
+
*
|
|
139
|
+
* To customize these properties, use the `animation` prop:
|
|
140
|
+
* ```tsx
|
|
141
|
+
* <Toast.Root
|
|
142
|
+
* animation={{
|
|
143
|
+
* opacity: {
|
|
144
|
+
* value: [1, 0],
|
|
145
|
+
* timingConfig: { duration: 300 }
|
|
146
|
+
* },
|
|
147
|
+
* translateY: {
|
|
148
|
+
* value: [0, 10],
|
|
149
|
+
* timingConfig: { duration: 300 }
|
|
150
|
+
* },
|
|
151
|
+
* scale: {
|
|
152
|
+
* value: [1, 0.97],
|
|
153
|
+
* timingConfig: { duration: 300 }
|
|
154
|
+
* }
|
|
155
|
+
* }}
|
|
156
|
+
* />
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* To completely disable animated styles and use your own via className or style prop, set `isAnimatedStyleActive={false}`.
|
|
160
|
+
*/
|
|
161
|
+
className?: string;
|
|
162
|
+
/**
|
|
163
|
+
* Animation configuration for toast
|
|
164
|
+
* - `false` or `"disabled"`: Disable only root animations
|
|
165
|
+
* - `"disable-all"`: Disable all animations including children
|
|
166
|
+
* - `true` or `undefined`: Use default animations
|
|
167
|
+
* - `object`: Custom animation configuration
|
|
168
|
+
*/
|
|
169
|
+
animation?: ToastRootAnimation;
|
|
170
|
+
/**
|
|
171
|
+
* Whether the toast can be swiped to dismiss and dragged with rubber effect
|
|
172
|
+
* @default true
|
|
173
|
+
*/
|
|
174
|
+
isSwipeable?: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Whether animated styles (react-native-reanimated) are active
|
|
177
|
+
* When `false`, the animated style is removed and you can implement custom logic
|
|
178
|
+
* This prop should only be used when you want to write custom styling logic instead of the default animated styles
|
|
179
|
+
* @default true
|
|
180
|
+
*/
|
|
181
|
+
isAnimatedStyleActive?: boolean;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Props for the Toast.Title component
|
|
186
|
+
*/
|
|
187
|
+
export interface ToastTitleProps extends ToastPrimitive.TitleProps {
|
|
188
|
+
/**
|
|
189
|
+
* Content to be rendered as title
|
|
190
|
+
*/
|
|
191
|
+
children?: React.ReactNode;
|
|
192
|
+
/**
|
|
193
|
+
* Additional CSS class for the title
|
|
194
|
+
*/
|
|
195
|
+
className?: string;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Props for the Toast.Description component
|
|
200
|
+
*/
|
|
201
|
+
export interface ToastDescriptionProps extends ToastPrimitive.DescriptionProps {
|
|
202
|
+
/**
|
|
203
|
+
* Content to be rendered as description
|
|
204
|
+
*/
|
|
205
|
+
children?: React.ReactNode;
|
|
206
|
+
/**
|
|
207
|
+
* Additional CSS class for the description
|
|
208
|
+
*/
|
|
209
|
+
className?: string;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Props for the Toast.Action component
|
|
214
|
+
*/
|
|
215
|
+
export type ToastActionProps = Omit<
|
|
216
|
+
ButtonRootPropsScaleHighlight,
|
|
217
|
+
'feedbackVariant'
|
|
218
|
+
>;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Props for the Toast.Close component
|
|
222
|
+
*/
|
|
223
|
+
export type ToastCloseProps = ButtonRootProps & {
|
|
224
|
+
/**
|
|
225
|
+
* Custom icon props for the close button icon
|
|
226
|
+
*/
|
|
227
|
+
iconProps?: {
|
|
228
|
+
size?: number;
|
|
229
|
+
color?: string;
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Context values shared between Toast components
|
|
235
|
+
*/
|
|
236
|
+
export interface ToastContextValue {
|
|
237
|
+
/**
|
|
238
|
+
* Visual variant of the toast
|
|
239
|
+
*/
|
|
240
|
+
variant: ToastVariant;
|
|
241
|
+
/**
|
|
242
|
+
* Function to hide the toast
|
|
243
|
+
*/
|
|
244
|
+
hide?: (ids?: string | string[] | 'all') => void;
|
|
245
|
+
/**
|
|
246
|
+
* ID of the toast
|
|
247
|
+
*/
|
|
248
|
+
id?: string;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Ref type for the Toast.Root component
|
|
253
|
+
*/
|
|
254
|
+
export type ToastRootRef = ViewRef;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Props for useToastRootAnimation hook
|
|
258
|
+
* Picks required properties from ToastRootProps and adds id from ToastComponentProps
|
|
259
|
+
*/
|
|
260
|
+
export type UseToastRootAnimationOptions = Pick<
|
|
261
|
+
ToastRootProps,
|
|
262
|
+
| 'animation'
|
|
263
|
+
| 'index'
|
|
264
|
+
| 'total'
|
|
265
|
+
| 'heights'
|
|
266
|
+
| 'placement'
|
|
267
|
+
| 'hide'
|
|
268
|
+
| 'isSwipeable'
|
|
269
|
+
| 'maxVisibleToasts'
|
|
270
|
+
> &
|
|
271
|
+
Pick<ToastComponentProps, 'id'>;
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Props for the DefaultToast component
|
|
275
|
+
* Used internally when showing toasts with string or config object (without component)
|
|
276
|
+
*/
|
|
277
|
+
export interface DefaultToastProps extends ToastComponentProps {
|
|
278
|
+
/**
|
|
279
|
+
* Visual variant of the toast
|
|
280
|
+
* @default 'default'
|
|
281
|
+
*/
|
|
282
|
+
variant?: ToastRootProps['variant'];
|
|
283
|
+
/**
|
|
284
|
+
* Placement of the toast
|
|
285
|
+
* @default 'top'
|
|
286
|
+
*/
|
|
287
|
+
placement?: ToastRootProps['placement'];
|
|
288
|
+
/**
|
|
289
|
+
* Animation configuration for toast
|
|
290
|
+
*/
|
|
291
|
+
animation?: ToastRootProps['animation'];
|
|
292
|
+
/**
|
|
293
|
+
* Whether the toast can be swiped to dismiss and dragged with rubber effect
|
|
294
|
+
*/
|
|
295
|
+
isSwipeable?: ToastRootProps['isSwipeable'];
|
|
296
|
+
/**
|
|
297
|
+
* Label text for the toast
|
|
298
|
+
*/
|
|
299
|
+
label?: string;
|
|
300
|
+
/**
|
|
301
|
+
* Description text for the toast
|
|
302
|
+
*/
|
|
303
|
+
description?: string;
|
|
304
|
+
/**
|
|
305
|
+
* Action button label text
|
|
306
|
+
*/
|
|
307
|
+
actionLabel?: string;
|
|
308
|
+
/**
|
|
309
|
+
* Callback function called when the action button is pressed
|
|
310
|
+
* Receives show and hide functions for programmatic toast control
|
|
311
|
+
*/
|
|
312
|
+
onActionPress?: (helpers: {
|
|
313
|
+
show: (options: string | ToastShowOptions) => string;
|
|
314
|
+
hide: (ids?: string | string[] | 'all') => void;
|
|
315
|
+
}) => void;
|
|
316
|
+
/**
|
|
317
|
+
* Icon element to display in the toast
|
|
318
|
+
*/
|
|
319
|
+
icon?: React.ReactNode;
|
|
320
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# HeroUI Native Documentation
|
|
2
|
+
|
|
3
|
+
> Documentation for HeroUI Native component library.
|
|
4
|
+
|
|
5
|
+
HeroUI Native is a component library built on [Tailwind v4](https://tailwindcss.com/) via [Uniwind](https://uniwind.dev/) and modern mobile development technologies. Every component comes with smooth animations, polished details, and built-in accessibility—ready to use, fully customizable.
|
|
6
|
+
|
|
7
|
+
## Documentation Index
|
|
8
|
+
|
|
9
|
+
### Components
|
|
10
|
+
|
|
11
|
+
- [Button](./components/button/button.md): Interactive component that triggers an action when pressed.
|
|
12
|
+
- [CloseButton](./components/close-button/close-button.md): Button component for closing dialogs, modals, or dismissing content.
|
|
13
|
+
- [Menu](./components/menu/menu.md): A floating context menu with positioning, selection groups, and multiple presentation modes.
|
|
14
|
+
- [TagGroup](./components/tag-group/tag-group.md): A compound component for displaying and managing selectable tags with optional removal.
|
|
15
|
+
- [Slider](./components/slider/slider.md): A draggable input for selecting a value or range within a bounded interval.
|
|
16
|
+
- [Switch](./components/switch/switch.md): A toggle control that allows users to switch between on and off states.
|
|
17
|
+
- [Chip](./components/chip/chip.md): Displays a compact element in a capsule shape.
|
|
18
|
+
- [Alert](./components/alert/alert.md): Displays important messages and notifications to users with status indicators.
|
|
19
|
+
- [SkeletonGroup](./components/skeleton-group/skeleton-group.md): Coordinates multiple skeleton loading placeholders with centralized animation control.
|
|
20
|
+
- [Skeleton](./components/skeleton/skeleton.md): Displays a loading placeholder with shimmer or pulse animation effects.
|
|
21
|
+
- [Spinner](./components/spinner/spinner.md): Displays an animated loading indicator.
|
|
22
|
+
- [Checkbox](./components/checkbox/checkbox.md): A selectable control that allows users to toggle between checked and unchecked states.
|
|
23
|
+
- [ControlField](./components/control-field/control-field.md): A field component that combines a label, description (or other content), and a control component (Switch or Checkbox) into a single pressable area.
|
|
24
|
+
- [Description](./components/description/description.md): Text component for providing accessible descriptions and helper text for form fields and other UI elements.
|
|
25
|
+
- [FieldError](./components/field-error/field-error.md): Displays validation error message content with smooth animations.
|
|
26
|
+
- [InputGroup](./components/input-group/input-group.md): A compound layout component that groups an input with optional prefix and suffix decorators.
|
|
27
|
+
- [InputOTP](./components/input-otp/input-otp.md): Input component for entering one-time passwords (OTP) with individual character slots, animations, and validation support.
|
|
28
|
+
- [Input](./components/input/input.md): A text input component with styled border and background for collecting user input.
|
|
29
|
+
- [Label](./components/label/label.md): Text component for labeling form fields and other UI elements with support for required indicators and validation states.
|
|
30
|
+
- [RadioGroup](./components/radio-group/radio-group.md): A set of radio buttons where only one option can be selected at a time.
|
|
31
|
+
- [SearchField](./components/search-field/search-field.md): A compound search input for filtering and querying content.
|
|
32
|
+
- [Select](./components/select/select.md): Displays a list of options for the user to pick from — triggered by a button.
|
|
33
|
+
- [TextArea](./components/text-area/text-area.md): A multiline text input component with styled border and background for collecting longer user input.
|
|
34
|
+
- [TextField](./components/text-field/text-field.md): A text input component with label, description, and error handling for collecting user input.
|
|
35
|
+
- [Card](./components/card/card.md): Displays a card container with flexible layout sections for structured content.
|
|
36
|
+
- [Separator](./components/separator/separator.md): A simple line to separate content visually.
|
|
37
|
+
- [Surface](./components/surface/surface.md): Container component that provides elevation and background styling.
|
|
38
|
+
- [Avatar](./components/avatar/avatar.md): Displays a user avatar with support for images, text initials, or fallback icons.
|
|
39
|
+
- [Accordion](./components/accordion/accordion.md): A collapsible content panel for organizing information in a compact space
|
|
40
|
+
- [ListGroup](./components/list-group/list-group.md): A Surface-based container that groups related list items with consistent layout and spacing.
|
|
41
|
+
- [Tabs](./components/tabs/tabs.md): Organize content into tabbed views with animated transitions and indicators.
|
|
42
|
+
- [BottomSheet](./components/bottom-sheet/bottom-sheet.md): Displays a bottom sheet that slides up from the bottom with animated transitions and swipe-to-dismiss gestures.
|
|
43
|
+
- [Dialog](./components/dialog/dialog.md): Displays a modal overlay with animated transitions and gesture-based dismissal.
|
|
44
|
+
- [Popover](./components/popover/popover.md): Displays a floating content panel anchored to a trigger element with placement and alignment options.
|
|
45
|
+
- [Toast](./components/toast/toast.md): Displays temporary notification messages that appear at the top or bottom of the screen.
|
|
46
|
+
- [PressableFeedback](./components/pressable-feedback/pressable-feedback.md): Container component that provides visual feedback for press interactions with automatic scale animation.
|
|
47
|
+
- [ScrollShadow](./components/scroll-shadow/scroll-shadow.md): Adds dynamic gradient shadows to scrollable content based on scroll position and overflow.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { useCSSVariable } from 'uniwind';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Theme colors as const array for efficient mapping
|
|
5
|
+
* Ordered to match the order in src/styles/theme.css
|
|
6
|
+
*/
|
|
7
|
+
const THEME_COLORS = [
|
|
8
|
+
'background',
|
|
9
|
+
'foreground',
|
|
10
|
+
'surface',
|
|
11
|
+
'surface-foreground',
|
|
12
|
+
'surface-hover',
|
|
13
|
+
'overlay',
|
|
14
|
+
'overlay-foreground',
|
|
15
|
+
'muted',
|
|
16
|
+
'accent',
|
|
17
|
+
'accent-foreground',
|
|
18
|
+
'segment',
|
|
19
|
+
'segment-foreground',
|
|
20
|
+
'border',
|
|
21
|
+
'separator',
|
|
22
|
+
'focus',
|
|
23
|
+
'link',
|
|
24
|
+
'default',
|
|
25
|
+
'default-foreground',
|
|
26
|
+
'success',
|
|
27
|
+
'success-foreground',
|
|
28
|
+
'warning',
|
|
29
|
+
'warning-foreground',
|
|
30
|
+
'danger',
|
|
31
|
+
'danger-foreground',
|
|
32
|
+
'field',
|
|
33
|
+
'field-foreground',
|
|
34
|
+
'field-placeholder',
|
|
35
|
+
'field-border',
|
|
36
|
+
'background-secondary',
|
|
37
|
+
'background-tertiary',
|
|
38
|
+
'background-inverse',
|
|
39
|
+
'default-hover',
|
|
40
|
+
'accent-hover',
|
|
41
|
+
'success-hover',
|
|
42
|
+
'warning-hover',
|
|
43
|
+
'danger-hover',
|
|
44
|
+
'field-hover',
|
|
45
|
+
'field-focus',
|
|
46
|
+
'field-border-hover',
|
|
47
|
+
'field-border-focus',
|
|
48
|
+
'accent-soft',
|
|
49
|
+
'accent-soft-foreground',
|
|
50
|
+
'accent-soft-hover',
|
|
51
|
+
'danger-soft',
|
|
52
|
+
'danger-soft-foreground',
|
|
53
|
+
'danger-soft-hover',
|
|
54
|
+
'warning-soft',
|
|
55
|
+
'warning-soft-foreground',
|
|
56
|
+
'warning-soft-hover',
|
|
57
|
+
'success-soft',
|
|
58
|
+
'success-soft-foreground',
|
|
59
|
+
'success-soft-hover',
|
|
60
|
+
'surface-secondary',
|
|
61
|
+
'surface-tertiary',
|
|
62
|
+
'on-surface',
|
|
63
|
+
'on-surface-foreground',
|
|
64
|
+
'on-surface-hover',
|
|
65
|
+
'on-surface-focus',
|
|
66
|
+
'on-surface-secondary',
|
|
67
|
+
'on-surface-secondary-foreground',
|
|
68
|
+
'on-surface-secondary-hover',
|
|
69
|
+
'on-surface-secondary-focus',
|
|
70
|
+
'on-surface-tertiary',
|
|
71
|
+
'on-surface-tertiary-foreground',
|
|
72
|
+
'on-surface-tertiary-hover',
|
|
73
|
+
'on-surface-tertiary-focus',
|
|
74
|
+
'separator-secondary',
|
|
75
|
+
'separator-tertiary',
|
|
76
|
+
'border-secondary',
|
|
77
|
+
'border-tertiary',
|
|
78
|
+
] as const;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Theme colors type derived from THEME_COLORS array
|
|
82
|
+
*/
|
|
83
|
+
export type ThemeColor = (typeof THEME_COLORS)[number];
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Helper type to create a tuple of strings with the same length as the input array
|
|
87
|
+
*/
|
|
88
|
+
type CreateStringTuple<
|
|
89
|
+
N extends number,
|
|
90
|
+
TAcc extends string[] = [],
|
|
91
|
+
> = TAcc['length'] extends N ? TAcc : CreateStringTuple<N, [...TAcc, string]>;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Hook to retrieve theme color values from CSS variables.
|
|
95
|
+
* Supports both single color and multiple colors for efficient batch retrieval.
|
|
96
|
+
*
|
|
97
|
+
* @param themeColor - Single theme color name or array of theme color names
|
|
98
|
+
* @returns Single color string or array of color strings
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* // Single color
|
|
102
|
+
* const primaryColor = useThemeColor('accent');
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* // Multiple colors (more efficient)
|
|
106
|
+
* const [primaryColor, backgroundColor] = useThemeColor(['accent', 'background']);
|
|
107
|
+
*/
|
|
108
|
+
export function useThemeColor(themeColor: ThemeColor): string;
|
|
109
|
+
export function useThemeColor<T extends readonly [ThemeColor, ...ThemeColor[]]>(
|
|
110
|
+
themeColor: T
|
|
111
|
+
): CreateStringTuple<T['length']>;
|
|
112
|
+
export function useThemeColor(themeColor: ThemeColor[]): string[];
|
|
113
|
+
export function useThemeColor(
|
|
114
|
+
themeColor: ThemeColor | ThemeColor[]
|
|
115
|
+
): string | string[] {
|
|
116
|
+
const isArray = Array.isArray(themeColor);
|
|
117
|
+
const cssVariables = isArray
|
|
118
|
+
? themeColor.map((color) => `--color-${color}`)
|
|
119
|
+
: [`--color-${themeColor}`];
|
|
120
|
+
|
|
121
|
+
const resolvedColors = useCSSVariable(cssVariables);
|
|
122
|
+
|
|
123
|
+
const processedColors: string[] = resolvedColors.map((color) => {
|
|
124
|
+
if (typeof color === 'string') {
|
|
125
|
+
return color;
|
|
126
|
+
}
|
|
127
|
+
if (typeof color === 'number') {
|
|
128
|
+
return String(color);
|
|
129
|
+
}
|
|
130
|
+
return 'invalid';
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
if (isArray) {
|
|
134
|
+
return processedColors;
|
|
135
|
+
}
|
|
136
|
+
return processedColors[0]!;
|
|
137
|
+
}
|