pixelize-native-library 1.0.6 → 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 -86
- 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 +38 -117
- package/lib/module/modules/bottom-nav/BottomNav.variants.js +93 -9
- package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +123 -0
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +146 -120
- package/lib/module/modules/bottom-nav/BottomNavTab.js +138 -0
- package/lib/module/modules/bottom-nav/MODULE.md +45 -15
- 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 +129 -0
- package/lib/module/modules/charts/ChartLegend.js +154 -0
- package/lib/module/modules/charts/Charts.variants.js +582 -0
- package/lib/module/modules/charts/DonutChart.js +133 -0
- package/lib/module/modules/charts/LineChart.js +179 -0
- package/lib/module/modules/charts/MODULE.md +178 -0
- package/lib/module/modules/charts/PieChart.js +140 -0
- package/lib/module/modules/charts/Sparkline.js +80 -0
- package/lib/module/modules/charts/index.js +15 -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 +92 -0
- package/lib/module/modules/list-item/ListItem.variants.js +53 -0
- package/lib/module/modules/list-item/MODULE.md +53 -0
- package/lib/module/modules/list-item/index.js +10 -0
- package/lib/module/modules/markdown/MODULE.md +71 -0
- package/lib/module/modules/markdown/Markdown.js +183 -0
- package/lib/module/modules/markdown/Markdown.variants.js +73 -0
- package/lib/module/modules/markdown/index.js +11 -0
- package/lib/module/modules/markdown/parseMarkdown.js +153 -0
- 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 +85 -19
- 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 +82 -15
- package/lib/module/modules/select/Select.js +201 -96
- package/lib/module/modules/select/Select.variants.js +39 -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 +51 -0
- package/lib/module/modules/stat-tile/StatTile.js +124 -0
- package/lib/module/modules/stat-tile/StatTile.variants.js +57 -0
- package/lib/module/modules/stat-tile/index.js +10 -0
- 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 +49 -8
- package/lib/module/modules/timeline/Timeline.js +151 -74
- 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/builders/accentText.js +9 -0
- 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 -57
- 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 +14 -9
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +72 -9
- package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts +25 -0
- 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/BarList.d.ts +18 -0
- package/lib/typescript/modules/charts/ChartLegend.d.ts +16 -0
- package/lib/typescript/modules/charts/Charts.variants.d.ts +225 -0
- package/lib/typescript/modules/charts/DonutChart.d.ts +21 -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/Sparkline.d.ts +13 -0
- package/lib/typescript/modules/charts/index.d.ts +19 -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 +21 -0
- package/lib/typescript/modules/list-item/ListItem.variants.d.ts +29 -0
- package/lib/typescript/modules/list-item/index.d.ts +8 -0
- package/lib/typescript/modules/markdown/Markdown.d.ts +16 -0
- package/lib/typescript/modules/markdown/Markdown.variants.d.ts +33 -0
- package/lib/typescript/modules/markdown/index.d.ts +10 -0
- package/lib/typescript/modules/markdown/parseMarkdown.d.ts +44 -0
- 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 +3 -12
- 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 +3 -10
- package/lib/typescript/modules/select/Select.variants.d.ts +27 -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 +20 -0
- package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +36 -0
- package/lib/typescript/modules/stat-tile/index.d.ts +9 -0
- 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 +11 -11
- 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/builders/accentText.d.ts +6 -0
- package/lib/typescript/theme/tokens/roles/index.d.ts +7 -0
- package/package.json +209 -14
- package/registry.json +191 -1
- 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/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/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/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/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/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/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/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/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,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* DateRangePicker — the same field+modal shell as `DatePicker` (`PickerField`/`PickerShell`),
|
|
5
|
+
* driving `Calendar` in `mode="range"` instead of `"single"`. No `mode`/`use24Hour` — a date RANGE
|
|
6
|
+
* has no time-of-day dimension in this module's spec, matching `Calendar`'s own
|
|
7
|
+
* `rangeValue`/`onRangeChange` pair (`Calendar`'s single-date `value`/`onChange` are simply unused
|
|
8
|
+
* here, exactly as its own doc comment anticipates for a "range-only Calendar").
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { memo, useCallback, useState } from "react";
|
|
12
|
+
import { View } from "react-native";
|
|
13
|
+
import { Calendar } from "./Calendar.js";
|
|
14
|
+
import { PickerField } from "./PickerField.js";
|
|
15
|
+
import { PickerShell } from "./PickerShell.js";
|
|
16
|
+
import { DEFAULT_FIRST_DAY_OF_WEEK, DEFAULT_LOCALE, EMPTY_RANGE, clampToRange, formatDate, formatRangeValue } from "./DatePicker.variants.js";
|
|
17
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
const DEFAULT_RANGE_PLACEHOLDER = "Select date range";
|
|
19
|
+
export const DateRangePicker = /*#__PURE__*/memo(function DateRangePicker({
|
|
20
|
+
value = EMPTY_RANGE,
|
|
21
|
+
onChange,
|
|
22
|
+
label,
|
|
23
|
+
placeholder = DEFAULT_RANGE_PLACEHOLDER,
|
|
24
|
+
minDate,
|
|
25
|
+
maxDate,
|
|
26
|
+
disabled = false,
|
|
27
|
+
error,
|
|
28
|
+
clearable = true,
|
|
29
|
+
format,
|
|
30
|
+
firstDayOfWeek = DEFAULT_FIRST_DAY_OF_WEEK,
|
|
31
|
+
locale = DEFAULT_LOCALE,
|
|
32
|
+
containerStyle,
|
|
33
|
+
testID
|
|
34
|
+
}) {
|
|
35
|
+
const [open, setOpen] = useState(false);
|
|
36
|
+
const [draft, setDraft] = useState(value);
|
|
37
|
+
const formatOne = format ?? (date => formatDate(date, locale));
|
|
38
|
+
const displayText = formatRangeValue(value, formatOne);
|
|
39
|
+
const openPicker = useCallback(() => {
|
|
40
|
+
if (disabled) return;
|
|
41
|
+
setDraft(value);
|
|
42
|
+
setOpen(true);
|
|
43
|
+
}, [disabled, value]);
|
|
44
|
+
const closePicker = useCallback(() => setOpen(false), []);
|
|
45
|
+
const confirm = useCallback(() => {
|
|
46
|
+
onChange({
|
|
47
|
+
start: draft.start === null ? null : clampToRange(draft.start, minDate, maxDate),
|
|
48
|
+
end: draft.end === null ? null : clampToRange(draft.end, minDate, maxDate)
|
|
49
|
+
});
|
|
50
|
+
setOpen(false);
|
|
51
|
+
}, [draft, onChange, minDate, maxDate]);
|
|
52
|
+
const clearValue = useCallback(() => onChange(EMPTY_RANGE), [onChange]);
|
|
53
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
54
|
+
style: containerStyle,
|
|
55
|
+
children: [/*#__PURE__*/_jsx(PickerField, {
|
|
56
|
+
label: label,
|
|
57
|
+
placeholder: placeholder,
|
|
58
|
+
displayText: displayText,
|
|
59
|
+
error: error,
|
|
60
|
+
disabled: disabled,
|
|
61
|
+
open: open,
|
|
62
|
+
clearable: clearable,
|
|
63
|
+
clearAccessibilityLabel: "Clear dates",
|
|
64
|
+
trailingIcon: "calendar",
|
|
65
|
+
onPress: openPicker,
|
|
66
|
+
onClear: clearValue,
|
|
67
|
+
testID: testID
|
|
68
|
+
}), /*#__PURE__*/_jsx(PickerShell, {
|
|
69
|
+
open: open,
|
|
70
|
+
accessibilityLabel: "Date range picker",
|
|
71
|
+
onCancel: closePicker,
|
|
72
|
+
onConfirm: confirm,
|
|
73
|
+
testID: testID,
|
|
74
|
+
children: /*#__PURE__*/_jsx(Calendar, {
|
|
75
|
+
mode: "range",
|
|
76
|
+
rangeValue: draft,
|
|
77
|
+
onRangeChange: setDraft,
|
|
78
|
+
minDate: minDate,
|
|
79
|
+
maxDate: maxDate,
|
|
80
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
81
|
+
locale: locale,
|
|
82
|
+
testID: testID ? `${testID}-calendar` : undefined
|
|
83
|
+
})
|
|
84
|
+
})]
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=DateRangePicker.js.map
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# date-picker/ — calendar, time, and field+modal date/time pickers
|
|
2
|
+
|
|
3
|
+
Self-contained date/time picking, no new dependency: the calendar maths (grid building, range/min/max
|
|
4
|
+
logic, formatting) is hand-written and unit-tested rather than pulled in from a package.
|
|
5
|
+
|
|
6
|
+
`Calendar` is the primitive; `TimePicker` is a second, independent primitive; `DatePicker` and
|
|
7
|
+
`DateRangePicker` are field+modal wrappers that compose them with two internal, non-exported helpers.
|
|
8
|
+
|
|
9
|
+
## Files
|
|
10
|
+
|
|
11
|
+
| File | Role |
|
|
12
|
+
|------|------|
|
|
13
|
+
| `Calendar.tsx` | Inline month grid. Header doubles as a month/year quick-jump toggle. Composes the library's own `Button` for ‹ › nav. |
|
|
14
|
+
| `TimePicker.tsx` | Hour / minute (/ AM-PM) as scrollable `FlatList` columns — never an analog clock face. |
|
|
15
|
+
| `DatePicker.tsx` | Field (`PickerField`) + modal (`PickerShell`) wrapping `Calendar`/`TimePicker`; a `Tabs` strip in `"datetime"` mode. |
|
|
16
|
+
| `DateRangePicker.tsx` | Same field+modal shell, driving `Calendar` in `mode="range"`. |
|
|
17
|
+
| `PickerField.tsx` | Internal: the pressable field box, byte-for-byte `Input`'s `md` box. Not exported. |
|
|
18
|
+
| `PickerShell.tsx` | Internal: the modal chrome (backdrop, sheet, Cancel/Confirm footer) in RN's own `Modal`. Not exported. |
|
|
19
|
+
| `DatePicker.variants.ts` | ALL pure date maths (grid, comparison, clamping, formatting, time arithmetic, `resolveCalendarFocusMove`) + colour/structure/a11y resolvers. No React, no lucide. |
|
|
20
|
+
| `Calendar.keys.ts` / `Calendar.keys.web.ts` | Internal, platform-split: the DOM half of the day grid's keyboard navigation. Native file is no-ops. Not exported. |
|
|
21
|
+
| `index.ts` | Public surface: `Calendar`, `TimePicker`, `DatePicker`, `DateRangePicker` + their prop/value types. |
|
|
22
|
+
| `__tests__/DatePicker.test.ts` | Pure: date maths (leap years, month rollover, DST, firstDayOfWeek, min/max) + WCAG contrast (all brands × modes) + a11y contract. |
|
|
23
|
+
| `__tests__/DatePicker.render.test.tsx` | Render: all four components, open/close, selection, disabled, clear, tabs, backdrop dismiss, web-portal opt-in, **and the rendered 44dp targets**. |
|
|
24
|
+
| `__tests__/DatePicker.motion.test.tsx` | Reduce-motion: the sheet's reveal and a time option's press must be at their end value on the next frame. |
|
|
25
|
+
| `__tests__/PickerShell.keyboard.web.test.tsx` | Escape / Tab trap / focus restore on the web-portal branch, and their deliberate absence on the RNModal branch. |
|
|
26
|
+
| `__tests__/Calendar.keys.web.test.ts` | The web key→move mapping and the roving-focus effect, against a hand-built DOM. |
|
|
27
|
+
|
|
28
|
+
## Props
|
|
29
|
+
|
|
30
|
+
**Calendar** — `value?`, `onChange?(date)` (single mode), `mode?: "single" | "range"` (`single`),
|
|
31
|
+
`rangeValue?`, `onRangeChange?(range)`, `minDate?`, `maxDate?`, `disabledDates?: Date[]`,
|
|
32
|
+
`firstDayOfWeek?: 0 | 1` (`1` = Monday), `locale?` (`en-US`, drives month/weekday NAMES only via
|
|
33
|
+
`Intl`), `style?`, `testID?`. `onChange` is optional — a range-only `Calendar` isn't forced to pass a
|
|
34
|
+
no-op; the reverse holds for `onRangeChange`.
|
|
35
|
+
|
|
36
|
+
**TimePicker** — `value?`, `onChange(date)`, `use24Hour?` (`false`), `minuteStep?` (`1`), `style?`,
|
|
37
|
+
`testID?`.
|
|
38
|
+
|
|
39
|
+
**DatePicker** — `value?`, `onChange(date | null)`, `mode?: "date" | "datetime" | "time"` (`date`),
|
|
40
|
+
`label?`, `placeholder?` (`"Select date"`), `minDate?`, `maxDate?`, `disabled?`, `error?`,
|
|
41
|
+
`clearable?` (`true`), `format?(date)` (replaces the whole field string), `use24Hour?`,
|
|
42
|
+
`firstDayOfWeek?`, `locale?`, `containerStyle?: LayoutStyle`, `testID?`.
|
|
43
|
+
|
|
44
|
+
**DateRangePicker** — `value?: { start, end }`, `onChange(range)`, `label?`, `placeholder?`
|
|
45
|
+
(`"Select date range"`), `minDate?`, `maxDate?`, `disabled?`, `error?`, `clearable?`, `format?(date)`
|
|
46
|
+
(one endpoint; the field joins with `" – "`), `firstDayOfWeek?`, `locale?`, `containerStyle?`, `testID?`.
|
|
47
|
+
No `mode`/`use24Hour` — a range has no time-of-day dimension in this module.
|
|
48
|
+
|
|
49
|
+
## Accessibility contract (WCAG)
|
|
50
|
+
|
|
51
|
+
- **State/hidden props are FLAT `aria-*`, never the object forms.** `react-native-web` forwards only a
|
|
52
|
+
flat `aria-*` vocabulary to the DOM and silently discards `accessibilityState={{…}}`,
|
|
53
|
+
`accessibilityElementsHidden` and `importantForAccessibility`, so those would leave the web build
|
|
54
|
+
with a role and no state. RN's own `View`/`Text`/`Pressable` merge the flat props back into
|
|
55
|
+
`accessibilityState` (`View.js`), so native loses nothing — which is why the render tests can still
|
|
56
|
+
read `props.accessibilityState.*` truthfully. The resolvers therefore return literal quoted keys
|
|
57
|
+
(`"aria-selected"`, `"aria-expanded"`, `"aria-disabled"`) and the JSX spells each one out.
|
|
58
|
+
- **1.3.1 / 4.1.2** — every day cell's `accessibilityLabel` is the FULL readable date
|
|
59
|
+
(`formatFullDate`, e.g. "Friday, March 15, 2024"), never the bare number; `aria-selected` /
|
|
60
|
+
`aria-disabled` carry its state. The field is `accessibilityRole="button"` with `aria-expanded`
|
|
61
|
+
tracking the sheet, matching Select's trigger contract.
|
|
62
|
+
- **1.4.1 — colour is never the only channel.** "today" and range membership are colour in the grid,
|
|
63
|
+
so `resolveCalendarDayAccessibility` folds them into the label too (`", today"`,
|
|
64
|
+
`", in selected range"`). `aria-selected` marks only the two range ENDPOINTS, so without the
|
|
65
|
+
suffix the days between them read as unselected.
|
|
66
|
+
- **4.1.2 — the sheet is a real modal**: `accessibilityViewIsModal` **and** `aria-modal` (a genuine
|
|
67
|
+
both-props case — RN's `View` reads only the first, `react-native-web` only the second), plus
|
|
68
|
+
`onAccessibilityEscape`, on the sheet node, mirroring `modal/`/`bottom-sheet/`. Both matter — the
|
|
69
|
+
web-portal path renders no RN `<Modal>` to take the page out of the a11y tree, and the backdrop is
|
|
70
|
+
`accessible={false}`, so two-finger-Z has nothing else to hit. It also carries an
|
|
71
|
+
`accessibilityLabel` ("Date picker" / "Time picker" / "Date and time picker" / "Date range
|
|
72
|
+
picker"): there is no visible title to borrow, so focus would land on an anonymous descendant.
|
|
73
|
+
Required internal `PickerShell` prop, not public API.
|
|
74
|
+
- **Decorative nodes use `aria-hidden`** (the weekday header row, the field's visual label `Text`) —
|
|
75
|
+
one prop that hides on native AND on web, where the two RN-only props it replaces were no-ops.
|
|
76
|
+
- **2.1.1 keyboard (web only)** — the sheet gets Escape, a Tab trap and focus restore from
|
|
77
|
+
`PickerShell`, and the 42-cell day grid is **one tab stop, not 42**: exactly one cell carries
|
|
78
|
+
`tabIndex={0}` and Arrow/Home/End/PageUp/PageDown move which (`Calendar.keys.web.ts` →
|
|
79
|
+
`resolveCalendarFocusMove`). Enter/Space are left to `react-native-web`'s own `role="button"`
|
|
80
|
+
press handling — handling them here would select the day twice. Moving past the displayed month
|
|
81
|
+
pages the cursor; every move is `clampToRange`d to `minDate`/`maxDate`. A disabled day can be
|
|
82
|
+
focused but not selected, which is what lets a run of blocked dates be crossed at all.
|
|
83
|
+
- **1.3.1** — `TimePicker`'s columns are labelled `"Hour"` / `"Minute"` / `"AM or PM"`, so the options
|
|
84
|
+
aren't one flat run. They are `role="button"` option lists, not steppers — no `accessibilityValue`.
|
|
85
|
+
- **2.5.5 / 2.5.8 target size** — day cells, quick-jump cells and time options are 44dp `minHeight`
|
|
86
|
+
directly; the field's trigger and the clear button reach 44dp via `hitSlop`. Day-cell WIDTH is
|
|
87
|
+
`flex: 1` (see Known gaps).
|
|
88
|
+
- **A constant assertion is not enough for a target size.** Every number in `DatePicker.test.ts`'s
|
|
89
|
+
target-size describe is PAIRED with a flattened-style assertion on the real node in
|
|
90
|
+
`DatePicker.render.test.tsx`. A constants-only suite stayed green through a refactor that shrank
|
|
91
|
+
the rendered trigger to ~24dp.
|
|
92
|
+
- **The field's trigger owns the box's gutters and stretches to its height.** `dateFieldStructure`'s
|
|
93
|
+
`paddingHorizontal` is zeroed on the box and re-applied to the `Pressable` (the clear button
|
|
94
|
+
carries the right gutter as a margin), and `fieldPressable` sets `alignSelf: "stretch"` — same
|
|
95
|
+
reason `Input` stretches its `TextInput`. In a `row` parent with `alignItems: "center"` a child is
|
|
96
|
+
sized to its CONTENT, so without both the target is ~20dp tall inside a 16dp dead strip each side.
|
|
97
|
+
`DATE_FIELD_HIT_SLOP` is sized against `DATE_FIELD_INNER_HEIGHT` (box height minus its own border,
|
|
98
|
+
which Yoga lays outside its children), never `DATE_FIELD_HEIGHT`.
|
|
99
|
+
- **1.4.3** — selected-day label on `accent.solid`, muted adjacent-day label on `bg.surface`,
|
|
100
|
+
field/message text on the canvas — all measured ≥ 4.5:1, every brand × mode. Disabled cells are
|
|
101
|
+
exempt, like every other disabled control in this library.
|
|
102
|
+
- **1.4.11** — the today ring (`fg.muted`, a border never a fill — fill is reserved for selection)
|
|
103
|
+
and the field border are measured ≥ 3:1 against their surface.
|
|
104
|
+
- **2.3.3** — the sheet's RN `<Modal>` is `animationType="none"` unconditionally; the fade/slide is
|
|
105
|
+
`core/motion`'s `useReveal`, which `setValue`s opacity/translateY straight to their end state under
|
|
106
|
+
`useReducedMotion()` (`usePressMotion` likewise for a time option's press). `DatePicker.motion.test.tsx`
|
|
107
|
+
covers it — the old `animationType={reducedMotion ? "none" : "fade"}` prop it replaced is gone.
|
|
108
|
+
|
|
109
|
+
## Patterns copied from the reference modules
|
|
110
|
+
|
|
111
|
+
1. **Structure vs colour split** (Button) — sizing/spacing via `createThemedVariants`; every colour a
|
|
112
|
+
role lookup, never a hex, applied inline.
|
|
113
|
+
2. **Field/label/error shape** (`input/`) — `PickerField` reuses `Input`'s exact `md` box height,
|
|
114
|
+
padding, radius, and label/error placement (the padding lives on the trigger, not the box — see
|
|
115
|
+
the a11y contract; the visible inset is identical), so a `DatePicker` sits beside a real `Input`
|
|
116
|
+
with no visual seam.
|
|
117
|
+
3. **Modal overlay + backdrop dismiss** (`select/`) — `PickerShell` is RN's own `Modal`, the same
|
|
118
|
+
web-portal opt-in (`ModalPortalContext`/`renderWebPortal`) and backdrop-press-closes convention.
|
|
119
|
+
4. **Tab strip** (`tabs/`) — `"datetime"` mode composes the library's own `Tabs`, not a custom toggle.
|
|
120
|
+
|
|
121
|
+
## Design decisions specific to this module
|
|
122
|
+
|
|
123
|
+
- **The sheet edits a local draft, never `value` directly.** `Calendar`/`TimePicker` report into
|
|
124
|
+
`draft`; only Confirm commits it via `onChange`. Cancel and the backdrop are the same dismissal and
|
|
125
|
+
simply discard the draft — "Cancel restores the prior value" holds by construction, since the prior
|
|
126
|
+
value was never touched.
|
|
127
|
+
- **Every internal `Date` is anchored at local noon** (`atNoon`/`makeDate`). Constructing at midnight
|
|
128
|
+
lands on the wrong calendar day in any zone whose DST transition happens at 00:00 (e.g.
|
|
129
|
+
America/Santiago) — noon is never ambiguous or skipped by any real-world DST rule.
|
|
130
|
+
- **Day-level comparisons (`isSameDay`, `dayOrdinal`, `isWithinRange`) compare calendar fields, never
|
|
131
|
+
timestamps** — immune to time-of-day and DST offsets by construction (`DatePicker.test.ts` asserts
|
|
132
|
+
this directly).
|
|
133
|
+
- **`PickerField`/`PickerShell` are intentionally not exported.** The two pickers differ only in what
|
|
134
|
+
they render as sheet content; the field markup and modal chrome are otherwise identical, so
|
|
135
|
+
splitting them out is a plain "compose, don't reimplement" internal helper, not public API.
|
|
136
|
+
|
|
137
|
+
## Known gaps
|
|
138
|
+
|
|
139
|
+
- Day-cell touch target is `flex: 1` for width (to fit 7 columns on the narrowest phone) — height
|
|
140
|
+
always meets 44dp, width only above **364dp**: 7 × 44 plus 56dp of horizontal chrome (overlay
|
|
141
|
+
2 × 12 + sheet 2 × 8 + calendar 2 × 8). That is wider than most phones in use — a cell is ~43.4dp
|
|
142
|
+
at Android's very common 360dp and ~37.7dp on an iPhone SE (320dp), so WCAG 2.5.5 is missed on
|
|
143
|
+
those devices, not merely on an unusually narrow one.
|
|
144
|
+
- The field's `error` string is not folded into the field's accessible name. Unlike `Input`, which at
|
|
145
|
+
least surfaces its error through `accessibilityHint` (`resolveInputAccessibility`), the picker
|
|
146
|
+
field surfaces it nowhere — a screen reader announces the invalid border colour as nothing at all.
|
|
147
|
+
Pre-existing; fixing it belongs with the library-wide field a11y pass, not this module alone. Note
|
|
148
|
+
`accessibilityHint` has **no** `react-native-web` equivalent at all, so whatever that pass lands
|
|
149
|
+
must reach web through `aria-describedby` on the rendered error `Text`, not through a hint.
|
|
150
|
+
- No swipe-to-navigate months — v1 is touch-only there.
|
|
151
|
+
- **The quick-jump grid (12 month cells) is still 12 tab stops.** Only the DAY grid rovs; the
|
|
152
|
+
month grid was left alone because it is transient and reachable in 12 keys, not 30.
|
|
153
|
+
- **Arrow keys are not RTL-mirrored.** ArrowLeft is always the previous day. Correct for every
|
|
154
|
+
locale this library ships copy for; a genuine RTL pass belongs library-wide, not here.
|
|
155
|
+
- `DateRangePicker` has no "hover preview" of the in-progress range before the second tap.
|
|
156
|
+
|
|
157
|
+
## Performance
|
|
158
|
+
|
|
159
|
+
All four exported components wrapped in `React.memo`. `TimePicker`'s hour/minute columns are
|
|
160
|
+
virtualized `FlatList`s (a minute column can hold 60 rows); the two-item AM/PM column and the 42-cell
|
|
161
|
+
month grid are plain views, matching `Tabs`'/`Menu`'s choice not to virtualize small, fixed lists.
|
|
162
|
+
Formatters (`Intl.DateTimeFormat`) are cached per `(locale, shape)` — a month render formats 42
|
|
163
|
+
accessible day labels, and constructing a fresh formatter per cell measurably dominated that work.
|
|
164
|
+
|
|
165
|
+
## Modernization (v1.0.7)
|
|
166
|
+
|
|
167
|
+
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
168
|
+
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
169
|
+
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PickerField — the pressable field box shared by `DatePicker` and `DateRangePicker`, styled
|
|
5
|
+
* byte-for-byte like `Input`'s `md` box (see `dateFieldStructure`'s doc comment) so either sits
|
|
6
|
+
* beside a real `Input` in a form with no visual seam. NOT part of this module's public surface —
|
|
7
|
+
* both pickers differ only in what value they format and how "clear" resets it; the field's markup,
|
|
8
|
+
* a11y wiring and focus/error treatment are otherwise identical.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { memo, useState } from "react";
|
|
12
|
+
import { Pressable, StyleSheet, Text, View } from "react-native";
|
|
13
|
+
import { Icon } from "../../core/icon/index.js";
|
|
14
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
15
|
+
import { CLEAR_BUTTON_HIT_SLOP, DATE_FIELD_FONT_SIZE, DATE_FIELD_HIT_SLOP, DATE_FIELD_ICON_SIZE, clearButtonStructure, dateFieldStructure, resolveDateFieldAccessibility, resolveDateFieldColors } from "./DatePicker.variants.js";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
const ICON_STROKE = 2;
|
|
18
|
+
export const PickerField = /*#__PURE__*/memo(function PickerField({
|
|
19
|
+
label,
|
|
20
|
+
placeholder,
|
|
21
|
+
displayText,
|
|
22
|
+
error,
|
|
23
|
+
disabled,
|
|
24
|
+
open,
|
|
25
|
+
clearable,
|
|
26
|
+
clearAccessibilityLabel,
|
|
27
|
+
trailingIcon,
|
|
28
|
+
onPress,
|
|
29
|
+
onClear,
|
|
30
|
+
testID
|
|
31
|
+
}) {
|
|
32
|
+
const theme = useTheme();
|
|
33
|
+
const [focused, setFocused] = useState(false);
|
|
34
|
+
const fieldColors = resolveDateFieldColors(theme.colors, {
|
|
35
|
+
focused: focused || open,
|
|
36
|
+
invalid: error !== undefined
|
|
37
|
+
});
|
|
38
|
+
const a11y = resolveDateFieldAccessibility({
|
|
39
|
+
label,
|
|
40
|
+
displayValue: displayText,
|
|
41
|
+
placeholder,
|
|
42
|
+
disabled,
|
|
43
|
+
open
|
|
44
|
+
});
|
|
45
|
+
const showClear = clearable && !disabled && displayText !== "";
|
|
46
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
47
|
+
style: styles.container,
|
|
48
|
+
children: [label !== undefined &&
|
|
49
|
+
/*#__PURE__*/
|
|
50
|
+
// Decorative — the real accessible name lives on the field Pressable below (Input's pattern).
|
|
51
|
+
_jsx(Text, {
|
|
52
|
+
"aria-hidden": true,
|
|
53
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.medium), {
|
|
54
|
+
fontSize: theme.fontSizes.sm,
|
|
55
|
+
color: theme.colors.fg.default,
|
|
56
|
+
marginBottom: theme.space[1]
|
|
57
|
+
}],
|
|
58
|
+
children: label
|
|
59
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
60
|
+
testID: testID ? `${testID}-box` : undefined,
|
|
61
|
+
style: [dateFieldStructure(theme),
|
|
62
|
+
// The box's gutters move onto the trigger below, so the whole visible field opens the
|
|
63
|
+
// picker — the padding stayed here and killed 16dp of target on each side (WCAG 2.5.5).
|
|
64
|
+
{
|
|
65
|
+
borderColor: fieldColors.border,
|
|
66
|
+
paddingHorizontal: 0
|
|
67
|
+
}, disabled && styles.dimmed],
|
|
68
|
+
children: [/*#__PURE__*/_jsxs(Pressable, {
|
|
69
|
+
testID: testID,
|
|
70
|
+
accessibilityRole: a11y.accessibilityRole,
|
|
71
|
+
accessibilityLabel: a11y.accessibilityLabel,
|
|
72
|
+
"aria-disabled": a11y["aria-disabled"],
|
|
73
|
+
"aria-expanded": a11y["aria-expanded"],
|
|
74
|
+
disabled: a11y.disabled,
|
|
75
|
+
onPress: onPress,
|
|
76
|
+
onFocus: () => setFocused(true),
|
|
77
|
+
onBlur: () => setFocused(false),
|
|
78
|
+
hitSlop: DATE_FIELD_HIT_SLOP,
|
|
79
|
+
style: [styles.fieldPressable, {
|
|
80
|
+
paddingLeft: theme.space[4],
|
|
81
|
+
paddingRight: showClear ? 0 : theme.space[4]
|
|
82
|
+
}],
|
|
83
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
84
|
+
numberOfLines: 1,
|
|
85
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
86
|
+
flex: 1,
|
|
87
|
+
fontSize: DATE_FIELD_FONT_SIZE,
|
|
88
|
+
color: displayText ? fieldColors.text : fieldColors.placeholder
|
|
89
|
+
}],
|
|
90
|
+
children: displayText || placeholder
|
|
91
|
+
}), /*#__PURE__*/_jsx(Icon, {
|
|
92
|
+
name: trailingIcon,
|
|
93
|
+
size: DATE_FIELD_ICON_SIZE,
|
|
94
|
+
color: fieldColors.icon,
|
|
95
|
+
strokeWidth: ICON_STROKE
|
|
96
|
+
})]
|
|
97
|
+
}), showClear && /*#__PURE__*/_jsx(Pressable, {
|
|
98
|
+
testID: testID ? `${testID}-clear` : undefined,
|
|
99
|
+
accessibilityRole: "button",
|
|
100
|
+
accessibilityLabel: clearAccessibilityLabel,
|
|
101
|
+
hitSlop: CLEAR_BUTTON_HIT_SLOP,
|
|
102
|
+
onPress: onClear,
|
|
103
|
+
style: [clearButtonStructure(theme), {
|
|
104
|
+
marginRight: theme.space[4]
|
|
105
|
+
}],
|
|
106
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
107
|
+
name: "x",
|
|
108
|
+
size: DATE_FIELD_ICON_SIZE,
|
|
109
|
+
color: fieldColors.icon,
|
|
110
|
+
strokeWidth: ICON_STROKE
|
|
111
|
+
})
|
|
112
|
+
})]
|
|
113
|
+
}), error !== undefined && /*#__PURE__*/_jsx(Text, {
|
|
114
|
+
accessibilityLiveRegion: "polite",
|
|
115
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
116
|
+
fontSize: theme.fontSizes.xs,
|
|
117
|
+
color: fieldColors.message,
|
|
118
|
+
marginTop: theme.space[1]
|
|
119
|
+
}],
|
|
120
|
+
children: error
|
|
121
|
+
})]
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
const styles = StyleSheet.create({
|
|
125
|
+
container: {
|
|
126
|
+
alignSelf: "stretch"
|
|
127
|
+
},
|
|
128
|
+
// `alignSelf: "stretch"` is load-bearing: the row parent would otherwise size the trigger to its
|
|
129
|
+
// ~20dp content height, not the field's 40dp box. Same reason `Input` stretches its TextInput.
|
|
130
|
+
fieldPressable: {
|
|
131
|
+
flex: 1,
|
|
132
|
+
alignSelf: "stretch",
|
|
133
|
+
flexDirection: "row",
|
|
134
|
+
alignItems: "center",
|
|
135
|
+
minWidth: 0
|
|
136
|
+
},
|
|
137
|
+
// A disabled control is exempt from the contrast minimum (WCAG 1.4.3), so a uniform dim is correct.
|
|
138
|
+
dimmed: {
|
|
139
|
+
opacity: 0.5
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=PickerField.js.map
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PickerShell — the modal chrome (backdrop, overlay, sheet, Cancel/Confirm footer) shared by
|
|
5
|
+
* `DatePicker` and `DateRangePicker`. NOT part of this module's public surface (not re-exported
|
|
6
|
+
* from `index.ts`): the two pickers differ only in what they render as `children` (Calendar /
|
|
7
|
+
* TimePicker / a `Tabs` strip) — the sheet's presentation, dismissal and confirm/cancel wiring are
|
|
8
|
+
* otherwise identical, so this is a plain internal composition helper, the same "compose, don't
|
|
9
|
+
* reimplement" choice `alert-dialog` makes for its Modal + Button pairing.
|
|
10
|
+
*
|
|
11
|
+
* Renders in React Native's OWN `Modal`, imported directly from `"react-native"` — same reasoning
|
|
12
|
+
* as `Select`/`Menu`: this module owns its sheet's markup outright, never the library's own `Modal`
|
|
13
|
+
* COMPONENT (a persistent app dialog with a title/children contract is a different shape than a
|
|
14
|
+
* confirm/cancel picker sheet). The one deliberate exception is the web portal mechanism
|
|
15
|
+
* (`ModalPortalContext`/`renderWebPortal`), read for the same reason `Select.tsx`/`Menu.tsx` read
|
|
16
|
+
* it — see `../modal/ModalPortalContext.ts`.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import { memo, useContext, useMemo, useRef } from "react";
|
|
20
|
+
import { Animated, Modal, Platform, Pressable, StyleSheet, View } from "react-native";
|
|
21
|
+
import { useDismissOnEscape, useFocusTrap } from "../../core/a11y/keyboard";
|
|
22
|
+
import { useReveal } from "../../core/motion/index.js";
|
|
23
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
24
|
+
import { Button } from "../button/index.js";
|
|
25
|
+
import { ModalPortalContext } from "../modal/ModalPortalContext.js";
|
|
26
|
+
import { renderWebPortal } from "../modal/renderWebPortal";
|
|
27
|
+
import { pickerFooterStructure, pickerOverlayStructure, pickerSheetStructure } from "./DatePicker.variants.js";
|
|
28
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
29
|
+
// Decorative dismiss scrim behind the sheet — a design constant, not a role token: it is neither
|
|
30
|
+
// text nor an interactive boundary, so WCAG's contrast minimums don't apply to it. Same constant
|
|
31
|
+
// Select/Menu use for their identical backdrop.
|
|
32
|
+
const BACKDROP_SCRIM = "#00000099";
|
|
33
|
+
export const PickerShell = /*#__PURE__*/memo(function PickerShell({
|
|
34
|
+
open,
|
|
35
|
+
accessibilityLabel,
|
|
36
|
+
onCancel,
|
|
37
|
+
onConfirm,
|
|
38
|
+
confirmLabel = "Confirm",
|
|
39
|
+
cancelLabel = "Cancel",
|
|
40
|
+
children,
|
|
41
|
+
testID
|
|
42
|
+
}) {
|
|
43
|
+
const theme = useTheme();
|
|
44
|
+
const portalContainer = useContext(ModalPortalContext);
|
|
45
|
+
const sheetRef = useRef(null);
|
|
46
|
+
// Only on the portal branch: the RN <Modal> path below already gets Escape/trap/restore from
|
|
47
|
+
// react-native-web's own <Modal>, and two of each would fight. See ../modal/Modal.tsx.
|
|
48
|
+
const portalled = Platform.OS === "web" && portalContainer != null;
|
|
49
|
+
useDismissOnEscape(portalled && open, onCancel);
|
|
50
|
+
useFocusTrap(sheetRef, portalled && open);
|
|
51
|
+
|
|
52
|
+
// `mounted` is deliberately unused: the Modal below already unmounts the sheet on `open === false`,
|
|
53
|
+
// so gating on it too would keep the panel in the tree for the exit duration.
|
|
54
|
+
const {
|
|
55
|
+
style: revealStyle
|
|
56
|
+
} = useReveal(open);
|
|
57
|
+
const overlayStructure = useMemo(() => pickerOverlayStructure(theme), [theme]);
|
|
58
|
+
const footerStructure = useMemo(() => pickerFooterStructure(theme), [theme]);
|
|
59
|
+
const sheetStyle = useMemo(() => [pickerSheetStructure(theme), {
|
|
60
|
+
backgroundColor: theme.colors.bg.surface
|
|
61
|
+
}, revealStyle], [theme, revealStyle]);
|
|
62
|
+
|
|
63
|
+
// Built only while `open`: a closed picker has no reason to mount Calendar/TimePicker/Tabs just
|
|
64
|
+
// because the field is on screen.
|
|
65
|
+
const sheet = open ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
66
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
67
|
+
testID: testID ? `${testID}-backdrop` : undefined,
|
|
68
|
+
accessible: false,
|
|
69
|
+
tabIndex: -1,
|
|
70
|
+
style: styles.backdrop,
|
|
71
|
+
onPress: onCancel
|
|
72
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
73
|
+
style: overlayStructure,
|
|
74
|
+
pointerEvents: "box-none",
|
|
75
|
+
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
76
|
+
ref: sheetRef,
|
|
77
|
+
testID: testID ? `${testID}-sheet` : undefined
|
|
78
|
+
// Mirrors Modal/BottomSheet: on the web-portal path there is no RN <Modal> to take the
|
|
79
|
+
// page out of the a11y tree, and the backdrop is `accessible={false}` so two-finger-Z
|
|
80
|
+
// has nothing else to hit.
|
|
81
|
+
// Both: RN's View reads only `accessibilityViewIsModal`, react-native-web only `aria-modal`.
|
|
82
|
+
,
|
|
83
|
+
accessibilityViewIsModal: true,
|
|
84
|
+
"aria-modal": true,
|
|
85
|
+
accessibilityLabel: accessibilityLabel,
|
|
86
|
+
onAccessibilityEscape: onCancel,
|
|
87
|
+
style: sheetStyle,
|
|
88
|
+
children: [children, /*#__PURE__*/_jsxs(View, {
|
|
89
|
+
style: footerStructure,
|
|
90
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
91
|
+
variant: "outline",
|
|
92
|
+
tone: "neutral",
|
|
93
|
+
label: cancelLabel,
|
|
94
|
+
onPress: onCancel,
|
|
95
|
+
testID: testID ? `${testID}-cancel` : undefined
|
|
96
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
97
|
+
variant: "solid",
|
|
98
|
+
tone: "accent",
|
|
99
|
+
label: confirmLabel,
|
|
100
|
+
onPress: onConfirm,
|
|
101
|
+
testID: testID ? `${testID}-confirm` : undefined
|
|
102
|
+
})]
|
|
103
|
+
})]
|
|
104
|
+
})
|
|
105
|
+
})]
|
|
106
|
+
}) : null;
|
|
107
|
+
|
|
108
|
+
// Web portal opt-in — see Select.tsx's identical branch + ModalPortalContext.ts. Every other case
|
|
109
|
+
// (native, or web with no ModalPortalProvider) renders through RN's own <Modal> below, unchanged.
|
|
110
|
+
if (portalled) {
|
|
111
|
+
if (!open) return null;
|
|
112
|
+
return renderWebPortal(/*#__PURE__*/_jsx(View, {
|
|
113
|
+
style: StyleSheet.absoluteFill,
|
|
114
|
+
pointerEvents: "box-none",
|
|
115
|
+
children: sheet
|
|
116
|
+
}), portalContainer);
|
|
117
|
+
}
|
|
118
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
119
|
+
visible: open,
|
|
120
|
+
transparent: true,
|
|
121
|
+
animationType: "none",
|
|
122
|
+
onRequestClose: onCancel,
|
|
123
|
+
children: sheet
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
const styles = StyleSheet.create({
|
|
127
|
+
backdrop: {
|
|
128
|
+
...StyleSheet.absoluteFill,
|
|
129
|
+
backgroundColor: BACKDROP_SCRIM
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=PickerShell.js.map
|