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,94 @@
|
|
|
1
|
+
# limit-reached-modal/ — a plan-limit dialog composed from Modal + Button
|
|
2
|
+
|
|
3
|
+
`LimitReachedModal` is the mobile counterpart to web's `LimitReachedModal`
|
|
4
|
+
(`Micro-Components/src/Components/LimitReachedModal`) — a dialog shown when an org hits a plan
|
|
5
|
+
limit (records, automations, custom modules, seats, projects, tickets). Like `AlertDialog`, it is
|
|
6
|
+
DELIBERATELY built by composing this library's own, already-shipped `Modal` (backdrop, panel,
|
|
7
|
+
dismissal, title contrast) and `Button` (tone, press feedback, touch target) rather than
|
|
8
|
+
reimplementing either. This module owns exactly its own copy (six `kind`s × admin/member), the
|
|
9
|
+
optional usage line, and which action(s) appear.
|
|
10
|
+
|
|
11
|
+
## Files
|
|
12
|
+
|
|
13
|
+
| File | Role |
|
|
14
|
+
|------|------|
|
|
15
|
+
| `LimitReachedModal.tsx` | The component. Composes `Modal` (title, dismissal) with an icon badge, a message, an optional usage line, and a one- or two-`Button` action row. |
|
|
16
|
+
| `LimitReachedModal.variants.ts` | Pure resolvers: the `LimitKind` copy table (`resolveLimitReachedCopy`, ported verbatim from web), `formatLimitUsage`, and the themed icon-badge/action-row layout + colour (`resolveLimitReachedModalColors`). No React, no lucide. |
|
|
17
|
+
| `index.ts` | Public surface: `LimitReachedModal`, `LimitReachedModalProps`, `LimitKind`. |
|
|
18
|
+
| `__tests__/LimitReachedModal.test.ts` | Pure: the copy resolver for all six kinds × both admin/member paths, the usage formatter, and WCAG contrast for this module's own colour choices (icon badge, message, usage) — measured for all 9 brands × both modes. |
|
|
19
|
+
| `__tests__/LimitReachedModal.render.test.tsx` | Render: hidden when `visible=false`, the upgrade CTA absent when `canManageBilling=false`, `onUpgrade`/`onRequestClose` wiring, and the usage line appearing only when both `limit` and `used` are given. |
|
|
20
|
+
|
|
21
|
+
## Props
|
|
22
|
+
|
|
23
|
+
| Prop | Type | Default | Notes |
|
|
24
|
+
|------|------|---------|-------|
|
|
25
|
+
| `visible` | `boolean` | — | Required. Forwarded to `Modal` — fully controlled, no internal open state. |
|
|
26
|
+
| `onRequestClose` | `() => void` | — | Required. Forwarded to `Modal` (backdrop press, Android back, iOS VoiceOver escape). Also the dismiss action's `onPress`. |
|
|
27
|
+
| `kind` | `LimitKind` | — | Required. `"record" \| "automation" \| "custom_modules" \| "user" \| "projects" \| "tickets"` — selects the copy table entry. |
|
|
28
|
+
| `limit` | `number \| null` | `null` | Plan limit for `kind`. Paired with `used` to show `"<used> of <limit> <unit> used"`. |
|
|
29
|
+
| `used` | `number \| null` | `null` | Current usage for `kind`. Either alone renders no usage line — both are required together. |
|
|
30
|
+
| `canManageBilling` | `boolean` | — | Required. `true` shows the admin copy + an "Upgrade plan" CTA; `false` shows "contact your organization administrator" copy and no CTA. |
|
|
31
|
+
| `onUpgrade` | `() => void` | — | Optional. Wired to the upgrade Button's `onPress` (only rendered when `canManageBilling`). |
|
|
32
|
+
| `title` | `string` | `kind`'s default | Overrides the resolved title, forwarded to `Modal`'s `title`. |
|
|
33
|
+
| `message` | `string` | `kind`'s default | Overrides the resolved admin/member message. |
|
|
34
|
+
| `testID` | `string` | — | Forwarded to `Modal` (seeds `${testID}-backdrop`/`${testID}-panel`) and also seeds `${testID}-dismiss` / `${testID}-upgrade` on the two actions. |
|
|
35
|
+
|
|
36
|
+
No `style` — same reasoning as `Modal`/`AlertDialog`: there is no parent layout flow to place a
|
|
37
|
+
full-screen dialog within.
|
|
38
|
+
|
|
39
|
+
## Accessibility contract
|
|
40
|
+
|
|
41
|
+
- **1.4.3** — the title (via `Modal`'s own `resolveModalPanelColors`) and the message (`fg.default`
|
|
42
|
+
on the panel's `bg.surface`) clear 4.5:1 for every brand × mode.
|
|
43
|
+
- **1.4.3** — the usage line (`fg.muted` on `bg.surface`) clears 4.5:1 — the same pairing
|
|
44
|
+
`AlertDialog`'s description proves for itself.
|
|
45
|
+
- **1.4.3** — the icon glyph (`status.warning.text` on its own `status.warning.subtle` badge fill)
|
|
46
|
+
clears 4.5:1 — the exact pairing Badge/Banner's own `subtle` variant already proves at the role
|
|
47
|
+
layer (`roleColors.test.ts`), reused rather than freshly measured.
|
|
48
|
+
- **Dismissal semantics** — every one of `Modal`'s dismissal paths (backdrop press, Android hardware
|
|
49
|
+
back, iOS VoiceOver escape, and on web Escape) resolves to `onRequestClose`, since this module
|
|
50
|
+
never intercepts it — same contract as the dismiss action itself.
|
|
51
|
+
- **2.1.1 keyboard (web only)** — INHERITED whole from `Modal`. This matters most at
|
|
52
|
+
`canManageBilling: false`, which renders a single "Close" button: on the `ModalPortalProvider`
|
|
53
|
+
branch, before that fix, one Tab put a keyboard user outside the dialog behind the scrim with no
|
|
54
|
+
way back to the only control that dismisses it. No keyboard code lives here;
|
|
55
|
+
`__tests__/LimitReachedModal.keyboard.web.test.tsx` asserts the inheritance.
|
|
56
|
+
- **Upgrade vs. dismiss are never confusable** — the dismiss action is always `variant="outline"`
|
|
57
|
+
(unfilled) and the upgrade action is always `variant="solid"` (filled, high-emphasis), so the
|
|
58
|
+
primary choice is never the visually quieter one.
|
|
59
|
+
|
|
60
|
+
## Patterns
|
|
61
|
+
|
|
62
|
+
1. **Compose, don't reimplement.** `Modal` and `Button` are stable, shipped modules; no backdrop,
|
|
63
|
+
panel, or press-feedback logic is duplicated here — the same "compose existing exports" step
|
|
64
|
+
`AlertDialog` and `EmptyState` already take.
|
|
65
|
+
2. **A fixed severity, not a `tone` prop.** A plan limit is a soft stop, not a destructive action —
|
|
66
|
+
the icon badge is always `status.warning`, so there is nothing here to widen into a raw
|
|
67
|
+
`color?: string`.
|
|
68
|
+
3. **No gradient, no per-`kind` icon.** Web's header uses a brand gradient and swaps `Crown`/`Users`
|
|
69
|
+
per `kind`; this library has no `LinearGradient` and no registered `crown` glyph, and the API
|
|
70
|
+
contract bans a raw colour prop regardless. One `triangle-alert` icon on `status.warning` reads
|
|
71
|
+
correctly for every kind and every brand — the same icon `Banner` already resolves for its own
|
|
72
|
+
`warning` tone (`resolveBannerIcon`).
|
|
73
|
+
4. **Structure vs. colour split**, even for a thin composing module — the icon badge and action row
|
|
74
|
+
layouts live in themed resolvers; colour is `resolveLimitReachedModalColors`, applied inline.
|
|
75
|
+
|
|
76
|
+
## Known gaps
|
|
77
|
+
|
|
78
|
+
- No built-in scrolling for a long message/usage combination on a small screen — same known gap
|
|
79
|
+
`Modal`/`AlertDialog` document for `children` in general.
|
|
80
|
+
- No per-`kind` icon or illustration (see Patterns #3) — every `kind` shares one `triangle-alert`
|
|
81
|
+
badge. A future kind needing a distinct glyph adds one via `core/icon`'s deep-import + map-entry
|
|
82
|
+
pattern, not a per-kind override prop.
|
|
83
|
+
|
|
84
|
+
## Performance
|
|
85
|
+
|
|
86
|
+
Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). The inline
|
|
87
|
+
`() => onUpgrade?.()` is a fresh closure per render, same as `EmptyState`'s action Button — cheap
|
|
88
|
+
because it forwards straight to a leaf `Pressable`, never a memoized child list item.
|
|
89
|
+
|
|
90
|
+
## Modernization (v1.0.7)
|
|
91
|
+
|
|
92
|
+
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
93
|
+
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
94
|
+
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Public surface of `pixelize-native-library/limit-reached-modal`. Value exports and type exports
|
|
5
|
+
* are split for `verbatimModuleSyntax`. The copy table, usage formatter, and colour/structure
|
|
6
|
+
* resolvers stay internal — a consumer configures a LimitReachedModal through its props, never by
|
|
7
|
+
* importing its internals.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export { LimitReachedModal } from "./LimitReachedModal.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ListItem — a row primitive. It is rendered AS a list cell at scale, so it carries no mount
|
|
5
|
+
* animation and no loop: the only motion is `usePressMotion`, which starts on touch and runs on the
|
|
6
|
+
* native driver. The pressable root is an animated `Pressable` rather than an `Animated.View`
|
|
7
|
+
* wrapper so a 5000-row list pays for no extra node.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { memo, useMemo } from "react";
|
|
11
|
+
import { Animated, Pressable, Text, View } from "react-native";
|
|
12
|
+
import { usePressMotion } from "../../core/motion/index.js";
|
|
13
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
14
|
+
import { listItemBodyStructure, listItemDotStructure, listItemStructure, resolveListItemAccessibility, resolveListItemColors } from "./ListItem.variants.js";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
|
+
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
|
|
17
|
+
export const ListItem = /*#__PURE__*/memo(function ListItem({
|
|
18
|
+
leading,
|
|
19
|
+
title,
|
|
20
|
+
subtitle,
|
|
21
|
+
trailing,
|
|
22
|
+
unread = false,
|
|
23
|
+
onPress,
|
|
24
|
+
style,
|
|
25
|
+
testID
|
|
26
|
+
}) {
|
|
27
|
+
const theme = useTheme();
|
|
28
|
+
const pressable = onPress !== undefined;
|
|
29
|
+
const press = usePressMotion(!pressable);
|
|
30
|
+
const colors = useMemo(() => resolveListItemColors(theme.colors, unread), [theme.colors, unread]);
|
|
31
|
+
const a11y = useMemo(() => resolveListItemAccessibility({
|
|
32
|
+
title,
|
|
33
|
+
subtitle,
|
|
34
|
+
unread
|
|
35
|
+
}), [title, subtitle, unread]);
|
|
36
|
+
const baseStyle = useMemo(() => [listItemStructure(theme), {
|
|
37
|
+
backgroundColor: colors.background
|
|
38
|
+
}, style], [theme, colors, style]);
|
|
39
|
+
// `style` stays last; the press style holds only opacity/transform, which `LayoutStyle` cannot name.
|
|
40
|
+
const pressableStyle = useMemo(() => [listItemStructure(theme), {
|
|
41
|
+
backgroundColor: colors.background
|
|
42
|
+
}, press.style, style], [theme, colors, press.style, style]);
|
|
43
|
+
const dotStyle = useMemo(() => [listItemDotStructure(theme), {
|
|
44
|
+
backgroundColor: colors.dot
|
|
45
|
+
}], [theme, colors]);
|
|
46
|
+
const bodyStyle = useMemo(() => listItemBodyStructure(theme), [theme]);
|
|
47
|
+
const titleStyle = useMemo(() => [theme.fontStyleForWeight(unread ? theme.fontWeights.semibold : theme.fontWeights.medium), {
|
|
48
|
+
fontSize: theme.fontSizes.md,
|
|
49
|
+
color: colors.title
|
|
50
|
+
}], [theme, unread, colors]);
|
|
51
|
+
const subtitleStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
52
|
+
fontSize: theme.fontSizes.sm,
|
|
53
|
+
color: colors.subtitle
|
|
54
|
+
}], [theme, colors]);
|
|
55
|
+
const body = /*#__PURE__*/_jsxs(_Fragment, {
|
|
56
|
+
children: [unread && /*#__PURE__*/_jsx(View, {
|
|
57
|
+
testID: testID === undefined ? undefined : `${testID}-dot`,
|
|
58
|
+
accessibilityElementsHidden: true,
|
|
59
|
+
importantForAccessibility: "no-hide-descendants",
|
|
60
|
+
style: dotStyle
|
|
61
|
+
}), leading, /*#__PURE__*/_jsxs(View, {
|
|
62
|
+
style: bodyStyle,
|
|
63
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
64
|
+
numberOfLines: 1,
|
|
65
|
+
style: titleStyle,
|
|
66
|
+
children: title
|
|
67
|
+
}), subtitle !== undefined && /*#__PURE__*/_jsx(Text, {
|
|
68
|
+
numberOfLines: 2,
|
|
69
|
+
style: subtitleStyle,
|
|
70
|
+
children: subtitle
|
|
71
|
+
})]
|
|
72
|
+
}), trailing]
|
|
73
|
+
});
|
|
74
|
+
if (!pressable) {
|
|
75
|
+
return /*#__PURE__*/_jsx(View, {
|
|
76
|
+
testID: testID,
|
|
77
|
+
style: baseStyle,
|
|
78
|
+
children: body
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return /*#__PURE__*/_jsx(AnimatedPressable, {
|
|
82
|
+
testID: testID,
|
|
83
|
+
accessibilityRole: "button",
|
|
84
|
+
accessibilityLabel: a11y.accessibilityLabel,
|
|
85
|
+
onPress: onPress,
|
|
86
|
+
onPressIn: press.onPressIn,
|
|
87
|
+
onPressOut: press.onPressOut,
|
|
88
|
+
style: pressableStyle,
|
|
89
|
+
children: body
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=ListItem.js.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Pure resolvers for ListItem — no React, so the WCAG tests import this directly (mocking only
|
|
5
|
+
* `react-native`'s `StyleSheet`, as every sibling module's tests do).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { createThemedVariants } from "../../core/style/index.js";
|
|
9
|
+
export const LIST_ITEM_DOT_SIZE = 8;
|
|
10
|
+
export const LIST_ITEM_MIN_HEIGHT = 44;
|
|
11
|
+
export function resolveListItemColors(colors, unread) {
|
|
12
|
+
return {
|
|
13
|
+
background: unread ? colors.bg.surface : undefined,
|
|
14
|
+
// NOT `bg.hover`: measured, `fg.default` falls to 3.87:1 against it on 4 of 8 light brands
|
|
15
|
+
// (lavender/radiant/skyline/rosewood) — `bg.sunken` clears AA everywhere (`ListItem.test.ts`).
|
|
16
|
+
pressed: colors.bg.sunken,
|
|
17
|
+
title: colors.fg.default,
|
|
18
|
+
subtitle: colors.fg.muted,
|
|
19
|
+
dot: colors.accent.solid
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function resolveListItemAccessibility(input) {
|
|
23
|
+
const parts = [input.title];
|
|
24
|
+
if (input.subtitle !== undefined) parts.push(input.subtitle);
|
|
25
|
+
if (input.unread) parts.push("unread");
|
|
26
|
+
return {
|
|
27
|
+
accessibilityLabel: parts.join(", ")
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export const listItemStructure = createThemedVariants(theme => ({
|
|
31
|
+
base: {
|
|
32
|
+
flexDirection: "row",
|
|
33
|
+
alignItems: "center",
|
|
34
|
+
columnGap: theme.space[3],
|
|
35
|
+
minHeight: LIST_ITEM_MIN_HEIGHT,
|
|
36
|
+
paddingVertical: theme.space[3],
|
|
37
|
+
paddingHorizontal: theme.space[4]
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
export const listItemBodyStructure = createThemedVariants(theme => ({
|
|
41
|
+
base: {
|
|
42
|
+
flex: 1,
|
|
43
|
+
rowGap: theme.space[1]
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
export const listItemDotStructure = createThemedVariants(theme => ({
|
|
47
|
+
base: {
|
|
48
|
+
width: LIST_ITEM_DOT_SIZE,
|
|
49
|
+
height: LIST_ITEM_DOT_SIZE,
|
|
50
|
+
borderRadius: theme.radii.full
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
//# sourceMappingURL=ListItem.variants.js.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# list-item/ — a generic pressable row (leading / title / subtitle / trailing, unread state)
|
|
2
|
+
|
|
3
|
+
`ListItem` renders one row for notification lists, inboxes, and settings screens: optional
|
|
4
|
+
`leading`/`trailing` nodes around a title + subtitle column. `unread` adds an `accent.solid` dot
|
|
5
|
+
and a `bg.surface` row emphasis (plus a semibold title) — `bg.surface`, not `bg.selected`, because
|
|
6
|
+
`fg.muted` is only measured AA against surface/hover. A `Pressable` when `onPress` is set
|
|
7
|
+
(`bg.sunken` pressed fill — measured, `fg.default` fails AA on `bg.hover` on 4 light brands),
|
|
8
|
+
a plain `View` otherwise.
|
|
9
|
+
|
|
10
|
+
## Files
|
|
11
|
+
|
|
12
|
+
| File | Role |
|
|
13
|
+
|------|------|
|
|
14
|
+
| `ListItem.tsx` | The component. |
|
|
15
|
+
| `ListItem.variants.ts` | Pure resolvers (`resolveListItemColors`, `resolveListItemAccessibility`) + themed structure. No React. |
|
|
16
|
+
| `index.ts` | Public surface: `ListItem`, `ListItemProps`. |
|
|
17
|
+
| `__tests__/ListItem.test.ts` | Pure: WCAG contrast (all brands × modes) + a11y label contract. |
|
|
18
|
+
| `__tests__/ListItem.render.test.tsx` | Render: unread dot/bg, press, leading/trailing slots. |
|
|
19
|
+
|
|
20
|
+
## Props
|
|
21
|
+
|
|
22
|
+
| Prop | Type | Default | Notes |
|
|
23
|
+
|------|------|---------|-------|
|
|
24
|
+
| `leading` | `ReactNode` | — | E.g. an `Avatar` or icon; carries its own semantics. |
|
|
25
|
+
| `title` | `string` | — | `fg.default`, semibold when `unread`. |
|
|
26
|
+
| `subtitle` | `string` | — | `fg.muted`, max 2 lines. |
|
|
27
|
+
| `trailing` | `ReactNode` | — | E.g. a timestamp `Text` or `Badge`. |
|
|
28
|
+
| `unread` | `boolean` | `false` | Accent dot (decorative, hidden from AT — "unread" is announced in the label instead) + `bg.surface` fill. |
|
|
29
|
+
| `onPress` | `() => void` | — | Row becomes a `button`-role Pressable, min 44dp tall. |
|
|
30
|
+
| `style` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
|
|
31
|
+
| `testID` | `string` | — | Also derives the `-dot` sub-id. |
|
|
32
|
+
|
|
33
|
+
## Accessibility
|
|
34
|
+
|
|
35
|
+
- Pressable rows carry `accessibilityLabel = "title, subtitle, unread?"` so the dot never has to
|
|
36
|
+
speak for itself; non-pressable rows leave the text nodes in the normal tree.
|
|
37
|
+
- Title/subtitle are measured ≥ 4.5:1 against the canvas, the `bg.surface` unread fill, and the
|
|
38
|
+
`bg.sunken` pressed fill for all 8 brands × both modes (`ListItem.test.ts`).
|
|
39
|
+
|
|
40
|
+
## Known gaps
|
|
41
|
+
|
|
42
|
+
- `leading`/`trailing` are `ReactNode` slots (per the generic-row spec) — the nodes' own contrast
|
|
43
|
+
and touch-target concerns belong to the consumer.
|
|
44
|
+
|
|
45
|
+
## Performance
|
|
46
|
+
|
|
47
|
+
Wrapped in `React.memo`; the Pressable style function is `useCallback`'d.
|
|
48
|
+
|
|
49
|
+
## Modernization (v1.0.7)
|
|
50
|
+
|
|
51
|
+
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
52
|
+
- List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
|
|
53
|
+
- `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Public surface of `pixelize-native-library/list-item`. Value exports and type exports are split
|
|
5
|
+
* for `verbatimModuleSyntax`. The resolvers stay internal — a consumer configures a ListItem
|
|
6
|
+
* through its props, never by importing its internals.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export { ListItem } from "./ListItem.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# markdown/ — a dependency-free markdown renderer
|
|
2
|
+
|
|
3
|
+
`Markdown` parses and renders a markdown string with a small hand-rolled parser — no third-party
|
|
4
|
+
markdown/renderer dependency. Supported: h1–h6, bold, italic, inline code, fenced code blocks
|
|
5
|
+
(monospace block on a `bg.sunken` fill, no copy button), unordered/ordered lists, links,
|
|
6
|
+
blockquotes, paragraphs. The parser never throws: malformed input degrades to literal text, an
|
|
7
|
+
unclosed fence swallows the rest of the input as code.
|
|
8
|
+
|
|
9
|
+
## Files
|
|
10
|
+
|
|
11
|
+
| File | Role |
|
|
12
|
+
|------|------|
|
|
13
|
+
| `parseMarkdown.ts` | Pure parser: `parseMarkdown(content) → MarkdownBlockNode[]`. No imports at all. |
|
|
14
|
+
| `Markdown.tsx` | The renderer. Parse memoized on `content`. |
|
|
15
|
+
| `Markdown.variants.ts` | Pure resolvers (`resolveMarkdownColors`, heading specs) + themed structure. No React. |
|
|
16
|
+
| `index.ts` | Public surface: `Markdown`, `MarkdownProps`, `parseMarkdown`, node types. |
|
|
17
|
+
| `__tests__/parseMarkdown.test.ts` | Pure: every block/inline form + malformed-input robustness. |
|
|
18
|
+
| `__tests__/Markdown.test.ts` | Pure: WCAG contrast for text/link/quote roles (all brands × modes). |
|
|
19
|
+
| `__tests__/Markdown.render.test.tsx` | Render: headings, lists, code, link press wiring, and every heading of a 60-section document reaching the tree (the rotor guard — see Performance). |
|
|
20
|
+
| `__tests__/Markdown.dom.test.tsx` | Real DOM (`jest.web.config.js`): a `#`/`##`/`###` document renders real `<h1>`/`<h2>`/`<h3>` tags, not three `<h1>`s. |
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
| Prop | Type | Default | Notes |
|
|
25
|
+
|------|------|---------|-------|
|
|
26
|
+
| `content` | `string` | — | The markdown source. |
|
|
27
|
+
| `onLinkPress` | `(url: string) => void` | — | Links render underlined `accent.text`; without this, a link is styled but inert (the library never opens URLs itself). |
|
|
28
|
+
| `style` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
|
|
29
|
+
| `testID` | `string` | — | |
|
|
30
|
+
|
|
31
|
+
## Rendering roles
|
|
32
|
+
|
|
33
|
+
Body/list text `fg.default`, blockquote `fg.muted` behind a `border.default` left rule
|
|
34
|
+
(decorative, Divider's reasoning), code on `bg.sunken`, links `accent.text` + underline
|
|
35
|
+
(`link` a11y role), headings `2xl bold` (h1) / `xl semibold` (h2) / `lg semibold` (h3+) with the
|
|
36
|
+
`header` a11y role. **`aria-level` carries the real `#`-count (1–6), no longer clamped to 3** — a
|
|
37
|
+
`react-native-web` heading with no `aria-level` renders `<h1>` regardless of role, so every heading
|
|
38
|
+
used to collapse to the same DOM tag (see `core/heading/MODULE.md`). Levels 4–6 share level 3's
|
|
39
|
+
type size — the document's *structure* is what the level communicates below `lg`. Monospace is the
|
|
40
|
+
platform face (Menlo/monospace) — the token layer has no mono family.
|
|
41
|
+
|
|
42
|
+
## Known gaps
|
|
43
|
+
|
|
44
|
+
- No nesting inside bold/italic spans, no images, no tables, no task lists — out of scope for a
|
|
45
|
+
chat/notes body renderer; unsupported syntax renders as its literal text.
|
|
46
|
+
|
|
47
|
+
## Performance
|
|
48
|
+
|
|
49
|
+
The parse is `useMemo`'d on `content`; the **render tree** is the other half of the cost, so:
|
|
50
|
+
|
|
51
|
+
- Each block renders through `MarkdownBlock`, a `React.memo`'d component. Its props (`theme`,
|
|
52
|
+
`colors`, `onLinkPress`, and the block node itself) are stable while `content` is unchanged, so a
|
|
53
|
+
parent re-render re-renders no block.
|
|
54
|
+
- `colors` is `useMemo`'d on `theme.colors`; the root style array is `useMemo`'d on `(theme, style)`.
|
|
55
|
+
- **A document is never virtualized.** Every block renders, always — a plain `.map()`, no
|
|
56
|
+
`VirtualList`, no block-count threshold. Two reasons, and the first is not a performance
|
|
57
|
+
trade-off:
|
|
58
|
+
1. **The heading outline is the document's navigation.** A screen reader's rotor lists the
|
|
59
|
+
`accessibilityRole="header"` nodes that are *in the tree*; windowing leaves ~10 blocks mounted,
|
|
60
|
+
so a 60-heading document offered a rotor a handful of entries and no way to reach the rest
|
|
61
|
+
(WCAG 2.4.1). Unlike a list of records, a document's own structure is the affordance.
|
|
62
|
+
2. `Markdown` is normally embedded in a caller's `ScrollView`, where a nested VirtualizedList is
|
|
63
|
+
an error in React Native regardless.
|
|
64
|
+
The cost is bounded by the content: blocks come from parsing one `content` string, which is a
|
|
65
|
+
chat message or a notes body, not an unbounded dataset. If a caller ever does need a virtualized
|
|
66
|
+
document, that is a different component with a different accessibility contract.
|
|
67
|
+
- Links render through a memo'd `MarkdownLink` so no per-link closure is rebuilt each render.
|
|
68
|
+
|
|
69
|
+
## Modernization (v1.0.7)
|
|
70
|
+
|
|
71
|
+
- Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A markdown document is rendered whole, never virtualized: the heading outline is what a screen
|
|
5
|
+
* reader's rotor navigates, and windowing would expose only the ~10 blocks currently on screen
|
|
6
|
+
* (WCAG 2.4.1). It is also normally embedded in a caller's ScrollView, where a nested
|
|
7
|
+
* VirtualizedList is an error in its own right.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { Fragment, memo, useCallback, useMemo } from "react";
|
|
11
|
+
import { Platform, StyleSheet, Text, View } from "react-native";
|
|
12
|
+
import { HeadingText } from "../../core/heading/index.js";
|
|
13
|
+
import { useTheme } from "../../theme/hooks.js";
|
|
14
|
+
import { markdownBlockquoteStructure, markdownCodeBlockStructure, markdownListRowStructure, markdownListStructure, markdownStructure, resolveMarkdownColors, resolveMarkdownHeading } from "./Markdown.variants.js";
|
|
15
|
+
import { parseMarkdown } from "./parseMarkdown.js";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
const MONO_FONT = Platform.select({
|
|
18
|
+
ios: "Menlo",
|
|
19
|
+
default: "monospace"
|
|
20
|
+
});
|
|
21
|
+
const MarkdownLink = /*#__PURE__*/memo(function MarkdownLink({
|
|
22
|
+
content,
|
|
23
|
+
url,
|
|
24
|
+
color,
|
|
25
|
+
onLinkPress
|
|
26
|
+
}) {
|
|
27
|
+
const handlePress = useCallback(() => onLinkPress?.(url), [onLinkPress, url]);
|
|
28
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
29
|
+
accessibilityRole: "link",
|
|
30
|
+
onPress: onLinkPress === undefined ? undefined : handlePress,
|
|
31
|
+
style: [styles.link, {
|
|
32
|
+
color
|
|
33
|
+
}],
|
|
34
|
+
children: content
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
function renderInline(nodes, theme, colors, onLinkPress) {
|
|
38
|
+
return nodes.map((node, index) => {
|
|
39
|
+
switch (node.type) {
|
|
40
|
+
case "bold":
|
|
41
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
42
|
+
style: theme.fontStyleForWeight(theme.fontWeights.bold),
|
|
43
|
+
children: node.content
|
|
44
|
+
}, index);
|
|
45
|
+
case "italic":
|
|
46
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
47
|
+
style: styles.italic,
|
|
48
|
+
children: node.content
|
|
49
|
+
}, index);
|
|
50
|
+
case "code":
|
|
51
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
52
|
+
style: [styles.mono, {
|
|
53
|
+
backgroundColor: colors.codeBackground,
|
|
54
|
+
color: colors.code
|
|
55
|
+
}],
|
|
56
|
+
children: node.content
|
|
57
|
+
}, index);
|
|
58
|
+
case "link":
|
|
59
|
+
return /*#__PURE__*/_jsx(MarkdownLink, {
|
|
60
|
+
content: node.content,
|
|
61
|
+
url: node.url,
|
|
62
|
+
color: colors.link,
|
|
63
|
+
onLinkPress: onLinkPress
|
|
64
|
+
}, index);
|
|
65
|
+
default:
|
|
66
|
+
return /*#__PURE__*/_jsx(Fragment, {
|
|
67
|
+
children: node.content
|
|
68
|
+
}, index);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const MarkdownBlock = /*#__PURE__*/memo(function MarkdownBlock({
|
|
73
|
+
block,
|
|
74
|
+
theme,
|
|
75
|
+
colors,
|
|
76
|
+
onLinkPress
|
|
77
|
+
}) {
|
|
78
|
+
switch (block.type) {
|
|
79
|
+
case "heading":
|
|
80
|
+
{
|
|
81
|
+
const spec = resolveMarkdownHeading(theme, block.level);
|
|
82
|
+
return /*#__PURE__*/_jsx(HeadingText, {
|
|
83
|
+
accessibilityRole: "header",
|
|
84
|
+
"aria-level": block.level,
|
|
85
|
+
style: [theme.fontStyleForWeight(theme.fontWeights[spec.fontWeight]), {
|
|
86
|
+
fontSize: spec.fontSize,
|
|
87
|
+
color: colors.heading
|
|
88
|
+
}],
|
|
89
|
+
children: renderInline(block.children, theme, colors, onLinkPress)
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
case "code-block":
|
|
93
|
+
return /*#__PURE__*/_jsx(View, {
|
|
94
|
+
style: [markdownCodeBlockStructure(theme), {
|
|
95
|
+
backgroundColor: colors.codeBackground
|
|
96
|
+
}],
|
|
97
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
98
|
+
style: [styles.mono, {
|
|
99
|
+
fontSize: theme.fontSizes.sm,
|
|
100
|
+
color: colors.code
|
|
101
|
+
}],
|
|
102
|
+
children: block.content
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
case "blockquote":
|
|
106
|
+
return /*#__PURE__*/_jsx(View, {
|
|
107
|
+
style: [markdownBlockquoteStructure(theme), {
|
|
108
|
+
borderLeftColor: colors.quoteBorder
|
|
109
|
+
}],
|
|
110
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
111
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
112
|
+
fontSize: theme.fontSizes.md,
|
|
113
|
+
color: colors.quoteText
|
|
114
|
+
}],
|
|
115
|
+
children: renderInline(block.children, theme, colors, onLinkPress)
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
case "list":
|
|
119
|
+
return /*#__PURE__*/_jsx(View, {
|
|
120
|
+
style: markdownListStructure(theme),
|
|
121
|
+
children: block.items.map((item, itemIndex) => /*#__PURE__*/_jsxs(View, {
|
|
122
|
+
style: markdownListRowStructure(theme),
|
|
123
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
124
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
125
|
+
fontSize: theme.fontSizes.md,
|
|
126
|
+
color: colors.listMarker
|
|
127
|
+
}],
|
|
128
|
+
children: block.ordered ? `${itemIndex + 1}.` : "•"
|
|
129
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
130
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), styles.listContent, {
|
|
131
|
+
fontSize: theme.fontSizes.md,
|
|
132
|
+
color: colors.text
|
|
133
|
+
}],
|
|
134
|
+
children: renderInline(item, theme, colors, onLinkPress)
|
|
135
|
+
})]
|
|
136
|
+
}, itemIndex))
|
|
137
|
+
});
|
|
138
|
+
default:
|
|
139
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
140
|
+
style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
|
|
141
|
+
fontSize: theme.fontSizes.md,
|
|
142
|
+
color: colors.text
|
|
143
|
+
}],
|
|
144
|
+
children: renderInline(block.children, theme, colors, onLinkPress)
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
export const Markdown = /*#__PURE__*/memo(function Markdown({
|
|
149
|
+
content,
|
|
150
|
+
onLinkPress,
|
|
151
|
+
style,
|
|
152
|
+
testID
|
|
153
|
+
}) {
|
|
154
|
+
const theme = useTheme();
|
|
155
|
+
const colors = useMemo(() => resolveMarkdownColors(theme.colors), [theme.colors]);
|
|
156
|
+
const blocks = useMemo(() => parseMarkdown(content), [content]);
|
|
157
|
+
const rootStyle = useMemo(() => [markdownStructure(theme), style], [theme, style]);
|
|
158
|
+
return /*#__PURE__*/_jsx(View, {
|
|
159
|
+
testID: testID,
|
|
160
|
+
style: rootStyle,
|
|
161
|
+
children: blocks.map((block, index) => /*#__PURE__*/_jsx(MarkdownBlock, {
|
|
162
|
+
block: block,
|
|
163
|
+
theme: theme,
|
|
164
|
+
colors: colors,
|
|
165
|
+
onLinkPress: onLinkPress
|
|
166
|
+
}, `block-${index}-${block.type}`))
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
const styles = StyleSheet.create({
|
|
170
|
+
italic: {
|
|
171
|
+
fontStyle: "italic"
|
|
172
|
+
},
|
|
173
|
+
mono: {
|
|
174
|
+
fontFamily: MONO_FONT
|
|
175
|
+
},
|
|
176
|
+
link: {
|
|
177
|
+
textDecorationLine: "underline"
|
|
178
|
+
},
|
|
179
|
+
listContent: {
|
|
180
|
+
flex: 1
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
//# sourceMappingURL=Markdown.js.map
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Pure resolvers for Markdown — no React, so the WCAG tests import this directly (mocking only
|
|
5
|
+
* `react-native`'s `StyleSheet`, as every sibling module's tests do).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { createThemedVariants } from "../../core/style/index.js";
|
|
9
|
+
export function resolveMarkdownColors(colors) {
|
|
10
|
+
return {
|
|
11
|
+
text: colors.fg.default,
|
|
12
|
+
heading: colors.fg.default,
|
|
13
|
+
codeBackground: colors.bg.sunken,
|
|
14
|
+
code: colors.fg.default,
|
|
15
|
+
link: colors.accent.text,
|
|
16
|
+
quoteBorder: colors.border.default,
|
|
17
|
+
quoteText: colors.fg.muted,
|
|
18
|
+
listMarker: colors.fg.muted
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* SIZE only — `h4`–`h6` deliberately share `h3`'s size while keeping their own `aria-level`. The
|
|
23
|
+
* document's structure is what the heading level carries; three more type sizes below `lg` would
|
|
24
|
+
* be smaller than body text.
|
|
25
|
+
*/
|
|
26
|
+
export function resolveMarkdownHeading(theme, level) {
|
|
27
|
+
switch (level) {
|
|
28
|
+
case 1:
|
|
29
|
+
return {
|
|
30
|
+
fontSize: theme.fontSizes["2xl"],
|
|
31
|
+
fontWeight: "bold"
|
|
32
|
+
};
|
|
33
|
+
case 2:
|
|
34
|
+
return {
|
|
35
|
+
fontSize: theme.fontSizes.xl,
|
|
36
|
+
fontWeight: "semibold"
|
|
37
|
+
};
|
|
38
|
+
default:
|
|
39
|
+
return {
|
|
40
|
+
fontSize: theme.fontSizes.lg,
|
|
41
|
+
fontWeight: "semibold"
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export const markdownStructure = createThemedVariants(theme => ({
|
|
46
|
+
base: {
|
|
47
|
+
rowGap: theme.space[3]
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
export const markdownCodeBlockStructure = createThemedVariants(theme => ({
|
|
51
|
+
base: {
|
|
52
|
+
borderRadius: theme.radii.base,
|
|
53
|
+
padding: theme.space[3]
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
export const markdownBlockquoteStructure = createThemedVariants(theme => ({
|
|
57
|
+
base: {
|
|
58
|
+
borderLeftWidth: theme.borderWidths.thick,
|
|
59
|
+
paddingLeft: theme.space[3]
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
export const markdownListStructure = createThemedVariants(theme => ({
|
|
63
|
+
base: {
|
|
64
|
+
rowGap: theme.space[1]
|
|
65
|
+
}
|
|
66
|
+
}));
|
|
67
|
+
export const markdownListRowStructure = createThemedVariants(theme => ({
|
|
68
|
+
base: {
|
|
69
|
+
flexDirection: "row",
|
|
70
|
+
columnGap: theme.space[2]
|
|
71
|
+
}
|
|
72
|
+
}));
|
|
73
|
+
//# sourceMappingURL=Markdown.variants.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Public surface of `pixelize-native-library/markdown`. Value exports and type exports are split
|
|
5
|
+
* for `verbatimModuleSyntax`. The parser is exported for consumers that need the node tree
|
|
6
|
+
* (e.g. extracting plain text); the style resolvers stay internal.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export { Markdown } from "./Markdown.js";
|
|
10
|
+
export { parseMarkdown } from "./parseMarkdown.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|