bootstrap-rn 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/Context.js +12 -0
- package/lib/commonjs/Context.js.map +1 -0
- package/lib/commonjs/Provider.js +60 -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 +32 -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 +224 -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 +13 -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 +231 -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 +11 -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 +61 -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 +51 -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 +25 -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 +215 -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 +7 -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 +222 -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 +5 -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 +54 -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 +19 -8
- package/src/Context.js +7 -0
- package/src/Provider.js +59 -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 +22 -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 +241 -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 +10 -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 +258 -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 +5 -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 +62 -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,73 @@
|
|
|
1
|
+
import isIdent from '../isIdent';
|
|
2
|
+
import isWhitespace from '../isWhitespace';
|
|
3
|
+
|
|
4
|
+
const breaksDeclaration = (char) =>
|
|
5
|
+
typeof char !== 'function' &&
|
|
6
|
+
char !== '$' &&
|
|
7
|
+
char !== ';' &&
|
|
8
|
+
char !== '}' &&
|
|
9
|
+
// char !== '(' &&
|
|
10
|
+
char !== '';
|
|
11
|
+
|
|
12
|
+
const declaration = {
|
|
13
|
+
locate(input) {
|
|
14
|
+
return /[a-z_]/i.test(input.peek());
|
|
15
|
+
},
|
|
16
|
+
read(input) {
|
|
17
|
+
// Parse name.
|
|
18
|
+
const name = input.charsWhile(isIdent);
|
|
19
|
+
|
|
20
|
+
// Parse whitespaces, separator
|
|
21
|
+
input.charsWhile(isWhitespace);
|
|
22
|
+
input.read(':');
|
|
23
|
+
input.charsWhile(isWhitespace, true);
|
|
24
|
+
|
|
25
|
+
// Parse value.
|
|
26
|
+
const value = [];
|
|
27
|
+
|
|
28
|
+
do {
|
|
29
|
+
// Add function to resolve variable.
|
|
30
|
+
if (input.peek() === '$') {
|
|
31
|
+
input.read('$');
|
|
32
|
+
|
|
33
|
+
const variableName = input.charsWhile(isIdent);
|
|
34
|
+
|
|
35
|
+
value.push((variables) => {
|
|
36
|
+
if (variables[variableName] === undefined) {
|
|
37
|
+
throw new Error(`Variable $${variableName} is not defined.`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return variables[variableName];
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Add function.
|
|
45
|
+
if (typeof input.peek() === 'function') {
|
|
46
|
+
value.push(input.read());
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const part = input.charsWhile(breaksDeclaration, true);
|
|
50
|
+
|
|
51
|
+
// TODO: Parse functions
|
|
52
|
+
/* if (input.peek() === '(') {
|
|
53
|
+
|
|
54
|
+
} */
|
|
55
|
+
|
|
56
|
+
if (part.length > 0) {
|
|
57
|
+
value.push(part);
|
|
58
|
+
}
|
|
59
|
+
} while (input.peek() === '$' || typeof input.peek() === 'function');
|
|
60
|
+
|
|
61
|
+
if (input.peek() === ';') {
|
|
62
|
+
input.read(';');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
type: 'declaration',
|
|
67
|
+
name,
|
|
68
|
+
value,
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default declaration;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import isIdent from '../isIdent';
|
|
2
|
+
import isWhitespace from '../isWhitespace';
|
|
3
|
+
|
|
4
|
+
const consumeArgumentSeperator = (input) => {
|
|
5
|
+
if (input.peek() !== ',') {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
input.read(',');
|
|
10
|
+
|
|
11
|
+
return true;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const directive = {
|
|
15
|
+
locate(input) {
|
|
16
|
+
return input.peek() === '@';
|
|
17
|
+
},
|
|
18
|
+
read(input, parseBlock) {
|
|
19
|
+
input.read('@');
|
|
20
|
+
|
|
21
|
+
const directiveName = input.charsWhile(isIdent);
|
|
22
|
+
|
|
23
|
+
if (directiveName !== 'include') {
|
|
24
|
+
throw new Error('Only @include directive is supported.');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
input.charsWhile(isWhitespace);
|
|
28
|
+
const name = input.charsWhile(isIdent);
|
|
29
|
+
|
|
30
|
+
if (name.length === 0) {
|
|
31
|
+
throw new Error('No name.');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
input.charsWhile(isWhitespace);
|
|
35
|
+
input.read('(');
|
|
36
|
+
|
|
37
|
+
const args = [];
|
|
38
|
+
|
|
39
|
+
do {
|
|
40
|
+
input.charsWhile(isWhitespace);
|
|
41
|
+
args.push(input.charsWhile(isIdent));
|
|
42
|
+
input.charsWhile(isWhitespace);
|
|
43
|
+
} while (consumeArgumentSeperator(input));
|
|
44
|
+
|
|
45
|
+
input.read(')');
|
|
46
|
+
input.charsWhile(isWhitespace);
|
|
47
|
+
input.read('{');
|
|
48
|
+
|
|
49
|
+
const children = [];
|
|
50
|
+
|
|
51
|
+
while (input.peek() !== '}') {
|
|
52
|
+
const block = parseBlock(input);
|
|
53
|
+
|
|
54
|
+
if (block) {
|
|
55
|
+
children.push(block);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
input.read('}');
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
type: 'block',
|
|
62
|
+
scopes: [
|
|
63
|
+
{
|
|
64
|
+
type: 'mixin',
|
|
65
|
+
name,
|
|
66
|
+
args,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
children,
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export default directive;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import isIdent from '../isIdent';
|
|
2
|
+
import isWhitespace from '../isWhitespace';
|
|
3
|
+
|
|
4
|
+
const SELECTOR_TYPES = ['hover', 'focus', 'focus-visible', 'active'];
|
|
5
|
+
|
|
6
|
+
const selector = {
|
|
7
|
+
locate(input) {
|
|
8
|
+
return input.peek() === '&' && input.peek(1) === ':';
|
|
9
|
+
},
|
|
10
|
+
read(input, parseBlock) {
|
|
11
|
+
input.read('&');
|
|
12
|
+
input.read(':');
|
|
13
|
+
|
|
14
|
+
const name = input.charsWhile(isIdent);
|
|
15
|
+
|
|
16
|
+
if (!SELECTOR_TYPES.includes(name)) {
|
|
17
|
+
throw new Error(`CSS syntax error: Unexpected selector name "${name}".`);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
input.charsWhile(isWhitespace);
|
|
21
|
+
input.read('{');
|
|
22
|
+
|
|
23
|
+
const children = [];
|
|
24
|
+
|
|
25
|
+
while (input.peek() !== '}') {
|
|
26
|
+
const block = parseBlock(input);
|
|
27
|
+
|
|
28
|
+
if (block) {
|
|
29
|
+
children.push(block);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
input.read('}');
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
type: 'block',
|
|
36
|
+
scopes: [
|
|
37
|
+
{
|
|
38
|
+
type: 'selector',
|
|
39
|
+
name,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
children,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default selector;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import declaration from './declaration';
|
|
2
|
+
|
|
3
|
+
const variable = {
|
|
4
|
+
locate(input) {
|
|
5
|
+
return input.peek() === '$';
|
|
6
|
+
},
|
|
7
|
+
read(input) {
|
|
8
|
+
input.read('$');
|
|
9
|
+
|
|
10
|
+
if (!declaration.locate(input)) {
|
|
11
|
+
throw new Error(`CSS syntax error: Unexpected char after $.`);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const { name, value } = declaration.read(input);
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
type: 'variable',
|
|
18
|
+
name,
|
|
19
|
+
value,
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default variable;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { calculate } from '../math';
|
|
2
|
+
|
|
3
|
+
const formulaRE = /([+-]+)?([\d.Ee]+)(rem|px|%)?\s*(\+|-|\*|%)\s*([+-]+)?([\d.Ee]+)(rem|px|%)?/g;
|
|
4
|
+
|
|
5
|
+
function formula(value) {
|
|
6
|
+
// Naïve approach to calculate simple formulas.
|
|
7
|
+
// TODO: Support more complex formulas including parenthesis.
|
|
8
|
+
return value.replace(
|
|
9
|
+
formulaRE,
|
|
10
|
+
(
|
|
11
|
+
_,
|
|
12
|
+
leftUnary = '',
|
|
13
|
+
leftNumber,
|
|
14
|
+
leftUnit = '',
|
|
15
|
+
operator,
|
|
16
|
+
rightUnary = '',
|
|
17
|
+
rightNumber,
|
|
18
|
+
rightUnit = '',
|
|
19
|
+
) => {
|
|
20
|
+
const leftValue = `${leftUnary}${leftNumber}${leftUnit}`;
|
|
21
|
+
const rightValue = `${rightUnary}${rightNumber}${rightUnit}`;
|
|
22
|
+
|
|
23
|
+
return calculate(leftValue, operator, rightValue);
|
|
24
|
+
},
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default formula;
|
|
@@ -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
|
+
}
|