pixelize-native-library 1.0.7 → 1.2.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/lib/module/core/MODULE.md +129 -36
- package/lib/module/core/a11y/MODULE.md +127 -4
- package/lib/module/core/a11y/announce.js +30 -0
- package/lib/module/core/a11y/announce.web.js +134 -0
- package/lib/module/core/a11y/index.js +81 -15
- package/lib/module/core/a11y/keyboard.js +42 -0
- package/lib/module/core/a11y/keyboard.web.js +229 -0
- package/lib/module/core/a11y/labels.js +24 -0
- package/lib/module/core/device/MODULE.md +47 -0
- package/lib/module/core/device/index.js +91 -0
- package/lib/module/core/heading/MODULE.md +38 -0
- package/lib/module/core/heading/index.js +45 -0
- package/lib/module/core/icon/Icon.js +37 -0
- package/lib/module/core/icon/MODULE.md +42 -8
- package/lib/module/core/icon/icons/arrow-down.js +10 -0
- package/lib/module/core/icon/icons/arrow-left.js +10 -0
- package/lib/module/core/icon/icons/arrow-right.js +10 -0
- package/lib/module/core/icon/icons/arrow-up.js +10 -0
- package/lib/module/core/icon/icons/at-sign.js +10 -0
- package/lib/module/core/icon/icons/bell.js +10 -0
- package/lib/module/core/icon/icons/bold.js +10 -0
- package/lib/module/core/icon/icons/building-2.js +10 -0
- package/lib/module/core/icon/icons/calendar.js +10 -0
- package/lib/module/core/icon/icons/chart-column.js +10 -0
- package/lib/module/core/icon/icons/check.js +10 -0
- package/lib/module/core/icon/icons/chevron-down.js +10 -0
- package/lib/module/core/icon/icons/chevron-left.js +10 -0
- package/lib/module/core/icon/icons/chevron-right.js +10 -0
- package/lib/module/core/icon/icons/chevron-up.js +10 -0
- package/lib/module/core/icon/icons/chevrons-left.js +10 -0
- package/lib/module/core/icon/icons/chevrons-right.js +10 -0
- package/lib/module/core/icon/icons/chevrons-up-down.js +10 -0
- package/lib/module/core/icon/icons/circle-alert.js +10 -0
- package/lib/module/core/icon/icons/circle-check.js +10 -0
- package/lib/module/core/icon/icons/clock.js +10 -0
- package/lib/module/core/icon/icons/code.js +10 -0
- package/lib/module/core/icon/icons/download.js +10 -0
- package/lib/module/core/icon/icons/external-link.js +10 -0
- package/lib/module/core/icon/icons/eye.js +10 -0
- package/lib/module/core/icon/icons/file-text.js +10 -0
- package/lib/module/core/icon/icons/filter.js +10 -0
- package/lib/module/core/icon/icons/flag.js +10 -0
- package/lib/module/core/icon/icons/folder.js +10 -0
- package/lib/module/core/icon/icons/heading-1.js +10 -0
- package/lib/module/core/icon/icons/heading-2.js +10 -0
- package/lib/module/core/icon/icons/heading-3.js +10 -0
- package/lib/module/core/icon/icons/image.js +10 -0
- package/lib/module/core/icon/icons/inbox.js +10 -0
- package/lib/module/core/icon/icons/info.js +10 -0
- package/lib/module/core/icon/icons/italic.js +10 -0
- package/lib/module/core/icon/icons/kanban.js +10 -0
- package/lib/module/core/icon/icons/layers.js +10 -0
- package/lib/module/core/icon/icons/layout-dashboard.js +10 -0
- package/lib/module/core/icon/icons/layout-template.js +10 -0
- package/lib/module/core/icon/icons/life-buoy.js +10 -0
- package/lib/module/core/icon/icons/link.js +10 -0
- package/lib/module/core/icon/icons/list-checks.js +10 -0
- package/lib/module/core/icon/icons/list-ordered.js +10 -0
- package/lib/module/core/icon/icons/list-todo.js +10 -0
- package/lib/module/core/icon/icons/list.js +10 -0
- package/lib/module/core/icon/icons/log-out.js +10 -0
- package/lib/module/core/icon/icons/map.js +10 -0
- package/lib/module/core/icon/icons/message-square.js +10 -0
- package/lib/module/core/icon/icons/milestone.js +10 -0
- package/lib/module/core/icon/icons/minus.js +10 -0
- package/lib/module/core/icon/icons/more-horizontal.js +10 -0
- package/lib/module/core/icon/icons/paperclip.js +10 -0
- package/lib/module/core/icon/icons/pencil.js +10 -0
- package/lib/module/core/icon/icons/plus.js +10 -0
- package/lib/module/core/icon/icons/quote.js +10 -0
- package/lib/module/core/icon/icons/refresh-cw.js +10 -0
- package/lib/module/core/icon/icons/save.js +10 -0
- package/lib/module/core/icon/icons/search.js +10 -0
- package/lib/module/core/icon/icons/send.js +10 -0
- package/lib/module/core/icon/icons/settings.js +10 -0
- package/lib/module/core/icon/icons/share.js +10 -0
- package/lib/module/core/icon/icons/square-code.js +10 -0
- package/lib/module/core/icon/icons/star.js +10 -0
- package/lib/module/core/icon/icons/strikethrough.js +10 -0
- package/lib/module/core/icon/icons/tag.js +10 -0
- package/lib/module/core/icon/icons/trash.js +10 -0
- package/lib/module/core/icon/icons/triangle-alert.js +10 -0
- package/lib/module/core/icon/icons/underline.js +10 -0
- package/lib/module/core/icon/icons/upload.js +10 -0
- package/lib/module/core/icon/icons/user.js +10 -0
- package/lib/module/core/icon/icons/users.js +10 -0
- package/lib/module/core/icon/icons/x.js +10 -0
- package/lib/module/core/icon/index.js +4 -153
- package/lib/module/core/icon/names.js +2 -0
- package/lib/module/core/icon/resolve.js +158 -0
- package/lib/module/core/icon/types.js +4 -0
- package/lib/module/core/list/VirtualList.js +226 -0
- package/lib/module/core/list/index.js +4 -0
- package/lib/module/core/media/MediaImage.js +51 -0
- package/lib/module/core/media/expoImage.js +20 -0
- package/lib/module/core/media/index.js +6 -0
- package/lib/module/core/media/pickers.js +23 -0
- package/lib/module/core/motion/MODULE.md +101 -0
- package/lib/module/core/motion/config.js +112 -0
- package/lib/module/core/motion/index.js +7 -0
- package/lib/module/core/motion/presets.js +192 -0
- package/lib/module/core/motion/useAnimatedValue.js +19 -0
- package/lib/module/core/motion/useMotion.js +46 -0
- package/lib/module/core/style/index.js +2 -0
- package/lib/module/core/style/sx.js +76 -0
- package/lib/module/core/style/useThemedStyles.js +8 -0
- package/lib/module/index.js +70 -2
- package/lib/module/modules/accordion/Accordion.js +256 -87
- package/lib/module/modules/accordion/Accordion.variants.js +2 -4
- package/lib/module/modules/accordion/MODULE.md +35 -11
- package/lib/module/modules/alert-dialog/AlertDialog.js +1 -1
- package/lib/module/modules/alert-dialog/MODULE.md +11 -2
- package/lib/module/modules/app-bar/AppBar.js +179 -0
- package/lib/module/modules/app-bar/AppBar.variants.js +72 -0
- package/lib/module/modules/app-bar/MODULE.md +68 -0
- package/lib/module/modules/app-bar/index.js +10 -0
- package/lib/module/modules/avatar/Avatar.js +38 -18
- package/lib/module/modules/avatar/Avatar.variants.js +44 -3
- package/lib/module/modules/avatar/MODULE.md +37 -15
- package/lib/module/modules/avatar-group/AvatarGroup.js +77 -0
- package/lib/module/modules/avatar-group/AvatarGroup.variants.js +109 -0
- package/lib/module/modules/avatar-group/MODULE.md +28 -0
- package/lib/module/modules/avatar-group/index.js +10 -0
- package/lib/module/modules/badge/Badge.js +3 -2
- package/lib/module/modules/badge/Badge.variants.js +12 -2
- package/lib/module/modules/badge/MODULE.md +6 -0
- package/lib/module/modules/banner/Banner.js +135 -0
- package/lib/module/modules/banner/Banner.variants.js +118 -0
- package/lib/module/modules/banner/MODULE.md +113 -0
- package/lib/module/modules/banner/index.js +4 -0
- package/lib/module/modules/bottom-nav/BottomNav.js +37 -126
- package/lib/module/modules/bottom-nav/BottomNav.variants.js +28 -9
- package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +56 -8
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +133 -114
- package/lib/module/modules/bottom-nav/BottomNavTab.js +138 -0
- package/lib/module/modules/bottom-nav/MODULE.md +21 -6
- package/lib/module/modules/bottom-sheet/BottomSheet.js +189 -0
- package/lib/module/modules/bottom-sheet/BottomSheet.variants.js +49 -0
- package/lib/module/modules/bottom-sheet/MODULE.md +53 -0
- package/lib/module/modules/bottom-sheet/index.js +4 -0
- package/lib/module/modules/button/Button.js +98 -47
- package/lib/module/modules/button/Button.variants.js +12 -7
- package/lib/module/modules/button/MODULE.md +25 -3
- package/lib/module/modules/button-group/ButtonGroup.js +163 -55
- package/lib/module/modules/button-group/ButtonGroup.variants.js +30 -4
- package/lib/module/modules/button-group/MODULE.md +33 -7
- package/lib/module/modules/card/Card.js +10 -7
- package/lib/module/modules/card/MODULE.md +6 -0
- package/lib/module/modules/charts/BarChart.js +242 -0
- package/lib/module/modules/charts/BarList.js +98 -48
- package/lib/module/modules/charts/ChartLegend.js +154 -0
- package/lib/module/modules/charts/Charts.variants.js +524 -1
- package/lib/module/modules/charts/DonutChart.js +100 -65
- package/lib/module/modules/charts/LineChart.js +179 -0
- package/lib/module/modules/charts/MODULE.md +148 -22
- package/lib/module/modules/charts/PieChart.js +140 -0
- package/lib/module/modules/charts/Sparkline.js +5 -4
- package/lib/module/modules/charts/index.js +3 -0
- package/lib/module/modules/checkbox/Checkbox.js +114 -44
- package/lib/module/modules/checkbox/Checkbox.variants.js +13 -8
- package/lib/module/modules/checkbox/MODULE.md +35 -8
- package/lib/module/modules/chip/Chip.js +155 -0
- package/lib/module/modules/chip/Chip.variants.js +278 -0
- package/lib/module/modules/chip/ChipGroup.js +48 -0
- package/lib/module/modules/chip/MODULE.md +156 -0
- package/lib/module/modules/chip/index.js +13 -0
- package/lib/module/modules/combobox/Combobox.js +587 -0
- package/lib/module/modules/combobox/Combobox.variants.js +280 -0
- package/lib/module/modules/combobox/MODULE.md +183 -0
- package/lib/module/modules/combobox/comboboxKeys.js +19 -0
- package/lib/module/modules/combobox/comboboxKeys.web.js +76 -0
- package/lib/module/modules/combobox/index.js +13 -0
- package/lib/module/modules/composer/Composer.js +156 -0
- package/lib/module/modules/composer/Composer.variants.js +42 -0
- package/lib/module/modules/composer/MODULE.md +70 -0
- package/lib/module/modules/composer/index.js +4 -0
- package/lib/module/modules/copy-button/CopyButton.js +156 -0
- package/lib/module/modules/copy-button/CopyButton.variants.js +86 -0
- package/lib/module/modules/copy-button/MODULE.md +73 -0
- package/lib/module/modules/copy-button/index.js +4 -0
- package/lib/module/modules/data-table/DataTable.js +513 -0
- package/lib/module/modules/data-table/DataTable.variants.js +188 -0
- package/lib/module/modules/data-table/MODULE.md +145 -0
- package/lib/module/modules/data-table/index.js +10 -0
- package/lib/module/modules/date-picker/Calendar.js +368 -0
- package/lib/module/modules/date-picker/Calendar.keys.js +23 -0
- package/lib/module/modules/date-picker/Calendar.keys.web.js +83 -0
- package/lib/module/modules/date-picker/DatePicker.js +162 -0
- package/lib/module/modules/date-picker/DatePicker.variants.js +686 -0
- package/lib/module/modules/date-picker/DateRangePicker.js +87 -0
- package/lib/module/modules/date-picker/MODULE.md +169 -0
- package/lib/module/modules/date-picker/PickerField.js +142 -0
- package/lib/module/modules/date-picker/PickerShell.js +132 -0
- package/lib/module/modules/date-picker/TimePicker.js +184 -0
- package/lib/module/modules/date-picker/index.js +14 -0
- package/lib/module/modules/divider/Divider.js +8 -7
- package/lib/module/modules/divider/MODULE.md +6 -0
- package/lib/module/modules/drawer/Drawer.js +140 -58
- package/lib/module/modules/drawer/Drawer.variants.js +3 -16
- package/lib/module/modules/drawer/MODULE.md +90 -118
- package/lib/module/modules/empty-state/EmptyState.js +32 -18
- package/lib/module/modules/empty-state/EmptyState.variants.js +9 -0
- package/lib/module/modules/empty-state/MODULE.md +25 -7
- package/lib/module/modules/fab/Fab.js +212 -0
- package/lib/module/modules/fab/Fab.variants.js +346 -0
- package/lib/module/modules/fab/FabGroup.js +334 -0
- package/lib/module/modules/fab/MODULE.md +181 -0
- package/lib/module/modules/fab/index.js +13 -0
- package/lib/module/modules/file-grid/FileGrid.js +149 -0
- package/lib/module/modules/file-grid/FileGrid.variants.js +51 -0
- package/lib/module/modules/file-grid/MODULE.md +12 -0
- package/lib/module/modules/file-grid/index.js +4 -0
- package/lib/module/modules/file-upload/FileUpload.js +124 -34
- package/lib/module/modules/file-upload/FileUpload.variants.js +50 -7
- package/lib/module/modules/file-upload/MODULE.md +22 -4
- package/lib/module/modules/filter-sheet/FilterChip.js +25 -19
- package/lib/module/modules/filter-sheet/FilterSheet.js +17 -11
- package/lib/module/modules/filter-sheet/FilterSheet.variants.js +24 -5
- package/lib/module/modules/filter-sheet/FilterSheetBody.js +168 -82
- package/lib/module/modules/filter-sheet/MODULE.md +22 -1
- package/lib/module/modules/folder-row/FolderRow.js +132 -0
- package/lib/module/modules/folder-row/FolderRow.variants.js +49 -0
- package/lib/module/modules/folder-row/MODULE.md +71 -0
- package/lib/module/modules/folder-row/index.js +4 -0
- package/lib/module/modules/form-field/FormField.js +104 -0
- package/lib/module/modules/form-field/FormField.variants.js +88 -0
- package/lib/module/modules/form-field/MODULE.md +103 -0
- package/lib/module/modules/form-field/index.js +4 -0
- package/lib/module/modules/gantt/Gantt.js +218 -0
- package/lib/module/modules/gantt/Gantt.variants.js +141 -0
- package/lib/module/modules/gantt/MODULE.md +71 -0
- package/lib/module/modules/gantt/index.js +5 -0
- package/lib/module/modules/image-viewer/ImageViewer.js +235 -0
- package/lib/module/modules/image-viewer/ImageViewer.variants.js +6 -0
- package/lib/module/modules/image-viewer/MODULE.md +57 -0
- package/lib/module/modules/image-viewer/index.js +4 -0
- package/lib/module/modules/input/Input.js +106 -48
- package/lib/module/modules/input/Input.variants.js +18 -4
- package/lib/module/modules/input/MODULE.md +36 -6
- package/lib/module/modules/limit-reached-modal/LimitReachedModal.js +90 -0
- package/lib/module/modules/limit-reached-modal/LimitReachedModal.variants.js +108 -0
- package/lib/module/modules/limit-reached-modal/MODULE.md +94 -0
- package/lib/module/modules/limit-reached-modal/index.js +11 -0
- package/lib/module/modules/list-item/ListItem.js +45 -28
- package/lib/module/modules/list-item/MODULE.md +6 -0
- package/lib/module/modules/markdown/MODULE.md +32 -5
- package/lib/module/modules/markdown/Markdown.js +54 -20
- package/lib/module/modules/markdown/Markdown.variants.js +6 -1
- package/lib/module/modules/markdown/parseMarkdown.js +3 -3
- package/lib/module/modules/menu/MODULE.md +45 -14
- package/lib/module/modules/menu/Menu.js +174 -65
- package/lib/module/modules/menu/Menu.variants.js +10 -0
- package/lib/module/modules/message-bubble/MODULE.md +38 -0
- package/lib/module/modules/message-bubble/MessageBubble.js +55 -0
- package/lib/module/modules/message-bubble/MessageBubble.variants.js +57 -0
- package/lib/module/modules/message-bubble/index.js +4 -0
- package/lib/module/modules/modal/MODULE.md +29 -3
- package/lib/module/modules/modal/Modal.js +72 -22
- package/lib/module/modules/more-items/MODULE.md +72 -0
- package/lib/module/modules/more-items/MoreItems.js +162 -0
- package/lib/module/modules/more-items/MoreItems.variants.js +80 -0
- package/lib/module/modules/more-items/index.js +4 -0
- package/lib/module/modules/multi-select/MODULE.md +84 -18
- package/lib/module/modules/multi-select/MultiSelect.js +217 -105
- package/lib/module/modules/multi-select/MultiSelect.variants.js +28 -5
- package/lib/module/modules/number-input/MODULE.md +39 -5
- package/lib/module/modules/number-input/NumberInput.js +41 -11
- package/lib/module/modules/number-input/NumberInput.variants.js +39 -5
- package/lib/module/modules/org-switcher/MODULE.md +121 -0
- package/lib/module/modules/org-switcher/OrgSwitcher.js +284 -0
- package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +186 -0
- package/lib/module/modules/org-switcher/index.js +9 -0
- package/lib/module/modules/pagination/MODULE.md +163 -0
- package/lib/module/modules/pagination/Pagination.js +197 -0
- package/lib/module/modules/pagination/Pagination.variants.js +307 -0
- package/lib/module/modules/pagination/PaginationControls.js +193 -0
- package/lib/module/modules/pagination/index.js +15 -0
- package/lib/module/modules/pin-input/MODULE.md +29 -14
- package/lib/module/modules/pin-input/PinInput.js +111 -80
- package/lib/module/modules/pin-input/PinInput.variants.js +13 -5
- package/lib/module/modules/progress-bar/MODULE.md +17 -7
- package/lib/module/modules/progress-bar/ProgressBar.js +97 -56
- package/lib/module/modules/progress-bar/ProgressBar.variants.js +16 -18
- package/lib/module/modules/radio-group/MODULE.md +40 -14
- package/lib/module/modules/radio-group/RadioGroup.js +71 -7
- package/lib/module/modules/radio-group/RadioGroup.variants.js +46 -10
- package/lib/module/modules/reorder/MODULE.md +104 -97
- package/lib/module/modules/reorder/Reorder.js +233 -197
- package/lib/module/modules/reorder/Reorder.variants.js +35 -13
- package/lib/module/modules/rich-text/MODULE.md +52 -0
- package/lib/module/modules/rich-text/RichText.js +362 -0
- package/lib/module/modules/rich-text/RichText.variants.js +17 -0
- package/lib/module/modules/rich-text/index.js +5 -0
- package/lib/module/modules/rich-text/parseRichText.js +133 -0
- package/lib/module/modules/rich-text-editor/MODULE.md +225 -0
- package/lib/module/modules/rich-text-editor/RichTextEditor.js +413 -0
- package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +316 -0
- package/lib/module/modules/rich-text-editor/index.js +10 -0
- package/lib/module/modules/screen/MODULE.md +57 -0
- package/lib/module/modules/screen/Screen.js +106 -0
- package/lib/module/modules/screen/Screen.variants.js +43 -0
- package/lib/module/modules/screen/index.js +10 -0
- package/lib/module/modules/search-bar/MODULE.md +114 -0
- package/lib/module/modules/search-bar/SearchBar.js +256 -0
- package/lib/module/modules/search-bar/SearchBar.variants.js +205 -0
- package/lib/module/modules/search-bar/index.js +12 -0
- package/lib/module/modules/section/MODULE.md +39 -0
- package/lib/module/modules/section/Section.js +42 -0
- package/lib/module/modules/section/Section.variants.js +29 -0
- package/lib/module/modules/section/index.js +10 -0
- package/lib/module/modules/section-list/MODULE.md +18 -0
- package/lib/module/modules/section-list/SectionList.js +64 -0
- package/lib/module/modules/section-list/SectionList.variants.js +11 -0
- package/lib/module/modules/section-list/index.js +4 -0
- package/lib/module/modules/segmented-control/MODULE.md +124 -0
- package/lib/module/modules/segmented-control/SegmentedControl.js +158 -0
- package/lib/module/modules/segmented-control/SegmentedControl.variants.js +167 -0
- package/lib/module/modules/segmented-control/index.js +13 -0
- package/lib/module/modules/select/MODULE.md +81 -14
- package/lib/module/modules/select/Select.js +196 -94
- package/lib/module/modules/select/Select.variants.js +28 -5
- package/lib/module/modules/skeleton/MODULE.md +27 -7
- package/lib/module/modules/skeleton/Skeleton.js +52 -38
- package/lib/module/modules/skeleton/Skeleton.variants.js +9 -8
- package/lib/module/modules/slider/MODULE.md +31 -5
- package/lib/module/modules/slider/Slider.js +67 -10
- package/lib/module/modules/slider/Slider.variants.js +60 -13
- package/lib/module/modules/spinner/MODULE.md +16 -6
- package/lib/module/modules/spinner/Spinner.js +20 -16
- package/lib/module/modules/spinner/Spinner.variants.js +5 -3
- package/lib/module/modules/stage-progress/MODULE.md +64 -0
- package/lib/module/modules/stage-progress/StageProgress.js +174 -0
- package/lib/module/modules/stage-progress/StageProgress.variants.js +164 -0
- package/lib/module/modules/stage-progress/index.js +4 -0
- package/lib/module/modules/stat-tile/MODULE.md +9 -2
- package/lib/module/modules/stat-tile/StatTile.js +70 -33
- package/lib/module/modules/stat-tile/StatTile.variants.js +6 -4
- package/lib/module/modules/state-block/MODULE.md +52 -0
- package/lib/module/modules/state-block/StateBlock.js +131 -0
- package/lib/module/modules/state-block/StateBlock.variants.js +55 -0
- package/lib/module/modules/state-block/index.js +10 -0
- package/lib/module/modules/stepper/MODULE.md +33 -6
- package/lib/module/modules/stepper/Stepper.js +108 -39
- package/lib/module/modules/stepper/Stepper.variants.js +6 -6
- package/lib/module/modules/swipeable-row/MODULE.md +120 -0
- package/lib/module/modules/swipeable-row/SwipeableRow.js +244 -0
- package/lib/module/modules/swipeable-row/SwipeableRow.variants.js +80 -0
- package/lib/module/modules/swipeable-row/index.js +4 -0
- package/lib/module/modules/switch/MODULE.md +14 -0
- package/lib/module/modules/switch/Switch.js +1 -1
- package/lib/module/modules/switch/Switch.variants.js +8 -0
- package/lib/module/modules/tabs/MODULE.md +47 -13
- package/lib/module/modules/tabs/Tabs.js +121 -72
- package/lib/module/modules/tabs/Tabs.variants.js +30 -8
- package/lib/module/modules/text/MODULE.md +51 -0
- package/lib/module/modules/text/Text.js +47 -0
- package/lib/module/modules/text/Text.variants.js +98 -0
- package/lib/module/modules/text/index.js +4 -0
- package/lib/module/modules/textarea/MODULE.md +29 -13
- package/lib/module/modules/textarea/Textarea.js +90 -45
- package/lib/module/modules/textarea/Textarea.variants.js +14 -9
- package/lib/module/modules/timeline/MODULE.md +39 -7
- package/lib/module/modules/timeline/Timeline.js +151 -77
- package/lib/module/modules/timeline/Timeline.variants.js +13 -0
- package/lib/module/modules/toast/MODULE.md +66 -7
- package/lib/module/modules/toast/Toast.js +93 -27
- package/lib/module/modules/toast/Toast.variants.js +37 -1
- package/lib/module/modules/toast/toastScreenReader.js +69 -0
- package/lib/module/modules/tooltip/MODULE.md +78 -28
- package/lib/module/modules/tooltip/Tooltip.js +93 -43
- package/lib/module/modules/tooltip/Tooltip.variants.js +3 -4
- package/lib/module/modules/typing-indicator/MODULE.md +48 -0
- package/lib/module/modules/typing-indicator/TypingIndicator.js +98 -0
- package/lib/module/modules/typing-indicator/TypingIndicator.variants.js +55 -0
- package/lib/module/modules/typing-indicator/index.js +4 -0
- package/lib/module/modules/unread-badge/MODULE.md +20 -0
- package/lib/module/modules/unread-badge/UnreadBadge.js +45 -0
- package/lib/module/modules/unread-badge/UnreadBadge.variants.js +66 -0
- package/lib/module/modules/unread-badge/index.js +4 -0
- package/lib/module/test/mocks/flashList.js +5 -0
- package/lib/module/test/perfHelpers.js +18 -0
- package/lib/module/theme/MODULE.md +6 -0
- package/lib/module/theme/hooks.js +11 -0
- package/lib/module/theme/index.js +3 -6
- package/lib/module/theme/platform/MODULE.md +6 -0
- package/lib/module/theme/platform/motion.native.js +15 -0
- package/lib/module/theme/provider/PixelizeProvider.js +9 -47
- package/lib/module/theme/provider/ThemeContext.js +6 -0
- package/lib/module/theme/provider/colorModeStorage.js +2 -2
- package/lib/module/theme/provider/index.js +1 -0
- package/lib/module/theme/provider/loadPalette.js +75 -0
- package/lib/module/theme/provider/types.js +4 -0
- package/lib/module/theme/provider/useTheme.js +1 -2
- package/lib/module/theme/provider/useThemeMode.js +1 -1
- package/lib/module/theme/tokens/roles/index.js +9 -3
- package/lib/typescript/core/a11y/announce.d.ts +20 -0
- package/lib/typescript/core/a11y/announce.web.d.ts +27 -0
- package/lib/typescript/core/a11y/index.d.ts +21 -2
- package/lib/typescript/core/a11y/keyboard.d.ts +45 -0
- package/lib/typescript/core/a11y/keyboard.web.d.ts +69 -0
- package/lib/typescript/core/a11y/labels.d.ts +19 -0
- package/lib/typescript/core/device/index.d.ts +16 -0
- package/lib/typescript/core/heading/index.d.ts +45 -0
- package/lib/typescript/core/icon/Icon.d.ts +18 -0
- package/lib/typescript/core/icon/icons/arrow-down.d.ts +3 -0
- package/lib/typescript/core/icon/icons/arrow-left.d.ts +3 -0
- package/lib/typescript/core/icon/icons/arrow-right.d.ts +3 -0
- package/lib/typescript/core/icon/icons/arrow-up.d.ts +3 -0
- package/lib/typescript/core/icon/icons/at-sign.d.ts +3 -0
- package/lib/typescript/core/icon/icons/bell.d.ts +3 -0
- package/lib/typescript/core/icon/icons/bold.d.ts +3 -0
- package/lib/typescript/core/icon/icons/building-2.d.ts +3 -0
- package/lib/typescript/core/icon/icons/calendar.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chart-column.d.ts +3 -0
- package/lib/typescript/core/icon/icons/check.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevron-down.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevron-left.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevron-right.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevron-up.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevrons-left.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevrons-right.d.ts +3 -0
- package/lib/typescript/core/icon/icons/chevrons-up-down.d.ts +3 -0
- package/lib/typescript/core/icon/icons/circle-alert.d.ts +3 -0
- package/lib/typescript/core/icon/icons/circle-check.d.ts +3 -0
- package/lib/typescript/core/icon/icons/clock.d.ts +3 -0
- package/lib/typescript/core/icon/icons/code.d.ts +3 -0
- package/lib/typescript/core/icon/icons/download.d.ts +3 -0
- package/lib/typescript/core/icon/icons/external-link.d.ts +3 -0
- package/lib/typescript/core/icon/icons/eye.d.ts +3 -0
- package/lib/typescript/core/icon/icons/file-text.d.ts +3 -0
- package/lib/typescript/core/icon/icons/filter.d.ts +3 -0
- package/lib/typescript/core/icon/icons/flag.d.ts +3 -0
- package/lib/typescript/core/icon/icons/folder.d.ts +3 -0
- package/lib/typescript/core/icon/icons/heading-1.d.ts +3 -0
- package/lib/typescript/core/icon/icons/heading-2.d.ts +3 -0
- package/lib/typescript/core/icon/icons/heading-3.d.ts +3 -0
- package/lib/typescript/core/icon/icons/image.d.ts +3 -0
- package/lib/typescript/core/icon/icons/inbox.d.ts +3 -0
- package/lib/typescript/core/icon/icons/info.d.ts +3 -0
- package/lib/typescript/core/icon/icons/italic.d.ts +3 -0
- package/lib/typescript/core/icon/icons/kanban.d.ts +3 -0
- package/lib/typescript/core/icon/icons/layers.d.ts +3 -0
- package/lib/typescript/core/icon/icons/layout-dashboard.d.ts +3 -0
- package/lib/typescript/core/icon/icons/layout-template.d.ts +3 -0
- package/lib/typescript/core/icon/icons/life-buoy.d.ts +3 -0
- package/lib/typescript/core/icon/icons/link.d.ts +3 -0
- package/lib/typescript/core/icon/icons/list-checks.d.ts +3 -0
- package/lib/typescript/core/icon/icons/list-ordered.d.ts +3 -0
- package/lib/typescript/core/icon/icons/list-todo.d.ts +3 -0
- package/lib/typescript/core/icon/icons/list.d.ts +3 -0
- package/lib/typescript/core/icon/icons/log-out.d.ts +3 -0
- package/lib/typescript/core/icon/icons/map.d.ts +3 -0
- package/lib/typescript/core/icon/icons/message-square.d.ts +3 -0
- package/lib/typescript/core/icon/icons/milestone.d.ts +3 -0
- package/lib/typescript/core/icon/icons/minus.d.ts +3 -0
- package/lib/typescript/core/icon/icons/more-horizontal.d.ts +3 -0
- package/lib/typescript/core/icon/icons/paperclip.d.ts +3 -0
- package/lib/typescript/core/icon/icons/pencil.d.ts +3 -0
- package/lib/typescript/core/icon/icons/plus.d.ts +3 -0
- package/lib/typescript/core/icon/icons/quote.d.ts +3 -0
- package/lib/typescript/core/icon/icons/refresh-cw.d.ts +3 -0
- package/lib/typescript/core/icon/icons/save.d.ts +3 -0
- package/lib/typescript/core/icon/icons/search.d.ts +3 -0
- package/lib/typescript/core/icon/icons/send.d.ts +3 -0
- package/lib/typescript/core/icon/icons/settings.d.ts +3 -0
- package/lib/typescript/core/icon/icons/share.d.ts +3 -0
- package/lib/typescript/core/icon/icons/square-code.d.ts +3 -0
- package/lib/typescript/core/icon/icons/star.d.ts +3 -0
- package/lib/typescript/core/icon/icons/strikethrough.d.ts +3 -0
- package/lib/typescript/core/icon/icons/tag.d.ts +3 -0
- package/lib/typescript/core/icon/icons/trash.d.ts +3 -0
- package/lib/typescript/core/icon/icons/triangle-alert.d.ts +3 -0
- package/lib/typescript/core/icon/icons/underline.d.ts +3 -0
- package/lib/typescript/core/icon/icons/upload.d.ts +3 -0
- package/lib/typescript/core/icon/icons/user.d.ts +3 -0
- package/lib/typescript/core/icon/icons/users.d.ts +3 -0
- package/lib/typescript/core/icon/icons/x.d.ts +3 -0
- package/lib/typescript/core/icon/index.d.ts +6 -94
- package/lib/typescript/core/icon/names.d.ts +2 -0
- package/lib/typescript/core/icon/resolve.d.ts +4 -0
- package/lib/typescript/core/icon/types.d.ts +13 -0
- package/lib/typescript/core/list/VirtualList.d.ts +55 -0
- package/lib/typescript/core/list/index.d.ts +3 -0
- package/lib/typescript/core/media/MediaImage.d.ts +28 -0
- package/lib/typescript/core/media/expoImage.d.ts +14 -0
- package/lib/typescript/core/media/index.d.ts +7 -0
- package/lib/typescript/core/media/pickers.d.ts +27 -0
- package/lib/typescript/core/motion/config.d.ts +56 -0
- package/lib/typescript/core/motion/index.d.ts +8 -0
- package/lib/typescript/core/motion/presets.d.ts +49 -0
- package/lib/typescript/core/motion/useAnimatedValue.d.ts +11 -0
- package/lib/typescript/core/motion/useMotion.d.ts +34 -0
- package/lib/typescript/core/style/index.d.ts +3 -0
- package/lib/typescript/core/style/sx.d.ts +86 -0
- package/lib/typescript/core/style/useThemedStyles.d.ts +5 -0
- package/lib/typescript/index.d.ts +134 -2
- package/lib/typescript/modules/accordion/Accordion.d.ts +12 -23
- package/lib/typescript/modules/accordion/Accordion.variants.d.ts +5 -5
- package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +1 -1
- package/lib/typescript/modules/app-bar/AppBar.d.ts +37 -0
- package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +35 -0
- package/lib/typescript/modules/app-bar/index.d.ts +9 -0
- package/lib/typescript/modules/avatar/Avatar.d.ts +23 -3
- package/lib/typescript/modules/avatar/Avatar.variants.d.ts +32 -1
- package/lib/typescript/modules/avatar/index.d.ts +1 -1
- package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +28 -0
- package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +75 -0
- package/lib/typescript/modules/avatar-group/index.d.ts +9 -0
- package/lib/typescript/modules/badge/Badge.d.ts +3 -1
- package/lib/typescript/modules/badge/Badge.variants.d.ts +8 -4
- package/lib/typescript/modules/banner/Banner.d.ts +35 -0
- package/lib/typescript/modules/banner/Banner.variants.d.ts +49 -0
- package/lib/typescript/modules/banner/index.d.ts +5 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +9 -8
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +22 -9
- package/lib/typescript/modules/bottom-nav/BottomNavTab.d.ts +34 -0
- package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +29 -0
- package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +13 -0
- package/lib/typescript/modules/bottom-sheet/index.d.ts +3 -0
- package/lib/typescript/modules/button/Button.d.ts +21 -0
- package/lib/typescript/modules/button/Button.variants.d.ts +22 -9
- package/lib/typescript/modules/button-group/ButtonGroup.d.ts +4 -2
- package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +18 -5
- package/lib/typescript/modules/card/Card.variants.d.ts +2 -2
- package/lib/typescript/modules/charts/BarChart.d.ts +26 -0
- package/lib/typescript/modules/charts/ChartLegend.d.ts +16 -0
- package/lib/typescript/modules/charts/Charts.variants.d.ts +201 -2
- package/lib/typescript/modules/charts/DonutChart.d.ts +3 -0
- package/lib/typescript/modules/charts/LineChart.d.ts +30 -0
- package/lib/typescript/modules/charts/PieChart.d.ts +18 -0
- package/lib/typescript/modules/charts/index.d.ts +6 -0
- package/lib/typescript/modules/checkbox/Checkbox.d.ts +4 -1
- package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +14 -9
- package/lib/typescript/modules/chip/Chip.d.ts +38 -0
- package/lib/typescript/modules/chip/Chip.variants.d.ts +198 -0
- package/lib/typescript/modules/chip/ChipGroup.d.ts +22 -0
- package/lib/typescript/modules/chip/index.d.ts +12 -0
- package/lib/typescript/modules/combobox/Combobox.d.ts +81 -0
- package/lib/typescript/modules/combobox/Combobox.variants.d.ts +212 -0
- package/lib/typescript/modules/combobox/comboboxKeys.d.ts +25 -0
- package/lib/typescript/modules/combobox/comboboxKeys.web.d.ts +23 -0
- package/lib/typescript/modules/combobox/index.d.ts +11 -0
- package/lib/typescript/modules/composer/Composer.d.ts +28 -0
- package/lib/typescript/modules/composer/Composer.variants.d.ts +7 -0
- package/lib/typescript/modules/composer/index.d.ts +3 -0
- package/lib/typescript/modules/copy-button/CopyButton.d.ts +21 -0
- package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +42 -0
- package/lib/typescript/modules/copy-button/index.d.ts +4 -0
- package/lib/typescript/modules/data-table/DataTable.d.ts +44 -0
- package/lib/typescript/modules/data-table/DataTable.variants.d.ts +118 -0
- package/lib/typescript/modules/data-table/index.d.ts +9 -0
- package/lib/typescript/modules/date-picker/Calendar.d.ts +42 -0
- package/lib/typescript/modules/date-picker/Calendar.keys.d.ts +19 -0
- package/lib/typescript/modules/date-picker/Calendar.keys.web.d.ts +35 -0
- package/lib/typescript/modules/date-picker/DatePicker.d.ts +40 -0
- package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +322 -0
- package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +32 -0
- package/lib/typescript/modules/date-picker/PickerField.d.ts +26 -0
- package/lib/typescript/modules/date-picker/PickerShell.d.ts +29 -0
- package/lib/typescript/modules/date-picker/TimePicker.d.ts +20 -0
- package/lib/typescript/modules/date-picker/index.d.ts +16 -0
- package/lib/typescript/modules/divider/Divider.variants.d.ts +2 -2
- package/lib/typescript/modules/drawer/Drawer.d.ts +2 -1
- package/lib/typescript/modules/drawer/Drawer.variants.d.ts +4 -13
- package/lib/typescript/modules/empty-state/EmptyState.d.ts +7 -4
- package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +7 -1
- package/lib/typescript/modules/fab/Fab.d.ts +74 -0
- package/lib/typescript/modules/fab/Fab.variants.d.ts +229 -0
- package/lib/typescript/modules/fab/FabGroup.d.ts +66 -0
- package/lib/typescript/modules/fab/index.d.ts +12 -0
- package/lib/typescript/modules/file-grid/FileGrid.d.ts +26 -0
- package/lib/typescript/modules/file-grid/FileGrid.variants.d.ts +26 -0
- package/lib/typescript/modules/file-grid/index.d.ts +4 -0
- package/lib/typescript/modules/file-upload/FileUpload.d.ts +3 -0
- package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts +22 -5
- package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +30 -5
- package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +13 -8
- package/lib/typescript/modules/folder-row/FolderRow.d.ts +24 -0
- package/lib/typescript/modules/folder-row/FolderRow.variants.d.ts +29 -0
- package/lib/typescript/modules/folder-row/index.d.ts +3 -0
- package/lib/typescript/modules/form-field/FormField.d.ts +29 -0
- package/lib/typescript/modules/form-field/FormField.variants.d.ts +93 -0
- package/lib/typescript/modules/form-field/index.d.ts +4 -0
- package/lib/typescript/modules/gantt/Gantt.d.ts +19 -0
- package/lib/typescript/modules/gantt/Gantt.variants.d.ts +82 -0
- package/lib/typescript/modules/gantt/index.d.ts +5 -0
- package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +27 -0
- package/lib/typescript/modules/image-viewer/ImageViewer.variants.d.ts +3 -0
- package/lib/typescript/modules/image-viewer/index.d.ts +3 -0
- package/lib/typescript/modules/input/Input.d.ts +9 -1
- package/lib/typescript/modules/input/Input.variants.d.ts +26 -6
- package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +34 -0
- package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.variants.d.ts +46 -0
- package/lib/typescript/modules/limit-reached-modal/index.d.ts +10 -0
- package/lib/typescript/modules/list-item/ListItem.d.ts +6 -0
- package/lib/typescript/modules/list-item/ListItem.variants.d.ts +1 -1
- package/lib/typescript/modules/markdown/Markdown.d.ts +6 -0
- package/lib/typescript/modules/markdown/Markdown.variants.d.ts +8 -2
- package/lib/typescript/modules/markdown/parseMarkdown.d.ts +3 -2
- package/lib/typescript/modules/menu/Menu.d.ts +8 -18
- package/lib/typescript/modules/menu/Menu.variants.d.ts +8 -1
- package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +25 -0
- package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +31 -0
- package/lib/typescript/modules/message-bubble/index.d.ts +4 -0
- package/lib/typescript/modules/modal/Modal.d.ts +12 -0
- package/lib/typescript/modules/modal/Modal.variants.d.ts +1 -1
- package/lib/typescript/modules/more-items/MoreItems.d.ts +15 -0
- package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +30 -0
- package/lib/typescript/modules/more-items/index.d.ts +4 -0
- package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -16
- package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +24 -5
- package/lib/typescript/modules/number-input/NumberInput.d.ts +6 -0
- package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +57 -7
- package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +44 -0
- package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +139 -0
- package/lib/typescript/modules/org-switcher/index.d.ts +8 -0
- package/lib/typescript/modules/pagination/Pagination.d.ts +45 -0
- package/lib/typescript/modules/pagination/Pagination.variants.d.ts +240 -0
- package/lib/typescript/modules/pagination/PaginationControls.d.ts +50 -0
- package/lib/typescript/modules/pagination/index.d.ts +14 -0
- package/lib/typescript/modules/pin-input/PinInput.d.ts +6 -0
- package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +22 -5
- package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +8 -4
- package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts +13 -15
- package/lib/typescript/modules/radio-group/RadioGroup.d.ts +6 -0
- package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +32 -11
- package/lib/typescript/modules/reorder/Reorder.d.ts +28 -23
- package/lib/typescript/modules/reorder/Reorder.variants.d.ts +25 -9
- package/lib/typescript/modules/rich-text/RichText.d.ts +15 -0
- package/lib/typescript/modules/rich-text/RichText.variants.d.ts +15 -0
- package/lib/typescript/modules/rich-text/index.d.ts +5 -0
- package/lib/typescript/modules/rich-text/parseRichText.d.ts +30 -0
- package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +62 -0
- package/lib/typescript/modules/rich-text-editor/RichTextEditor.variants.d.ts +139 -0
- package/lib/typescript/modules/rich-text-editor/index.d.ts +9 -0
- package/lib/typescript/modules/screen/Screen.d.ts +36 -0
- package/lib/typescript/modules/screen/Screen.variants.d.ts +21 -0
- package/lib/typescript/modules/screen/index.d.ts +9 -0
- package/lib/typescript/modules/search-bar/SearchBar.d.ts +47 -0
- package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +179 -0
- package/lib/typescript/modules/search-bar/index.d.ts +11 -0
- package/lib/typescript/modules/section/Section.d.ts +17 -0
- package/lib/typescript/modules/section/Section.variants.d.ts +12 -0
- package/lib/typescript/modules/section/index.d.ts +8 -0
- package/lib/typescript/modules/section-list/SectionList.d.ts +26 -0
- package/lib/typescript/modules/section-list/SectionList.variants.d.ts +3 -0
- package/lib/typescript/modules/section-list/index.d.ts +3 -0
- package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +45 -0
- package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +143 -0
- package/lib/typescript/modules/segmented-control/index.d.ts +11 -0
- package/lib/typescript/modules/select/Select.d.ts +1 -14
- package/lib/typescript/modules/select/Select.variants.d.ts +24 -5
- package/lib/typescript/modules/skeleton/Skeleton.d.ts +5 -0
- package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +10 -9
- package/lib/typescript/modules/slider/Slider.variants.d.ts +35 -14
- package/lib/typescript/modules/spinner/Spinner.variants.d.ts +6 -4
- package/lib/typescript/modules/stage-progress/StageProgress.d.ts +18 -0
- package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +98 -0
- package/lib/typescript/modules/stage-progress/index.d.ts +4 -0
- package/lib/typescript/modules/stat-tile/StatTile.d.ts +4 -0
- package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +7 -5
- package/lib/typescript/modules/state-block/StateBlock.d.ts +51 -0
- package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +30 -0
- package/lib/typescript/modules/state-block/index.d.ts +10 -0
- package/lib/typescript/modules/stepper/Stepper.d.ts +4 -0
- package/lib/typescript/modules/stepper/Stepper.variants.d.ts +7 -7
- package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +35 -0
- package/lib/typescript/modules/swipeable-row/SwipeableRow.variants.d.ts +27 -0
- package/lib/typescript/modules/swipeable-row/index.d.ts +4 -0
- package/lib/typescript/modules/switch/Switch.variants.d.ts +9 -1
- package/lib/typescript/modules/tabs/Tabs.d.ts +8 -6
- package/lib/typescript/modules/tabs/Tabs.variants.d.ts +20 -7
- package/lib/typescript/modules/text/Text.d.ts +23 -0
- package/lib/typescript/modules/text/Text.variants.d.ts +18 -0
- package/lib/typescript/modules/text/index.d.ts +4 -0
- package/lib/typescript/modules/textarea/Textarea.d.ts +5 -0
- package/lib/typescript/modules/textarea/Textarea.variants.d.ts +15 -8
- package/lib/typescript/modules/timeline/Timeline.d.ts +9 -13
- package/lib/typescript/modules/timeline/Timeline.variants.d.ts +17 -1
- package/lib/typescript/modules/toast/Toast.d.ts +13 -3
- package/lib/typescript/modules/toast/Toast.variants.d.ts +31 -3
- package/lib/typescript/modules/toast/index.d.ts +1 -1
- package/lib/typescript/modules/toast/toastScreenReader.d.ts +22 -0
- package/lib/typescript/modules/tooltip/Tooltip.d.ts +34 -11
- package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +4 -5
- package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +28 -0
- package/lib/typescript/modules/typing-indicator/TypingIndicator.variants.d.ts +32 -0
- package/lib/typescript/modules/typing-indicator/index.d.ts +4 -0
- package/lib/typescript/modules/unread-badge/UnreadBadge.d.ts +15 -0
- package/lib/typescript/modules/unread-badge/UnreadBadge.variants.d.ts +56 -0
- package/lib/typescript/modules/unread-badge/index.d.ts +4 -0
- package/lib/typescript/test/mocks/flashList.d.ts +3 -0
- package/lib/typescript/test/perfHelpers.d.ts +9 -0
- package/lib/typescript/theme/hooks.d.ts +11 -0
- package/lib/typescript/theme/index.d.ts +3 -2
- package/lib/typescript/theme/platform/motion.native.d.ts +15 -0
- package/lib/typescript/theme/provider/PixelizeProvider.d.ts +3 -80
- package/lib/typescript/theme/provider/ThemeContext.d.ts +4 -0
- package/lib/typescript/theme/provider/index.d.ts +2 -1
- package/lib/typescript/theme/provider/loadPalette.d.ts +9 -0
- package/lib/typescript/theme/provider/types.d.ts +41 -0
- package/lib/typescript/theme/provider/useTheme.d.ts +1 -2
- package/lib/typescript/theme/provider/useThemeMode.d.ts +1 -1
- package/lib/typescript/theme/tokens/roles/index.d.ts +7 -0
- package/package.json +193 -19
- package/registry.json +172 -2
- package/lib/module/core/a11y/index.js.map +0 -1
- package/lib/module/core/icon/index.js.map +0 -1
- package/lib/module/core/style/index.js.map +0 -1
- package/lib/module/core/style/layoutStyle.js.map +0 -1
- package/lib/module/core/style/variants.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/modules/accordion/Accordion.js.map +0 -1
- package/lib/module/modules/accordion/Accordion.variants.js.map +0 -1
- package/lib/module/modules/accordion/index.js.map +0 -1
- package/lib/module/modules/alert-dialog/AlertDialog.js.map +0 -1
- package/lib/module/modules/alert-dialog/AlertDialog.variants.js.map +0 -1
- package/lib/module/modules/alert-dialog/index.js.map +0 -1
- package/lib/module/modules/avatar/Avatar.js.map +0 -1
- package/lib/module/modules/avatar/Avatar.variants.js.map +0 -1
- package/lib/module/modules/avatar/index.js.map +0 -1
- package/lib/module/modules/badge/Badge.js.map +0 -1
- package/lib/module/modules/badge/Badge.variants.js.map +0 -1
- package/lib/module/modules/badge/index.js.map +0 -1
- package/lib/module/modules/bottom-nav/BottomNav.js.map +0 -1
- package/lib/module/modules/bottom-nav/BottomNav.search.js.map +0 -1
- package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +0 -1
- package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js.map +0 -1
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +0 -1
- package/lib/module/modules/bottom-nav/index.js.map +0 -1
- package/lib/module/modules/button/Button.js.map +0 -1
- package/lib/module/modules/button/Button.variants.js.map +0 -1
- package/lib/module/modules/button/index.js.map +0 -1
- package/lib/module/modules/button-group/ButtonGroup.js.map +0 -1
- package/lib/module/modules/button-group/ButtonGroup.variants.js.map +0 -1
- package/lib/module/modules/button-group/index.js.map +0 -1
- package/lib/module/modules/card/Card.js.map +0 -1
- package/lib/module/modules/card/Card.variants.js.map +0 -1
- package/lib/module/modules/card/index.js.map +0 -1
- package/lib/module/modules/charts/BarList.js.map +0 -1
- package/lib/module/modules/charts/Charts.variants.js.map +0 -1
- package/lib/module/modules/charts/DonutChart.js.map +0 -1
- package/lib/module/modules/charts/Sparkline.js.map +0 -1
- package/lib/module/modules/charts/index.js.map +0 -1
- package/lib/module/modules/checkbox/Checkbox.js.map +0 -1
- package/lib/module/modules/checkbox/Checkbox.variants.js.map +0 -1
- package/lib/module/modules/checkbox/index.js.map +0 -1
- package/lib/module/modules/divider/Divider.js.map +0 -1
- package/lib/module/modules/divider/Divider.variants.js.map +0 -1
- package/lib/module/modules/divider/index.js.map +0 -1
- package/lib/module/modules/drawer/Drawer.js.map +0 -1
- package/lib/module/modules/drawer/Drawer.variants.js.map +0 -1
- package/lib/module/modules/drawer/index.js.map +0 -1
- package/lib/module/modules/empty-state/EmptyState.js.map +0 -1
- package/lib/module/modules/empty-state/EmptyState.variants.js.map +0 -1
- package/lib/module/modules/empty-state/index.js.map +0 -1
- package/lib/module/modules/file-upload/FileUpload.js.map +0 -1
- package/lib/module/modules/file-upload/FileUpload.variants.js.map +0 -1
- package/lib/module/modules/file-upload/index.js.map +0 -1
- package/lib/module/modules/filter-sheet/FilterChip.js.map +0 -1
- package/lib/module/modules/filter-sheet/FilterSheet.js.map +0 -1
- package/lib/module/modules/filter-sheet/FilterSheet.variants.js.map +0 -1
- package/lib/module/modules/filter-sheet/FilterSheetBody.js.map +0 -1
- package/lib/module/modules/filter-sheet/filterSheet.helpers.js.map +0 -1
- package/lib/module/modules/filter-sheet/index.js.map +0 -1
- package/lib/module/modules/input/Input.js.map +0 -1
- package/lib/module/modules/input/Input.variants.js.map +0 -1
- package/lib/module/modules/input/index.js.map +0 -1
- package/lib/module/modules/list-item/ListItem.js.map +0 -1
- package/lib/module/modules/list-item/ListItem.variants.js.map +0 -1
- package/lib/module/modules/list-item/index.js.map +0 -1
- package/lib/module/modules/markdown/Markdown.js.map +0 -1
- package/lib/module/modules/markdown/Markdown.variants.js.map +0 -1
- package/lib/module/modules/markdown/index.js.map +0 -1
- package/lib/module/modules/markdown/parseMarkdown.js.map +0 -1
- package/lib/module/modules/menu/Menu.js.map +0 -1
- package/lib/module/modules/menu/Menu.variants.js.map +0 -1
- package/lib/module/modules/menu/index.js.map +0 -1
- package/lib/module/modules/modal/Modal.js.map +0 -1
- package/lib/module/modules/modal/Modal.variants.js.map +0 -1
- package/lib/module/modules/modal/ModalPortalContext.js.map +0 -1
- package/lib/module/modules/modal/ModalPortalProvider.js.map +0 -1
- package/lib/module/modules/modal/index.js.map +0 -1
- package/lib/module/modules/modal/renderWebPortal.js.map +0 -1
- package/lib/module/modules/modal/renderWebPortal.web.js.map +0 -1
- package/lib/module/modules/multi-select/MultiSelect.js.map +0 -1
- package/lib/module/modules/multi-select/MultiSelect.variants.js.map +0 -1
- package/lib/module/modules/multi-select/index.js.map +0 -1
- package/lib/module/modules/number-input/NumberInput.js.map +0 -1
- package/lib/module/modules/number-input/NumberInput.variants.js.map +0 -1
- package/lib/module/modules/number-input/index.js.map +0 -1
- package/lib/module/modules/pin-input/PinInput.js.map +0 -1
- package/lib/module/modules/pin-input/PinInput.variants.js.map +0 -1
- package/lib/module/modules/pin-input/index.js.map +0 -1
- package/lib/module/modules/progress-bar/ProgressBar.js.map +0 -1
- package/lib/module/modules/progress-bar/ProgressBar.variants.js.map +0 -1
- package/lib/module/modules/progress-bar/index.js.map +0 -1
- package/lib/module/modules/radio-group/RadioGroup.js.map +0 -1
- package/lib/module/modules/radio-group/RadioGroup.variants.js.map +0 -1
- package/lib/module/modules/radio-group/index.js.map +0 -1
- package/lib/module/modules/reorder/Reorder.js.map +0 -1
- package/lib/module/modules/reorder/Reorder.variants.js.map +0 -1
- package/lib/module/modules/reorder/index.js.map +0 -1
- package/lib/module/modules/select/Select.js.map +0 -1
- package/lib/module/modules/select/Select.variants.js.map +0 -1
- package/lib/module/modules/select/index.js.map +0 -1
- package/lib/module/modules/skeleton/Skeleton.js.map +0 -1
- package/lib/module/modules/skeleton/Skeleton.variants.js.map +0 -1
- package/lib/module/modules/skeleton/index.js.map +0 -1
- package/lib/module/modules/slider/Slider.js.map +0 -1
- package/lib/module/modules/slider/Slider.variants.js.map +0 -1
- package/lib/module/modules/slider/index.js.map +0 -1
- package/lib/module/modules/spinner/Spinner.js.map +0 -1
- package/lib/module/modules/spinner/Spinner.variants.js.map +0 -1
- package/lib/module/modules/spinner/index.js.map +0 -1
- package/lib/module/modules/stat-tile/StatTile.js.map +0 -1
- package/lib/module/modules/stat-tile/StatTile.variants.js.map +0 -1
- package/lib/module/modules/stat-tile/index.js.map +0 -1
- package/lib/module/modules/stepper/Stepper.js.map +0 -1
- package/lib/module/modules/stepper/Stepper.variants.js.map +0 -1
- package/lib/module/modules/stepper/index.js.map +0 -1
- package/lib/module/modules/switch/Switch.js.map +0 -1
- package/lib/module/modules/switch/Switch.variants.js.map +0 -1
- package/lib/module/modules/switch/index.js.map +0 -1
- package/lib/module/modules/tabs/Tabs.js.map +0 -1
- package/lib/module/modules/tabs/Tabs.variants.js.map +0 -1
- package/lib/module/modules/tabs/index.js.map +0 -1
- package/lib/module/modules/textarea/Textarea.js.map +0 -1
- package/lib/module/modules/textarea/Textarea.variants.js.map +0 -1
- package/lib/module/modules/textarea/index.js.map +0 -1
- package/lib/module/modules/timeline/Timeline.js.map +0 -1
- package/lib/module/modules/timeline/Timeline.variants.js.map +0 -1
- package/lib/module/modules/timeline/index.js.map +0 -1
- package/lib/module/modules/toast/Toast.js.map +0 -1
- package/lib/module/modules/toast/Toast.variants.js.map +0 -1
- package/lib/module/modules/toast/index.js.map +0 -1
- package/lib/module/modules/tooltip/Tooltip.js.map +0 -1
- package/lib/module/modules/tooltip/Tooltip.variants.js.map +0 -1
- package/lib/module/modules/tooltip/index.js.map +0 -1
- package/lib/module/theme/index.js.map +0 -1
- package/lib/module/theme/platform/colorScheme.native.js.map +0 -1
- package/lib/module/theme/platform/elevation.native.js.map +0 -1
- package/lib/module/theme/platform/fonts.native.js.map +0 -1
- package/lib/module/theme/platform/index.js.map +0 -1
- package/lib/module/theme/platform/units.native.js.map +0 -1
- package/lib/module/theme/provider/PixelizeProvider.js.map +0 -1
- package/lib/module/theme/provider/colorModeStorage.js.map +0 -1
- package/lib/module/theme/provider/index.js.map +0 -1
- package/lib/module/theme/provider/useTheme.js.map +0 -1
- package/lib/module/theme/provider/useThemeColors.js.map +0 -1
- package/lib/module/theme/provider/useThemeMode.js.map +0 -1
- package/lib/module/theme/tokens/brands/emerald/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/emerald/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/index.js.map +0 -1
- package/lib/module/theme/tokens/brands/lavender/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/lavender/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/meadow/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/meadow/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/radiant/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/radiant/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/rosewood/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/rosewood/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/skyline/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/skyline/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/slate/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/slate/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/storefront/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/storefront/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/brands/zinc/palette.dark.js.map +0 -1
- package/lib/module/theme/tokens/brands/zinc/palette.light.js.map +0 -1
- package/lib/module/theme/tokens/builders/accentText.js.map +0 -1
- package/lib/module/theme/tokens/builders/buildBrandTokens.js.map +0 -1
- package/lib/module/theme/tokens/builders/buildDarkPalette.js.map +0 -1
- package/lib/module/theme/tokens/builders/color.js.map +0 -1
- package/lib/module/theme/tokens/index.js.map +0 -1
- package/lib/module/theme/tokens/primitives/borderWidths.js.map +0 -1
- package/lib/module/theme/tokens/primitives/breakpoints.js.map +0 -1
- package/lib/module/theme/tokens/primitives/elevation.js.map +0 -1
- package/lib/module/theme/tokens/primitives/fontSizes.js.map +0 -1
- package/lib/module/theme/tokens/primitives/fontWeights.js.map +0 -1
- package/lib/module/theme/tokens/primitives/index.js.map +0 -1
- package/lib/module/theme/tokens/primitives/letterSpacings.js.map +0 -1
- package/lib/module/theme/tokens/primitives/lineHeights.js.map +0 -1
- package/lib/module/theme/tokens/primitives/radii.js.map +0 -1
- package/lib/module/theme/tokens/primitives/sizes.js.map +0 -1
- package/lib/module/theme/tokens/primitives/space.js.map +0 -1
- package/lib/module/theme/tokens/primitives/zIndices.js.map +0 -1
- package/lib/module/theme/tokens/roles/index.js.map +0 -1
- package/lib/module/theme/tokens/types.js.map +0 -1
- package/lib/typescript/core/a11y/index.d.ts.map +0 -1
- package/lib/typescript/core/icon/index.d.ts.map +0 -1
- package/lib/typescript/core/style/index.d.ts.map +0 -1
- package/lib/typescript/core/style/layoutStyle.d.ts.map +0 -1
- package/lib/typescript/core/style/variants.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/modules/accordion/Accordion.d.ts.map +0 -1
- package/lib/typescript/modules/accordion/Accordion.variants.d.ts.map +0 -1
- package/lib/typescript/modules/accordion/index.d.ts.map +0 -1
- package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts.map +0 -1
- package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts.map +0 -1
- package/lib/typescript/modules/alert-dialog/index.d.ts.map +0 -1
- package/lib/typescript/modules/avatar/Avatar.d.ts.map +0 -1
- package/lib/typescript/modules/avatar/Avatar.variants.d.ts.map +0 -1
- package/lib/typescript/modules/avatar/index.d.ts.map +0 -1
- package/lib/typescript/modules/badge/Badge.d.ts.map +0 -1
- package/lib/typescript/modules/badge/Badge.variants.d.ts.map +0 -1
- package/lib/typescript/modules/badge/index.d.ts.map +0 -1
- package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +0 -1
- package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts.map +0 -1
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +0 -1
- package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts.map +0 -1
- package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +0 -1
- package/lib/typescript/modules/bottom-nav/index.d.ts.map +0 -1
- package/lib/typescript/modules/button/Button.d.ts.map +0 -1
- package/lib/typescript/modules/button/Button.variants.d.ts.map +0 -1
- package/lib/typescript/modules/button/index.d.ts.map +0 -1
- package/lib/typescript/modules/button-group/ButtonGroup.d.ts.map +0 -1
- package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts.map +0 -1
- package/lib/typescript/modules/button-group/index.d.ts.map +0 -1
- package/lib/typescript/modules/card/Card.d.ts.map +0 -1
- package/lib/typescript/modules/card/Card.variants.d.ts.map +0 -1
- package/lib/typescript/modules/card/index.d.ts.map +0 -1
- package/lib/typescript/modules/charts/BarList.d.ts.map +0 -1
- package/lib/typescript/modules/charts/Charts.variants.d.ts.map +0 -1
- package/lib/typescript/modules/charts/DonutChart.d.ts.map +0 -1
- package/lib/typescript/modules/charts/Sparkline.d.ts.map +0 -1
- package/lib/typescript/modules/charts/index.d.ts.map +0 -1
- package/lib/typescript/modules/checkbox/Checkbox.d.ts.map +0 -1
- package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts.map +0 -1
- package/lib/typescript/modules/checkbox/index.d.ts.map +0 -1
- package/lib/typescript/modules/divider/Divider.d.ts.map +0 -1
- package/lib/typescript/modules/divider/Divider.variants.d.ts.map +0 -1
- package/lib/typescript/modules/divider/index.d.ts.map +0 -1
- package/lib/typescript/modules/drawer/Drawer.d.ts.map +0 -1
- package/lib/typescript/modules/drawer/Drawer.variants.d.ts.map +0 -1
- package/lib/typescript/modules/drawer/index.d.ts.map +0 -1
- package/lib/typescript/modules/empty-state/EmptyState.d.ts.map +0 -1
- package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts.map +0 -1
- package/lib/typescript/modules/empty-state/index.d.ts.map +0 -1
- package/lib/typescript/modules/file-upload/FileUpload.d.ts.map +0 -1
- package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts.map +0 -1
- package/lib/typescript/modules/file-upload/index.d.ts.map +0 -1
- package/lib/typescript/modules/filter-sheet/FilterChip.d.ts.map +0 -1
- package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts.map +0 -1
- package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts.map +0 -1
- package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts.map +0 -1
- package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts.map +0 -1
- package/lib/typescript/modules/filter-sheet/index.d.ts.map +0 -1
- package/lib/typescript/modules/input/Input.d.ts.map +0 -1
- package/lib/typescript/modules/input/Input.variants.d.ts.map +0 -1
- package/lib/typescript/modules/input/index.d.ts.map +0 -1
- package/lib/typescript/modules/list-item/ListItem.d.ts.map +0 -1
- package/lib/typescript/modules/list-item/ListItem.variants.d.ts.map +0 -1
- package/lib/typescript/modules/list-item/index.d.ts.map +0 -1
- package/lib/typescript/modules/markdown/Markdown.d.ts.map +0 -1
- package/lib/typescript/modules/markdown/Markdown.variants.d.ts.map +0 -1
- package/lib/typescript/modules/markdown/index.d.ts.map +0 -1
- package/lib/typescript/modules/markdown/parseMarkdown.d.ts.map +0 -1
- package/lib/typescript/modules/menu/Menu.d.ts.map +0 -1
- package/lib/typescript/modules/menu/Menu.variants.d.ts.map +0 -1
- package/lib/typescript/modules/menu/index.d.ts.map +0 -1
- package/lib/typescript/modules/modal/Modal.d.ts.map +0 -1
- package/lib/typescript/modules/modal/Modal.variants.d.ts.map +0 -1
- package/lib/typescript/modules/modal/ModalPortalContext.d.ts.map +0 -1
- package/lib/typescript/modules/modal/ModalPortalProvider.d.ts.map +0 -1
- package/lib/typescript/modules/modal/index.d.ts.map +0 -1
- package/lib/typescript/modules/modal/renderWebPortal.d.ts.map +0 -1
- package/lib/typescript/modules/modal/renderWebPortal.web.d.ts.map +0 -1
- package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +0 -1
- package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts.map +0 -1
- package/lib/typescript/modules/multi-select/index.d.ts.map +0 -1
- package/lib/typescript/modules/number-input/NumberInput.d.ts.map +0 -1
- package/lib/typescript/modules/number-input/NumberInput.variants.d.ts.map +0 -1
- package/lib/typescript/modules/number-input/index.d.ts.map +0 -1
- package/lib/typescript/modules/pin-input/PinInput.d.ts.map +0 -1
- package/lib/typescript/modules/pin-input/PinInput.variants.d.ts.map +0 -1
- package/lib/typescript/modules/pin-input/index.d.ts.map +0 -1
- package/lib/typescript/modules/progress-bar/ProgressBar.d.ts.map +0 -1
- package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts.map +0 -1
- package/lib/typescript/modules/progress-bar/index.d.ts.map +0 -1
- package/lib/typescript/modules/radio-group/RadioGroup.d.ts.map +0 -1
- package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts.map +0 -1
- package/lib/typescript/modules/radio-group/index.d.ts.map +0 -1
- package/lib/typescript/modules/reorder/Reorder.d.ts.map +0 -1
- package/lib/typescript/modules/reorder/Reorder.variants.d.ts.map +0 -1
- package/lib/typescript/modules/reorder/index.d.ts.map +0 -1
- package/lib/typescript/modules/select/Select.d.ts.map +0 -1
- package/lib/typescript/modules/select/Select.variants.d.ts.map +0 -1
- package/lib/typescript/modules/select/index.d.ts.map +0 -1
- package/lib/typescript/modules/skeleton/Skeleton.d.ts.map +0 -1
- package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts.map +0 -1
- package/lib/typescript/modules/skeleton/index.d.ts.map +0 -1
- package/lib/typescript/modules/slider/Slider.d.ts.map +0 -1
- package/lib/typescript/modules/slider/Slider.variants.d.ts.map +0 -1
- package/lib/typescript/modules/slider/index.d.ts.map +0 -1
- package/lib/typescript/modules/spinner/Spinner.d.ts.map +0 -1
- package/lib/typescript/modules/spinner/Spinner.variants.d.ts.map +0 -1
- package/lib/typescript/modules/spinner/index.d.ts.map +0 -1
- package/lib/typescript/modules/stat-tile/StatTile.d.ts.map +0 -1
- package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts.map +0 -1
- package/lib/typescript/modules/stat-tile/index.d.ts.map +0 -1
- package/lib/typescript/modules/stepper/Stepper.d.ts.map +0 -1
- package/lib/typescript/modules/stepper/Stepper.variants.d.ts.map +0 -1
- package/lib/typescript/modules/stepper/index.d.ts.map +0 -1
- package/lib/typescript/modules/switch/Switch.d.ts.map +0 -1
- package/lib/typescript/modules/switch/Switch.variants.d.ts.map +0 -1
- package/lib/typescript/modules/switch/index.d.ts.map +0 -1
- package/lib/typescript/modules/tabs/Tabs.d.ts.map +0 -1
- package/lib/typescript/modules/tabs/Tabs.variants.d.ts.map +0 -1
- package/lib/typescript/modules/tabs/index.d.ts.map +0 -1
- package/lib/typescript/modules/textarea/Textarea.d.ts.map +0 -1
- package/lib/typescript/modules/textarea/Textarea.variants.d.ts.map +0 -1
- package/lib/typescript/modules/textarea/index.d.ts.map +0 -1
- package/lib/typescript/modules/timeline/Timeline.d.ts.map +0 -1
- package/lib/typescript/modules/timeline/Timeline.variants.d.ts.map +0 -1
- package/lib/typescript/modules/timeline/index.d.ts.map +0 -1
- package/lib/typescript/modules/toast/Toast.d.ts.map +0 -1
- package/lib/typescript/modules/toast/Toast.variants.d.ts.map +0 -1
- package/lib/typescript/modules/toast/index.d.ts.map +0 -1
- package/lib/typescript/modules/tooltip/Tooltip.d.ts.map +0 -1
- package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts.map +0 -1
- package/lib/typescript/modules/tooltip/index.d.ts.map +0 -1
- package/lib/typescript/theme/index.d.ts.map +0 -1
- package/lib/typescript/theme/platform/colorScheme.native.d.ts.map +0 -1
- package/lib/typescript/theme/platform/elevation.native.d.ts.map +0 -1
- package/lib/typescript/theme/platform/fonts.native.d.ts.map +0 -1
- package/lib/typescript/theme/platform/index.d.ts.map +0 -1
- package/lib/typescript/theme/platform/units.native.d.ts.map +0 -1
- package/lib/typescript/theme/provider/PixelizeProvider.d.ts.map +0 -1
- package/lib/typescript/theme/provider/colorModeStorage.d.ts.map +0 -1
- package/lib/typescript/theme/provider/index.d.ts.map +0 -1
- package/lib/typescript/theme/provider/useTheme.d.ts.map +0 -1
- package/lib/typescript/theme/provider/useThemeColors.d.ts.map +0 -1
- package/lib/typescript/theme/provider/useThemeMode.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/index.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/builders/color.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/index.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/elevation.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/index.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/radii.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/sizes.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/space.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/primitives/zIndices.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/roles/index.d.ts.map +0 -1
- package/lib/typescript/theme/tokens/types.d.ts.map +0 -1
|
@@ -8,11 +8,12 @@ no `onStepPress` — a small surface per spec, not a step navigator.
|
|
|
8
8
|
|
|
9
9
|
| File | Role |
|
|
10
10
|
|------|------|
|
|
11
|
-
| `Stepper.tsx` | The component
|
|
11
|
+
| `Stepper.tsx` | The component + the private memo'd `StepColumn`. Composition, a11y wiring, and the step-advance settle. No press/focus logic. |
|
|
12
12
|
| `Stepper.variants.ts` | Pure resolvers (`resolveStepState`, `resolveStepCircleColors`, `resolveStepLabelColor`, `resolveStepConnectorColor`, `resolveStepperAccessibility`) + the structural variant resolvers `stepCircleStructure`, `stepLabelStructure`, `stepConnectorLineStructure`. No React, no lucide. |
|
|
13
13
|
| `index.ts` | Public surface: `Stepper`, `StepperProps`, `StepperStep`. |
|
|
14
14
|
| `__tests__/Stepper.test.ts` | Pure: state arithmetic, WCAG contrast (all brands × modes), accessibility-summary contract. |
|
|
15
15
|
| `__tests__/Stepper.render.test.tsx` | Render: labels/numbers render, single collapsed `progressbar` node, per-state circle colour, consumer `style` applies last. |
|
|
16
|
+
| `__tests__/Stepper.motion.test.tsx` | Motion: the reduce-motion snap, the real advance pulse, and the no-replay guard below. |
|
|
16
17
|
|
|
17
18
|
## Props
|
|
18
19
|
|
|
@@ -48,8 +49,10 @@ both halves from the same function so they always agree.
|
|
|
48
49
|
- **4.1.2** — the whole row is ONE accessible node (`accessible` on the container), same collapsing
|
|
49
50
|
idiom `Badge` uses for its icon + label: a screen reader gets a single summary announcement
|
|
50
51
|
instead of reading every circle and label individually.
|
|
51
|
-
- `accessibilityRole="progressbar"`, `
|
|
52
|
-
activeStep
|
|
52
|
+
- `accessibilityRole="progressbar"`, flat `aria-valuemin={0} aria-valuemax={steps.length - 1}
|
|
53
|
+
aria-valuenow={activeStep}` — the raw 0-indexed progress triple (floors `max` at 0 for a
|
|
54
|
+
single-step stepper). Flat, not `accessibilityValue={{…}}` — react-native-web 0.21.2 forwards only
|
|
55
|
+
the flat form to the DOM; the object reaches nothing there.
|
|
53
56
|
- `accessibilityLabel` is a natural-language summary, e.g. `"Step 2 of 4: Shipping"` — the 1-based
|
|
54
57
|
ordinal plus the active step's label (omits the `: <label>` suffix, never a dangling colon, if
|
|
55
58
|
`activeStep` has no matching step).
|
|
@@ -61,8 +64,23 @@ both halves from the same function so they always agree.
|
|
|
61
64
|
— same reasoning `Divider.variants.ts` documents for its own decorative hairline: it conveys no
|
|
62
65
|
information the numbered circles don't already carry, so WCAG 1.4.11 (which binds only a "User
|
|
63
66
|
Interface Component" or a required "Graphical Object") does not apply to it.
|
|
64
|
-
- No touch target / `hitSlop
|
|
65
|
-
|
|
67
|
+
- No touch target / `hitSlop` and no focus ring — Stepper is non-interactive (no `Pressable`), same
|
|
68
|
+
as `Badge`/`Divider`.
|
|
69
|
+
- **2.3.3** — the step-advance settle is skipped and the final scale `setValue`'d whenever
|
|
70
|
+
`useMotion().enabled` is false (reduced motion or the global kill switch).
|
|
71
|
+
|
|
72
|
+
## Step-advance motion
|
|
73
|
+
|
|
74
|
+
Advancing `activeStep` settles the newly-active circle from `scale: 1.12` to `1` (`core/motion`,
|
|
75
|
+
`fast` + `decelerate`). ONE shared `Animated.Value` lives on `Stepper` and is handed only to the
|
|
76
|
+
active column — never one value per step. The connectors are deliberately static: they change
|
|
77
|
+
`backgroundColor`, which cannot run on the native driver. Stopped on effect cleanup (both branches
|
|
78
|
+
return the same cleanup) and on unmount.
|
|
79
|
+
|
|
80
|
+
**Only a real `activeStep` change settles.** `motion` is an effect dep, so the effect also re-runs
|
|
81
|
+
when the OS reduce-motion setting flips mid-session — a `lastStep` ref makes that (and the first
|
|
82
|
+
mount, where arriving on a step is not an advance) a no-op `setValue(1)` instead of replaying a
|
|
83
|
+
settle for a step the user never left.
|
|
66
84
|
|
|
67
85
|
## Patterns copied from Button (the reference module) and Badge
|
|
68
86
|
|
|
@@ -85,4 +103,13 @@ both halves from the same function so they always agree.
|
|
|
85
103
|
|
|
86
104
|
## Performance
|
|
87
105
|
|
|
88
|
-
Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`).
|
|
106
|
+
Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). Each step is a
|
|
107
|
+
private, memo'd `StepColumn` fed primitives only, so advancing a step re-renders the two affected
|
|
108
|
+
columns rather than the whole row; every style array it builds is memoized, and the row's static
|
|
109
|
+
layout lives in `StyleSheet.create`.
|
|
110
|
+
|
|
111
|
+
## Modernization (v1.0.7)
|
|
112
|
+
|
|
113
|
+
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
114
|
+
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
115
|
+
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
@@ -11,13 +11,75 @@
|
|
|
11
11
|
* length; the connector to the NEXT step is drawn as two identically-coloured halves — the trailing
|
|
12
12
|
* half of this column, the leading half of the next — so a circle stays centered under its own
|
|
13
13
|
* label rather than centered between two circles' worth of connector.
|
|
14
|
+
*
|
|
15
|
+
* Advancing `activeStep` settles the newly-active circle with a small scale (`core/motion`). One
|
|
16
|
+
* shared `Animated.Value` drives it — the connectors change colour, which cannot run on the native
|
|
17
|
+
* driver, so they stay static.
|
|
14
18
|
*/
|
|
15
19
|
|
|
16
|
-
import { memo } from "react";
|
|
17
|
-
import { StyleSheet, Text, View } from "react-native";
|
|
18
|
-
import {
|
|
20
|
+
import { memo, useEffect, useMemo, useRef } from "react";
|
|
21
|
+
import { Animated, StyleSheet, Text, View } from "react-native";
|
|
22
|
+
import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
|
|
23
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
19
24
|
import { resolveStepCircleColors, resolveStepConnectorColor, resolveStepLabelColor, resolveStepState, resolveStepperAccessibility, stepCircleStructure, stepConnectorLineStructure, stepLabelStructure } from "./Stepper.variants.js";
|
|
20
25
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
|
+
const ADVANCE_SCALE = 1.12;
|
|
27
|
+
const StepColumn = /*#__PURE__*/memo(function StepColumn({
|
|
28
|
+
index,
|
|
29
|
+
label,
|
|
30
|
+
theme,
|
|
31
|
+
circleFill,
|
|
32
|
+
circleText,
|
|
33
|
+
labelColor,
|
|
34
|
+
leadingConnector,
|
|
35
|
+
trailingConnector,
|
|
36
|
+
advance,
|
|
37
|
+
testID
|
|
38
|
+
}) {
|
|
39
|
+
const leadingStyle = useMemo(() => [stepConnectorLineStructure(), {
|
|
40
|
+
backgroundColor: leadingConnector
|
|
41
|
+
}], [leadingConnector]);
|
|
42
|
+
const trailingStyle = useMemo(() => [stepConnectorLineStructure(), {
|
|
43
|
+
backgroundColor: trailingConnector
|
|
44
|
+
}], [trailingConnector]);
|
|
45
|
+
const circleStyle = useMemo(() => [stepCircleStructure(theme), {
|
|
46
|
+
backgroundColor: circleFill
|
|
47
|
+
}, advance === null ? null : {
|
|
48
|
+
transform: [{
|
|
49
|
+
scale: advance
|
|
50
|
+
}]
|
|
51
|
+
}], [theme, circleFill, advance]);
|
|
52
|
+
const numberStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.semibold), {
|
|
53
|
+
fontSize: theme.fontSizes.sm,
|
|
54
|
+
color: circleText
|
|
55
|
+
}], [theme, circleText]);
|
|
56
|
+
const labelStyle = useMemo(() => [stepLabelStructure(theme), theme.fontStyleForWeight(theme.fontWeights.medium), {
|
|
57
|
+
fontSize: theme.fontSizes.xs,
|
|
58
|
+
color: labelColor
|
|
59
|
+
}], [theme, labelColor]);
|
|
60
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
61
|
+
style: styles.column,
|
|
62
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
63
|
+
style: styles.connectorRow,
|
|
64
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
65
|
+
style: leadingStyle
|
|
66
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
67
|
+
testID: testID,
|
|
68
|
+
style: circleStyle,
|
|
69
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
70
|
+
style: numberStyle,
|
|
71
|
+
children: index + 1
|
|
72
|
+
})
|
|
73
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
74
|
+
style: trailingStyle
|
|
75
|
+
})]
|
|
76
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
77
|
+
numberOfLines: 1,
|
|
78
|
+
style: labelStyle,
|
|
79
|
+
children: label
|
|
80
|
+
})]
|
|
81
|
+
});
|
|
82
|
+
});
|
|
21
83
|
export const Stepper = /*#__PURE__*/memo(function Stepper({
|
|
22
84
|
steps,
|
|
23
85
|
activeStep,
|
|
@@ -25,59 +87,66 @@ export const Stepper = /*#__PURE__*/memo(function Stepper({
|
|
|
25
87
|
testID
|
|
26
88
|
}) {
|
|
27
89
|
const theme = useTheme();
|
|
90
|
+
const motion = useMotion();
|
|
28
91
|
const a11y = resolveStepperAccessibility({
|
|
29
92
|
steps,
|
|
30
93
|
activeStep
|
|
31
94
|
});
|
|
32
95
|
const lastIndex = steps.length - 1;
|
|
96
|
+
const advance = useAnimatedValue(1);
|
|
97
|
+
const running = useRef(null);
|
|
98
|
+
const lastStep = useRef(null);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
running.current?.stop();
|
|
101
|
+
const previous = lastStep.current;
|
|
102
|
+
lastStep.current = activeStep;
|
|
103
|
+
// `motion` is a dep, so a mid-session reduce-motion change re-runs this — neither that nor the
|
|
104
|
+
// first render is an advance, and re-pulsing a step the user never left would be a lie.
|
|
105
|
+
if (!motion.enabled || previous === null || previous === activeStep) {
|
|
106
|
+
advance.setValue(1);
|
|
107
|
+
} else {
|
|
108
|
+
advance.setValue(0);
|
|
109
|
+
running.current = motion.timing(advance, 1, {
|
|
110
|
+
duration: "fast",
|
|
111
|
+
easing: "decelerate"
|
|
112
|
+
});
|
|
113
|
+
running.current.start();
|
|
114
|
+
}
|
|
115
|
+
return () => running.current?.stop();
|
|
116
|
+
}, [activeStep, motion, advance]);
|
|
117
|
+
useEffect(() => () => running.current?.stop(), []);
|
|
118
|
+
const advanceScale = useMemo(() => advance.interpolate({
|
|
119
|
+
inputRange: [0, 1],
|
|
120
|
+
outputRange: [ADVANCE_SCALE, 1]
|
|
121
|
+
}), [advance]);
|
|
122
|
+
const rootStyle = useMemo(() => [styles.row, style], [style]);
|
|
33
123
|
return /*#__PURE__*/_jsx(View, {
|
|
34
124
|
testID: testID,
|
|
35
125
|
accessible: true,
|
|
36
126
|
accessibilityRole: a11y.accessibilityRole,
|
|
37
|
-
|
|
127
|
+
"aria-valuemin": a11y["aria-valuemin"],
|
|
128
|
+
"aria-valuemax": a11y["aria-valuemax"],
|
|
129
|
+
"aria-valuenow": a11y["aria-valuenow"],
|
|
38
130
|
accessibilityLabel: a11y.accessibilityLabel,
|
|
39
|
-
style:
|
|
131
|
+
style: rootStyle,
|
|
40
132
|
children: steps.map((step, index) => {
|
|
41
133
|
const state = resolveStepState(index, activeStep);
|
|
42
134
|
const circleColors = resolveStepCircleColors(theme.colors, state);
|
|
43
|
-
const labelColor = resolveStepLabelColor(theme.colors, state);
|
|
44
135
|
// No segment exists before the first circle or after the last — a transparent spacer keeps
|
|
45
136
|
// every circle centered in its column via the same left/right flex split as every other one.
|
|
46
137
|
const leadingConnector = index === 0 ? "transparent" : resolveStepConnectorColor(theme.colors, index - 1, activeStep);
|
|
47
138
|
const trailingConnector = index === lastIndex ? "transparent" : resolveStepConnectorColor(theme.colors, index, activeStep);
|
|
48
|
-
return /*#__PURE__*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
backgroundColor: circleColors.fill
|
|
60
|
-
}],
|
|
61
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
62
|
-
style: [theme.fontStyleForWeight(theme.fontWeights.semibold), {
|
|
63
|
-
fontSize: theme.fontSizes.sm,
|
|
64
|
-
color: circleColors.text
|
|
65
|
-
}],
|
|
66
|
-
children: index + 1
|
|
67
|
-
})
|
|
68
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
69
|
-
style: [stepConnectorLineStructure(), {
|
|
70
|
-
backgroundColor: trailingConnector
|
|
71
|
-
}]
|
|
72
|
-
})]
|
|
73
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
74
|
-
numberOfLines: 1,
|
|
75
|
-
style: [stepLabelStructure(theme), theme.fontStyleForWeight(theme.fontWeights.medium), {
|
|
76
|
-
fontSize: theme.fontSizes.xs,
|
|
77
|
-
color: labelColor
|
|
78
|
-
}],
|
|
79
|
-
children: step.label
|
|
80
|
-
})]
|
|
139
|
+
return /*#__PURE__*/_jsx(StepColumn, {
|
|
140
|
+
index: index,
|
|
141
|
+
label: step.label,
|
|
142
|
+
theme: theme,
|
|
143
|
+
circleFill: circleColors.fill,
|
|
144
|
+
circleText: circleColors.text,
|
|
145
|
+
labelColor: resolveStepLabelColor(theme.colors, state),
|
|
146
|
+
leadingConnector: leadingConnector,
|
|
147
|
+
trailingConnector: trailingConnector,
|
|
148
|
+
advance: index === activeStep ? advanceScale : null,
|
|
149
|
+
testID: testID === undefined ? undefined : `${testID}-circle-${index}`
|
|
81
150
|
}, index);
|
|
82
151
|
})
|
|
83
152
|
});
|
|
@@ -87,7 +87,9 @@ export function resolveStepConnectorColor(colors, index, activeStep) {
|
|
|
87
87
|
* wording is unit-tested without a renderer; `Stepper.tsx` pairs this with `accessible` on the
|
|
88
88
|
* container, the same collapsing idiom `Badge` uses for its icon + label). `activeStep` is
|
|
89
89
|
* 0-indexed internally; the announcement surfaces the natural 1-based ordinal, and
|
|
90
|
-
* `
|
|
90
|
+
* the flat `aria-value*` triple surfaces the raw 0-indexed `min`/`max`/`now` progress. Flat rather
|
|
91
|
+
* than `accessibilityValue={{…}}`: RN's `View` folds the flat props back into that object, while
|
|
92
|
+
* react-native-web forwards only the flat form — the object reaches nothing at all on web.
|
|
91
93
|
*/
|
|
92
94
|
export function resolveStepperAccessibility(input) {
|
|
93
95
|
const {
|
|
@@ -98,11 +100,9 @@ export function resolveStepperAccessibility(input) {
|
|
|
98
100
|
const summary = `Step ${activeStep + 1} of ${steps.length}` + (activeLabel === undefined ? "" : `: ${activeLabel}`);
|
|
99
101
|
return {
|
|
100
102
|
accessibilityRole: "progressbar",
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
now: activeStep
|
|
105
|
-
},
|
|
103
|
+
"aria-valuemin": 0,
|
|
104
|
+
"aria-valuemax": Math.max(steps.length - 1, 0),
|
|
105
|
+
"aria-valuenow": activeStep,
|
|
106
106
|
accessibilityLabel: summary
|
|
107
107
|
};
|
|
108
108
|
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# swipeable-row/
|
|
2
|
+
|
|
3
|
+
Swipe-to-reveal row actions via gesture-handler + reanimated.
|
|
4
|
+
|
|
5
|
+
## Motion contract
|
|
6
|
+
|
|
7
|
+
- The row follows the finger on the **UI thread**: a single `Gesture.Pan()` writes a `translateX`
|
|
8
|
+
shared value. Only `transform` is animated — never a layout property.
|
|
9
|
+
- Settle (snap open / snap back) reads the global motion config via `useMotion()`:
|
|
10
|
+
`spring("snappy")` when the device tier can afford a spring, `withTiming(duration("fast"))` when
|
|
11
|
+
it cannot.
|
|
12
|
+
- **Reduce motion / motion disabled** — `translateX` is assigned the target directly, no tween.
|
|
13
|
+
- The in-flight settle is cancelled on unmount (`cancelAnimation`). Nothing gates unmount on an
|
|
14
|
+
animation completing.
|
|
15
|
+
|
|
16
|
+
## Accessibility
|
|
17
|
+
|
|
18
|
+
A swipe is invisible to assistive tech, so the actions would otherwise be unreachable (WCAG 2.1.1).
|
|
19
|
+
|
|
20
|
+
- **The row declares one `accessibilityAction` per action** (`name: action.id`, `label:
|
|
21
|
+
action.label`, left tray first) plus `onAccessibilityAction` — the platform-native list-row model,
|
|
22
|
+
where the row is one accessibility element carrying custom actions. Running one settles the row
|
|
23
|
+
home and fires that action's `onPress`; an unknown `actionName` is a no-op.
|
|
24
|
+
- **`accessible` is set only when the row has actions.** A container that isn't `accessible` reaches
|
|
25
|
+
neither the iOS trait nor Android's focus, so the custom actions would never surface. A row with
|
|
26
|
+
no actions gets no `accessible` prop at all — `accessible={false}` would *remove* a plain content
|
|
27
|
+
row from the tree.
|
|
28
|
+
- **Both trays stay out of the accessibility tree** (`accessibilityElementsHidden` +
|
|
29
|
+
`importantForAccessibility="no-hide-descendants"`). They are absolutely positioned *before* the
|
|
30
|
+
content, so while they were exposed VoiceOver read "Archive, button. Delete, button." ahead of
|
|
31
|
+
every row's content, on every row, swiped open or not. The custom actions above are the complete
|
|
32
|
+
AT path; the trays are the sighted-touch affordance for the same set.
|
|
33
|
+
- **Both of those props are native-only** — react-native-web implements neither (zero occurrences in
|
|
34
|
+
its dist) — so every action button also carries an explicit **`tabIndex={-1}`** (WCAG 2.4.3).
|
|
35
|
+
Without it RNW's `Pressable` defaults to `tabIndex={0}`: a 20-row list cost three Tab presses per
|
|
36
|
+
row, two landing on a button the content is painted over, where Enter fired a destructive action
|
|
37
|
+
the user never saw targeted. The button stays fully operable by press — only the tab stop is gone.
|
|
38
|
+
- **Focus ring** (WCAG 2.4.7): an action draws a `border.focus` ring on focus, drawn *inside* its own
|
|
39
|
+
bounds — `swipeableRowStructure` clips to `overflow: "hidden"`, so the gap-outside ring
|
|
40
|
+
`Button`/`CopyButton` use would be cut off. Reachable today from a hardware keyboard on Android
|
|
41
|
+
only; see the known gaps below.
|
|
42
|
+
|
|
43
|
+
### Tap affordance (WCAG 2.5.7 dragging movements, 2.5.1 pointer gestures)
|
|
44
|
+
|
|
45
|
+
`accessibilityActions` is a screen-reader-only API — it does not satisfy 2.5.7, which requires a
|
|
46
|
+
**single-pointer** alternative for a user who can see and tap but cannot perform a direction-dependent
|
|
47
|
+
drag. Whenever the row has any action, it renders an always-visible `more-horizontal` icon `Button`
|
|
48
|
+
(from `../button`), absolutely positioned at the trailing edge, on top of `children` — it never
|
|
49
|
+
reflows consumer content, since `children` is opaque to this component. There is **no opt-out prop**:
|
|
50
|
+
an opt-out would let a consumer silently reintroduce the exact conformance failure this fixes, for
|
|
51
|
+
every row that used it.
|
|
52
|
+
|
|
53
|
+
- **One action** → the button's `accessibilityLabel` is that action's own `label`, and pressing it
|
|
54
|
+
calls `runAction(id)` directly — the same function the drag and `accessibilityActions` both call.
|
|
55
|
+
- **More than one** → the button (`accessibilityLabel="More actions"`) is composed as a `Menu`
|
|
56
|
+
trigger (from `../menu`, its public export only — `Menu.tsx` was not touched), listing every action
|
|
57
|
+
left-tray-first, each wired to `runAction(id)`. `SwipeableActionTone` doesn't fit `MenuItemTone`'s
|
|
58
|
+
`"default" | "danger"` union, so only `"danger"` maps through; every other tone reads as `"default"`.
|
|
59
|
+
- **`variant="outline"`, not `"ghost"`** (unlike this same trigger shape in `BottomNav`): `children`'s
|
|
60
|
+
background is arbitrary and unpredictable, unlike a nav bar's controlled chrome, so the button needs
|
|
61
|
+
its own border to stay legible over whatever the consumer painted underneath. Known gap: a
|
|
62
|
+
photographic or otherwise busy background can still make it hard to see — no scrim token exists to
|
|
63
|
+
fix that without inventing one.
|
|
64
|
+
- **Hidden from the accessibility tree** (`accessibilityElementsHidden` +
|
|
65
|
+
`importantForAccessibility="no-hide-descendants"` on its wrapper) — deliberately, not an oversight.
|
|
66
|
+
`accessibilityActions` above already gives AT users the identical set via the rotor/TalkBack menu;
|
|
67
|
+
exposing this too would be a second, differently-shaped path to the same actions, not a needed one.
|
|
68
|
+
This does NOT hide the opened `Menu` sheet itself: RN's `<Modal>` presents on its own native
|
|
69
|
+
surface, so it is a React child of the hidden wrapper but not an accessibility-tree descendant of it.
|
|
70
|
+
- **`pointerEvents="box-none"` on the wrapper** so only the button's own small hit area intercepts
|
|
71
|
+
touch — the rest of the row's width stays available to the pan gesture underneath. This is the same
|
|
72
|
+
z-order trick the trays already use (plain `Pressable`s outside `GestureDetector`, resolved by
|
|
73
|
+
simple hit-testing, not gesture negotiation) — verified safe by that existing, working precedent.
|
|
74
|
+
- **Consumer-visible on every existing `SwipeableRow`** — this renders on top of `children` for any
|
|
75
|
+
row that already passes `leftActions`/`rightActions`, no code change required to receive it. A
|
|
76
|
+
consumer whose own content already places something at the trailing edge (a chevron, a timestamp)
|
|
77
|
+
may see it overlap; there is no automatic reflow to avoid that, since `children` is opaque here.
|
|
78
|
+
|
|
79
|
+
Known gaps:
|
|
80
|
+
|
|
81
|
+
- The trays are hidden unconditionally, not only while closed. There is no JS-side open state —
|
|
82
|
+
`translateX` lives on the UI thread — and adding one would cost a re-render per gesture to
|
|
83
|
+
duplicate an operable path the custom actions already provide.
|
|
84
|
+
- **On native there is no keyboard path to the actions at all.** `accessibilityActions` surfaces in
|
|
85
|
+
the VoiceOver rotor and the TalkBack menu, but an iPad Magic Keyboard or an Android hardware
|
|
86
|
+
keyboard reaches neither — the new tap affordance doesn't close this gap either, since it too is
|
|
87
|
+
hidden from AT (see above). A hardware-keyboard path would need to be a real tab stop instead.
|
|
88
|
+
- The ring's `border.focus` grey is the token proven ≥ 3:1 against the **canvas**; over a saturated
|
|
89
|
+
action fill (`status.danger.solid`) that ratio is unmeasured (WCAG 2.4.11).
|
|
90
|
+
|
|
91
|
+
## Performance
|
|
92
|
+
|
|
93
|
+
- Action buttons are an extracted `React.memo` component; the row passes one stable `onRun(id)`
|
|
94
|
+
callback instead of allocating a closure per action.
|
|
95
|
+
- Tone resolution, tray styles and label styles are memoized, so a parent re-render does not rebuild
|
|
96
|
+
them.
|
|
97
|
+
|
|
98
|
+
## Props
|
|
99
|
+
|
|
100
|
+
| Prop | Type | Default |
|
|
101
|
+
|------|------|---------|
|
|
102
|
+
| `children` | `ReactNode` | — |
|
|
103
|
+
| `leftActions` | `readonly SwipeableRowAction[]` | `[]` |
|
|
104
|
+
| `rightActions` | `readonly SwipeableRowAction[]` | `[]` |
|
|
105
|
+
| `style` | `LayoutStyle` | — |
|
|
106
|
+
| `testID` | `string` | — |
|
|
107
|
+
|
|
108
|
+
`testID` seeds `${testID}-action-${action.id}` per action button and `-focus-ring` under that, plus
|
|
109
|
+
`${testID}-more-affordance` (the tap-affordance wrapper), `${testID}-more` (its button) and
|
|
110
|
+
`${testID}-more-menu` (the composed `Menu`, when there is more than one action).
|
|
111
|
+
|
|
112
|
+
## Tests
|
|
113
|
+
|
|
114
|
+
- `SwipeableRow.test.ts` — action-tone contrast over all 9 brands × both modes.
|
|
115
|
+
- `SwipeableRow.render.test.tsx` — the accessibility-action contract, the hidden trays, and the tap
|
|
116
|
+
affordance: hidden-from-AT wrapper + `pointerEvents="box-none"`, the single-action direct-press
|
|
117
|
+
path, the multi-action `Menu` path (real rendered items, real dispatch to the pressed action's own
|
|
118
|
+
`onPress`), and the button's own rendered touch-target size.
|
|
119
|
+
- `SwipeableRow.motion.test.tsx` — both halves of the reduce-motion contract, with
|
|
120
|
+
`withSpring`/`withTiming` mocked (a shared value written as a plain number proves nothing tweened).
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* SwipeableRow — reveals action buttons on horizontal swipe. Built on gesture-handler +
|
|
5
|
+
* reanimated 4 shared values, so the row follows the finger on the UI thread.
|
|
6
|
+
*
|
|
7
|
+
* A swipe is invisible to assistive tech (WCAG 2.1.1), so the same actions are also declared as
|
|
8
|
+
* `accessibilityActions` on the row itself — the platform-native list-row model, where the row is
|
|
9
|
+
* one accessibility element carrying custom actions. The trays are the sighted-touch affordance for
|
|
10
|
+
* that same set, so they stay out of the accessibility tree: they sit behind the content and would
|
|
11
|
+
* otherwise announce every row's actions ahead of its content, swiped open or not.
|
|
12
|
+
*
|
|
13
|
+
* Those two props are native-only — react-native-web implements neither — so each action ALSO
|
|
14
|
+
* carries an explicit `tabIndex={-1}`: without it a 20-row list costs three Tab presses per row,
|
|
15
|
+
* two of them landing on a button the content is painted over.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
19
|
+
import { Pressable, Text, View } from "react-native";
|
|
20
|
+
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
21
|
+
import Animated, { cancelAnimation, useAnimatedStyle, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
22
|
+
import { Icon } from "../../core/icon/index.js";
|
|
23
|
+
import { useMotion } from "../../core/motion/index.js";
|
|
24
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
25
|
+
import { Button } from "../button/index.js";
|
|
26
|
+
import { Menu } from "../menu/index.js";
|
|
27
|
+
import { resolveSwipeableActionTone, SWIPE_ACTION_WIDTH, swipeableActionButtonStructure, swipeableActionFocusRingStructure, swipeableActionsStructure, swipeableMoreAffordanceStructure, swipeableRowStructure } from "./SwipeableRow.variants.js";
|
|
28
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
+
const ICON_STROKE = 2;
|
|
30
|
+
const ICON_SIZE = 18;
|
|
31
|
+
const NO_ACTIONS = [];
|
|
32
|
+
export const SwipeableRow = /*#__PURE__*/memo(function SwipeableRow({
|
|
33
|
+
children,
|
|
34
|
+
leftActions = NO_ACTIONS,
|
|
35
|
+
rightActions = NO_ACTIONS,
|
|
36
|
+
style,
|
|
37
|
+
testID
|
|
38
|
+
}) {
|
|
39
|
+
const theme = useTheme();
|
|
40
|
+
const motion = useMotion();
|
|
41
|
+
const translateX = useSharedValue(0);
|
|
42
|
+
const leftWidth = leftActions.length * SWIPE_ACTION_WIDTH;
|
|
43
|
+
const rightWidth = rightActions.length * SWIPE_ACTION_WIDTH;
|
|
44
|
+
const spring = motion.spring("snappy");
|
|
45
|
+
const settleMs = motion.duration("fast");
|
|
46
|
+
const animated = motion.enabled;
|
|
47
|
+
const settle = useCallback(to => {
|
|
48
|
+
"worklet";
|
|
49
|
+
|
|
50
|
+
if (!animated) {
|
|
51
|
+
translateX.value = to;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
translateX.value = spring ? withSpring(to, spring) : withTiming(to, {
|
|
55
|
+
duration: settleMs
|
|
56
|
+
});
|
|
57
|
+
}, [animated, spring, settleMs, translateX]);
|
|
58
|
+
const pan = useMemo(() => Gesture.Pan().onChange(e => {
|
|
59
|
+
"worklet";
|
|
60
|
+
|
|
61
|
+
const offset = e.translationX;
|
|
62
|
+
translateX.value = offset > leftWidth ? leftWidth : offset < -rightWidth ? -rightWidth : offset;
|
|
63
|
+
}).onFinalize(() => {
|
|
64
|
+
"worklet";
|
|
65
|
+
|
|
66
|
+
const openLeft = translateX.value > leftWidth / 2;
|
|
67
|
+
const openRight = translateX.value < -rightWidth / 2;
|
|
68
|
+
settle(openLeft ? leftWidth : openRight ? -rightWidth : 0);
|
|
69
|
+
}), [leftWidth, rightWidth, settle, translateX]);
|
|
70
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
71
|
+
transform: [{
|
|
72
|
+
translateX: translateX.value
|
|
73
|
+
}]
|
|
74
|
+
}));
|
|
75
|
+
useEffect(() => () => cancelAnimation(translateX), [translateX]);
|
|
76
|
+
const actionsById = useMemo(() => {
|
|
77
|
+
const map = new Map();
|
|
78
|
+
for (const action of leftActions) map.set(action.id, action);
|
|
79
|
+
for (const action of rightActions) map.set(action.id, action);
|
|
80
|
+
return map;
|
|
81
|
+
}, [leftActions, rightActions]);
|
|
82
|
+
const runAction = useCallback(id => {
|
|
83
|
+
settle(0);
|
|
84
|
+
actionsById.get(id)?.onPress();
|
|
85
|
+
}, [actionsById, settle]);
|
|
86
|
+
const accessibilityActions = useMemo(() => [...leftActions, ...rightActions].map(({
|
|
87
|
+
id,
|
|
88
|
+
label
|
|
89
|
+
}) => ({
|
|
90
|
+
name: id,
|
|
91
|
+
label
|
|
92
|
+
})), [leftActions, rightActions]);
|
|
93
|
+
const handleAccessibilityAction = useCallback(event => {
|
|
94
|
+
runAction(event.nativeEvent.actionName);
|
|
95
|
+
}, [runAction]);
|
|
96
|
+
const hasActions = accessibilityActions.length > 0;
|
|
97
|
+
const orderedActions = useMemo(() => [...leftActions, ...rightActions], [leftActions, rightActions]);
|
|
98
|
+
const runSoleAction = useCallback(() => {
|
|
99
|
+
const sole = orderedActions[0];
|
|
100
|
+
if (sole) runAction(sole.id);
|
|
101
|
+
}, [orderedActions, runAction]);
|
|
102
|
+
const menuItems = useMemo(() => orderedActions.map(action => ({
|
|
103
|
+
label: action.label,
|
|
104
|
+
icon: action.icon,
|
|
105
|
+
tone: action.tone === "danger" ? "danger" : "default",
|
|
106
|
+
onPress: () => runAction(action.id)
|
|
107
|
+
})), [orderedActions, runAction]);
|
|
108
|
+
const moreAffordanceStyle = useMemo(() => swipeableMoreAffordanceStructure(theme), [theme]);
|
|
109
|
+
const soleActionTestID = testID === undefined ? undefined : `${testID}-more`;
|
|
110
|
+
const soleActionButton = useMemo(() => orderedActions[0] ? /*#__PURE__*/_jsx(Button, {
|
|
111
|
+
testID: soleActionTestID,
|
|
112
|
+
icon: "more-horizontal",
|
|
113
|
+
variant: "outline",
|
|
114
|
+
tone: "neutral",
|
|
115
|
+
size: "sm",
|
|
116
|
+
accessibilityLabel: orderedActions[0].label,
|
|
117
|
+
onPress: runSoleAction
|
|
118
|
+
}) : null, [orderedActions, runSoleAction, soleActionTestID]);
|
|
119
|
+
|
|
120
|
+
// Memoized so Menu's own memo isn't defeated by a fresh trigger element every render.
|
|
121
|
+
const menuTrigger = useMemo(() => /*#__PURE__*/_jsx(Button, {
|
|
122
|
+
testID: soleActionTestID,
|
|
123
|
+
icon: "more-horizontal",
|
|
124
|
+
variant: "outline",
|
|
125
|
+
tone: "neutral",
|
|
126
|
+
size: "sm",
|
|
127
|
+
accessibilityLabel: "More actions"
|
|
128
|
+
}), [soleActionTestID]);
|
|
129
|
+
const contentStyle = useMemo(() => [{
|
|
130
|
+
backgroundColor: theme.colors.bg.surface
|
|
131
|
+
}, animatedStyle], [theme, animatedStyle]);
|
|
132
|
+
const leftTrayStyle = useMemo(() => [swipeableActionsStructure(theme), {
|
|
133
|
+
left: 0,
|
|
134
|
+
width: leftWidth
|
|
135
|
+
}], [theme, leftWidth]);
|
|
136
|
+
const rightTrayStyle = useMemo(() => [swipeableActionsStructure(theme), {
|
|
137
|
+
right: 0,
|
|
138
|
+
width: rightWidth
|
|
139
|
+
}], [theme, rightWidth]);
|
|
140
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
141
|
+
testID: testID
|
|
142
|
+
// A container that isn't `accessible` reaches neither the iOS trait nor Android's focus.
|
|
143
|
+
,
|
|
144
|
+
accessible: hasActions ? true : undefined,
|
|
145
|
+
accessibilityActions: hasActions ? accessibilityActions : undefined,
|
|
146
|
+
onAccessibilityAction: hasActions ? handleAccessibilityAction : undefined,
|
|
147
|
+
style: [swipeableRowStructure(theme), style],
|
|
148
|
+
children: [leftActions.length > 0 && /*#__PURE__*/_jsx(View, {
|
|
149
|
+
style: leftTrayStyle,
|
|
150
|
+
accessibilityElementsHidden: true,
|
|
151
|
+
importantForAccessibility: "no-hide-descendants",
|
|
152
|
+
children: leftActions.map(action => /*#__PURE__*/_jsx(SwipeableAction, {
|
|
153
|
+
action: action,
|
|
154
|
+
theme: theme,
|
|
155
|
+
onRun: runAction,
|
|
156
|
+
testID: testID === undefined ? undefined : `${testID}-action-${action.id}`
|
|
157
|
+
}, action.id))
|
|
158
|
+
}), rightActions.length > 0 && /*#__PURE__*/_jsx(View, {
|
|
159
|
+
style: rightTrayStyle,
|
|
160
|
+
accessibilityElementsHidden: true,
|
|
161
|
+
importantForAccessibility: "no-hide-descendants",
|
|
162
|
+
children: rightActions.map(action => /*#__PURE__*/_jsx(SwipeableAction, {
|
|
163
|
+
action: action,
|
|
164
|
+
theme: theme,
|
|
165
|
+
onRun: runAction,
|
|
166
|
+
testID: testID === undefined ? undefined : `${testID}-action-${action.id}`
|
|
167
|
+
}, action.id))
|
|
168
|
+
}), /*#__PURE__*/_jsx(GestureDetector, {
|
|
169
|
+
gesture: pan,
|
|
170
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
171
|
+
style: contentStyle,
|
|
172
|
+
children: children
|
|
173
|
+
})
|
|
174
|
+
}), hasActions &&
|
|
175
|
+
/*#__PURE__*/
|
|
176
|
+
// The single-pointer alternative to the swipe (WCAG 2.5.7) — always visible whenever
|
|
177
|
+
// actions exist, never gated behind an opt-out. Hidden from the accessibility tree: the
|
|
178
|
+
// row's `accessibilityActions` above already give AT users the identical set via the
|
|
179
|
+
// rotor/menu, so exposing this too would be a second, differently-shaped path to the same
|
|
180
|
+
// actions rather than a needed one. See MODULE.md "Tap affordance" for the full reasoning.
|
|
181
|
+
_jsx(View, {
|
|
182
|
+
testID: testID === undefined ? undefined : `${testID}-more-affordance`,
|
|
183
|
+
pointerEvents: "box-none",
|
|
184
|
+
accessibilityElementsHidden: true,
|
|
185
|
+
importantForAccessibility: "no-hide-descendants",
|
|
186
|
+
style: moreAffordanceStyle,
|
|
187
|
+
children: orderedActions.length === 1 ? soleActionButton : /*#__PURE__*/_jsx(Menu, {
|
|
188
|
+
testID: testID === undefined ? undefined : `${testID}-more-menu`,
|
|
189
|
+
items: menuItems,
|
|
190
|
+
trigger: menuTrigger
|
|
191
|
+
})
|
|
192
|
+
})]
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
const SwipeableAction = /*#__PURE__*/memo(function SwipeableAction({
|
|
196
|
+
action,
|
|
197
|
+
theme,
|
|
198
|
+
onRun,
|
|
199
|
+
testID
|
|
200
|
+
}) {
|
|
201
|
+
const colors = useMemo(() => resolveSwipeableActionTone(theme.colors, action.tone ?? "accent"), [theme, action.tone]);
|
|
202
|
+
const [focused, setFocused] = useState(false);
|
|
203
|
+
const handlePress = useCallback(() => onRun(action.id), [onRun, action.id]);
|
|
204
|
+
const handleFocus = useCallback(() => setFocused(true), []);
|
|
205
|
+
const handleBlur = useCallback(() => setFocused(false), []);
|
|
206
|
+
const buttonStyle = useMemo(() => [swipeableActionButtonStructure(theme), {
|
|
207
|
+
backgroundColor: colors.fill
|
|
208
|
+
}], [theme, colors.fill]);
|
|
209
|
+
const labelStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.semibold), {
|
|
210
|
+
fontSize: theme.fontSizes.xs,
|
|
211
|
+
color: colors.text
|
|
212
|
+
}], [theme, colors.text]);
|
|
213
|
+
const focusRingStyle = useMemo(() => [swipeableActionFocusRingStructure(theme), {
|
|
214
|
+
borderColor: theme.colors.border.focus
|
|
215
|
+
}], [theme]);
|
|
216
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
217
|
+
testID: testID,
|
|
218
|
+
accessibilityRole: "button",
|
|
219
|
+
accessibilityLabel: action.label
|
|
220
|
+
// `accessibilityElementsHidden`/`importantForAccessibility` on the tray are no-ops in
|
|
221
|
+
// react-native-web (zero occurrences in its dist), so the tray's buttons would otherwise be
|
|
222
|
+
// invisible tab stops painted over by the row's own content.
|
|
223
|
+
,
|
|
224
|
+
tabIndex: -1,
|
|
225
|
+
onPress: handlePress,
|
|
226
|
+
onFocus: handleFocus,
|
|
227
|
+
onBlur: handleBlur,
|
|
228
|
+
style: buttonStyle,
|
|
229
|
+
children: [focused && /*#__PURE__*/_jsx(View, {
|
|
230
|
+
pointerEvents: "none",
|
|
231
|
+
testID: testID === undefined ? undefined : `${testID}-focus-ring`,
|
|
232
|
+
style: focusRingStyle
|
|
233
|
+
}), action.icon ? /*#__PURE__*/_jsx(Icon, {
|
|
234
|
+
name: action.icon,
|
|
235
|
+
size: ICON_SIZE,
|
|
236
|
+
color: colors.text,
|
|
237
|
+
strokeWidth: ICON_STROKE
|
|
238
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
239
|
+
style: labelStyle,
|
|
240
|
+
children: action.label
|
|
241
|
+
})]
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
//# sourceMappingURL=SwipeableRow.js.map
|