@ankhorage/surface 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +163 -49
- package/dist/components/badge/Badge.d.ts +4 -0
- package/dist/components/badge/Badge.d.ts.map +1 -0
- package/dist/components/badge/Badge.js +30 -0
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/badge/types.d.ts +12 -0
- package/dist/components/badge/types.d.ts.map +1 -0
- package/dist/components/badge/types.js +2 -0
- package/dist/components/badge/types.js.map +1 -0
- package/dist/components/button/Button.d.ts +4 -0
- package/dist/components/button/Button.d.ts.map +1 -0
- package/dist/components/button/Button.js +50 -0
- package/dist/components/button/Button.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +2 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/types.d.ts +21 -0
- package/dist/components/button/types.d.ts.map +1 -0
- package/dist/components/button/types.js +2 -0
- package/dist/components/button/types.js.map +1 -0
- package/dist/components/card/Card.d.ts +4 -0
- package/dist/components/card/Card.d.ts.map +1 -0
- package/dist/components/card/Card.js +46 -0
- package/dist/components/card/Card.js.map +1 -0
- package/dist/components/card/index.d.ts +3 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/card/types.d.ts +10 -0
- package/dist/components/card/types.d.ts.map +1 -0
- package/dist/components/card/types.js +2 -0
- package/dist/components/card/types.js.map +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +4 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.js +61 -0
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/checkbox/types.d.ts +15 -0
- package/dist/components/checkbox/types.d.ts.map +1 -0
- package/dist/components/checkbox/types.js +2 -0
- package/dist/components/checkbox/types.js.map +1 -0
- package/dist/components/drawer/Drawer.d.ts +4 -0
- package/dist/components/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/drawer/Drawer.js +56 -0
- package/dist/components/drawer/Drawer.js.map +1 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +2 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/drawer/types.d.ts +10 -0
- package/dist/components/drawer/types.d.ts.map +1 -0
- package/dist/components/drawer/types.js +2 -0
- package/dist/components/drawer/types.js.map +1 -0
- package/dist/components/field/Field.d.ts +4 -0
- package/dist/components/field/Field.d.ts.map +1 -0
- package/dist/components/field/Field.js +25 -0
- package/dist/components/field/Field.js.map +1 -0
- package/dist/components/field/index.d.ts +3 -0
- package/dist/components/field/index.d.ts.map +1 -0
- package/dist/components/field/index.js +2 -0
- package/dist/components/field/index.js.map +1 -0
- package/dist/components/field/types.d.ts +13 -0
- package/dist/components/field/types.d.ts.map +1 -0
- package/dist/components/field/types.js +2 -0
- package/dist/components/field/types.js.map +1 -0
- package/dist/components/helper-text/HelperText.d.ts +4 -0
- package/dist/components/helper-text/HelperText.d.ts.map +1 -0
- package/dist/components/helper-text/HelperText.js +10 -0
- package/dist/components/helper-text/HelperText.js.map +1 -0
- package/dist/components/helper-text/index.d.ts +3 -0
- package/dist/components/helper-text/index.d.ts.map +1 -0
- package/dist/components/helper-text/index.js +2 -0
- package/dist/components/helper-text/index.js.map +1 -0
- package/dist/components/helper-text/types.d.ts +7 -0
- package/dist/components/helper-text/types.d.ts.map +1 -0
- package/dist/components/helper-text/types.js +2 -0
- package/dist/components/helper-text/types.js.map +1 -0
- package/dist/components/icon-button/IconButton.d.ts +4 -0
- package/dist/components/icon-button/IconButton.d.ts.map +1 -0
- package/dist/components/icon-button/IconButton.js +28 -0
- package/dist/components/icon-button/IconButton.js.map +1 -0
- package/dist/components/icon-button/index.d.ts +3 -0
- package/dist/components/icon-button/index.d.ts.map +1 -0
- package/dist/components/icon-button/index.js +2 -0
- package/dist/components/icon-button/index.js.map +1 -0
- package/dist/components/icon-button/types.d.ts +16 -0
- package/dist/components/icon-button/types.d.ts.map +1 -0
- package/dist/components/icon-button/types.js +2 -0
- package/dist/components/icon-button/types.js.map +1 -0
- package/dist/components/label/Label.d.ts +4 -0
- package/dist/components/label/Label.d.ts.map +1 -0
- package/dist/components/label/Label.js +13 -0
- package/dist/components/label/Label.js.map +1 -0
- package/dist/components/label/index.d.ts +3 -0
- package/dist/components/label/index.d.ts.map +1 -0
- package/dist/components/label/index.js +2 -0
- package/dist/components/label/index.js.map +1 -0
- package/dist/components/label/types.d.ts +8 -0
- package/dist/components/label/types.d.ts.map +1 -0
- package/dist/components/label/types.js +2 -0
- package/dist/components/label/types.js.map +1 -0
- package/dist/components/list-item/ListItem.d.ts +4 -0
- package/dist/components/list-item/ListItem.d.ts.map +1 -0
- package/dist/components/list-item/ListItem.js +43 -0
- package/dist/components/list-item/ListItem.js.map +1 -0
- package/dist/components/list-item/index.d.ts +3 -0
- package/dist/components/list-item/index.d.ts.map +1 -0
- package/dist/components/list-item/index.js +2 -0
- package/dist/components/list-item/index.js.map +1 -0
- package/dist/components/list-item/types.d.ts +11 -0
- package/dist/components/list-item/types.d.ts.map +1 -0
- package/dist/components/list-item/types.js +2 -0
- package/dist/components/list-item/types.js.map +1 -0
- package/dist/components/menu/Menu.d.ts +4 -0
- package/dist/components/menu/Menu.d.ts.map +1 -0
- package/dist/components/menu/Menu.js +125 -0
- package/dist/components/menu/Menu.js.map +1 -0
- package/dist/components/menu/index.d.ts +3 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/index.js +2 -0
- package/dist/components/menu/index.js.map +1 -0
- package/dist/components/menu/navigation.d.ts +4 -0
- package/dist/components/menu/navigation.d.ts.map +1 -0
- package/dist/components/menu/navigation.js +25 -0
- package/dist/components/menu/navigation.js.map +1 -0
- package/dist/components/menu/types.d.ts +15 -0
- package/dist/components/menu/types.d.ts.map +1 -0
- package/dist/components/menu/types.js +2 -0
- package/dist/components/menu/types.js.map +1 -0
- package/dist/components/modal/Modal.d.ts +4 -0
- package/dist/components/modal/Modal.d.ts.map +1 -0
- package/dist/components/modal/Modal.js +52 -0
- package/dist/components/modal/Modal.js.map +1 -0
- package/dist/components/modal/index.d.ts +3 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +2 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/types.d.ts +9 -0
- package/dist/components/modal/types.d.ts.map +1 -0
- package/dist/components/modal/types.js +2 -0
- package/dist/components/modal/types.js.map +1 -0
- package/dist/components/radio/Radio.d.ts +4 -0
- package/dist/components/radio/Radio.d.ts.map +1 -0
- package/dist/components/radio/Radio.js +63 -0
- package/dist/components/radio/Radio.js.map +1 -0
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +2 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/radio/types.d.ts +15 -0
- package/dist/components/radio/types.d.ts.map +1 -0
- package/dist/components/radio/types.js +2 -0
- package/dist/components/radio/types.js.map +1 -0
- package/dist/components/switch/Switch.d.ts +4 -0
- package/dist/components/switch/Switch.d.ts.map +1 -0
- package/dist/components/switch/Switch.js +65 -0
- package/dist/components/switch/Switch.js.map +1 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +2 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/types.d.ts +15 -0
- package/dist/components/switch/types.d.ts.map +1 -0
- package/dist/components/switch/types.js +2 -0
- package/dist/components/switch/types.js.map +1 -0
- package/dist/components/tabs/Tab.d.ts +4 -0
- package/dist/components/tabs/Tab.d.ts.map +1 -0
- package/dist/components/tabs/Tab.js +43 -0
- package/dist/components/tabs/Tab.js.map +1 -0
- package/dist/components/tabs/TabList.d.ts +4 -0
- package/dist/components/tabs/TabList.d.ts.map +1 -0
- package/dist/components/tabs/TabList.js +37 -0
- package/dist/components/tabs/TabList.js.map +1 -0
- package/dist/components/tabs/TabPanel.d.ts +4 -0
- package/dist/components/tabs/TabPanel.d.ts.map +1 -0
- package/dist/components/tabs/TabPanel.js +13 -0
- package/dist/components/tabs/TabPanel.js.map +1 -0
- package/dist/components/tabs/Tabs.d.ts +4 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.js +51 -0
- package/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/components/tabs/context.d.ts +18 -0
- package/dist/components/tabs/context.d.ts.map +1 -0
- package/dist/components/tabs/context.js +10 -0
- package/dist/components/tabs/context.js.map +1 -0
- package/dist/components/tabs/index.d.ts +6 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +5 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/navigation.d.ts +3 -0
- package/dist/components/tabs/navigation.d.ts.map +1 -0
- package/dist/components/tabs/navigation.js +21 -0
- package/dist/components/tabs/navigation.js.map +1 -0
- package/dist/components/tabs/types.d.ts +24 -0
- package/dist/components/tabs/types.d.ts.map +1 -0
- package/dist/components/tabs/types.js +2 -0
- package/dist/components/tabs/types.js.map +1 -0
- package/dist/components/text-input/TextInput.d.ts +4 -0
- package/dist/components/text-input/TextInput.d.ts.map +1 -0
- package/dist/components/text-input/TextInput.js +66 -0
- package/dist/components/text-input/TextInput.js.map +1 -0
- package/dist/components/text-input/index.d.ts +3 -0
- package/dist/components/text-input/index.d.ts.map +1 -0
- package/dist/components/text-input/index.js +2 -0
- package/dist/components/text-input/index.js.map +1 -0
- package/dist/components/text-input/types.d.ts +18 -0
- package/dist/components/text-input/types.d.ts.map +1 -0
- package/dist/components/text-input/types.js +2 -0
- package/dist/components/text-input/types.js.map +1 -0
- package/dist/components/textarea/Textarea.d.ts +4 -0
- package/dist/components/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.js +6 -0
- package/dist/components/textarea/Textarea.js.map +1 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textarea/types.d.ts +5 -0
- package/dist/components/textarea/types.d.ts.map +1 -0
- package/dist/components/textarea/types.js +2 -0
- package/dist/components/textarea/types.js.map +1 -0
- package/dist/components/toast/Toast.d.ts +4 -0
- package/dist/components/toast/Toast.d.ts.map +1 -0
- package/dist/components/toast/Toast.js +34 -0
- package/dist/components/toast/Toast.js.map +1 -0
- package/dist/components/toast/ToastProvider.d.ts +13 -0
- package/dist/components/toast/ToastProvider.d.ts.map +1 -0
- package/dist/components/toast/ToastProvider.js +69 -0
- package/dist/components/toast/ToastProvider.js.map +1 -0
- package/dist/components/toast/index.d.ts +4 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +3 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/types.d.ts +14 -0
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/toast/types.js +2 -0
- package/dist/components/toast/types.js.map +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +4 -0
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/Tooltip.js +69 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +2 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/types.d.ts +9 -0
- package/dist/components/tooltip/types.d.ts.map +1 -0
- package/dist/components/tooltip/types.js +2 -0
- package/dist/components/tooltip/types.js.map +1 -0
- package/dist/context/FontContext.d.ts.map +1 -1
- package/dist/context/FontContext.js +3 -1
- package/dist/context/FontContext.js.map +1 -1
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/focus/FocusScope.d.ts +9 -0
- package/dist/internal/focus/FocusScope.d.ts.map +1 -0
- package/dist/internal/focus/FocusScope.js +44 -0
- package/dist/internal/focus/FocusScope.js.map +1 -0
- package/dist/internal/focus/useFocusManager.d.ts +14 -0
- package/dist/internal/focus/useFocusManager.d.ts.map +1 -0
- package/dist/internal/focus/useFocusManager.js +74 -0
- package/dist/internal/focus/useFocusManager.js.map +1 -0
- package/dist/internal/overlay/OverlayProvider.d.ts +5 -0
- package/dist/internal/overlay/OverlayProvider.d.ts.map +1 -0
- package/dist/internal/overlay/OverlayProvider.js +47 -0
- package/dist/internal/overlay/OverlayProvider.js.map +1 -0
- package/dist/internal/overlay/Portal.d.ts +9 -0
- package/dist/internal/overlay/Portal.d.ts.map +1 -0
- package/dist/internal/overlay/Portal.js +24 -0
- package/dist/internal/overlay/Portal.js.map +1 -0
- package/dist/internal/overlay/useOverlayStack.d.ts +23 -0
- package/dist/internal/overlay/useOverlayStack.d.ts.map +1 -0
- package/dist/internal/overlay/useOverlayStack.js +30 -0
- package/dist/internal/overlay/useOverlayStack.js.map +1 -0
- package/dist/internal/resolvers/index.d.ts +14 -0
- package/dist/internal/resolvers/index.d.ts.map +1 -0
- package/dist/internal/resolvers/index.js +14 -0
- package/dist/internal/resolvers/index.js.map +1 -0
- package/dist/internal/resolvers/resolveControlSize.d.ts +12 -0
- package/dist/internal/resolvers/resolveControlSize.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveControlSize.js +33 -0
- package/dist/internal/resolvers/resolveControlSize.js.map +1 -0
- package/dist/internal/resolvers/resolveFieldState.d.ts +10 -0
- package/dist/internal/resolvers/resolveFieldState.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveFieldState.js +23 -0
- package/dist/internal/resolvers/resolveFieldState.js.map +1 -0
- package/dist/internal/resolvers/resolveFocusRingStyles.d.ts +3 -0
- package/dist/internal/resolvers/resolveFocusRingStyles.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveFocusRingStyles.js +12 -0
- package/dist/internal/resolvers/resolveFocusRingStyles.js.map +1 -0
- package/dist/internal/resolvers/resolveIconSize.d.ts +4 -0
- package/dist/internal/resolvers/resolveIconSize.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveIconSize.js +5 -0
- package/dist/internal/resolvers/resolveIconSize.js.map +1 -0
- package/dist/internal/resolvers/resolveIndicatorSize.d.ts +12 -0
- package/dist/internal/resolvers/resolveIndicatorSize.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveIndicatorSize.js +36 -0
- package/dist/internal/resolvers/resolveIndicatorSize.js.map +1 -0
- package/dist/internal/resolvers/resolveInteractiveColors.d.ts +20 -0
- package/dist/internal/resolvers/resolveInteractiveColors.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveInteractiveColors.js +101 -0
- package/dist/internal/resolvers/resolveInteractiveColors.js.map +1 -0
- package/dist/internal/resolvers/resolveInteractiveState.d.ts +8 -0
- package/dist/internal/resolvers/resolveInteractiveState.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveInteractiveState.js +9 -0
- package/dist/internal/resolvers/resolveInteractiveState.js.map +1 -0
- package/dist/internal/resolvers/resolveOverlayAnimation.d.ts +9 -0
- package/dist/internal/resolvers/resolveOverlayAnimation.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveOverlayAnimation.js +16 -0
- package/dist/internal/resolvers/resolveOverlayAnimation.js.map +1 -0
- package/dist/internal/resolvers/resolveOverlayZIndex.d.ts +3 -0
- package/dist/internal/resolvers/resolveOverlayZIndex.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveOverlayZIndex.js +11 -0
- package/dist/internal/resolvers/resolveOverlayZIndex.js.map +1 -0
- package/dist/internal/resolvers/resolveSelectionControlColors.d.ts +20 -0
- package/dist/internal/resolvers/resolveSelectionControlColors.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveSelectionControlColors.js +51 -0
- package/dist/internal/resolvers/resolveSelectionControlColors.js.map +1 -0
- package/dist/internal/resolvers/resolveTextColor.d.ts +5 -0
- package/dist/internal/resolvers/resolveTextColor.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveTextColor.js +18 -0
- package/dist/internal/resolvers/resolveTextColor.js.map +1 -0
- package/dist/internal/resolvers/resolveTextStyles.d.ts +13 -0
- package/dist/internal/resolvers/resolveTextStyles.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveTextStyles.js +69 -0
- package/dist/internal/resolvers/resolveTextStyles.js.map +1 -0
- package/dist/internal/resolvers/resolveTone.d.ts +4 -0
- package/dist/internal/resolvers/resolveTone.d.ts.map +1 -0
- package/dist/internal/resolvers/resolveTone.js +16 -0
- package/dist/internal/resolvers/resolveTone.js.map +1 -0
- package/dist/internal/useControllableState.d.ts +6 -0
- package/dist/internal/useControllableState.d.ts.map +1 -0
- package/dist/internal/useControllableState.js +14 -0
- package/dist/internal/useControllableState.js.map +1 -0
- package/dist/layout/Box.js.map +1 -1
- package/dist/layout/Center.d.ts +7 -0
- package/dist/layout/Center.d.ts.map +1 -0
- package/dist/layout/Center.js +12 -0
- package/dist/layout/Center.js.map +1 -0
- package/dist/layout/Divider.d.ts +10 -0
- package/dist/layout/Divider.d.ts.map +1 -0
- package/dist/layout/Divider.js +6 -0
- package/dist/layout/Divider.js.map +1 -0
- package/dist/layout/Inline.d.ts +5 -0
- package/dist/layout/Inline.d.ts.map +1 -0
- package/dist/layout/Inline.js +6 -0
- package/dist/layout/Inline.js.map +1 -0
- package/dist/layout/Spacer.d.ts +9 -0
- package/dist/layout/Spacer.d.ts.map +1 -0
- package/dist/layout/Spacer.js +12 -0
- package/dist/layout/Spacer.js.map +1 -0
- package/dist/layout/Surface.d.ts +8 -0
- package/dist/layout/Surface.d.ts.map +1 -0
- package/dist/layout/Surface.js +48 -0
- package/dist/layout/Surface.js.map +1 -0
- package/dist/layout/helpers.js.map +1 -1
- package/dist/layout/index.d.ts +10 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +5 -0
- package/dist/layout/index.js.map +1 -1
- package/dist/primitives/button-base/ButtonBase.d.ts +4 -0
- package/dist/primitives/button-base/ButtonBase.d.ts.map +1 -0
- package/dist/primitives/button-base/ButtonBase.js +40 -0
- package/dist/primitives/button-base/ButtonBase.js.map +1 -0
- package/dist/primitives/button-base/index.d.ts +3 -0
- package/dist/primitives/button-base/index.d.ts.map +1 -0
- package/dist/primitives/button-base/index.js +2 -0
- package/dist/primitives/button-base/index.js.map +1 -0
- package/dist/primitives/button-base/types.d.ts +15 -0
- package/dist/primitives/button-base/types.d.ts.map +1 -0
- package/dist/primitives/button-base/types.js +2 -0
- package/dist/primitives/button-base/types.js.map +1 -0
- package/dist/primitives/heading/resolveHeadingStyle.d.ts.map +1 -1
- package/dist/primitives/heading/resolveHeadingStyle.js +5 -16
- package/dist/primitives/heading/resolveHeadingStyle.js.map +1 -1
- package/dist/primitives/icon/resolveExpoIconComponent.d.ts.map +1 -1
- package/dist/primitives/icon/resolveExpoIconComponent.js +3 -1
- package/dist/primitives/icon/resolveExpoIconComponent.js.map +1 -1
- package/dist/primitives/text/Text.d.ts +4 -0
- package/dist/primitives/text/Text.d.ts.map +1 -0
- package/dist/primitives/text/Text.js +40 -0
- package/dist/primitives/text/Text.js.map +1 -0
- package/dist/primitives/text/index.d.ts +3 -0
- package/dist/primitives/text/index.d.ts.map +1 -0
- package/dist/primitives/text/index.js +2 -0
- package/dist/primitives/text/index.js.map +1 -0
- package/dist/primitives/text/types.d.ts +17 -0
- package/dist/primitives/text/types.d.ts.map +1 -0
- package/dist/primitives/text/types.js +2 -0
- package/dist/primitives/text/types.js.map +1 -0
- package/dist/theme/ThemeContext.d.ts.map +1 -1
- package/dist/theme/ThemeContext.js +10 -3
- package/dist/theme/ThemeContext.js.map +1 -1
- package/dist/theme/colorEngine.d.ts +2 -8
- package/dist/theme/colorEngine.d.ts.map +1 -1
- package/dist/theme/colorEngine.js +62 -9
- package/dist/theme/colorEngine.js.map +1 -1
- package/dist/theme/types.d.ts +36 -7
- package/dist/theme/types.d.ts.map +1 -1
- package/package.json +30 -4
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Pressable } from 'react-native';
|
|
3
|
+
import { Box, Inline, Surface } from '../../layout';
|
|
4
|
+
import { Text } from '../../primitives/text';
|
|
5
|
+
import { useTheme } from '../../theme/ThemeContext';
|
|
6
|
+
export function Toast({ title, description, tone = 'default', onDismiss, testID }) {
|
|
7
|
+
const { theme } = useTheme();
|
|
8
|
+
const toneColor = tone === 'success'
|
|
9
|
+
? theme.semantics.success.base
|
|
10
|
+
: tone === 'danger'
|
|
11
|
+
? theme.semantics.danger.base
|
|
12
|
+
: theme.semantics.action.primary.base;
|
|
13
|
+
return (<Surface p="m" style={{
|
|
14
|
+
borderLeftColor: toneColor,
|
|
15
|
+
borderLeftWidth: 3,
|
|
16
|
+
minWidth: 280,
|
|
17
|
+
shadowOpacity: 0.14,
|
|
18
|
+
shadowRadius: 12,
|
|
19
|
+
shadowOffset: { width: 0, height: 6 },
|
|
20
|
+
}} testID={testID} variant="raised">
|
|
21
|
+
<Inline align="center" justify="space-between">
|
|
22
|
+
<Box flex={1}>
|
|
23
|
+
{title ? (<Text variant="label" weight="medium">
|
|
24
|
+
{title}
|
|
25
|
+
</Text>) : null}
|
|
26
|
+
{description ? <Text tone="muted">{description}</Text> : null}
|
|
27
|
+
</Box>
|
|
28
|
+
{onDismiss ? (<Pressable accessibilityLabel="Dismiss notification" accessibilityRole="button" onPress={onDismiss} testID={testID ? `${testID}-dismiss` : undefined}>
|
|
29
|
+
<Text color={toneColor}>×</Text>
|
|
30
|
+
</Pressable>) : null}
|
|
31
|
+
</Inline>
|
|
32
|
+
</Surface>);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,UAAU,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAc;IAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,SAAS,GACb,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;QAC9B,CAAC,CAAC,IAAI,KAAK,QAAQ;YACjB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI;YAC7B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;IAE5C,OAAO,CACL,CAAC,OAAO,CACN,CAAC,CAAC,GAAG,CACL,KAAK,CAAC,CAAC;YACL,eAAe,EAAE,SAAS;YAC1B,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SACtC,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,OAAO,CAAC,QAAQ,CAEhB;MAAA,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAC5C;QAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACX;UAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CACP,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CACnC;cAAA,CAAC,KAAK,CACR;YAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACR;UAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/D;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CACX,CAAC,SAAS,CACR,kBAAkB,CAAC,sBAAsB,CACzC,iBAAiB,CAAC,QAAQ,CAC1B,OAAO,CAAC,CAAC,SAAS,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAEjD;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CACjC;UAAA,EAAE,SAAS,CAAC,CACb,CAAC,CAAC,CAAC,IAAI,CACV;MAAA,EAAE,MAAM,CACV;IAAA,EAAE,OAAO,CAAC,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ToastOptions } from './types';
|
|
3
|
+
interface ToastContextValue {
|
|
4
|
+
dismissToast: (id: string) => void;
|
|
5
|
+
showToast: (options: ToastOptions) => string;
|
|
6
|
+
}
|
|
7
|
+
export declare function ToastProvider({ children, defaultDuration, }: {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
defaultDuration?: number;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
export declare function useToast(): ToastContextValue;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ToastProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../src/components/toast/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C,UAAU,iBAAiB;IACzB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC;CAC9C;AAMD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,eAAsB,GACvB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,qBA4EA;AAED,wBAAgB,QAAQ,sBAQvB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Portal } from '../../internal/overlay/Portal';
|
|
3
|
+
import { resolveOverlayAnimation } from '../../internal/resolvers';
|
|
4
|
+
import { Stack } from '../../layout';
|
|
5
|
+
import { Toast } from './Toast';
|
|
6
|
+
const ToastContext = React.createContext(null);
|
|
7
|
+
let toastCounter = 0;
|
|
8
|
+
export function ToastProvider({ children, defaultDuration = 4000, }) {
|
|
9
|
+
const [toasts, setToasts] = React.useState([]);
|
|
10
|
+
const animation = resolveOverlayAnimation('toast');
|
|
11
|
+
const timersRef = React.useRef(new Map());
|
|
12
|
+
const dismissToast = React.useCallback((id) => {
|
|
13
|
+
const timer = timersRef.current.get(id);
|
|
14
|
+
if (timer) {
|
|
15
|
+
clearTimeout(timer);
|
|
16
|
+
timersRef.current.delete(id);
|
|
17
|
+
}
|
|
18
|
+
setToasts((current) => current.filter((toast) => toast.id !== id));
|
|
19
|
+
}, []);
|
|
20
|
+
const showToast = React.useCallback((options) => {
|
|
21
|
+
const id = options.id ?? `toast-${toastCounter++}`;
|
|
22
|
+
setToasts((current) => [...current, { ...options, id }]);
|
|
23
|
+
return id;
|
|
24
|
+
}, []);
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
toasts.forEach((toast) => {
|
|
27
|
+
if (timersRef.current.has(toast.id)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const timer = setTimeout(() => {
|
|
31
|
+
dismissToast(toast.id);
|
|
32
|
+
}, toast.duration ?? defaultDuration);
|
|
33
|
+
timersRef.current.set(toast.id, timer);
|
|
34
|
+
});
|
|
35
|
+
const activeToastIds = new Set(toasts.map((toast) => toast.id));
|
|
36
|
+
timersRef.current.forEach((timer, id) => {
|
|
37
|
+
if (!activeToastIds.has(id)) {
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
timersRef.current.delete(id);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}, [defaultDuration, dismissToast, toasts]);
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
return () => {
|
|
45
|
+
timersRef.current.forEach((timer) => clearTimeout(timer));
|
|
46
|
+
timersRef.current.clear();
|
|
47
|
+
};
|
|
48
|
+
}, []);
|
|
49
|
+
return (<ToastContext.Provider value={{ dismissToast, showToast }}>
|
|
50
|
+
{children}
|
|
51
|
+
<Portal layer="toast" visible={toasts.length > 0}>
|
|
52
|
+
<Stack gap="s" pointerEvents="box-none" style={{
|
|
53
|
+
alignItems: 'flex-end',
|
|
54
|
+
padding: 16,
|
|
55
|
+
paddingTop: 16 + animation.offset,
|
|
56
|
+
}}>
|
|
57
|
+
{toasts.map((toast) => (<Toast description={toast.description} key={toast.id} onDismiss={() => dismissToast(toast.id)} testID={toast.testID} title={toast.title} tone={toast.tone}/>))}
|
|
58
|
+
</Stack>
|
|
59
|
+
</Portal>
|
|
60
|
+
</ToastContext.Provider>);
|
|
61
|
+
}
|
|
62
|
+
export function useToast() {
|
|
63
|
+
const context = React.useContext(ToastContext);
|
|
64
|
+
if (!context) {
|
|
65
|
+
throw new Error('useToast must be used within <ToastProvider>.');
|
|
66
|
+
}
|
|
67
|
+
return context;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=ToastProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastProvider.js","sourceRoot":"","sources":["../../../src/components/toast/ToastProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export type ToastTone = 'default' | 'success' | 'danger';
|
|
3
|
+
export interface ToastProps {
|
|
4
|
+
title?: React.ReactNode;
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
tone?: ToastTone;
|
|
7
|
+
onDismiss?: (() => void) | undefined;
|
|
8
|
+
testID?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ToastOptions extends Omit<ToastProps, 'onDismiss'> {
|
|
11
|
+
duration?: number;
|
|
12
|
+
id?: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAe5C,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,KAAW,EACX,SAAiB,EACjB,MAAM,GACP,EAAE,YAAY,qBA+Ed"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Platform, Pressable, View } from 'react-native';
|
|
3
|
+
import { Portal } from '../../internal/overlay/Portal';
|
|
4
|
+
import { resolveOverlayAnimation } from '../../internal/resolvers';
|
|
5
|
+
import { Surface } from '../../layout';
|
|
6
|
+
import { Text } from '../../primitives/text';
|
|
7
|
+
import { useTheme } from '../../theme/ThemeContext';
|
|
8
|
+
function measureNode(node, callback) {
|
|
9
|
+
const measurableNode = node;
|
|
10
|
+
measurableNode?.measureInWindow?.((x, y, width, height) => {
|
|
11
|
+
callback({ height, width, x, y });
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export function Tooltip({ children, content, delay = 150, placement = 'top', testID, }) {
|
|
15
|
+
const { theme } = useTheme();
|
|
16
|
+
const animation = resolveOverlayAnimation('tooltip');
|
|
17
|
+
const anchorRef = React.useRef(null);
|
|
18
|
+
const timeoutRef = React.useRef(null);
|
|
19
|
+
const [visible, setVisible] = React.useState(false);
|
|
20
|
+
const [layout, setLayout] = React.useState(null);
|
|
21
|
+
const show = React.useCallback(() => {
|
|
22
|
+
if (timeoutRef.current) {
|
|
23
|
+
clearTimeout(timeoutRef.current);
|
|
24
|
+
}
|
|
25
|
+
timeoutRef.current = setTimeout(() => {
|
|
26
|
+
measureNode(anchorRef.current, setLayout);
|
|
27
|
+
setVisible(true);
|
|
28
|
+
}, delay);
|
|
29
|
+
}, [delay]);
|
|
30
|
+
const hide = React.useCallback(() => {
|
|
31
|
+
if (timeoutRef.current) {
|
|
32
|
+
clearTimeout(timeoutRef.current);
|
|
33
|
+
timeoutRef.current = null;
|
|
34
|
+
}
|
|
35
|
+
setVisible(false);
|
|
36
|
+
}, []);
|
|
37
|
+
React.useEffect(() => () => {
|
|
38
|
+
if (timeoutRef.current) {
|
|
39
|
+
clearTimeout(timeoutRef.current);
|
|
40
|
+
}
|
|
41
|
+
}, []);
|
|
42
|
+
const tooltipLeft = layout ? layout.x : 0;
|
|
43
|
+
const tooltipTop = layout && placement === 'top'
|
|
44
|
+
? layout.y - animation.offset
|
|
45
|
+
: layout
|
|
46
|
+
? layout.y + layout.height + animation.offset
|
|
47
|
+
: 0;
|
|
48
|
+
return (<View collapsable={false} ref={anchorRef} testID={testID ? `${testID}-anchor` : undefined}>
|
|
49
|
+
<Pressable onBlur={hide} onFocus={show} onHoverIn={Platform.OS === 'web' ? show : undefined} onHoverOut={Platform.OS === 'web' ? hide : undefined}>
|
|
50
|
+
{children}
|
|
51
|
+
</Pressable>
|
|
52
|
+
<Portal layer="tooltip" visible={visible && Boolean(layout)}>
|
|
53
|
+
<View pointerEvents="none" style={{
|
|
54
|
+
left: tooltipLeft,
|
|
55
|
+
position: 'absolute',
|
|
56
|
+
top: tooltipTop,
|
|
57
|
+
}}>
|
|
58
|
+
<Surface p="s" style={{
|
|
59
|
+
backgroundColor: theme.semantics.neutral.text,
|
|
60
|
+
}} testID={testID} variant="raised">
|
|
61
|
+
<Text color={theme.semantics.content.inverse} variant="caption">
|
|
62
|
+
{content}
|
|
63
|
+
</Text>
|
|
64
|
+
</Surface>
|
|
65
|
+
</View>
|
|
66
|
+
</Portal>
|
|
67
|
+
</View>);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/tooltip/Tooltip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/tooltip/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FontContext.d.ts","sourceRoot":"","sources":["../../src/context/FontContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IAErB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,uCAAuC;IACvC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"FontContext.d.ts","sourceRoot":"","sources":["../../src/context/FontContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IAErB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,uCAAuC;IACvC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAYD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,qBAuBA;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C"}
|
|
@@ -2,7 +2,9 @@ import React, { createContext, useContext, useMemo, useState } from 'react';
|
|
|
2
2
|
const fallbackRuntime = {
|
|
3
3
|
fontsLoaded: true,
|
|
4
4
|
activeFontId: null,
|
|
5
|
-
setActiveFontId: () => {
|
|
5
|
+
setActiveFontId: () => {
|
|
6
|
+
/* fallback */
|
|
7
|
+
},
|
|
6
8
|
};
|
|
7
9
|
const FontContext = createContext(fallbackRuntime);
|
|
8
10
|
export function FontProvider(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FontContext.js","sourceRoot":"","sources":["../../src/context/FontContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAgB5E,MAAM,eAAe,GAAgB;IACnC,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"FontContext.js","sourceRoot":"","sources":["../../src/context/FontContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAgB5E,MAAM,eAAe,GAAgB;IACnC,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,GAAG,EAAE;QACpB,cAAc;IAChB,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,KAK5B;IACC,MAAM,EACJ,WAAW,EACX,YAAY,EAAE,mBAAmB,GAAG,IAAI,EACxC,QAAQ,EACR,kBAAkB,GACnB,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,WAAW;QACX,YAAY;QACZ,eAAe,EAAE,CAAC,EAAU,EAAE,EAAE;YAC9B,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,kBAAkB;gBAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,EACF,CAAC,WAAW,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAChD,CAAC;IAEF,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,55 @@
|
|
|
1
|
+
export type { BadgeProps } from './components/badge';
|
|
2
|
+
export { Badge } from './components/badge';
|
|
3
|
+
export type { ButtonIconSpec, ButtonProps } from './components/button';
|
|
4
|
+
export { Button } from './components/button';
|
|
5
|
+
export type { CardProps } from './components/card';
|
|
6
|
+
export { Card } from './components/card';
|
|
7
|
+
export type { CheckboxProps } from './components/checkbox';
|
|
8
|
+
export { Checkbox } from './components/checkbox';
|
|
9
|
+
export type { DrawerProps } from './components/drawer';
|
|
10
|
+
export { Drawer } from './components/drawer';
|
|
11
|
+
export type { FieldProps } from './components/field';
|
|
12
|
+
export { Field } from './components/field';
|
|
13
|
+
export type { HelperTextProps } from './components/helper-text';
|
|
14
|
+
export { HelperText } from './components/helper-text';
|
|
15
|
+
export type { IconButtonProps } from './components/icon-button';
|
|
16
|
+
export { IconButton } from './components/icon-button';
|
|
17
|
+
export type { LabelProps } from './components/label';
|
|
18
|
+
export { Label } from './components/label';
|
|
19
|
+
export type { ListItemProps } from './components/list-item';
|
|
20
|
+
export { ListItem } from './components/list-item';
|
|
21
|
+
export type { MenuItem, MenuProps } from './components/menu';
|
|
22
|
+
export { Menu } from './components/menu';
|
|
23
|
+
export type { ModalProps } from './components/modal';
|
|
24
|
+
export { Modal } from './components/modal';
|
|
25
|
+
export type { RadioProps } from './components/radio';
|
|
26
|
+
export { Radio } from './components/radio';
|
|
27
|
+
export type { SwitchProps } from './components/switch';
|
|
28
|
+
export { Switch } from './components/switch';
|
|
29
|
+
export type { TabListProps, TabPanelProps, TabProps, TabsProps } from './components/tabs';
|
|
30
|
+
export { Tab, TabList, TabPanel, Tabs } from './components/tabs';
|
|
31
|
+
export type { TextInputProps } from './components/text-input';
|
|
32
|
+
export { TextInput } from './components/text-input';
|
|
33
|
+
export type { TextareaProps } from './components/textarea';
|
|
34
|
+
export { Textarea } from './components/textarea';
|
|
35
|
+
export type { ToastOptions, ToastProps, ToastTone } from './components/toast';
|
|
36
|
+
export { Toast, ToastProvider, useToast } from './components/toast';
|
|
37
|
+
export type { TooltipProps } from './components/tooltip';
|
|
38
|
+
export { Tooltip } from './components/tooltip';
|
|
1
39
|
export type { FontRuntime } from './context/FontContext';
|
|
2
40
|
export { FontProvider, useFontContext } from './context/FontContext';
|
|
3
41
|
export type { I18nInstance, TranslationRuntime, Translator } from './context/TranslationContext';
|
|
4
42
|
export { TranslationProvider, useTranslationContext } from './context/TranslationContext';
|
|
5
43
|
export * from './core/responsive';
|
|
6
44
|
export * from './layout';
|
|
45
|
+
export type { ButtonBaseProps } from './primitives/button-base';
|
|
46
|
+
export { ButtonBase } from './primitives/button-base';
|
|
7
47
|
export type { HeadingLevel, HeadingProps } from './primitives/heading';
|
|
8
48
|
export { Heading } from './primitives/heading';
|
|
9
49
|
export type { IconProps, IconProvider } from './primitives/icon';
|
|
10
50
|
export { Icon } from './primitives/icon';
|
|
51
|
+
export type { TextProps } from './primitives/text';
|
|
52
|
+
export { Text } from './primitives/text';
|
|
11
53
|
export * from './theme';
|
|
12
54
|
export { isDeepEqual } from './utils/deepEqual';
|
|
13
55
|
export { deepMerge } from './utils/deepMerge';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,30 @@
|
|
|
1
|
+
export { Badge } from './components/badge';
|
|
2
|
+
export { Button } from './components/button';
|
|
3
|
+
export { Card } from './components/card';
|
|
4
|
+
export { Checkbox } from './components/checkbox';
|
|
5
|
+
export { Drawer } from './components/drawer';
|
|
6
|
+
export { Field } from './components/field';
|
|
7
|
+
export { HelperText } from './components/helper-text';
|
|
8
|
+
export { IconButton } from './components/icon-button';
|
|
9
|
+
export { Label } from './components/label';
|
|
10
|
+
export { ListItem } from './components/list-item';
|
|
11
|
+
export { Menu } from './components/menu';
|
|
12
|
+
export { Modal } from './components/modal';
|
|
13
|
+
export { Radio } from './components/radio';
|
|
14
|
+
export { Switch } from './components/switch';
|
|
15
|
+
export { Tab, TabList, TabPanel, Tabs } from './components/tabs';
|
|
16
|
+
export { TextInput } from './components/text-input';
|
|
17
|
+
export { Textarea } from './components/textarea';
|
|
18
|
+
export { Toast, ToastProvider, useToast } from './components/toast';
|
|
19
|
+
export { Tooltip } from './components/tooltip';
|
|
1
20
|
export { FontProvider, useFontContext } from './context/FontContext';
|
|
2
21
|
export { TranslationProvider, useTranslationContext } from './context/TranslationContext';
|
|
3
22
|
export * from './core/responsive';
|
|
4
23
|
export * from './layout';
|
|
24
|
+
export { ButtonBase } from './primitives/button-base';
|
|
5
25
|
export { Heading } from './primitives/heading';
|
|
6
26
|
export { Icon } from './primitives/icon';
|
|
27
|
+
export { Text } from './primitives/text';
|
|
7
28
|
export * from './theme';
|
|
8
29
|
export { isDeepEqual } from './utils/deepEqual';
|
|
9
30
|
export { deepMerge } from './utils/deepMerge';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface FocusScopeProps {
|
|
3
|
+
active: boolean;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
onEscape?: (() => void) | undefined;
|
|
6
|
+
testID?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function FocusScope({ active, children, onEscape, testID }: FocusScopeProps): React.JSX.Element;
|
|
9
|
+
//# sourceMappingURL=FocusScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusScope.d.ts","sourceRoot":"","sources":["../../../src/internal/focus/FocusScope.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,qBAqDjF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { useFocusManager } from './useFocusManager';
|
|
4
|
+
export function FocusScope({ active, children, onEscape, testID }) {
|
|
5
|
+
const containerRef = React.useRef(null);
|
|
6
|
+
const { bindKeydown, capturePreviousFocus, cycleFocus, focusFirst, restorePreviousFocus } = useFocusManager();
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
if (!active) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
capturePreviousFocus();
|
|
12
|
+
const timeoutId = setTimeout(() => {
|
|
13
|
+
focusFirst(containerRef.current);
|
|
14
|
+
}, 0);
|
|
15
|
+
const unbind = bindKeydown((event) => {
|
|
16
|
+
if (event.key === 'Tab') {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
cycleFocus(containerRef.current, Boolean(event.shiftKey));
|
|
19
|
+
}
|
|
20
|
+
if (event.key === 'Escape') {
|
|
21
|
+
onEscape?.();
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return () => {
|
|
25
|
+
clearTimeout(timeoutId);
|
|
26
|
+
unbind();
|
|
27
|
+
restorePreviousFocus();
|
|
28
|
+
};
|
|
29
|
+
}, [
|
|
30
|
+
active,
|
|
31
|
+
bindKeydown,
|
|
32
|
+
capturePreviousFocus,
|
|
33
|
+
cycleFocus,
|
|
34
|
+
focusFirst,
|
|
35
|
+
onEscape,
|
|
36
|
+
restorePreviousFocus,
|
|
37
|
+
]);
|
|
38
|
+
return (<View collapsable={false} ref={containerRef} testID={testID} style={{
|
|
39
|
+
flex: 1,
|
|
40
|
+
}}>
|
|
41
|
+
{children}
|
|
42
|
+
</View>);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=FocusScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusScope.js","sourceRoot":"","sources":["../../../src/internal/focus/FocusScope.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAmB;IAChF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,GACvF,eAAe,EAAE,CAAC;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oBAAoB,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3B,QAAQ,EAAE,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC;YACT,oBAAoB,EAAE,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,MAAM;QACN,WAAW;QACX,oBAAoB;QACpB,UAAU;QACV,UAAU;QACV,QAAQ;QACR,oBAAoB;KACrB,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,IAAI,CACH,WAAW,CAAC,CAAC,KAAK,CAAC,CACnB,GAAG,CAAC,CAAC,YAAY,CAAC,CAClB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC;YACL,IAAI,EAAE,CAAC;SACR,CAAC,CAEF;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface WebKeyboardEventLike {
|
|
2
|
+
key?: string;
|
|
3
|
+
preventDefault: () => void;
|
|
4
|
+
shiftKey?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function useFocusManager(): {
|
|
7
|
+
bindKeydown: (listener: (event: WebKeyboardEventLike) => void) => () => void;
|
|
8
|
+
capturePreviousFocus: () => void;
|
|
9
|
+
cycleFocus: (container: unknown, reverse?: boolean) => void;
|
|
10
|
+
focusFirst: (container: unknown) => void;
|
|
11
|
+
restorePreviousFocus: () => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useFocusManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusManager.d.ts","sourceRoot":"","sources":["../../../src/internal/focus/useFocusManager.ts"],"names":[],"mappings":"AAWA,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiCD,wBAAgB,eAAe;4BA6CoB,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI;;4BAtBrC,OAAO;4BAVP,OAAO;;EAsDzD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const FOCUSABLE_SELECTOR = 'button,[href],input,select,textarea,[tabindex]:not([tabindex="-1"])';
|
|
3
|
+
function getWebDocument() {
|
|
4
|
+
const maybeDocument = globalThis.document;
|
|
5
|
+
if (!maybeDocument || typeof maybeDocument !== 'object') {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return maybeDocument;
|
|
9
|
+
}
|
|
10
|
+
function getFocusableElements(container) {
|
|
11
|
+
if (!container || typeof container !== 'object') {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
const focusContainer = container;
|
|
15
|
+
if (typeof focusContainer.querySelectorAll !== 'function') {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
return Array.from(focusContainer.querySelectorAll(FOCUSABLE_SELECTOR));
|
|
19
|
+
}
|
|
20
|
+
export function useFocusManager() {
|
|
21
|
+
const previousFocusRef = React.useRef(null);
|
|
22
|
+
const capturePreviousFocus = React.useCallback(() => {
|
|
23
|
+
const documentRef = getWebDocument();
|
|
24
|
+
const activeElement = documentRef?.activeElement;
|
|
25
|
+
previousFocusRef.current =
|
|
26
|
+
activeElement && typeof activeElement === 'object' && 'focus' in activeElement
|
|
27
|
+
? activeElement
|
|
28
|
+
: null;
|
|
29
|
+
}, []);
|
|
30
|
+
const focusFirst = React.useCallback((container) => {
|
|
31
|
+
const [firstFocusable] = getFocusableElements(container);
|
|
32
|
+
firstFocusable?.focus();
|
|
33
|
+
}, []);
|
|
34
|
+
const restorePreviousFocus = React.useCallback(() => {
|
|
35
|
+
previousFocusRef.current?.focus();
|
|
36
|
+
}, []);
|
|
37
|
+
const cycleFocus = React.useCallback((container, reverse = false) => {
|
|
38
|
+
const focusableElements = getFocusableElements(container);
|
|
39
|
+
if (focusableElements.length === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const documentRef = getWebDocument();
|
|
43
|
+
const activeElement = documentRef?.activeElement;
|
|
44
|
+
const currentIndex = focusableElements.findIndex((element) => element === activeElement);
|
|
45
|
+
if (currentIndex === -1) {
|
|
46
|
+
(reverse ? focusableElements[focusableElements.length - 1] : focusableElements[0])?.focus();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const nextIndex = reverse
|
|
50
|
+
? (currentIndex - 1 + focusableElements.length) % focusableElements.length
|
|
51
|
+
: (currentIndex + 1) % focusableElements.length;
|
|
52
|
+
focusableElements[nextIndex]?.focus();
|
|
53
|
+
}, []);
|
|
54
|
+
const bindKeydown = React.useCallback((listener) => {
|
|
55
|
+
const documentRef = getWebDocument();
|
|
56
|
+
if (!documentRef) {
|
|
57
|
+
return () => {
|
|
58
|
+
/* no-op */
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
documentRef.addEventListener('keydown', listener);
|
|
62
|
+
return () => {
|
|
63
|
+
documentRef.removeEventListener('keydown', listener);
|
|
64
|
+
};
|
|
65
|
+
}, []);
|
|
66
|
+
return {
|
|
67
|
+
bindKeydown,
|
|
68
|
+
capturePreviousFocus,
|
|
69
|
+
cycleFocus,
|
|
70
|
+
focusFirst,
|
|
71
|
+
restorePreviousFocus,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=useFocusManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusManager.js","sourceRoot":"","sources":["../../../src/internal/focus/useFocusManager.ts"],"names":[],"mappings":"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"}
|