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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# image-viewer/
|
|
2
|
+
|
|
3
|
+
Modal image gallery with paging and thumbnails. Heavy module — subpath only.
|
|
4
|
+
|
|
5
|
+
## Accessibility
|
|
6
|
+
|
|
7
|
+
- **2.1.1 keyboard (web only)** — INHERITED whole from `Modal` (Escape, the Tab trap, focus restore
|
|
8
|
+
on the `ModalPortalProvider` branch). Sharpest case in the library: the viewer's only dismiss
|
|
9
|
+
affordance is the backdrop, so on that branch a keyboard user previously had no way to close it at
|
|
10
|
+
all. No keyboard code lives here — `__tests__/ImageViewer.keyboard.web.test.tsx` asserts the
|
|
11
|
+
inheritance.
|
|
12
|
+
|
|
13
|
+
## Motion contract
|
|
14
|
+
|
|
15
|
+
- Open/close runs through `useEnterExit()` from `core/motion`: `opacity` + `translateY` on the
|
|
16
|
+
native driver. The **unmount is timer-driven**, never gated on the animation reporting `finished`,
|
|
17
|
+
so an interrupted close can never leave the viewer mounted. The RN modal stays mounted until that
|
|
18
|
+
timer fires, which is what makes the close transition visible.
|
|
19
|
+
- Pager: a thumbnail press scrolls the pager to that page with `scrollToIndex({ animated })`, where
|
|
20
|
+
`animated` is `motion.enabled` — so reduce motion jumps straight to the page.
|
|
21
|
+
- No per-cell animation on pages or thumbnails.
|
|
22
|
+
|
|
23
|
+
## Performance
|
|
24
|
+
|
|
25
|
+
- Both the pager and the thumbnail strip are virtualized horizontal `FlatList`s with `getItemLayout`
|
|
26
|
+
(fixed page width / thumb stride). The thumbnail strip used to be an eager `.map()` that mounted
|
|
27
|
+
every `Image` at once. `core/list`'s `VirtualList` is not used here — it exposes no `horizontal`
|
|
28
|
+
or `pagingEnabled`.
|
|
29
|
+
- `id -> index` lookups are memoized maps, replacing an `O(n)` `findIndex` that ran inside a per-item
|
|
30
|
+
closure on every render.
|
|
31
|
+
- Pages and thumbs are extracted `React.memo` components; the thumb takes a stable `onPress(id)`
|
|
32
|
+
callback rather than a closure per item.
|
|
33
|
+
- **Every image goes through `core/media`'s `MediaImage`.** Pages and thumbs used to be RN `Image`s
|
|
34
|
+
sharing one URI, so a 56dp thumbnail decoded the full 12MP original — ~48MB of bitmap per photo
|
|
35
|
+
against a ~100–200MB per-process budget on a weak Android. `expo-image` downsamples to the target
|
|
36
|
+
box natively, off the JS thread, and caches `memory-disk`; `recyclingKey` blanks a recycled cell.
|
|
37
|
+
`MediaImage` falls back to RN `Image` + the matching `resizeMode` when the app never injected
|
|
38
|
+
`expo-image` (an optional peer), so the viewer renders either way.
|
|
39
|
+
- **`thumbUri` is the real fix when the consumer has renditions** — the strip prefers it and falls
|
|
40
|
+
back to `uri`.
|
|
41
|
+
- Screen size comes from `useWindowDimensions()`, not a module-scope `Dimensions.get("window")`:
|
|
42
|
+
the old value froze at import and never followed rotation, split-screen or a foldable unfold.
|
|
43
|
+
|
|
44
|
+
## Props
|
|
45
|
+
|
|
46
|
+
| Prop | Type | Default |
|
|
47
|
+
|------|------|---------|
|
|
48
|
+
| `visible` | `boolean` | — |
|
|
49
|
+
| `onRequestClose` | `() => void` | — |
|
|
50
|
+
| `items` | `readonly ImageViewerItem[]` | — |
|
|
51
|
+
| `initialIndex` | `number` | `0` |
|
|
52
|
+
| `onShare` | `(item: ImageViewerItem) => void` | — |
|
|
53
|
+
| `style` | `LayoutStyle` | — |
|
|
54
|
+
| `testID` | `string` | — |
|
|
55
|
+
|
|
56
|
+
`ImageViewerItem`: `id`, `uri`, `label?`, and `thumbUri?` — a smaller rendition for the thumbnail
|
|
57
|
+
strip. `testID` seeds `${testID}-body`, `${testID}-page-<id>` and `${testID}-thumb-<id>`.
|
|
@@ -5,12 +5,17 @@
|
|
|
5
5
|
* comes from `createThemedVariants`, and the focus indicator is the same offset-ring pattern as
|
|
6
6
|
* Button: a `border.focus` ring drawn a small gap OUTSIDE the field, on the canvas, because that is
|
|
7
7
|
* the role token proven ≥ 3:1 against the canvas (over the field's own border it isn't guaranteed).
|
|
8
|
+
*
|
|
9
|
+
* Motion comes from `core/motion` — the ring crossfades on focus/blur and the helper/error message
|
|
10
|
+
* fades in and out. Both honour reduce-motion through `useMotion()`.
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
|
-
import { memo,
|
|
11
|
-
import { Platform, StyleSheet, Text, TextInput, View } from "react-native";
|
|
13
|
+
import { memo, useCallback, useEffect, useId, useMemo, useRef } from "react";
|
|
14
|
+
import { Animated, Platform, StyleSheet, Text, TextInput, View } from "react-native";
|
|
15
|
+
import { useAnnounce } from "../../core/a11y/index.js";
|
|
12
16
|
import { Icon } from "../../core/icon/index.js";
|
|
13
|
-
import {
|
|
17
|
+
import { useAnimatedValue, useEnterExit, useMotion } from "../../core/motion/index.js";
|
|
18
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
14
19
|
import { INPUT_SIZES, inputStructure, resolveInputAccessibility, resolveInputStatus } from "./Input.variants.js";
|
|
15
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
21
|
const FOCUS_RING_WIDTH = 2;
|
|
@@ -31,20 +36,83 @@ export const Input = /*#__PURE__*/memo(function Input(props) {
|
|
|
31
36
|
secureTextEntry,
|
|
32
37
|
accessibilityLabel,
|
|
33
38
|
containerStyle,
|
|
34
|
-
testID
|
|
39
|
+
testID,
|
|
40
|
+
autoComplete
|
|
35
41
|
} = props;
|
|
36
42
|
const theme = useTheme();
|
|
37
|
-
const
|
|
43
|
+
const motion = useMotion();
|
|
38
44
|
const spec = INPUT_SIZES[size];
|
|
39
45
|
const statusColors = resolveInputStatus(theme.colors, status);
|
|
40
46
|
const a11y = resolveInputAccessibility({
|
|
41
47
|
label,
|
|
42
48
|
accessibilityLabel,
|
|
43
|
-
disabled
|
|
49
|
+
disabled,
|
|
50
|
+
status,
|
|
51
|
+
helperText,
|
|
52
|
+
errorText
|
|
44
53
|
});
|
|
45
54
|
|
|
46
|
-
//
|
|
47
|
-
const message =
|
|
55
|
+
// The field shows one message at a time — the resolver owns that rule (error wins over helper).
|
|
56
|
+
const message = a11y.message;
|
|
57
|
+
// Links the rendered helper line to the field on web, where `accessibilityHint` does not exist.
|
|
58
|
+
// Only ever the ADVISORY line: an error is already inside the accessible name.
|
|
59
|
+
const hintId = useId();
|
|
60
|
+
useAnnounce(status === "error" ? message : undefined);
|
|
61
|
+
const messageMotion = useEnterExit(message !== undefined);
|
|
62
|
+
// Holds the text on screen while the exit tween runs.
|
|
63
|
+
const lastMessage = useRef(message);
|
|
64
|
+
if (message !== undefined) lastMessage.current = message;
|
|
65
|
+
const ringOpacity = useAnimatedValue(0);
|
|
66
|
+
const ringAnimation = useRef(null);
|
|
67
|
+
const setRingVisible = useCallback(visible => {
|
|
68
|
+
ringAnimation.current?.stop();
|
|
69
|
+
const to = visible ? 1 : 0;
|
|
70
|
+
if (!motion.enabled) {
|
|
71
|
+
ringOpacity.setValue(to);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
ringAnimation.current = motion.timing(ringOpacity, to, {
|
|
75
|
+
duration: "fast"
|
|
76
|
+
});
|
|
77
|
+
ringAnimation.current.start();
|
|
78
|
+
}, [motion, ringOpacity]);
|
|
79
|
+
useEffect(() => () => ringAnimation.current?.stop(), []);
|
|
80
|
+
const handleFocus = useCallback(() => {
|
|
81
|
+
if (!disabled) setRingVisible(true);
|
|
82
|
+
}, [disabled, setRingVisible]);
|
|
83
|
+
const handleBlur = useCallback(() => setRingVisible(false), [setRingVisible]);
|
|
84
|
+
const labelStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.medium), {
|
|
85
|
+
fontSize: theme.fontSizes.sm,
|
|
86
|
+
color: theme.colors.fg.default,
|
|
87
|
+
marginBottom: theme.space[1]
|
|
88
|
+
}], [theme]);
|
|
89
|
+
const fieldStyle = useMemo(() => [inputStructure(theme, {
|
|
90
|
+
size
|
|
91
|
+
}), {
|
|
92
|
+
borderColor: statusColors.border
|
|
93
|
+
}, disabled && styles.dimmed], [theme, size, statusColors.border, disabled]);
|
|
94
|
+
const focusRingStyle = useMemo(() => ({
|
|
95
|
+
position: "absolute",
|
|
96
|
+
top: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
97
|
+
left: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
98
|
+
right: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
99
|
+
bottom: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
100
|
+
borderWidth: FOCUS_RING_WIDTH,
|
|
101
|
+
borderColor: theme.colors.border.focus,
|
|
102
|
+
borderRadius: theme.radii.base + FOCUS_RING_GAP + FOCUS_RING_WIDTH
|
|
103
|
+
}), [theme]);
|
|
104
|
+
const inputTextStyle = useMemo(() => [{
|
|
105
|
+
flex: 1,
|
|
106
|
+
alignSelf: "stretch",
|
|
107
|
+
fontSize: spec.fontSize,
|
|
108
|
+
color: theme.colors.fg.default,
|
|
109
|
+
padding: 0
|
|
110
|
+
}, theme.fontStyleForWeight(theme.fontWeights.regular), Platform.OS === "web" && styles.webOutlineReset], [theme, spec.fontSize]);
|
|
111
|
+
const messageStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
112
|
+
fontSize: theme.fontSizes.xs,
|
|
113
|
+
color: statusColors.message,
|
|
114
|
+
marginTop: theme.space[1]
|
|
115
|
+
}], [theme, statusColors.message]);
|
|
48
116
|
const glyph = name => /*#__PURE__*/_jsx(Icon, {
|
|
49
117
|
name: name,
|
|
50
118
|
size: spec.iconSize,
|
|
@@ -60,31 +128,16 @@ export const Input = /*#__PURE__*/memo(function Input(props) {
|
|
|
60
128
|
_jsx(Text, {
|
|
61
129
|
accessibilityElementsHidden: true,
|
|
62
130
|
importantForAccessibility: "no-hide-descendants",
|
|
63
|
-
style:
|
|
64
|
-
fontSize: theme.fontSizes.sm,
|
|
65
|
-
color: theme.colors.fg.default,
|
|
66
|
-
marginBottom: theme.space[1]
|
|
67
|
-
}],
|
|
131
|
+
style: labelStyle,
|
|
68
132
|
children: label
|
|
69
133
|
}), /*#__PURE__*/_jsxs(View, {
|
|
70
|
-
style:
|
|
71
|
-
|
|
72
|
-
}), {
|
|
73
|
-
borderColor: statusColors.border
|
|
74
|
-
}, disabled && styles.dimmed],
|
|
75
|
-
children: [focused && !disabled && /*#__PURE__*/_jsx(View, {
|
|
134
|
+
style: fieldStyle,
|
|
135
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
76
136
|
pointerEvents: "none",
|
|
77
137
|
testID: "input-focus-ring",
|
|
78
|
-
style: {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
left: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
82
|
-
right: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
83
|
-
bottom: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
|
|
84
|
-
borderWidth: FOCUS_RING_WIDTH,
|
|
85
|
-
borderColor: theme.colors.border.focus,
|
|
86
|
-
borderRadius: theme.radii.base + FOCUS_RING_GAP + FOCUS_RING_WIDTH
|
|
87
|
-
}
|
|
138
|
+
style: [focusRingStyle, {
|
|
139
|
+
opacity: ringOpacity
|
|
140
|
+
}]
|
|
88
141
|
}), leadingIcon && glyph(leadingIcon), /*#__PURE__*/_jsx(TextInput, {
|
|
89
142
|
testID: testID,
|
|
90
143
|
value: value,
|
|
@@ -92,28 +145,31 @@ export const Input = /*#__PURE__*/memo(function Input(props) {
|
|
|
92
145
|
placeholder: placeholder,
|
|
93
146
|
placeholderTextColor: theme.colors.fg.muted,
|
|
94
147
|
secureTextEntry: secureTextEntry,
|
|
148
|
+
autoComplete: autoComplete,
|
|
149
|
+
importantForAutofill: autoComplete === "off" ? "no" : undefined,
|
|
95
150
|
editable: a11y.editable,
|
|
96
151
|
accessibilityLabel: a11y.accessibilityLabel,
|
|
97
|
-
|
|
152
|
+
accessibilityHint: a11y.accessibilityHint,
|
|
153
|
+
"aria-describedby": a11y.accessibilityHint === undefined ? undefined : hintId,
|
|
154
|
+
"aria-invalid": a11y["aria-invalid"],
|
|
155
|
+
"aria-disabled": a11y["aria-disabled"],
|
|
98
156
|
hitSlop: spec.hitSlop,
|
|
99
|
-
onFocus:
|
|
100
|
-
onBlur:
|
|
101
|
-
style:
|
|
102
|
-
flex: 1,
|
|
103
|
-
alignSelf: "stretch",
|
|
104
|
-
fontSize: spec.fontSize,
|
|
105
|
-
color: theme.colors.fg.default,
|
|
106
|
-
padding: 0
|
|
107
|
-
}, theme.fontStyleForWeight(theme.fontWeights.regular), Platform.OS === "web" && styles.webOutlineReset]
|
|
157
|
+
onFocus: handleFocus,
|
|
158
|
+
onBlur: handleBlur,
|
|
159
|
+
style: inputTextStyle
|
|
108
160
|
}), trailingIcon && glyph(trailingIcon)]
|
|
109
|
-
}),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
161
|
+
}), messageMotion.mounted && lastMessage.current !== undefined &&
|
|
162
|
+
/*#__PURE__*/
|
|
163
|
+
// No `accessibilityLiveRegion` (deliberate): it's Android-only, and `useAnnounce` above
|
|
164
|
+
// already announces on both platforms — keeping both would double-announce on Android.
|
|
165
|
+
// Hidden only once the message is gone: `lastMessage` outlives it for the exit tween, and a
|
|
166
|
+
// stale error must not sit in the a11y tree while it fades.
|
|
167
|
+
_jsx(Animated.Text, {
|
|
168
|
+
nativeID: hintId,
|
|
169
|
+
accessibilityElementsHidden: message === undefined,
|
|
170
|
+
importantForAccessibility: message === undefined ? "no-hide-descendants" : undefined,
|
|
171
|
+
style: [messageStyle, messageMotion.style],
|
|
172
|
+
children: lastMessage.current
|
|
117
173
|
})]
|
|
118
174
|
});
|
|
119
175
|
});
|
|
@@ -126,7 +182,9 @@ const styles = StyleSheet.create({
|
|
|
126
182
|
// outline on top of the themed ring above it — a visible double border. Web-only: `outlineWidth`
|
|
127
183
|
// also drives native TV remote-control focus, so zeroing it globally would break that.
|
|
128
184
|
webOutlineReset: {
|
|
129
|
-
|
|
185
|
+
outlineStyle: "solid",
|
|
186
|
+
outlineWidth: 0,
|
|
187
|
+
borderWidth: 0
|
|
130
188
|
}
|
|
131
189
|
});
|
|
132
190
|
//# sourceMappingURL=Input.js.map
|
|
@@ -74,14 +74,28 @@ export function resolveInputStatus(colors, status) {
|
|
|
74
74
|
* renderer. RN's `TextInput` has no `htmlFor`-equivalent link to a sibling label `Text`, so the
|
|
75
75
|
* label's content must be copied onto `accessibilityLabel` directly (an explicit
|
|
76
76
|
* `accessibilityLabel` always wins).
|
|
77
|
+
*
|
|
78
|
+
* The validity message rides the NAME, not the hint — the rule `resolveFormFieldAccessibility`
|
|
79
|
+
* already states and this resolver used to contradict: a hint is advisory and some readers suppress
|
|
80
|
+
* it, which a WCAG 3.3.1 message must never be. `helperText` is genuinely advisory, so it stays on
|
|
81
|
+
* the hint (native) and is linked by `aria-describedby` to the rendered message node (web, where
|
|
82
|
+
* `accessibilityHint` does not exist at all). The two never overlap: in the error state the message
|
|
83
|
+
* is in the name and `aria-invalid` is set, so nothing is announced twice.
|
|
84
|
+
*
|
|
85
|
+
* `message` is returned separately from `accessibilityHint` because the two diverged when the error
|
|
86
|
+
* moved into the name — the component still renders one visible line, error winning over helper.
|
|
77
87
|
*/
|
|
78
88
|
export function resolveInputAccessibility(input) {
|
|
79
89
|
const disabled = input.disabled === true;
|
|
90
|
+
const isError = (input.status ?? "default") === "error";
|
|
91
|
+
const errorInName = isError && input.errorText ? input.errorText : undefined;
|
|
92
|
+
const name = [input.accessibilityLabel ?? input.label, errorInName].filter(part => part !== undefined && part !== "");
|
|
80
93
|
return {
|
|
81
|
-
accessibilityLabel:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
94
|
+
accessibilityLabel: name.length > 0 ? name.join(", ") : undefined,
|
|
95
|
+
accessibilityHint: errorInName === undefined ? input.helperText : undefined,
|
|
96
|
+
"aria-invalid": isError,
|
|
97
|
+
"aria-disabled": disabled,
|
|
98
|
+
message: errorInName ?? input.helperText,
|
|
85
99
|
editable: !disabled
|
|
86
100
|
};
|
|
87
101
|
}
|
|
@@ -10,8 +10,9 @@ pure/testable resolvers, closed unions, no `{...rest}`.
|
|
|
10
10
|
| `Input.tsx` | The component. Composition, a11y wiring, focus ring, disabled dimming. |
|
|
11
11
|
| `Input.variants.ts` | Pure resolvers (`INPUT_SIZES`, `resolveInputStatus`, `resolveInputAccessibility`) + the themed structural variant resolver `inputStructure`. No React, no lucide. |
|
|
12
12
|
| `index.ts` | Public surface: `Input`, `InputProps`, the closed unions, `IconName` (re-exported from `core/icon`). |
|
|
13
|
-
| `__tests__/Input.test.ts` | Pure: WCAG contrast (all brands × modes) + touch target + a11y contract. |
|
|
14
|
-
| `__tests__/Input.render.test.tsx` | Render: value/placeholder, editing, disabled, helper/error swap, focus
|
|
13
|
+
| `__tests__/Input.test.ts` | Pure: WCAG contrast (all brands × modes) + touch target + label/hint a11y contract. |
|
|
14
|
+
| `__tests__/Input.render.test.tsx` | Render: value/placeholder, editing, disabled, helper/error swap + announcement, focus-ring crossfade. |
|
|
15
|
+
| `__tests__/Input.motion.test.tsx` | Reduce-motion: the snap branch (ring and message reach their final state with no tween). |
|
|
15
16
|
|
|
16
17
|
## Props
|
|
17
18
|
|
|
@@ -25,12 +26,13 @@ pure/testable resolvers, closed unions, no `{...rest}`.
|
|
|
25
26
|
| `disabled` | `boolean` | `false` | Dimmed; blocks editing. |
|
|
26
27
|
| `label` | `string` | — | Rendered above the field; falls back into `accessibilityLabel`. |
|
|
27
28
|
| `helperText` | `string` | — | Shown below the field when `status` is `default`. |
|
|
28
|
-
| `errorText` | `string` | — | Shown below the field (replacing `helperText`)
|
|
29
|
+
| `errorText` | `string` | — | Shown below the field (replacing `helperText`) and announced, when `status` is `error`. Joins the field's accessible NAME and sets `aria-invalid` — **not** `accessibilityHint` (see below; this used to contradict `FormField`'s own stated rule, fixed to match it). |
|
|
29
30
|
| `leadingIcon` / `trailingIcon` | `IconName` | — | A NAME, never a `ReactNode`. Decorative (no built-in clear/press behaviour in v1). |
|
|
30
31
|
| `secureTextEntry` | `boolean` | `false` | No visibility-toggle button in v1 — needs an icon outside the current catalogue. |
|
|
31
32
|
| `accessibilityLabel` | `string` | `label` | Overrides the label fallback. |
|
|
32
33
|
| `containerStyle` | `LayoutStyle` | — | The documented exception for a native-primitive wrapper. Outermost, last, once. Never `inputStyle`. |
|
|
33
34
|
| `testID` | `string` | — | Forwarded to the underlying `TextInput`. |
|
|
35
|
+
| `autoComplete` | `TextInputProps["autoComplete"]` | — | Pass `"off"` on fields that aren't a real form (e.g. a search box) to suppress the OS autofill/keyboard-suggestion strip. Also drives `importantForAutofill="no"` on Android when `"off"` — that strip otherwise eats vertical space above the keyboard. |
|
|
34
36
|
|
|
35
37
|
## Accessibility contract (WCAG)
|
|
36
38
|
|
|
@@ -51,7 +53,12 @@ pure/testable resolvers, closed unions, no `{...rest}`.
|
|
|
51
53
|
3:1 everywhere (≥ 3.37:1 light, ≥ 5.05:1 dark) — see the comment on `resolveInputStatus`.
|
|
52
54
|
- **2.4.7 / 2.4.11** — a visible focus ring (`border.focus`) appears on `TextInput` focus/blur, offset
|
|
53
55
|
a small gap OUTSIDE the field, same pattern as Button's ring (its guaranteed ≥ 3:1 is against the
|
|
54
|
-
canvas, not the field's own border).
|
|
56
|
+
canvas, not the field's own border). The ring is **always mounted at opacity 0**, so asserting it
|
|
57
|
+
is "in the tree" proves nothing — `Input.render.test.tsx` reads its OPACITY across the real fade
|
|
58
|
+
(focus → 1, blur → 0, plus a mid-fade assertion), and `Input.motion.test.tsx` covers the snap
|
|
59
|
+
branch. That render test mocks `shouldUseNativeDriver` to `false`: the ring runs on the native
|
|
60
|
+
driver, whose JS-side value never advances under Jest (the native animation module is a stub), so
|
|
61
|
+
the JS driver is the only way to observe the same tween. Nothing about the component changes.
|
|
55
62
|
- **Web** — RNW renders `TextInput` as a real `<input>`, so `styles.webOutlineReset` (`outlineWidth: 0`,
|
|
56
63
|
applied only when `Platform.OS === "web"`) suppresses the browser's own default focus outline, which
|
|
57
64
|
would otherwise double up visibly with the themed ring above. The themed ring remains the sole
|
|
@@ -61,8 +68,25 @@ pure/testable resolvers, closed unions, no `{...rest}`.
|
|
|
61
68
|
`TextInput` has no `htmlFor`-equivalent link to a sibling label, so its content is copied onto the
|
|
62
69
|
field's own `accessibilityLabel` instead — keeping the label visible without a screen reader
|
|
63
70
|
announcing "Email" twice (once for the label, once for the field).
|
|
64
|
-
-
|
|
65
|
-
|
|
71
|
+
- **3.3.1 / 1.3.1 / 4.1.2 (describing the field) — CORRECTED.** This used to put `errorText` on
|
|
72
|
+
`accessibilityHint`, directly contradicting the rule `FormField.variants.ts` states explicitly: "a
|
|
73
|
+
hint is advisory and some readers suppress it, which a validity message must never be." `Input` was
|
|
74
|
+
the inconsistent one; fixed to match `FormField`. Now: `errorText` (error state) joins the
|
|
75
|
+
`TextInput`'s accessible NAME and sets `aria-invalid`; `helperText` (default state, genuinely
|
|
76
|
+
advisory) stays on `accessibilityHint` for native. On web, `accessibilityHint` reaches nothing at
|
|
77
|
+
all (zero occurrences in `react-native-web`'s dist) — RNW forwards both `nativeID` and
|
|
78
|
+
`aria-describedby`, so the field also carries `aria-describedby` pointing at the real rendered
|
|
79
|
+
message `Text`'s `nativeID`, proven on the real DOM by `__tests__/Input.dom.test.tsx`. The error
|
|
80
|
+
is never double-described: `aria-describedby` is omitted whenever the message is the error, since
|
|
81
|
+
that string is already in the name.
|
|
82
|
+
- **4.1.3 (status messages)** — an appearing error is announced via `useAnnounce` (`core/a11y`),
|
|
83
|
+
i.e. `AccessibilityInfo.announceForAccessibility`, so it reaches VoiceOver **and** TalkBack. The
|
|
84
|
+
message `Text` deliberately carries **no** `accessibilityLiveRegion`: that prop is Android-only, so
|
|
85
|
+
it left iOS silent, and keeping it alongside the announcement would announce twice on Android. A
|
|
86
|
+
helper message is not announced — only an error interrupts.
|
|
87
|
+
- The message `Text` stays mounted through its exit tween, so while it is leaving it carries
|
|
88
|
+
`accessibilityElementsHidden` / `importantForAccessibility="no-hide-descendants"` — a message the
|
|
89
|
+
field no longer has must not linger in the accessibility tree.
|
|
66
90
|
- A disabled field is exempt from the contrast minimum (WCAG 1.4.3) and dims via `opacity: 0.5`,
|
|
67
91
|
same as Button's disabled state — not a separate, unverified colour token.
|
|
68
92
|
|
|
@@ -95,3 +119,9 @@ identity — so it is never called `tone`.
|
|
|
95
119
|
## Performance
|
|
96
120
|
|
|
97
121
|
Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). Its one library child, `Icon`, only ever receives primitives — nothing to memoize; `TextInput`/`View` are host elements, outside this pass's scope.
|
|
122
|
+
|
|
123
|
+
## Modernization (v1.0.7)
|
|
124
|
+
|
|
125
|
+
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
126
|
+
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
127
|
+
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* LimitReachedModal — a plan-limit dialog, DELIBERATELY composed from this library's own,
|
|
5
|
+
* already-shipped `Modal` and `Button` rather than reimplementing a backdrop/panel/action row from
|
|
6
|
+
* scratch (same reasoning `AlertDialog` documents for its own composition). This module's own job
|
|
7
|
+
* is: the six-`kind` copy (admin vs "contact your administrator"), the optional usage line, and
|
|
8
|
+
* which action(s) appear — an always-present dismiss action plus an upgrade CTA gated on
|
|
9
|
+
* `canManageBilling`.
|
|
10
|
+
*
|
|
11
|
+
* Web's counterpart (`Micro-Components/src/Components/LimitReachedModal`) renders a brand-gradient
|
|
12
|
+
* header with a per-`kind` icon (mostly `Crown`, `Users` for the `user` kind). Neither ports: this
|
|
13
|
+
* library has no `LinearGradient` anywhere and the API contract bans a raw `color?: string`/gradient
|
|
14
|
+
* prop, and `crown` isn't a registered glyph. A single `triangle-alert` icon on the theme's
|
|
15
|
+
* `status.warning` role reads correctly for every kind and every brand instead — the same icon
|
|
16
|
+
* `Banner` already resolves for its own `warning` tone.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import { memo } from "react";
|
|
20
|
+
import { Text, View } from "react-native";
|
|
21
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
22
|
+
import { Icon } from "../../core/icon/index.js";
|
|
23
|
+
import { Button } from "../button/index.js";
|
|
24
|
+
import { Modal } from "../modal/index.js";
|
|
25
|
+
import { LIMIT_REACHED_MODAL_ICON_SIZE, formatLimitUsage, limitReachedModalActionsStructure, limitReachedModalIconBadgeStructure, resolveLimitReachedCopy, resolveLimitReachedModalColors } from "./LimitReachedModal.variants.js";
|
|
26
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
27
|
+
const ICON_STROKE = 2;
|
|
28
|
+
export const LimitReachedModal = /*#__PURE__*/memo(function LimitReachedModal({
|
|
29
|
+
visible,
|
|
30
|
+
onRequestClose,
|
|
31
|
+
kind,
|
|
32
|
+
limit = null,
|
|
33
|
+
used = null,
|
|
34
|
+
canManageBilling,
|
|
35
|
+
onUpgrade,
|
|
36
|
+
title,
|
|
37
|
+
message,
|
|
38
|
+
testID
|
|
39
|
+
}) {
|
|
40
|
+
const theme = useTheme();
|
|
41
|
+
const colors = resolveLimitReachedModalColors(theme.colors);
|
|
42
|
+
const copy = resolveLimitReachedCopy(kind, canManageBilling);
|
|
43
|
+
const usage = formatLimitUsage(kind, used, limit);
|
|
44
|
+
return /*#__PURE__*/_jsxs(Modal, {
|
|
45
|
+
visible: visible,
|
|
46
|
+
onRequestClose: onRequestClose,
|
|
47
|
+
title: title ?? copy.title,
|
|
48
|
+
testID: testID,
|
|
49
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
50
|
+
style: [limitReachedModalIconBadgeStructure(theme), {
|
|
51
|
+
backgroundColor: colors.iconBadge
|
|
52
|
+
}],
|
|
53
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
54
|
+
name: "triangle-alert",
|
|
55
|
+
size: LIMIT_REACHED_MODAL_ICON_SIZE,
|
|
56
|
+
color: colors.icon,
|
|
57
|
+
strokeWidth: ICON_STROKE
|
|
58
|
+
})
|
|
59
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
60
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
61
|
+
fontSize: theme.fontSizes.md,
|
|
62
|
+
color: colors.message,
|
|
63
|
+
marginBottom: theme.space[usage ? 1 : 5]
|
|
64
|
+
}],
|
|
65
|
+
children: message ?? copy.message
|
|
66
|
+
}), usage !== null && /*#__PURE__*/_jsx(Text, {
|
|
67
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
68
|
+
fontSize: theme.fontSizes.sm,
|
|
69
|
+
color: colors.usage,
|
|
70
|
+
marginBottom: theme.space[5]
|
|
71
|
+
}],
|
|
72
|
+
children: usage
|
|
73
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
74
|
+
style: limitReachedModalActionsStructure(theme),
|
|
75
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
76
|
+
variant: "outline",
|
|
77
|
+
label: canManageBilling ? "Maybe later" : "Close",
|
|
78
|
+
onPress: onRequestClose,
|
|
79
|
+
testID: testID ? `${testID}-dismiss` : undefined
|
|
80
|
+
}), canManageBilling && /*#__PURE__*/_jsx(Button, {
|
|
81
|
+
variant: "solid",
|
|
82
|
+
tone: "accent",
|
|
83
|
+
label: "Upgrade plan",
|
|
84
|
+
onPress: () => onUpgrade?.(),
|
|
85
|
+
testID: testID ? `${testID}-upgrade` : undefined
|
|
86
|
+
})]
|
|
87
|
+
})]
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=LimitReachedModal.js.map
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* LimitReachedModal's pure resolvers. Mirrors `AlertDialog.variants.ts`'s split: this module owns
|
|
5
|
+
* no colour resolver for the panel or the actions — those are `Modal`'s and `Button`'s own,
|
|
6
|
+
* applied unchanged (see `Modal.test.ts` / `Button.test.ts`). What IS this module's own contract:
|
|
7
|
+
* the six-`kind` × admin/member copy table (ported verbatim from web's `limitReachedCopy.ts` so
|
|
8
|
+
* both platforms read identically), the usage-line formatter, and the icon badge's own colour
|
|
9
|
+
* pairing (`status.warning.text` on `status.warning.subtle` — the same proven pairing Badge/Banner
|
|
10
|
+
* use for their own `subtle` variant, not a fresh, unmeasured one).
|
|
11
|
+
*
|
|
12
|
+
* Free of React and of any `Modal`/`Button` RENDER import — only `RoleColors`'s TYPE is pulled in
|
|
13
|
+
* — so this stays a pure resolver file, exactly like `AlertDialog.variants.ts`.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { createThemedVariants } from "../../core/style/index.js";
|
|
17
|
+
// Ported verbatim from web's `limitReachedCopy.ts` (Micro-Components) so both platforms read
|
|
18
|
+
// identically — see that file's own comment for the original source (crm-frontend /
|
|
19
|
+
// account-frontend copy this replaced).
|
|
20
|
+
const COPY = {
|
|
21
|
+
record: {
|
|
22
|
+
title: "Record limit reached",
|
|
23
|
+
unit: "records",
|
|
24
|
+
admin: "You have reached your plan record limit. Upgrade to add more records.",
|
|
25
|
+
member: "Your organization has reached its record limit. Contact your organization administrator to upgrade the plan."
|
|
26
|
+
},
|
|
27
|
+
automation: {
|
|
28
|
+
title: "Automation limit reached",
|
|
29
|
+
unit: "automations",
|
|
30
|
+
admin: "You have reached your plan automation limit. Upgrade to create more workflows and cadences.",
|
|
31
|
+
member: "Your organization has reached its automation limit. Contact your organization administrator to upgrade the plan."
|
|
32
|
+
},
|
|
33
|
+
custom_modules: {
|
|
34
|
+
title: "Custom module limit reached",
|
|
35
|
+
unit: "custom modules",
|
|
36
|
+
admin: "You have reached your plan custom module limit. Upgrade to add more custom modules.",
|
|
37
|
+
member: "Your organization has reached its custom module limit. Contact your organization administrator to upgrade the plan."
|
|
38
|
+
},
|
|
39
|
+
user: {
|
|
40
|
+
title: "Seat limit reached",
|
|
41
|
+
unit: "users",
|
|
42
|
+
admin: "You have reached the number of users included on your plan. Upgrade to add more.",
|
|
43
|
+
member: "Your organization has reached its user limit. Contact your organization administrator to upgrade the plan."
|
|
44
|
+
},
|
|
45
|
+
projects: {
|
|
46
|
+
title: "Project limit reached",
|
|
47
|
+
unit: "projects",
|
|
48
|
+
admin: "You have reached your plan project limit. Upgrade to create more projects.",
|
|
49
|
+
member: "Your organization has reached its project limit. Contact your organization administrator to upgrade the plan."
|
|
50
|
+
},
|
|
51
|
+
tickets: {
|
|
52
|
+
title: "Ticket limit reached",
|
|
53
|
+
unit: "tickets",
|
|
54
|
+
admin: "You have reached your plan ticket limit. Upgrade to create more tickets.",
|
|
55
|
+
member: "Your organization has reached its ticket limit. Contact your organization administrator to upgrade the plan."
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
/** `canManageBilling` selects the admin (upgrade-able) or member ("ask your admin") message. */
|
|
59
|
+
export function resolveLimitReachedCopy(kind, canManageBilling) {
|
|
60
|
+
const c = COPY[kind];
|
|
61
|
+
return {
|
|
62
|
+
title: c.title,
|
|
63
|
+
message: canManageBilling ? c.admin : c.member
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** `null` when either value is missing — the caller renders no usage line at all in that case. */
|
|
68
|
+
export function formatLimitUsage(kind, used, limit) {
|
|
69
|
+
if (used == null || limit == null) return null;
|
|
70
|
+
return `${used} of ${limit} ${COPY[kind].unit} used`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Maps LimitReachedModal onto the theme's role colours. The severity is fixed (`warning` — a plan
|
|
74
|
+
* limit is a soft stop, not a destructive action), so there is no `tone` prop to widen; every
|
|
75
|
+
* colour this component can show is one of these role lookups.
|
|
76
|
+
*/
|
|
77
|
+
export function resolveLimitReachedModalColors(colors) {
|
|
78
|
+
return {
|
|
79
|
+
iconBadge: colors.status.warning.subtle,
|
|
80
|
+
icon: colors.status.warning.text,
|
|
81
|
+
message: colors.fg.default,
|
|
82
|
+
usage: colors.fg.muted
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export const LIMIT_REACHED_MODAL_ICON_SIZE = 20;
|
|
86
|
+
export const LIMIT_REACHED_MODAL_ICON_BADGE_SIZE = 40;
|
|
87
|
+
|
|
88
|
+
/** The icon's circular badge — structural only, colour applied inline over this. */
|
|
89
|
+
export const limitReachedModalIconBadgeStructure = createThemedVariants(theme => ({
|
|
90
|
+
base: {
|
|
91
|
+
width: LIMIT_REACHED_MODAL_ICON_BADGE_SIZE,
|
|
92
|
+
height: LIMIT_REACHED_MODAL_ICON_BADGE_SIZE,
|
|
93
|
+
borderRadius: LIMIT_REACHED_MODAL_ICON_BADGE_SIZE / 2,
|
|
94
|
+
alignItems: "center",
|
|
95
|
+
justifyContent: "center",
|
|
96
|
+
marginBottom: theme.space[3]
|
|
97
|
+
}
|
|
98
|
+
}));
|
|
99
|
+
|
|
100
|
+
/** The two-action row beneath the usage line — same shape as `alertDialogActionsStructure`. */
|
|
101
|
+
export const limitReachedModalActionsStructure = createThemedVariants(theme => ({
|
|
102
|
+
base: {
|
|
103
|
+
flexDirection: "row",
|
|
104
|
+
justifyContent: "flex-end",
|
|
105
|
+
columnGap: theme.space[3]
|
|
106
|
+
}
|
|
107
|
+
}));
|
|
108
|
+
//# sourceMappingURL=LimitReachedModal.variants.js.map
|