orn-ui 0.2.9 → 0.3.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/AGENTS.md +67 -52
- package/README.md +5 -9
- package/lib/commonjs/atoms/Avatar.js +77 -5
- package/lib/commonjs/atoms/Avatar.js.map +1 -1
- package/lib/commonjs/atoms/Badge.js +17 -8
- package/lib/commonjs/atoms/Badge.js.map +1 -1
- package/lib/commonjs/atoms/Button.js +108 -39
- package/lib/commonjs/atoms/Button.js.map +1 -1
- package/lib/commonjs/atoms/Card.js +24 -2
- package/lib/commonjs/atoms/Card.js.map +1 -1
- package/lib/commonjs/atoms/Checkbox.js +41 -10
- package/lib/commonjs/atoms/Checkbox.js.map +1 -1
- package/lib/commonjs/atoms/Divider.js +30 -5
- package/lib/commonjs/atoms/Divider.js.map +1 -1
- package/lib/commonjs/atoms/EmptyState.js +58 -20
- package/lib/commonjs/atoms/EmptyState.js.map +1 -1
- package/lib/commonjs/atoms/Fab.js +32 -12
- package/lib/commonjs/atoms/Fab.js.map +1 -1
- package/lib/commonjs/atoms/Gradient.js +102 -36
- package/lib/commonjs/atoms/Gradient.js.map +1 -1
- package/lib/commonjs/atoms/IconButton.js +25 -4
- package/lib/commonjs/atoms/IconButton.js.map +1 -1
- package/lib/commonjs/atoms/Image.js +61 -25
- package/lib/commonjs/atoms/Image.js.map +1 -1
- package/lib/commonjs/atoms/Input.js +105 -17
- package/lib/commonjs/atoms/Input.js.map +1 -1
- package/lib/commonjs/atoms/KeyValueRow.js +37 -9
- package/lib/commonjs/atoms/KeyValueRow.js.map +1 -1
- package/lib/commonjs/atoms/PressableScale.js +25 -5
- package/lib/commonjs/atoms/PressableScale.js.map +1 -1
- package/lib/commonjs/atoms/ShinyText.js +29 -29
- package/lib/commonjs/atoms/Skeleton.js +28 -13
- package/lib/commonjs/atoms/Skeleton.js.map +1 -1
- package/lib/commonjs/atoms/Spinner.js +81 -22
- package/lib/commonjs/atoms/Spinner.js.map +1 -1
- package/lib/commonjs/atoms/Text.js +56 -5
- package/lib/commonjs/atoms/Text.js.map +1 -1
- package/lib/commonjs/atoms/Transition.js +46 -43
- package/lib/commonjs/atoms/Transition.js.map +1 -1
- package/lib/commonjs/atoms/index.js +6 -0
- package/lib/commonjs/atoms/index.js.map +1 -1
- package/lib/commonjs/atoms/inputValidation.js +56 -0
- package/lib/commonjs/atoms/inputValidation.js.map +1 -0
- package/lib/commonjs/icons/Icon.js +4 -4
- package/lib/commonjs/icons/defaultIcons.js +576 -24
- package/lib/commonjs/icons/defaultIcons.js.map +1 -1
- package/lib/commonjs/icons/index.js +6 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/molecules/AvatarHeader.js +47 -14
- package/lib/commonjs/molecules/AvatarHeader.js.map +1 -1
- package/lib/commonjs/molecules/FormActions.js +25 -9
- package/lib/commonjs/molecules/FormActions.js.map +1 -1
- package/lib/commonjs/molecules/InfoRow.js +30 -14
- package/lib/commonjs/molecules/InfoRow.js.map +1 -1
- package/lib/commonjs/molecules/OptionCard.js +37 -22
- package/lib/commonjs/molecules/OptionCard.js.map +1 -1
- package/lib/commonjs/molecules/SegmentedControl.js +103 -14
- package/lib/commonjs/molecules/SegmentedControl.js.map +1 -1
- package/lib/commonjs/molecules/Stepper.js +61 -16
- package/lib/commonjs/molecules/Stepper.js.map +1 -1
- package/lib/commonjs/molecules/Steps.js +105 -41
- package/lib/commonjs/molecules/Steps.js.map +1 -1
- package/lib/commonjs/molecules/SymmetricGrid.js +26 -18
- package/lib/commonjs/molecules/SymmetricGrid.js.map +1 -1
- package/lib/commonjs/organisms/Alert.js +49 -35
- package/lib/commonjs/organisms/Alert.js.map +1 -1
- package/lib/commonjs/organisms/AlertProvider.js +10 -10
- package/lib/commonjs/organisms/BottomSheet.js +137 -85
- package/lib/commonjs/organisms/BottomSheet.js.map +1 -1
- package/lib/commonjs/organisms/Chart.js +197 -156
- package/lib/commonjs/organisms/Chart.js.map +1 -1
- package/lib/commonjs/organisms/DateField.js +36 -20
- package/lib/commonjs/organisms/DateField.js.map +1 -1
- package/lib/commonjs/organisms/DatePicker.js +56 -33
- package/lib/commonjs/organisms/DatePicker.js.map +1 -1
- package/lib/commonjs/organisms/List.js +62 -34
- package/lib/commonjs/organisms/List.js.map +1 -1
- package/lib/commonjs/organisms/Modal.js +120 -82
- package/lib/commonjs/organisms/Modal.js.map +1 -1
- package/lib/commonjs/organisms/NavigationBar.js +63 -24
- package/lib/commonjs/organisms/NavigationBar.js.map +1 -1
- package/lib/commonjs/organisms/OptionWheel.js +64 -64
- package/lib/commonjs/organisms/OptionWheel.js.map +1 -1
- package/lib/commonjs/organisms/ReorderableList.js +48 -27
- package/lib/commonjs/organisms/ReorderableList.js.map +1 -1
- package/lib/commonjs/organisms/Screen.js +68 -35
- package/lib/commonjs/organisms/Screen.js.map +1 -1
- package/lib/commonjs/organisms/SearchList.js +56 -26
- package/lib/commonjs/organisms/SearchList.js.map +1 -1
- package/lib/commonjs/organisms/Select.js +45 -24
- package/lib/commonjs/organisms/Select.js.map +1 -1
- package/lib/commonjs/organisms/Slides.js +36 -23
- package/lib/commonjs/organisms/Slides.js.map +1 -1
- package/lib/commonjs/organisms/ThemeToggle.js +10 -9
- package/lib/commonjs/organisms/ThemeToggle.js.map +1 -1
- package/lib/commonjs/organisms/Timeline.js +73 -56
- package/lib/commonjs/organisms/Timeline.js.map +1 -1
- package/lib/commonjs/organisms/Toast.js +46 -15
- package/lib/commonjs/organisms/Toast.js.map +1 -1
- package/lib/commonjs/organisms/ToastProvider.js +14 -10
- package/lib/commonjs/organisms/ToastProvider.js.map +1 -1
- package/lib/commonjs/organisms/Wizard.js +40 -15
- package/lib/commonjs/organisms/Wizard.js.map +1 -1
- package/lib/commonjs/organisms/chart/frame.js +25 -25
- package/lib/commonjs/organisms/chart/frame.js.map +1 -1
- package/lib/commonjs/organisms/chart/marks.js +42 -42
- package/lib/commonjs/organisms/chart/math.js +84 -85
- package/lib/commonjs/organisms/chart/math.js.map +1 -1
- package/lib/commonjs/organisms/chart/palette.js +28 -28
- package/lib/commonjs/organisms/imperativeBridge.js +5 -5
- package/lib/commonjs/organisms/imperativeBridge.js.map +1 -1
- package/lib/commonjs/organisms/useSlides.js +53 -21
- package/lib/commonjs/organisms/useSlides.js.map +1 -1
- package/lib/commonjs/safe-area/SafeAreaUIProvider.js +9 -66
- package/lib/commonjs/safe-area/SafeAreaUIProvider.js.map +1 -1
- package/lib/commonjs/safe-area/index.js.map +1 -1
- package/lib/commonjs/theme/KeyboardAvoidance.js +206 -0
- package/lib/commonjs/theme/KeyboardAvoidance.js.map +1 -0
- package/lib/commonjs/theme/NativeOverlay.js +263 -0
- package/lib/commonjs/theme/NativeOverlay.js.map +1 -0
- package/lib/commonjs/theme/UIProvider.js +86 -33
- package/lib/commonjs/theme/UIProvider.js.map +1 -1
- package/lib/commonjs/theme/colors.js +17 -17
- package/lib/commonjs/theme/colors.js.map +1 -1
- package/lib/commonjs/theme/createStyles.js +19 -16
- package/lib/commonjs/theme/createStyles.js.map +1 -1
- package/lib/commonjs/theme/createTheme.js +6 -6
- package/lib/commonjs/theme/index.js +6 -0
- package/lib/commonjs/theme/index.js.map +1 -1
- package/lib/commonjs/theme/insets.js +1 -1
- package/lib/commonjs/theme/labels.js +29 -1
- package/lib/commonjs/theme/labels.js.map +1 -1
- package/lib/commonjs/theme/palettes.js +25 -23
- package/lib/commonjs/theme/palettes.js.map +1 -1
- package/lib/commonjs/theme/tokens.js +28 -14
- package/lib/commonjs/theme/tokens.js.map +1 -1
- package/lib/commonjs/theme/useKeyboardField.js +36 -0
- package/lib/commonjs/theme/useKeyboardField.js.map +1 -0
- package/lib/commonjs/theme/useReduceMotion.js +31 -0
- package/lib/commonjs/theme/useReduceMotion.js.map +1 -0
- package/lib/module/atoms/Avatar.js +79 -8
- package/lib/module/atoms/Avatar.js.map +1 -1
- package/lib/module/atoms/Badge.js +17 -8
- package/lib/module/atoms/Badge.js.map +1 -1
- package/lib/module/atoms/Button.js +110 -41
- package/lib/module/atoms/Button.js.map +1 -1
- package/lib/module/atoms/Card.js +24 -2
- package/lib/module/atoms/Card.js.map +1 -1
- package/lib/module/atoms/Checkbox.js +42 -11
- package/lib/module/atoms/Checkbox.js.map +1 -1
- package/lib/module/atoms/Divider.js +31 -6
- package/lib/module/atoms/Divider.js.map +1 -1
- package/lib/module/atoms/EmptyState.js +58 -20
- package/lib/module/atoms/EmptyState.js.map +1 -1
- package/lib/module/atoms/Fab.js +33 -13
- package/lib/module/atoms/Fab.js.map +1 -1
- package/lib/module/atoms/Gradient.js +103 -37
- package/lib/module/atoms/Gradient.js.map +1 -1
- package/lib/module/atoms/IconButton.js +25 -4
- package/lib/module/atoms/IconButton.js.map +1 -1
- package/lib/module/atoms/Image.js +61 -25
- package/lib/module/atoms/Image.js.map +1 -1
- package/lib/module/atoms/Input.js +108 -20
- package/lib/module/atoms/Input.js.map +1 -1
- package/lib/module/atoms/KeyValueRow.js +37 -9
- package/lib/module/atoms/KeyValueRow.js.map +1 -1
- package/lib/module/atoms/PressableScale.js +25 -5
- package/lib/module/atoms/PressableScale.js.map +1 -1
- package/lib/module/atoms/ShinyText.js +29 -29
- package/lib/module/atoms/Skeleton.js +30 -13
- package/lib/module/atoms/Skeleton.js.map +1 -1
- package/lib/module/atoms/Spinner.js +82 -23
- package/lib/module/atoms/Spinner.js.map +1 -1
- package/lib/module/atoms/Text.js +56 -5
- package/lib/module/atoms/Text.js.map +1 -1
- package/lib/module/atoms/Transition.js +41 -42
- package/lib/module/atoms/Transition.js.map +1 -1
- package/lib/module/atoms/index.js +1 -1
- package/lib/module/atoms/index.js.map +1 -1
- package/lib/module/atoms/inputValidation.js +52 -0
- package/lib/module/atoms/inputValidation.js.map +1 -0
- package/lib/module/icons/Icon.js +4 -4
- package/lib/module/icons/defaultIcons.js +574 -24
- package/lib/module/icons/defaultIcons.js.map +1 -1
- package/lib/module/icons/index.js +1 -1
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/molecules/AvatarHeader.js +47 -14
- package/lib/module/molecules/AvatarHeader.js.map +1 -1
- package/lib/module/molecules/FormActions.js +25 -9
- package/lib/module/molecules/FormActions.js.map +1 -1
- package/lib/module/molecules/InfoRow.js +30 -14
- package/lib/module/molecules/InfoRow.js.map +1 -1
- package/lib/module/molecules/OptionCard.js +37 -22
- package/lib/module/molecules/OptionCard.js.map +1 -1
- package/lib/module/molecules/SegmentedControl.js +107 -18
- package/lib/module/molecules/SegmentedControl.js.map +1 -1
- package/lib/module/molecules/Stepper.js +63 -18
- package/lib/module/molecules/Stepper.js.map +1 -1
- package/lib/module/molecules/Steps.js +107 -43
- package/lib/module/molecules/Steps.js.map +1 -1
- package/lib/module/molecules/SymmetricGrid.js +26 -18
- package/lib/module/molecules/SymmetricGrid.js.map +1 -1
- package/lib/module/organisms/Alert.js +51 -37
- package/lib/module/organisms/Alert.js.map +1 -1
- package/lib/module/organisms/AlertProvider.js +10 -10
- package/lib/module/organisms/BottomSheet.js +142 -88
- package/lib/module/organisms/BottomSheet.js.map +1 -1
- package/lib/module/organisms/Chart.js +199 -158
- package/lib/module/organisms/Chart.js.map +1 -1
- package/lib/module/organisms/DateField.js +36 -20
- package/lib/module/organisms/DateField.js.map +1 -1
- package/lib/module/organisms/DatePicker.js +56 -33
- package/lib/module/organisms/DatePicker.js.map +1 -1
- package/lib/module/organisms/List.js +62 -34
- package/lib/module/organisms/List.js.map +1 -1
- package/lib/module/organisms/Modal.js +122 -84
- package/lib/module/organisms/Modal.js.map +1 -1
- package/lib/module/organisms/NavigationBar.js +64 -25
- package/lib/module/organisms/NavigationBar.js.map +1 -1
- package/lib/module/organisms/OptionWheel.js +64 -64
- package/lib/module/organisms/OptionWheel.js.map +1 -1
- package/lib/module/organisms/ReorderableList.js +48 -27
- package/lib/module/organisms/ReorderableList.js.map +1 -1
- package/lib/module/organisms/Screen.js +70 -37
- package/lib/module/organisms/Screen.js.map +1 -1
- package/lib/module/organisms/SearchList.js +56 -26
- package/lib/module/organisms/SearchList.js.map +1 -1
- package/lib/module/organisms/Select.js +46 -25
- package/lib/module/organisms/Select.js.map +1 -1
- package/lib/module/organisms/Slides.js +37 -24
- package/lib/module/organisms/Slides.js.map +1 -1
- package/lib/module/organisms/ThemeToggle.js +11 -10
- package/lib/module/organisms/ThemeToggle.js.map +1 -1
- package/lib/module/organisms/Timeline.js +73 -56
- package/lib/module/organisms/Timeline.js.map +1 -1
- package/lib/module/organisms/Toast.js +47 -16
- package/lib/module/organisms/Toast.js.map +1 -1
- package/lib/module/organisms/ToastProvider.js +15 -11
- package/lib/module/organisms/ToastProvider.js.map +1 -1
- package/lib/module/organisms/Wizard.js +41 -16
- package/lib/module/organisms/Wizard.js.map +1 -1
- package/lib/module/organisms/chart/frame.js +25 -25
- package/lib/module/organisms/chart/frame.js.map +1 -1
- package/lib/module/organisms/chart/marks.js +42 -42
- package/lib/module/organisms/chart/math.js +84 -85
- package/lib/module/organisms/chart/math.js.map +1 -1
- package/lib/module/organisms/chart/palette.js +28 -28
- package/lib/module/organisms/imperativeBridge.js +5 -5
- package/lib/module/organisms/imperativeBridge.js.map +1 -1
- package/lib/module/organisms/useSlides.js +53 -21
- package/lib/module/organisms/useSlides.js.map +1 -1
- package/lib/module/safe-area/SafeAreaUIProvider.js +10 -65
- package/lib/module/safe-area/SafeAreaUIProvider.js.map +1 -1
- package/lib/module/safe-area/index.js +1 -0
- package/lib/module/safe-area/index.js.map +1 -1
- package/lib/module/theme/KeyboardAvoidance.js +198 -0
- package/lib/module/theme/KeyboardAvoidance.js.map +1 -0
- package/lib/module/theme/NativeOverlay.js +257 -0
- package/lib/module/theme/NativeOverlay.js.map +1 -0
- package/lib/module/theme/UIProvider.js +88 -35
- package/lib/module/theme/UIProvider.js.map +1 -1
- package/lib/module/theme/colors.js +17 -17
- package/lib/module/theme/colors.js.map +1 -1
- package/lib/module/theme/createStyles.js +20 -16
- package/lib/module/theme/createStyles.js.map +1 -1
- package/lib/module/theme/createTheme.js +6 -6
- package/lib/module/theme/index.js +1 -1
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/insets.js +1 -1
- package/lib/module/theme/labels.js +29 -1
- package/lib/module/theme/labels.js.map +1 -1
- package/lib/module/theme/palettes.js +25 -23
- package/lib/module/theme/palettes.js.map +1 -1
- package/lib/module/theme/tokens.js +27 -13
- package/lib/module/theme/tokens.js.map +1 -1
- package/lib/module/theme/useKeyboardField.js +33 -0
- package/lib/module/theme/useKeyboardField.js.map +1 -0
- package/lib/module/theme/useReduceMotion.js +28 -0
- package/lib/module/theme/useReduceMotion.js.map +1 -0
- package/lib/typescript/atoms/Avatar.d.ts +35 -5
- package/lib/typescript/atoms/Avatar.d.ts.map +1 -1
- package/lib/typescript/atoms/Badge.d.ts +14 -3
- package/lib/typescript/atoms/Badge.d.ts.map +1 -1
- package/lib/typescript/atoms/Button.d.ts +34 -3
- package/lib/typescript/atoms/Button.d.ts.map +1 -1
- package/lib/typescript/atoms/Card.d.ts +13 -2
- package/lib/typescript/atoms/Card.d.ts.map +1 -1
- package/lib/typescript/atoms/Checkbox.d.ts +26 -1
- package/lib/typescript/atoms/Checkbox.d.ts.map +1 -1
- package/lib/typescript/atoms/Divider.d.ts +18 -1
- package/lib/typescript/atoms/Divider.d.ts.map +1 -1
- package/lib/typescript/atoms/EmptyState.d.ts +30 -3
- package/lib/typescript/atoms/EmptyState.d.ts.map +1 -1
- package/lib/typescript/atoms/Fab.d.ts +24 -4
- package/lib/typescript/atoms/Fab.d.ts.map +1 -1
- package/lib/typescript/atoms/Gradient.d.ts +21 -15
- package/lib/typescript/atoms/Gradient.d.ts.map +1 -1
- package/lib/typescript/atoms/IconButton.d.ts +18 -4
- package/lib/typescript/atoms/IconButton.d.ts.map +1 -1
- package/lib/typescript/atoms/Image.d.ts +39 -17
- package/lib/typescript/atoms/Image.d.ts.map +1 -1
- package/lib/typescript/atoms/Input.d.ts +57 -7
- package/lib/typescript/atoms/Input.d.ts.map +1 -1
- package/lib/typescript/atoms/KeyValueRow.d.ts +16 -4
- package/lib/typescript/atoms/KeyValueRow.d.ts.map +1 -1
- package/lib/typescript/atoms/PressableScale.d.ts +12 -5
- package/lib/typescript/atoms/PressableScale.d.ts.map +1 -1
- package/lib/typescript/atoms/ShinyText.d.ts +17 -17
- package/lib/typescript/atoms/ShinyText.d.ts.map +1 -1
- package/lib/typescript/atoms/Skeleton.d.ts +12 -7
- package/lib/typescript/atoms/Skeleton.d.ts.map +1 -1
- package/lib/typescript/atoms/Spinner.d.ts +29 -1
- package/lib/typescript/atoms/Spinner.d.ts.map +1 -1
- package/lib/typescript/atoms/Text.d.ts +46 -0
- package/lib/typescript/atoms/Text.d.ts.map +1 -1
- package/lib/typescript/atoms/Transition.d.ts +19 -15
- package/lib/typescript/atoms/Transition.d.ts.map +1 -1
- package/lib/typescript/atoms/index.d.ts +3 -3
- package/lib/typescript/atoms/index.d.ts.map +1 -1
- package/lib/typescript/atoms/inputValidation.d.ts +29 -0
- package/lib/typescript/atoms/inputValidation.d.ts.map +1 -0
- package/lib/typescript/icons/Icon.d.ts +4 -4
- package/lib/typescript/icons/defaultIcons.d.ts +19 -2
- package/lib/typescript/icons/defaultIcons.d.ts.map +1 -1
- package/lib/typescript/icons/index.d.ts +2 -2
- package/lib/typescript/icons/index.d.ts.map +1 -1
- package/lib/typescript/icons/types.d.ts +13 -3
- package/lib/typescript/icons/types.d.ts.map +1 -1
- package/lib/typescript/molecules/AvatarHeader.d.ts +23 -4
- package/lib/typescript/molecules/AvatarHeader.d.ts.map +1 -1
- package/lib/typescript/molecules/FormActions.d.ts +21 -4
- package/lib/typescript/molecules/FormActions.d.ts.map +1 -1
- package/lib/typescript/molecules/InfoRow.d.ts +17 -3
- package/lib/typescript/molecules/InfoRow.d.ts.map +1 -1
- package/lib/typescript/molecules/OptionCard.d.ts +20 -5
- package/lib/typescript/molecules/OptionCard.d.ts.map +1 -1
- package/lib/typescript/molecules/SegmentedControl.d.ts +18 -2
- package/lib/typescript/molecules/SegmentedControl.d.ts.map +1 -1
- package/lib/typescript/molecules/Stepper.d.ts +23 -7
- package/lib/typescript/molecules/Stepper.d.ts.map +1 -1
- package/lib/typescript/molecules/Steps.d.ts +18 -4
- package/lib/typescript/molecules/Steps.d.ts.map +1 -1
- package/lib/typescript/molecules/SymmetricGrid.d.ts +15 -5
- package/lib/typescript/molecules/SymmetricGrid.d.ts.map +1 -1
- package/lib/typescript/organisms/Alert.d.ts +28 -2
- package/lib/typescript/organisms/Alert.d.ts.map +1 -1
- package/lib/typescript/organisms/AlertProvider.d.ts +10 -10
- package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -1
- package/lib/typescript/organisms/BottomSheet.d.ts +20 -5
- package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/organisms/Chart.d.ts +86 -75
- package/lib/typescript/organisms/Chart.d.ts.map +1 -1
- package/lib/typescript/organisms/DateField.d.ts +17 -3
- package/lib/typescript/organisms/DateField.d.ts.map +1 -1
- package/lib/typescript/organisms/DatePicker.d.ts +7 -11
- package/lib/typescript/organisms/DatePicker.d.ts.map +1 -1
- package/lib/typescript/organisms/List.d.ts +30 -3
- package/lib/typescript/organisms/List.d.ts.map +1 -1
- package/lib/typescript/organisms/Modal.d.ts +30 -3
- package/lib/typescript/organisms/Modal.d.ts.map +1 -1
- package/lib/typescript/organisms/NavigationBar.d.ts +26 -7
- package/lib/typescript/organisms/NavigationBar.d.ts.map +1 -1
- package/lib/typescript/organisms/OptionWheel.d.ts +20 -16
- package/lib/typescript/organisms/OptionWheel.d.ts.map +1 -1
- package/lib/typescript/organisms/ReorderableList.d.ts +20 -11
- package/lib/typescript/organisms/ReorderableList.d.ts.map +1 -1
- package/lib/typescript/organisms/Screen.d.ts +27 -8
- package/lib/typescript/organisms/Screen.d.ts.map +1 -1
- package/lib/typescript/organisms/SearchList.d.ts +46 -3
- package/lib/typescript/organisms/SearchList.d.ts.map +1 -1
- package/lib/typescript/organisms/Select.d.ts +26 -6
- package/lib/typescript/organisms/Select.d.ts.map +1 -1
- package/lib/typescript/organisms/Slides.d.ts +44 -26
- package/lib/typescript/organisms/Slides.d.ts.map +1 -1
- package/lib/typescript/organisms/ThemeToggle.d.ts +6 -2
- package/lib/typescript/organisms/ThemeToggle.d.ts.map +1 -1
- package/lib/typescript/organisms/Timeline.d.ts +26 -9
- package/lib/typescript/organisms/Timeline.d.ts.map +1 -1
- package/lib/typescript/organisms/Toast.d.ts +19 -4
- package/lib/typescript/organisms/Toast.d.ts.map +1 -1
- package/lib/typescript/organisms/ToastProvider.d.ts +8 -8
- package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -1
- package/lib/typescript/organisms/Wizard.d.ts +24 -6
- package/lib/typescript/organisms/Wizard.d.ts.map +1 -1
- package/lib/typescript/organisms/chart/frame.d.ts +21 -21
- package/lib/typescript/organisms/chart/frame.d.ts.map +1 -1
- package/lib/typescript/organisms/chart/marks.d.ts +28 -28
- package/lib/typescript/organisms/chart/marks.d.ts.map +1 -1
- package/lib/typescript/organisms/chart/math.d.ts +69 -70
- package/lib/typescript/organisms/chart/math.d.ts.map +1 -1
- package/lib/typescript/organisms/chart/palette.d.ts +2 -2
- package/lib/typescript/organisms/chart/palette.d.ts.map +1 -1
- package/lib/typescript/organisms/imperativeBridge.d.ts +4 -4
- package/lib/typescript/organisms/useSlides.d.ts +8 -16
- package/lib/typescript/organisms/useSlides.d.ts.map +1 -1
- package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts +9 -7
- package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts.map +1 -1
- package/lib/typescript/safe-area/index.d.ts.map +1 -1
- package/lib/typescript/theme/KeyboardAvoidance.d.ts +62 -0
- package/lib/typescript/theme/KeyboardAvoidance.d.ts.map +1 -0
- package/lib/typescript/theme/NativeOverlay.d.ts +43 -0
- package/lib/typescript/theme/NativeOverlay.d.ts.map +1 -0
- package/lib/typescript/theme/UIProvider.d.ts +38 -20
- package/lib/typescript/theme/UIProvider.d.ts.map +1 -1
- package/lib/typescript/theme/colors.d.ts +13 -13
- package/lib/typescript/theme/colors.d.ts.map +1 -1
- package/lib/typescript/theme/createStyles.d.ts +20 -14
- package/lib/typescript/theme/createStyles.d.ts.map +1 -1
- package/lib/typescript/theme/createTheme.d.ts +5 -5
- package/lib/typescript/theme/index.d.ts +1 -1
- package/lib/typescript/theme/index.d.ts.map +1 -1
- package/lib/typescript/theme/insets.d.ts +1 -1
- package/lib/typescript/theme/insets.d.ts.map +1 -1
- package/lib/typescript/theme/labels.d.ts +57 -2
- package/lib/typescript/theme/labels.d.ts.map +1 -1
- package/lib/typescript/theme/palettes.d.ts +25 -19
- package/lib/typescript/theme/palettes.d.ts.map +1 -1
- package/lib/typescript/theme/tokens.d.ts +15 -8
- package/lib/typescript/theme/tokens.d.ts.map +1 -1
- package/lib/typescript/theme/types.d.ts +7 -7
- package/lib/typescript/theme/types.d.ts.map +1 -1
- package/lib/typescript/theme/useKeyboardField.d.ts +17 -0
- package/lib/typescript/theme/useKeyboardField.d.ts.map +1 -0
- package/lib/typescript/theme/useReduceMotion.d.ts +7 -0
- package/lib/typescript/theme/useReduceMotion.d.ts.map +1 -0
- package/llms.txt +4 -4
- package/package.json +15 -14
- package/registry/alert-provider.json +4 -3
- package/registry/alert.json +3 -2
- package/registry/avatar-header.json +1 -1
- package/registry/avatar.json +3 -2
- package/registry/badge.json +1 -1
- package/registry/bottom-sheet.json +1 -1
- package/registry/button.json +3 -2
- package/registry/card.json +1 -1
- package/registry/chart.json +5 -5
- package/registry/checkbox.json +3 -2
- package/registry/core.json +31 -15
- package/registry/date-field.json +1 -1
- package/registry/date-picker.json +3 -2
- package/registry/divider.json +1 -1
- package/registry/empty-state.json +4 -2
- package/registry/fab.json +3 -2
- package/registry/form-actions.json +3 -2
- package/registry/gradient.json +1 -1
- package/registry/icon-button.json +3 -2
- package/registry/image.json +1 -1
- package/registry/index.json +79 -61
- package/registry/info-row.json +1 -1
- package/registry/input.json +5 -1
- package/registry/key-value-row.json +1 -1
- package/registry/list.json +3 -1
- package/registry/manifest.json +3 -1
- package/registry/modal.json +1 -1
- package/registry/navigation-bar.json +1 -1
- package/registry/option-card.json +3 -2
- package/registry/option-wheel.json +1 -1
- package/registry/pressable-scale.json +3 -2
- package/registry/reorderable-list.json +1 -1
- package/registry/screen.json +1 -1
- package/registry/search-list.json +7 -1
- package/registry/segmented-control.json +1 -1
- package/registry/select.json +1 -1
- package/registry/shiny-text.json +1 -1
- package/registry/skeleton.json +3 -2
- package/registry/slides.json +2 -2
- package/registry/spinner.json +1 -1
- package/registry/stepper.json +1 -1
- package/registry/steps.json +1 -1
- package/registry/symmetric-grid.json +1 -1
- package/registry/theme-toggle.json +1 -1
- package/registry/timeline.json +1 -1
- package/registry/title.json +1 -1
- package/registry/toast-provider.json +2 -2
- package/registry/toast.json +1 -1
- package/registry/transition.json +1 -1
- package/registry/wizard.json +1 -1
- package/src/atoms/Avatar.tsx +117 -26
- package/src/atoms/Badge.tsx +20 -9
- package/src/atoms/Button.tsx +102 -30
- package/src/atoms/Card.tsx +23 -3
- package/src/atoms/Checkbox.tsx +49 -12
- package/src/atoms/Divider.tsx +34 -4
- package/src/atoms/EmptyState.tsx +63 -16
- package/src/atoms/Fab.tsx +56 -9
- package/src/atoms/Gradient.tsx +92 -41
- package/src/atoms/IconButton.tsx +27 -4
- package/src/atoms/Image.tsx +74 -28
- package/src/atoms/Input.tsx +129 -19
- package/src/atoms/KeyValueRow.tsx +72 -28
- package/src/atoms/PressableScale.tsx +31 -7
- package/src/atoms/ShinyText.tsx +31 -31
- package/src/atoms/Skeleton.tsx +37 -17
- package/src/atoms/Spinner.tsx +87 -24
- package/src/atoms/Text.tsx +66 -6
- package/src/atoms/Transition.tsx +40 -44
- package/src/atoms/index.ts +3 -3
- package/src/atoms/inputValidation.ts +59 -0
- package/src/icons/Icon.tsx +4 -4
- package/src/icons/defaultIcons.tsx +445 -22
- package/src/icons/index.ts +2 -2
- package/src/icons/types.ts +26 -4
- package/src/molecules/AvatarHeader.tsx +88 -34
- package/src/molecules/FormActions.tsx +36 -6
- package/src/molecules/InfoRow.tsx +39 -12
- package/src/molecules/OptionCard.tsx +55 -20
- package/src/molecules/SegmentedControl.tsx +135 -15
- package/src/molecules/Stepper.tsx +73 -19
- package/src/molecules/Steps.tsx +121 -39
- package/src/molecules/SymmetricGrid.tsx +28 -12
- package/src/organisms/Alert.tsx +97 -26
- package/src/organisms/AlertProvider.tsx +13 -13
- package/src/organisms/BottomSheet.tsx +115 -43
- package/src/organisms/Chart.tsx +223 -165
- package/src/organisms/DateField.tsx +40 -15
- package/src/organisms/DatePicker.tsx +53 -32
- package/src/organisms/List.tsx +64 -15
- package/src/organisms/Modal.tsx +122 -63
- package/src/organisms/NavigationBar.tsx +73 -23
- package/src/organisms/OptionWheel.tsx +70 -66
- package/src/organisms/ReorderableList.tsx +49 -27
- package/src/organisms/Screen.tsx +79 -42
- package/src/organisms/SearchList.tsx +84 -20
- package/src/organisms/Select.tsx +63 -29
- package/src/organisms/Slides.tsx +63 -44
- package/src/organisms/ThemeToggle.tsx +15 -6
- package/src/organisms/Timeline.tsx +79 -62
- package/src/organisms/Toast.tsx +50 -15
- package/src/organisms/ToastProvider.tsx +17 -13
- package/src/organisms/Wizard.tsx +58 -21
- package/src/organisms/chart/frame.tsx +35 -35
- package/src/organisms/chart/marks.tsx +53 -53
- package/src/organisms/chart/math.ts +93 -94
- package/src/organisms/chart/palette.ts +28 -28
- package/src/organisms/imperativeBridge.ts +5 -5
- package/src/organisms/useSlides.ts +66 -31
- package/src/safe-area/SafeAreaUIProvider.tsx +9 -70
- package/src/safe-area/index.ts +1 -0
- package/src/theme/KeyboardAvoidance.tsx +216 -0
- package/src/theme/NativeOverlay.tsx +269 -0
- package/src/theme/UIProvider.tsx +109 -46
- package/src/theme/colors.ts +21 -21
- package/src/theme/createStyles.ts +23 -19
- package/src/theme/createTheme.ts +6 -6
- package/src/theme/index.ts +1 -1
- package/src/theme/insets.ts +1 -1
- package/src/theme/labels.ts +85 -2
- package/src/theme/palettes.ts +33 -25
- package/src/theme/tokens.ts +27 -13
- package/src/theme/types.ts +7 -7
- package/src/theme/useKeyboardField.ts +33 -0
- package/src/theme/useReduceMotion.ts +27 -0
|
@@ -14,11 +14,11 @@ export interface ShinyTextProps {
|
|
|
14
14
|
spread?: number;
|
|
15
15
|
/** When false it renders plain text in `shineColor`. @default true */
|
|
16
16
|
animated?: boolean;
|
|
17
|
-
/** Resting color of the characters. @default theme.colors.textLight */
|
|
17
|
+
/** Resting color of the characters. Keep it readable on its own (WCAG AA): the shine is decorative. @default theme.colors.textLight */
|
|
18
18
|
color?: string;
|
|
19
19
|
/** Color of the band that travels across. @default theme.colors.primary */
|
|
20
20
|
shineColor?: string;
|
|
21
|
-
/** @default 'left' */
|
|
21
|
+
/** Horizontal alignment of the line. @default 'left' */
|
|
22
22
|
align?: 'left' | 'center' | 'right';
|
|
23
23
|
/** Typography only: `color` and `shineColor` win over any color set here. */
|
|
24
24
|
style?: StyleProp<TextStyle>;
|
|
@@ -26,23 +26,23 @@ export interface ShinyTextProps {
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* ShinyText
|
|
29
|
-
*
|
|
30
|
-
* `background-clip: text`
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
29
|
+
* A band of light sweeps across the text from left to right. Without
|
|
30
|
+
* `background-clip: text` or masks —which React Native lacks in the supported
|
|
31
|
+
* range— the shine is composed letter by letter: each one carries its resting
|
|
32
|
+
* color and, overlaid on top, the same letter in the shine color with animated
|
|
33
|
+
* opacity. The band is a moving interpolation window: the only thing that
|
|
34
|
+
* changes per frame is `opacity`, which means the whole animation runs on the
|
|
35
|
+
* native thread and JS takes part in no frame.
|
|
36
36
|
*
|
|
37
|
-
* Gestalt,
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
37
|
+
* Gestalt, common fate: the letters light up in sequence and at the same
|
|
38
|
+
* rhythm, so they read as one moving thing —a word lighting up— and not as N
|
|
39
|
+
* letters blinking on their own. That is why the band width is relative to
|
|
40
|
+
* the text and not a fixed number of pixels: a long title and a short one take
|
|
41
|
+
* the same time and are perceived the same.
|
|
42
42
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
43
|
+
* With "reduce motion" on, or with `animated={false}`, the text renders flat
|
|
44
|
+
* in `shineColor` —legible, a single node and selectable— because the effect
|
|
45
|
+
* is decorative and nothing it communicates lives in the shine.
|
|
46
46
|
*/
|
|
47
47
|
export declare const ShinyText: React.MemoExoticComponent<({ text, duration, delay, spread, animated, color, shineColor, align, style, testID, }: ShinyTextProps) => React.JSX.Element>;
|
|
48
48
|
//# sourceMappingURL=ShinyText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShinyText.d.ts","sourceRoot":"","sources":["../../../src/atoms/ShinyText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAKtB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"ShinyText.d.ts","sourceRoot":"","sources":["../../../src/atoms/ShinyText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAKtB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uIAAuI;IACvI,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,oHAYjB,cAAc,uBAkGlB,CAAC"}
|
|
@@ -2,11 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { type DimensionValue, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
export type SkeletonVariant = 'rect' | 'text' | 'circle';
|
|
4
4
|
export interface SkeletonProps {
|
|
5
|
-
/** @default '100%' ('circle' also uses this as the diameter) */
|
|
5
|
+
/** Width of the placeholder. @default '100%' ('circle' also uses this as the diameter) */
|
|
6
6
|
width?: DimensionValue;
|
|
7
|
-
/** @default 16 ('text' uses
|
|
7
|
+
/** Height of the placeholder. @default 16 ('text' uses Body's line height; 'circle', the width) */
|
|
8
8
|
height?: DimensionValue;
|
|
9
|
-
/** @default 'rect' */
|
|
9
|
+
/** Shape: a block, a line of text or a circle. @default 'rect' */
|
|
10
10
|
variant?: SkeletonVariant;
|
|
11
11
|
/** Override of the theme's radius. */
|
|
12
12
|
radius?: number;
|
|
@@ -14,16 +14,21 @@ export interface SkeletonProps {
|
|
|
14
14
|
lines?: number;
|
|
15
15
|
/** Width of the last line, so the paragraph doesn't end as a solid block. @default '60%' */
|
|
16
16
|
lastLineWidth?: DimensionValue;
|
|
17
|
-
/** @default true */
|
|
17
|
+
/** Pulses while waiting. Off when the system's Reduce Motion is on. @default true */
|
|
18
18
|
animated?: boolean;
|
|
19
19
|
style?: StyleProp<ViewStyle>;
|
|
20
20
|
testID?: string;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Skeleton
|
|
24
|
-
* Placeholder
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* Placeholder that pulses while the real content arrives. It reserves the
|
|
25
|
+
* exact space of what it replaces, so the screen doesn't jump when the data
|
|
26
|
+
* shows up — which is precisely what a centered Spinner can't do.
|
|
27
|
+
*
|
|
28
|
+
* Gestalt, similarity: the silhouette repeats the shape and size of the
|
|
29
|
+
* content (a circle for avatars, Body-height lines for text), so the eye
|
|
30
|
+
* already groups the screen before the data arrives. Respects Reduce Motion:
|
|
31
|
+
* no pulse, a static block.
|
|
27
32
|
*/
|
|
28
33
|
export declare const Skeleton: React.MemoExoticComponent<({ width, height, variant, radius, lines, lastLineWidth, animated, style, testID, }: SkeletonProps) => React.JSX.Element>;
|
|
29
34
|
//# sourceMappingURL=Skeleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/atoms/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/atoms/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,mGAAmG;IACnG,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,kEAAkE;IAClE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,iHAWhB,aAAa,uBA+DjB,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type SpinnerVariant = 'native' | 'dots' | 'ring';
|
|
3
3
|
export interface SpinnerProps {
|
|
4
|
+
/** Indicator size; also scales the `dots` and `ring` variants. @default 'large' */
|
|
4
5
|
size?: 'small' | 'large';
|
|
6
|
+
/** Indicator color. @default colors.primary */
|
|
5
7
|
color?: string;
|
|
8
|
+
/** Message under the indicator. Also what screen readers announce. */
|
|
6
9
|
text?: string;
|
|
7
10
|
/** @default true. When false, doesn't take up flex:1 (useful inline, inside a button/row). */
|
|
8
11
|
fullscreen?: boolean;
|
|
@@ -14,7 +17,32 @@ export interface SpinnerProps {
|
|
|
14
17
|
variant?: SpinnerVariant;
|
|
15
18
|
/** Fully custom indicator. Takes precedence over `variant`. */
|
|
16
19
|
indicator?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Shown above the indicator — typically the app logo on a splash or
|
|
22
|
+
* first-load screen (an `<Image>`, an `<Avatar>`, any node).
|
|
23
|
+
*/
|
|
24
|
+
logo?: React.ReactNode;
|
|
25
|
+
/** What screen readers announce. @default text ?? labels.loading */
|
|
26
|
+
accessibilityLabel?: string;
|
|
17
27
|
testID?: string;
|
|
18
28
|
}
|
|
19
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Spinner
|
|
31
|
+
* Indeterminate loading indicator, with optional text below.
|
|
32
|
+
*
|
|
33
|
+
* Gestalt:
|
|
34
|
+
* - Common fate: the three `dots` pulse in sequence, at the same rhythm, and
|
|
35
|
+
* read as a single indicator moving forward.
|
|
36
|
+
* - Proximity: the text sits `spacing.md` from the indicator, so it reads as
|
|
37
|
+
* its explanation and not as loose text on the screen. The `logo` sits
|
|
38
|
+
* further away (`spacing.xl`): it is the screen's brand, not part of the indicator.
|
|
39
|
+
* - Focal point: with `logo`, the logo is the first thing seen and the
|
|
40
|
+
* indicator stays as a secondary signal that the app is loading.
|
|
41
|
+
*
|
|
42
|
+
* Accessibility: it is announced as a busy `progressbar`, with `text` (or
|
|
43
|
+
* `labels.loading`) as its name. The animation doesn't stop with Reduce
|
|
44
|
+
* Motion: it is the signal that something is happening, like the system's
|
|
45
|
+
* ActivityIndicator.
|
|
46
|
+
*/
|
|
47
|
+
export declare const Spinner: React.MemoExoticComponent<({ size, color, text, fullscreen, variant, indicator, logo, accessibilityLabel, testID, }: SpinnerProps) => React.JSX.Element>;
|
|
20
48
|
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/atoms/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/atoms/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4FD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,OAAO,uHAWf,YAAY,uBAmChB,CAAC"}
|
|
@@ -6,8 +6,54 @@ export interface TypographyProps extends TextProps {
|
|
|
6
6
|
color?: string;
|
|
7
7
|
align?: 'left' | 'center' | 'right';
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Screen or section title: the highest step of the typographic hierarchy.
|
|
11
|
+
*
|
|
12
|
+
* Gestalt, focal point (Von Restorff): it is the only text in its block with
|
|
13
|
+
* size `xxl` and weight `bold`, so it breaks the series of Body/Caption and is
|
|
14
|
+
* the first thing read. That is why there should be only one per block: two
|
|
15
|
+
* Titles together cancel each other out. The `tight` tracking offsets the room
|
|
16
|
+
* the large size opens between letters so the word reads as a single shape
|
|
17
|
+
* (Prägnanz), and `lineHeight.xl` keeps the block compact when the title wraps.
|
|
18
|
+
*
|
|
19
|
+
* Accessibility: it is announced with `accessibilityRole="header"`, so
|
|
20
|
+
* VoiceOver/TalkBack can jump from title to title. It can be overridden by
|
|
21
|
+
* passing a different `accessibilityRole`.
|
|
22
|
+
*/
|
|
9
23
|
export declare const Title: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
|
|
24
|
+
/**
|
|
25
|
+
* Second step of the hierarchy: heads a group within the screen or
|
|
26
|
+
* accompanies a Title with a short piece of data.
|
|
27
|
+
*
|
|
28
|
+
* Gestalt, similarity: it shares its color with Body but steps up size (`lg`)
|
|
29
|
+
* and weight (`semibold`), so it is perceived as part of the same family and,
|
|
30
|
+
* at the same time, as the label of the block that follows. Proximity: it
|
|
31
|
+
* should sit closer to the content it heads than to the previous block. It is
|
|
32
|
+
* not an accessibility heading: if it marks a navigable section, use Title (or
|
|
33
|
+
* pass `accessibilityRole="header"`).
|
|
34
|
+
* `lineHeight.lg` (1.5×) keeps the text legible when it spans several lines.
|
|
35
|
+
*/
|
|
10
36
|
export declare const Subtitle: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
|
|
37
|
+
/**
|
|
38
|
+
* Running text: the default style for paragraphs, descriptions and values.
|
|
39
|
+
*
|
|
40
|
+
* Gestalt, similarity: all reading content shares size (`md`), regular weight
|
|
41
|
+
* and the `text` color, so it is perceived as a single level and the steps
|
|
42
|
+
* above (Title, Subtitle) and below (Caption) stand out by contrast.
|
|
43
|
+
* `lineHeight.md` (≈1.43×) gives the room between lines to read long
|
|
44
|
+
* paragraphs. If `color` is passed, the color/background pair must meet WCAG
|
|
45
|
+
* AA (4.5:1); the theme colors already guarantee it.
|
|
46
|
+
*/
|
|
11
47
|
export declare const Body: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
|
|
48
|
+
/**
|
|
49
|
+
* Secondary text: hints, metadata, dates, help below a field.
|
|
50
|
+
*
|
|
51
|
+
* Gestalt, figure and ground: size `sm` and color `textLight` bring it one
|
|
52
|
+
* step below Body, so it reads as context and doesn't compete with the
|
|
53
|
+
* content. Proximity: it sits right next to the element it explains.
|
|
54
|
+
* `textLight` meets WCAG AA over `surface` and `background` in light and dark
|
|
55
|
+
* (palettes tests); don't lighten it further. `lineHeight.sm` (≈1.33×) keeps
|
|
56
|
+
* the lines together when the hint spans several.
|
|
57
|
+
*/
|
|
12
58
|
export declare const Caption: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
|
|
13
59
|
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/atoms/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/atoms/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAoDD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,0EAjC8D,eAAe,uBAiCpC,CAAC;AAC5D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,0EA9C2D,eAAe,uBA8CxC,CAAC;AACxD;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,0EAzD+D,eAAe,uBAyDhD,CAAC;AAChD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,0EApE4D,eAAe,uBAoErC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Animated, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import { useReduceMotion } from '../theme/useReduceMotion';
|
|
3
4
|
export type TransitionPreset = 'fade' | 'scale' | 'pop' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
|
|
4
5
|
export interface TransitionProps {
|
|
6
|
+
/** Content that enters and exits. */
|
|
5
7
|
children: React.ReactNode;
|
|
6
8
|
/** Enters when true, exits (and unmounts) when false. @default true */
|
|
7
9
|
visible?: boolean;
|
|
@@ -11,7 +13,7 @@ export interface TransitionProps {
|
|
|
11
13
|
duration?: number;
|
|
12
14
|
/** ms before starting. A per-index delay staggers a list. @default 0 */
|
|
13
15
|
delay?: number;
|
|
14
|
-
/** Pixels traveled by the slide presets. @default 24 */
|
|
16
|
+
/** Pixels traveled by the slide presets. @default tokens.spacing.xxl (24) */
|
|
15
17
|
distance?: number;
|
|
16
18
|
/** Spring instead of timing (implicit in 'pop'). */
|
|
17
19
|
spring?: boolean;
|
|
@@ -24,28 +26,30 @@ export interface TransitionProps {
|
|
|
24
26
|
* whoever passes it decides when and how it advances (a PanResponder, for example).
|
|
25
27
|
*/
|
|
26
28
|
value?: Animated.Value;
|
|
29
|
+
/** Called when the enter animation finishes. Not called when driven by `value`. */
|
|
27
30
|
onEntered?: () => void;
|
|
31
|
+
/** Called when the exit animation finishes, before unmounting. Not called when driven by `value`. */
|
|
28
32
|
onExited?: () => void;
|
|
29
33
|
style?: StyleProp<ViewStyle>;
|
|
30
34
|
testID?: string;
|
|
31
35
|
}
|
|
32
|
-
|
|
33
|
-
* Sigue el ajuste de "reducir movimiento" del sistema: con él activo las
|
|
34
|
-
* animaciones saltan al estado final en vez de desactivarse, así que los
|
|
35
|
-
* callbacks y el desmontaje siguen ocurriendo igual.
|
|
36
|
-
*/
|
|
37
|
-
export declare function useReduceMotion(): boolean;
|
|
36
|
+
export { useReduceMotion };
|
|
38
37
|
/**
|
|
39
38
|
* Transition
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
39
|
+
* Wraps any tree and animates it on enter and exit. Every preset boils down
|
|
40
|
+
* to `opacity` and `transform` over a single Animated.Value, which is what
|
|
41
|
+
* `useNativeDriver` knows how to send to the native thread: the animation runs
|
|
42
|
+
* there and the JS thread takes part in no frame — that is why there are no
|
|
43
|
+
* height, width or color presets, which would force a return to JS every frame.
|
|
44
|
+
*
|
|
45
|
+
* The node stays mounted until the exit animation finishes, and the behavior
|
|
46
|
+
* is identical on iOS and Android: there is no per-platform branch. While
|
|
47
|
+
* exiting (or hidden with `keepMounted`) it stops receiving touches and leaves
|
|
48
|
+
* the accessibility tree: what is invisible isn't read.
|
|
45
49
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
50
|
+
* Gestalt, common fate: what enters or exits together is perceived as a group;
|
|
51
|
+
* with a per-index `delay` the list enters in reading order (continuity).
|
|
52
|
+
* Respects Reduce Motion: jumps to the final state, callbacks still fire.
|
|
49
53
|
*/
|
|
50
54
|
export declare const Transition: React.MemoExoticComponent<({ children, visible, preset, duration, delay, distance, spring, appear, keepMounted, value, onEntered, onExited, style, testID, }: TransitionProps) => React.JSX.Element | null>;
|
|
51
55
|
//# sourceMappingURL=Transition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transition.d.ts","sourceRoot":"","sources":["../../../src/atoms/Transition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"Transition.d.ts","sourceRoot":"","sources":["../../../src/atoms/Transition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAU,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,GACP,KAAK,GACL,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAC/C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,gKAgBlB,eAAe,8BA+FnB,CAAC"}
|
|
@@ -5,7 +5,7 @@ export type { ButtonProps, ButtonVariant, ButtonSize } from './Button';
|
|
|
5
5
|
export { IconButton } from './IconButton';
|
|
6
6
|
export type { IconButtonProps } from './IconButton';
|
|
7
7
|
export { Input } from './Input';
|
|
8
|
-
export type { InputProps } from './Input';
|
|
8
|
+
export type { InputProps, InputHandle, InputRules, InputRuleValue } from './Input';
|
|
9
9
|
export { Checkbox } from './Checkbox';
|
|
10
10
|
export type { CheckboxProps } from './Checkbox';
|
|
11
11
|
export { Badge } from './Badge';
|
|
@@ -16,7 +16,7 @@ export { Divider } from './Divider';
|
|
|
16
16
|
export type { DividerProps } from './Divider';
|
|
17
17
|
export { Gradient } from './Gradient';
|
|
18
18
|
export type { GradientProps, GradientDirection } from './Gradient';
|
|
19
|
-
export { Avatar } from './Avatar';
|
|
19
|
+
export { Avatar, initialsOf } from './Avatar';
|
|
20
20
|
export type { AvatarProps } from './Avatar';
|
|
21
21
|
export { Image, prefetchImage } from './Image';
|
|
22
22
|
export type { ImageProps } from './Image';
|
|
@@ -29,7 +29,7 @@ export type { TransitionProps, TransitionPreset } from './Transition';
|
|
|
29
29
|
export { ShinyText } from './ShinyText';
|
|
30
30
|
export type { ShinyTextProps } from './ShinyText';
|
|
31
31
|
export { EmptyState } from './EmptyState';
|
|
32
|
-
export type { EmptyStateProps } from './EmptyState';
|
|
32
|
+
export type { EmptyStateProps, EmptyStateAction } from './EmptyState';
|
|
33
33
|
export { KeyValueRow } from './KeyValueRow';
|
|
34
34
|
export type { KeyValueRowProps } from './KeyValueRow';
|
|
35
35
|
export { Fab } from './Fab';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Labels } from '../theme/labels';
|
|
2
|
+
/** A rule's value, optionally with its own message instead of the default label. */
|
|
3
|
+
export type InputRuleValue<T> = T | {
|
|
4
|
+
value: T;
|
|
5
|
+
message: string;
|
|
6
|
+
};
|
|
7
|
+
export interface InputRules {
|
|
8
|
+
/** Fewer characters than this is an error. Message: `labels.minLengthError`. */
|
|
9
|
+
minLength?: InputRuleValue<number>;
|
|
10
|
+
/** More characters than this is an error. Message: `labels.maxLengthError`. */
|
|
11
|
+
maxLength?: InputRuleValue<number>;
|
|
12
|
+
/** The value must match. Message: `labels.patternError`. */
|
|
13
|
+
pattern?: InputRuleValue<RegExp>;
|
|
14
|
+
/**
|
|
15
|
+
* Custom check, run last. Return an error message, or `false` for
|
|
16
|
+
* `labels.patternError`; anything else means valid.
|
|
17
|
+
*/
|
|
18
|
+
validate?: (value: string) => string | boolean | null | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Error for the value, or undefined if it is valid. Order: required, min
|
|
22
|
+
* length, max length, pattern, custom validation — a single error is shown,
|
|
23
|
+
* the first one. An empty optional field is valid: the other rules don't run on nothing.
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateInputValue(value: string, { required, rules }: {
|
|
26
|
+
required?: boolean;
|
|
27
|
+
rules?: InputRules;
|
|
28
|
+
}, labels: Labels): string | undefined;
|
|
29
|
+
//# sourceMappingURL=inputValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputValidation.d.ts","sourceRoot":"","sources":["../../../src/atoms/inputValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,oFAAoF;AACpF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACnC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACnC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CACnE;AAQD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,EAC/D,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAwBpB"}
|
|
@@ -9,10 +9,10 @@ export interface IconProps {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Icon
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* Resolves the glyph through the active renderer (UIProvider.icons, the
|
|
13
|
+
* zero-dep default if none was configured). Internal use by the library —
|
|
14
|
+
* public components expose `icon?: ReactNode` in addition to this, so the
|
|
15
|
+
* consumer can inject any icon without going through the name system.
|
|
16
16
|
*/
|
|
17
17
|
export declare const Icon: React.MemoExoticComponent<({ name, size, color, style }: IconProps) => React.JSX.Element>;
|
|
18
18
|
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { IconName, IconRenderProps } from './types';
|
|
3
|
-
/**
|
|
2
|
+
import type { BuiltInIconName, IconName, IconRenderProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Default glyphs drawn with RN primitives (View + border + transform).
|
|
5
|
+
* Zero dependencies, zero fonts, zero async loading. They cover what the
|
|
6
|
+
* library needs internally (checkbox, Select chevrons, password toggle in
|
|
7
|
+
* Input, etc) plus a basic set for apps (menu, home, user…).
|
|
8
|
+
* For a complete set, the consumer injects their own via
|
|
9
|
+
* <UIProvider icons={...}> or the `icon` prop.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Color of the inner glyph of a filled icon (alert, warning): black or
|
|
13
|
+
* white depending on the fill's luminance. A fixed white disappeared over
|
|
14
|
+
* dark mode's light fills (figure and ground). Non-hex colors (rgb(),
|
|
15
|
+
* names) fall back to white, the common case over saturated accents.
|
|
16
|
+
*/
|
|
17
|
+
export declare function onColor(fill: string): string;
|
|
18
|
+
/** All included glyphs, in catalog order. */
|
|
19
|
+
export declare const BUILT_IN_ICON_NAMES: readonly BuiltInIconName[];
|
|
20
|
+
/** Default renderer. Used when <UIProvider icons={...}> doesn't pass its own. */
|
|
4
21
|
export declare function renderDefaultIcon(name: IconName, props: IconRenderProps): React.ReactNode;
|
|
5
22
|
//# sourceMappingURL=defaultIcons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultIcons.d.ts","sourceRoot":"","sources":["../../../src/icons/defaultIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"defaultIcons.d.ts","sourceRoot":"","sources":["../../../src/icons/defaultIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1E;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc5C;AAkmBD,6CAA6C;AAC7C,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAIzD,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,SAAS,CA+DzF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Icon } from './Icon';
|
|
2
2
|
export type { IconProps } from './Icon';
|
|
3
|
-
export { renderDefaultIcon } from './defaultIcons';
|
|
4
|
-
export type { IconName, IconRenderer, IconRenderProps } from './types';
|
|
3
|
+
export { renderDefaultIcon, BUILT_IN_ICON_NAMES } from './defaultIcons';
|
|
4
|
+
export type { BuiltInIconName, IconName, IconRenderer, IconRenderProps } from './types';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Included glyphs (drawn with RN primitives, zero dependencies): the ones
|
|
4
|
+
* the library uses internally plus a basic set for apps.
|
|
5
|
+
*/
|
|
6
|
+
export type BuiltInIconName = 'check' | 'close' | 'chevron-down' | 'chevron-up' | 'chevron-left' | 'chevron-right' | 'eye' | 'eye-off' | 'search' | 'scan' | 'plus' | 'minus' | 'alert' | 'info' | 'warning' | 'question' | 'menu' | 'more' | 'home' | 'settings' | 'user' | 'trash' | 'edit' | 'share' | 'heart' | 'star';
|
|
7
|
+
/**
|
|
8
|
+
* Icon name accepted by `iconName`, `leftIconName`, etc. Autocompletes the
|
|
9
|
+
* included ones and also accepts any string, for those who plug in their own
|
|
10
|
+
* set with `<UIProvider icons={...}>` (e.g. `iconName="calendar"`). A name
|
|
11
|
+
* the active renderer doesn't know draws nothing (and warns in development).
|
|
12
|
+
*/
|
|
13
|
+
export type IconName = BuiltInIconName | (string & {});
|
|
4
14
|
export interface IconRenderProps {
|
|
5
15
|
size: number;
|
|
6
16
|
color: string;
|
|
7
17
|
}
|
|
8
|
-
/**
|
|
18
|
+
/** Injectable renderer: replaces the default glyphs with those of any icon set. */
|
|
9
19
|
export type IconRenderer = (name: IconName, props: IconRenderProps) => ReactNode;
|
|
10
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/icons/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/icons/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,OAAO,GACP,cAAc,GACd,YAAY,GACZ,cAAc,GACd,eAAe,GACf,KAAK,GACL,SAAS,GACT,QAAQ,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mFAAmF;AACnF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,KAAK,SAAS,CAAC"}
|
|
@@ -4,17 +4,36 @@ import type { IconName } from '../icons/types';
|
|
|
4
4
|
export interface AvatarHeaderProps {
|
|
5
5
|
/** Icon to show inside the circle. If omitted, `initials` is used instead. */
|
|
6
6
|
iconName?: IconName;
|
|
7
|
+
/** Icon color. Keep AA contrast against `primarySoft`, the circle's fill. @default colors.primary */
|
|
7
8
|
iconColor?: string;
|
|
8
|
-
/** Short text (e.g. 2 letters) shown when `iconName` isn't provided. */
|
|
9
|
+
/** Short text (e.g. 2 letters) shown when `iconName` isn't provided. Without either, a `user` icon. */
|
|
9
10
|
initials?: string;
|
|
11
|
+
/** Main heading of the screen or modal; announced as a header. */
|
|
10
12
|
title: string;
|
|
13
|
+
/** Supporting line under the title. A string gets the muted style; a node renders as is. */
|
|
11
14
|
subtitle?: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Third and last line, the least important detail ("Joined March 2023").
|
|
17
|
+
* Three lines is the limit: beyond that the header stops being scannable.
|
|
18
|
+
*/
|
|
19
|
+
caption?: string;
|
|
12
20
|
style?: StyleProp<ViewStyle>;
|
|
21
|
+
testID?: string;
|
|
13
22
|
}
|
|
14
23
|
/**
|
|
15
24
|
* AvatarHeader
|
|
16
|
-
*
|
|
17
|
-
*
|
|
25
|
+
* 80x80 circle with an icon or initials + centered title/subtitle. Typical
|
|
26
|
+
* header of detail modals (client, product, etc).
|
|
27
|
+
*
|
|
28
|
+
* Gestalt, symmetry and focal point: everything sits on one centered axis and
|
|
29
|
+
* the circle is the single large shape, so the eye lands there first and then
|
|
30
|
+
* drops to the title. Proximity: title and subtitle are closer to each other
|
|
31
|
+
* than to the circle, reading as one name + its detail. Hierarchy by size:
|
|
32
|
+
* title, subtitle, caption — at most three lines of text. Long text wraps
|
|
33
|
+
* centered, so the axis holds. No outer margin: the parent sets the spacing.
|
|
34
|
+
*
|
|
35
|
+
* Accessibility: the title is a header; the circle is decorative (the
|
|
36
|
+
* initials would only repeat the title).
|
|
18
37
|
*/
|
|
19
|
-
export declare const AvatarHeader: React.MemoExoticComponent<({ iconName, iconColor, initials, title, subtitle, style }: AvatarHeaderProps) => React.JSX.Element>;
|
|
38
|
+
export declare const AvatarHeader: React.MemoExoticComponent<({ iconName, iconColor, initials, title, subtitle, caption, style, testID }: AvatarHeaderProps) => React.JSX.Element>;
|
|
20
39
|
//# sourceMappingURL=AvatarHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarHeader.d.ts","sourceRoot":"","sources":["../../../src/molecules/AvatarHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"AvatarHeader.d.ts","sourceRoot":"","sources":["../../../src/molecules/AvatarHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6CD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,yGACsD,iBAAiB,uBAmC/F,CAAC"}
|
|
@@ -2,20 +2,37 @@ import React from 'react';
|
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import type { IconName } from '../icons/types';
|
|
4
4
|
export interface FormActionsProps {
|
|
5
|
-
/**
|
|
5
|
+
/** Label of the main action ("Save"). The primary button shows only with both this and `onPrimaryPress`. */
|
|
6
6
|
primaryLabel?: string;
|
|
7
|
+
/** Main action. */
|
|
7
8
|
onPrimaryPress?: () => void;
|
|
9
|
+
/** Blocks the main action, e.g. while the form is invalid. @default false */
|
|
8
10
|
primaryDisabled?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The main action is running: shows a spinner and ignores presses, so it
|
|
13
|
+
* can't be sent twice. The secondary button stays usable. @default false
|
|
14
|
+
*/
|
|
9
15
|
primaryLoading?: boolean;
|
|
16
|
+
/** Icon before the primary label. */
|
|
10
17
|
primaryLeftIconName?: IconName;
|
|
18
|
+
/** Label of the ghost button. @default labels.close */
|
|
11
19
|
secondaryLabel?: string;
|
|
20
|
+
/** Close / cancel action. */
|
|
12
21
|
onSecondaryPress: () => void;
|
|
13
22
|
style?: StyleProp<ViewStyle>;
|
|
23
|
+
/** Root testID; the buttons get `<testID>-primary` and `<testID>-secondary`. */
|
|
24
|
+
testID?: string;
|
|
14
25
|
}
|
|
15
26
|
/**
|
|
16
27
|
* FormActions
|
|
17
|
-
*
|
|
18
|
-
*
|
|
28
|
+
* Pair of buttons: a primary one (save/edit) and a ghost one (close/cancel).
|
|
29
|
+
* Typical use: at the end of a form, or in a Modal's footer.
|
|
30
|
+
*
|
|
31
|
+
* Gestalt, proximity: both buttons sit close together and apart from the
|
|
32
|
+
* fields, so they read as the form's closing actions. Von Restorff: only the
|
|
33
|
+
* primary is filled; the secondary is ghost, so the main path is obvious and
|
|
34
|
+
* the two never compete (Hick: one clear choice). Fitts: full width, primary
|
|
35
|
+
* first, closest to the content it acts on.
|
|
19
36
|
*/
|
|
20
|
-
export declare const FormActions: React.MemoExoticComponent<({ primaryLabel, onPrimaryPress, primaryDisabled, primaryLoading, primaryLeftIconName, secondaryLabel, onSecondaryPress, style, }: FormActionsProps) => React.JSX.Element>;
|
|
37
|
+
export declare const FormActions: React.MemoExoticComponent<({ primaryLabel, onPrimaryPress, primaryDisabled, primaryLoading, primaryLeftIconName, secondaryLabel, onSecondaryPress, style, testID, }: FormActionsProps) => React.JSX.Element>;
|
|
21
38
|
//# sourceMappingURL=FormActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormActions.d.ts","sourceRoot":"","sources":["../../../src/molecules/FormActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"FormActions.d.ts","sourceRoot":"","sources":["../../../src/molecules/FormActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,MAAM,WAAW,gBAAgB;IAC/B,4GAA4G;IAC5G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,QAAQ,CAAC;IAC/B,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,uKAWnB,gBAAgB,uBAwBpB,CAAC"}
|