pixelize-native-library 1.2.1 → 1.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/COMPONENT-GOTCHAS.md +309 -0
- package/DESIGN-GUIDE.md +215 -0
- package/README.md +44 -0
- package/lib/module/core/MODULE.md +22 -16
- package/lib/module/core/a11y/MODULE.md +7 -7
- package/lib/module/core/a11y/touchTarget.js +6 -0
- package/lib/module/core/blur/blur.js +17 -0
- package/lib/module/core/blur/index.js +4 -0
- package/lib/module/core/device/MODULE.md +5 -8
- package/lib/module/core/gradient/AccentGradientFill.js +9 -6
- package/lib/module/core/gradient/ShimmerGradientFill.js +79 -0
- package/lib/module/core/gradient/index.js +1 -0
- package/lib/module/core/haptics/MODULE.md +7 -3
- package/lib/module/core/heading/MODULE.md +1 -1
- package/lib/module/core/icon/MODULE.md +14 -22
- package/lib/module/core/icon/icons/building-2.js +1 -1
- package/lib/module/core/icon/icons/trash.js +1 -1
- package/lib/module/core/list/VirtualList.js +16 -3
- package/lib/module/core/motion/MODULE.md +18 -9
- package/lib/module/core/motion/animatedComponents.js +8 -0
- package/lib/module/core/motion/index.js +2 -0
- package/lib/module/core/motion/motionAnimation.js +87 -0
- package/lib/module/core/motion/presets.js +81 -81
- package/lib/module/core/motion/reanimatedEasing.js +19 -0
- package/lib/module/core/motion/useAnimatedValue.js +2 -14
- package/lib/module/core/motion/useMotion.js +19 -20
- package/lib/module/core/motion/usePressState.js +0 -5
- package/lib/module/core/overlay/MODULE.md +17 -0
- package/lib/module/core/overlay/ModalPortalContext.js +8 -0
- package/lib/module/core/overlay/index.js +5 -0
- package/lib/module/core/overlay/renderWebPortal.js +6 -0
- package/lib/module/core/overlay/renderWebPortal.web.js +8 -0
- package/lib/module/core/screen-scroll/ScreenScrollContext.js +9 -0
- package/lib/module/core/screen-scroll/index.js +4 -0
- package/lib/module/core/slot/MODULE.md +9 -0
- package/lib/module/core/slot/index.js +4 -0
- package/lib/module/core/slot/nodeSlot.js +21 -0
- package/lib/module/core/style/focusRing.js +37 -0
- package/lib/module/core/style/index.js +1 -1
- package/lib/module/index.js +23 -4
- package/lib/module/modules/accordion/Accordion.js +50 -108
- package/lib/module/modules/accordion/Accordion.variants.js +2 -4
- package/lib/module/modules/accordion/AccordionProps.js +4 -0
- package/lib/module/modules/accordion/MODULE.md +15 -24
- package/lib/module/modules/alert-dialog/AlertDialog.js +19 -2
- package/lib/module/modules/alert-dialog/AlertDialogProps.js +4 -0
- package/lib/module/modules/alert-dialog/MODULE.md +2 -1
- package/lib/module/modules/app-bar/AppBar.js +21 -18
- package/lib/module/modules/app-bar/AppBar.variants.js +5 -0
- package/lib/module/modules/app-bar/AppBarProps.js +4 -0
- package/lib/module/modules/app-bar/MODULE.md +1 -1
- package/lib/module/modules/app-switcher/AppSwitcher.js +30 -0
- package/lib/module/modules/app-switcher/AppSwitcherProps.js +4 -0
- package/lib/module/modules/app-switcher/MODULE.md +14 -0
- package/lib/module/modules/app-switcher/index.js +4 -0
- package/lib/module/modules/appearance-settings/AppearanceSettings.js +58 -0
- package/lib/module/modules/appearance-settings/AppearanceSettingsProps.js +4 -0
- package/lib/module/modules/appearance-settings/MODULE.md +9 -0
- package/lib/module/modules/appearance-settings/index.js +4 -0
- package/lib/module/modules/avatar/Avatar.variants.js +2 -0
- package/lib/module/modules/avatar/AvatarProps.js +4 -0
- package/lib/module/modules/avatar/MODULE.md +3 -3
- package/lib/module/modules/avatar-group/AvatarGroupProps.js +4 -0
- package/lib/module/modules/avatar-group/MODULE.md +2 -1
- package/lib/module/modules/backdrop/Backdrop.js +38 -0
- package/lib/module/modules/backdrop/BackdropProps.js +4 -0
- package/lib/module/modules/backdrop/MODULE.md +11 -0
- package/lib/module/modules/backdrop/index.js +4 -0
- package/lib/module/modules/badge/BadgeProps.js +4 -0
- package/lib/module/modules/badge/MODULE.md +6 -4
- package/lib/module/modules/banner/Banner.js +2 -2
- package/lib/module/modules/banner/Banner.variants.js +3 -1
- package/lib/module/modules/banner/BannerProps.js +4 -0
- package/lib/module/modules/banner/MODULE.md +20 -31
- package/lib/module/modules/bottom-nav/BottomNav.variants.js +2 -2
- package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +18 -19
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +8 -7
- package/lib/module/modules/bottom-nav/BottomNavProps.js +4 -0
- package/lib/module/modules/bottom-nav/BottomNavTab.js +15 -16
- package/lib/module/modules/bottom-nav/MODULE.md +13 -13
- package/lib/module/modules/bottom-sheet/BottomSheet.js +30 -7
- package/lib/module/modules/bottom-sheet/BottomSheetProps.js +4 -0
- package/lib/module/modules/bottom-sheet/MODULE.md +11 -1
- package/lib/module/modules/breadcrumbs/Breadcrumbs.js +54 -0
- package/lib/module/modules/breadcrumbs/Breadcrumbs.variants.js +28 -0
- package/lib/module/modules/breadcrumbs/BreadcrumbsProps.js +4 -0
- package/lib/module/modules/breadcrumbs/MODULE.md +13 -0
- package/lib/module/modules/breadcrumbs/index.js +4 -0
- package/lib/module/modules/button/Button.js +6 -4
- package/lib/module/modules/button/Button.variants.js +12 -16
- package/lib/module/modules/button/ButtonProps.js +4 -0
- package/lib/module/modules/button/MODULE.md +6 -11
- package/lib/module/modules/button-group/ButtonGroup.js +4 -3
- package/lib/module/modules/button-group/ButtonGroup.variants.js +2 -4
- package/lib/module/modules/button-group/ButtonGroupProps.js +4 -0
- package/lib/module/modules/button-group/MODULE.md +2 -2
- package/lib/module/modules/card/Card.js +30 -7
- package/lib/module/modules/card/CardProps.js +4 -0
- package/lib/module/modules/card/MODULE.md +4 -2
- package/lib/module/modules/charts/BarChart.js +6 -4
- package/lib/module/modules/charts/BarChartProps.js +4 -0
- package/lib/module/modules/charts/BarList.js +2 -1
- package/lib/module/modules/charts/BarListProps.js +4 -0
- package/lib/module/modules/charts/ChartLegendProps.js +4 -0
- package/lib/module/modules/charts/Charts.variants.js +3 -1
- package/lib/module/modules/charts/DonutChart.js +3 -2
- package/lib/module/modules/charts/DonutChartProps.js +4 -0
- package/lib/module/modules/charts/LineChart.js +3 -2
- package/lib/module/modules/charts/LineChartProps.js +4 -0
- package/lib/module/modules/charts/MODULE.md +14 -14
- package/lib/module/modules/charts/PieChart.js +6 -4
- package/lib/module/modules/charts/PieChartProps.js +4 -0
- package/lib/module/modules/charts/SparklineProps.js +4 -0
- package/lib/module/modules/checkbox/Checkbox.js +21 -27
- package/lib/module/modules/checkbox/Checkbox.variants.js +4 -2
- package/lib/module/modules/checkbox/CheckboxProps.js +4 -0
- package/lib/module/modules/checkbox/MODULE.md +12 -6
- package/lib/module/modules/chip/Chip.js +49 -32
- package/lib/module/modules/chip/Chip.variants.js +3 -2
- package/lib/module/modules/chip/ChipGroup.js +16 -5
- package/lib/module/modules/chip/ChipGroupProps.js +4 -0
- package/lib/module/modules/chip/ChipProps.js +4 -0
- package/lib/module/modules/chip/MODULE.md +5 -7
- package/lib/module/modules/combobox/Combobox.js +22 -25
- package/lib/module/modules/combobox/Combobox.variants.js +2 -3
- package/lib/module/modules/combobox/ComboboxProps.js +4 -0
- package/lib/module/modules/combobox/MODULE.md +6 -12
- package/lib/module/modules/composer/Composer.js +11 -9
- package/lib/module/modules/composer/ComposerProps.js +4 -0
- package/lib/module/modules/composer/MODULE.md +6 -6
- package/lib/module/modules/copy-button/CopyButton.js +14 -6
- package/lib/module/modules/copy-button/CopyButton.variants.js +3 -2
- package/lib/module/modules/copy-button/CopyButtonProps.js +4 -0
- package/lib/module/modules/copy-button/MODULE.md +10 -12
- package/lib/module/modules/data-table/DataTable.js +11 -7
- package/lib/module/modules/data-table/DataTable.variants.js +2 -2
- package/lib/module/modules/data-table/DataTableProps.js +4 -0
- package/lib/module/modules/data-table/MODULE.md +5 -10
- package/lib/module/modules/date-picker/Calendar.js +11 -8
- package/lib/module/modules/date-picker/CalendarProps.js +4 -0
- package/lib/module/modules/date-picker/DatePicker.variants.js +2 -1
- package/lib/module/modules/date-picker/DatePickerProps.js +4 -0
- package/lib/module/modules/date-picker/DateRangePickerProps.js +4 -0
- package/lib/module/modules/date-picker/MODULE.md +6 -9
- package/lib/module/modules/date-picker/PickerFieldProps.js +4 -0
- package/lib/module/modules/date-picker/PickerShell.js +21 -12
- package/lib/module/modules/date-picker/PickerShellProps.js +4 -0
- package/lib/module/modules/date-picker/TimePicker.js +3 -2
- package/lib/module/modules/date-picker/TimePickerProps.js +4 -0
- package/lib/module/modules/description-list/DescriptionList.js +90 -0
- package/lib/module/modules/description-list/DescriptionList.variants.js +63 -0
- package/lib/module/modules/description-list/DescriptionListProps.js +4 -0
- package/lib/module/modules/description-list/MODULE.md +15 -0
- package/lib/module/modules/description-list/index.js +4 -0
- package/lib/module/modules/divider/DividerProps.js +4 -0
- package/lib/module/modules/divider/MODULE.md +1 -8
- package/lib/module/modules/document-viewer/DocumentViewer.js +35 -0
- package/lib/module/modules/document-viewer/DocumentViewerProps.js +4 -0
- package/lib/module/modules/document-viewer/MODULE.md +12 -0
- package/lib/module/modules/document-viewer/index.js +4 -0
- package/lib/module/modules/drawer/Drawer.js +45 -40
- package/lib/module/modules/drawer/DrawerProps.js +4 -0
- package/lib/module/modules/drawer/MODULE.md +14 -24
- package/lib/module/modules/empty-state/EmptyState.js +2 -1
- package/lib/module/modules/empty-state/EmptyStateProps.js +4 -0
- package/lib/module/modules/empty-state/MODULE.md +4 -9
- package/lib/module/modules/fab/Fab.js +9 -11
- package/lib/module/modules/fab/Fab.variants.js +10 -4
- package/lib/module/modules/fab/FabGroup.js +40 -43
- package/lib/module/modules/fab/FabGroupProps.js +4 -0
- package/lib/module/modules/fab/FabProps.js +4 -0
- package/lib/module/modules/fab/MODULE.md +10 -17
- package/lib/module/modules/field-select-modal/FieldSelectModal.js +52 -0
- package/lib/module/modules/field-select-modal/FieldSelectModalProps.js +4 -0
- package/lib/module/modules/field-select-modal/MODULE.md +13 -0
- package/lib/module/modules/field-select-modal/index.js +4 -0
- package/lib/module/modules/file-grid/FileGrid.js +3 -2
- package/lib/module/modules/file-grid/FileGridProps.js +4 -0
- package/lib/module/modules/file-grid/MODULE.md +27 -4
- package/lib/module/modules/file-upload/FileUpload.js +56 -15
- package/lib/module/modules/file-upload/FileUploadProps.js +4 -0
- package/lib/module/modules/file-upload/MODULE.md +10 -14
- package/lib/module/modules/filter-bar/FilterBar.js +68 -0
- package/lib/module/modules/filter-bar/FilterBarProps.js +4 -0
- package/lib/module/modules/filter-bar/MODULE.md +16 -0
- package/lib/module/modules/filter-bar/index.js +4 -0
- package/lib/module/modules/filter-sheet/FilterChip.js +3 -2
- package/lib/module/modules/filter-sheet/FilterChipProps.js +4 -0
- package/lib/module/modules/filter-sheet/FilterSheet.js +19 -14
- package/lib/module/modules/filter-sheet/FilterSheet.variants.js +2 -3
- package/lib/module/modules/filter-sheet/FilterSheetBody.js +26 -16
- package/lib/module/modules/filter-sheet/FilterSheetProps.js +2 -0
- package/lib/module/modules/filter-sheet/MODULE.md +5 -14
- package/lib/module/modules/folder-row/FolderRow.js +6 -4
- package/lib/module/modules/folder-row/FolderRowProps.js +4 -0
- package/lib/module/modules/folder-row/MODULE.md +6 -5
- package/lib/module/modules/form-field/FormField.js +9 -4
- package/lib/module/modules/form-field/FormFieldProps.js +4 -0
- package/lib/module/modules/form-field/MODULE.md +2 -7
- package/lib/module/modules/gantt/Gantt.js +23 -6
- package/lib/module/modules/gantt/Gantt.variants.js +12 -4
- package/lib/module/modules/gantt/GanttProps.js +4 -0
- package/lib/module/modules/gantt/MODULE.md +3 -3
- package/lib/module/modules/image-viewer/ImageViewer.js +3 -2
- package/lib/module/modules/image-viewer/ImageViewerProps.js +4 -0
- package/lib/module/modules/image-viewer/MODULE.md +1 -1
- package/lib/module/modules/input/Input.js +55 -20
- package/lib/module/modules/input/Input.variants.js +2 -3
- package/lib/module/modules/input/InputProps.js +4 -0
- package/lib/module/modules/input/MODULE.md +9 -16
- package/lib/module/modules/key-value/KeyValue.js +36 -0
- package/lib/module/modules/key-value/KeyValueProps.js +4 -0
- package/lib/module/modules/key-value/MODULE.md +16 -0
- package/lib/module/modules/key-value/index.js +4 -0
- package/lib/module/modules/limit-reached-modal/LimitReachedModalProps.js +4 -0
- package/lib/module/modules/limit-reached-modal/MODULE.md +1 -6
- package/lib/module/modules/list-item/ListItem.js +17 -6
- package/lib/module/modules/list-item/ListItemProps.js +4 -0
- package/lib/module/modules/list-item/MODULE.md +14 -9
- package/lib/module/modules/list-screen/ListScreen.js +63 -0
- package/lib/module/modules/list-screen/ListScreenProps.js +4 -0
- package/lib/module/modules/list-screen/MODULE.md +12 -0
- package/lib/module/modules/list-screen/index.js +4 -0
- package/lib/module/modules/markdown/MODULE.md +0 -6
- package/lib/module/modules/markdown/MarkdownProps.js +4 -0
- package/lib/module/modules/menu/MODULE.md +10 -17
- package/lib/module/modules/menu/Menu.js +66 -52
- package/lib/module/modules/menu/Menu.variants.js +2 -2
- package/lib/module/modules/menu/MenuProps.js +4 -0
- package/lib/module/modules/message-bubble/MODULE.md +5 -4
- package/lib/module/modules/message-bubble/MessageBubbleProps.js +4 -0
- package/lib/module/modules/modal/MODULE.md +56 -93
- package/lib/module/modules/modal/Modal.js +99 -30
- package/lib/module/modules/modal/ModalPortalContext.js +1 -22
- package/lib/module/modules/modal/ModalPortalProvider.js +1 -1
- package/lib/module/modules/modal/ModalPortalProviderProps.js +4 -0
- package/lib/module/modules/modal/ModalProps.js +4 -0
- package/lib/module/modules/modal/renderWebPortal.js +1 -15
- package/lib/module/modules/modal/renderWebPortal.web.js +1 -21
- package/lib/module/modules/more-items/MODULE.md +0 -2
- package/lib/module/modules/more-items/MoreItems.js +10 -7
- package/lib/module/modules/more-items/MoreItems.variants.js +2 -1
- package/lib/module/modules/more-items/MoreItemsProps.js +4 -0
- package/lib/module/modules/multi-select/MODULE.md +5 -11
- package/lib/module/modules/multi-select/MultiSelect.js +38 -23
- package/lib/module/modules/multi-select/MultiSelect.variants.js +4 -2
- package/lib/module/modules/multi-select/MultiSelectProps.js +4 -0
- package/lib/module/modules/notification-bell/MODULE.md +8 -0
- package/lib/module/modules/notification-bell/NotificationBell.js +43 -0
- package/lib/module/modules/notification-bell/NotificationBellProps.js +4 -0
- package/lib/module/modules/notification-bell/index.js +4 -0
- package/lib/module/modules/number-input/MODULE.md +8 -13
- package/lib/module/modules/number-input/NumberInput.js +8 -6
- package/lib/module/modules/number-input/NumberInput.variants.js +2 -4
- package/lib/module/modules/number-input/NumberInputProps.js +4 -0
- package/lib/module/modules/org-switcher/MODULE.md +5 -12
- package/lib/module/modules/org-switcher/OrgSwitcher.js +21 -19
- package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +4 -2
- package/lib/module/modules/org-switcher/OrgSwitcherProps.js +4 -0
- package/lib/module/modules/pagination/MODULE.md +2 -5
- package/lib/module/modules/pagination/Pagination.js +25 -15
- package/lib/module/modules/pagination/Pagination.variants.js +2 -2
- package/lib/module/modules/pagination/PaginationControls.js +7 -5
- package/lib/module/modules/pagination/PaginationProps.js +4 -0
- package/lib/module/modules/person-chip/MODULE.md +11 -0
- package/lib/module/modules/person-chip/PersonChip.js +65 -0
- package/lib/module/modules/person-chip/PersonChipProps.js +4 -0
- package/lib/module/modules/person-chip/index.js +4 -0
- package/lib/module/modules/pin-input/MODULE.md +9 -20
- package/lib/module/modules/pin-input/PinInput.js +2 -2
- package/lib/module/modules/pin-input/PinInput.variants.js +2 -3
- package/lib/module/modules/pin-input/PinInputProps.js +4 -0
- package/lib/module/modules/plan-badge/MODULE.md +4 -0
- package/lib/module/modules/plan-badge/PlanBadge.js +25 -0
- package/lib/module/modules/plan-badge/PlanBadgeProps.js +4 -0
- package/lib/module/modules/plan-badge/index.js +4 -0
- package/lib/module/modules/plan-pill/MODULE.md +4 -0
- package/lib/module/modules/plan-pill/PlanPill.js +24 -0
- package/lib/module/modules/plan-pill/PlanPillProps.js +4 -0
- package/lib/module/modules/plan-pill/index.js +4 -0
- package/lib/module/modules/progress-bar/MODULE.md +12 -14
- package/lib/module/modules/progress-bar/ProgressBar.js +28 -36
- package/lib/module/modules/progress-bar/ProgressBarProps.js +4 -0
- package/lib/module/modules/radio-group/MODULE.md +6 -12
- package/lib/module/modules/radio-group/RadioGroup.js +7 -6
- package/lib/module/modules/radio-group/RadioGroup.variants.js +2 -3
- package/lib/module/modules/radio-group/RadioGroupProps.js +4 -0
- package/lib/module/modules/reorder/MODULE.md +7 -11
- package/lib/module/modules/reorder/Reorder.js +8 -3
- package/lib/module/modules/reorder/Reorder.variants.js +3 -4
- package/lib/module/modules/reorder/ReorderProps.js +4 -0
- package/lib/module/modules/rich-text/MODULE.md +4 -4
- package/lib/module/modules/rich-text/RichTextProps.js +4 -0
- package/lib/module/modules/rich-text-editor/MODULE.md +6 -16
- package/lib/module/modules/rich-text-editor/RichTextEditor.js +5 -4
- package/lib/module/modules/rich-text-editor/RichTextEditorProps.js +4 -0
- package/lib/module/modules/save-bar/MODULE.md +3 -0
- package/lib/module/modules/save-bar/SaveBar.js +49 -0
- package/lib/module/modules/save-bar/SaveBarProps.js +4 -0
- package/lib/module/modules/save-bar/index.js +4 -0
- package/lib/module/modules/screen/MODULE.md +7 -5
- package/lib/module/modules/screen/Screen.js +65 -22
- package/lib/module/modules/screen/ScreenProps.js +4 -0
- package/lib/module/modules/search-bar/MODULE.md +8 -8
- package/lib/module/modules/search-bar/SearchBar.js +8 -6
- package/lib/module/modules/search-bar/SearchBar.variants.js +2 -4
- package/lib/module/modules/search-bar/SearchBarProps.js +4 -0
- package/lib/module/modules/section/MODULE.md +1 -1
- package/lib/module/modules/section/Section.js +6 -1
- package/lib/module/modules/section/SectionProps.js +4 -0
- package/lib/module/modules/section-list/MODULE.md +21 -1
- package/lib/module/modules/section-list/SectionListProps.js +4 -0
- package/lib/module/modules/segmented-control/MODULE.md +30 -28
- package/lib/module/modules/segmented-control/SegmentedControl.js +20 -30
- package/lib/module/modules/segmented-control/SegmentedControl.variants.js +9 -42
- package/lib/module/modules/segmented-control/SegmentedControlProps.js +4 -0
- package/lib/module/modules/select/MODULE.md +8 -5
- package/lib/module/modules/select/Select.js +38 -25
- package/lib/module/modules/select/Select.variants.js +4 -5
- package/lib/module/modules/select/SelectProps.js +4 -0
- package/lib/module/modules/setting-row/MODULE.md +8 -0
- package/lib/module/modules/setting-row/SettingRow.js +50 -0
- package/lib/module/modules/setting-row/SettingRowProps.js +4 -0
- package/lib/module/modules/setting-row/index.js +4 -0
- package/lib/module/modules/settings-section/MODULE.md +7 -0
- package/lib/module/modules/settings-section/SettingsSection.js +37 -0
- package/lib/module/modules/settings-section/SettingsSectionProps.js +4 -0
- package/lib/module/modules/settings-section/index.js +4 -0
- package/lib/module/modules/skeleton/MODULE.md +2 -1
- package/lib/module/modules/skeleton/Skeleton.js +14 -8
- package/lib/module/modules/skeleton/Skeleton.variants.js +4 -9
- package/lib/module/modules/skeleton/SkeletonProps.js +4 -0
- package/lib/module/modules/slider/MODULE.md +2 -1
- package/lib/module/modules/slider/Slider.js +6 -6
- package/lib/module/modules/slider/Slider.variants.js +4 -2
- package/lib/module/modules/slider/SliderProps.js +4 -0
- package/lib/module/modules/spinner/MODULE.md +3 -2
- package/lib/module/modules/spinner/SpinnerProps.js +4 -0
- package/lib/module/modules/stage-progress/MODULE.md +20 -6
- package/lib/module/modules/stage-progress/StageProgress.js +45 -15
- package/lib/module/modules/stage-progress/StageProgress.variants.js +40 -8
- package/lib/module/modules/stage-progress/StageProgressProps.js +4 -0
- package/lib/module/modules/stat-grid/MODULE.md +11 -0
- package/lib/module/modules/stat-grid/StatGrid.js +34 -0
- package/lib/module/modules/stat-grid/StatGridProps.js +4 -0
- package/lib/module/modules/stat-grid/index.js +4 -0
- package/lib/module/modules/stat-tile/MODULE.md +12 -1
- package/lib/module/modules/stat-tile/StatTile.js +40 -15
- package/lib/module/modules/stat-tile/StatTile.variants.js +5 -0
- package/lib/module/modules/stat-tile/StatTileProps.js +4 -0
- package/lib/module/modules/state-block/MODULE.md +9 -3
- package/lib/module/modules/state-block/StateBlock.js +46 -38
- package/lib/module/modules/state-block/StateBlockProps.js +4 -0
- package/lib/module/modules/stepper/MODULE.md +2 -0
- package/lib/module/modules/stepper/Stepper.js +22 -21
- package/lib/module/modules/stepper/Stepper.variants.js +2 -0
- package/lib/module/modules/stepper/StepperProps.js +4 -0
- package/lib/module/modules/surface/MODULE.md +6 -8
- package/lib/module/modules/surface/Surface.js +6 -1
- package/lib/module/modules/surface/SurfaceProps.js +4 -0
- package/lib/module/modules/swipeable-row/MODULE.md +3 -2
- package/lib/module/modules/swipeable-row/SwipeableRow.js +31 -8
- package/lib/module/modules/swipeable-row/SwipeableRowProps.js +4 -0
- package/lib/module/modules/switch/MODULE.md +6 -3
- package/lib/module/modules/switch/Switch.js +42 -8
- package/lib/module/modules/switch/Switch.variants.js +2 -3
- package/lib/module/modules/switch/SwitchProps.js +4 -0
- package/lib/module/modules/tabs/MODULE.md +10 -14
- package/lib/module/modules/tabs/Tabs.js +84 -39
- package/lib/module/modules/tabs/Tabs.variants.js +2 -4
- package/lib/module/modules/tabs/TabsProps.js +4 -0
- package/lib/module/modules/text/MODULE.md +25 -17
- package/lib/module/modules/text/Text.variants.js +9 -1
- package/lib/module/modules/text/TextProps.js +4 -0
- package/lib/module/modules/textarea/MODULE.md +12 -18
- package/lib/module/modules/textarea/Textarea.js +12 -10
- package/lib/module/modules/textarea/Textarea.variants.js +4 -1
- package/lib/module/modules/textarea/TextareaProps.js +4 -0
- package/lib/module/modules/timeline/MODULE.md +8 -17
- package/lib/module/modules/timeline/Timeline.js +79 -22
- package/lib/module/modules/timeline/Timeline.variants.js +2 -0
- package/lib/module/modules/timeline/TimelineProps.js +4 -0
- package/lib/module/modules/toast/MODULE.md +13 -20
- package/lib/module/modules/toast/Toast.js +53 -51
- package/lib/module/modules/toast/Toast.variants.js +2 -5
- package/lib/module/modules/tooltip/MODULE.md +9 -13
- package/lib/module/modules/tooltip/Tooltip.js +36 -7
- package/lib/module/modules/tooltip/TooltipProps.js +4 -0
- package/lib/module/modules/typing-indicator/MODULE.md +1 -1
- package/lib/module/modules/typing-indicator/TypingIndicator.js +78 -51
- package/lib/module/modules/typing-indicator/TypingIndicatorProps.js +4 -0
- package/lib/module/modules/upgrade-button/MODULE.md +3 -0
- package/lib/module/modules/upgrade-button/UpgradeButton.js +23 -0
- package/lib/module/modules/upgrade-button/UpgradeButtonProps.js +4 -0
- package/lib/module/modules/upgrade-button/index.js +4 -0
- package/lib/module/theme/MODULE.md +2 -0
- package/lib/module/theme/platform/MODULE.md +2 -6
- package/lib/module/theme/platform/elevation.native.js +1 -7
- package/lib/module/theme/provider/PixelizeProvider.js +6 -0
- package/lib/module/theme/tokens/MODULE.md +4 -0
- package/lib/module/theme/tokens/THEME-CONTRACT.md +53 -3
- package/lib/module/theme/tokens/brands/emerald/palette.light.js +5 -3
- package/lib/module/theme/tokens/brands/lavender/palette.light.js +4 -4
- package/lib/module/theme/tokens/brands/meadow/palette.light.js +2 -2
- package/lib/module/theme/tokens/brands/radiant/palette.light.js +3 -3
- package/lib/module/theme/tokens/brands/rosewood/palette.light.js +3 -3
- package/lib/module/theme/tokens/brands/skyline/palette.light.js +2 -2
- package/lib/module/theme/tokens/brands/slate/palette.light.js +3 -3
- package/lib/module/theme/tokens/builders/accentText.js +10 -1
- package/lib/module/theme/tokens/builders/buildBrandScale.js +42 -0
- package/lib/module/theme/tokens/builders/gradientInk.js +23 -0
- package/lib/module/theme/tokens/builders/paletteFromAccent.js +30 -0
- package/lib/module/theme/tokens/builders/skeletonShimmer.js +22 -0
- package/lib/module/theme/tokens/index.js +3 -0
- package/lib/module/theme/tokens/primitives/controlSizes.js +16 -0
- package/lib/module/theme/tokens/primitives/index.js +1 -0
- package/lib/module/theme/tokens/roles/index.js +2 -0
- package/lib/typescript/core/a11y/touchTarget.d.ts +4 -0
- package/lib/typescript/core/blur/blur.d.ts +14 -0
- package/lib/typescript/core/blur/index.d.ts +3 -0
- package/lib/typescript/core/gradient/ShimmerGradientFill.d.ts +8 -0
- package/lib/typescript/core/gradient/index.d.ts +1 -0
- package/lib/typescript/core/list/VirtualList.d.ts +6 -1
- package/lib/typescript/core/motion/animatedComponents.d.ts +4 -0
- package/lib/typescript/core/motion/index.d.ts +2 -0
- package/lib/typescript/core/motion/motionAnimation.d.ts +12 -0
- package/lib/typescript/core/motion/presets.d.ts +5 -36
- package/lib/typescript/core/motion/reanimatedEasing.d.ts +4 -0
- package/lib/typescript/core/motion/useAnimatedValue.d.ts +2 -10
- package/lib/typescript/core/motion/useMotion.d.ts +4 -13
- package/lib/typescript/core/motion/usePressState.d.ts +0 -1
- package/lib/typescript/core/overlay/ModalPortalContext.d.ts +2 -0
- package/lib/typescript/core/overlay/index.d.ts +3 -0
- package/lib/typescript/core/overlay/renderWebPortal.d.ts +3 -0
- package/lib/typescript/core/overlay/renderWebPortal.web.d.ts +3 -0
- package/lib/typescript/core/screen-scroll/ScreenScrollContext.d.ts +8 -0
- package/lib/typescript/core/screen-scroll/index.d.ts +3 -0
- package/lib/typescript/core/slot/index.d.ts +2 -0
- package/lib/typescript/core/slot/nodeSlot.d.ts +5 -0
- package/lib/typescript/core/style/focusRing.d.ts +10 -0
- package/lib/typescript/core/style/index.d.ts +1 -1
- package/lib/typescript/index.d.ts +49 -11
- package/lib/typescript/modules/accordion/Accordion.d.ts +2 -37
- package/lib/typescript/modules/accordion/Accordion.variants.d.ts +2 -3
- package/lib/typescript/modules/accordion/AccordionProps.d.ts +49 -0
- package/lib/typescript/modules/accordion/index.d.ts +1 -1
- package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts +2 -15
- package/lib/typescript/modules/alert-dialog/AlertDialogProps.d.ts +20 -0
- package/lib/typescript/modules/alert-dialog/index.d.ts +1 -1
- package/lib/typescript/modules/app-bar/AppBar.d.ts +1 -20
- package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +4 -0
- package/lib/typescript/modules/app-bar/AppBarProps.d.ts +25 -0
- package/lib/typescript/modules/app-bar/index.d.ts +1 -1
- package/lib/typescript/modules/app-switcher/AppSwitcher.d.ts +3 -0
- package/lib/typescript/modules/app-switcher/AppSwitcherProps.d.ts +17 -0
- package/lib/typescript/modules/app-switcher/index.d.ts +3 -0
- package/lib/typescript/modules/appearance-settings/AppearanceSettings.d.ts +3 -0
- package/lib/typescript/modules/appearance-settings/AppearanceSettingsProps.d.ts +15 -0
- package/lib/typescript/modules/appearance-settings/index.d.ts +3 -0
- package/lib/typescript/modules/avatar/Avatar.d.ts +2 -33
- package/lib/typescript/modules/avatar/Avatar.variants.d.ts +2 -0
- package/lib/typescript/modules/avatar/AvatarProps.d.ts +23 -0
- package/lib/typescript/modules/avatar/index.d.ts +1 -1
- package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +1 -18
- package/lib/typescript/modules/avatar-group/AvatarGroupProps.d.ts +27 -0
- package/lib/typescript/modules/avatar-group/index.d.ts +1 -1
- package/lib/typescript/modules/backdrop/Backdrop.d.ts +3 -0
- package/lib/typescript/modules/backdrop/BackdropProps.d.ts +11 -0
- package/lib/typescript/modules/backdrop/index.d.ts +3 -0
- package/lib/typescript/modules/badge/Badge.d.ts +2 -14
- package/lib/typescript/modules/badge/BadgeProps.d.ts +17 -0
- package/lib/typescript/modules/badge/index.d.ts +1 -1
- package/lib/typescript/modules/banner/Banner.d.ts +1 -22
- package/lib/typescript/modules/banner/Banner.variants.d.ts +2 -0
- package/lib/typescript/modules/banner/BannerProps.d.ts +29 -0
- package/lib/typescript/modules/banner/index.d.ts +2 -1
- package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +1 -34
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +2 -1
- package/lib/typescript/modules/bottom-nav/BottomNavProps.d.ts +29 -0
- package/lib/typescript/modules/bottom-nav/index.d.ts +2 -1
- package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +1 -13
- package/lib/typescript/modules/bottom-sheet/BottomSheetProps.d.ts +17 -0
- package/lib/typescript/modules/bottom-sheet/index.d.ts +1 -1
- package/lib/typescript/modules/breadcrumbs/Breadcrumbs.d.ts +3 -0
- package/lib/typescript/modules/breadcrumbs/Breadcrumbs.variants.d.ts +6 -0
- package/lib/typescript/modules/breadcrumbs/BreadcrumbsProps.d.ts +18 -0
- package/lib/typescript/modules/breadcrumbs/index.d.ts +3 -0
- package/lib/typescript/modules/button/Button.d.ts +1 -35
- package/lib/typescript/modules/button/Button.variants.d.ts +11 -15
- package/lib/typescript/modules/button/ButtonProps.d.ts +47 -0
- package/lib/typescript/modules/button/index.d.ts +1 -1
- package/lib/typescript/modules/button-group/ButtonGroup.d.ts +2 -17
- package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +2 -3
- package/lib/typescript/modules/button-group/ButtonGroupProps.d.ts +21 -0
- package/lib/typescript/modules/button-group/index.d.ts +1 -1
- package/lib/typescript/modules/card/Card.d.ts +2 -15
- package/lib/typescript/modules/card/CardProps.d.ts +27 -0
- package/lib/typescript/modules/card/index.d.ts +1 -1
- package/lib/typescript/modules/charts/BarChart.d.ts +1 -24
- package/lib/typescript/modules/charts/BarChartProps.d.ts +36 -0
- package/lib/typescript/modules/charts/BarList.d.ts +1 -16
- package/lib/typescript/modules/charts/BarListProps.d.ts +22 -0
- package/lib/typescript/modules/charts/ChartLegend.d.ts +2 -14
- package/lib/typescript/modules/charts/ChartLegendProps.d.ts +19 -0
- package/lib/typescript/modules/charts/Charts.variants.d.ts +2 -0
- package/lib/typescript/modules/charts/DonutChart.d.ts +1 -19
- package/lib/typescript/modules/charts/DonutChartProps.d.ts +27 -0
- package/lib/typescript/modules/charts/LineChart.d.ts +1 -28
- package/lib/typescript/modules/charts/LineChartProps.d.ts +40 -0
- package/lib/typescript/modules/charts/PieChart.d.ts +1 -16
- package/lib/typescript/modules/charts/PieChartProps.d.ts +24 -0
- package/lib/typescript/modules/charts/Sparkline.d.ts +1 -11
- package/lib/typescript/modules/charts/SparklineProps.d.ts +17 -0
- package/lib/typescript/modules/charts/index.d.ts +6 -6
- package/lib/typescript/modules/checkbox/Checkbox.d.ts +1 -33
- package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +2 -1
- package/lib/typescript/modules/checkbox/CheckboxProps.d.ts +27 -0
- package/lib/typescript/modules/checkbox/index.d.ts +1 -1
- package/lib/typescript/modules/chip/Chip.d.ts +1 -30
- package/lib/typescript/modules/chip/Chip.variants.d.ts +2 -1
- package/lib/typescript/modules/chip/ChipGroup.d.ts +1 -14
- package/lib/typescript/modules/chip/ChipGroupProps.d.ts +16 -0
- package/lib/typescript/modules/chip/ChipProps.d.ts +27 -0
- package/lib/typescript/modules/chip/index.d.ts +2 -2
- package/lib/typescript/modules/combobox/Combobox.d.ts +2 -45
- package/lib/typescript/modules/combobox/Combobox.variants.d.ts +3 -1
- package/lib/typescript/modules/combobox/ComboboxProps.d.ts +40 -0
- package/lib/typescript/modules/combobox/index.d.ts +1 -1
- package/lib/typescript/modules/composer/Composer.d.ts +1 -18
- package/lib/typescript/modules/composer/ComposerProps.d.ts +20 -0
- package/lib/typescript/modules/composer/index.d.ts +1 -1
- package/lib/typescript/modules/copy-button/CopyButton.d.ts +1 -15
- package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +2 -1
- package/lib/typescript/modules/copy-button/CopyButtonProps.d.ts +18 -0
- package/lib/typescript/modules/copy-button/index.d.ts +1 -1
- package/lib/typescript/modules/data-table/DataTable.d.ts +2 -31
- package/lib/typescript/modules/data-table/DataTable.variants.d.ts +2 -1
- package/lib/typescript/modules/data-table/DataTableProps.d.ts +43 -0
- package/lib/typescript/modules/data-table/index.d.ts +1 -1
- package/lib/typescript/modules/date-picker/Calendar.d.ts +1 -23
- package/lib/typescript/modules/date-picker/CalendarProps.d.ts +31 -0
- package/lib/typescript/modules/date-picker/DatePicker.d.ts +1 -27
- package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +2 -1
- package/lib/typescript/modules/date-picker/DatePickerProps.d.ts +33 -0
- package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +1 -23
- package/lib/typescript/modules/date-picker/DateRangePickerProps.d.ts +27 -0
- package/lib/typescript/modules/date-picker/PickerField.d.ts +1 -17
- package/lib/typescript/modules/date-picker/PickerFieldProps.d.ts +19 -0
- package/lib/typescript/modules/date-picker/PickerShell.d.ts +1 -12
- package/lib/typescript/modules/date-picker/PickerShellProps.d.ts +16 -0
- package/lib/typescript/modules/date-picker/TimePicker.d.ts +1 -9
- package/lib/typescript/modules/date-picker/TimePickerProps.d.ts +14 -0
- package/lib/typescript/modules/date-picker/index.d.ts +4 -4
- package/lib/typescript/modules/description-list/DescriptionList.d.ts +8 -0
- package/lib/typescript/modules/description-list/DescriptionList.variants.d.ts +29 -0
- package/lib/typescript/modules/description-list/DescriptionListProps.d.ts +23 -0
- package/lib/typescript/modules/description-list/index.d.ts +4 -0
- package/lib/typescript/modules/divider/Divider.d.ts +1 -8
- package/lib/typescript/modules/divider/DividerProps.d.ts +11 -0
- package/lib/typescript/modules/divider/index.d.ts +1 -1
- package/lib/typescript/modules/document-viewer/DocumentViewer.d.ts +3 -0
- package/lib/typescript/modules/document-viewer/DocumentViewerProps.d.ts +13 -0
- package/lib/typescript/modules/document-viewer/index.d.ts +3 -0
- package/lib/typescript/modules/drawer/Drawer.d.ts +2 -7
- package/lib/typescript/modules/drawer/DrawerProps.d.ts +9 -0
- package/lib/typescript/modules/drawer/index.d.ts +1 -1
- package/lib/typescript/modules/empty-state/EmptyState.d.ts +1 -17
- package/lib/typescript/modules/empty-state/EmptyStateProps.d.ts +24 -0
- package/lib/typescript/modules/empty-state/index.d.ts +1 -1
- package/lib/typescript/modules/fab/Fab.d.ts +1 -51
- package/lib/typescript/modules/fab/Fab.variants.d.ts +3 -2
- package/lib/typescript/modules/fab/FabGroup.d.ts +1 -34
- package/lib/typescript/modules/fab/FabGroupProps.d.ts +34 -0
- package/lib/typescript/modules/fab/FabProps.d.ts +50 -0
- package/lib/typescript/modules/fab/index.d.ts +2 -2
- package/lib/typescript/modules/field-select-modal/FieldSelectModal.d.ts +3 -0
- package/lib/typescript/modules/field-select-modal/FieldSelectModalProps.d.ts +20 -0
- package/lib/typescript/modules/field-select-modal/index.d.ts +3 -0
- package/lib/typescript/modules/file-grid/FileGrid.d.ts +1 -18
- package/lib/typescript/modules/file-grid/FileGridProps.d.ts +23 -0
- package/lib/typescript/modules/file-grid/index.d.ts +1 -1
- package/lib/typescript/modules/file-upload/FileUpload.d.ts +1 -27
- package/lib/typescript/modules/file-upload/FileUploadProps.d.ts +27 -0
- package/lib/typescript/modules/file-upload/index.d.ts +1 -1
- package/lib/typescript/modules/filter-bar/FilterBar.d.ts +3 -0
- package/lib/typescript/modules/filter-bar/FilterBarProps.d.ts +17 -0
- package/lib/typescript/modules/filter-bar/index.d.ts +3 -0
- package/lib/typescript/modules/filter-sheet/FilterChip.d.ts +1 -9
- package/lib/typescript/modules/filter-sheet/FilterChipProps.d.ts +11 -0
- package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts +1 -32
- package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +2 -1
- package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +1 -1
- package/lib/typescript/modules/filter-sheet/FilterSheetProps.d.ts +36 -0
- package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts +1 -1
- package/lib/typescript/modules/filter-sheet/index.d.ts +2 -2
- package/lib/typescript/modules/folder-row/FolderRow.d.ts +1 -11
- package/lib/typescript/modules/folder-row/FolderRowProps.d.ts +17 -0
- package/lib/typescript/modules/folder-row/index.d.ts +1 -1
- package/lib/typescript/modules/form-field/FormField.d.ts +2 -17
- package/lib/typescript/modules/form-field/FormFieldProps.d.ts +23 -0
- package/lib/typescript/modules/form-field/index.d.ts +1 -1
- package/lib/typescript/modules/gantt/Gantt.d.ts +2 -9
- package/lib/typescript/modules/gantt/Gantt.variants.d.ts +8 -2
- package/lib/typescript/modules/gantt/GanttProps.d.ts +13 -0
- package/lib/typescript/modules/gantt/index.d.ts +1 -1
- package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +2 -15
- package/lib/typescript/modules/image-viewer/ImageViewerProps.d.ts +16 -0
- package/lib/typescript/modules/image-viewer/index.d.ts +2 -1
- package/lib/typescript/modules/input/Input.d.ts +2 -30
- package/lib/typescript/modules/input/Input.variants.d.ts +2 -2
- package/lib/typescript/modules/input/InputProps.d.ts +43 -0
- package/lib/typescript/modules/input/index.d.ts +1 -1
- package/lib/typescript/modules/key-value/KeyValue.d.ts +3 -0
- package/lib/typescript/modules/key-value/KeyValueProps.d.ts +11 -0
- package/lib/typescript/modules/key-value/index.d.ts +3 -0
- package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +1 -17
- package/lib/typescript/modules/limit-reached-modal/LimitReachedModalProps.d.ts +24 -0
- package/lib/typescript/modules/limit-reached-modal/index.d.ts +1 -1
- package/lib/typescript/modules/list-item/ListItem.d.ts +2 -12
- package/lib/typescript/modules/list-item/ListItemProps.d.ts +22 -0
- package/lib/typescript/modules/list-item/index.d.ts +1 -1
- package/lib/typescript/modules/list-screen/ListScreen.d.ts +5 -0
- package/lib/typescript/modules/list-screen/ListScreenProps.d.ts +17 -0
- package/lib/typescript/modules/list-screen/index.d.ts +3 -0
- package/lib/typescript/modules/markdown/Markdown.d.ts +1 -8
- package/lib/typescript/modules/markdown/MarkdownProps.d.ts +12 -0
- package/lib/typescript/modules/markdown/index.d.ts +1 -1
- package/lib/typescript/modules/menu/Menu.d.ts +2 -19
- package/lib/typescript/modules/menu/Menu.variants.d.ts +2 -1
- package/lib/typescript/modules/menu/MenuProps.d.ts +26 -0
- package/lib/typescript/modules/menu/index.d.ts +1 -1
- package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +1 -9
- package/lib/typescript/modules/message-bubble/MessageBubbleProps.d.ts +12 -0
- package/lib/typescript/modules/message-bubble/index.d.ts +1 -1
- package/lib/typescript/modules/modal/Modal.d.ts +2 -10
- package/lib/typescript/modules/modal/ModalPortalContext.d.ts +1 -1
- package/lib/typescript/modules/modal/ModalPortalProvider.d.ts +2 -12
- package/lib/typescript/modules/modal/ModalPortalProviderProps.d.ts +8 -0
- package/lib/typescript/modules/modal/ModalProps.d.ts +22 -0
- package/lib/typescript/modules/modal/index.d.ts +2 -2
- package/lib/typescript/modules/modal/renderWebPortal.d.ts +1 -14
- package/lib/typescript/modules/modal/renderWebPortal.web.d.ts +1 -18
- package/lib/typescript/modules/more-items/MoreItems.d.ts +2 -10
- package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +3 -1
- package/lib/typescript/modules/more-items/MoreItemsProps.d.ts +14 -0
- package/lib/typescript/modules/more-items/index.d.ts +1 -1
- package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -19
- package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +2 -1
- package/lib/typescript/modules/multi-select/MultiSelectProps.d.ts +29 -0
- package/lib/typescript/modules/multi-select/index.d.ts +1 -1
- package/lib/typescript/modules/notification-bell/NotificationBell.d.ts +3 -0
- package/lib/typescript/modules/notification-bell/NotificationBellProps.d.ts +10 -0
- package/lib/typescript/modules/notification-bell/index.d.ts +3 -0
- package/lib/typescript/modules/number-input/NumberInput.d.ts +1 -26
- package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +2 -3
- package/lib/typescript/modules/number-input/NumberInputProps.d.ts +23 -0
- package/lib/typescript/modules/number-input/index.d.ts +1 -1
- package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +1 -24
- package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +2 -1
- package/lib/typescript/modules/org-switcher/OrgSwitcherProps.d.ts +29 -0
- package/lib/typescript/modules/org-switcher/index.d.ts +1 -1
- package/lib/typescript/modules/pagination/Pagination.d.ts +1 -26
- package/lib/typescript/modules/pagination/Pagination.variants.d.ts +2 -1
- package/lib/typescript/modules/pagination/PaginationProps.d.ts +28 -0
- package/lib/typescript/modules/pagination/index.d.ts +1 -1
- package/lib/typescript/modules/person-chip/PersonChip.d.ts +3 -0
- package/lib/typescript/modules/person-chip/PersonChipProps.d.ts +17 -0
- package/lib/typescript/modules/person-chip/index.d.ts +3 -0
- package/lib/typescript/modules/pin-input/PinInput.d.ts +1 -32
- package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +2 -2
- package/lib/typescript/modules/pin-input/PinInputProps.d.ts +26 -0
- package/lib/typescript/modules/pin-input/index.d.ts +1 -1
- package/lib/typescript/modules/plan-badge/PlanBadge.d.ts +3 -0
- package/lib/typescript/modules/plan-badge/PlanBadgeProps.d.ts +10 -0
- package/lib/typescript/modules/plan-badge/index.d.ts +3 -0
- package/lib/typescript/modules/plan-pill/PlanPill.d.ts +3 -0
- package/lib/typescript/modules/plan-pill/PlanPillProps.d.ts +10 -0
- package/lib/typescript/modules/plan-pill/index.d.ts +3 -0
- package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +1 -13
- package/lib/typescript/modules/progress-bar/ProgressBarProps.d.ts +16 -0
- package/lib/typescript/modules/progress-bar/index.d.ts +1 -1
- package/lib/typescript/modules/radio-group/RadioGroup.d.ts +2 -22
- package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +2 -2
- package/lib/typescript/modules/radio-group/RadioGroupProps.d.ts +21 -0
- package/lib/typescript/modules/radio-group/index.d.ts +1 -1
- package/lib/typescript/modules/reorder/Reorder.d.ts +1 -13
- package/lib/typescript/modules/reorder/Reorder.variants.d.ts +2 -2
- package/lib/typescript/modules/reorder/ReorderProps.d.ts +19 -0
- package/lib/typescript/modules/reorder/index.d.ts +1 -1
- package/lib/typescript/modules/rich-text/RichText.d.ts +2 -10
- package/lib/typescript/modules/rich-text/RichTextProps.d.ts +15 -0
- package/lib/typescript/modules/rich-text/index.d.ts +1 -1
- package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +1 -45
- package/lib/typescript/modules/rich-text-editor/RichTextEditorProps.d.ts +40 -0
- package/lib/typescript/modules/rich-text-editor/index.d.ts +1 -1
- package/lib/typescript/modules/save-bar/SaveBar.d.ts +3 -0
- package/lib/typescript/modules/save-bar/SaveBarProps.d.ts +18 -0
- package/lib/typescript/modules/save-bar/index.d.ts +3 -0
- package/lib/typescript/modules/screen/Screen.d.ts +1 -24
- package/lib/typescript/modules/screen/ScreenProps.d.ts +35 -0
- package/lib/typescript/modules/screen/index.d.ts +1 -1
- package/lib/typescript/modules/search-bar/SearchBar.d.ts +2 -28
- package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +2 -3
- package/lib/typescript/modules/search-bar/SearchBarProps.d.ts +30 -0
- package/lib/typescript/modules/search-bar/index.d.ts +1 -1
- package/lib/typescript/modules/section/Section.d.ts +1 -8
- package/lib/typescript/modules/section/SectionProps.d.ts +11 -0
- package/lib/typescript/modules/section/index.d.ts +1 -1
- package/lib/typescript/modules/section-list/SectionList.d.ts +1 -19
- package/lib/typescript/modules/section-list/SectionListProps.d.ts +24 -0
- package/lib/typescript/modules/section-list/index.d.ts +1 -1
- package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +2 -41
- package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +5 -44
- package/lib/typescript/modules/segmented-control/SegmentedControlProps.d.ts +29 -0
- package/lib/typescript/modules/segmented-control/index.d.ts +1 -1
- package/lib/typescript/modules/select/Select.d.ts +2 -13
- package/lib/typescript/modules/select/Select.variants.d.ts +2 -2
- package/lib/typescript/modules/select/SelectProps.d.ts +25 -0
- package/lib/typescript/modules/select/index.d.ts +2 -1
- package/lib/typescript/modules/setting-row/SettingRow.d.ts +3 -0
- package/lib/typescript/modules/setting-row/SettingRowProps.d.ts +14 -0
- package/lib/typescript/modules/setting-row/index.d.ts +3 -0
- package/lib/typescript/modules/settings-section/SettingsSection.d.ts +3 -0
- package/lib/typescript/modules/settings-section/SettingsSectionProps.d.ts +11 -0
- package/lib/typescript/modules/settings-section/index.d.ts +3 -0
- package/lib/typescript/modules/skeleton/Skeleton.d.ts +2 -12
- package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +3 -5
- package/lib/typescript/modules/skeleton/SkeletonProps.d.ts +18 -0
- package/lib/typescript/modules/skeleton/index.d.ts +1 -1
- package/lib/typescript/modules/slider/Slider.d.ts +1 -24
- package/lib/typescript/modules/slider/Slider.variants.d.ts +2 -1
- package/lib/typescript/modules/slider/SliderProps.d.ts +27 -0
- package/lib/typescript/modules/slider/index.d.ts +1 -1
- package/lib/typescript/modules/spinner/Spinner.d.ts +1 -11
- package/lib/typescript/modules/spinner/SpinnerProps.d.ts +15 -0
- package/lib/typescript/modules/spinner/index.d.ts +1 -1
- package/lib/typescript/modules/stage-progress/StageProgress.d.ts +1 -12
- package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +16 -4
- package/lib/typescript/modules/stage-progress/StageProgressProps.d.ts +22 -0
- package/lib/typescript/modules/stage-progress/index.d.ts +1 -1
- package/lib/typescript/modules/stat-grid/StatGrid.d.ts +3 -0
- package/lib/typescript/modules/stat-grid/StatGridProps.d.ts +15 -0
- package/lib/typescript/modules/stat-grid/index.d.ts +3 -0
- package/lib/typescript/modules/stat-tile/StatTile.d.ts +1 -14
- package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +3 -0
- package/lib/typescript/modules/stat-tile/StatTileProps.d.ts +25 -0
- package/lib/typescript/modules/stat-tile/index.d.ts +1 -1
- package/lib/typescript/modules/state-block/StateBlock.d.ts +1 -32
- package/lib/typescript/modules/state-block/StateBlockProps.d.ts +36 -0
- package/lib/typescript/modules/state-block/index.d.ts +1 -1
- package/lib/typescript/modules/stepper/Stepper.d.ts +3 -11
- package/lib/typescript/modules/stepper/Stepper.variants.d.ts +2 -0
- package/lib/typescript/modules/stepper/StepperProps.d.ts +12 -0
- package/lib/typescript/modules/stepper/index.d.ts +2 -1
- package/lib/typescript/modules/surface/Surface.d.ts +1 -14
- package/lib/typescript/modules/surface/SurfaceProps.d.ts +17 -0
- package/lib/typescript/modules/surface/index.d.ts +1 -1
- package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +1 -19
- package/lib/typescript/modules/swipeable-row/SwipeableRowProps.d.ts +22 -0
- package/lib/typescript/modules/swipeable-row/index.d.ts +1 -1
- package/lib/typescript/modules/switch/Switch.d.ts +1 -14
- package/lib/typescript/modules/switch/Switch.variants.d.ts +2 -2
- package/lib/typescript/modules/switch/SwitchProps.d.ts +20 -0
- package/lib/typescript/modules/switch/index.d.ts +1 -1
- package/lib/typescript/modules/tabs/Tabs.d.ts +1 -17
- package/lib/typescript/modules/tabs/Tabs.variants.d.ts +2 -3
- package/lib/typescript/modules/tabs/TabsProps.d.ts +29 -0
- package/lib/typescript/modules/tabs/index.d.ts +1 -1
- package/lib/typescript/modules/text/Text.d.ts +1 -24
- package/lib/typescript/modules/text/TextProps.d.ts +35 -0
- package/lib/typescript/modules/text/index.d.ts +1 -1
- package/lib/typescript/modules/textarea/Textarea.d.ts +1 -19
- package/lib/typescript/modules/textarea/Textarea.variants.d.ts +2 -1
- package/lib/typescript/modules/textarea/TextareaProps.d.ts +23 -0
- package/lib/typescript/modules/textarea/index.d.ts +1 -1
- package/lib/typescript/modules/timeline/Timeline.d.ts +1 -16
- package/lib/typescript/modules/timeline/Timeline.variants.d.ts +2 -0
- package/lib/typescript/modules/timeline/TimelineProps.d.ts +37 -0
- package/lib/typescript/modules/timeline/index.d.ts +1 -1
- package/lib/typescript/modules/toast/Toast.variants.d.ts +2 -3
- package/lib/typescript/modules/tooltip/Tooltip.d.ts +1 -25
- package/lib/typescript/modules/tooltip/TooltipProps.d.ts +27 -0
- package/lib/typescript/modules/tooltip/index.d.ts +1 -1
- package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +5 -14
- package/lib/typescript/modules/typing-indicator/TypingIndicatorProps.d.ts +11 -0
- package/lib/typescript/modules/typing-indicator/index.d.ts +1 -1
- package/lib/typescript/modules/upgrade-button/UpgradeButton.d.ts +3 -0
- package/lib/typescript/modules/upgrade-button/UpgradeButtonProps.d.ts +11 -0
- package/lib/typescript/modules/upgrade-button/index.d.ts +3 -0
- package/lib/typescript/test/motionJest.d.ts +12 -0
- package/lib/typescript/theme/platform/elevation.native.d.ts +1 -1
- package/lib/typescript/theme/tokens/builders/accentText.d.ts +3 -0
- package/lib/typescript/theme/tokens/builders/buildBrandScale.d.ts +4 -0
- package/lib/typescript/theme/tokens/builders/gradientInk.d.ts +9 -0
- package/lib/typescript/theme/tokens/builders/paletteFromAccent.d.ts +3 -0
- package/lib/typescript/theme/tokens/builders/skeletonShimmer.d.ts +9 -0
- package/lib/typescript/theme/tokens/index.d.ts +3 -0
- package/lib/typescript/theme/tokens/primitives/controlSizes.d.ts +6 -0
- package/lib/typescript/theme/tokens/primitives/index.d.ts +2 -0
- package/lib/typescript/theme/tokens/roles/index.d.ts +2 -0
- package/lib/typescript/theme/tokens/types.d.ts +2 -2
- package/package.json +106 -5
- package/registry.json +109 -14
- package/lib/module/core/style/useThemedStyles.js +0 -8
- package/lib/module/test/mocks/flashList.js +0 -5
- package/lib/module/test/perfHelpers.js +0 -18
- package/lib/typescript/core/style/useThemedStyles.d.ts +0 -5
- package/lib/typescript/test/mocks/flashList.d.ts +0 -3
|
@@ -12,10 +12,13 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { memo, useCallback, useEffect, useMemo, useRef } from "react";
|
|
15
|
-
import {
|
|
15
|
+
import { Text, View } from "react-native";
|
|
16
|
+
import Reanimated, { interpolate, useAnimatedStyle } from "react-native-reanimated";
|
|
16
17
|
import { Icon } from "../../core/icon/index.js";
|
|
17
18
|
import { VirtualList } from "../../core/list/index.js";
|
|
18
|
-
import {
|
|
19
|
+
import { Button } from "../button/index.js";
|
|
20
|
+
import { useMotion, useAnimatedValue } from "../../core/motion/index.js";
|
|
21
|
+
import { renderNodeSlot } from "../../core/slot/index.js";
|
|
19
22
|
import { useTheme } from "../../theme/hooks.js";
|
|
20
23
|
import { resolveTimelineColors, resolveTimelineItemAccessibility, timelineConnectorLineStructure, timelineConnectorStructure, timelineContentStructure, timelineMarkerStructure, timelineRowStructure, TIMELINE_MARKER } from "./Timeline.variants.js";
|
|
21
24
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -25,7 +28,9 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
|
|
|
25
28
|
model,
|
|
26
29
|
theme,
|
|
27
30
|
colors,
|
|
28
|
-
testID
|
|
31
|
+
testID,
|
|
32
|
+
onEditNote,
|
|
33
|
+
onDeleteNote
|
|
29
34
|
}) {
|
|
30
35
|
const {
|
|
31
36
|
item,
|
|
@@ -35,6 +40,10 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
|
|
|
35
40
|
const position = isLast ? "last" : "middle";
|
|
36
41
|
const rowTestID = testID === undefined ? undefined : `${testID}-item-${index}`;
|
|
37
42
|
const a11y = resolveTimelineItemAccessibility(item);
|
|
43
|
+
const leadingSlotStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
44
|
+
fontSize: theme.fontSizes.sm,
|
|
45
|
+
color: colors.title
|
|
46
|
+
}], [theme, colors.title]);
|
|
38
47
|
return /*#__PURE__*/_jsxs(View, {
|
|
39
48
|
testID: rowTestID,
|
|
40
49
|
style: timelineRowStructure(),
|
|
@@ -45,7 +54,7 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
|
|
|
45
54
|
importantForAccessibility: "no-hide-descendants",
|
|
46
55
|
children: [item.leading !== undefined ? /*#__PURE__*/_jsx(View, {
|
|
47
56
|
testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
|
|
48
|
-
children: item.leading
|
|
57
|
+
children: renderNodeSlot(item.leading, leadingSlotStyle)
|
|
49
58
|
}) : /*#__PURE__*/_jsx(View, {
|
|
50
59
|
testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
|
|
51
60
|
style: [timelineMarkerStructure(theme, {
|
|
@@ -93,12 +102,51 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
|
|
|
93
102
|
marginTop: theme.space[1]
|
|
94
103
|
}],
|
|
95
104
|
children: item.timestamp
|
|
96
|
-
})
|
|
105
|
+
}), item.notes !== undefined && item.notes.length > 0 ? /*#__PURE__*/_jsx(View, {
|
|
106
|
+
style: {
|
|
107
|
+
marginTop: theme.space[2],
|
|
108
|
+
gap: theme.space[1]
|
|
109
|
+
},
|
|
110
|
+
children: item.notes.map(note => /*#__PURE__*/_jsxs(View, {
|
|
111
|
+
testID: rowTestID === undefined ? undefined : `${rowTestID}-note-${note.id}`,
|
|
112
|
+
style: {
|
|
113
|
+
flexDirection: "row",
|
|
114
|
+
alignItems: "flex-start",
|
|
115
|
+
gap: theme.space[2]
|
|
116
|
+
},
|
|
117
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
118
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
119
|
+
flex: 1,
|
|
120
|
+
fontSize: theme.fontSizes.sm,
|
|
121
|
+
color: colors.description
|
|
122
|
+
}],
|
|
123
|
+
children: note.body
|
|
124
|
+
}), onEditNote !== undefined ? /*#__PURE__*/_jsx(Button, {
|
|
125
|
+
variant: "ghost",
|
|
126
|
+
size: "sm",
|
|
127
|
+
icon: "pencil",
|
|
128
|
+
accessibilityLabel: "Edit note",
|
|
129
|
+
onPress: () => onEditNote(note.id),
|
|
130
|
+
testID: rowTestID === undefined ? undefined : `${rowTestID}-edit-${note.id}`
|
|
131
|
+
}) : null, onDeleteNote !== undefined ? /*#__PURE__*/_jsx(Button, {
|
|
132
|
+
variant: "ghost",
|
|
133
|
+
size: "sm",
|
|
134
|
+
icon: "trash",
|
|
135
|
+
accessibilityLabel: "Delete note",
|
|
136
|
+
onPress: () => onDeleteNote(note.id),
|
|
137
|
+
testID: rowTestID === undefined ? undefined : `${rowTestID}-delete-${note.id}`
|
|
138
|
+
}) : null]
|
|
139
|
+
}, note.id))
|
|
140
|
+
}) : null]
|
|
97
141
|
})]
|
|
98
142
|
});
|
|
99
143
|
});
|
|
100
144
|
export const Timeline = /*#__PURE__*/memo(function Timeline({
|
|
101
145
|
items,
|
|
146
|
+
onAddNote,
|
|
147
|
+
onEditNote,
|
|
148
|
+
onDeleteNote,
|
|
149
|
+
notesLoading = false,
|
|
102
150
|
style,
|
|
103
151
|
testID
|
|
104
152
|
}) {
|
|
@@ -107,10 +155,11 @@ export const Timeline = /*#__PURE__*/memo(function Timeline({
|
|
|
107
155
|
const colors = useMemo(() => resolveTimelineColors(theme.colors), [theme.colors]);
|
|
108
156
|
const reveal = useAnimatedValue(motion.decorative ? 0 : 1);
|
|
109
157
|
const running = useRef(null);
|
|
158
|
+
const offsetY = motion.transform.offsetY;
|
|
110
159
|
useEffect(() => {
|
|
111
160
|
running.current?.stop();
|
|
112
161
|
if (!motion.decorative) {
|
|
113
|
-
reveal.
|
|
162
|
+
reveal.value = 1;
|
|
114
163
|
return;
|
|
115
164
|
}
|
|
116
165
|
running.current = motion.timing(reveal, 1, {
|
|
@@ -120,15 +169,12 @@ export const Timeline = /*#__PURE__*/memo(function Timeline({
|
|
|
120
169
|
return () => running.current?.stop();
|
|
121
170
|
}, [motion, reveal]);
|
|
122
171
|
useEffect(() => () => running.current?.stop(), []);
|
|
123
|
-
const revealStyle =
|
|
124
|
-
opacity: reveal,
|
|
172
|
+
const revealStyle = useAnimatedStyle(() => ({
|
|
173
|
+
opacity: reveal.value,
|
|
125
174
|
transform: [{
|
|
126
|
-
translateY: reveal.
|
|
127
|
-
inputRange: [0, 1],
|
|
128
|
-
outputRange: [motion.transform.offsetY, 0]
|
|
129
|
-
})
|
|
175
|
+
translateY: interpolate(reveal.value, [0, 1], [offsetY, 0])
|
|
130
176
|
}]
|
|
131
|
-
})
|
|
177
|
+
}));
|
|
132
178
|
const rootStyle = useMemo(() => [revealStyle, style], [revealStyle, style]);
|
|
133
179
|
const rows = useMemo(() => items.map((item, index) => ({
|
|
134
180
|
item,
|
|
@@ -142,28 +188,39 @@ export const Timeline = /*#__PURE__*/memo(function Timeline({
|
|
|
142
188
|
model: row,
|
|
143
189
|
theme: theme,
|
|
144
190
|
colors: colors,
|
|
145
|
-
testID: testID
|
|
146
|
-
|
|
191
|
+
testID: testID,
|
|
192
|
+
onEditNote: onEditNote,
|
|
193
|
+
onDeleteNote: onDeleteNote
|
|
194
|
+
}), [theme, colors, testID, onEditNote, onDeleteNote]);
|
|
195
|
+
const addNoteControl = onAddNote !== undefined ? /*#__PURE__*/_jsx(Button, {
|
|
196
|
+
variant: "outline",
|
|
197
|
+
label: "Add note",
|
|
198
|
+
onPress: onAddNote,
|
|
199
|
+
loading: notesLoading,
|
|
200
|
+
testID: testID ? `${testID}-add-note` : undefined
|
|
201
|
+
}) : null;
|
|
147
202
|
if (items.length >= VIRTUALIZE_THRESHOLD) {
|
|
148
|
-
return /*#__PURE__*/
|
|
203
|
+
return /*#__PURE__*/_jsxs(Reanimated.View, {
|
|
149
204
|
testID: testID,
|
|
150
205
|
style: rootStyle,
|
|
151
|
-
children: /*#__PURE__*/_jsx(VirtualList, {
|
|
206
|
+
children: [/*#__PURE__*/_jsx(VirtualList, {
|
|
152
207
|
data: rows,
|
|
153
208
|
keyExtractor: keyExtractor,
|
|
154
209
|
renderItem: renderItem
|
|
155
|
-
})
|
|
210
|
+
}), addNoteControl]
|
|
156
211
|
});
|
|
157
212
|
}
|
|
158
|
-
return /*#__PURE__*/
|
|
213
|
+
return /*#__PURE__*/_jsxs(Reanimated.View, {
|
|
159
214
|
testID: testID,
|
|
160
215
|
style: rootStyle,
|
|
161
|
-
children: rows.map(row => /*#__PURE__*/_jsx(TimelineRow, {
|
|
216
|
+
children: [rows.map(row => /*#__PURE__*/_jsx(TimelineRow, {
|
|
162
217
|
model: row,
|
|
163
218
|
theme: theme,
|
|
164
219
|
colors: colors,
|
|
165
|
-
testID: testID
|
|
166
|
-
|
|
220
|
+
testID: testID,
|
|
221
|
+
onEditNote: onEditNote,
|
|
222
|
+
onDeleteNote: onDeleteNote
|
|
223
|
+
}, keyExtractor(row))), addNoteControl]
|
|
167
224
|
});
|
|
168
225
|
});
|
|
169
226
|
//# sourceMappingURL=Timeline.js.map
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* (mocking only `react-native`'s `StyleSheet`, as `core/style` and every sibling module's tests do).
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
import { MIN_TOUCH_TARGET } from "../../core/a11y/touchTarget.js";
|
|
17
18
|
import { createThemedVariants, createVariants } from "../../core/style/index.js";
|
|
18
19
|
/**
|
|
19
20
|
* Timeline-specific dimensions. Kept a plain constant — no theme dependency — same as
|
|
@@ -33,6 +34,7 @@ export const TIMELINE_MARKER = {
|
|
|
33
34
|
* `tone`/`color` prop to widen: every event reads identically, so every colour Timeline can show is
|
|
34
35
|
* one of these role lookups, guaranteed legible in both modes.
|
|
35
36
|
*/
|
|
37
|
+
export { MIN_TOUCH_TARGET };
|
|
36
38
|
export function resolveTimelineColors(colors) {
|
|
37
39
|
return {
|
|
38
40
|
markerFill: colors.accent.solid,
|
|
@@ -43,11 +43,14 @@ safe no-op when nothing is showing.
|
|
|
43
43
|
## Motion
|
|
44
44
|
|
|
45
45
|
Entrance and exit go through **`useMotion()`** at the shared `fast` duration; the card's travel is
|
|
46
|
-
`MOTION_TRANSFORM.surfaceOffsetY
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
`
|
|
46
|
+
`MOTION_TRANSFORM.surfaceOffsetY`, so the device tier's `durationScale` and `MOTION_SCALE`/
|
|
47
|
+
`MOTION_ENABLED` all reach it. The unmount timer reads the SAME resolved `motion.duration("fast")`
|
|
48
|
+
as the tween, keeping the removal deterministic (see `Toast.tsx`'s note on why the timer, not the
|
|
49
|
+
animation callback, drives it). The card also carries `LinearTransition` (with
|
|
50
|
+
`ReduceMotion.System`) so a replacing toast reflows without a second fade/slide.
|
|
51
|
+
|
|
52
|
+
`show()` fires `useHaptics().notification("success")` for a `success` toast and
|
|
53
|
+
`notification("error")` for a `danger` one; other tones are silent.
|
|
51
54
|
|
|
52
55
|
## Auto-dismiss timing (WCAG 2.2.1 — Timing Adjustable)
|
|
53
56
|
|
|
@@ -74,10 +77,9 @@ place that decides whether a toast's timer gets armed. `Toast.tsx` branches on i
|
|
|
74
77
|
TalkBack to finish speaking a message, and there is no way to replay a toast that's gone — this is
|
|
75
78
|
the DEFAULT behaviour, not an opt-in prop, because a consumer has no way to know per-toast whether
|
|
76
79
|
a reader is running.
|
|
77
|
-
- **`tone: "danger"` with no explicit `duration` defaults to persistent**, unlike every other tone
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
toast is still honoured — only the *default* changed. Judgement call: a 3-second error message is
|
|
80
|
+
- **`tone: "danger"` with no explicit `duration` defaults to persistent**, unlike every other tone,
|
|
81
|
+
so `show({ message, tone: "danger" })` stays up until dismissed. An explicit `duration` on a
|
|
82
|
+
`danger` toast is still honoured. Judgement call: a 3-second error message is
|
|
81
83
|
the exact failure WCAG 2.2.1 exists to prevent, and this catalogue has no toast history a user
|
|
82
84
|
could scroll back to recover a missed one from. Every other tone keeps the ~3000ms default
|
|
83
85
|
unchanged — success/info/neutral/warning messages are lower-stakes and the existing default reads
|
|
@@ -145,8 +147,8 @@ change can't silently reintroduce the gap.
|
|
|
145
147
|
`core/a11y` and re-export, once that edit lands, rather than leaving two near-identical stores.
|
|
146
148
|
- **No stacking queue.** `show()` while visible replaces the current toast; there is no multi-toast
|
|
147
149
|
queue in v1. Flagging for a future version if a consumer needs concurrent toasts.
|
|
148
|
-
- **Top position has no safe-area inset awareness.** `position: "bottom"`
|
|
149
|
-
iOS home-indicator approximation Drawer/BottomSheet use (`resolveToastBottomInset`); `top`
|
|
150
|
+
- **Top position has no safe-area inset awareness.** `position: "bottom"` adds the same static
|
|
151
|
+
iOS home-indicator approximation Drawer/BottomSheet use (`resolveToastBottomInset`); `top`
|
|
150
152
|
reads a fixed `theme.space[4]` with no notch awareness — a consumer on a notched device may want
|
|
151
153
|
its own top padding via screen-level layout until `react-native-safe-area-context` is a real peer.
|
|
152
154
|
- Render tests need `@testing-library/react-native` + a react-native jest preset (same
|
|
@@ -156,12 +158,3 @@ change can't silently reintroduce the gap.
|
|
|
156
158
|
|
|
157
159
|
`ToastProvider` (exported) and `ToastCard` (internal, non-exported) are both wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — mirrors the repo convention (e.g. `AccordionRow`) of memoizing library-internal child components too. No new `useCallback`/`useMemo` needed: the props handed to `ToastCard` (`toast`, `theme`, `position`, `progress`, `onDismiss={hide}`) were already stable — the file already used `useCallback`/`useMemo` throughout.
|
|
158
160
|
|
|
159
|
-
## Modernization (v1.0.7)
|
|
160
|
-
|
|
161
|
-
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
162
|
-
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
163
|
-
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
164
|
-
|
|
165
|
-
Success/danger toasts fire `useHaptics().notification()` when a haptics module is registered.
|
|
166
|
-
|
|
167
|
-
- **Round 5 motion** — dropped the ad hoc reanimated `FadeInDown`/`FadeOut`/`LinearTransition` wrapper; `progress` already drove the card's own entrance+exit fade/slide, so the wrapper was pure duplication.
|
|
@@ -23,12 +23,13 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
26
|
-
import { AccessibilityInfo,
|
|
27
|
-
import {
|
|
26
|
+
import { AccessibilityInfo, Platform, Pressable, StyleSheet, Text, View } from "react-native";
|
|
27
|
+
import Reanimated, { interpolate, LinearTransition, ReduceMotion, useAnimatedStyle } from "react-native-reanimated";
|
|
28
|
+
import { useMotion, useAnimatedValue } from "../../core/motion/index.js";
|
|
28
29
|
import { useHaptics } from "../../core/haptics/index.js";
|
|
29
30
|
import { Icon } from "../../core/icon/index.js";
|
|
30
31
|
import { useTheme } from "../../theme/hooks.js";
|
|
31
|
-
import { elevation,
|
|
32
|
+
import { elevation, floatingSurfaceStyle, highlight } from "../../theme/platform/index.js";
|
|
32
33
|
import { elevation as elevationTokens } from "../../theme/tokens/primitives/index.js";
|
|
33
34
|
import { CLOSE_BUTTON_SIZE, CLOSE_HIT_SLOP, CLOSE_ICON_SIZE, resolveAutoDismissDelay, resolveToastBottomInset, resolveToastTone, toastAccentBarStructure, toastCardStructure, toastOverlayStructure } from "./Toast.variants.js";
|
|
34
35
|
import { useScreenReaderEnabled } from "./toastScreenReader.js";
|
|
@@ -89,7 +90,7 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
|
|
|
89
90
|
// A replacement toast is a new event: whatever the pointer/focus did to the last one is spent.
|
|
90
91
|
hovered.current = false;
|
|
91
92
|
focused.current = false;
|
|
92
|
-
progress.
|
|
93
|
+
progress.value = 0;
|
|
93
94
|
const tone = options.tone ?? "neutral";
|
|
94
95
|
setToast({
|
|
95
96
|
message: options.message,
|
|
@@ -147,8 +148,9 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
|
|
|
147
148
|
return /*#__PURE__*/_jsxs(ToastContext.Provider, {
|
|
148
149
|
value: contextValue,
|
|
149
150
|
children: [children, /*#__PURE__*/_jsx(View, {
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
style: [overlayStyle, {
|
|
152
|
+
pointerEvents: 'box-none'
|
|
153
|
+
}],
|
|
152
154
|
children: toast !== null && /*#__PURE__*/_jsx(ToastCard, {
|
|
153
155
|
toast: toast,
|
|
154
156
|
theme: theme,
|
|
@@ -180,63 +182,63 @@ const ToastCard = /*#__PURE__*/memo(function ToastCard({
|
|
|
180
182
|
onFocusOut
|
|
181
183
|
}) {
|
|
182
184
|
const toneColors = resolveToastTone(theme.colors, toast.tone);
|
|
185
|
+
|
|
186
|
+
// Shadow/elevation only — `toneColors.background` is the one painted background.
|
|
183
187
|
const floatingStyle = useMemo(() => {
|
|
184
188
|
highlight("subtle", theme.mode);
|
|
185
189
|
elevation(elevationTokens.sm);
|
|
186
190
|
void theme.elevatedSurfaces;
|
|
187
|
-
return
|
|
188
|
-
backgroundColor: floatingBackground(theme, "sm"),
|
|
189
|
-
...floatingSurfaceStyle(theme, "sm")
|
|
190
|
-
};
|
|
191
|
+
return floatingSurfaceStyle(theme, "sm");
|
|
191
192
|
}, [theme]);
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
193
|
+
const cardMotion = useAnimatedStyle(() => ({
|
|
194
|
+
opacity: progress.value,
|
|
195
|
+
transform: [{
|
|
196
|
+
translateY: interpolate(progress.value, [0, 1], position === "top" ? [-offsetY, 0] : [offsetY, 0])
|
|
197
|
+
}]
|
|
198
|
+
}));
|
|
199
|
+
return /*#__PURE__*/_jsx(Reanimated.View, {
|
|
197
200
|
testID: "pixelize-toast",
|
|
198
|
-
accessibilityRole: "alert"
|
|
199
|
-
// Pointer events, not Pressable: hovering to read must not compete with the close button's tap.
|
|
200
|
-
,
|
|
201
|
+
accessibilityRole: "alert",
|
|
201
202
|
onPointerEnter: onHoverIn,
|
|
202
203
|
onPointerLeave: onHoverOut,
|
|
203
204
|
onFocus: onFocusIn,
|
|
204
205
|
onBlur: onFocusOut,
|
|
206
|
+
layout: LinearTransition.reduceMotion(ReduceMotion.System),
|
|
205
207
|
style: [toastCardStructure(theme), floatingStyle, {
|
|
206
|
-
|
|
207
|
-
transform: [{
|
|
208
|
-
translateY
|
|
209
|
-
}]
|
|
208
|
+
backgroundColor: toneColors.background
|
|
210
209
|
}],
|
|
211
|
-
children:
|
|
212
|
-
style:
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
210
|
+
children: /*#__PURE__*/_jsxs(Reanimated.View, {
|
|
211
|
+
style: cardMotion,
|
|
212
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
213
|
+
style: [toastAccentBarStructure(theme), {
|
|
214
|
+
backgroundColor: toneColors.accent
|
|
215
|
+
}]
|
|
216
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
217
|
+
numberOfLines: 3,
|
|
218
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.medium), styles.message, {
|
|
219
|
+
fontSize: theme.fontSizes.sm,
|
|
220
|
+
color: toneColors.text
|
|
221
|
+
}],
|
|
222
|
+
children: toast.message
|
|
223
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
224
|
+
testID: "pixelize-toast-close",
|
|
225
|
+
accessibilityRole: "button",
|
|
226
|
+
accessibilityLabel: "Dismiss notification",
|
|
227
|
+
hitSlop: CLOSE_HIT_SLOP,
|
|
228
|
+
onPress: onDismiss,
|
|
229
|
+
onHoverIn: onHoverIn,
|
|
230
|
+
onHoverOut: onHoverOut,
|
|
231
|
+
onFocus: onFocusIn,
|
|
232
|
+
onBlur: onFocusOut,
|
|
233
|
+
style: styles.closeButton,
|
|
234
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
235
|
+
name: "x",
|
|
236
|
+
size: CLOSE_ICON_SIZE,
|
|
237
|
+
color: theme.colors.fg.muted,
|
|
238
|
+
strokeWidth: 2
|
|
239
|
+
})
|
|
240
|
+
})]
|
|
241
|
+
})
|
|
240
242
|
});
|
|
241
243
|
});
|
|
242
244
|
|
|
@@ -15,12 +15,9 @@
|
|
|
15
15
|
* `react-native`'s `StyleSheet`, as `core/style` does).
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
+
import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
|
|
18
19
|
import { createThemedVariants } from "../../core/style/index.js";
|
|
19
|
-
|
|
20
|
-
* stay isolated. */
|
|
21
|
-
export const MIN_TOUCH_TARGET = 44;
|
|
22
|
-
const slopFor = size => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - size) / 2));
|
|
23
|
-
|
|
20
|
+
export { MIN_TOUCH_TARGET };
|
|
24
21
|
/** The close button's own visual box + glyph. Toast takes no `size` prop, so this is a fixed pair,
|
|
25
22
|
* not a scale — mirrors `BUTTON_SIZES`' shape for exactly one size. */
|
|
26
23
|
export const CLOSE_BUTTON_SIZE = 24;
|
|
@@ -24,6 +24,7 @@ modules, it exposes no `style` prop.
|
|
|
24
24
|
| `label` | `string` | — | The tip's text. Also what gets merged into the trigger's `accessibilityHint`. |
|
|
25
25
|
| `children` | `ReactElement<TooltipTriggerProps>` | — | A single element accepting `onLongPress`/`onPressOut`/`onHoverIn`/`onHoverOut`/`onFocus`/`onBlur`/`accessibilityHint`/`aria-describedby` — `Button`, `Fab`, or a raw `Pressable`. A `Text` is **not** enough: react-native-web's `Text` handles only `onPress`, so every injected handler is dropped and the tip never opens on web. |
|
|
26
26
|
| `placement` | `top \| bottom` | `bottom` | Which side of the trigger the bubble opens toward. |
|
|
27
|
+
| `onlyShowWhenTruncated` | `boolean` | `false` | When true, the tip opens only if the trigger's text is ellipsized (web: `scrollWidth > clientWidth`; native: `numberOfLines` truncation probe). |
|
|
27
28
|
| `testID` | `string` | — | On the host `View`; also seeds `${testID}-bubble` on the visible bubble. |
|
|
28
29
|
|
|
29
30
|
No `style` prop (see the file-header note) and no `tone`/`variant`/`size` — the bubble always
|
|
@@ -57,8 +58,9 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
|
|
|
57
58
|
- **2.2.1 Timing Adjustable — not engaged on the hover/focus path.** `show(false)` never arms a
|
|
58
59
|
timer, so a pointer/keyboard tip has no time limit at all. The 2.5s `autoHideMs` is armed only by
|
|
59
60
|
`onLongPress` — see "Known gaps".
|
|
60
|
-
- **2.3.3** —
|
|
61
|
-
still appears immediately
|
|
61
|
+
- **2.3.3** — show/hide runs through `useEnterExit` + `useMotion()`; the tween collapses to
|
|
62
|
+
`duration: 0` when motion is off, so the bubble still appears immediately — reduced motion never
|
|
63
|
+
means "no tip."
|
|
62
64
|
- **Touch target** — Tooltip renders no interactive control of its own; the trigger child owns its
|
|
63
65
|
own touch target (e.g. an icon `Button` already enforces ≥ 44dp via `hitSlop`).
|
|
64
66
|
|
|
@@ -69,8 +71,8 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
|
|
|
69
71
|
2. **Pure, testable resolvers** in `Tooltip.variants.ts` — no React/lucide, so the WCAG measurement
|
|
70
72
|
and the hint-merge contract are unit-tested against real palettes, never eyeballed.
|
|
71
73
|
3. **No `{...rest}`** — composition is `React.cloneElement` on the single child (explicitly
|
|
72
|
-
sanctioned as composition, not a rest spread), injecting
|
|
73
|
-
4. **Reduced motion respected**, same `
|
|
74
|
+
sanctioned as composition, not a rest spread), injecting the eight named `TooltipTriggerProps`.
|
|
75
|
+
4. **Reduced motion respected**, same `useMotion()` seam as Button's press fade.
|
|
74
76
|
|
|
75
77
|
## Design decisions specific to this module
|
|
76
78
|
|
|
@@ -107,8 +109,9 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
|
|
|
107
109
|
- **Requires a trigger that declares the injected props.** `cloneElement` sets them on the element,
|
|
108
110
|
but the repo's `{...rest}` ban means a component only receives what its own prop list names — so
|
|
109
111
|
a trigger that doesn't declare them drops the gesture, the hover/focus reveal and the hint merge
|
|
110
|
-
with no error. `
|
|
111
|
-
|
|
112
|
+
with no error. `Fab` declares all eight; `Button` declares seven — it has no `aria-describedby`,
|
|
113
|
+
so the web description link never reaches it. A raw RN `Pressable`/`TouchableOpacity` accepts
|
|
114
|
+
them by construction. **Every
|
|
112
115
|
other module still drops them** — `Chip`, `CopyButton`, `ListItem`, `Switch`, `Checkbox`, `Select`
|
|
113
116
|
and the rest are not usable as triggers yet. **A plain `Text` is a trap on web** (react-native-web's
|
|
114
117
|
`Text` handles only `onPress`) — this is the bug the example app hit.
|
|
@@ -131,10 +134,3 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
|
|
|
131
134
|
|
|
132
135
|
Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). `clearHideTimer`/`hide`/`show`/`scheduleHide` and the bubble's own `handleBubbleHoverIn`/`handleBubbleHoverOut` are all `useCallback`'d, and all six handlers `cloneElement` injects into the consumer-supplied `children` trigger are extracted to `handleLongPress`/`handlePressOut`/`handleHoverIn`/`handleHoverOut`/`handleFocus`/`handleBlur` (`useCallback`) instead of inline lambdas — same idiom `Menu.tsx` uses for its own trigger, since a fresh closure there would defeat a memoized trigger (e.g. this library's own `Button`).
|
|
133
136
|
|
|
134
|
-
## Modernization (v1.0.7)
|
|
135
|
-
|
|
136
|
-
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
137
|
-
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
138
|
-
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
139
|
-
|
|
140
|
-
Button trigger focus ring is native `outline*` on the pressable (no sibling focus view).
|
|
@@ -28,29 +28,57 @@
|
|
|
28
28
|
* strand the bubble in the tree.
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
|
-
import { cloneElement, memo, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
32
|
-
import {
|
|
31
|
+
import { cloneElement, isValidElement, memo, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
32
|
+
import { StyleSheet, Text, View } from "react-native";
|
|
33
|
+
import Reanimated from "react-native-reanimated";
|
|
33
34
|
import { useDismissOnEscape } from "../../core/a11y/keyboard";
|
|
34
35
|
import { useEnterExit, useMotion } from "../../core/motion/index.js";
|
|
35
36
|
import { elevation, floatingBackground, floatingSurfaceStyle, highlight } from "../../theme/platform/index.js";
|
|
36
37
|
import { elevation as elevationTokens } from "../../theme/tokens/primitives/index.js";
|
|
37
38
|
import { useTheme } from "../../theme/hooks.js";
|
|
38
39
|
import { mergeAccessibilityHint, TOOLTIP_TIMING, tooltipBubbleStructure } from "./Tooltip.variants.js";
|
|
39
|
-
|
|
40
|
-
/** The subset of props Tooltip reads from / injects into its trigger child. */
|
|
41
40
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
42
41
|
export const Tooltip = /*#__PURE__*/memo(function Tooltip({
|
|
43
42
|
label,
|
|
44
43
|
children,
|
|
45
44
|
placement = "bottom",
|
|
45
|
+
onlyShowWhenTruncated = false,
|
|
46
46
|
testID
|
|
47
47
|
}) {
|
|
48
48
|
const theme = useTheme();
|
|
49
49
|
const motion = useMotion();
|
|
50
50
|
const [visible, setVisible] = useState(false);
|
|
51
|
+
const [contentTruncated, setContentTruncated] = useState(!onlyShowWhenTruncated);
|
|
51
52
|
const hideTimer = useRef(null);
|
|
52
53
|
const hovered = useRef(false);
|
|
53
54
|
const bubbleId = useId();
|
|
55
|
+
const attachTruncationProbe = useCallback(element => {
|
|
56
|
+
if (!onlyShowWhenTruncated) return element;
|
|
57
|
+
if (element.type === Text) {
|
|
58
|
+
const text = element;
|
|
59
|
+
return /*#__PURE__*/cloneElement(text, {
|
|
60
|
+
onTextLayout: event => {
|
|
61
|
+
text.props.onTextLayout?.(event);
|
|
62
|
+
const maxLines = text.props.numberOfLines;
|
|
63
|
+
const lines = event.nativeEvent.lines;
|
|
64
|
+
if (maxLines === undefined) {
|
|
65
|
+
setContentTruncated(true);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const last = lines[lines.length - 1];
|
|
69
|
+
const labelText = text.props.children;
|
|
70
|
+
const truncatedByLineCount = lines.length > maxLines;
|
|
71
|
+
const truncatedByEllipsis = lines.length === maxLines && typeof labelText === "string" && last !== undefined && last.text !== labelText;
|
|
72
|
+
setContentTruncated(truncatedByLineCount || truncatedByEllipsis);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const inner = element.props.children;
|
|
77
|
+
if (/*#__PURE__*/isValidElement(inner)) {
|
|
78
|
+
return /*#__PURE__*/cloneElement(element, {}, attachTruncationProbe(inner));
|
|
79
|
+
}
|
|
80
|
+
return element;
|
|
81
|
+
}, [onlyShowWhenTruncated]);
|
|
54
82
|
|
|
55
83
|
// A bubble above the trigger should settle upward, one below it downward — `useEnterExit` enters
|
|
56
84
|
// from `-offset`, so the sign flips with placement.
|
|
@@ -80,12 +108,13 @@ export const Tooltip = /*#__PURE__*/memo(function Tooltip({
|
|
|
80
108
|
// trigger is hovered/focused (WCAG 1.4.13), and hover-out/blur are reliable enough not to need
|
|
81
109
|
// the fallback.
|
|
82
110
|
const show = useCallback(autoHide => {
|
|
111
|
+
if (onlyShowWhenTruncated && !contentTruncated) return;
|
|
83
112
|
clearHideTimer();
|
|
84
113
|
setVisible(true);
|
|
85
114
|
// Fallback dismiss: guarantees the tip can't get stuck open if `onPressOut` never fires (e.g.
|
|
86
115
|
// the gesture is cancelled by a scroll, or assistive tech triggers `onLongPress` directly).
|
|
87
116
|
if (autoHide) hideTimer.current = setTimeout(hide, TOOLTIP_TIMING.autoHideMs);
|
|
88
|
-
}, [clearHideTimer, hide]);
|
|
117
|
+
}, [clearHideTimer, hide, onlyShowWhenTruncated, contentTruncated]);
|
|
89
118
|
useEffect(() => clearHideTimer, [clearHideTimer]);
|
|
90
119
|
|
|
91
120
|
// WCAG 1.4.13 dismissible: Escape hides the tip without moving focus, so a keyboard user can
|
|
@@ -137,7 +166,7 @@ export const Tooltip = /*#__PURE__*/memo(function Tooltip({
|
|
|
137
166
|
children.props.onBlur?.(event);
|
|
138
167
|
hide();
|
|
139
168
|
}, [children, hide]);
|
|
140
|
-
const trigger = /*#__PURE__*/cloneElement(children, {
|
|
169
|
+
const trigger = /*#__PURE__*/cloneElement(attachTruncationProbe(children), {
|
|
141
170
|
onLongPress: handleLongPress,
|
|
142
171
|
onPressOut: handlePressOut,
|
|
143
172
|
onHoverIn: handleHoverIn,
|
|
@@ -172,7 +201,7 @@ export const Tooltip = /*#__PURE__*/memo(function Tooltip({
|
|
|
172
201
|
// screen-reader users through the trigger — the merged `accessibilityHint` on native, the
|
|
173
202
|
// `aria-describedby` reference to this `id` on web — so exposing the bubble in reading
|
|
174
203
|
// order too would announce the same text twice.
|
|
175
|
-
_jsx(
|
|
204
|
+
_jsx(Reanimated.View, {
|
|
176
205
|
testID: testID ? `${testID}-bubble` : undefined,
|
|
177
206
|
id: bubbleId,
|
|
178
207
|
onPointerEnter: handleBubbleHoverIn,
|