pixelize-native-library 1.2.0 → 1.2.1
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 +2 -1
- package/lib/module/core/gradient/AccentGradientFill.js +80 -0
- package/lib/module/core/gradient/darkenHex.js +13 -0
- package/lib/module/core/gradient/gradientStops.js +27 -0
- package/lib/module/core/gradient/index.js +7 -0
- package/lib/module/core/gradient/withAlpha.js +19 -0
- package/lib/module/core/haptics/MODULE.md +4 -0
- package/lib/module/core/haptics/context.js +7 -0
- package/lib/module/core/haptics/haptics.js +17 -0
- package/lib/module/core/haptics/index.js +6 -0
- package/lib/module/core/haptics/useHaptics.js +73 -0
- package/lib/module/core/icon/MODULE.md +16 -9
- package/lib/module/core/icon/icons/trending-up.js +10 -0
- package/lib/module/core/icon/resolve.js +2 -0
- package/lib/module/core/media/expoImage.js +6 -0
- package/lib/module/core/motion/MODULE.md +12 -12
- package/lib/module/core/motion/config.js +4 -1
- package/lib/module/core/motion/index.js +2 -1
- package/lib/module/core/motion/usePressState.js +145 -0
- package/lib/module/core/style/index.js +1 -0
- package/lib/module/core/style/radius.js +4 -0
- package/lib/module/index.js +1 -0
- package/lib/module/modules/accordion/Accordion.js +69 -49
- package/lib/module/modules/accordion/Accordion.variants.js +4 -3
- package/lib/module/modules/accordion/MODULE.md +2 -1
- package/lib/module/modules/alert-dialog/AlertDialog.js +6 -5
- package/lib/module/modules/alert-dialog/AlertDialog.variants.js +4 -0
- package/lib/module/modules/app-bar/AppBar.js +6 -4
- package/lib/module/modules/app-bar/AppBar.variants.js +1 -2
- package/lib/module/modules/avatar/Avatar.js +7 -1
- package/lib/module/modules/avatar/Avatar.variants.js +1 -1
- package/lib/module/modules/avatar/MODULE.md +2 -2
- package/lib/module/modules/avatar-group/AvatarGroup.js +10 -6
- package/lib/module/modules/avatar-group/AvatarGroup.variants.js +23 -0
- package/lib/module/modules/avatar-group/MODULE.md +16 -0
- package/lib/module/modules/badge/Badge.js +11 -5
- package/lib/module/modules/badge/Badge.variants.js +2 -1
- package/lib/module/modules/badge/MODULE.md +5 -5
- package/lib/module/modules/banner/Banner.js +106 -60
- package/lib/module/modules/banner/Banner.variants.js +2 -2
- package/lib/module/modules/banner/MODULE.md +7 -2
- package/lib/module/modules/bottom-nav/BottomNav.js +6 -3
- package/lib/module/modules/bottom-nav/BottomNav.variants.js +9 -10
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +28 -4
- package/lib/module/modules/bottom-nav/BottomNavTab.js +28 -4
- package/lib/module/modules/bottom-nav/MODULE.md +10 -1
- package/lib/module/modules/bottom-sheet/BottomSheet.js +20 -7
- package/lib/module/modules/bottom-sheet/BottomSheet.variants.js +15 -5
- package/lib/module/modules/bottom-sheet/MODULE.md +13 -2
- package/lib/module/modules/button/Button.js +87 -101
- package/lib/module/modules/button/Button.variants.js +8 -7
- package/lib/module/modules/button/MODULE.md +6 -0
- package/lib/module/modules/button-group/ButtonGroup.js +36 -37
- package/lib/module/modules/button-group/ButtonGroup.variants.js +21 -46
- package/lib/module/modules/button-group/MODULE.md +25 -30
- package/lib/module/modules/card/Card.js +117 -19
- package/lib/module/modules/card/Card.variants.js +1 -0
- package/lib/module/modules/card/MODULE.md +13 -10
- package/lib/module/modules/charts/BarChart.js +29 -14
- package/lib/module/modules/charts/BarList.js +31 -18
- package/lib/module/modules/charts/Charts.variants.js +66 -2
- package/lib/module/modules/charts/DonutChart.js +9 -4
- package/lib/module/modules/charts/LineChart.js +5 -3
- package/lib/module/modules/charts/MODULE.md +24 -11
- package/lib/module/modules/charts/PieChart.js +13 -4
- package/lib/module/modules/charts/Sparkline.js +4 -2
- package/lib/module/modules/checkbox/Checkbox.js +10 -2
- package/lib/module/modules/checkbox/MODULE.md +5 -0
- package/lib/module/modules/chip/Chip.js +83 -38
- package/lib/module/modules/chip/Chip.variants.js +15 -3
- package/lib/module/modules/chip/MODULE.md +6 -4
- package/lib/module/modules/combobox/Combobox.js +93 -57
- package/lib/module/modules/combobox/Combobox.variants.js +22 -7
- package/lib/module/modules/combobox/MODULE.md +14 -4
- package/lib/module/modules/composer/Composer.js +9 -2
- package/lib/module/modules/composer/Composer.variants.js +2 -0
- package/lib/module/modules/composer/MODULE.md +5 -0
- package/lib/module/modules/copy-button/CopyButton.js +22 -4
- package/lib/module/modules/copy-button/CopyButton.variants.js +4 -2
- package/lib/module/modules/copy-button/MODULE.md +5 -0
- package/lib/module/modules/data-table/DataTable.js +28 -9
- package/lib/module/modules/data-table/DataTable.variants.js +3 -2
- package/lib/module/modules/data-table/MODULE.md +1 -0
- package/lib/module/modules/date-picker/Calendar.js +75 -29
- package/lib/module/modules/date-picker/DatePicker.variants.js +24 -9
- package/lib/module/modules/date-picker/MODULE.md +25 -4
- package/lib/module/modules/date-picker/PickerField.js +13 -4
- package/lib/module/modules/date-picker/PickerShell.js +2 -0
- package/lib/module/modules/date-picker/TimePicker.js +13 -18
- package/lib/module/modules/divider/Divider.variants.js +6 -5
- package/lib/module/modules/divider/MODULE.md +2 -0
- package/lib/module/modules/drawer/Drawer.js +20 -8
- package/lib/module/modules/drawer/Drawer.variants.js +4 -4
- package/lib/module/modules/drawer/MODULE.md +3 -0
- package/lib/module/modules/empty-state/EmptyState.js +18 -29
- package/lib/module/modules/empty-state/EmptyState.variants.js +7 -0
- package/lib/module/modules/empty-state/MODULE.md +1 -0
- package/lib/module/modules/fab/Fab.js +41 -61
- package/lib/module/modules/fab/Fab.variants.js +15 -1
- package/lib/module/modules/fab/FabGroup.js +84 -57
- package/lib/module/modules/fab/MODULE.md +19 -6
- package/lib/module/modules/file-grid/FileGrid.js +30 -16
- package/lib/module/modules/file-grid/FileGrid.variants.js +2 -2
- package/lib/module/modules/file-grid/MODULE.md +3 -1
- package/lib/module/modules/file-upload/FileUpload.variants.js +3 -1
- package/lib/module/modules/file-upload/MODULE.md +2 -0
- package/lib/module/modules/filter-sheet/FilterChip.js +11 -3
- package/lib/module/modules/filter-sheet/FilterSheetBody.js +15 -3
- package/lib/module/modules/filter-sheet/MODULE.md +9 -0
- package/lib/module/modules/folder-row/FolderRow.js +29 -17
- package/lib/module/modules/folder-row/FolderRow.variants.js +4 -2
- package/lib/module/modules/folder-row/MODULE.md +2 -1
- package/lib/module/modules/gantt/Gantt.js +30 -9
- package/lib/module/modules/gantt/Gantt.variants.js +36 -0
- package/lib/module/modules/gantt/MODULE.md +11 -1
- package/lib/module/modules/image-viewer/ImageViewer.js +35 -5
- package/lib/module/modules/image-viewer/MODULE.md +6 -0
- package/lib/module/modules/input/Input.js +20 -7
- package/lib/module/modules/input/Input.variants.js +8 -7
- package/lib/module/modules/input/MODULE.md +2 -0
- package/lib/module/modules/list-item/ListItem.js +48 -26
- package/lib/module/modules/list-item/ListItem.variants.js +11 -2
- package/lib/module/modules/list-item/MODULE.md +2 -3
- package/lib/module/modules/markdown/MODULE.md +8 -1
- package/lib/module/modules/markdown/Markdown.js +57 -22
- package/lib/module/modules/markdown/Markdown.variants.js +2 -1
- package/lib/module/modules/menu/MODULE.md +11 -0
- package/lib/module/modules/menu/Menu.js +99 -40
- package/lib/module/modules/menu/Menu.variants.js +3 -3
- package/lib/module/modules/message-bubble/MODULE.md +4 -1
- package/lib/module/modules/message-bubble/MessageBubble.js +4 -5
- package/lib/module/modules/message-bubble/MessageBubble.variants.js +5 -5
- package/lib/module/modules/modal/MODULE.md +11 -0
- package/lib/module/modules/modal/Modal.js +87 -35
- package/lib/module/modules/modal/Modal.variants.js +2 -2
- package/lib/module/modules/more-items/MODULE.md +5 -0
- package/lib/module/modules/more-items/MoreItems.js +7 -1
- package/lib/module/modules/more-items/MoreItems.variants.js +4 -1
- package/lib/module/modules/multi-select/MODULE.md +5 -0
- package/lib/module/modules/multi-select/MultiSelect.js +23 -1
- package/lib/module/modules/multi-select/MultiSelect.variants.js +4 -2
- package/lib/module/modules/number-input/MODULE.md +2 -1
- package/lib/module/modules/number-input/NumberInput.js +97 -84
- package/lib/module/modules/number-input/NumberInput.variants.js +9 -6
- package/lib/module/modules/org-switcher/MODULE.md +13 -1
- package/lib/module/modules/org-switcher/OrgSwitcher.js +13 -2
- package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +4 -2
- package/lib/module/modules/pagination/MODULE.md +2 -2
- package/lib/module/modules/pagination/Pagination.js +76 -37
- package/lib/module/modules/pagination/Pagination.variants.js +4 -2
- package/lib/module/modules/pagination/PaginationControls.js +55 -35
- package/lib/module/modules/pin-input/MODULE.md +5 -1
- package/lib/module/modules/pin-input/PinInput.js +9 -2
- package/lib/module/modules/pin-input/PinInput.variants.js +2 -1
- package/lib/module/modules/radio-group/MODULE.md +2 -2
- package/lib/module/modules/radio-group/RadioGroup.js +122 -63
- package/lib/module/modules/radio-group/RadioGroup.variants.js +2 -1
- package/lib/module/modules/reorder/MODULE.md +2 -0
- package/lib/module/modules/reorder/Reorder.js +4 -3
- package/lib/module/modules/reorder/Reorder.variants.js +4 -2
- package/lib/module/modules/rich-text/MODULE.md +3 -1
- package/lib/module/modules/rich-text/RichText.js +42 -22
- package/lib/module/modules/rich-text-editor/MODULE.md +4 -1
- package/lib/module/modules/rich-text-editor/RichTextEditor.js +8 -1
- package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +9 -6
- package/lib/module/modules/screen/MODULE.md +7 -0
- package/lib/module/modules/screen/Screen.js +50 -17
- package/lib/module/modules/screen/Screen.variants.js +18 -0
- package/lib/module/modules/search-bar/MODULE.md +1 -0
- package/lib/module/modules/search-bar/SearchBar.js +46 -26
- package/lib/module/modules/search-bar/SearchBar.variants.js +11 -8
- package/lib/module/modules/section/MODULE.md +2 -0
- package/lib/module/modules/section/Section.js +8 -15
- package/lib/module/modules/section/Section.variants.js +1 -6
- package/lib/module/modules/segmented-control/MODULE.md +3 -1
- package/lib/module/modules/segmented-control/SegmentedControl.js +110 -46
- package/lib/module/modules/segmented-control/SegmentedControl.variants.js +3 -2
- package/lib/module/modules/select/MODULE.md +26 -5
- package/lib/module/modules/select/Select.js +39 -12
- package/lib/module/modules/select/Select.variants.js +36 -12
- package/lib/module/modules/skeleton/MODULE.md +23 -27
- package/lib/module/modules/skeleton/Skeleton.js +46 -51
- package/lib/module/modules/skeleton/Skeleton.variants.js +17 -75
- package/lib/module/modules/slider/MODULE.md +2 -0
- package/lib/module/modules/slider/Slider.js +2 -1
- package/lib/module/modules/stage-progress/MODULE.md +12 -8
- package/lib/module/modules/stage-progress/StageProgress.js +94 -47
- package/lib/module/modules/stage-progress/StageProgress.variants.js +17 -12
- package/lib/module/modules/stat-tile/MODULE.md +2 -0
- package/lib/module/modules/stat-tile/StatTile.js +15 -10
- package/lib/module/modules/stat-tile/StatTile.variants.js +2 -0
- package/lib/module/modules/state-block/MODULE.md +3 -0
- package/lib/module/modules/state-block/StateBlock.js +11 -6
- package/lib/module/modules/state-block/StateBlock.variants.js +7 -0
- package/lib/module/modules/surface/MODULE.md +59 -0
- package/lib/module/modules/surface/Surface.js +42 -0
- package/lib/module/modules/surface/Surface.variants.js +33 -0
- package/lib/module/modules/surface/index.js +4 -0
- package/lib/module/modules/swipeable-row/MODULE.md +9 -0
- package/lib/module/modules/swipeable-row/SwipeableRow.js +28 -7
- package/lib/module/modules/switch/MODULE.md +2 -0
- package/lib/module/modules/switch/Switch.js +8 -2
- package/lib/module/modules/tabs/MODULE.md +2 -1
- package/lib/module/modules/tabs/Tabs.js +37 -18
- package/lib/module/modules/tabs/Tabs.variants.js +4 -2
- package/lib/module/modules/text/MODULE.md +5 -2
- package/lib/module/modules/text/Text.js +18 -6
- package/lib/module/modules/text/Text.variants.js +108 -44
- package/lib/module/modules/textarea/MODULE.md +2 -0
- package/lib/module/modules/textarea/Textarea.js +3 -2
- package/lib/module/modules/textarea/Textarea.variants.js +2 -1
- package/lib/module/modules/toast/MODULE.md +8 -4
- package/lib/module/modules/toast/Toast.js +31 -13
- package/lib/module/modules/toast/Toast.variants.js +5 -0
- package/lib/module/modules/tooltip/MODULE.md +15 -11
- package/lib/module/modules/tooltip/Tooltip.js +41 -9
- package/lib/module/modules/tooltip/Tooltip.variants.js +8 -1
- package/lib/module/theme/MODULE.md +3 -1
- package/lib/module/theme/platform/MODULE.md +14 -2
- package/lib/module/theme/platform/elevation.native.js +0 -44
- package/lib/module/theme/platform/floatingSurface.native.js +75 -0
- package/lib/module/theme/platform/highlight.native.js +59 -0
- package/lib/module/theme/platform/index.js +5 -0
- package/lib/module/theme/platform/motion.native.js +31 -11
- package/lib/module/theme/platform/stateLayer.native.js +14 -0
- package/lib/module/theme/platform/surfaces.native.js +11 -0
- package/lib/module/theme/provider/PixelizeProvider.js +12 -5
- package/lib/module/theme/tokens/MODULE.md +32 -28
- package/lib/module/theme/tokens/THEME-CONTRACT.md +137 -0
- package/lib/module/theme/tokens/assertPalette.js +29 -0
- package/lib/module/theme/tokens/brands/emerald/palette.light.js +7 -6
- package/lib/module/theme/tokens/brands/lavender/palette.light.js +3 -2
- package/lib/module/theme/tokens/brands/meadow/palette.light.js +7 -6
- package/lib/module/theme/tokens/brands/radiant/palette.light.js +7 -6
- package/lib/module/theme/tokens/brands/rosewood/palette.light.js +7 -6
- package/lib/module/theme/tokens/brands/skyline/palette.light.js +7 -6
- package/lib/module/theme/tokens/brands/slate/palette.light.js +8 -10
- package/lib/module/theme/tokens/brands/storefront/palette.light.js +7 -6
- package/lib/module/theme/tokens/brands/zinc/palette.dark.js +3 -2
- package/lib/module/theme/tokens/brands/zinc/palette.light.js +3 -2
- package/lib/module/theme/tokens/builders/buildDarkPalette.js +3 -2
- package/lib/module/theme/tokens/builders/finalizePalette.js +34 -0
- package/lib/module/theme/tokens/builders/liftToContrast.js +44 -0
- package/lib/module/theme/tokens/builders/placeholderInk.js +22 -0
- package/lib/module/theme/tokens/builders/semanticText.js +14 -0
- package/lib/module/theme/tokens/builders/surfaceRungs.js +44 -0
- package/lib/module/theme/tokens/index.js +5 -0
- package/lib/module/theme/tokens/roles/index.js +5 -0
- package/lib/typescript/core/gradient/AccentGradientFill.d.ts +7 -0
- package/lib/typescript/core/gradient/darkenHex.d.ts +2 -0
- package/lib/typescript/core/gradient/gradientStops.d.ts +10 -0
- package/lib/typescript/core/gradient/index.d.ts +5 -0
- package/lib/typescript/core/gradient/withAlpha.d.ts +2 -0
- package/lib/typescript/core/haptics/context.d.ts +3 -0
- package/lib/typescript/core/haptics/haptics.d.ts +33 -0
- package/lib/typescript/core/haptics/index.d.ts +6 -0
- package/lib/typescript/core/haptics/useHaptics.d.ts +12 -0
- package/lib/typescript/core/icon/icons/trending-up.d.ts +3 -0
- package/lib/typescript/core/icon/names.d.ts +1 -1
- package/lib/typescript/core/media/expoImage.d.ts +15 -6
- package/lib/typescript/core/media/pickers.d.ts +5 -5
- package/lib/typescript/core/motion/config.d.ts +2 -1
- package/lib/typescript/core/motion/index.d.ts +3 -1
- package/lib/typescript/core/motion/usePressState.d.ts +21 -0
- package/lib/typescript/core/style/index.d.ts +1 -0
- package/lib/typescript/core/style/radius.d.ts +2 -0
- package/lib/typescript/index.d.ts +4 -2
- package/lib/typescript/modules/accordion/Accordion.variants.d.ts +2 -2
- package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +1 -0
- package/lib/typescript/modules/avatar/Avatar.variants.d.ts +1 -1
- package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +4 -2
- package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +19 -0
- package/lib/typescript/modules/banner/Banner.d.ts +2 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +1 -3
- package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +3 -1
- package/lib/typescript/modules/button/Button.d.ts +0 -25
- package/lib/typescript/modules/button/Button.variants.d.ts +6 -6
- package/lib/typescript/modules/button-group/ButtonGroup.d.ts +0 -19
- package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +22 -56
- package/lib/typescript/modules/card/Card.d.ts +7 -5
- package/lib/typescript/modules/charts/Charts.variants.d.ts +29 -1
- package/lib/typescript/modules/chip/Chip.d.ts +3 -1
- package/lib/typescript/modules/chip/Chip.variants.d.ts +6 -2
- package/lib/typescript/modules/chip/index.d.ts +1 -1
- package/lib/typescript/modules/combobox/Combobox.variants.d.ts +17 -4
- package/lib/typescript/modules/data-table/DataTable.variants.d.ts +1 -1
- package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +15 -3
- package/lib/typescript/modules/date-picker/TimePicker.d.ts +1 -7
- package/lib/typescript/modules/divider/Divider.variants.d.ts +4 -4
- package/lib/typescript/modules/empty-state/EmptyState.d.ts +2 -0
- package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +1 -0
- package/lib/typescript/modules/fab/Fab.variants.d.ts +2 -0
- package/lib/typescript/modules/folder-row/FolderRow.d.ts +0 -8
- package/lib/typescript/modules/gantt/Gantt.variants.d.ts +21 -0
- package/lib/typescript/modules/input/Input.variants.d.ts +6 -6
- package/lib/typescript/modules/list-item/ListItem.d.ts +1 -5
- package/lib/typescript/modules/list-item/ListItem.variants.d.ts +137 -1
- package/lib/typescript/modules/markdown/Markdown.d.ts +7 -0
- package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +2 -2
- package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +1 -2
- package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +7 -5
- package/lib/typescript/modules/pagination/PaginationControls.d.ts +1 -4
- package/lib/typescript/modules/reorder/Reorder.d.ts +1 -1
- package/lib/typescript/modules/screen/Screen.d.ts +3 -9
- package/lib/typescript/modules/screen/Screen.variants.d.ts +4 -0
- package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +6 -6
- package/lib/typescript/modules/section/Section.variants.d.ts +0 -3
- package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +1 -1
- package/lib/typescript/modules/select/Select.d.ts +4 -1
- package/lib/typescript/modules/select/Select.variants.d.ts +22 -8
- package/lib/typescript/modules/select/index.d.ts +1 -1
- package/lib/typescript/modules/skeleton/Skeleton.d.ts +3 -18
- package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +12 -68
- package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +15 -6
- package/lib/typescript/modules/state-block/StateBlock.d.ts +4 -0
- package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +1 -0
- package/lib/typescript/modules/surface/Surface.d.ts +19 -0
- package/lib/typescript/modules/surface/Surface.variants.d.ts +15 -0
- package/lib/typescript/modules/surface/index.d.ts +4 -0
- package/lib/typescript/modules/text/Text.d.ts +8 -4
- package/lib/typescript/modules/text/Text.variants.d.ts +14 -11
- package/lib/typescript/modules/toast/Toast.variants.d.ts +2 -0
- package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +7 -0
- package/lib/typescript/theme/index.d.ts +1 -1
- package/lib/typescript/theme/platform/elevation.native.d.ts +0 -30
- package/lib/typescript/theme/platform/floatingSurface.native.d.ts +10 -0
- package/lib/typescript/theme/platform/highlight.native.d.ts +17 -0
- package/lib/typescript/theme/platform/index.d.ts +9 -0
- package/lib/typescript/theme/platform/motion.native.d.ts +33 -13
- package/lib/typescript/theme/platform/stateLayer.native.d.ts +11 -0
- package/lib/typescript/theme/platform/surfaces.native.d.ts +8 -0
- package/lib/typescript/theme/provider/PixelizeProvider.d.ts +1 -1
- package/lib/typescript/theme/provider/types.d.ts +8 -0
- package/lib/typescript/theme/tokens/assertPalette.d.ts +10 -0
- package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts +4 -3
- package/lib/typescript/theme/tokens/builders/finalizePalette.d.ts +4 -0
- package/lib/typescript/theme/tokens/builders/liftToContrast.d.ts +9 -0
- package/lib/typescript/theme/tokens/builders/placeholderInk.d.ts +13 -0
- package/lib/typescript/theme/tokens/builders/semanticText.d.ts +4 -0
- package/lib/typescript/theme/tokens/builders/surfaceRungs.d.ts +12 -0
- package/lib/typescript/theme/tokens/index.d.ts +5 -0
- package/lib/typescript/theme/tokens/roles/index.d.ts +1 -0
- package/lib/typescript/theme/tokens/types.d.ts +8 -7
- package/package.json +10 -2
- package/registry.json +5 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import { elevation as
|
|
4
|
+
import { HapticsContext, hasHapticsModule } from "../../core/haptics/index.js";
|
|
5
|
+
import { space, radii, fontSizes, fontWeights, lineHeights, letterSpacings, borderWidths, breakpoints, zIndices, elevation as elevationTokens, roleColors, assertPalette } from "../tokens/index.js";
|
|
6
|
+
import { elevation as renderElevation, elevatedSurfaces, fontStyleForWeight, getSystemColorMode, subscribeToSystemColorMode } from "../platform/index.js";
|
|
6
7
|
import { DEFAULT_BRAND_STORAGE_NAMESPACE, DEFAULT_STORAGE_NAMESPACE, isThemeMode, isThemeName, memoryStorageAdapter } from "./colorModeStorage.js";
|
|
7
8
|
import { DEFAULT_THEME, loadPaletteSync } from "./loadPalette.js";
|
|
8
9
|
import { ThemeContext, ThemeModeContext } from "./ThemeContext.js";
|
|
@@ -16,11 +17,12 @@ const RENDERED_ELEVATION = {
|
|
|
16
17
|
lg: renderElevation(elevationTokens.lg)
|
|
17
18
|
};
|
|
18
19
|
function buildTheme(brand, mode, interLoaded, paletteOverride) {
|
|
19
|
-
const palette = paletteOverride
|
|
20
|
+
const palette = paletteOverride ? assertPalette(paletteOverride, "the `palette` prop") : loadPaletteSync(brand, mode);
|
|
20
21
|
return {
|
|
21
22
|
brand,
|
|
22
23
|
mode,
|
|
23
24
|
colors: roleColors(palette),
|
|
25
|
+
elevatedSurfaces: elevatedSurfaces(palette, mode),
|
|
24
26
|
palette,
|
|
25
27
|
space,
|
|
26
28
|
radii,
|
|
@@ -43,7 +45,8 @@ export function PixelizeProvider({
|
|
|
43
45
|
storageKey = DEFAULT_STORAGE_NAMESPACE,
|
|
44
46
|
brandStorageKey = DEFAULT_BRAND_STORAGE_NAMESPACE,
|
|
45
47
|
interLoaded = false,
|
|
46
|
-
palette: paletteProp
|
|
48
|
+
palette: paletteProp,
|
|
49
|
+
haptics: hapticsProp
|
|
47
50
|
}) {
|
|
48
51
|
const storage = storageProp ?? memoryStorageAdapter;
|
|
49
52
|
const [modeState, setModeState] = useState(mode);
|
|
@@ -100,11 +103,15 @@ export function PixelizeProvider({
|
|
|
100
103
|
brand: brandState,
|
|
101
104
|
setBrand
|
|
102
105
|
}), [modeState, resolvedMode, setMode, brandState, setBrand]);
|
|
106
|
+
const hapticsEnabled = hapticsProp ?? hasHapticsModule();
|
|
103
107
|
return /*#__PURE__*/_jsx(ThemeContext.Provider, {
|
|
104
108
|
value: theme,
|
|
105
109
|
children: /*#__PURE__*/_jsx(ThemeModeContext.Provider, {
|
|
106
110
|
value: modeValue,
|
|
107
|
-
children:
|
|
111
|
+
children: /*#__PURE__*/_jsx(HapticsContext.Provider, {
|
|
112
|
+
value: hapticsEnabled,
|
|
113
|
+
children: children
|
|
114
|
+
})
|
|
108
115
|
})
|
|
109
116
|
});
|
|
110
117
|
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# tokens/ — the
|
|
1
|
+
# tokens/ — the portable core
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Platform-neutral data and pure functions: `types.ts`, `index.ts`, `primitives/`, `brands/`,
|
|
4
|
+
`builders/`, `roles/`. Web's `src/Theme/tokens/` is the sibling this folder was seeded from and
|
|
5
|
+
still tracks in shape and naming, but the two are **not** byte-identical and no gate requires them
|
|
6
|
+
to be: mobile owns `roles/`, `assertPalette.ts` and its own `PaletteProps`, and web owns sidebar
|
|
7
|
+
tokens mobile has no rail for.
|
|
8
|
+
|
|
9
|
+
**[THEME-CONTRACT.md](./THEME-CONTRACT.md) is the source of truth** for required vs derived tokens,
|
|
10
|
+
which token to pick by role, and why nothing may write `palette.x?.y ?? z`.
|
|
6
11
|
|
|
7
12
|
## Purity contract (lint + `__tests__/purity.test.ts` enforce it)
|
|
8
13
|
|
|
@@ -15,46 +20,45 @@ Nothing under `tokens/` may contain:
|
|
|
15
20
|
The one subtlety a hex is allowed: `#rrggbb` / `#rrggbbaa` are values, not units — they parse the
|
|
16
21
|
same on web and RN, so translucency uses 8-digit hex.
|
|
17
22
|
|
|
18
|
-
**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
**A token that is wrong here is fixed here.** Web is a sibling, not an upstream — the drift gate is
|
|
24
|
+
per-repo by design and never reads the other repo. Flag the same defect for web; do not wait for it.
|
|
25
|
+
`brands/slate/palette.light.ts` `table.hover[500]` carried a Cyrillic homoglyph (`"#dfdfе2"`,
|
|
26
|
+
U+0435) on both sides for an unknown period; mobile's copy was fixed 2026-08-31, web's still ships it.
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
(`#fafafa` is shadcn's `--foreground`, a different token). `gradient.from` now references the
|
|
27
|
-
`PRIMARY_500` constant instead of duplicating the literal, so it can't drift again. Both light
|
|
28
|
-
mode's primary (`#18181b`, already an exact match) and every other zinc role were checked against
|
|
29
|
-
the same registry and left unchanged — see `micro-components/.cursor/modules/theme/MODULE.md` for
|
|
30
|
-
the full verification notes (web is the source of truth for token values).
|
|
28
|
+
`zinc`'s dark `PRIMARY_500` is `#e4e4e7`, shadcn's real dark `--primary`, verified against its live
|
|
29
|
+
theme registry (2026-07-18). `#fafafa` is shadcn's `--foreground` — a different token; do not
|
|
30
|
+
"correct" it back.
|
|
31
31
|
|
|
32
32
|
## Brand roster
|
|
33
33
|
|
|
34
34
|
`brands/` ships 9 identities: `zinc` (mobile-only default, the shadcn look), plus 8 mirroring web —
|
|
35
35
|
`lavender`, `meadow`, `radiant`, `skyline`, `slate`, `emerald`, `rosewood`, `storefront`. Each is a
|
|
36
|
-
`palette.light.ts`
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
`palette.light.ts` exporting a `BrandPaletteSource` as `source` (usually `...lavenderSource` +
|
|
37
|
+
brand overrides — see `emerald`/`storefront`) and default-exporting `finalizePalette(source)`, plus a
|
|
38
|
+
`palette.dark.ts` (`buildDarkPalette(light)`, no bespoke override unless the brand needs one like
|
|
39
|
+
`zinc`). Add a brand by dropping in both files and registering it in `brands/index.ts`,
|
|
40
|
+
`provider/loadPalette.ts` and the `ThemeName` union — the `it.each(themeNames)` sweeps pick it up.
|
|
40
41
|
|
|
41
42
|
## Copied vs not
|
|
42
43
|
|
|
43
|
-
| Path |
|
|
44
|
-
|
|
45
|
-
| `tokens/**` (this folder) | **
|
|
44
|
+
| Path | Shared with web? |
|
|
45
|
+
|------|------------------|
|
|
46
|
+
| `tokens/**` (this folder) | **In shape and intent** — reconcile deliberately, never assume identical |
|
|
46
47
|
| `platform/**` | **Never** — one file per platform, identical export *names*, RN implementations |
|
|
47
48
|
|
|
48
49
|
`platform/` is where numbers become styles: DP conversion, `StyleSheet.hairlineWidth`, and the
|
|
49
50
|
iOS/Android shadow split. A component imports resolved values from the theme, never from `tokens/`
|
|
50
51
|
math directly.
|
|
51
52
|
|
|
52
|
-
##
|
|
53
|
+
## Gates over this folder
|
|
53
54
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
- `__tests__/paletteContrast.test.ts` — 9 brands x 2 modes, 138 assertions: every derived token's
|
|
56
|
+
contrast guarantee, every colour value parses, no brand file hand-writes a derived token.
|
|
57
|
+
- `roles/__tests__/roleColors.test.ts` — the same sweep one layer up, over `roleColors()`.
|
|
58
|
+
- `__tests__/purity.test.ts` — no unit, CSS string or `platform/` import.
|
|
59
|
+
- `scripts/gates/token-drift.sh` hashes this folder against its **own** committed baseline. That
|
|
60
|
+
baseline does not exist yet and `pre-pr-check.sh` does not run it, so today it gates nothing —
|
|
61
|
+
run it with `--update` once, deliberately, if you want it live.
|
|
58
62
|
|
|
59
63
|
## RN unit traps baked into the primitives
|
|
60
64
|
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Theme token contract
|
|
2
|
+
|
|
3
|
+
How colour enters this library, and why nothing may guard a token with `?.` / `??`.
|
|
4
|
+
Read this before adding a token, a brand, or a component that reads a palette.
|
|
5
|
+
|
|
6
|
+
## The two palette types
|
|
7
|
+
|
|
8
|
+
| Type | Who writes it | Contains |
|
|
9
|
+
| --- | --- | --- |
|
|
10
|
+
| `BrandPaletteSource` | a brand's `palette.light.ts`, by hand | every hand-authored token, all **required** |
|
|
11
|
+
| `PaletteProps` | `finalizePalette`, at module load | the source **plus** every derived token |
|
|
12
|
+
|
|
13
|
+
Each `palette.light.ts` annotates `export const source: BrandPaletteSource = { … }` and
|
|
14
|
+
default-exports `finalizePalette(source)`. A missing token is a compile error **in that brand's
|
|
15
|
+
file**. Consumers only ever see `PaletteProps`, where nothing is optional.
|
|
16
|
+
|
|
17
|
+
Seven brands build on lavender by spreading its `source`, not its finalized default — a brand must
|
|
18
|
+
never inherit another brand's *derived* values.
|
|
19
|
+
|
|
20
|
+
## Derived tokens — never hand-written
|
|
21
|
+
|
|
22
|
+
| Token | Derived by | Guarantee |
|
|
23
|
+
| --- | --- | --- |
|
|
24
|
+
| `semanticText.{success,error,warning,info}` | `buildSemanticText` | each status tone as ink, ≥4.5:1 on that palette's canvas |
|
|
25
|
+
| `placeholder[500]` | `finalizePalette` | placeholder ink, ≥4.5:1 on `background[50]` |
|
|
26
|
+
| `table.hover[500]` | `finalizePalette` | hover row steps ≥4.5:1 away from `text[500]` |
|
|
27
|
+
|
|
28
|
+
Light finalizes in each brand's own file; dark finalizes inside `buildDarkPalette`. `zinc` pins its
|
|
29
|
+
own dark canvas, so `palette.dark.ts` re-finalizes after the override — otherwise its derived tokens
|
|
30
|
+
would be resolved against the canvas it replaced. A hand-copied hex goes stale the moment a canvas
|
|
31
|
+
moves; that is the whole reason these are computed.
|
|
32
|
+
|
|
33
|
+
`liftToContrast(hex, backdrop, target)` takes no colour-mode argument. It reads the direction from
|
|
34
|
+
the backdrop's own luminance, so "step away from what it sits on" is one rule for both modes and for
|
|
35
|
+
both directions — ink moving off a surface, and a surface moving off ink.
|
|
36
|
+
|
|
37
|
+
## Tokens with no contrast guarantee
|
|
38
|
+
|
|
39
|
+
`boxborder`, `border` and `sidebar` are decorative or vestigial. Measured on the canvas,
|
|
40
|
+
`boxborder[500]` is 1.30–2.56:1 in light and 1.84–3.78:1 in dark — it must not be used as a control
|
|
41
|
+
outline. Nothing in this library reads any of the three.
|
|
42
|
+
|
|
43
|
+
| Need | Use | Never |
|
|
44
|
+
| --- | --- | --- |
|
|
45
|
+
| a control outline (WCAG 1.4.11) | `roleColors().border.interactive` | `boxborder[500]` |
|
|
46
|
+
| status text, icon or border | `palette.semanticText[tone]` | `semantic[tone][500]` — that is the *fill* rung |
|
|
47
|
+
| a status fill | `roleColors().status[role].solid` + `onSolid` | a hand-picked white or black label |
|
|
48
|
+
| accent-coloured text | `roleColors().accent.text` | `primary[500]` — the *filled-control* rung |
|
|
49
|
+
| secondary/muted text | `roleColors().fg.muted` | `gray[400]` — the border/icon rung |
|
|
50
|
+
| a field's placeholder | `roleColors().fg.placeholder` | `fg.muted` — body copy, so empty fields read as filled |
|
|
51
|
+
| a white surface | `background[50]` | `white` — that is ink on a filled control |
|
|
52
|
+
|
|
53
|
+
`roleColors()` is the supported colour API; the raw palette is available as `useTheme().palette` for
|
|
54
|
+
the few tokens roles do not cover. There is no sidebar rail in this library, so `sidebar` carries a
|
|
55
|
+
background ramp and nothing else — web's `sidebar.active*` / `muted*` / `elevated` tokens are
|
|
56
|
+
deliberately not ported.
|
|
57
|
+
|
|
58
|
+
## Reading colour
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
const { palette } = useTheme();
|
|
62
|
+
palette.semanticText.error // guaranteed present
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
No `?.`, no `??`, no `as unknown as`. `assertPalette` runs once where a palette enters
|
|
66
|
+
(`PixelizeProvider`) and throws naming every missing token. That error is the feature: it is
|
|
67
|
+
visible, it names the fix, and it happens once at the boundary instead of as a wrong colour deep in
|
|
68
|
+
a screen.
|
|
69
|
+
|
|
70
|
+
## Adding a token
|
|
71
|
+
|
|
72
|
+
1. Add it to `PaletteProps` in `types.ts`.
|
|
73
|
+
2. Compile. TypeScript names every place that must handle it:
|
|
74
|
+
- `assertPalette.ts` — `type Unlisted = Exclude<keyof PaletteProps, …>` fails until the token is
|
|
75
|
+
listed in `REQUIRED_TOKENS`
|
|
76
|
+
- each brand's `palette.light.ts` — unless the token is derived, in which case exclude it from
|
|
77
|
+
`BrandPaletteSource` and compute it in `finalizePalette`
|
|
78
|
+
3. Add an assertion of its guarantee to `__tests__/paletteContrast.test.ts`, for **every** brand in
|
|
79
|
+
**both** modes — no exceptions list.
|
|
80
|
+
|
|
81
|
+
Adding a brand is the mirror image: one `palette.light.ts` exporting a `BrandPaletteSource`, a
|
|
82
|
+
`palette.dark.ts` calling `buildDarkPalette(light)`, and entries in `brands/index.ts`,
|
|
83
|
+
`provider/loadPalette.ts` and the `ThemeName` union. The `it.each(themeNames)` sweeps pick it up.
|
|
84
|
+
|
|
85
|
+
## The gate
|
|
86
|
+
|
|
87
|
+
`__tests__/paletteContrast.test.ts` scores every guarantee above for all 9 brands in both modes —
|
|
88
|
+
138 assertions. It also asserts every colour value in every palette parses, and that no brand file
|
|
89
|
+
writes a derived token by hand.
|
|
90
|
+
|
|
91
|
+
`slate`'s `table.hover[500]` shipped a Cyrillic `е` (U+0435) inside `"#dfdfе2"` — a valid-looking
|
|
92
|
+
string that RN resolves to no colour at all. It was fixed here on 2026-08-31 and the parse assertion
|
|
93
|
+
is what keeps it fixed. **Web's `slate` palette still carries it.**
|
|
94
|
+
|
|
95
|
+
## Known gap
|
|
96
|
+
|
|
97
|
+
The light `semantic` ramps are near-identical across all 9 brands, and their `[500]` rungs measure
|
|
98
|
+
**1.84–3.68:1** against the light canvas — unusable as ink. `semanticText` exists so no call site
|
|
99
|
+
has to know that. Dark needs no such lift (5.05–9.89:1) because `buildDarkPalette` derives the
|
|
100
|
+
status ramps rather than copying them. **Light is the worse mode**: every defect this contract
|
|
101
|
+
resolves was light-only.
|
|
102
|
+
|
|
103
|
+
## Placeholder ink is not muted text
|
|
104
|
+
|
|
105
|
+
`fg.muted` is body copy. Six components used it as their `placeholderTextColor`, so an empty field
|
|
106
|
+
read as one already typed into. `fg.placeholder` is the rung the brand authored — `placeholder[500]`
|
|
107
|
+
shipped as-is — with a 3:1 floor underneath it, never a 4.5:1 one.
|
|
108
|
+
|
|
109
|
+
**The sub-4.5 floor is deliberate.** It was tried the other way first: held to body-text contrast the
|
|
110
|
+
hint stopped reading as a hint, which is the bug this section exists to prevent. 3:1 is the 1.4.11
|
|
111
|
+
non-text floor, and it is what the published web library ships. Lavender light is `#7a72b0` at 4.06:1
|
|
112
|
+
in both libraries; every brand lands between 3.96 and 4.13 in light.
|
|
113
|
+
|
|
114
|
+
The rung is never darkened when it already clears. The floor exists only for a brand whose authored
|
|
115
|
+
rung is too pale for a surface it lands on — and it does fire here, on `radiant light` and
|
|
116
|
+
`rosewood light`, because of the port boundary below.
|
|
117
|
+
|
|
118
|
+
### Where mobile's field surfaces differ from web's
|
|
119
|
+
|
|
120
|
+
| | web `fieldSurfaces` | mobile `FIELD_SURFACES` |
|
|
121
|
+
|---|---|---|
|
|
122
|
+
| canvas | `backgroundColor.main` | `backgroundColor.main` |
|
|
123
|
+
| field fill | `gray[50]`, `background[50]` | `background[50]` |
|
|
124
|
+
| pressed | — | `backgroundColor.muted` (`bg.hover`) |
|
|
125
|
+
|
|
126
|
+
Mobile is touch: a Select or Combobox trigger showing a placeholder goes to `bg.hover` while pressed,
|
|
127
|
+
with the hint still on screen, so that surface is a real pairing here and not on web. On the two
|
|
128
|
+
brands whose `backgroundColor.muted` is a deep tint this pulls the ink above the authored rung. That
|
|
129
|
+
divergence is correct, not drift — do not "fix" it by deleting the pressed surface.
|
|
130
|
+
|
|
131
|
+
Disabled fills are excluded on purpose: 1.4.3 exempts them, and folding them in would darken the hint
|
|
132
|
+
on every enabled field.
|
|
133
|
+
|
|
134
|
+
`roleColors.test.ts` gates both halves: the ink clears 3:1 on every field surface, and it is left
|
|
135
|
+
untouched whenever the authored rung already clears. `surfaceRungs.test.ts` deliberately does **not**
|
|
136
|
+
sweep `placeholder[500]` — what ships is `fg.placeholder`, not the raw rung. Web's mirror of this
|
|
137
|
+
lives in `Theme/CHROME-CONSISTENCY.md`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const REQUIRED_TOKENS = ["gradient", "primary", "secondary", "tertiary", "transparent", "black", "white", "semantic", "gray", "red", "orange", "yellow", "green", "teal", "blue", "cyan", "purple", "pink", "backgroundColor", "background", "text", "header", "placeholder", "boxShadow", "sidebar", "boxborder", "border", "table", "disabled", "semanticText"];
|
|
4
|
+
|
|
5
|
+
// Adding a token to PaletteProps without listing it here is a compile error, not a silent gap.
|
|
6
|
+
|
|
7
|
+
export const allPaletteTokensListed = true;
|
|
8
|
+
const NESTED = [["semantic", ["success", "error", "warning", "info"]], ["backgroundColor", ["main", "base"]], ["gradient", ["from", "to"]], ["semanticText", ["success", "error", "warning", "info"]]];
|
|
9
|
+
export const missingPaletteTokens = palette => {
|
|
10
|
+
if (!palette || typeof palette !== "object") return ["(no palette object)"];
|
|
11
|
+
const p = palette;
|
|
12
|
+
const missing = REQUIRED_TOKENS.filter(k => p[k] === undefined).map(String);
|
|
13
|
+
for (const [group, keys] of NESTED) {
|
|
14
|
+
const value = p[group];
|
|
15
|
+
if (!value) continue;
|
|
16
|
+
for (const key of keys) if (value[key] === undefined) missing.push(`${group}.${key}`);
|
|
17
|
+
}
|
|
18
|
+
return missing;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/** Fails once, loudly, where a palette enters — never as a wrong colour deep in a screen. */
|
|
22
|
+
export const assertPalette = (palette, source) => {
|
|
23
|
+
const missing = missingPaletteTokens(palette);
|
|
24
|
+
if (missing.length > 0) {
|
|
25
|
+
throw new Error(`pixelize-native-library: ${source} is missing ${missing.length} palette token(s): ` + `${missing.join(", ")}. Roles read these directly and have no fallback by design.`);
|
|
26
|
+
}
|
|
27
|
+
return palette;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=assertPalette.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#0f9d8a";
|
|
6
7
|
const primary = {
|
|
@@ -18,8 +19,8 @@ const primary = {
|
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
// No `tertiary` override — emerald inherits lavender's purple tertiary, as web ships it.
|
|
21
|
-
const
|
|
22
|
-
...
|
|
22
|
+
export const source = {
|
|
23
|
+
...lavenderSource,
|
|
23
24
|
gradient: {
|
|
24
25
|
from: "#0f9d8a",
|
|
25
26
|
to: "#06b6d4"
|
|
@@ -117,9 +118,9 @@ const palette = {
|
|
|
117
118
|
},
|
|
118
119
|
boxShadow: {
|
|
119
120
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
120
|
-
error:
|
|
121
|
-
default:
|
|
121
|
+
error: lavenderSource.boxShadow.error,
|
|
122
|
+
default: lavenderSource.boxShadow.default
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
|
-
export default
|
|
125
|
+
export default finalizePalette(source);
|
|
125
126
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
3
4
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
4
5
|
const PRIMARY_500 = "#8B3FC8";
|
|
5
6
|
const SECONDARY_ANCHOR = "#1e0f30";
|
|
@@ -341,7 +342,7 @@ const gradient = {
|
|
|
341
342
|
from: "#8B3FC8",
|
|
342
343
|
to: "#EC4899"
|
|
343
344
|
};
|
|
344
|
-
const
|
|
345
|
+
export const source = {
|
|
345
346
|
gradient,
|
|
346
347
|
primary,
|
|
347
348
|
secondary,
|
|
@@ -372,5 +373,5 @@ const palette = {
|
|
|
372
373
|
table,
|
|
373
374
|
disabled
|
|
374
375
|
};
|
|
375
|
-
export default
|
|
376
|
+
export default finalizePalette(source);
|
|
376
377
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#2d6a4f";
|
|
6
7
|
const primary = {
|
|
@@ -16,8 +17,8 @@ const primary = {
|
|
|
16
17
|
900: "#0a2016",
|
|
17
18
|
opacity: buildPrimaryOpacity(PRIMARY_500)
|
|
18
19
|
};
|
|
19
|
-
const
|
|
20
|
-
...
|
|
20
|
+
export const source = {
|
|
21
|
+
...lavenderSource,
|
|
21
22
|
gradient: {
|
|
22
23
|
from: "#2d6a4f",
|
|
23
24
|
to: "#14b8a6"
|
|
@@ -118,9 +119,9 @@ const palette = {
|
|
|
118
119
|
},
|
|
119
120
|
boxShadow: {
|
|
120
121
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
121
|
-
error:
|
|
122
|
-
default:
|
|
122
|
+
error: lavenderSource.boxShadow.error,
|
|
123
|
+
default: lavenderSource.boxShadow.default
|
|
123
124
|
}
|
|
124
125
|
};
|
|
125
|
-
export default
|
|
126
|
+
export default finalizePalette(source);
|
|
126
127
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#cf4e3a";
|
|
6
7
|
const primary = {
|
|
@@ -18,8 +19,8 @@ const primary = {
|
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
// No `tertiary` override — radiant inherits lavender's purple tertiary, as web ships it.
|
|
21
|
-
const
|
|
22
|
-
...
|
|
22
|
+
export const source = {
|
|
23
|
+
...lavenderSource,
|
|
23
24
|
gradient: {
|
|
24
25
|
from: "#cf4e3a",
|
|
25
26
|
to: "#f59e0b"
|
|
@@ -117,9 +118,9 @@ const palette = {
|
|
|
117
118
|
},
|
|
118
119
|
boxShadow: {
|
|
119
120
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
120
|
-
error:
|
|
121
|
-
default:
|
|
121
|
+
error: lavenderSource.boxShadow.error,
|
|
122
|
+
default: lavenderSource.boxShadow.default
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
|
-
export default
|
|
125
|
+
export default finalizePalette(source);
|
|
125
126
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#d16a7e";
|
|
6
7
|
const primary = {
|
|
@@ -18,8 +19,8 @@ const primary = {
|
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
// No `tertiary` override — rosewood inherits lavender's purple tertiary, as web ships it.
|
|
21
|
-
const
|
|
22
|
-
...
|
|
22
|
+
export const source = {
|
|
23
|
+
...lavenderSource,
|
|
23
24
|
gradient: {
|
|
24
25
|
from: "#d16a7e",
|
|
25
26
|
to: "#fb7185"
|
|
@@ -117,9 +118,9 @@ const palette = {
|
|
|
117
118
|
},
|
|
118
119
|
boxShadow: {
|
|
119
120
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
120
|
-
error:
|
|
121
|
-
default:
|
|
121
|
+
error: lavenderSource.boxShadow.error,
|
|
122
|
+
default: lavenderSource.boxShadow.default
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
|
-
export default
|
|
125
|
+
export default finalizePalette(source);
|
|
125
126
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#1a3a6b";
|
|
6
7
|
const primary = {
|
|
@@ -16,8 +17,8 @@ const primary = {
|
|
|
16
17
|
900: "#071021",
|
|
17
18
|
opacity: buildPrimaryOpacity(PRIMARY_500)
|
|
18
19
|
};
|
|
19
|
-
const
|
|
20
|
-
...
|
|
20
|
+
export const source = {
|
|
21
|
+
...lavenderSource,
|
|
21
22
|
gradient: {
|
|
22
23
|
from: "#1a3a6b",
|
|
23
24
|
to: "#38bdf8"
|
|
@@ -118,9 +119,9 @@ const palette = {
|
|
|
118
119
|
},
|
|
119
120
|
boxShadow: {
|
|
120
121
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
121
|
-
error:
|
|
122
|
-
default:
|
|
122
|
+
error: lavenderSource.boxShadow.error,
|
|
123
|
+
default: lavenderSource.boxShadow.default
|
|
123
124
|
}
|
|
124
125
|
};
|
|
125
|
-
export default
|
|
126
|
+
export default finalizePalette(source);
|
|
126
127
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#6b7280";
|
|
6
7
|
const primary = {
|
|
@@ -16,8 +17,8 @@ const primary = {
|
|
|
16
17
|
900: "#111827",
|
|
17
18
|
opacity: buildPrimaryOpacity(PRIMARY_500)
|
|
18
19
|
};
|
|
19
|
-
const
|
|
20
|
-
...
|
|
20
|
+
export const source = {
|
|
21
|
+
...lavenderSource,
|
|
21
22
|
gradient: {
|
|
22
23
|
from: "#6b7280",
|
|
23
24
|
to: "#818cf8"
|
|
@@ -88,9 +89,6 @@ const palette = {
|
|
|
88
89
|
800: "#6a6a6e",
|
|
89
90
|
900: "#4f4f52"
|
|
90
91
|
},
|
|
91
|
-
// NOTE: table.hover[500] carries a Cyrillic homoglyph (U+0435) inside the hex, copied
|
|
92
|
-
// verbatim from web's slate palette (a real upstream bug). Do not "fix" here — it must be
|
|
93
|
-
// corrected on web and re-copied. Flagged for the web chat; see this task's report.
|
|
94
92
|
table: {
|
|
95
93
|
hover: {
|
|
96
94
|
50: "#fefefe",
|
|
@@ -98,7 +96,7 @@ const palette = {
|
|
|
98
96
|
200: "#f1f1f3",
|
|
99
97
|
300: "#ebebed",
|
|
100
98
|
400: "#e5e5e8",
|
|
101
|
-
500: "#
|
|
99
|
+
500: "#dfdfe2",
|
|
102
100
|
600: "#cbcbcf",
|
|
103
101
|
700: "#a0a0a5",
|
|
104
102
|
800: "#787880",
|
|
@@ -121,9 +119,9 @@ const palette = {
|
|
|
121
119
|
},
|
|
122
120
|
boxShadow: {
|
|
123
121
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
124
|
-
error:
|
|
125
|
-
default:
|
|
122
|
+
error: lavenderSource.boxShadow.error,
|
|
123
|
+
default: lavenderSource.boxShadow.default
|
|
126
124
|
}
|
|
127
125
|
};
|
|
128
|
-
export default
|
|
126
|
+
export default finalizePalette(source);
|
|
129
127
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
4
|
+
import { source as lavenderSource } from "../lavender/palette.light.js";
|
|
4
5
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
5
6
|
const PRIMARY_500 = "#004f4b";
|
|
6
7
|
const primary = {
|
|
@@ -20,8 +21,8 @@ const primary = {
|
|
|
20
21
|
// No `tertiary` override — storefront inherits lavender's purple tertiary, as web ships it.
|
|
21
22
|
// Same for `secondary`, `semantic`, the 9 utility hues, `text`/`header`/`placeholder`/`disabled`,
|
|
22
23
|
// and `transparent`/`black`/`white`.
|
|
23
|
-
const
|
|
24
|
-
...
|
|
24
|
+
export const source = {
|
|
25
|
+
...lavenderSource,
|
|
25
26
|
gradient: {
|
|
26
27
|
from: "#0c7d77",
|
|
27
28
|
to: "#095e90"
|
|
@@ -119,9 +120,9 @@ const palette = {
|
|
|
119
120
|
},
|
|
120
121
|
boxShadow: {
|
|
121
122
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
122
|
-
error:
|
|
123
|
-
default:
|
|
123
|
+
error: lavenderSource.boxShadow.error,
|
|
124
|
+
default: lavenderSource.boxShadow.default
|
|
124
125
|
}
|
|
125
126
|
};
|
|
126
|
-
export default
|
|
127
|
+
export default finalizePalette(source);
|
|
127
128
|
//# sourceMappingURL=palette.light.js.map
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
4
4
|
import buildDarkPalette from "../../builders/buildDarkPalette.js";
|
|
5
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
5
6
|
import light from "./palette.light.js";
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -190,7 +191,7 @@ const sidebar = {
|
|
|
190
191
|
900: "#040405"
|
|
191
192
|
}
|
|
192
193
|
};
|
|
193
|
-
const palette = {
|
|
194
|
+
const palette = finalizePalette({
|
|
194
195
|
...derived,
|
|
195
196
|
gradient: {
|
|
196
197
|
from: PRIMARY_500,
|
|
@@ -217,6 +218,6 @@ const palette = {
|
|
|
217
218
|
error: derived.boxShadow.error,
|
|
218
219
|
default: "#00000080"
|
|
219
220
|
}
|
|
220
|
-
};
|
|
221
|
+
});
|
|
221
222
|
export default palette;
|
|
222
223
|
//# sourceMappingURL=palette.dark.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import finalizePalette from "../../builders/finalizePalette.js";
|
|
3
4
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -356,7 +357,7 @@ const gradient = {
|
|
|
356
357
|
from: "#18181b",
|
|
357
358
|
to: "#52525b"
|
|
358
359
|
};
|
|
359
|
-
const
|
|
360
|
+
export const source = {
|
|
360
361
|
gradient,
|
|
361
362
|
primary,
|
|
362
363
|
secondary,
|
|
@@ -389,5 +390,5 @@ const palette = {
|
|
|
389
390
|
table,
|
|
390
391
|
disabled
|
|
391
392
|
};
|
|
392
|
-
export default
|
|
393
|
+
export default finalizePalette(source);
|
|
393
394
|
//# sourceMappingURL=palette.light.js.map
|