bootstrap-rn 0.3.0 → 0.3.2
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/commonjs/Context.js +12 -0
- package/lib/commonjs/Context.js.map +1 -0
- package/lib/commonjs/Provider.js +63 -0
- package/lib/commonjs/Provider.js.map +1 -0
- package/lib/commonjs/components/Body.js +67 -0
- package/lib/commonjs/components/Body.js.map +1 -0
- package/lib/commonjs/components/Caret.js +131 -0
- package/lib/commonjs/components/Caret.js.map +1 -0
- package/lib/commonjs/components/Heading.js +56 -0
- package/lib/commonjs/components/Heading.js.map +1 -0
- package/lib/commonjs/components/Image.js +38 -0
- package/lib/commonjs/components/Image.js.map +1 -0
- package/lib/commonjs/components/ImageBackground.js +38 -0
- package/lib/commonjs/components/ImageBackground.js.map +1 -0
- package/lib/commonjs/components/Label.js +41 -0
- package/lib/commonjs/components/Label.js.map +1 -0
- package/lib/commonjs/components/Link.js +87 -0
- package/lib/commonjs/components/Link.js.map +1 -0
- package/lib/commonjs/components/Pressable.js +127 -0
- package/lib/commonjs/components/Pressable.js.map +1 -0
- package/lib/commonjs/components/ScrollView.js +63 -0
- package/lib/commonjs/components/ScrollView.js.map +1 -0
- package/lib/commonjs/components/Text.js +105 -0
- package/lib/commonjs/components/Text.js.map +1 -0
- package/lib/commonjs/components/TextInput.js +60 -0
- package/lib/commonjs/components/TextInput.js.map +1 -0
- package/lib/commonjs/components/View.js +56 -0
- package/lib/commonjs/components/View.js.map +1 -0
- package/lib/commonjs/components/alert/Alert.js +69 -0
- package/lib/commonjs/components/alert/Alert.js.map +1 -0
- package/lib/commonjs/components/badge/Badge.js +61 -0
- package/lib/commonjs/components/badge/Badge.js.map +1 -0
- package/lib/commonjs/components/breadcrumb/Breadcrumb.js +63 -0
- package/lib/commonjs/components/breadcrumb/Breadcrumb.js.map +1 -0
- package/lib/commonjs/components/breadcrumb/BreadcrumbItem.js +74 -0
- package/lib/commonjs/components/breadcrumb/BreadcrumbItem.js.map +1 -0
- package/lib/commonjs/components/button-group/ButtonGroup.js +55 -0
- package/lib/commonjs/components/button-group/ButtonGroup.js.map +1 -0
- package/lib/commonjs/components/button-group/ButtonGroupContext.js +12 -0
- package/lib/commonjs/components/button-group/ButtonGroupContext.js.map +1 -0
- package/lib/commonjs/components/button-group/ButtonToolbar.js +44 -0
- package/lib/commonjs/components/button-group/ButtonToolbar.js.map +1 -0
- package/lib/commonjs/components/buttons/Button.js +319 -0
- package/lib/commonjs/components/buttons/Button.js.map +1 -0
- package/lib/commonjs/components/buttons/useToggleButton.js +25 -0
- package/lib/commonjs/components/buttons/useToggleButton.js.map +1 -0
- package/lib/commonjs/components/card/Card.js +56 -0
- package/lib/commonjs/components/card/Card.js.map +1 -0
- package/lib/commonjs/components/card/CardBody.js +49 -0
- package/lib/commonjs/components/card/CardBody.js.map +1 -0
- package/lib/commonjs/components/card/CardFooter.js +53 -0
- package/lib/commonjs/components/card/CardFooter.js.map +1 -0
- package/lib/commonjs/components/card/CardHeader.js +54 -0
- package/lib/commonjs/components/card/CardHeader.js.map +1 -0
- package/lib/commonjs/components/close/CloseButton.js +137 -0
- package/lib/commonjs/components/close/CloseButton.js.map +1 -0
- package/lib/commonjs/components/collapse/Collapse.js +41 -0
- package/lib/commonjs/components/collapse/Collapse.js.map +1 -0
- package/lib/commonjs/components/collapse/CollapseContext.js +12 -0
- package/lib/commonjs/components/collapse/CollapseContext.js.map +1 -0
- package/lib/commonjs/components/collapse/CollapseProvider.js +33 -0
- package/lib/commonjs/components/collapse/CollapseProvider.js.map +1 -0
- package/lib/commonjs/components/collapse/useCollapse.js +20 -0
- package/lib/commonjs/components/collapse/useCollapse.js.map +1 -0
- package/lib/commonjs/components/collapse/useToggleCollapse.js +26 -0
- package/lib/commonjs/components/collapse/useToggleCollapse.js.map +1 -0
- package/lib/commonjs/components/containers/Container.js +125 -0
- package/lib/commonjs/components/containers/Container.js.map +1 -0
- package/lib/commonjs/components/dropdown/Dropdown.js +77 -0
- package/lib/commonjs/components/dropdown/Dropdown.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownContext.js +12 -0
- package/lib/commonjs/components/dropdown/DropdownContext.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownDivider.js +43 -0
- package/lib/commonjs/components/dropdown/DropdownDivider.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownHeader.js +57 -0
- package/lib/commonjs/components/dropdown/DropdownHeader.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownItem.js +135 -0
- package/lib/commonjs/components/dropdown/DropdownItem.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownItemText.js +53 -0
- package/lib/commonjs/components/dropdown/DropdownItemText.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownMenu.js +216 -0
- package/lib/commonjs/components/dropdown/DropdownMenu.js.map +1 -0
- package/lib/commonjs/components/dropdown/DropdownToggle.js +22 -0
- package/lib/commonjs/components/dropdown/DropdownToggle.js.map +1 -0
- package/lib/commonjs/components/dropdown/useDismissDropdown.js +24 -0
- package/lib/commonjs/components/dropdown/useDismissDropdown.js.map +1 -0
- package/lib/commonjs/components/dropdown/useDropdown.js +26 -0
- package/lib/commonjs/components/dropdown/useDropdown.js.map +1 -0
- package/lib/commonjs/components/dropdown/useToggleDropdown.js +33 -0
- package/lib/commonjs/components/dropdown/useToggleDropdown.js.map +1 -0
- package/lib/commonjs/components/forms/Checkbox.js +22 -0
- package/lib/commonjs/components/forms/Checkbox.js.map +1 -0
- package/lib/commonjs/components/forms/Feedback.js +50 -0
- package/lib/commonjs/components/forms/Feedback.js.map +1 -0
- package/lib/commonjs/components/forms/FormCheck.js +71 -0
- package/lib/commonjs/components/forms/FormCheck.js.map +1 -0
- package/lib/commonjs/components/forms/FormCheckContext.js +12 -0
- package/lib/commonjs/components/forms/FormCheckContext.js.map +1 -0
- package/lib/commonjs/components/forms/FormCheckInput.js +221 -0
- package/lib/commonjs/components/forms/FormCheckInput.js.map +1 -0
- package/lib/commonjs/components/forms/FormCheckLabel.js +74 -0
- package/lib/commonjs/components/forms/FormCheckLabel.js.map +1 -0
- package/lib/commonjs/components/forms/FormLabel.js +52 -0
- package/lib/commonjs/components/forms/FormLabel.js.map +1 -0
- package/lib/commonjs/components/forms/FormText.js +55 -0
- package/lib/commonjs/components/forms/FormText.js.map +1 -0
- package/lib/commonjs/components/forms/Input.js +202 -0
- package/lib/commonjs/components/forms/Input.js.map +1 -0
- package/lib/commonjs/components/forms/Picker.js +179 -0
- package/lib/commonjs/components/forms/Picker.js.map +1 -0
- package/lib/commonjs/components/forms/PickerContext.js +12 -0
- package/lib/commonjs/components/forms/PickerContext.js.map +1 -0
- package/lib/commonjs/components/forms/PickerItem.js +40 -0
- package/lib/commonjs/components/forms/PickerItem.js.map +1 -0
- package/lib/commonjs/components/forms/Radio.js +42 -0
- package/lib/commonjs/components/forms/Radio.js.map +1 -0
- package/lib/commonjs/components/forms/RadioContext.js +12 -0
- package/lib/commonjs/components/forms/RadioContext.js.map +1 -0
- package/lib/commonjs/components/forms/RadioGroup.js +41 -0
- package/lib/commonjs/components/forms/RadioGroup.js.map +1 -0
- package/lib/commonjs/components/forms/Switch.js +22 -0
- package/lib/commonjs/components/forms/Switch.js.map +1 -0
- package/lib/commonjs/components/forms/internals/FormCheckInputNative.js +56 -0
- package/lib/commonjs/components/forms/internals/FormCheckInputNative.js.map +1 -0
- package/lib/commonjs/components/forms/internals/FormCheckInputWeb.js +72 -0
- package/lib/commonjs/components/forms/internals/FormCheckInputWeb.js.map +1 -0
- package/lib/commonjs/components/forms/internals/PickerNative.js +138 -0
- package/lib/commonjs/components/forms/internals/PickerNative.js.map +1 -0
- package/lib/commonjs/components/forms/internals/PickerNativeContext.js +12 -0
- package/lib/commonjs/components/forms/internals/PickerNativeContext.js.map +1 -0
- package/lib/commonjs/components/forms/internals/PickerNativeItem.js +62 -0
- package/lib/commonjs/components/forms/internals/PickerNativeItem.js.map +1 -0
- package/lib/commonjs/components/forms/internals/PickerWeb.js +71 -0
- package/lib/commonjs/components/forms/internals/PickerWeb.js.map +1 -0
- package/lib/commonjs/components/forms/internals/PickerWebContext.js +12 -0
- package/lib/commonjs/components/forms/internals/PickerWebContext.js.map +1 -0
- package/lib/commonjs/components/forms/internals/PickerWebItem.js +38 -0
- package/lib/commonjs/components/forms/internals/PickerWebItem.js.map +1 -0
- package/lib/commonjs/components/grid/Col.js +95 -0
- package/lib/commonjs/components/grid/Col.js.map +1 -0
- package/lib/commonjs/components/grid/Row.js +46 -0
- package/lib/commonjs/components/grid/Row.js.map +1 -0
- package/lib/commonjs/components/grid/RowContext.js +12 -0
- package/lib/commonjs/components/grid/RowContext.js.map +1 -0
- package/lib/commonjs/components/helpers/BackdropHandler.js +122 -0
- package/lib/commonjs/components/helpers/BackdropHandler.js.map +1 -0
- package/lib/commonjs/components/helpers/ListContext.js +12 -0
- package/lib/commonjs/components/helpers/ListContext.js.map +1 -0
- package/lib/commonjs/components/helpers/Overlay.js +66 -0
- package/lib/commonjs/components/helpers/Overlay.js.map +1 -0
- package/lib/commonjs/components/list-group/ListGroup.js +76 -0
- package/lib/commonjs/components/list-group/ListGroup.js.map +1 -0
- package/lib/commonjs/components/list-group/ListGroupContext.js +12 -0
- package/lib/commonjs/components/list-group/ListGroupContext.js.map +1 -0
- package/lib/commonjs/components/list-group/ListGroupItem.js +128 -0
- package/lib/commonjs/components/list-group/ListGroupItem.js.map +1 -0
- package/lib/commonjs/components/list-group/ListGroupItemAction.js +146 -0
- package/lib/commonjs/components/list-group/ListGroupItemAction.js.map +1 -0
- package/lib/commonjs/components/modal/Modal.js +219 -0
- package/lib/commonjs/components/modal/Modal.js.map +1 -0
- package/lib/commonjs/components/modal/ModalBody.js +57 -0
- package/lib/commonjs/components/modal/ModalBody.js.map +1 -0
- package/lib/commonjs/components/modal/ModalContext.js +12 -0
- package/lib/commonjs/components/modal/ModalContext.js.map +1 -0
- package/lib/commonjs/components/modal/ModalFooter.js +51 -0
- package/lib/commonjs/components/modal/ModalFooter.js.map +1 -0
- package/lib/commonjs/components/modal/ModalHeader.js +50 -0
- package/lib/commonjs/components/modal/ModalHeader.js.map +1 -0
- package/lib/commonjs/components/modal/ModalTitle.js +43 -0
- package/lib/commonjs/components/modal/ModalTitle.js.map +1 -0
- package/lib/commonjs/components/modal/useModal.js +25 -0
- package/lib/commonjs/components/modal/useModal.js.map +1 -0
- package/lib/commonjs/components/nav/Nav.js +96 -0
- package/lib/commonjs/components/nav/Nav.js.map +1 -0
- package/lib/commonjs/components/nav/NavContext.js +12 -0
- package/lib/commonjs/components/nav/NavContext.js.map +1 -0
- package/lib/commonjs/components/nav/NavLink.js +246 -0
- package/lib/commonjs/components/nav/NavLink.js.map +1 -0
- package/lib/commonjs/components/nav/Tab.js +20 -0
- package/lib/commonjs/components/nav/Tab.js.map +1 -0
- package/lib/commonjs/components/nav/TabContent.js +26 -0
- package/lib/commonjs/components/nav/TabContent.js.map +1 -0
- package/lib/commonjs/components/nav/TabContext.js +11 -0
- package/lib/commonjs/components/nav/TabContext.js.map +1 -0
- package/lib/commonjs/components/nav/TabPane.js +55 -0
- package/lib/commonjs/components/nav/TabPane.js.map +1 -0
- package/lib/commonjs/components/nav/TabProvider.js +33 -0
- package/lib/commonjs/components/nav/TabProvider.js.map +1 -0
- package/lib/commonjs/components/nav/useTabbable.js +20 -0
- package/lib/commonjs/components/nav/useTabbable.js.map +1 -0
- package/lib/commonjs/components/nav/useToggleTab.js +36 -0
- package/lib/commonjs/components/nav/useToggleTab.js.map +1 -0
- package/lib/commonjs/components/navbar/Navbar.js +87 -0
- package/lib/commonjs/components/navbar/Navbar.js.map +1 -0
- package/lib/commonjs/components/navbar/NavbarBrand.js +85 -0
- package/lib/commonjs/components/navbar/NavbarBrand.js.map +1 -0
- package/lib/commonjs/components/navbar/NavbarCollapse.js +68 -0
- package/lib/commonjs/components/navbar/NavbarCollapse.js.map +1 -0
- package/lib/commonjs/components/navbar/NavbarContext.js +12 -0
- package/lib/commonjs/components/navbar/NavbarContext.js.map +1 -0
- package/lib/commonjs/components/navbar/NavbarText.js +61 -0
- package/lib/commonjs/components/navbar/NavbarText.js.map +1 -0
- package/lib/commonjs/components/navbar/NavbarToggler.js +126 -0
- package/lib/commonjs/components/navbar/NavbarToggler.js.map +1 -0
- package/lib/commonjs/components/navbar/useDismissNavbar.js +25 -0
- package/lib/commonjs/components/navbar/useDismissNavbar.js.map +1 -0
- package/lib/commonjs/components/navbar/useNavbar.js +22 -0
- package/lib/commonjs/components/navbar/useNavbar.js.map +1 -0
- package/lib/commonjs/components/navbar/useToggleNavbar.js +28 -0
- package/lib/commonjs/components/navbar/useToggleNavbar.js.map +1 -0
- package/lib/commonjs/components/offcanvas/Offcanvas.js +226 -0
- package/lib/commonjs/components/offcanvas/Offcanvas.js.map +1 -0
- package/lib/commonjs/components/offcanvas/OffcanvasBody.js +63 -0
- package/lib/commonjs/components/offcanvas/OffcanvasBody.js.map +1 -0
- package/lib/commonjs/components/offcanvas/OffcanvasContext.js +12 -0
- package/lib/commonjs/components/offcanvas/OffcanvasContext.js.map +1 -0
- package/lib/commonjs/components/offcanvas/OffcanvasHeader.js +58 -0
- package/lib/commonjs/components/offcanvas/OffcanvasHeader.js.map +1 -0
- package/lib/commonjs/components/offcanvas/OffcanvasTitle.js +43 -0
- package/lib/commonjs/components/offcanvas/OffcanvasTitle.js.map +1 -0
- package/lib/commonjs/components/offcanvas/useOffcanvas.js +23 -0
- package/lib/commonjs/components/offcanvas/useOffcanvas.js.map +1 -0
- package/lib/commonjs/components/pagination/Pagination.js +48 -0
- package/lib/commonjs/components/pagination/Pagination.js.map +1 -0
- package/lib/commonjs/components/pagination/PaginationItem.js +131 -0
- package/lib/commonjs/components/pagination/PaginationItem.js.map +1 -0
- package/lib/commonjs/components/placeholders/Placeholders.js +42 -0
- package/lib/commonjs/components/placeholders/Placeholders.js.map +1 -0
- package/lib/commonjs/components/popover/Popover.js +89 -0
- package/lib/commonjs/components/popover/Popover.js.map +1 -0
- package/lib/commonjs/components/popover/PopoverArrow.js +155 -0
- package/lib/commonjs/components/popover/PopoverArrow.js.map +1 -0
- package/lib/commonjs/components/popover/PopoverBody.js +48 -0
- package/lib/commonjs/components/popover/PopoverBody.js.map +1 -0
- package/lib/commonjs/components/popover/PopoverContext.js +12 -0
- package/lib/commonjs/components/popover/PopoverContext.js.map +1 -0
- package/lib/commonjs/components/popover/PopoverHeader.js +62 -0
- package/lib/commonjs/components/popover/PopoverHeader.js.map +1 -0
- package/lib/commonjs/components/popover/injectPopover.js +80 -0
- package/lib/commonjs/components/popover/injectPopover.js.map +1 -0
- package/lib/commonjs/components/progress/Progress.js +66 -0
- package/lib/commonjs/components/progress/Progress.js.map +1 -0
- package/lib/commonjs/components/progress/ProgressBar.js +78 -0
- package/lib/commonjs/components/progress/ProgressBar.js.map +1 -0
- package/lib/commonjs/components/progress/ProgressContext.js +12 -0
- package/lib/commonjs/components/progress/ProgressContext.js.map +1 -0
- package/lib/commonjs/components/progress/useProgress.js +14 -0
- package/lib/commonjs/components/progress/useProgress.js.map +1 -0
- package/lib/commonjs/components/spinners/Spinner.js +139 -0
- package/lib/commonjs/components/spinners/Spinner.js.map +1 -0
- package/lib/commonjs/components/toasts/Toast.js +73 -0
- package/lib/commonjs/components/toasts/Toast.js.map +1 -0
- package/lib/commonjs/components/toasts/ToastBody.js +50 -0
- package/lib/commonjs/components/toasts/ToastBody.js.map +1 -0
- package/lib/commonjs/components/toasts/ToastContainer.js +47 -0
- package/lib/commonjs/components/toasts/ToastContainer.js.map +1 -0
- package/lib/commonjs/components/toasts/ToastContainerContext.js +12 -0
- package/lib/commonjs/components/toasts/ToastContainerContext.js.map +1 -0
- package/lib/commonjs/components/toasts/ToastHeader.js +59 -0
- package/lib/commonjs/components/toasts/ToastHeader.js.map +1 -0
- package/lib/commonjs/components/tooltip/Tooltip.js +95 -0
- package/lib/commonjs/components/tooltip/Tooltip.js.map +1 -0
- package/lib/commonjs/components/tooltip/TooltipArrow.js +108 -0
- package/lib/commonjs/components/tooltip/TooltipArrow.js.map +1 -0
- package/lib/commonjs/components/tooltip/TooltipContext.js +12 -0
- package/lib/commonjs/components/tooltip/TooltipContext.js.map +1 -0
- package/lib/commonjs/components/tooltip/TooltipInner.js +56 -0
- package/lib/commonjs/components/tooltip/TooltipInner.js.map +1 -0
- package/lib/commonjs/components/tooltip/injectTooltip.js +77 -0
- package/lib/commonjs/components/tooltip/injectTooltip.js.map +1 -0
- package/lib/commonjs/components/type/Blockquote.js +53 -0
- package/lib/commonjs/components/type/Blockquote.js.map +1 -0
- package/lib/commonjs/components/type/Code.js +50 -0
- package/lib/commonjs/components/type/Code.js.map +1 -0
- package/lib/commonjs/components/type/DisplayHeading.js +47 -0
- package/lib/commonjs/components/type/DisplayHeading.js.map +1 -0
- package/lib/commonjs/components/type/Paragraph.js +53 -0
- package/lib/commonjs/components/type/Paragraph.js.map +1 -0
- package/lib/commonjs/hooks/useAction.js +36 -0
- package/lib/commonjs/hooks/useAction.js.map +1 -0
- package/lib/commonjs/hooks/useBackground.js +99 -0
- package/lib/commonjs/hooks/useBackground.js.map +1 -0
- package/lib/commonjs/hooks/useBackground.native.js +193 -0
- package/lib/commonjs/hooks/useBackground.native.js.map +1 -0
- package/lib/commonjs/hooks/useControlledState.js +25 -0
- package/lib/commonjs/hooks/useControlledState.js.map +1 -0
- package/lib/commonjs/hooks/useFixedElement.js +21 -0
- package/lib/commonjs/hooks/useFixedElement.js.map +1 -0
- package/lib/commonjs/hooks/useForcedContext.js +15 -0
- package/lib/commonjs/hooks/useForcedContext.js.map +1 -0
- package/lib/commonjs/hooks/useIdentifier.js +18 -0
- package/lib/commonjs/hooks/useIdentifier.js.map +1 -0
- package/lib/commonjs/hooks/useInteractionState.js +65 -0
- package/lib/commonjs/hooks/useInteractionState.js.map +1 -0
- package/lib/commonjs/hooks/useList.js +48 -0
- package/lib/commonjs/hooks/useList.js.map +1 -0
- package/lib/commonjs/hooks/useMedia.js +31 -0
- package/lib/commonjs/hooks/useMedia.js.map +1 -0
- package/lib/commonjs/hooks/useModifier.js +23 -0
- package/lib/commonjs/hooks/useModifier.js.map +1 -0
- package/lib/commonjs/hooks/useScrollbarEffects.js +68 -0
- package/lib/commonjs/hooks/useScrollbarEffects.js.map +1 -0
- package/lib/commonjs/hooks/useStyle.js +58 -0
- package/lib/commonjs/hooks/useStyle.js.map +1 -0
- package/lib/commonjs/hooks/useTrigger.js +114 -0
- package/lib/commonjs/hooks/useTrigger.js.map +1 -0
- package/lib/commonjs/hooks/useViewport.js +57 -0
- package/lib/commonjs/hooks/useViewport.js.map +1 -0
- package/lib/commonjs/index.js +533 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/style/StyleSheet.js +119 -0
- package/lib/commonjs/style/StyleSheet.js.map +1 -0
- package/lib/commonjs/style/TextStyleContext.js +12 -0
- package/lib/commonjs/style/TextStyleContext.js.map +1 -0
- package/lib/commonjs/style/TextStyleProvider.js +33 -0
- package/lib/commonjs/style/TextStyleProvider.js.map +1 -0
- package/lib/commonjs/style/createStyle.js +87 -0
- package/lib/commonjs/style/createStyle.js.map +1 -0
- package/lib/commonjs/style/css.js +22 -0
- package/lib/commonjs/style/css.js.map +1 -0
- package/lib/commonjs/style/functions.js +39 -0
- package/lib/commonjs/style/functions.js.map +1 -0
- package/lib/commonjs/style/makeTheme.js +32 -0
- package/lib/commonjs/style/makeTheme.js.map +1 -0
- package/lib/commonjs/style/makeUtilities.js +55 -0
- package/lib/commonjs/style/makeUtilities.js.map +1 -0
- package/lib/commonjs/style/math.js +56 -0
- package/lib/commonjs/style/math.js.map +1 -0
- package/lib/commonjs/style/mixins/mediaBreakpointBetween.js +19 -0
- package/lib/commonjs/style/mixins/mediaBreakpointBetween.js.map +1 -0
- package/lib/commonjs/style/mixins/mediaBreakpointDown.js +19 -0
- package/lib/commonjs/style/mixins/mediaBreakpointDown.js.map +1 -0
- package/lib/commonjs/style/mixins/mediaBreakpointOnly.js +19 -0
- package/lib/commonjs/style/mixins/mediaBreakpointOnly.js.map +1 -0
- package/lib/commonjs/style/mixins/mediaBreakpointUp.js +19 -0
- package/lib/commonjs/style/mixins/mediaBreakpointUp.js.map +1 -0
- package/lib/commonjs/style/mixins/platform.js +17 -0
- package/lib/commonjs/style/mixins/platform.js.map +1 -0
- package/lib/commonjs/style/parse/InputStream.js +62 -0
- package/lib/commonjs/style/parse/InputStream.js.map +1 -0
- package/lib/commonjs/style/parse/index.js +28 -0
- package/lib/commonjs/style/parse/index.js.map +1 -0
- package/lib/commonjs/style/parse/isIdent.js +10 -0
- package/lib/commonjs/style/parse/isIdent.js.map +1 -0
- package/lib/commonjs/style/parse/isWhitespace.js +10 -0
- package/lib/commonjs/style/parse/isWhitespace.js.map +1 -0
- package/lib/commonjs/style/parse/parseBlock.js +37 -0
- package/lib/commonjs/style/parse/parseBlock.js.map +1 -0
- package/lib/commonjs/style/parse/rules/comment.js +38 -0
- package/lib/commonjs/style/parse/rules/comment.js.map +1 -0
- package/lib/commonjs/style/parse/rules/declaration.js +66 -0
- package/lib/commonjs/style/parse/rules/declaration.js.map +1 -0
- package/lib/commonjs/style/parse/rules/directive.js +63 -0
- package/lib/commonjs/style/parse/rules/directive.js.map +1 -0
- package/lib/commonjs/style/parse/rules/selector.js +43 -0
- package/lib/commonjs/style/parse/rules/selector.js.map +1 -0
- package/lib/commonjs/style/parse/rules/variable.js +30 -0
- package/lib/commonjs/style/parse/rules/variable.js.map +1 -0
- package/lib/commonjs/style/transform/formula.js +26 -0
- package/lib/commonjs/style/transform/formula.js.map +1 -0
- package/lib/commonjs/style/transform/index.js +125 -0
- package/lib/commonjs/style/transform/index.js.map +1 -0
- package/lib/commonjs/style/transform/properties/backgroundPosition.js +42 -0
- package/lib/commonjs/style/transform/properties/backgroundPosition.js.map +1 -0
- package/lib/commonjs/style/transform/properties/backgroundPositionX.js +26 -0
- package/lib/commonjs/style/transform/properties/backgroundPositionX.js.map +1 -0
- package/lib/commonjs/style/transform/properties/backgroundPositionY.js +26 -0
- package/lib/commonjs/style/transform/properties/backgroundPositionY.js.map +1 -0
- package/lib/commonjs/style/transform/properties/backgroundSize.js +27 -0
- package/lib/commonjs/style/transform/properties/backgroundSize.js.map +1 -0
- package/lib/commonjs/style/transform/rem.js +21 -0
- package/lib/commonjs/style/transform/rem.js.map +1 -0
- package/lib/commonjs/style/transform/rgba.js +13 -0
- package/lib/commonjs/style/transform/rgba.js.map +1 -0
- package/lib/commonjs/style/types/RgbaValue.js +238 -0
- package/lib/commonjs/style/types/RgbaValue.js.map +1 -0
- package/lib/commonjs/style/types/UnitValue.js +48 -0
- package/lib/commonjs/style/types/UnitValue.js.map +1 -0
- package/lib/commonjs/theme/breakpoints.js +23 -0
- package/lib/commonjs/theme/breakpoints.js.map +1 -0
- package/lib/commonjs/theme/functions.js +147 -0
- package/lib/commonjs/theme/functions.js.map +1 -0
- package/lib/commonjs/theme/maps.js +39 -0
- package/lib/commonjs/theme/maps.js.map +1 -0
- package/lib/commonjs/theme/proxies.js +106 -0
- package/lib/commonjs/theme/proxies.js.map +1 -0
- package/lib/commonjs/theme/utilities.js +710 -0
- package/lib/commonjs/theme/utilities.js.map +1 -0
- package/lib/commonjs/theme/variables.js +1323 -0
- package/lib/commonjs/theme/variables.js.map +1 -0
- package/lib/commonjs/utils.js +71 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/module/Context.js +5 -0
- package/lib/module/Context.js.map +1 -0
- package/lib/module/Provider.js +54 -0
- package/lib/module/Provider.js.map +1 -0
- package/lib/module/components/Body.js +60 -0
- package/lib/module/components/Body.js.map +1 -0
- package/lib/module/components/Caret.js +122 -0
- package/lib/module/components/Caret.js.map +1 -0
- package/lib/module/components/Heading.js +49 -0
- package/lib/module/components/Heading.js.map +1 -0
- package/lib/module/components/Image.js +31 -0
- package/lib/module/components/Image.js.map +1 -0
- package/lib/module/components/ImageBackground.js +31 -0
- package/lib/module/components/ImageBackground.js.map +1 -0
- package/lib/module/components/Label.js +34 -0
- package/lib/module/components/Label.js.map +1 -0
- package/lib/module/components/Link.js +80 -0
- package/lib/module/components/Link.js.map +1 -0
- package/lib/module/components/Pressable.js +117 -0
- package/lib/module/components/Pressable.js.map +1 -0
- package/lib/module/components/ScrollView.js +54 -0
- package/lib/module/components/ScrollView.js.map +1 -0
- package/lib/module/components/Text.js +96 -0
- package/lib/module/components/Text.js.map +1 -0
- package/lib/module/components/TextInput.js +51 -0
- package/lib/module/components/TextInput.js.map +1 -0
- package/lib/module/components/View.js +47 -0
- package/lib/module/components/View.js.map +1 -0
- package/lib/module/components/alert/Alert.js +62 -0
- package/lib/module/components/alert/Alert.js.map +1 -0
- package/lib/module/components/badge/Badge.js +54 -0
- package/lib/module/components/badge/Badge.js.map +1 -0
- package/lib/module/components/breadcrumb/Breadcrumb.js +56 -0
- package/lib/module/components/breadcrumb/Breadcrumb.js.map +1 -0
- package/lib/module/components/breadcrumb/BreadcrumbItem.js +67 -0
- package/lib/module/components/breadcrumb/BreadcrumbItem.js.map +1 -0
- package/lib/module/components/button-group/ButtonGroup.js +48 -0
- package/lib/module/components/button-group/ButtonGroup.js.map +1 -0
- package/lib/module/components/button-group/ButtonGroupContext.js +5 -0
- package/lib/module/components/button-group/ButtonGroupContext.js.map +1 -0
- package/lib/module/components/button-group/ButtonToolbar.js +37 -0
- package/lib/module/components/button-group/ButtonToolbar.js.map +1 -0
- package/lib/module/components/buttons/Button.js +310 -0
- package/lib/module/components/buttons/Button.js.map +1 -0
- package/lib/module/components/buttons/useToggleButton.js +19 -0
- package/lib/module/components/buttons/useToggleButton.js.map +1 -0
- package/lib/module/components/card/Card.js +49 -0
- package/lib/module/components/card/Card.js.map +1 -0
- package/lib/module/components/card/CardBody.js +42 -0
- package/lib/module/components/card/CardBody.js.map +1 -0
- package/lib/module/components/card/CardFooter.js +46 -0
- package/lib/module/components/card/CardFooter.js.map +1 -0
- package/lib/module/components/card/CardHeader.js +47 -0
- package/lib/module/components/card/CardHeader.js.map +1 -0
- package/lib/module/components/close/CloseButton.js +128 -0
- package/lib/module/components/close/CloseButton.js.map +1 -0
- package/lib/module/components/collapse/Collapse.js +34 -0
- package/lib/module/components/collapse/Collapse.js.map +1 -0
- package/lib/module/components/collapse/CollapseContext.js +5 -0
- package/lib/module/components/collapse/CollapseContext.js.map +1 -0
- package/lib/module/components/collapse/CollapseProvider.js +26 -0
- package/lib/module/components/collapse/CollapseProvider.js.map +1 -0
- package/lib/module/components/collapse/useCollapse.js +13 -0
- package/lib/module/components/collapse/useCollapse.js.map +1 -0
- package/lib/module/components/collapse/useToggleCollapse.js +19 -0
- package/lib/module/components/collapse/useToggleCollapse.js.map +1 -0
- package/lib/module/components/containers/Container.js +116 -0
- package/lib/module/components/containers/Container.js.map +1 -0
- package/lib/module/components/dropdown/Dropdown.js +70 -0
- package/lib/module/components/dropdown/Dropdown.js.map +1 -0
- package/lib/module/components/dropdown/DropdownContext.js +5 -0
- package/lib/module/components/dropdown/DropdownContext.js.map +1 -0
- package/lib/module/components/dropdown/DropdownDivider.js +36 -0
- package/lib/module/components/dropdown/DropdownDivider.js.map +1 -0
- package/lib/module/components/dropdown/DropdownHeader.js +50 -0
- package/lib/module/components/dropdown/DropdownHeader.js.map +1 -0
- package/lib/module/components/dropdown/DropdownItem.js +128 -0
- package/lib/module/components/dropdown/DropdownItem.js.map +1 -0
- package/lib/module/components/dropdown/DropdownItemText.js +46 -0
- package/lib/module/components/dropdown/DropdownItemText.js.map +1 -0
- package/lib/module/components/dropdown/DropdownMenu.js +207 -0
- package/lib/module/components/dropdown/DropdownMenu.js.map +1 -0
- package/lib/module/components/dropdown/DropdownToggle.js +15 -0
- package/lib/module/components/dropdown/DropdownToggle.js.map +1 -0
- package/lib/module/components/dropdown/useDismissDropdown.js +17 -0
- package/lib/module/components/dropdown/useDismissDropdown.js.map +1 -0
- package/lib/module/components/dropdown/useDropdown.js +19 -0
- package/lib/module/components/dropdown/useDropdown.js.map +1 -0
- package/lib/module/components/dropdown/useToggleDropdown.js +26 -0
- package/lib/module/components/dropdown/useToggleDropdown.js.map +1 -0
- package/lib/module/components/forms/Checkbox.js +15 -0
- package/lib/module/components/forms/Checkbox.js.map +1 -0
- package/lib/module/components/forms/Feedback.js +43 -0
- package/lib/module/components/forms/Feedback.js.map +1 -0
- package/lib/module/components/forms/FormCheck.js +64 -0
- package/lib/module/components/forms/FormCheck.js.map +1 -0
- package/lib/module/components/forms/FormCheckContext.js +5 -0
- package/lib/module/components/forms/FormCheckContext.js.map +1 -0
- package/lib/module/components/forms/FormCheckInput.js +213 -0
- package/lib/module/components/forms/FormCheckInput.js.map +1 -0
- package/lib/module/components/forms/FormCheckLabel.js +67 -0
- package/lib/module/components/forms/FormCheckLabel.js.map +1 -0
- package/lib/module/components/forms/FormLabel.js +45 -0
- package/lib/module/components/forms/FormLabel.js.map +1 -0
- package/lib/module/components/forms/FormText.js +48 -0
- package/lib/module/components/forms/FormText.js.map +1 -0
- package/lib/module/components/forms/Input.js +195 -0
- package/lib/module/components/forms/Input.js.map +1 -0
- package/lib/module/components/forms/Picker.js +171 -0
- package/lib/module/components/forms/Picker.js.map +1 -0
- package/lib/module/components/forms/PickerContext.js +5 -0
- package/lib/module/components/forms/PickerContext.js.map +1 -0
- package/lib/module/components/forms/PickerItem.js +33 -0
- package/lib/module/components/forms/PickerItem.js.map +1 -0
- package/lib/module/components/forms/Radio.js +35 -0
- package/lib/module/components/forms/Radio.js.map +1 -0
- package/lib/module/components/forms/RadioContext.js +5 -0
- package/lib/module/components/forms/RadioContext.js.map +1 -0
- package/lib/module/components/forms/RadioGroup.js +34 -0
- package/lib/module/components/forms/RadioGroup.js.map +1 -0
- package/lib/module/components/forms/Switch.js +15 -0
- package/lib/module/components/forms/Switch.js.map +1 -0
- package/lib/module/components/forms/internals/FormCheckInputNative.js +49 -0
- package/lib/module/components/forms/internals/FormCheckInputNative.js.map +1 -0
- package/lib/module/components/forms/internals/FormCheckInputWeb.js +65 -0
- package/lib/module/components/forms/internals/FormCheckInputWeb.js.map +1 -0
- package/lib/module/components/forms/internals/PickerNative.js +129 -0
- package/lib/module/components/forms/internals/PickerNative.js.map +1 -0
- package/lib/module/components/forms/internals/PickerNativeContext.js +5 -0
- package/lib/module/components/forms/internals/PickerNativeContext.js.map +1 -0
- package/lib/module/components/forms/internals/PickerNativeItem.js +55 -0
- package/lib/module/components/forms/internals/PickerNativeItem.js.map +1 -0
- package/lib/module/components/forms/internals/PickerWeb.js +64 -0
- package/lib/module/components/forms/internals/PickerWeb.js.map +1 -0
- package/lib/module/components/forms/internals/PickerWebContext.js +5 -0
- package/lib/module/components/forms/internals/PickerWebContext.js.map +1 -0
- package/lib/module/components/forms/internals/PickerWebItem.js +31 -0
- package/lib/module/components/forms/internals/PickerWebItem.js.map +1 -0
- package/lib/module/components/grid/Col.js +88 -0
- package/lib/module/components/grid/Col.js.map +1 -0
- package/lib/module/components/grid/Row.js +39 -0
- package/lib/module/components/grid/Row.js.map +1 -0
- package/lib/module/components/grid/RowContext.js +5 -0
- package/lib/module/components/grid/RowContext.js.map +1 -0
- package/lib/module/components/helpers/BackdropHandler.js +113 -0
- package/lib/module/components/helpers/BackdropHandler.js.map +1 -0
- package/lib/module/components/helpers/ListContext.js +5 -0
- package/lib/module/components/helpers/ListContext.js.map +1 -0
- package/lib/module/components/helpers/Overlay.js +59 -0
- package/lib/module/components/helpers/Overlay.js.map +1 -0
- package/lib/module/components/list-group/ListGroup.js +69 -0
- package/lib/module/components/list-group/ListGroup.js.map +1 -0
- package/lib/module/components/list-group/ListGroupContext.js +5 -0
- package/lib/module/components/list-group/ListGroupContext.js.map +1 -0
- package/lib/module/components/list-group/ListGroupItem.js +121 -0
- package/lib/module/components/list-group/ListGroupItem.js.map +1 -0
- package/lib/module/components/list-group/ListGroupItemAction.js +139 -0
- package/lib/module/components/list-group/ListGroupItemAction.js.map +1 -0
- package/lib/module/components/modal/Modal.js +210 -0
- package/lib/module/components/modal/Modal.js.map +1 -0
- package/lib/module/components/modal/ModalBody.js +50 -0
- package/lib/module/components/modal/ModalBody.js.map +1 -0
- package/lib/module/components/modal/ModalContext.js +5 -0
- package/lib/module/components/modal/ModalContext.js.map +1 -0
- package/lib/module/components/modal/ModalFooter.js +44 -0
- package/lib/module/components/modal/ModalFooter.js.map +1 -0
- package/lib/module/components/modal/ModalHeader.js +43 -0
- package/lib/module/components/modal/ModalHeader.js.map +1 -0
- package/lib/module/components/modal/ModalTitle.js +36 -0
- package/lib/module/components/modal/ModalTitle.js.map +1 -0
- package/lib/module/components/modal/useModal.js +18 -0
- package/lib/module/components/modal/useModal.js.map +1 -0
- package/lib/module/components/nav/Nav.js +87 -0
- package/lib/module/components/nav/Nav.js.map +1 -0
- package/lib/module/components/nav/NavContext.js +5 -0
- package/lib/module/components/nav/NavContext.js.map +1 -0
- package/lib/module/components/nav/NavLink.js +237 -0
- package/lib/module/components/nav/NavLink.js.map +1 -0
- package/lib/module/components/nav/Tab.js +13 -0
- package/lib/module/components/nav/Tab.js.map +1 -0
- package/lib/module/components/nav/TabContent.js +19 -0
- package/lib/module/components/nav/TabContent.js.map +1 -0
- package/lib/module/components/nav/TabContext.js +5 -0
- package/lib/module/components/nav/TabContext.js.map +1 -0
- package/lib/module/components/nav/TabPane.js +48 -0
- package/lib/module/components/nav/TabPane.js.map +1 -0
- package/lib/module/components/nav/TabProvider.js +26 -0
- package/lib/module/components/nav/TabProvider.js.map +1 -0
- package/lib/module/components/nav/useTabbable.js +13 -0
- package/lib/module/components/nav/useTabbable.js.map +1 -0
- package/lib/module/components/nav/useToggleTab.js +29 -0
- package/lib/module/components/nav/useToggleTab.js.map +1 -0
- package/lib/module/components/navbar/Navbar.js +80 -0
- package/lib/module/components/navbar/Navbar.js.map +1 -0
- package/lib/module/components/navbar/NavbarBrand.js +78 -0
- package/lib/module/components/navbar/NavbarBrand.js.map +1 -0
- package/lib/module/components/navbar/NavbarCollapse.js +61 -0
- package/lib/module/components/navbar/NavbarCollapse.js.map +1 -0
- package/lib/module/components/navbar/NavbarContext.js +5 -0
- package/lib/module/components/navbar/NavbarContext.js.map +1 -0
- package/lib/module/components/navbar/NavbarText.js +54 -0
- package/lib/module/components/navbar/NavbarText.js.map +1 -0
- package/lib/module/components/navbar/NavbarToggler.js +119 -0
- package/lib/module/components/navbar/NavbarToggler.js.map +1 -0
- package/lib/module/components/navbar/useDismissNavbar.js +18 -0
- package/lib/module/components/navbar/useDismissNavbar.js.map +1 -0
- package/lib/module/components/navbar/useNavbar.js +15 -0
- package/lib/module/components/navbar/useNavbar.js.map +1 -0
- package/lib/module/components/navbar/useToggleNavbar.js +21 -0
- package/lib/module/components/navbar/useToggleNavbar.js.map +1 -0
- package/lib/module/components/offcanvas/Offcanvas.js +217 -0
- package/lib/module/components/offcanvas/Offcanvas.js.map +1 -0
- package/lib/module/components/offcanvas/OffcanvasBody.js +54 -0
- package/lib/module/components/offcanvas/OffcanvasBody.js.map +1 -0
- package/lib/module/components/offcanvas/OffcanvasContext.js +5 -0
- package/lib/module/components/offcanvas/OffcanvasContext.js.map +1 -0
- package/lib/module/components/offcanvas/OffcanvasHeader.js +49 -0
- package/lib/module/components/offcanvas/OffcanvasHeader.js.map +1 -0
- package/lib/module/components/offcanvas/OffcanvasTitle.js +36 -0
- package/lib/module/components/offcanvas/OffcanvasTitle.js.map +1 -0
- package/lib/module/components/offcanvas/useOffcanvas.js +16 -0
- package/lib/module/components/offcanvas/useOffcanvas.js.map +1 -0
- package/lib/module/components/pagination/Pagination.js +41 -0
- package/lib/module/components/pagination/Pagination.js.map +1 -0
- package/lib/module/components/pagination/PaginationItem.js +125 -0
- package/lib/module/components/pagination/PaginationItem.js.map +1 -0
- package/lib/module/components/placeholders/Placeholders.js +36 -0
- package/lib/module/components/placeholders/Placeholders.js.map +1 -0
- package/lib/module/components/popover/Popover.js +82 -0
- package/lib/module/components/popover/Popover.js.map +1 -0
- package/lib/module/components/popover/PopoverArrow.js +148 -0
- package/lib/module/components/popover/PopoverArrow.js.map +1 -0
- package/lib/module/components/popover/PopoverBody.js +41 -0
- package/lib/module/components/popover/PopoverBody.js.map +1 -0
- package/lib/module/components/popover/PopoverContext.js +5 -0
- package/lib/module/components/popover/PopoverContext.js.map +1 -0
- package/lib/module/components/popover/PopoverHeader.js +55 -0
- package/lib/module/components/popover/PopoverHeader.js.map +1 -0
- package/lib/module/components/popover/injectPopover.js +71 -0
- package/lib/module/components/popover/injectPopover.js.map +1 -0
- package/lib/module/components/progress/Progress.js +59 -0
- package/lib/module/components/progress/Progress.js.map +1 -0
- package/lib/module/components/progress/ProgressBar.js +71 -0
- package/lib/module/components/progress/ProgressBar.js.map +1 -0
- package/lib/module/components/progress/ProgressContext.js +5 -0
- package/lib/module/components/progress/ProgressContext.js.map +1 -0
- package/lib/module/components/progress/useProgress.js +8 -0
- package/lib/module/components/progress/useProgress.js.map +1 -0
- package/lib/module/components/spinners/Spinner.js +130 -0
- package/lib/module/components/spinners/Spinner.js.map +1 -0
- package/lib/module/components/toasts/Toast.js +64 -0
- package/lib/module/components/toasts/Toast.js.map +1 -0
- package/lib/module/components/toasts/ToastBody.js +43 -0
- package/lib/module/components/toasts/ToastBody.js.map +1 -0
- package/lib/module/components/toasts/ToastContainer.js +40 -0
- package/lib/module/components/toasts/ToastContainer.js.map +1 -0
- package/lib/module/components/toasts/ToastContainerContext.js +5 -0
- package/lib/module/components/toasts/ToastContainerContext.js.map +1 -0
- package/lib/module/components/toasts/ToastHeader.js +52 -0
- package/lib/module/components/toasts/ToastHeader.js.map +1 -0
- package/lib/module/components/tooltip/Tooltip.js +88 -0
- package/lib/module/components/tooltip/Tooltip.js.map +1 -0
- package/lib/module/components/tooltip/TooltipArrow.js +101 -0
- package/lib/module/components/tooltip/TooltipArrow.js.map +1 -0
- package/lib/module/components/tooltip/TooltipContext.js +5 -0
- package/lib/module/components/tooltip/TooltipContext.js.map +1 -0
- package/lib/module/components/tooltip/TooltipInner.js +49 -0
- package/lib/module/components/tooltip/TooltipInner.js.map +1 -0
- package/lib/module/components/tooltip/injectTooltip.js +68 -0
- package/lib/module/components/tooltip/injectTooltip.js.map +1 -0
- package/lib/module/components/type/Blockquote.js +46 -0
- package/lib/module/components/type/Blockquote.js.map +1 -0
- package/lib/module/components/type/Code.js +43 -0
- package/lib/module/components/type/Code.js.map +1 -0
- package/lib/module/components/type/DisplayHeading.js +40 -0
- package/lib/module/components/type/DisplayHeading.js.map +1 -0
- package/lib/module/components/type/Paragraph.js +46 -0
- package/lib/module/components/type/Paragraph.js.map +1 -0
- package/lib/module/hooks/useAction.js +30 -0
- package/lib/module/hooks/useAction.js.map +1 -0
- package/lib/module/hooks/useBackground.js +95 -0
- package/lib/module/hooks/useBackground.js.map +1 -0
- package/lib/module/hooks/useBackground.native.js +188 -0
- package/lib/module/hooks/useBackground.native.js.map +1 -0
- package/lib/module/hooks/useControlledState.js +19 -0
- package/lib/module/hooks/useControlledState.js.map +1 -0
- package/lib/module/hooks/useFixedElement.js +14 -0
- package/lib/module/hooks/useFixedElement.js.map +1 -0
- package/lib/module/hooks/useForcedContext.js +8 -0
- package/lib/module/hooks/useForcedContext.js.map +1 -0
- package/lib/module/hooks/useIdentifier.js +11 -0
- package/lib/module/hooks/useIdentifier.js.map +1 -0
- package/lib/module/hooks/useInteractionState.js +59 -0
- package/lib/module/hooks/useInteractionState.js.map +1 -0
- package/lib/module/hooks/useList.js +41 -0
- package/lib/module/hooks/useList.js.map +1 -0
- package/lib/module/hooks/useMedia.js +24 -0
- package/lib/module/hooks/useMedia.js.map +1 -0
- package/lib/module/hooks/useModifier.js +16 -0
- package/lib/module/hooks/useModifier.js.map +1 -0
- package/lib/module/hooks/useScrollbarEffects.js +62 -0
- package/lib/module/hooks/useScrollbarEffects.js.map +1 -0
- package/lib/module/hooks/useStyle.js +51 -0
- package/lib/module/hooks/useStyle.js.map +1 -0
- package/lib/module/hooks/useTrigger.js +106 -0
- package/lib/module/hooks/useTrigger.js.map +1 -0
- package/lib/module/hooks/useViewport.js +50 -0
- package/lib/module/hooks/useViewport.js.map +1 -0
- package/lib/module/index.js +68 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/style/StyleSheet.js +113 -0
- package/lib/module/style/StyleSheet.js.map +1 -0
- package/lib/module/style/TextStyleContext.js +5 -0
- package/lib/module/style/TextStyleContext.js.map +1 -0
- package/lib/module/style/TextStyleProvider.js +24 -0
- package/lib/module/style/TextStyleProvider.js.map +1 -0
- package/lib/module/style/createStyle.js +80 -0
- package/lib/module/style/createStyle.js.map +1 -0
- package/lib/module/style/css.js +15 -0
- package/lib/module/style/css.js.map +1 -0
- package/lib/module/style/functions.js +30 -0
- package/lib/module/style/functions.js.map +1 -0
- package/lib/module/style/makeTheme.js +25 -0
- package/lib/module/style/makeTheme.js.map +1 -0
- package/lib/module/style/makeUtilities.js +47 -0
- package/lib/module/style/makeUtilities.js.map +1 -0
- package/lib/module/style/math.js +48 -0
- package/lib/module/style/math.js.map +1 -0
- package/lib/module/style/mixins/mediaBreakpointBetween.js +13 -0
- package/lib/module/style/mixins/mediaBreakpointBetween.js.map +1 -0
- package/lib/module/style/mixins/mediaBreakpointDown.js +13 -0
- package/lib/module/style/mixins/mediaBreakpointDown.js.map +1 -0
- package/lib/module/style/mixins/mediaBreakpointOnly.js +13 -0
- package/lib/module/style/mixins/mediaBreakpointOnly.js.map +1 -0
- package/lib/module/style/mixins/mediaBreakpointUp.js +13 -0
- package/lib/module/style/mixins/mediaBreakpointUp.js.map +1 -0
- package/lib/module/style/mixins/platform.js +11 -0
- package/lib/module/style/mixins/platform.js.map +1 -0
- package/lib/module/style/parse/InputStream.js +56 -0
- package/lib/module/style/parse/InputStream.js.map +1 -0
- package/lib/module/style/parse/index.js +21 -0
- package/lib/module/style/parse/index.js.map +1 -0
- package/lib/module/style/parse/isIdent.js +4 -0
- package/lib/module/style/parse/isIdent.js.map +1 -0
- package/lib/module/style/parse/isWhitespace.js +4 -0
- package/lib/module/style/parse/isWhitespace.js.map +1 -0
- package/lib/module/style/parse/parseBlock.js +30 -0
- package/lib/module/style/parse/parseBlock.js.map +1 -0
- package/lib/module/style/parse/rules/comment.js +32 -0
- package/lib/module/style/parse/rules/comment.js.map +1 -0
- package/lib/module/style/parse/rules/declaration.js +59 -0
- package/lib/module/style/parse/rules/declaration.js.map +1 -0
- package/lib/module/style/parse/rules/directive.js +56 -0
- package/lib/module/style/parse/rules/directive.js.map +1 -0
- package/lib/module/style/parse/rules/selector.js +36 -0
- package/lib/module/style/parse/rules/selector.js.map +1 -0
- package/lib/module/style/parse/rules/variable.js +23 -0
- package/lib/module/style/parse/rules/variable.js.map +1 -0
- package/lib/module/style/transform/formula.js +20 -0
- package/lib/module/style/transform/formula.js.map +1 -0
- package/lib/module/style/transform/index.js +118 -0
- package/lib/module/style/transform/index.js.map +1 -0
- package/lib/module/style/transform/properties/backgroundPosition.js +36 -0
- package/lib/module/style/transform/properties/backgroundPosition.js.map +1 -0
- package/lib/module/style/transform/properties/backgroundPositionX.js +20 -0
- package/lib/module/style/transform/properties/backgroundPositionX.js.map +1 -0
- package/lib/module/style/transform/properties/backgroundPositionY.js +20 -0
- package/lib/module/style/transform/properties/backgroundPositionY.js.map +1 -0
- package/lib/module/style/transform/properties/backgroundSize.js +22 -0
- package/lib/module/style/transform/properties/backgroundSize.js.map +1 -0
- package/lib/module/style/transform/rem.js +15 -0
- package/lib/module/style/transform/rem.js.map +1 -0
- package/lib/module/style/transform/rgba.js +7 -0
- package/lib/module/style/transform/rgba.js.map +1 -0
- package/lib/module/style/types/RgbaValue.js +231 -0
- package/lib/module/style/types/RgbaValue.js.map +1 -0
- package/lib/module/style/types/UnitValue.js +41 -0
- package/lib/module/style/types/UnitValue.js.map +1 -0
- package/lib/module/theme/breakpoints.js +16 -0
- package/lib/module/theme/breakpoints.js.map +1 -0
- package/lib/module/theme/functions.js +139 -0
- package/lib/module/theme/functions.js.map +1 -0
- package/lib/module/theme/maps.js +33 -0
- package/lib/module/theme/maps.js.map +1 -0
- package/lib/module/theme/proxies.js +101 -0
- package/lib/module/theme/proxies.js.map +1 -0
- package/lib/module/theme/utilities.js +705 -0
- package/lib/module/theme/utilities.js.map +1 -0
- package/lib/module/theme/variables.js +1316 -0
- package/lib/module/theme/variables.js.map +1 -0
- package/lib/module/utils.js +57 -0
- package/lib/module/utils.js.map +1 -0
- package/package.json +69 -58
- package/src/Context.js +7 -0
- package/src/Provider.js +63 -0
- package/src/components/Body.js +64 -0
- package/src/components/Caret.js +127 -0
- package/src/components/Heading.js +55 -0
- package/src/components/Image.js +28 -0
- package/src/components/ImageBackground.js +32 -0
- package/src/components/Label.js +36 -0
- package/src/components/Link.js +95 -0
- package/src/components/Pressable.js +148 -0
- package/src/components/ScrollView.js +65 -0
- package/src/components/Text.js +121 -0
- package/src/components/TextInput.js +56 -0
- package/src/components/View.js +50 -0
- package/src/components/alert/Alert.js +77 -0
- package/src/components/badge/Badge.js +52 -0
- package/src/components/breadcrumb/Breadcrumb.js +64 -0
- package/src/components/breadcrumb/BreadcrumbItem.js +86 -0
- package/src/components/button-group/ButtonGroup.js +47 -0
- package/src/components/button-group/ButtonGroupContext.js +7 -0
- package/src/components/button-group/ButtonToolbar.js +38 -0
- package/src/components/buttons/Button.js +381 -0
- package/src/components/buttons/useToggleButton.js +18 -0
- package/src/components/card/Card.js +52 -0
- package/src/components/card/CardBody.js +48 -0
- package/src/components/card/CardFooter.js +52 -0
- package/src/components/card/CardHeader.js +53 -0
- package/src/components/close/CloseButton.js +146 -0
- package/src/components/collapse/Collapse.js +35 -0
- package/src/components/collapse/CollapseContext.js +7 -0
- package/src/components/collapse/CollapseProvider.js +28 -0
- package/src/components/collapse/useCollapse.js +26 -0
- package/src/components/collapse/useToggleCollapse.js +19 -0
- package/src/components/containers/Container.js +122 -0
- package/src/components/dropdown/Dropdown.js +90 -0
- package/src/components/dropdown/DropdownContext.js +7 -0
- package/src/components/dropdown/DropdownDivider.js +35 -0
- package/src/components/dropdown/DropdownHeader.js +49 -0
- package/src/components/dropdown/DropdownItem.js +151 -0
- package/src/components/dropdown/DropdownItemText.js +44 -0
- package/src/components/dropdown/DropdownMenu.js +283 -0
- package/src/components/dropdown/DropdownToggle.js +17 -0
- package/src/components/dropdown/useDismissDropdown.js +17 -0
- package/src/components/dropdown/useDropdown.js +37 -0
- package/src/components/dropdown/useToggleDropdown.js +23 -0
- package/src/components/forms/Checkbox.js +12 -0
- package/src/components/forms/Feedback.js +44 -0
- package/src/components/forms/FormCheck.js +69 -0
- package/src/components/forms/FormCheckContext.js +7 -0
- package/src/components/forms/FormCheckInput.js +247 -0
- package/src/components/forms/FormCheckLabel.js +76 -0
- package/src/components/forms/FormLabel.js +50 -0
- package/src/components/forms/FormText.js +46 -0
- package/src/components/forms/Input.js +216 -0
- package/src/components/forms/Picker.js +186 -0
- package/src/components/forms/PickerContext.js +7 -0
- package/src/components/forms/PickerItem.js +38 -0
- package/src/components/forms/Radio.js +43 -0
- package/src/components/forms/RadioContext.js +7 -0
- package/src/components/forms/RadioGroup.js +39 -0
- package/src/components/forms/Switch.js +12 -0
- package/src/components/forms/internals/FormCheckInputNative.js +58 -0
- package/src/components/forms/internals/FormCheckInputWeb.js +68 -0
- package/src/components/forms/internals/PickerNative.js +177 -0
- package/src/components/forms/internals/PickerNativeContext.js +7 -0
- package/src/components/forms/internals/PickerNativeItem.js +64 -0
- package/src/components/forms/internals/PickerWeb.js +85 -0
- package/src/components/forms/internals/PickerWebContext.js +7 -0
- package/src/components/forms/internals/PickerWebItem.js +37 -0
- package/src/components/grid/Col.js +104 -0
- package/src/components/grid/Row.js +41 -0
- package/src/components/grid/RowContext.js +7 -0
- package/src/components/helpers/BackdropHandler.js +135 -0
- package/src/components/helpers/ListContext.js +7 -0
- package/src/components/helpers/Overlay.js +65 -0
- package/src/components/list-group/ListGroup.js +80 -0
- package/src/components/list-group/ListGroupContext.js +7 -0
- package/src/components/list-group/ListGroupItem.js +152 -0
- package/src/components/list-group/ListGroupItemAction.js +188 -0
- package/src/components/modal/Modal.js +235 -0
- package/src/components/modal/ModalBody.js +57 -0
- package/src/components/modal/ModalContext.js +7 -0
- package/src/components/modal/ModalFooter.js +46 -0
- package/src/components/modal/ModalHeader.js +45 -0
- package/src/components/modal/ModalTitle.js +36 -0
- package/src/components/modal/useModal.js +25 -0
- package/src/components/nav/Nav.js +101 -0
- package/src/components/nav/NavContext.js +7 -0
- package/src/components/nav/NavLink.js +280 -0
- package/src/components/nav/Tab.js +15 -0
- package/src/components/nav/TabContent.js +18 -0
- package/src/components/nav/TabContext.js +7 -0
- package/src/components/nav/TabPane.js +57 -0
- package/src/components/nav/TabProvider.js +24 -0
- package/src/components/nav/useTabbable.js +26 -0
- package/src/components/nav/useToggleTab.js +30 -0
- package/src/components/navbar/Navbar.js +95 -0
- package/src/components/navbar/NavbarBrand.js +86 -0
- package/src/components/navbar/NavbarCollapse.js +67 -0
- package/src/components/navbar/NavbarContext.js +7 -0
- package/src/components/navbar/NavbarText.js +53 -0
- package/src/components/navbar/NavbarToggler.js +132 -0
- package/src/components/navbar/useDismissNavbar.js +18 -0
- package/src/components/navbar/useNavbar.js +30 -0
- package/src/components/navbar/useToggleNavbar.js +21 -0
- package/src/components/offcanvas/Offcanvas.js +252 -0
- package/src/components/offcanvas/OffcanvasBody.js +67 -0
- package/src/components/offcanvas/OffcanvasContext.js +7 -0
- package/src/components/offcanvas/OffcanvasHeader.js +59 -0
- package/src/components/offcanvas/OffcanvasTitle.js +36 -0
- package/src/components/offcanvas/useOffcanvas.js +20 -0
- package/src/components/pagination/Pagination.js +45 -0
- package/src/components/pagination/PaginationItem.js +144 -0
- package/src/components/placeholders/Placeholders.js +38 -0
- package/src/components/popover/Popover.js +94 -0
- package/src/components/popover/PopoverArrow.js +166 -0
- package/src/components/popover/PopoverBody.js +47 -0
- package/src/components/popover/PopoverContext.js +7 -0
- package/src/components/popover/PopoverHeader.js +54 -0
- package/src/components/popover/injectPopover.js +102 -0
- package/src/components/progress/Progress.js +72 -0
- package/src/components/progress/ProgressBar.js +71 -0
- package/src/components/progress/ProgressContext.js +7 -0
- package/src/components/progress/useProgress.js +11 -0
- package/src/components/spinners/Spinner.js +155 -0
- package/src/components/toasts/Toast.js +75 -0
- package/src/components/toasts/ToastBody.js +49 -0
- package/src/components/toasts/ToastContainer.js +43 -0
- package/src/components/toasts/ToastContainerContext.js +7 -0
- package/src/components/toasts/ToastHeader.js +64 -0
- package/src/components/tooltip/Tooltip.js +102 -0
- package/src/components/tooltip/TooltipArrow.js +105 -0
- package/src/components/tooltip/TooltipContext.js +7 -0
- package/src/components/tooltip/TooltipInner.js +47 -0
- package/src/components/tooltip/injectTooltip.js +95 -0
- package/src/components/type/Blockquote.js +52 -0
- package/src/components/type/Code.js +44 -0
- package/src/components/type/DisplayHeading.js +41 -0
- package/src/components/type/Paragraph.js +46 -0
- package/src/hooks/useAction.js +31 -0
- package/src/hooks/useBackground.js +110 -0
- package/src/hooks/useBackground.native.js +191 -0
- package/src/hooks/useControlledState.js +30 -0
- package/src/hooks/useFixedElement.js +17 -0
- package/src/hooks/useForcedContext.js +10 -0
- package/src/hooks/useIdentifier.js +14 -0
- package/src/hooks/useInteractionState.js +54 -0
- package/src/hooks/useList.js +52 -0
- package/src/hooks/useMedia.js +27 -0
- package/src/hooks/useModifier.js +17 -0
- package/src/hooks/useScrollbarEffects.js +82 -0
- package/src/hooks/useStyle.js +62 -0
- package/src/hooks/useTrigger.js +133 -0
- package/src/hooks/useViewport.js +60 -0
- package/src/index.js +134 -0
- package/src/style/StyleSheet.js +121 -0
- package/src/style/TextStyleContext.js +7 -0
- package/src/style/TextStyleProvider.js +30 -0
- package/src/style/createStyle.js +92 -0
- package/src/style/css.js +17 -0
- package/src/style/functions.js +32 -0
- package/src/style/makeTheme.js +19 -0
- package/src/style/makeUtilities.js +56 -0
- package/src/style/math.js +60 -0
- package/src/style/mixins/mediaBreakpointBetween.js +10 -0
- package/src/style/mixins/mediaBreakpointDown.js +10 -0
- package/src/style/mixins/mediaBreakpointOnly.js +10 -0
- package/src/style/mixins/mediaBreakpointUp.js +10 -0
- package/src/style/mixins/platform.js +14 -0
- package/src/style/parse/InputStream.js +69 -0
- package/src/style/parse/index.js +23 -0
- package/src/style/parse/isIdent.js +3 -0
- package/src/style/parse/isWhitespace.js +3 -0
- package/src/style/parse/parseBlock.js +37 -0
- package/src/style/parse/rules/comment.js +40 -0
- package/src/style/parse/rules/declaration.js +73 -0
- package/src/style/parse/rules/directive.js +74 -0
- package/src/style/parse/rules/selector.js +47 -0
- package/src/style/parse/rules/variable.js +24 -0
- package/src/style/transform/formula.js +28 -0
- package/src/style/transform/index.js +155 -0
- package/src/style/transform/properties/backgroundPosition.js +59 -0
- package/src/style/transform/properties/backgroundPositionX.js +23 -0
- package/src/style/transform/properties/backgroundPositionY.js +23 -0
- package/src/style/transform/properties/backgroundSize.js +24 -0
- package/src/style/transform/rem.js +18 -0
- package/src/style/transform/rgba.js +11 -0
- package/src/style/types/RgbaValue.js +111 -0
- package/src/style/types/UnitValue.js +59 -0
- package/src/theme/breakpoints.js +20 -0
- package/src/theme/functions.js +166 -0
- package/src/theme/maps.js +40 -0
- package/src/theme/proxies.js +275 -0
- package/src/theme/utilities.js +706 -0
- package/src/theme/variables.js +1386 -0
- package/src/utils.js +61 -0
- package/dist/bootstrap-rn.cjs.js +0 -8003
- package/dist/bootstrap-rn.esm.js +0 -7919
- package/dist/bootstrap-rn.umd.js +0 -11293
- package/dist/bootstrap-rn.umd.min.js +0 -19
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { getPropertyName, getStylesForProperty } from 'css-to-react-native';
|
|
3
|
+
import rem from './rem';
|
|
4
|
+
import formula from './formula';
|
|
5
|
+
import rgba from './rgba';
|
|
6
|
+
import backgroundSize from './properties/backgroundSize';
|
|
7
|
+
import backgroundPosition from './properties/backgroundPosition';
|
|
8
|
+
import backgroundPositionX from './properties/backgroundPositionX';
|
|
9
|
+
import backgroundPositionY from './properties/backgroundPositionY';
|
|
10
|
+
|
|
11
|
+
const urlRE = /^url\(.*?\)$/g;
|
|
12
|
+
|
|
13
|
+
const applyVariables = (variables, key, value) =>
|
|
14
|
+
typeof value === 'function' ? value(variables, key) : value;
|
|
15
|
+
|
|
16
|
+
const applyTransforms = (result) => {
|
|
17
|
+
// Do not transform values that belong to an url().
|
|
18
|
+
if (result.match(urlRE)) {
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return rgba(formula(rem(result)));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const resolveValue = (value, definition, theme, options) => {
|
|
26
|
+
const variables = options.preferTheme
|
|
27
|
+
? { ...definition.variables, ...theme }
|
|
28
|
+
: { ...theme, ...definition.variables };
|
|
29
|
+
|
|
30
|
+
// If there is only one part, we allow other results than strings as well.
|
|
31
|
+
if (value.length === 1) {
|
|
32
|
+
const result = applyVariables(variables, options.key, value[0]);
|
|
33
|
+
|
|
34
|
+
return typeof result === 'string' ? applyTransforms(result) : result;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const stringifiedResult = value.reduce(
|
|
38
|
+
(previous, current) =>
|
|
39
|
+
`${previous}${applyVariables(variables, options.key, current)}`,
|
|
40
|
+
'',
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
return applyTransforms(stringifiedResult);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export default function transform(
|
|
47
|
+
children,
|
|
48
|
+
theme,
|
|
49
|
+
options = {},
|
|
50
|
+
scopes = [],
|
|
51
|
+
variables = {},
|
|
52
|
+
) {
|
|
53
|
+
let definitions = [
|
|
54
|
+
{
|
|
55
|
+
scopes,
|
|
56
|
+
declarations: {},
|
|
57
|
+
variables: { ...variables },
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
children.forEach((child) => {
|
|
62
|
+
if (child.type === 'variable' || child.type === 'declaration') {
|
|
63
|
+
// Transform value to react native compatible value.
|
|
64
|
+
const value = resolveValue(child.value, definitions[0], theme, options);
|
|
65
|
+
|
|
66
|
+
if (child.type === 'variable') {
|
|
67
|
+
definitions[0].variables[child.name] = value;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Only add value if value is not null.
|
|
71
|
+
if (child.type === 'declaration' && value !== 'null') {
|
|
72
|
+
if (child.name === 'box-shadow') {
|
|
73
|
+
if (Platform.OS === 'web') {
|
|
74
|
+
Object.assign(definitions[0].declarations, {
|
|
75
|
+
boxShadow: value,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
} else if (child.name === 'margin-vertical') {
|
|
79
|
+
Object.assign(definitions[0].declarations, {
|
|
80
|
+
...getStylesForProperty('marginTop', value),
|
|
81
|
+
...getStylesForProperty('marginBottom', value),
|
|
82
|
+
});
|
|
83
|
+
} else if (child.name === 'margin-horizontal') {
|
|
84
|
+
// Among other things workaround for react-native issue #350
|
|
85
|
+
// https://github.com/facebook/react-native/issues/350#issuecomment-375238958
|
|
86
|
+
Object.assign(definitions[0].declarations, {
|
|
87
|
+
...getStylesForProperty('marginLeft', value),
|
|
88
|
+
...getStylesForProperty('marginRight', value),
|
|
89
|
+
});
|
|
90
|
+
} else if (child.name === 'padding-vertical') {
|
|
91
|
+
Object.assign(definitions[0].declarations, {
|
|
92
|
+
...getStylesForProperty('paddingTop', value),
|
|
93
|
+
...getStylesForProperty('paddingBottom', value),
|
|
94
|
+
});
|
|
95
|
+
} else if (child.name === 'padding-horizontal') {
|
|
96
|
+
Object.assign(definitions[0].declarations, {
|
|
97
|
+
...getStylesForProperty('paddingLeft', value),
|
|
98
|
+
...getStylesForProperty('paddingRight', value),
|
|
99
|
+
});
|
|
100
|
+
} else if (child.name === 'background-size') {
|
|
101
|
+
Object.assign(definitions[0].declarations, backgroundSize(value));
|
|
102
|
+
} else if (child.name === 'background-position') {
|
|
103
|
+
Object.assign(definitions[0].declarations, backgroundPosition(value));
|
|
104
|
+
} else if (child.name === 'background-position-x') {
|
|
105
|
+
Object.assign(
|
|
106
|
+
definitions[0].declarations,
|
|
107
|
+
backgroundPositionX(value),
|
|
108
|
+
);
|
|
109
|
+
} else if (child.name === 'background-position-y') {
|
|
110
|
+
Object.assign(
|
|
111
|
+
definitions[0].declarations,
|
|
112
|
+
backgroundPositionY(value),
|
|
113
|
+
);
|
|
114
|
+
} else if (
|
|
115
|
+
child.name === 'border-color' &&
|
|
116
|
+
value.split(' ').length === 1
|
|
117
|
+
) {
|
|
118
|
+
// Workaround for react-native issue #19981
|
|
119
|
+
// https://github.com/facebook/react-native/issues/19981
|
|
120
|
+
Object.assign(definitions[0].declarations, {
|
|
121
|
+
borderColor: value,
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
// TODO: Pre-process css-to-react-native transformation, so that we only
|
|
125
|
+
// need to insert theme variables here.
|
|
126
|
+
Object.assign(
|
|
127
|
+
definitions[0].declarations,
|
|
128
|
+
getStylesForProperty(getPropertyName(child.name), value),
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (child.type === 'block') {
|
|
135
|
+
definitions = definitions.concat(
|
|
136
|
+
transform(
|
|
137
|
+
child.children,
|
|
138
|
+
theme,
|
|
139
|
+
options,
|
|
140
|
+
// Add child scopes to current scopes.
|
|
141
|
+
[...scopes, ...child.scopes],
|
|
142
|
+
// Pass down variables, so that we can extend them.
|
|
143
|
+
definitions[0].variables,
|
|
144
|
+
),
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
// Filter empty definitions and return.
|
|
150
|
+
return definitions.filter(
|
|
151
|
+
(definition) =>
|
|
152
|
+
Object.keys(definition.declarations).length > 0 ||
|
|
153
|
+
Object.keys(definition.variables).length > 0,
|
|
154
|
+
);
|
|
155
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { transformRawValue } from 'css-to-react-native';
|
|
2
|
+
|
|
3
|
+
const positionRE = /(top|right|bottom|left|center)/;
|
|
4
|
+
|
|
5
|
+
const sortPairs = (first, second) => {
|
|
6
|
+
const firstValue = {
|
|
7
|
+
position: first[0],
|
|
8
|
+
offset: first[1]
|
|
9
|
+
? transformRawValue('backgroundPosition', first[1])
|
|
10
|
+
: undefined,
|
|
11
|
+
};
|
|
12
|
+
const secondValue = {
|
|
13
|
+
position: second[0],
|
|
14
|
+
offset: second[1]
|
|
15
|
+
? transformRawValue('backgroundPosition', second[1])
|
|
16
|
+
: undefined,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const shouldReversePairs =
|
|
20
|
+
first[0] === 'top' ||
|
|
21
|
+
first[0] === 'bottom' ||
|
|
22
|
+
second[0] === 'left' ||
|
|
23
|
+
second[0] === 'right';
|
|
24
|
+
|
|
25
|
+
return shouldReversePairs
|
|
26
|
+
? [secondValue, firstValue]
|
|
27
|
+
: [firstValue, secondValue];
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// Spec: https://w3c.github.io/csswg-drafts/css-backgrounds-3/#background-position
|
|
31
|
+
export default function backgroundPosition(value) {
|
|
32
|
+
const values = value.split(' ');
|
|
33
|
+
const [first, second = 'center', third, fourth] = values;
|
|
34
|
+
|
|
35
|
+
if (values.length <= 2) {
|
|
36
|
+
const [x, y] = sortPairs(
|
|
37
|
+
first.match(positionRE) ? [first] : ['left', first],
|
|
38
|
+
second.match(positionRE) ? [second] : ['top', second],
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
backgroundPositionX: x,
|
|
43
|
+
backgroundPositionY: y,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (values.length <= 4) {
|
|
48
|
+
const [x, y] = second.match(positionRE)
|
|
49
|
+
? sortPairs([first], [second, third])
|
|
50
|
+
: sortPairs([first, second], [third, fourth]);
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
backgroundPositionX: x,
|
|
54
|
+
backgroundPositionY: y,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { transformRawValue } from 'css-to-react-native';
|
|
2
|
+
|
|
3
|
+
export default function backgroundPositionX(value) {
|
|
4
|
+
const values = value.split(' ');
|
|
5
|
+
const [first, second = 'auto'] = values;
|
|
6
|
+
|
|
7
|
+
if (values.length === 1) {
|
|
8
|
+
return {
|
|
9
|
+
backgroundPositionX: transformRawValue('backgroundPositionX', first),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (values.length === 2) {
|
|
14
|
+
return {
|
|
15
|
+
backgroundPositionX: {
|
|
16
|
+
position: transformRawValue('backgroundPositionX', first),
|
|
17
|
+
offset: transformRawValue('backgroundPositionX', second),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { transformRawValue } from 'css-to-react-native';
|
|
2
|
+
|
|
3
|
+
export default function backgroundPositionY(value) {
|
|
4
|
+
const values = value.split(' ');
|
|
5
|
+
const [first, second = 'auto'] = values;
|
|
6
|
+
|
|
7
|
+
if (values.length === 1) {
|
|
8
|
+
return {
|
|
9
|
+
backgroundPositionY: transformRawValue('backgroundPositionY', first),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (values.length === 2) {
|
|
14
|
+
return {
|
|
15
|
+
backgroundPositionY: {
|
|
16
|
+
position: transformRawValue('backgroundPositionY', first),
|
|
17
|
+
offset: transformRawValue('backgroundPositionY', second),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { transformRawValue } from 'css-to-react-native';
|
|
2
|
+
|
|
3
|
+
// Spec: https://w3c.github.io/csswg-drafts/css-backgrounds/#the-background-size
|
|
4
|
+
export default function backgroundSize(value) {
|
|
5
|
+
const values = value.split(' ');
|
|
6
|
+
const [first, second = 'auto'] = values;
|
|
7
|
+
|
|
8
|
+
if (values.length === 1) {
|
|
9
|
+
return {
|
|
10
|
+
backgroundSize: transformRawValue('backgroundSize', first),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (values.length === 2) {
|
|
15
|
+
return {
|
|
16
|
+
backgroundSize: {
|
|
17
|
+
width: transformRawValue('backgroundSize', first),
|
|
18
|
+
height: transformRawValue('backgroundSize', second),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Platform, PixelRatio } from 'react-native';
|
|
2
|
+
|
|
3
|
+
const transformREMUnitRE = /([+-]+)?([\d.Ee]+)rem/g;
|
|
4
|
+
|
|
5
|
+
const convertRemToPx = (value) => PixelRatio.getFontScale() * 16 * value;
|
|
6
|
+
|
|
7
|
+
function rem(value) {
|
|
8
|
+
if (Platform.OS === 'web') {
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return value.replace(
|
|
13
|
+
transformREMUnitRE,
|
|
14
|
+
(_, unary = '', number) => `${unary}${convertRemToPx(number)}px`,
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default rem;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { rgba as transform } from '../functions';
|
|
2
|
+
|
|
3
|
+
const transformRgbaRE = /rgba\(\s*([#0-9a-z]+)\s*,\s*([\d.Ee]+)\s*\)/g;
|
|
4
|
+
|
|
5
|
+
function rgba(value) {
|
|
6
|
+
return value.replace(transformRgbaRE, (_, hex, alpha) =>
|
|
7
|
+
transform(hex, alpha),
|
|
8
|
+
);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default rgba;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// Copied from https://github.com/styled-components/polished/blob/main/src/color/parseToRgb.js
|
|
2
|
+
const hexRE = /^#[a-fA-F0-9]{6}$/;
|
|
3
|
+
const hexRgbaRE = /^#[a-fA-F0-9]{8}$/;
|
|
4
|
+
const shortHexRE = /^#[a-fA-F0-9]{3}$/;
|
|
5
|
+
const shortRgbaHexRE = /^#[a-fA-F0-9]{4}$/;
|
|
6
|
+
const rgbRE = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i;
|
|
7
|
+
const rgbaRE = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
|
|
8
|
+
const hslRE = /^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i;
|
|
9
|
+
const hslaRE = /^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
|
|
10
|
+
|
|
11
|
+
// Copied from https://reactnative.dev/docs/colors
|
|
12
|
+
// prettier-ignore
|
|
13
|
+
const colorNames = { aliceblue: '#f0f8ff', antiquewhite: '#faebd7', aqua: '#00ffff', aquamarine: '#7fffd4', azure: '#f0ffff', beige: '#f5f5dc', bisque: '#ffe4c4', black: '#000000', blanchedalmond: '#ffebcd', blue: '#0000ff', blueviolet: '#8a2be2', brown: '#a52a2a', burlywood: '#deb887', cadetblue: '#5f9ea0', chartreuse: '#7fff00', chocolate: '#d2691e', coral: '#ff7f50', cornflowerblue: '#6495ed', cornsilk: '#fff8dc', crimson: '#dc143c', cyan: '#00ffff', darkblue: '#00008b', darkcyan: '#008b8b', darkgoldenrod: '#b8860b', darkgray: '#a9a9a9', darkgreen: '#006400', darkgrey: '#a9a9a9', darkkhaki: '#bdb76b', darkmagenta: '#8b008b', darkolivegreen: '#556b2f', darkorange: '#ff8c00', darkorchid: '#9932cc', darkred: '#8b0000', darksalmon: '#e9967a', darkseagreen: '#8fbc8f', darkslateblue: '#483d8b', darkslategrey: '#2f4f4f', darkturquoise: '#00ced1', darkviolet: '#9400d3', deeppink: '#ff1493', deepskyblue: '#00bfff', dimgray: '#696969', dimgrey: '#696969', dodgerblue: '#1e90ff', firebrick: '#b22222', floralwhite: '#fffaf0', forestgreen: '#228b22', fuchsia: '#ff00ff', gainsboro: '#dcdcdc', ghostwhite: '#f8f8ff', gold: '#ffd700', goldenrod: '#daa520', gray: '#808080', green: '#008000', greenyellow: '#adff2f', grey: '#808080', honeydew: '#f0fff0', hotpink: '#ff69b4', indianred: '#cd5c5c', indigo: '#4b0082', ivory: '#fffff0', khaki: '#f0e68c', lavender: '#e6e6fa', lavenderblush: '#fff0f5', lawngreen: '#7cfc00', lemonchiffon: '#fffacd', lightblue: '#add8e6', lightcoral: '#f08080', lightcyan: '#e0ffff', lightgoldenrodyellow: '#fafad2', lightgray: '#d3d3d3', lightgreen: '#90ee90', lightgrey: '#d3d3d3', lightpink: '#ffb6c1', lightsalmon: '#ffa07a', lightseagreen: '#20b2aa', lightskyblue: '#87cefa', lightslategrey: '#778899', lightsteelblue: '#b0c4de', lightyellow: '#ffffe0', lime: '#00ff00', limegreen: '#32cd32', linen: '#faf0e6', magenta: '#ff00ff', maroon: '#800000', mediumaquamarine: '#66cdaa', mediumblue: '#0000cd', mediumorchid: '#ba55d3', mediumpurple: '#9370db', mediumseagreen: '#3cb371', mediumslateblue: '#7b68ee', mediumspringgreen: '#00fa9a', mediumturquoise: '#48d1cc', mediumvioletred: '#c71585', midnightblue: '#191970', mintcream: '#f5fffa', mistyrose: '#ffe4e1', moccasin: '#ffe4b5', navajowhite: '#ffdead', navy: '#000080', oldlace: '#fdf5e6', olive: '#808000', olivedrab: '#6b8e23', orange: '#ffa500', orangered: '#ff4500', orchid: '#da70d6', palegoldenrod: '#eee8aa', palegreen: '#98fb98', paleturquoise: '#afeeee', palevioletred: '#db7093', papayawhip: '#ffefd5', peachpuff: '#ffdab9', peru: '#cd853f', pink: '#ffc0cb', plum: '#dda0dd', powderblue: '#b0e0e6', purple: '#800080', rebeccapurple: '#663399', red: '#ff0000', rosybrown: '#bc8f8f', royalblue: '#4169e1', saddlebrown: '#8b4513', salmon: '#fa8072', sandybrown: '#f4a460', seagreen: '#2e8b57', seashell: '#fff5ee', sienna: '#a0522d', silver: '#c0c0c0', skyblue: '#87ceeb', slateblue: '#6a5acd', slategray: '#708090', snow: '#fffafa', springgreen: '#00ff7f', steelblue: '#4682b4', tan: '#d2b48c', teal: '#008080', thistle: '#d8bfd8', tomato: '#ff6347', turquoise: '#40e0d0', violet: '#ee82ee', wheat: '#f5deb3', white: '#ffffff', whitesmoke: '#f5f5f5', yellow: '#ffff00', yellowgreen: '#9acd32' };
|
|
14
|
+
|
|
15
|
+
const hslToRgb = (h, s, l) => {
|
|
16
|
+
const a = s * Math.min(l, 1 - l);
|
|
17
|
+
const f = (n, k = (n + h / 30) % 12) =>
|
|
18
|
+
l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
|
|
19
|
+
return [f(0), f(8), f(4)];
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default class RgbaValue {
|
|
23
|
+
red;
|
|
24
|
+
|
|
25
|
+
green;
|
|
26
|
+
|
|
27
|
+
blue;
|
|
28
|
+
|
|
29
|
+
alpha;
|
|
30
|
+
|
|
31
|
+
constructor(red, green, blue, alpha = 1) {
|
|
32
|
+
this.red = red;
|
|
33
|
+
this.green = green;
|
|
34
|
+
this.blue = blue;
|
|
35
|
+
this.alpha = alpha;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static parse(value) {
|
|
39
|
+
if (value instanceof RgbaValue) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const color = colorNames[value] || value;
|
|
44
|
+
|
|
45
|
+
// Handle hex value
|
|
46
|
+
const hexMatch =
|
|
47
|
+
color.match(hexRE) ||
|
|
48
|
+
color.match(hexRgbaRE) ||
|
|
49
|
+
color.match(shortHexRE) ||
|
|
50
|
+
color.match(shortRgbaHexRE);
|
|
51
|
+
if (hexMatch) {
|
|
52
|
+
const params = (hexMatch[0].length <= 4
|
|
53
|
+
? hexMatch[0].match(/\w/g).map((x) => `${x}${x}`)
|
|
54
|
+
: hexMatch[0].match(/\w\w/g)
|
|
55
|
+
).map((hex, key) => {
|
|
56
|
+
const x = parseInt(hex, 16);
|
|
57
|
+
const alpha = key === 3;
|
|
58
|
+
return alpha ? (x / 255).toFixed(2) : x;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return new RgbaValue(...params);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Handle rgb(a) value
|
|
65
|
+
const rgbMatch = color.match(rgbRE) || color.match(rgbaRE);
|
|
66
|
+
if (rgbMatch) {
|
|
67
|
+
const params = rgbMatch.slice(1).map((x, key) => {
|
|
68
|
+
const alpha = key === 3;
|
|
69
|
+
return alpha ? parseFloat(x) : parseInt(x, 10);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
return new RgbaValue(...params);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Handle hsl(a) value
|
|
76
|
+
const hslMatch = color.match(hslRE) || color.match(hslaRE);
|
|
77
|
+
if (hslMatch) {
|
|
78
|
+
const h = parseInt(hslMatch[1], 10);
|
|
79
|
+
const s = parseInt(hslMatch[2], 10) / 100;
|
|
80
|
+
const l = parseInt(hslMatch[3], 10) / 100;
|
|
81
|
+
const alpha = hslMatch[4] && parseFloat(hslMatch[4]);
|
|
82
|
+
|
|
83
|
+
return new RgbaValue(...[...hslToRgb(h, s, l), alpha]);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
throw new Error(`Unknown color "${value}".`);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
toRgb() {
|
|
90
|
+
return [this.red, this.green, this.blue];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
toRgba() {
|
|
94
|
+
return [...this.toRgb(), this.alpha];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
toHex() {
|
|
98
|
+
const [...values] = this.toRgb();
|
|
99
|
+
|
|
100
|
+
if (this.alpha < 1) {
|
|
101
|
+
values.push(this.alpha);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return `#${values
|
|
105
|
+
.map((x) => {
|
|
106
|
+
const hex = x.toString(16);
|
|
107
|
+
return hex.length === 1 ? `0${hex}` : hex;
|
|
108
|
+
})
|
|
109
|
+
.join('')}`;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PixelRatio } from 'react-native';
|
|
2
|
+
|
|
3
|
+
const valueRE = /^([+-]?(?:\d+|\d*\.\d+))(rem|px|%)?$/;
|
|
4
|
+
|
|
5
|
+
export default class UnitValue {
|
|
6
|
+
value;
|
|
7
|
+
|
|
8
|
+
unit;
|
|
9
|
+
|
|
10
|
+
constructor(value, unit = 'number') {
|
|
11
|
+
this.value = value;
|
|
12
|
+
this.unit = unit;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static parse(value) {
|
|
16
|
+
if (value instanceof UnitValue) {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (typeof value === 'number') {
|
|
21
|
+
return new UnitValue(value, 'number');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const match = value.match(valueRE);
|
|
25
|
+
|
|
26
|
+
if (!match) {
|
|
27
|
+
throw new Error(`Cannot parse number "${value}".`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return new UnitValue(
|
|
31
|
+
parseFloat(match[1]),
|
|
32
|
+
match[2] === '%' ? 'percent' : match[2],
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
toNumber() {
|
|
37
|
+
if (this.unit === 'percent') {
|
|
38
|
+
return this.value / 100;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (this.unit === 'rem') {
|
|
42
|
+
return this.value * PixelRatio.getFontScale() * 16;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return this.value;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
toString() {
|
|
49
|
+
if (this.unit === 'number') {
|
|
50
|
+
return this.value;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (this.unit === 'percent') {
|
|
54
|
+
return `${this.value}%`;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return `${this.value}${this.unit}`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GRID_BREAKPOINTS } from './proxies';
|
|
2
|
+
|
|
3
|
+
export function next(name) {
|
|
4
|
+
const names = Object.keys(GRID_BREAKPOINTS);
|
|
5
|
+
const n = names.indexOf(name);
|
|
6
|
+
|
|
7
|
+
if (n === -1) {
|
|
8
|
+
throw new Error(`Breakpoint ${name} not found.`);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return n < names.length ? names[n + 1] : '';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function infix(breakpoint) {
|
|
15
|
+
if (!breakpoint || breakpoint === 'xs') {
|
|
16
|
+
return '';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return `-${breakpoint}`;
|
|
20
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { rgba, opacity, mix } from '../style/functions';
|
|
2
|
+
import { calculate } from '../style/math';
|
|
3
|
+
import RgbaValue from '../style/types/RgbaValue';
|
|
4
|
+
import UnitValue from '../style/types/UnitValue';
|
|
5
|
+
|
|
6
|
+
export const fn = (handle) => (...args) => (t) => {
|
|
7
|
+
const input = args.map((arg) => (typeof arg === 'function' ? arg(t) : arg));
|
|
8
|
+
return handle(input, t);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/* eslint-disable arrow-body-style */
|
|
12
|
+
|
|
13
|
+
const escapedCharacters = {
|
|
14
|
+
'<': '%3c',
|
|
15
|
+
'>': '%3e',
|
|
16
|
+
'#': '%23',
|
|
17
|
+
'(': '%28',
|
|
18
|
+
')': '%29',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const escapeSvg = (string) => {
|
|
22
|
+
const strReplace = (val) =>
|
|
23
|
+
Object.entries(escapedCharacters).reduce(
|
|
24
|
+
(result, [char, encoded]) =>
|
|
25
|
+
result.replace(new RegExp(`\\${char}`, 'g'), encoded),
|
|
26
|
+
val,
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
return string.startsWith('url(')
|
|
30
|
+
? `url("${strReplace(string.slice(5, -2))}")`
|
|
31
|
+
: strReplace(string);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// Color contrast
|
|
35
|
+
|
|
36
|
+
// A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)
|
|
37
|
+
// prettier-ignore
|
|
38
|
+
const luminanceList = [0.0008, 0.001, 0.0011, 0.0013, 0.0015, 0.0017, 0.002, 0.0022, 0.0025, 0.0027, 0.003, 0.0033, 0.0037, 0.004, 0.0044, 0.0048, 0.0052, 0.0056, 0.006, 0.0065, 0.007, 0.0075, 0.008, 0.0086, 0.0091, 0.0097, 0.0103, 0.011, 0.0116, 0.0123, 0.013, 0.0137, 0.0144, 0.0152, 0.016, 0.0168, 0.0176, 0.0185, 0.0194, 0.0203, 0.0212, 0.0222, 0.0232, 0.0242, 0.0252, 0.0262, 0.0273, 0.0284, 0.0296, 0.0307, 0.0319, 0.0331, 0.0343, 0.0356, 0.0369, 0.0382, 0.0395, 0.0409, 0.0423, 0.0437, 0.0452, 0.0467, 0.0482, 0.0497, 0.0513, 0.0529, 0.0545, 0.0561, 0.0578, 0.0595, 0.0612, 0.063, 0.0648, 0.0666, 0.0685, 0.0704, 0.0723, 0.0742, 0.0762, 0.0782, 0.0802, 0.0823, 0.0844, 0.0865, 0.0887, 0.0908, 0.0931, 0.0953, 0.0976, 0.0999, 0.1022, 0.1046, 0.107, 0.1095, 0.1119, 0.1144, 0.117, 0.1195, 0.1221, 0.1248, 0.1274, 0.1301, 0.1329, 0.1356, 0.1384, 0.1413, 0.1441, 0.147, 0.15, 0.1529, 0.1559, 0.159, 0.162, 0.1651, 0.1683, 0.1714, 0.1746, 0.1779, 0.1812, 0.1845, 0.1878, 0.1912, 0.1946, 0.1981, 0.2016, 0.2051, 0.2086, 0.2122, 0.2159, 0.2195, 0.2232, 0.227, 0.2307, 0.2346, 0.2384, 0.2423, 0.2462, 0.2502, 0.2542, 0.2582, 0.2623, 0.2664, 0.2705, 0.2747, 0.2789, 0.2831, 0.2874, 0.2918, 0.2961, 0.3005, 0.305, 0.3095, 0.314, 0.3185, 0.3231, 0.3278, 0.3325, 0.3372, 0.3419, 0.3467, 0.3515, 0.3564, 0.3613, 0.3663, 0.3712, 0.3763, 0.3813, 0.3864, 0.3916, 0.3968, 0.402, 0.4072, 0.4125, 0.4179, 0.4233, 0.4287, 0.4342, 0.4397, 0.4452, 0.4508, 0.4564, 0.4621, 0.4678, 0.4735, 0.4793, 0.4851, 0.491, 0.4969, 0.5029, 0.5089, 0.5149, 0.521, 0.5271, 0.5333, 0.5395, 0.5457, 0.552, 0.5583, 0.5647, 0.5711, 0.5776, 0.5841, 0.5906, 0.5972, 0.6038, 0.6105, 0.6172, 0.624, 0.6308, 0.6376, 0.6445, 0.6514, 0.6584, 0.6654, 0.6724, 0.6795, 0.6867, 0.6939, 0.7011, 0.7084, 0.7157, 0.7231, 0.7305, 0.7379, 0.7454, 0.7529, 0.7605, 0.7682, 0.7758, 0.7835, 0.7913, 0.7991, 0.807, 0.8148, 0.8228, 0.8308, 0.8388, 0.8469, 0.855, 0.8632, 0.8714, 0.8796, 0.8879, 0.8963, 0.9047, 0.9131, 0.9216, 0.9301, 0.9387, 0.9473, 0.956, 0.9647, 0.9734, 0.9823, 0.9911, 1];
|
|
39
|
+
|
|
40
|
+
// Return WCAG2.0 relative luminance
|
|
41
|
+
// See https://www.w3.org/WAI/GL/wiki/Relative_luminance
|
|
42
|
+
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
43
|
+
const luminance = (color) => {
|
|
44
|
+
const rgb = RgbaValue.parse(color).toRgb();
|
|
45
|
+
|
|
46
|
+
const [red, green, blue] = rgb.map((value) => {
|
|
47
|
+
return value / 255 < 0.04045 ? value / 255 / 12.92 : luminanceList[value];
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return red * 0.2126 + green * 0.7152 + blue * 0.0722;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Return opaque color
|
|
54
|
+
// opaque(#fff, rgba(0, 0, 0, .5)) => #808080
|
|
55
|
+
const opaque = (background, foreground) => {
|
|
56
|
+
const foregroundRgba = RgbaValue.parse(foreground);
|
|
57
|
+
return mix(rgba(foregroundRgba, 1), background, opacity(foregroundRgba));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const contrastRatio = (background, foreground) => {
|
|
61
|
+
const l1 = luminance(background);
|
|
62
|
+
const l2 = luminance(opaque(background, foreground));
|
|
63
|
+
|
|
64
|
+
return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export const colorContrast = fn(([background], t) => {
|
|
68
|
+
const foregrounds = [
|
|
69
|
+
t['color-contrast-light'],
|
|
70
|
+
t['color-contrast-dark'],
|
|
71
|
+
t.white,
|
|
72
|
+
t.black,
|
|
73
|
+
];
|
|
74
|
+
let maxRatio = 0;
|
|
75
|
+
let maxRatioColor = null;
|
|
76
|
+
|
|
77
|
+
const result = foregrounds.find((color) => {
|
|
78
|
+
const ratio = contrastRatio(background, color);
|
|
79
|
+
|
|
80
|
+
if (ratio > t['min-contrast-ratio']) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (ratio > maxRatio) {
|
|
85
|
+
maxRatio = ratio;
|
|
86
|
+
maxRatioColor = color;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return false;
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
if (result) {
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// eslint-disable-next-line no-console
|
|
97
|
+
console.warn(
|
|
98
|
+
`Found no color leading to ${t['min-contrast-ratio']}:1 contrast ratio against ${background}...`,
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
return maxRatioColor;
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// Tint a color: mix a color with white
|
|
105
|
+
export const tintColor = fn(([color, weight], t) => {
|
|
106
|
+
return mix(t.white, color, weight);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Shade a color: mix a color with black
|
|
110
|
+
export const shadeColor = fn(([color, weight], t) => {
|
|
111
|
+
return mix(t.black, color, weight);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// Shade the color if the weight is positive, else tint it
|
|
115
|
+
export const shiftColor = fn(([color, weight], t) => {
|
|
116
|
+
const percentage = UnitValue.parse(weight).toNumber();
|
|
117
|
+
|
|
118
|
+
const handle =
|
|
119
|
+
percentage > 0
|
|
120
|
+
? shadeColor(color, percentage)
|
|
121
|
+
: tintColor(color, -percentage);
|
|
122
|
+
|
|
123
|
+
return handle(t);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
export const add = fn(([value1, value2]) => {
|
|
127
|
+
if (value1 === null) {
|
|
128
|
+
return value2;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (value2 === null) {
|
|
132
|
+
return value1;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return calculate(value1, '+', value2);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
export const subtract = fn(([value1, value2]) => {
|
|
139
|
+
if (value1 === null && value2 === null) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (value1 === null) {
|
|
144
|
+
return `-${value2}`;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (value2 === null) {
|
|
148
|
+
return value1;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return calculate(value1, '-', value2);
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
export const divide = fn(([dividend, divisor]) => {
|
|
155
|
+
if (Math.abs(parseFloat(dividend)) === 0) {
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (Math.abs(parseFloat(divisor)) === 0) {
|
|
160
|
+
throw new Error('Cannot divide by 0');
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return calculate(dividend, '/', divisor);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
/* eslint-enable */
|