pixelize-native-library 1.0.6
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/README.md +34 -0
- package/lib/module/core/MODULE.md +94 -0
- package/lib/module/core/a11y/MODULE.md +22 -0
- package/lib/module/core/a11y/index.js +26 -0
- package/lib/module/core/a11y/index.js.map +1 -0
- package/lib/module/core/icon/MODULE.md +35 -0
- package/lib/module/core/icon/index.js +92 -0
- package/lib/module/core/icon/index.js.map +1 -0
- package/lib/module/core/style/index.js +4 -0
- package/lib/module/core/style/index.js.map +1 -0
- package/lib/module/core/style/layoutStyle.js +4 -0
- package/lib/module/core/style/layoutStyle.js.map +1 -0
- package/lib/module/core/style/variants.js +115 -0
- package/lib/module/core/style/variants.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/modules/accordion/Accordion.js +194 -0
- package/lib/module/modules/accordion/Accordion.js.map +1 -0
- package/lib/module/modules/accordion/Accordion.variants.js +143 -0
- package/lib/module/modules/accordion/Accordion.variants.js.map +1 -0
- package/lib/module/modules/accordion/MODULE.md +97 -0
- package/lib/module/modules/accordion/index.js +10 -0
- package/lib/module/modules/accordion/index.js.map +1 -0
- package/lib/module/modules/alert-dialog/AlertDialog.js +62 -0
- package/lib/module/modules/alert-dialog/AlertDialog.js.map +1 -0
- package/lib/module/modules/alert-dialog/AlertDialog.variants.js +44 -0
- package/lib/module/modules/alert-dialog/AlertDialog.variants.js.map +1 -0
- package/lib/module/modules/alert-dialog/MODULE.md +81 -0
- package/lib/module/modules/alert-dialog/index.js +10 -0
- package/lib/module/modules/alert-dialog/index.js.map +1 -0
- package/lib/module/modules/avatar/Avatar.js +57 -0
- package/lib/module/modules/avatar/Avatar.js.map +1 -0
- package/lib/module/modules/avatar/Avatar.variants.js +127 -0
- package/lib/module/modules/avatar/Avatar.variants.js.map +1 -0
- package/lib/module/modules/avatar/MODULE.md +76 -0
- package/lib/module/modules/avatar/index.js +12 -0
- package/lib/module/modules/avatar/index.js.map +1 -0
- package/lib/module/modules/badge/Badge.js +56 -0
- package/lib/module/modules/badge/Badge.js.map +1 -0
- package/lib/module/modules/badge/Badge.variants.js +124 -0
- package/lib/module/modules/badge/Badge.variants.js.map +1 -0
- package/lib/module/modules/badge/MODULE.md +82 -0
- package/lib/module/modules/badge/index.js +12 -0
- package/lib/module/modules/badge/index.js.map +1 -0
- package/lib/module/modules/bottom-nav/BottomNav.js +257 -0
- package/lib/module/modules/bottom-nav/BottomNav.js.map +1 -0
- package/lib/module/modules/bottom-nav/BottomNav.search.js +153 -0
- package/lib/module/modules/bottom-nav/BottomNav.search.js.map +1 -0
- package/lib/module/modules/bottom-nav/BottomNav.variants.js +164 -0
- package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +1 -0
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +297 -0
- package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +1 -0
- package/lib/module/modules/bottom-nav/MODULE.md +198 -0
- package/lib/module/modules/bottom-nav/index.js +16 -0
- package/lib/module/modules/bottom-nav/index.js.map +1 -0
- package/lib/module/modules/button/Button.js +173 -0
- package/lib/module/modules/button/Button.js.map +1 -0
- package/lib/module/modules/button/Button.variants.js +173 -0
- package/lib/module/modules/button/Button.variants.js.map +1 -0
- package/lib/module/modules/button/MODULE.md +87 -0
- package/lib/module/modules/button/index.js +12 -0
- package/lib/module/modules/button/index.js.map +1 -0
- package/lib/module/modules/button-group/ButtonGroup.js +106 -0
- package/lib/module/modules/button-group/ButtonGroup.js.map +1 -0
- package/lib/module/modules/button-group/ButtonGroup.variants.js +220 -0
- package/lib/module/modules/button-group/ButtonGroup.variants.js.map +1 -0
- package/lib/module/modules/button-group/MODULE.md +129 -0
- package/lib/module/modules/button-group/index.js +11 -0
- package/lib/module/modules/button-group/index.js.map +1 -0
- package/lib/module/modules/card/Card.js +39 -0
- package/lib/module/modules/card/Card.js.map +1 -0
- package/lib/module/modules/card/Card.variants.js +75 -0
- package/lib/module/modules/card/Card.variants.js.map +1 -0
- package/lib/module/modules/card/MODULE.md +81 -0
- package/lib/module/modules/card/index.js +10 -0
- package/lib/module/modules/card/index.js.map +1 -0
- package/lib/module/modules/checkbox/Checkbox.js +115 -0
- package/lib/module/modules/checkbox/Checkbox.js.map +1 -0
- package/lib/module/modules/checkbox/Checkbox.variants.js +122 -0
- package/lib/module/modules/checkbox/Checkbox.variants.js.map +1 -0
- package/lib/module/modules/checkbox/MODULE.md +76 -0
- package/lib/module/modules/checkbox/index.js +11 -0
- package/lib/module/modules/checkbox/index.js.map +1 -0
- package/lib/module/modules/divider/Divider.js +35 -0
- package/lib/module/modules/divider/Divider.js.map +1 -0
- package/lib/module/modules/divider/Divider.variants.js +51 -0
- package/lib/module/modules/divider/Divider.variants.js.map +1 -0
- package/lib/module/modules/divider/MODULE.md +61 -0
- package/lib/module/modules/divider/index.js +10 -0
- package/lib/module/modules/divider/index.js.map +1 -0
- package/lib/module/modules/drawer/Drawer.js +171 -0
- package/lib/module/modules/drawer/Drawer.js.map +1 -0
- package/lib/module/modules/drawer/Drawer.variants.js +118 -0
- package/lib/module/modules/drawer/Drawer.variants.js.map +1 -0
- package/lib/module/modules/drawer/MODULE.md +161 -0
- package/lib/module/modules/drawer/index.js +10 -0
- package/lib/module/modules/drawer/index.js.map +1 -0
- package/lib/module/modules/empty-state/EmptyState.js +79 -0
- package/lib/module/modules/empty-state/EmptyState.js.map +1 -0
- package/lib/module/modules/empty-state/EmptyState.variants.js +54 -0
- package/lib/module/modules/empty-state/EmptyState.variants.js.map +1 -0
- package/lib/module/modules/empty-state/MODULE.md +78 -0
- package/lib/module/modules/empty-state/index.js +13 -0
- package/lib/module/modules/empty-state/index.js.map +1 -0
- package/lib/module/modules/file-upload/FileUpload.js +132 -0
- package/lib/module/modules/file-upload/FileUpload.js.map +1 -0
- package/lib/module/modules/file-upload/FileUpload.variants.js +179 -0
- package/lib/module/modules/file-upload/FileUpload.variants.js.map +1 -0
- package/lib/module/modules/file-upload/MODULE.md +130 -0
- package/lib/module/modules/file-upload/index.js +10 -0
- package/lib/module/modules/file-upload/index.js.map +1 -0
- package/lib/module/modules/filter-sheet/FilterChip.js +79 -0
- package/lib/module/modules/filter-sheet/FilterChip.js.map +1 -0
- package/lib/module/modules/filter-sheet/FilterSheet.js +98 -0
- package/lib/module/modules/filter-sheet/FilterSheet.js.map +1 -0
- package/lib/module/modules/filter-sheet/FilterSheet.variants.js +156 -0
- package/lib/module/modules/filter-sheet/FilterSheet.variants.js.map +1 -0
- package/lib/module/modules/filter-sheet/FilterSheetBody.js +175 -0
- package/lib/module/modules/filter-sheet/FilterSheetBody.js.map +1 -0
- package/lib/module/modules/filter-sheet/MODULE.md +115 -0
- package/lib/module/modules/filter-sheet/filterSheet.helpers.js +90 -0
- package/lib/module/modules/filter-sheet/filterSheet.helpers.js.map +1 -0
- package/lib/module/modules/filter-sheet/index.js +14 -0
- package/lib/module/modules/filter-sheet/index.js.map +1 -0
- package/lib/module/modules/input/Input.js +132 -0
- package/lib/module/modules/input/Input.js.map +1 -0
- package/lib/module/modules/input/Input.variants.js +122 -0
- package/lib/module/modules/input/Input.variants.js.map +1 -0
- package/lib/module/modules/input/MODULE.md +97 -0
- package/lib/module/modules/input/index.js +13 -0
- package/lib/module/modules/input/index.js.map +1 -0
- package/lib/module/modules/menu/MODULE.md +103 -0
- package/lib/module/modules/menu/Menu.js +128 -0
- package/lib/module/modules/menu/Menu.js.map +1 -0
- package/lib/module/modules/menu/Menu.variants.js +75 -0
- package/lib/module/modules/menu/Menu.variants.js.map +1 -0
- package/lib/module/modules/menu/index.js +12 -0
- package/lib/module/modules/menu/index.js.map +1 -0
- package/lib/module/modules/modal/MODULE.md +138 -0
- package/lib/module/modules/modal/Modal.js +101 -0
- package/lib/module/modules/modal/Modal.js.map +1 -0
- package/lib/module/modules/modal/Modal.variants.js +92 -0
- package/lib/module/modules/modal/Modal.variants.js.map +1 -0
- package/lib/module/modules/modal/ModalPortalContext.js +25 -0
- package/lib/module/modules/modal/ModalPortalContext.js.map +1 -0
- package/lib/module/modules/modal/ModalPortalProvider.js +22 -0
- package/lib/module/modules/modal/ModalPortalProvider.js.map +1 -0
- package/lib/module/modules/modal/index.js +16 -0
- package/lib/module/modules/modal/index.js.map +1 -0
- package/lib/module/modules/modal/renderWebPortal.js +18 -0
- package/lib/module/modules/modal/renderWebPortal.js.map +1 -0
- package/lib/module/modules/modal/renderWebPortal.web.js +24 -0
- package/lib/module/modules/modal/renderWebPortal.web.js.map +1 -0
- package/lib/module/modules/multi-select/MODULE.md +100 -0
- package/lib/module/modules/multi-select/MultiSelect.js +204 -0
- package/lib/module/modules/multi-select/MultiSelect.js.map +1 -0
- package/lib/module/modules/multi-select/MultiSelect.variants.js +195 -0
- package/lib/module/modules/multi-select/MultiSelect.variants.js.map +1 -0
- package/lib/module/modules/multi-select/index.js +11 -0
- package/lib/module/modules/multi-select/index.js.map +1 -0
- package/lib/module/modules/number-input/MODULE.md +108 -0
- package/lib/module/modules/number-input/NumberInput.js +253 -0
- package/lib/module/modules/number-input/NumberInput.js.map +1 -0
- package/lib/module/modules/number-input/NumberInput.variants.js +200 -0
- package/lib/module/modules/number-input/NumberInput.variants.js.map +1 -0
- package/lib/module/modules/number-input/index.js +12 -0
- package/lib/module/modules/number-input/index.js.map +1 -0
- package/lib/module/modules/pin-input/MODULE.md +134 -0
- package/lib/module/modules/pin-input/PinInput.js +158 -0
- package/lib/module/modules/pin-input/PinInput.js.map +1 -0
- package/lib/module/modules/pin-input/PinInput.variants.js +183 -0
- package/lib/module/modules/pin-input/PinInput.variants.js.map +1 -0
- package/lib/module/modules/pin-input/index.js +11 -0
- package/lib/module/modules/pin-input/index.js.map +1 -0
- package/lib/module/modules/progress-bar/MODULE.md +101 -0
- package/lib/module/modules/progress-bar/ProgressBar.js +102 -0
- package/lib/module/modules/progress-bar/ProgressBar.js.map +1 -0
- package/lib/module/modules/progress-bar/ProgressBar.variants.js +151 -0
- package/lib/module/modules/progress-bar/ProgressBar.variants.js.map +1 -0
- package/lib/module/modules/progress-bar/index.js +12 -0
- package/lib/module/modules/progress-bar/index.js.map +1 -0
- package/lib/module/modules/radio-group/MODULE.md +75 -0
- package/lib/module/modules/radio-group/RadioGroup.js +87 -0
- package/lib/module/modules/radio-group/RadioGroup.js.map +1 -0
- package/lib/module/modules/radio-group/RadioGroup.variants.js +163 -0
- package/lib/module/modules/radio-group/RadioGroup.variants.js.map +1 -0
- package/lib/module/modules/radio-group/index.js +11 -0
- package/lib/module/modules/radio-group/index.js.map +1 -0
- package/lib/module/modules/reorder/MODULE.md +131 -0
- package/lib/module/modules/reorder/Reorder.js +291 -0
- package/lib/module/modules/reorder/Reorder.js.map +1 -0
- package/lib/module/modules/reorder/Reorder.variants.js +172 -0
- package/lib/module/modules/reorder/Reorder.variants.js.map +1 -0
- package/lib/module/modules/reorder/index.js +11 -0
- package/lib/module/modules/reorder/index.js.map +1 -0
- package/lib/module/modules/select/MODULE.md +91 -0
- package/lib/module/modules/select/Select.js +178 -0
- package/lib/module/modules/select/Select.js.map +1 -0
- package/lib/module/modules/select/Select.variants.js +146 -0
- package/lib/module/modules/select/Select.variants.js.map +1 -0
- package/lib/module/modules/select/index.js +10 -0
- package/lib/module/modules/select/index.js.map +1 -0
- package/lib/module/modules/skeleton/MODULE.md +87 -0
- package/lib/module/modules/skeleton/Skeleton.js +78 -0
- package/lib/module/modules/skeleton/Skeleton.js.map +1 -0
- package/lib/module/modules/skeleton/Skeleton.variants.js +145 -0
- package/lib/module/modules/skeleton/Skeleton.variants.js.map +1 -0
- package/lib/module/modules/skeleton/index.js +10 -0
- package/lib/module/modules/skeleton/index.js.map +1 -0
- package/lib/module/modules/slider/MODULE.md +95 -0
- package/lib/module/modules/slider/Slider.js +183 -0
- package/lib/module/modules/slider/Slider.js.map +1 -0
- package/lib/module/modules/slider/Slider.variants.js +258 -0
- package/lib/module/modules/slider/Slider.variants.js.map +1 -0
- package/lib/module/modules/slider/index.js +10 -0
- package/lib/module/modules/slider/index.js.map +1 -0
- package/lib/module/modules/spinner/MODULE.md +97 -0
- package/lib/module/modules/spinner/Spinner.js +58 -0
- package/lib/module/modules/spinner/Spinner.js.map +1 -0
- package/lib/module/modules/spinner/Spinner.variants.js +131 -0
- package/lib/module/modules/spinner/Spinner.variants.js.map +1 -0
- package/lib/module/modules/spinner/index.js +11 -0
- package/lib/module/modules/spinner/index.js.map +1 -0
- package/lib/module/modules/stepper/MODULE.md +88 -0
- package/lib/module/modules/stepper/Stepper.js +100 -0
- package/lib/module/modules/stepper/Stepper.js.map +1 -0
- package/lib/module/modules/stepper/Stepper.variants.js +146 -0
- package/lib/module/modules/stepper/Stepper.variants.js.map +1 -0
- package/lib/module/modules/stepper/index.js +10 -0
- package/lib/module/modules/stepper/index.js.map +1 -0
- package/lib/module/modules/switch/MODULE.md +65 -0
- package/lib/module/modules/switch/Switch.js +53 -0
- package/lib/module/modules/switch/Switch.js.map +1 -0
- package/lib/module/modules/switch/Switch.variants.js +61 -0
- package/lib/module/modules/switch/Switch.variants.js.map +1 -0
- package/lib/module/modules/switch/index.js +10 -0
- package/lib/module/modules/switch/index.js.map +1 -0
- package/lib/module/modules/tabs/MODULE.md +80 -0
- package/lib/module/modules/tabs/Tabs.js +127 -0
- package/lib/module/modules/tabs/Tabs.js.map +1 -0
- package/lib/module/modules/tabs/Tabs.variants.js +135 -0
- package/lib/module/modules/tabs/Tabs.variants.js.map +1 -0
- package/lib/module/modules/tabs/index.js +12 -0
- package/lib/module/modules/tabs/index.js.map +1 -0
- package/lib/module/modules/textarea/MODULE.md +91 -0
- package/lib/module/modules/textarea/Textarea.js +136 -0
- package/lib/module/modules/textarea/Textarea.js.map +1 -0
- package/lib/module/modules/textarea/Textarea.variants.js +113 -0
- package/lib/module/modules/textarea/Textarea.variants.js.map +1 -0
- package/lib/module/modules/textarea/index.js +10 -0
- package/lib/module/modules/textarea/index.js.map +1 -0
- package/lib/module/modules/timeline/MODULE.md +95 -0
- package/lib/module/modules/timeline/Timeline.js +92 -0
- package/lib/module/modules/timeline/Timeline.js.map +1 -0
- package/lib/module/modules/timeline/Timeline.variants.js +146 -0
- package/lib/module/modules/timeline/Timeline.variants.js.map +1 -0
- package/lib/module/modules/timeline/index.js +12 -0
- package/lib/module/modules/timeline/index.js.map +1 -0
- package/lib/module/modules/toast/MODULE.md +104 -0
- package/lib/module/modules/toast/Toast.js +178 -0
- package/lib/module/modules/toast/Toast.js.map +1 -0
- package/lib/module/modules/toast/Toast.variants.js +120 -0
- package/lib/module/modules/toast/Toast.variants.js.map +1 -0
- package/lib/module/modules/toast/index.js +13 -0
- package/lib/module/modules/toast/index.js.map +1 -0
- package/lib/module/modules/tooltip/MODULE.md +86 -0
- package/lib/module/modules/tooltip/Tooltip.js +115 -0
- package/lib/module/modules/tooltip/Tooltip.js.map +1 -0
- package/lib/module/modules/tooltip/Tooltip.variants.js +75 -0
- package/lib/module/modules/tooltip/Tooltip.variants.js.map +1 -0
- package/lib/module/modules/tooltip/index.js +10 -0
- package/lib/module/modules/tooltip/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme/MODULE.md +87 -0
- package/lib/module/theme/index.js +15 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/platform/MODULE.md +102 -0
- package/lib/module/theme/platform/colorScheme.native.js +24 -0
- package/lib/module/theme/platform/colorScheme.native.js.map +1 -0
- package/lib/module/theme/platform/elevation.native.js +75 -0
- package/lib/module/theme/platform/elevation.native.js.map +1 -0
- package/lib/module/theme/platform/fonts.native.js +58 -0
- package/lib/module/theme/platform/fonts.native.js.map +1 -0
- package/lib/module/theme/platform/index.js +14 -0
- package/lib/module/theme/platform/index.js.map +1 -0
- package/lib/module/theme/platform/units.native.js +18 -0
- package/lib/module/theme/platform/units.native.js.map +1 -0
- package/lib/module/theme/provider/PixelizeProvider.js +149 -0
- package/lib/module/theme/provider/PixelizeProvider.js.map +1 -0
- package/lib/module/theme/provider/colorModeStorage.js +63 -0
- package/lib/module/theme/provider/colorModeStorage.js.map +1 -0
- package/lib/module/theme/provider/index.js +8 -0
- package/lib/module/theme/provider/index.js.map +1 -0
- package/lib/module/theme/provider/useTheme.js +13 -0
- package/lib/module/theme/provider/useTheme.js.map +1 -0
- package/lib/module/theme/provider/useThemeColors.js +13 -0
- package/lib/module/theme/provider/useThemeColors.js.map +1 -0
- package/lib/module/theme/provider/useThemeMode.js +13 -0
- package/lib/module/theme/provider/useThemeMode.js.map +1 -0
- package/lib/module/theme/tokens/MODULE.md +102 -0
- package/lib/module/theme/tokens/brands/emerald/palette.dark.js +9 -0
- package/lib/module/theme/tokens/brands/emerald/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/emerald/palette.light.js +125 -0
- package/lib/module/theme/tokens/brands/emerald/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/index.js +91 -0
- package/lib/module/theme/tokens/brands/index.js.map +1 -0
- package/lib/module/theme/tokens/brands/lavender/palette.dark.js +9 -0
- package/lib/module/theme/tokens/brands/lavender/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/lavender/palette.light.js +376 -0
- package/lib/module/theme/tokens/brands/lavender/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/meadow/palette.dark.js +9 -0
- package/lib/module/theme/tokens/brands/meadow/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/meadow/palette.light.js +126 -0
- package/lib/module/theme/tokens/brands/meadow/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/radiant/palette.dark.js +9 -0
- package/lib/module/theme/tokens/brands/radiant/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/radiant/palette.light.js +125 -0
- package/lib/module/theme/tokens/brands/radiant/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/rosewood/palette.dark.js +9 -0
- package/lib/module/theme/tokens/brands/rosewood/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/rosewood/palette.light.js +125 -0
- package/lib/module/theme/tokens/brands/rosewood/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/skyline/palette.dark.js +9 -0
- package/lib/module/theme/tokens/brands/skyline/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/skyline/palette.light.js +126 -0
- package/lib/module/theme/tokens/brands/skyline/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/slate/palette.dark.js +11 -0
- package/lib/module/theme/tokens/brands/slate/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/slate/palette.light.js +129 -0
- package/lib/module/theme/tokens/brands/slate/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/storefront/palette.dark.js +7 -0
- package/lib/module/theme/tokens/brands/storefront/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/storefront/palette.light.js +127 -0
- package/lib/module/theme/tokens/brands/storefront/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/brands/zinc/palette.dark.js +222 -0
- package/lib/module/theme/tokens/brands/zinc/palette.dark.js.map +1 -0
- package/lib/module/theme/tokens/brands/zinc/palette.light.js +393 -0
- package/lib/module/theme/tokens/brands/zinc/palette.light.js.map +1 -0
- package/lib/module/theme/tokens/builders/accentText.js +66 -0
- package/lib/module/theme/tokens/builders/accentText.js.map +1 -0
- package/lib/module/theme/tokens/builders/buildBrandTokens.js +38 -0
- package/lib/module/theme/tokens/builders/buildBrandTokens.js.map +1 -0
- package/lib/module/theme/tokens/builders/buildDarkPalette.js +300 -0
- package/lib/module/theme/tokens/builders/buildDarkPalette.js.map +1 -0
- package/lib/module/theme/tokens/builders/color.js +187 -0
- package/lib/module/theme/tokens/builders/color.js.map +1 -0
- package/lib/module/theme/tokens/index.js +27 -0
- package/lib/module/theme/tokens/index.js.map +1 -0
- package/lib/module/theme/tokens/primitives/borderWidths.js +16 -0
- package/lib/module/theme/tokens/primitives/borderWidths.js.map +1 -0
- package/lib/module/theme/tokens/primitives/breakpoints.js +18 -0
- package/lib/module/theme/tokens/primitives/breakpoints.js.map +1 -0
- package/lib/module/theme/tokens/primitives/elevation.js +95 -0
- package/lib/module/theme/tokens/primitives/elevation.js.map +1 -0
- package/lib/module/theme/tokens/primitives/fontSizes.js +22 -0
- package/lib/module/theme/tokens/primitives/fontSizes.js.map +1 -0
- package/lib/module/theme/tokens/primitives/fontWeights.js +23 -0
- package/lib/module/theme/tokens/primitives/fontWeights.js.map +1 -0
- package/lib/module/theme/tokens/primitives/index.js +14 -0
- package/lib/module/theme/tokens/primitives/index.js.map +1 -0
- package/lib/module/theme/tokens/primitives/letterSpacings.js +18 -0
- package/lib/module/theme/tokens/primitives/letterSpacings.js.map +1 -0
- package/lib/module/theme/tokens/primitives/lineHeights.js +21 -0
- package/lib/module/theme/tokens/primitives/lineHeights.js.map +1 -0
- package/lib/module/theme/tokens/primitives/radii.js +21 -0
- package/lib/module/theme/tokens/primitives/radii.js.map +1 -0
- package/lib/module/theme/tokens/primitives/sizes.js +34 -0
- package/lib/module/theme/tokens/primitives/sizes.js.map +1 -0
- package/lib/module/theme/tokens/primitives/space.js +30 -0
- package/lib/module/theme/tokens/primitives/space.js.map +1 -0
- package/lib/module/theme/tokens/primitives/zIndices.js +23 -0
- package/lib/module/theme/tokens/primitives/zIndices.js.map +1 -0
- package/lib/module/theme/tokens/roles/index.js +126 -0
- package/lib/module/theme/tokens/roles/index.js.map +1 -0
- package/lib/module/theme/tokens/types.js +2 -0
- package/lib/module/theme/tokens/types.js.map +1 -0
- package/lib/typescript/core/a11y/index.d.ts +7 -0
- package/lib/typescript/core/a11y/index.d.ts.map +1 -0
- package/lib/typescript/core/icon/index.d.ts +60 -0
- package/lib/typescript/core/icon/index.d.ts.map +1 -0
- package/lib/typescript/core/style/index.d.ts +4 -0
- package/lib/typescript/core/style/index.d.ts.map +1 -0
- package/lib/typescript/core/style/layoutStyle.d.ts +19 -0
- package/lib/typescript/core/style/layoutStyle.d.ts.map +1 -0
- package/lib/typescript/core/style/variants.d.ts +55 -0
- package/lib/typescript/core/style/variants.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +11 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/modules/accordion/Accordion.d.ts +57 -0
- package/lib/typescript/modules/accordion/Accordion.d.ts.map +1 -0
- package/lib/typescript/modules/accordion/Accordion.variants.d.ts +131 -0
- package/lib/typescript/modules/accordion/Accordion.variants.d.ts.map +1 -0
- package/lib/typescript/modules/accordion/index.d.ts +9 -0
- package/lib/typescript/modules/accordion/index.d.ts.map +1 -0
- package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts +24 -0
- package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts.map +1 -0
- package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +29 -0
- package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts.map +1 -0
- package/lib/typescript/modules/alert-dialog/index.d.ts +9 -0
- package/lib/typescript/modules/alert-dialog/index.d.ts.map +1 -0
- package/lib/typescript/modules/avatar/Avatar.d.ts +30 -0
- package/lib/typescript/modules/avatar/Avatar.d.ts.map +1 -0
- package/lib/typescript/modules/avatar/Avatar.variants.d.ts +123 -0
- package/lib/typescript/modules/avatar/Avatar.variants.d.ts.map +1 -0
- package/lib/typescript/modules/avatar/index.d.ts +11 -0
- package/lib/typescript/modules/avatar/index.d.ts.map +1 -0
- package/lib/typescript/modules/badge/Badge.d.ts +19 -0
- package/lib/typescript/modules/badge/Badge.d.ts.map +1 -0
- package/lib/typescript/modules/badge/Badge.variants.d.ts +102 -0
- package/lib/typescript/modules/badge/Badge.variants.d.ts.map +1 -0
- package/lib/typescript/modules/badge/index.d.ts +10 -0
- package/lib/typescript/modules/badge/index.d.ts.map +1 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +106 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +1 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts +61 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts.map +1 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +122 -0
- package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +1 -0
- package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts +39 -0
- package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +1 -0
- package/lib/typescript/modules/bottom-nav/index.d.ts +12 -0
- package/lib/typescript/modules/bottom-nav/index.d.ts.map +1 -0
- package/lib/typescript/modules/button/Button.d.ts +43 -0
- package/lib/typescript/modules/button/Button.d.ts.map +1 -0
- package/lib/typescript/modules/button/Button.variants.d.ts +156 -0
- package/lib/typescript/modules/button/Button.variants.d.ts.map +1 -0
- package/lib/typescript/modules/button/index.d.ts +10 -0
- package/lib/typescript/modules/button/index.d.ts.map +1 -0
- package/lib/typescript/modules/button-group/ButtonGroup.d.ts +37 -0
- package/lib/typescript/modules/button-group/ButtonGroup.d.ts.map +1 -0
- package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +217 -0
- package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts.map +1 -0
- package/lib/typescript/modules/button-group/index.d.ts +10 -0
- package/lib/typescript/modules/button-group/index.d.ts.map +1 -0
- package/lib/typescript/modules/card/Card.d.ts +20 -0
- package/lib/typescript/modules/card/Card.d.ts.map +1 -0
- package/lib/typescript/modules/card/Card.variants.d.ts +51 -0
- package/lib/typescript/modules/card/Card.variants.d.ts.map +1 -0
- package/lib/typescript/modules/card/index.d.ts +9 -0
- package/lib/typescript/modules/card/index.d.ts.map +1 -0
- package/lib/typescript/modules/checkbox/Checkbox.d.ts +43 -0
- package/lib/typescript/modules/checkbox/Checkbox.d.ts.map +1 -0
- package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +120 -0
- package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts.map +1 -0
- package/lib/typescript/modules/checkbox/index.d.ts +10 -0
- package/lib/typescript/modules/checkbox/index.d.ts.map +1 -0
- package/lib/typescript/modules/divider/Divider.d.ts +18 -0
- package/lib/typescript/modules/divider/Divider.d.ts.map +1 -0
- package/lib/typescript/modules/divider/Divider.variants.d.ts +42 -0
- package/lib/typescript/modules/divider/Divider.variants.d.ts.map +1 -0
- package/lib/typescript/modules/divider/index.d.ts +9 -0
- package/lib/typescript/modules/divider/index.d.ts.map +1 -0
- package/lib/typescript/modules/drawer/Drawer.d.ts +44 -0
- package/lib/typescript/modules/drawer/Drawer.d.ts.map +1 -0
- package/lib/typescript/modules/drawer/Drawer.variants.d.ts +80 -0
- package/lib/typescript/modules/drawer/Drawer.variants.d.ts.map +1 -0
- package/lib/typescript/modules/drawer/index.d.ts +8 -0
- package/lib/typescript/modules/drawer/index.d.ts.map +1 -0
- package/lib/typescript/modules/empty-state/EmptyState.d.ts +29 -0
- package/lib/typescript/modules/empty-state/EmptyState.d.ts.map +1 -0
- package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +43 -0
- package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts.map +1 -0
- package/lib/typescript/modules/empty-state/index.d.ts +10 -0
- package/lib/typescript/modules/empty-state/index.d.ts.map +1 -0
- package/lib/typescript/modules/file-upload/FileUpload.d.ts +44 -0
- package/lib/typescript/modules/file-upload/FileUpload.d.ts.map +1 -0
- package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts +114 -0
- package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts.map +1 -0
- package/lib/typescript/modules/file-upload/index.d.ts +9 -0
- package/lib/typescript/modules/file-upload/index.d.ts.map +1 -0
- package/lib/typescript/modules/filter-sheet/FilterChip.d.ts +25 -0
- package/lib/typescript/modules/filter-sheet/FilterChip.d.ts.map +1 -0
- package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts +54 -0
- package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts.map +1 -0
- package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +98 -0
- package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts.map +1 -0
- package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +28 -0
- package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts.map +1 -0
- package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts +45 -0
- package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts.map +1 -0
- package/lib/typescript/modules/filter-sheet/index.d.ts +12 -0
- package/lib/typescript/modules/filter-sheet/index.d.ts.map +1 -0
- package/lib/typescript/modules/input/Input.d.ts +33 -0
- package/lib/typescript/modules/input/Input.d.ts.map +1 -0
- package/lib/typescript/modules/input/Input.variants.d.ts +116 -0
- package/lib/typescript/modules/input/Input.variants.d.ts.map +1 -0
- package/lib/typescript/modules/input/index.d.ts +10 -0
- package/lib/typescript/modules/input/index.d.ts.map +1 -0
- package/lib/typescript/modules/menu/Menu.d.ts +43 -0
- package/lib/typescript/modules/menu/Menu.d.ts.map +1 -0
- package/lib/typescript/modules/menu/Menu.variants.d.ts +41 -0
- package/lib/typescript/modules/menu/Menu.variants.d.ts.map +1 -0
- package/lib/typescript/modules/menu/index.d.ts +10 -0
- package/lib/typescript/modules/menu/index.d.ts.map +1 -0
- package/lib/typescript/modules/modal/Modal.d.ts +32 -0
- package/lib/typescript/modules/modal/Modal.d.ts.map +1 -0
- package/lib/typescript/modules/modal/Modal.variants.d.ts +72 -0
- package/lib/typescript/modules/modal/Modal.variants.d.ts.map +1 -0
- package/lib/typescript/modules/modal/ModalPortalContext.d.ts +2 -0
- package/lib/typescript/modules/modal/ModalPortalContext.d.ts.map +1 -0
- package/lib/typescript/modules/modal/ModalPortalProvider.d.ts +21 -0
- package/lib/typescript/modules/modal/ModalPortalProvider.d.ts.map +1 -0
- package/lib/typescript/modules/modal/index.d.ts +16 -0
- package/lib/typescript/modules/modal/index.d.ts.map +1 -0
- package/lib/typescript/modules/modal/renderWebPortal.d.ts +15 -0
- package/lib/typescript/modules/modal/renderWebPortal.d.ts.map +1 -0
- package/lib/typescript/modules/modal/renderWebPortal.web.d.ts +19 -0
- package/lib/typescript/modules/modal/renderWebPortal.web.d.ts.map +1 -0
- package/lib/typescript/modules/multi-select/MultiSelect.d.ts +33 -0
- package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +1 -0
- package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +149 -0
- package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts.map +1 -0
- package/lib/typescript/modules/multi-select/index.d.ts +10 -0
- package/lib/typescript/modules/multi-select/index.d.ts.map +1 -0
- package/lib/typescript/modules/number-input/NumberInput.d.ts +34 -0
- package/lib/typescript/modules/number-input/NumberInput.d.ts.map +1 -0
- package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +170 -0
- package/lib/typescript/modules/number-input/NumberInput.variants.d.ts.map +1 -0
- package/lib/typescript/modules/number-input/index.d.ts +11 -0
- package/lib/typescript/modules/number-input/index.d.ts.map +1 -0
- package/lib/typescript/modules/pin-input/PinInput.d.ts +40 -0
- package/lib/typescript/modules/pin-input/PinInput.d.ts.map +1 -0
- package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +164 -0
- package/lib/typescript/modules/pin-input/PinInput.variants.d.ts.map +1 -0
- package/lib/typescript/modules/pin-input/index.d.ts +10 -0
- package/lib/typescript/modules/pin-input/index.d.ts.map +1 -0
- package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +21 -0
- package/lib/typescript/modules/progress-bar/ProgressBar.d.ts.map +1 -0
- package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts +112 -0
- package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts.map +1 -0
- package/lib/typescript/modules/progress-bar/index.d.ts +11 -0
- package/lib/typescript/modules/progress-bar/index.d.ts.map +1 -0
- package/lib/typescript/modules/radio-group/RadioGroup.d.ts +27 -0
- package/lib/typescript/modules/radio-group/RadioGroup.d.ts.map +1 -0
- package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +142 -0
- package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts.map +1 -0
- package/lib/typescript/modules/radio-group/index.d.ts +10 -0
- package/lib/typescript/modules/radio-group/index.d.ts.map +1 -0
- package/lib/typescript/modules/reorder/Reorder.d.ts +43 -0
- package/lib/typescript/modules/reorder/Reorder.d.ts.map +1 -0
- package/lib/typescript/modules/reorder/Reorder.variants.d.ts +116 -0
- package/lib/typescript/modules/reorder/Reorder.variants.d.ts.map +1 -0
- package/lib/typescript/modules/reorder/index.d.ts +9 -0
- package/lib/typescript/modules/reorder/index.d.ts.map +1 -0
- package/lib/typescript/modules/select/Select.d.ts +31 -0
- package/lib/typescript/modules/select/Select.d.ts.map +1 -0
- package/lib/typescript/modules/select/Select.variants.d.ts +127 -0
- package/lib/typescript/modules/select/Select.variants.d.ts.map +1 -0
- package/lib/typescript/modules/select/index.d.ts +9 -0
- package/lib/typescript/modules/select/index.d.ts.map +1 -0
- package/lib/typescript/modules/skeleton/Skeleton.d.ts +27 -0
- package/lib/typescript/modules/skeleton/Skeleton.d.ts.map +1 -0
- package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +119 -0
- package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts.map +1 -0
- package/lib/typescript/modules/skeleton/index.d.ts +9 -0
- package/lib/typescript/modules/skeleton/index.d.ts.map +1 -0
- package/lib/typescript/modules/slider/Slider.d.ts +44 -0
- package/lib/typescript/modules/slider/Slider.d.ts.map +1 -0
- package/lib/typescript/modules/slider/Slider.variants.d.ts +211 -0
- package/lib/typescript/modules/slider/Slider.variants.d.ts.map +1 -0
- package/lib/typescript/modules/slider/index.d.ts +9 -0
- package/lib/typescript/modules/slider/index.d.ts.map +1 -0
- package/lib/typescript/modules/spinner/Spinner.d.ts +19 -0
- package/lib/typescript/modules/spinner/Spinner.d.ts.map +1 -0
- package/lib/typescript/modules/spinner/Spinner.variants.d.ts +113 -0
- package/lib/typescript/modules/spinner/Spinner.variants.d.ts.map +1 -0
- package/lib/typescript/modules/spinner/index.d.ts +10 -0
- package/lib/typescript/modules/spinner/index.d.ts.map +1 -0
- package/lib/typescript/modules/stepper/Stepper.d.ts +26 -0
- package/lib/typescript/modules/stepper/Stepper.d.ts.map +1 -0
- package/lib/typescript/modules/stepper/Stepper.variants.d.ts +107 -0
- package/lib/typescript/modules/stepper/Stepper.variants.d.ts.map +1 -0
- package/lib/typescript/modules/stepper/index.d.ts +8 -0
- package/lib/typescript/modules/stepper/index.d.ts.map +1 -0
- package/lib/typescript/modules/switch/Switch.d.ts +22 -0
- package/lib/typescript/modules/switch/Switch.d.ts.map +1 -0
- package/lib/typescript/modules/switch/Switch.variants.d.ts +60 -0
- package/lib/typescript/modules/switch/Switch.variants.d.ts.map +1 -0
- package/lib/typescript/modules/switch/index.d.ts +8 -0
- package/lib/typescript/modules/switch/index.d.ts.map +1 -0
- package/lib/typescript/modules/tabs/Tabs.d.ts +31 -0
- package/lib/typescript/modules/tabs/Tabs.d.ts.map +1 -0
- package/lib/typescript/modules/tabs/Tabs.variants.d.ts +114 -0
- package/lib/typescript/modules/tabs/Tabs.variants.d.ts.map +1 -0
- package/lib/typescript/modules/tabs/index.d.ts +10 -0
- package/lib/typescript/modules/tabs/index.d.ts.map +1 -0
- package/lib/typescript/modules/textarea/Textarea.d.ts +25 -0
- package/lib/typescript/modules/textarea/Textarea.d.ts.map +1 -0
- package/lib/typescript/modules/textarea/Textarea.variants.d.ts +99 -0
- package/lib/typescript/modules/textarea/Textarea.variants.d.ts.map +1 -0
- package/lib/typescript/modules/textarea/index.d.ts +9 -0
- package/lib/typescript/modules/textarea/index.d.ts.map +1 -0
- package/lib/typescript/modules/timeline/Timeline.d.ts +28 -0
- package/lib/typescript/modules/timeline/Timeline.d.ts.map +1 -0
- package/lib/typescript/modules/timeline/Timeline.variants.d.ts +103 -0
- package/lib/typescript/modules/timeline/Timeline.variants.d.ts.map +1 -0
- package/lib/typescript/modules/timeline/index.d.ts +9 -0
- package/lib/typescript/modules/timeline/index.d.ts.map +1 -0
- package/lib/typescript/modules/toast/Toast.d.ts +38 -0
- package/lib/typescript/modules/toast/Toast.d.ts.map +1 -0
- package/lib/typescript/modules/toast/Toast.variants.d.ts +80 -0
- package/lib/typescript/modules/toast/Toast.variants.d.ts.map +1 -0
- package/lib/typescript/modules/toast/index.d.ts +12 -0
- package/lib/typescript/modules/toast/index.d.ts.map +1 -0
- package/lib/typescript/modules/tooltip/Tooltip.d.ts +31 -0
- package/lib/typescript/modules/tooltip/Tooltip.d.ts.map +1 -0
- package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +52 -0
- package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts.map +1 -0
- package/lib/typescript/modules/tooltip/index.d.ts +9 -0
- package/lib/typescript/modules/tooltip/index.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/theme/index.d.ts +11 -0
- package/lib/typescript/theme/index.d.ts.map +1 -0
- package/lib/typescript/theme/platform/colorScheme.native.d.ts +12 -0
- package/lib/typescript/theme/platform/colorScheme.native.d.ts.map +1 -0
- package/lib/typescript/theme/platform/elevation.native.d.ts +35 -0
- package/lib/typescript/theme/platform/elevation.native.d.ts.map +1 -0
- package/lib/typescript/theme/platform/fonts.native.d.ts +41 -0
- package/lib/typescript/theme/platform/fonts.native.d.ts.map +1 -0
- package/lib/typescript/theme/platform/index.d.ts +15 -0
- package/lib/typescript/theme/platform/index.d.ts.map +1 -0
- package/lib/typescript/theme/platform/units.native.d.ts +13 -0
- package/lib/typescript/theme/platform/units.native.d.ts.map +1 -0
- package/lib/typescript/theme/provider/PixelizeProvider.d.ts +81 -0
- package/lib/typescript/theme/provider/PixelizeProvider.d.ts.map +1 -0
- package/lib/typescript/theme/provider/colorModeStorage.d.ts +43 -0
- package/lib/typescript/theme/provider/colorModeStorage.d.ts.map +1 -0
- package/lib/typescript/theme/provider/index.d.ts +8 -0
- package/lib/typescript/theme/provider/index.d.ts.map +1 -0
- package/lib/typescript/theme/provider/useTheme.d.ts +4 -0
- package/lib/typescript/theme/provider/useTheme.d.ts.map +1 -0
- package/lib/typescript/theme/provider/useThemeColors.d.ts +9 -0
- package/lib/typescript/theme/provider/useThemeColors.d.ts.map +1 -0
- package/lib/typescript/theme/provider/useThemeMode.d.ts +4 -0
- package/lib/typescript/theme/provider/useThemeMode.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/index.d.ts +30 -0
- package/lib/typescript/theme/tokens/brands/index.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts +3 -0
- package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts +4 -0
- package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/builders/accentText.d.ts +42 -0
- package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts +21 -0
- package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts +13 -0
- package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/builders/color.d.ts +59 -0
- package/lib/typescript/theme/tokens/builders/color.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/index.d.ts +21 -0
- package/lib/typescript/theme/tokens/index.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts +15 -0
- package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts +17 -0
- package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/elevation.d.ts +109 -0
- package/lib/typescript/theme/tokens/primitives/elevation.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts +21 -0
- package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts +21 -0
- package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/index.d.ts +23 -0
- package/lib/typescript/theme/tokens/primitives/index.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts +17 -0
- package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts +20 -0
- package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/radii.d.ts +20 -0
- package/lib/typescript/theme/tokens/primitives/radii.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/sizes.d.ts +33 -0
- package/lib/typescript/theme/tokens/primitives/sizes.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/space.d.ts +29 -0
- package/lib/typescript/theme/tokens/primitives/space.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/primitives/zIndices.d.ts +22 -0
- package/lib/typescript/theme/tokens/primitives/zIndices.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/roles/index.d.ts +68 -0
- package/lib/typescript/theme/tokens/roles/index.d.ts.map +1 -0
- package/lib/typescript/theme/tokens/types.d.ts +103 -0
- package/lib/typescript/theme/tokens/types.d.ts.map +1 -0
- package/package.json +259 -0
- package/registry.json +175 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button's style + behaviour resolution — the three pure functions the component (and its tests)
|
|
3
|
+
* depend on, plus the themed structural variant resolver.
|
|
4
|
+
*
|
|
5
|
+
* The split every one of the 16 sibling components should copy:
|
|
6
|
+
* - STRUCTURE / SIZE (numbers off the theme scale) lives in the `createThemedVariants` resolver
|
|
7
|
+
* below — static per (brand, mode), registered once via `StyleSheet.create`.
|
|
8
|
+
* - COLOUR is tone-driven and resolved by `resolveButtonTone` from the theme's ROLE colours, never
|
|
9
|
+
* a raw ramp and never a hardcoded hex. That is what keeps `tone` a closed union, not a `color`.
|
|
10
|
+
* - ACCESSIBILITY prop derivation is `resolveButtonAccessibility`, kept pure so the "disabled blocks
|
|
11
|
+
* press / loading is busy" contract is unit-testable without rendering React Native.
|
|
12
|
+
*
|
|
13
|
+
* Everything here is free of `lucide` and of any React tree, so the WCAG + behaviour tests import it
|
|
14
|
+
* directly (mocking only `react-native`'s `StyleSheet`, as `core/style` does).
|
|
15
|
+
*/
|
|
16
|
+
import type { RoleColors } from "../../theme";
|
|
17
|
+
import type { Theme } from "../../theme";
|
|
18
|
+
export type ButtonVariant = "solid" | "outline" | "ghost" | "link";
|
|
19
|
+
export type ButtonSize = "sm" | "md" | "lg";
|
|
20
|
+
export type ButtonTone = "accent" | "neutral" | "danger";
|
|
21
|
+
export type IconPosition = "leading" | "trailing";
|
|
22
|
+
/**
|
|
23
|
+
* The one touch-target floor we hold every size to. 44dp is Apple's HIG minimum and WCAG 2.5.5
|
|
24
|
+
* (AAA); it comfortably exceeds 2.5.8's 24×24 (AA). Sizes shorter than this keep their visual
|
|
25
|
+
* height and reach 44 through `hitSlop` — the target grows, the control never does.
|
|
26
|
+
*/
|
|
27
|
+
export declare const MIN_TOUCH_TARGET = 44;
|
|
28
|
+
export interface ButtonSizeSpec {
|
|
29
|
+
/** Visual height in dp. */
|
|
30
|
+
readonly height: number;
|
|
31
|
+
/** Label size, on the theme's `fontSizes` scale. */
|
|
32
|
+
readonly fontSize: number;
|
|
33
|
+
/** Icon glyph size in dp. */
|
|
34
|
+
readonly iconSize: number;
|
|
35
|
+
/** Symmetric touch expansion so `height + 2·hitSlop ≥ 44` (and, for icon-only, width too). */
|
|
36
|
+
readonly hitSlop: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Button-specific dimensions. Height, icon size and slop are the component's own design constants;
|
|
40
|
+
* `fontSize` sits on the theme's `fontSizes` scale (14/16/18). Kept a plain constant — with no theme
|
|
41
|
+
* dependency — so the hit-target test can assert `height + 2·hitSlop ≥ 44` without a provider.
|
|
42
|
+
*/
|
|
43
|
+
export declare const BUTTON_SIZES: {
|
|
44
|
+
readonly sm: {
|
|
45
|
+
readonly height: 32;
|
|
46
|
+
readonly fontSize: 14;
|
|
47
|
+
readonly iconSize: 16;
|
|
48
|
+
readonly hitSlop: number;
|
|
49
|
+
};
|
|
50
|
+
readonly md: {
|
|
51
|
+
readonly height: 40;
|
|
52
|
+
readonly fontSize: 16;
|
|
53
|
+
readonly iconSize: 18;
|
|
54
|
+
readonly hitSlop: number;
|
|
55
|
+
};
|
|
56
|
+
readonly lg: {
|
|
57
|
+
readonly height: 48;
|
|
58
|
+
readonly fontSize: 18;
|
|
59
|
+
readonly iconSize: 20;
|
|
60
|
+
readonly hitSlop: number;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export interface ButtonToneColors {
|
|
64
|
+
/** Filled-variant background. */
|
|
65
|
+
readonly fill: string;
|
|
66
|
+
/** Label + icon on `fill` — the derived on-colour, so it always clears 4.5:1 (never a hard white). */
|
|
67
|
+
readonly onFill: string;
|
|
68
|
+
/** Label + icon for the transparent variants (outline / ghost / link), read on the canvas. */
|
|
69
|
+
readonly text: string;
|
|
70
|
+
/** Pressed background for the transparent variants; `text` stays ≥ 4.5:1 on it. */
|
|
71
|
+
readonly subtle: string;
|
|
72
|
+
/** Outline boundary — the neutral interactive outline (WCAG 1.4.11 ≥ 3:1 on every brand). */
|
|
73
|
+
readonly border: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Maps a `tone` onto the theme's role colours. This is the whole reason the public prop is a closed
|
|
77
|
+
* union and not `color?: string`: every colour a button can show is one of these role lookups, so it
|
|
78
|
+
* is guaranteed legible in both modes and can never be an off-palette value an app invented.
|
|
79
|
+
*
|
|
80
|
+
* The outline border is the neutral interactive outline for every tone (guaranteed ≥ 3:1); the tone
|
|
81
|
+
* is carried by the label colour, not by a tinted 1px line that would fail 1.4.11 on most brands.
|
|
82
|
+
*/
|
|
83
|
+
export declare function resolveButtonTone(colors: RoleColors, tone: ButtonTone): ButtonToneColors;
|
|
84
|
+
export interface ButtonAccessibilityInput {
|
|
85
|
+
readonly label?: string | undefined;
|
|
86
|
+
readonly accessibilityLabel?: string | undefined;
|
|
87
|
+
readonly disabled?: boolean | undefined;
|
|
88
|
+
readonly loading?: boolean | undefined;
|
|
89
|
+
readonly onPress?: (() => void) | undefined;
|
|
90
|
+
}
|
|
91
|
+
export interface ButtonAccessibilityProps {
|
|
92
|
+
readonly accessibilityRole: "button";
|
|
93
|
+
/** Falls back to the visible label; required by the type for an icon-only button. */
|
|
94
|
+
readonly accessibilityLabel: string | undefined;
|
|
95
|
+
readonly accessibilityState: {
|
|
96
|
+
readonly disabled: boolean;
|
|
97
|
+
readonly busy: boolean;
|
|
98
|
+
};
|
|
99
|
+
/** The `Pressable` disabled prop — true while disabled OR loading, so touches are blocked. */
|
|
100
|
+
readonly disabled: boolean;
|
|
101
|
+
/** Gated `onPress`: undefined while disabled or loading, so a press can't fire. */
|
|
102
|
+
readonly onPress: (() => void) | undefined;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Derives the accessibility surface once, purely, so the contract is testable without a renderer:
|
|
106
|
+
* - `loading` sets `busy` (1.4.1 — announced, never conveyed by the spinner alone),
|
|
107
|
+
* - disabled OR loading blocks the press (guarded `onPress` AND the `disabled` prop), so a loading
|
|
108
|
+
* button is non-interactive while it works.
|
|
109
|
+
*
|
|
110
|
+
* `accessibilityState.disabled` tracks the same `blocked` flag the `Pressable disabled` prop uses, so
|
|
111
|
+
* what a screen reader hears matches what actually renders: a loading button announces `busy` AND
|
|
112
|
+
* `disabled` (RN's `disabled` prop forces `disabled` into the state regardless). Reporting `busy` here
|
|
113
|
+
* while the rendered control forced `disabled` back to true would be a lie to assistive tech.
|
|
114
|
+
*/
|
|
115
|
+
export declare function resolveButtonAccessibility(input: ButtonAccessibilityInput): ButtonAccessibilityProps;
|
|
116
|
+
/**
|
|
117
|
+
* Structural styles only — layout, height, padding, radius, border WIDTH. No colours (those are
|
|
118
|
+
* tone-driven and applied inline over this), so this compiles once per theme identity via the
|
|
119
|
+
* `WeakMap`-cached themed resolver and never rebuilds per render.
|
|
120
|
+
*
|
|
121
|
+
* `size` is registered before `variant` so `link` (which zeroes horizontal padding) wins over the
|
|
122
|
+
* size's padding — resolution order is base → groups in declaration order, last write wins.
|
|
123
|
+
*/
|
|
124
|
+
export declare const buttonStructure: import("../../core/style").ThemedVariantResolver<Theme, {
|
|
125
|
+
size: {
|
|
126
|
+
sm: {
|
|
127
|
+
height: 32;
|
|
128
|
+
paddingHorizontal: 12;
|
|
129
|
+
};
|
|
130
|
+
md: {
|
|
131
|
+
height: 40;
|
|
132
|
+
paddingHorizontal: 16;
|
|
133
|
+
};
|
|
134
|
+
lg: {
|
|
135
|
+
height: 48;
|
|
136
|
+
paddingHorizontal: 24;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
variant: {
|
|
140
|
+
solid: {
|
|
141
|
+
borderWidth: number;
|
|
142
|
+
};
|
|
143
|
+
outline: {
|
|
144
|
+
borderWidth: 1;
|
|
145
|
+
};
|
|
146
|
+
ghost: {
|
|
147
|
+
borderWidth: number;
|
|
148
|
+
};
|
|
149
|
+
link: {
|
|
150
|
+
borderWidth: number;
|
|
151
|
+
paddingHorizontal: number;
|
|
152
|
+
columnGap: 4;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
}, import("react-native").ViewStyle>;
|
|
156
|
+
//# sourceMappingURL=Button.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/button/Button.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AACnE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAInC,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAI8B,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sGAAsG;IACtG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAgCxF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACpF,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,CAWpG;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAsBzB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `pixelize-native-library/button`. Value exports and type exports are split for
|
|
3
|
+
* `verbatimModuleSyntax`. The visual/behaviour resolvers (`resolveButtonTone`, `BUTTON_SIZES`, …)
|
|
4
|
+
* stay internal — a consumer configures a Button through its props, never by importing its internals.
|
|
5
|
+
*/
|
|
6
|
+
export { Button } from "./Button";
|
|
7
|
+
export type { ButtonProps } from "./Button";
|
|
8
|
+
export type { ButtonVariant, ButtonSize, ButtonTone, IconPosition } from "./Button.variants";
|
|
9
|
+
export type { IconName } from "../../core/icon";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/button/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG7F,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ButtonGroup — a segmented single-choice control. Visually connected segments sharing one outer
|
|
3
|
+
* border and a divider line between adjacent segments, NOT a row of standalone `Button`s — that
|
|
4
|
+
* connected/segmented treatment is a different structural shape than Button's own pill/rect
|
|
5
|
+
* variants, so this is a standalone sibling (it never imports `../button`). The border/divider is
|
|
6
|
+
* drawn PER SEGMENT, not once on the container: every edge that touches the selected segment omits
|
|
7
|
+
* the stroke (see `resolveButtonGroupSegmentEdgeColors` — WCAG 1.4.11) and relies on the selected
|
|
8
|
+
* fill's own contrast against the canvas instead.
|
|
9
|
+
*
|
|
10
|
+
* One component owns the whole group, same as `RadioGroup`: each segment carries its own
|
|
11
|
+
* `accessibilityRole="radio"` + `accessibilityState.checked`, and the container carries
|
|
12
|
+
* `accessibilityRole="radiogroup"` so assistive tech announces the grouping without collapsing the
|
|
13
|
+
* individually-focusable segments into one.
|
|
14
|
+
*
|
|
15
|
+
* No animation anywhere (selection is a conditional fill, not a slide or a fade), so — like
|
|
16
|
+
* `RadioGroup` — there is nothing here for `useReducedMotion` (WCAG 2.3.3) to gate.
|
|
17
|
+
*/
|
|
18
|
+
import type { LayoutStyle } from "../../core/style";
|
|
19
|
+
import type { ButtonGroupSize } from "./ButtonGroup.variants";
|
|
20
|
+
export interface ButtonGroupOption {
|
|
21
|
+
readonly label: string;
|
|
22
|
+
readonly value: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ButtonGroupProps {
|
|
25
|
+
options: ButtonGroupOption[];
|
|
26
|
+
value: string;
|
|
27
|
+
onValueChange: (value: string) => void;
|
|
28
|
+
size?: ButtonGroupSize;
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
/** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
|
|
31
|
+
style?: LayoutStyle;
|
|
32
|
+
testID?: string;
|
|
33
|
+
}
|
|
34
|
+
declare function ButtonGroupImpl({ options, value, onValueChange, size, disabled, style, testID, }: ButtonGroupProps): import("react").JSX.Element;
|
|
35
|
+
export declare const ButtonGroup: import("react").MemoExoticComponent<typeof ButtonGroupImpl>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../../src/modules/button-group/ButtonGroup.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAYpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,eAAe,CAAC,EACvB,OAAO,EACP,KAAK,EACL,aAAa,EACb,IAAW,EACX,QAAgB,EAChB,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,+BA+DlB;AASD,eAAO,MAAM,WAAW,6DAAwB,CAAC"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ButtonGroup's style + behaviour resolution — pure, React/lucide-free, same split as Button:
|
|
3
|
+
* - STRUCTURE (segment height/padding, and — per segment — the top/bottom/left/right border
|
|
4
|
+
* WIDTHS and corner radii) lives in the `createThemedVariants` resolvers below, registered once
|
|
5
|
+
* per (theme, size) — never rebuilt per render.
|
|
6
|
+
* - COLOUR is resolved from the theme's ROLE colours (`resolveButtonGroupColors`), never a raw hex:
|
|
7
|
+
* the selected segment is always the accent role, the shared outline/divider is always the
|
|
8
|
+
* neutral interactive outline (WCAG 1.4.11), same token used by Button's outline border.
|
|
9
|
+
* - `resolveButtonGroupSegmentEdgeColors` decides, PER EDGE OF PER SEGMENT, whether that edge draws
|
|
10
|
+
* the outline/divider stroke at all (see the WCAG 1.4.11 note on `resolveButtonGroupColors`).
|
|
11
|
+
* - `resolveButtonGroupSegmentHitSlop` decides, PER EDGE OF PER SEGMENT, how far the touch target
|
|
12
|
+
* expands (see the touch-target note below `BUTTON_GROUP_SIZES`).
|
|
13
|
+
* - `resolveButtonGroupSegmentAccessibility` derives the per-segment a11y surface purely, mirroring
|
|
14
|
+
* `resolveRadioRowAccessibility` — this is a single-choice value selector, not a set of tabs.
|
|
15
|
+
*/
|
|
16
|
+
import type { RoleColors, Theme } from "../../theme";
|
|
17
|
+
export type ButtonGroupSize = "sm" | "md";
|
|
18
|
+
/** Same floor as Button/RadioGroup/Tabs — 44dp (WCAG 2.5.5 / HIG). Duplicated, not imported: modules
|
|
19
|
+
* stay isolated. */
|
|
20
|
+
export declare const MIN_TOUCH_TARGET = 44;
|
|
21
|
+
export interface ButtonGroupSizeSpec {
|
|
22
|
+
/** Visual height in dp, per segment (fixed, not a minimum — the hitSlop math below depends on the
|
|
23
|
+
* segment actually rendering at this height). */
|
|
24
|
+
readonly height: number;
|
|
25
|
+
/** Label size, on the theme's `fontSizes` scale. */
|
|
26
|
+
readonly fontSize: number;
|
|
27
|
+
/** The touch-expansion amount, applied symmetrically on the top/bottom of every segment and on
|
|
28
|
+
* whichever single horizontal edge (if any) is that segment's TRUE outer edge — never on an edge
|
|
29
|
+
* shared with a neighbour. See `resolveButtonGroupSegmentHitSlop`. */
|
|
30
|
+
readonly hitSlop: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* ButtonGroup-specific dimensions. Kept a plain constant — no theme dependency — so the hit-target
|
|
34
|
+
* test can assert `height + 2·hitSlop ≥ 44` without a provider, same as `BUTTON_SIZES`.
|
|
35
|
+
*/
|
|
36
|
+
export declare const BUTTON_GROUP_SIZES: {
|
|
37
|
+
readonly sm: {
|
|
38
|
+
readonly height: 32;
|
|
39
|
+
readonly fontSize: 14;
|
|
40
|
+
readonly hitSlop: number;
|
|
41
|
+
};
|
|
42
|
+
readonly md: {
|
|
43
|
+
readonly height: 40;
|
|
44
|
+
readonly fontSize: 16;
|
|
45
|
+
readonly hitSlop: number;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export interface ButtonGroupColors {
|
|
49
|
+
/** Selected-segment fill. */
|
|
50
|
+
readonly selectedFill: string;
|
|
51
|
+
/** Label on `selectedFill` — the derived on-colour, so it always clears 4.5:1 (never a hard white). */
|
|
52
|
+
readonly onSelectedFill: string;
|
|
53
|
+
/** Unselected-segment label, read on the transparent (canvas) segment. */
|
|
54
|
+
readonly label: string;
|
|
55
|
+
/**
|
|
56
|
+
* Unselected-segment background while pressed. `label` stays ≥ 4.5:1 on it (WCAG 1.4.3), and — the
|
|
57
|
+
* fix this field exists for — it stays ≥ 3:1 against `selectedFill` (WCAG 1.4.11): when a segment
|
|
58
|
+
* ADJACENT to the selected one is actively pressed, the boundary the 1.4.11 fix on `outline` (below)
|
|
59
|
+
* omitted is now `selectedFill` vs THIS fill, not vs `bg.canvas`. Plain `bg.sunken` measured 2.99:1
|
|
60
|
+
* against `selectedFill` on rosewood light — under the 3:1 floor, not a rounding artifact — so this
|
|
61
|
+
* is `bg.sunken` nudged toward `bg.canvas` by a fixed-alpha overlay (see `resolveButtonGroupColors`).
|
|
62
|
+
*/
|
|
63
|
+
readonly pressedFill: string;
|
|
64
|
+
/**
|
|
65
|
+
* The shared outline colour, used as the container's outer border and as the 1px divider between
|
|
66
|
+
* adjacent segments — this is what makes the control read as connected, not a row of
|
|
67
|
+
* separately-bordered buttons. It only ever gets DRAWN on an edge that touches two unselected
|
|
68
|
+
* segments (or one unselected segment and the group's own outside). WCAG 1.4.11: `outline`
|
|
69
|
+
* (`border.interactive`, a neutral grey) clears 3:1 against `bg.canvas` on every brand × mode, but
|
|
70
|
+
* measured directly against a SELECTED segment's `accent.solid` fill it fails 3:1 on 15 of 16
|
|
71
|
+
* brand × mode combinations (several catastrophically — slate light 1.00, emerald light 1.02).
|
|
72
|
+
* Since `value` is required, some segment is always selected, so that adjacency is not an edge
|
|
73
|
+
* case, it is every render. Rather than chase one stroke colour that can never clear 3:1 against
|
|
74
|
+
* both a near-white canvas AND every brand's accent fill at once, `resolveButtonGroupSegmentEdgeColors`
|
|
75
|
+
* omits the stroke on any edge that touches the selected segment and lets the fill-vs-canvas
|
|
76
|
+
* contrast serve as the boundary instead — the same mechanism every other solid-fill component in
|
|
77
|
+
* this library already relies on (`accent.solid` clears 3:1 against `bg.canvas` on all 16 brand ×
|
|
78
|
+
* mode combinations, worst case 3.24:1 on emerald light; see `ButtonGroup.test.ts`).
|
|
79
|
+
*/
|
|
80
|
+
readonly outline: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Maps the group's fixed visual roles onto ROLE colours — never a hardcoded hex. There is no
|
|
84
|
+
* per-segment `tone`: the selected fill is always the accent role and the outline is always the
|
|
85
|
+
* neutral interactive outline, so — like `RadioGroup` — this is pure indirection, not a union to
|
|
86
|
+
* resolve.
|
|
87
|
+
*/
|
|
88
|
+
export declare function resolveButtonGroupColors(colors: RoleColors): ButtonGroupColors;
|
|
89
|
+
export interface ButtonGroupSegmentEdgeInput {
|
|
90
|
+
/** Whether THIS segment is the selected one. */
|
|
91
|
+
readonly selected: boolean;
|
|
92
|
+
/** Whether the NEXT segment (the one this segment's right/divider edge is shared with) is
|
|
93
|
+
* selected. `false` for the last segment — its right edge is the group's own outer edge, shared
|
|
94
|
+
* with nothing. */
|
|
95
|
+
readonly nextSelected: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface ButtonGroupSegmentEdgeColors {
|
|
98
|
+
readonly top: string;
|
|
99
|
+
readonly bottom: string;
|
|
100
|
+
/** Only structurally drawn on the first segment (see `buttonGroupSegmentStructure`'s `first`
|
|
101
|
+
* variant) — harmless to compute for every segment. */
|
|
102
|
+
readonly left: string;
|
|
103
|
+
/** The internal divider for every segment except the last, where it is instead that segment's
|
|
104
|
+
* own outer right edge. */
|
|
105
|
+
readonly right: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Per-edge, per-segment outline colour — the WCAG 1.4.11 fix. An edge draws the shared `outline`
|
|
109
|
+
* colour only when BOTH sides of it are unselected; any edge touching the selected segment is
|
|
110
|
+
* `transparent` instead, so the selected fill's own contrast against the canvas (or, for the
|
|
111
|
+
* divider case, against the neighbour's transparent/canvas background) is what marks the boundary.
|
|
112
|
+
*/
|
|
113
|
+
export declare function resolveButtonGroupSegmentEdgeColors(colors: ButtonGroupColors, input: ButtonGroupSegmentEdgeInput): ButtonGroupSegmentEdgeColors;
|
|
114
|
+
export interface ButtonGroupSegmentPosition {
|
|
115
|
+
readonly isFirst: boolean;
|
|
116
|
+
readonly isLast: boolean;
|
|
117
|
+
}
|
|
118
|
+
export interface ButtonGroupSegmentHitSlop {
|
|
119
|
+
readonly top: number;
|
|
120
|
+
readonly bottom: number;
|
|
121
|
+
readonly left: number;
|
|
122
|
+
readonly right: number;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Per-edge, per-segment hitSlop — the touch-target fix. Vertical expansion is symmetric and safe on
|
|
126
|
+
* every segment (nothing else in the group sits above/below a segment). Horizontal expansion is
|
|
127
|
+
* granted ONLY on a segment's TRUE outer edge — the group's own left edge on the first segment, its
|
|
128
|
+
* own right edge on the last — and is exactly 0 on every edge shared with a neighbour.
|
|
129
|
+
*
|
|
130
|
+
* Segments in this control render flush against each other (by design — "one connected control",
|
|
131
|
+
* see `ButtonGroup.tsx`), so a symmetric hitSlop on every segment would expand INTO the adjacent
|
|
132
|
+
* segment on every internal edge. React Native's own documented hitSlop behaviour never clips to a
|
|
133
|
+
* sibling's bounds and resolves overlapping siblings' hitSlop to whichever renders LATER (the higher
|
|
134
|
+
* `options` index), not whichever is visually closer to the tap — so a tap near an internal divider,
|
|
135
|
+
* still visually inside the earlier segment, would fire the LATER segment's `onValueChange`. Zeroing
|
|
136
|
+
* the internal edges removes the overlap entirely instead of merely shrinking it.
|
|
137
|
+
*
|
|
138
|
+
* Because horizontal hitSlop can no longer safely pad an internal segment's touch width, the ≥44dp
|
|
139
|
+
* floor for those segments is met by `buttonGroupSegmentStructure`'s own `minWidth`, not by hitSlop.
|
|
140
|
+
*/
|
|
141
|
+
export declare function resolveButtonGroupSegmentHitSlop(size: ButtonGroupSize, position: ButtonGroupSegmentPosition): ButtonGroupSegmentHitSlop;
|
|
142
|
+
export interface ButtonGroupSegmentAccessibilityInput {
|
|
143
|
+
readonly selected: boolean;
|
|
144
|
+
readonly disabled: boolean;
|
|
145
|
+
}
|
|
146
|
+
export interface ButtonGroupSegmentAccessibilityProps {
|
|
147
|
+
readonly accessibilityRole: "radio";
|
|
148
|
+
readonly accessibilityState: {
|
|
149
|
+
readonly checked: boolean;
|
|
150
|
+
readonly disabled: boolean;
|
|
151
|
+
};
|
|
152
|
+
/** The `Pressable` disabled prop — blocks touches without relying on `onPress` gating alone. */
|
|
153
|
+
readonly disabled: boolean;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Derives one segment's accessibility surface purely, mirroring `resolveRadioRowAccessibility`:
|
|
157
|
+
* `accessibilityRole="radio"` + `accessibilityState.checked` (NOT `role="tab"`/`.selected` — a tab
|
|
158
|
+
* switches content panels, which this control does not do; it is the same single-choice value
|
|
159
|
+
* selector shape `RadioGroup` already uses, just drawn as connected segments instead of rows).
|
|
160
|
+
*/
|
|
161
|
+
export declare function resolveButtonGroupSegmentAccessibility(input: ButtonGroupSegmentAccessibilityInput): ButtonGroupSegmentAccessibilityProps;
|
|
162
|
+
/**
|
|
163
|
+
* The container — a clipping rect only. `overflow: hidden` + `borderRadius` clips every segment's
|
|
164
|
+
* fill (and the outer segments' square corners) to this single rounded outline, so the selected
|
|
165
|
+
* segment never shows a corner poking past the shared shape — the visual mechanism that makes this
|
|
166
|
+
* read as ONE connected control rather than a row of standalone buttons. It carries NO border of its
|
|
167
|
+
* own: the outer border is drawn by the first/last segments themselves (see
|
|
168
|
+
* `buttonGroupSegmentStructure`), because only a per-segment border can be selectively omitted where
|
|
169
|
+
* it touches the selected segment (WCAG 1.4.11) — a single container-wide border is one colour for
|
|
170
|
+
* its entire perimeter and cannot vary by which segment it runs along.
|
|
171
|
+
*/
|
|
172
|
+
export declare const buttonGroupStructure: import("../../core/style").ThemedVariantResolver<Theme, import("../../core/style").VariantGroups<import("react-native").ViewStyle>, import("react-native").ViewStyle>;
|
|
173
|
+
/**
|
|
174
|
+
* One segment's layout. `minWidth: MIN_TOUCH_TARGET` is the real ≥44dp touch-target floor for the
|
|
175
|
+
* WIDTH axis — horizontal hitSlop can no longer safely pad an internal segment (see
|
|
176
|
+
* `resolveButtonGroupSegmentHitSlop`), so the rendered node itself must never shrink narrower than
|
|
177
|
+
* 44dp, for a realistic 2–4 option row at either size. `height` is fixed (not a minimum) so the
|
|
178
|
+
* vertical hitSlop math holds against what actually renders.
|
|
179
|
+
*
|
|
180
|
+
* Every segment structurally carries a top, bottom, and right border (thin width) — the right one is
|
|
181
|
+
* the divider on every segment except the last, where it is instead that segment's own outer right
|
|
182
|
+
* edge. Only the FIRST segment gets a left border and left-corner radii (the group's own outer left
|
|
183
|
+
* edge); only the LAST segment gets right-corner radii (matching the container's own `borderRadius`,
|
|
184
|
+
* so that segment's own border curves rather than being clipped into an L by the container). Border
|
|
185
|
+
* WIDTHS are structural and constant; COLOURS (drawn vs `transparent`) are resolved per render by
|
|
186
|
+
* `resolveButtonGroupSegmentEdgeColors` and applied inline over this.
|
|
187
|
+
*/
|
|
188
|
+
export declare const buttonGroupSegmentStructure: import("../../core/style").ThemedVariantResolver<Theme, {
|
|
189
|
+
size: {
|
|
190
|
+
sm: {
|
|
191
|
+
height: 32;
|
|
192
|
+
paddingHorizontal: 8;
|
|
193
|
+
};
|
|
194
|
+
md: {
|
|
195
|
+
height: 40;
|
|
196
|
+
paddingHorizontal: 12;
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
first: {
|
|
200
|
+
on: {
|
|
201
|
+
borderLeftWidth: 1;
|
|
202
|
+
borderTopLeftRadius: 8;
|
|
203
|
+
borderBottomLeftRadius: 8;
|
|
204
|
+
};
|
|
205
|
+
off: {
|
|
206
|
+
borderLeftWidth: number;
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
last: {
|
|
210
|
+
on: {
|
|
211
|
+
borderTopRightRadius: 8;
|
|
212
|
+
borderBottomRightRadius: 8;
|
|
213
|
+
};
|
|
214
|
+
off: {};
|
|
215
|
+
};
|
|
216
|
+
}, import("react-native").ViewStyle>;
|
|
217
|
+
//# sourceMappingURL=ButtonGroup.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/button-group/ButtonGroup.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C;oBACoB;AACpB,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAInC,MAAM,WAAW,mBAAmB;IAClC;qDACiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;0EAEsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAGkC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uGAAuG;IACvG,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAkBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAc9E;AAOD,MAAM,WAAW,2BAA2B;IAC1C,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;uBAEmB;IACnB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;2DACuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;+BAC2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,2BAA2B,GACjC,4BAA4B,CAI9B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,0BAA0B,GACnC,yBAAyB,CAQ3B;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACvF,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,oCAAoC,GAC1C,oCAAoC,CAMtC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,uKAM9B,CAAC;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA6BrC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `pixelize-native-library/button-group`. Value exports and type exports are split for
|
|
3
|
+
* `verbatimModuleSyntax`. The visual/behaviour resolvers (`resolveButtonGroupColors`,
|
|
4
|
+
* `BUTTON_GROUP_SIZES`, …) stay internal — a consumer configures a ButtonGroup through its props,
|
|
5
|
+
* never by importing its internals.
|
|
6
|
+
*/
|
|
7
|
+
export { ButtonGroup } from "./ButtonGroup";
|
|
8
|
+
export type { ButtonGroupProps, ButtonGroupOption } from "./ButtonGroup";
|
|
9
|
+
export type { ButtonGroupSize } from "./ButtonGroup.variants";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/button-group/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEzE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Card — a plain container for grouping content. No interaction, no text of its own: `children` is
|
|
3
|
+
* ordinary composition (a consumer places `Text`, `Button`, whatever it needs inside), so there is
|
|
4
|
+
* nothing here for `accessibilityRole` to announce — the container is intentionally invisible to
|
|
5
|
+
* assistive tech and its children carry their own semantics, exactly like a plain `View` would.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReactNode } from "react";
|
|
8
|
+
import type { LayoutStyle } from "../../core/style";
|
|
9
|
+
import type { CardVariant } from "./Card.variants";
|
|
10
|
+
export interface CardProps {
|
|
11
|
+
variant?: CardVariant;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
|
|
14
|
+
style?: LayoutStyle;
|
|
15
|
+
testID?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function CardImpl({ variant, children, style, testID }: CardProps): import("react").JSX.Element;
|
|
18
|
+
export declare const Card: import("react").MemoExoticComponent<typeof CardImpl>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/modules/card/Card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,QAAQ,CAAC,EAAE,OAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,+BAkB7E;AAID,eAAO,MAAM,IAAI,sDAAiB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Card's style resolution — same split as Button.variants:
|
|
3
|
+
* - STRUCTURE (padding, radius, border WIDTH) lives in the themed `cardStructure` resolver, static
|
|
4
|
+
* per (brand, mode), registered once via `StyleSheet.create`.
|
|
5
|
+
* - COLOUR is variant-driven and resolved from the theme's ROLE colours by `resolveCardVariant`,
|
|
6
|
+
* never a raw ramp and never a hardcoded hex. Elevation (a shadow, not a role colour) is applied
|
|
7
|
+
* directly by the component from `theme.elevation.md` — nothing to resolve here.
|
|
8
|
+
*
|
|
9
|
+
* Free of React, so the WCAG test imports this directly (mocking only `react-native`'s
|
|
10
|
+
* `StyleSheet`, as `core/style` does).
|
|
11
|
+
*/
|
|
12
|
+
import type { RoleColors } from "../../theme";
|
|
13
|
+
import type { Theme } from "../../theme";
|
|
14
|
+
export type CardVariant = "elevated" | "outline" | "flat";
|
|
15
|
+
export interface CardVariantColors {
|
|
16
|
+
readonly background: string;
|
|
17
|
+
/** Present only for `outline` — `undefined` elsewhere so the component skips `borderColor`. */
|
|
18
|
+
readonly border: string | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Maps `variant` onto the theme's role colours. The whole reason the prop is a closed union and not
|
|
22
|
+
* `color?: string`: every colour a Card can show is one of these role lookups, so it inverts
|
|
23
|
+
* light↔dark for free and can never be an off-palette value an app invented.
|
|
24
|
+
*
|
|
25
|
+
* The outline border deliberately reads `colors.border.interactive`, NOT `colors.border.default`:
|
|
26
|
+
* `default` is the decorative divider rung and measures ~1.0–1.4:1 against `bg.surface`/`bg.raised`
|
|
27
|
+
* on every brand × mode — nowhere near WCAG 1.4.11's 3:1 floor for a rendered UI boundary.
|
|
28
|
+
* `interactive` is the token proven ≥ 3:1 everywhere (see `Card.test.ts`) — the identical
|
|
29
|
+
* substitution `Button`'s outline variant makes, for the identical reason.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveCardVariant(colors: RoleColors, variant: CardVariant): CardVariantColors;
|
|
32
|
+
/**
|
|
33
|
+
* Structural styles only — padding, radius, border WIDTH. No colours (those are variant-driven and
|
|
34
|
+
* applied inline over this) and no shadow (elevation is applied directly from `theme.elevation.md`,
|
|
35
|
+
* already rendered per-platform — never re-derived here), so this compiles once per theme identity
|
|
36
|
+
* via the `WeakMap`-cached themed resolver and never rebuilds per render.
|
|
37
|
+
*/
|
|
38
|
+
export declare const cardStructure: import("../../core/style").ThemedVariantResolver<Theme, {
|
|
39
|
+
variant: {
|
|
40
|
+
flat: {
|
|
41
|
+
borderWidth: number;
|
|
42
|
+
};
|
|
43
|
+
outline: {
|
|
44
|
+
borderWidth: 1;
|
|
45
|
+
};
|
|
46
|
+
elevated: {
|
|
47
|
+
borderWidth: number;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}, import("react-native").ViewStyle>;
|
|
51
|
+
//# sourceMappingURL=Card.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.variants.d.ts","sourceRoot":"","sources":["../../../../src/modules/card/Card.variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,iBAAiB,CAS9F;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;oCAavB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `pixelize-native-library/card`. Value exports and type exports are split for
|
|
3
|
+
* `verbatimModuleSyntax`. The variant resolver (`resolveCardVariant`, `cardStructure`) stays
|
|
4
|
+
* internal — a consumer configures a Card through its props, never by importing its internals.
|
|
5
|
+
*/
|
|
6
|
+
export { Card } from "./Card";
|
|
7
|
+
export type { CardProps } from "./Card";
|
|
8
|
+
export type { CardVariant } from "./Card.variants";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/card/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkbox — a Pressable custom box (React Native ships no native `Checkbox`/`Switch` equivalent
|
|
3
|
+
* with tri-state support). Every state — unchecked, checked, indeterminate, disabled — maps to a
|
|
4
|
+
* role-coloured pairing proven ≥ 3:1 / ≥ 4.5:1 across every brand × mode, same discipline as
|
|
5
|
+
* `Button`.
|
|
6
|
+
*/
|
|
7
|
+
import type { LayoutStyle } from "../../core/style";
|
|
8
|
+
import type { CheckboxSize } from "./Checkbox.variants";
|
|
9
|
+
interface CheckboxBaseProps {
|
|
10
|
+
checked: boolean;
|
|
11
|
+
onCheckedChange: (checked: boolean) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Renders the "minus" glyph in place of "check", and reports `accessibilityState.checked` as
|
|
14
|
+
* `"mixed"` — regardless of `checked` (the usual pairing is `checked={false}`, but indeterminate
|
|
15
|
+
* always wins the glyph/state either way). Toggling still flips `checked` via `onCheckedChange`.
|
|
16
|
+
*/
|
|
17
|
+
indeterminate?: boolean;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
size?: CheckboxSize;
|
|
20
|
+
/** Layout-only, outermost, applied exactly once as the LAST entry in the root style array. */
|
|
21
|
+
style?: LayoutStyle;
|
|
22
|
+
testID?: string;
|
|
23
|
+
}
|
|
24
|
+
/** A checkbox with a visible label. `accessibilityLabel` defaults to `label`. Pressing the label
|
|
25
|
+
* toggles too — it lives inside the same `Pressable` row as the box. */
|
|
26
|
+
interface LabelledCheckboxProps extends CheckboxBaseProps {
|
|
27
|
+
label: string;
|
|
28
|
+
accessibilityLabel?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A checkbox with no visible label (e.g. a table row's select-all box). It has no visible text, so
|
|
32
|
+
* `accessibilityLabel` is REQUIRED at the type level — the same trap `Button`'s icon-only shape
|
|
33
|
+
* closes. `label?: never` makes the two shapes mutually exclusive.
|
|
34
|
+
*/
|
|
35
|
+
interface UnlabelledCheckboxProps extends CheckboxBaseProps {
|
|
36
|
+
label?: never;
|
|
37
|
+
accessibilityLabel: string;
|
|
38
|
+
}
|
|
39
|
+
export type CheckboxProps = LabelledCheckboxProps | UnlabelledCheckboxProps;
|
|
40
|
+
declare function CheckboxImpl(props: CheckboxProps): import("react").JSX.Element;
|
|
41
|
+
export declare const Checkbox: import("react").MemoExoticComponent<typeof CheckboxImpl>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/modules/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;wEACwE;AACxE,UAAU,qBAAsB,SAAQ,iBAAiB;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,UAAU,uBAAwB,SAAQ,iBAAiB;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAQ5E,iBAAS,YAAY,CAAC,KAAK,EAAE,aAAa,+BA4FzC;AASD,eAAO,MAAM,QAAQ,0DAAqB,CAAC"}
|