@julseb-lib/react 0.0.84 → 0.0.86
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/dist/index.cjs.js +1620 -1624
- package/dist/index.css +60 -100
- package/dist/index.es.js +12964 -14976
- package/dist/index.umd.js +1519 -1523
- package/dist/lib/Mixins.tsx +85 -80
- package/dist/lib/Variables.ts +1 -31
- package/dist/lib/components/Accordion/Accordion.tsx +72 -75
- package/dist/lib/components/Accordion/AccordionButton.tsx +3 -5
- package/dist/lib/components/Accordion/AccordionContent.tsx +3 -4
- package/dist/lib/components/Accordion/AccordionItem.tsx +60 -58
- package/dist/lib/components/Accordion/index.ts +0 -2
- package/dist/lib/components/Accordion/styles.tsx +0 -2
- package/dist/lib/components/Accordion/subtypes.ts +0 -2
- package/dist/lib/components/Accordion/types.ts +0 -2
- package/dist/lib/components/Alert/Alert.tsx +72 -70
- package/dist/lib/components/Alert/index.ts +0 -2
- package/dist/lib/components/Alert/styles.tsx +0 -2
- package/dist/lib/components/Alert/types.ts +0 -2
- package/dist/lib/components/Aside/Aside.tsx +36 -37
- package/dist/lib/components/Aside/index.ts +0 -2
- package/dist/lib/components/Aside/styles.tsx +8 -6
- package/dist/lib/components/Aside/types.ts +0 -3
- package/dist/lib/components/Autocomplete/Autocomplete.tsx +287 -283
- package/dist/lib/components/Autocomplete/index.ts +0 -2
- package/dist/lib/components/Autocomplete/styles.tsx +0 -2
- package/dist/lib/components/Autocomplete/types.ts +2 -3
- package/dist/lib/components/Avatar/Avatar.tsx +132 -130
- package/dist/lib/components/Avatar/AvatarFunction.tsx +112 -119
- package/dist/lib/components/Avatar/index.ts +0 -2
- package/dist/lib/components/Avatar/styles.tsx +0 -2
- package/dist/lib/components/Avatar/types.ts +0 -2
- package/dist/lib/components/BackToTop/BackToTop.tsx +84 -81
- package/dist/lib/components/BackToTop/index.ts +0 -2
- package/dist/lib/components/BackToTop/styles.tsx +0 -2
- package/dist/lib/components/BackToTop/types.ts +0 -2
- package/dist/lib/components/Badge/Badge.tsx +80 -77
- package/dist/lib/components/Badge/index.ts +0 -2
- package/dist/lib/components/Badge/styles.tsx +0 -2
- package/dist/lib/components/Badge/types.ts +0 -2
- package/dist/lib/components/Breadcrumbs/BreadcrumbItem.tsx +3 -4
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.tsx +54 -44
- package/dist/lib/components/Breadcrumbs/BreadcrumbsFn.tsx +57 -69
- package/dist/lib/components/Breadcrumbs/index.ts +0 -2
- package/dist/lib/components/Breadcrumbs/styles.tsx +0 -2
- package/dist/lib/components/Breadcrumbs/subtypes.ts +0 -2
- package/dist/lib/components/Breadcrumbs/types.ts +0 -2
- package/dist/lib/components/Burger/Burger.tsx +54 -53
- package/dist/lib/components/Burger/index.ts +0 -2
- package/dist/lib/components/Burger/styles.tsx +0 -2
- package/dist/lib/components/Burger/types.ts +0 -2
- package/dist/lib/components/Button/Button.tsx +120 -120
- package/dist/lib/components/Button/index.ts +0 -2
- package/dist/lib/components/Button/styles.tsx +0 -2
- package/dist/lib/components/Button/subtypes.ts +0 -2
- package/dist/lib/components/Button/types.ts +0 -2
- package/dist/lib/components/ButtonGroup/ButtonGroup.tsx +120 -142
- package/dist/lib/components/ButtonGroup/ButtonGroupButton.tsx +61 -74
- package/dist/lib/components/ButtonGroup/ButtonGroupToggle.tsx +69 -80
- package/dist/lib/components/ButtonGroup/index.ts +0 -2
- package/dist/lib/components/ButtonGroup/styles.tsx +0 -2
- package/dist/lib/components/ButtonGroup/subtypes.ts +3 -2
- package/dist/lib/components/ButtonGroup/types.ts +0 -2
- package/dist/lib/components/ButtonIcon/ButtonFunction.tsx +74 -85
- package/dist/lib/components/ButtonIcon/ButtonIcon.tsx +128 -129
- package/dist/lib/components/ButtonIcon/index.ts +0 -2
- package/dist/lib/components/ButtonIcon/styles.tsx +0 -2
- package/dist/lib/components/ButtonIcon/subtypes.ts +0 -2
- package/dist/lib/components/ButtonIcon/types.ts +0 -2
- package/dist/lib/components/Card/Card.tsx +119 -126
- package/dist/lib/components/Card/index.ts +0 -2
- package/dist/lib/components/Card/styles.tsx +0 -2
- package/dist/lib/components/Card/types.ts +0 -2
- package/dist/lib/components/CodeContainer/CodeContainer.tsx +109 -111
- package/dist/lib/components/CodeContainer/index.ts +0 -2
- package/dist/lib/components/CodeContainer/styles.tsx +0 -2
- package/dist/lib/components/CodeContainer/types.ts +0 -2
- package/dist/lib/components/ComponentsMixins/ComponentsMixins.tsx +0 -7
- package/dist/lib/components/ComponentsMixins/hooks/useKeyboardNavigation.tsx +0 -2
- package/dist/lib/components/ComponentsMixins/index.ts +0 -2
- package/dist/lib/components/ComponentsMixins/types.ts +0 -2
- package/dist/lib/components/Cover/Cover.tsx +72 -65
- package/dist/lib/components/Cover/index.ts +0 -2
- package/dist/lib/components/Cover/styles.tsx +0 -2
- package/dist/lib/components/Cover/types.ts +0 -2
- package/dist/lib/components/Datepicker/Calendar.tsx +1 -2
- package/dist/lib/components/Datepicker/Datepicker.tsx +209 -208
- package/dist/lib/components/Datepicker/data.ts +0 -2
- package/dist/lib/components/Datepicker/index.ts +0 -2
- package/dist/lib/components/Datepicker/styles.tsx +0 -2
- package/dist/lib/components/Datepicker/types.ts +0 -2
- package/dist/lib/components/DragList/DragList.tsx +104 -110
- package/dist/lib/components/DragList/DragListItem.tsx +156 -163
- package/dist/lib/components/DragList/index.ts +0 -2
- package/dist/lib/components/DragList/styles.tsx +0 -2
- package/dist/lib/components/DragList/types.ts +0 -6
- package/dist/lib/components/Drawer/Drawer.tsx +98 -95
- package/dist/lib/components/Drawer/index.ts +0 -2
- package/dist/lib/components/Drawer/styles.tsx +0 -2
- package/dist/lib/components/Drawer/types.ts +0 -2
- package/dist/lib/components/Dropdown/Dropdown.tsx +87 -78
- package/dist/lib/components/Dropdown/DropdownContainer.tsx +35 -26
- package/dist/lib/components/Dropdown/DropdownItem.tsx +89 -89
- package/dist/lib/components/Dropdown/index.ts +0 -2
- package/dist/lib/components/Dropdown/styles.tsx +1 -2
- package/dist/lib/components/Dropdown/types.ts +0 -8
- package/dist/lib/components/Fade/Fade.tsx +44 -32
- package/dist/lib/components/Fade/index.ts +0 -2
- package/dist/lib/components/Fade/styles.tsx +0 -2
- package/dist/lib/components/Fade/types.ts +0 -2
- package/dist/lib/components/Fallback/Fallback.tsx +13 -10
- package/dist/lib/components/Fallback/index.ts +0 -2
- package/dist/lib/components/Fieldset/Fieldset.tsx +101 -97
- package/dist/lib/components/Fieldset/index.ts +0 -2
- package/dist/lib/components/Fieldset/styles.tsx +0 -2
- package/dist/lib/components/Fieldset/types.ts +0 -2
- package/dist/lib/components/Flexbox/Flexbox.tsx +67 -63
- package/dist/lib/components/Flexbox/index.ts +0 -2
- package/dist/lib/components/Flexbox/styles.tsx +0 -2
- package/dist/lib/components/Flexbox/types.ts +0 -2
- package/dist/lib/components/Footer/Footer.tsx +87 -90
- package/dist/lib/components/Footer/FooterLink.tsx +8 -8
- package/dist/lib/components/Footer/FooterLogo.tsx +3 -4
- package/dist/lib/components/Footer/index.ts +0 -2
- package/dist/lib/components/Footer/styles.tsx +0 -2
- package/dist/lib/components/Footer/subtypes.ts +2 -2
- package/dist/lib/components/Footer/types.ts +0 -6
- package/dist/lib/components/Form/Form.tsx +145 -136
- package/dist/lib/components/Form/index.ts +0 -2
- package/dist/lib/components/Form/styles.tsx +0 -2
- package/dist/lib/components/Form/types.ts +0 -2
- package/dist/lib/components/FullBleed/FullBleed.tsx +42 -39
- package/dist/lib/components/FullBleed/index.ts +0 -2
- package/dist/lib/components/FullBleed/styles.tsx +0 -2
- package/dist/lib/components/FullBleed/types.ts +0 -2
- package/dist/lib/components/Grid/Grid.tsx +65 -60
- package/dist/lib/components/Grid/index.ts +0 -2
- package/dist/lib/components/Grid/styles.tsx +0 -2
- package/dist/lib/components/Grid/types.ts +0 -2
- package/dist/lib/components/Header/Header.tsx +185 -176
- package/dist/lib/components/Header/HeaderBurger.tsx +42 -50
- package/dist/lib/components/Header/HeaderLogo.tsx +3 -4
- package/dist/lib/components/Header/HeaderNav.tsx +4 -6
- package/dist/lib/components/Header/HeaderNavLink.tsx +3 -4
- package/dist/lib/components/Header/HeaderSearch.tsx +3 -5
- package/dist/lib/components/Header/index.ts +0 -2
- package/dist/lib/components/Header/styles.tsx +0 -2
- package/dist/lib/components/Header/subtypes.ts +3 -11
- package/dist/lib/components/Header/types.ts +0 -2
- package/dist/lib/components/Highlight/Highlight.tsx +40 -38
- package/dist/lib/components/Highlight/index.ts +0 -2
- package/dist/lib/components/Highlight/types.ts +0 -2
- package/dist/lib/components/Hr/Hr.tsx +45 -43
- package/dist/lib/components/Hr/index.ts +0 -2
- package/dist/lib/components/Hr/styles.tsx +0 -2
- package/dist/lib/components/Hr/types.ts +0 -2
- package/dist/lib/components/Icon/Icon.tsx +36 -36
- package/dist/lib/components/Icon/index.ts +0 -2
- package/dist/lib/components/Icon/styles.tsx +0 -2
- package/dist/lib/components/Icon/types.ts +2 -2
- package/dist/lib/components/IconMenu/IconMenu.tsx +127 -136
- package/dist/lib/components/IconMenu/IconMenuItem.tsx +69 -68
- package/dist/lib/components/IconMenu/index.ts +0 -2
- package/dist/lib/components/IconMenu/styles.tsx +0 -2
- package/dist/lib/components/IconMenu/types.ts +0 -6
- package/dist/lib/components/Image/Image.tsx +109 -95
- package/dist/lib/components/Image/ImageFunction.tsx +41 -49
- package/dist/lib/components/Image/index.ts +0 -2
- package/dist/lib/components/Image/styles.tsx +0 -2
- package/dist/lib/components/Image/types.ts +0 -2
- package/dist/lib/components/Input/Input.tsx +105 -131
- package/dist/lib/components/Input/index.ts +0 -2
- package/dist/lib/components/Input/styles.tsx +0 -2
- package/dist/lib/components/Input/subtypes.ts +2 -22
- package/dist/lib/components/Input/templates/ColorInput.tsx +31 -37
- package/dist/lib/components/Input/templates/DateInput.tsx +92 -101
- package/dist/lib/components/Input/templates/FileInput.tsx +48 -54
- package/dist/lib/components/Input/templates/PasswordInput.tsx +166 -178
- package/dist/lib/components/Input/templates/SearchInput.tsx +105 -113
- package/dist/lib/components/Input/templates/SelectInput.tsx +87 -93
- package/dist/lib/components/Input/templates/TextInput.tsx +88 -94
- package/dist/lib/components/Input/templates/TextareaInput.tsx +34 -40
- package/dist/lib/components/Input/templates/TimeInput.tsx +91 -100
- package/dist/lib/components/Input/types.ts +0 -2
- package/dist/lib/components/InputCheck/InputCheck.tsx +122 -115
- package/dist/lib/components/InputCheck/index.ts +0 -2
- package/dist/lib/components/InputCheck/styles.tsx +0 -2
- package/dist/lib/components/InputCheck/types.ts +2 -3
- package/dist/lib/components/InputComponents/components/InputAndListContainer.tsx +28 -37
- package/dist/lib/components/InputComponents/components/InputButton.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputContainer.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputIcon.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputLeftContainer.tsx +8 -9
- package/dist/lib/components/InputComponents/components/InputPrefix.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputRightContainer.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputSuffix.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputValidationHelper.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputValidationIcon.tsx +3 -4
- package/dist/lib/components/InputComponents/components/InputWrapper.tsx +3 -4
- package/dist/lib/components/InputComponents/components/ListInput.tsx +26 -35
- package/dist/lib/components/InputComponents/components/ListInputItem.tsx +31 -39
- package/dist/lib/components/InputComponents/index.ts +0 -2
- package/dist/lib/components/InputComponents/styles.tsx +0 -22
- package/dist/lib/components/InputComponents/types.ts +4 -31
- package/dist/lib/components/InputContainer/HelperBottom.tsx +0 -2
- package/dist/lib/components/InputContainer/InputContainer.tsx +122 -111
- package/dist/lib/components/InputContainer/index.ts +0 -2
- package/dist/lib/components/InputContainer/styles.tsx +0 -2
- package/dist/lib/components/InputContainer/subtypes.ts +0 -2
- package/dist/lib/components/InputContainer/types.ts +0 -2
- package/dist/lib/components/InputCounter/InputCounter.tsx +255 -246
- package/dist/lib/components/InputCounter/index.ts +0 -2
- package/dist/lib/components/InputCounter/styles.tsx +0 -2
- package/dist/lib/components/InputCounter/subtypes.ts +0 -2
- package/dist/lib/components/InputCounter/types.ts +0 -2
- package/dist/lib/components/InputImage/EmptyContainer.tsx +3 -4
- package/dist/lib/components/InputImage/HoverContainer.tsx +3 -4
- package/dist/lib/components/InputImage/InputImage.tsx +139 -130
- package/dist/lib/components/InputImage/index.ts +0 -2
- package/dist/lib/components/InputImage/styles.tsx +0 -2
- package/dist/lib/components/InputImage/subtypes.ts +0 -2
- package/dist/lib/components/InputImage/types.ts +0 -2
- package/dist/lib/components/InputPhone/InputPhone.tsx +306 -300
- package/dist/lib/components/InputPhone/index.ts +0 -2
- package/dist/lib/components/InputPhone/styles.tsx +0 -2
- package/dist/lib/components/InputPhone/types.ts +0 -2
- package/dist/lib/components/InputPhone/utils/countries.ts +0 -2
- package/dist/lib/components/InputPin/InputPin.tsx +123 -124
- package/dist/lib/components/InputPin/index.ts +0 -2
- package/dist/lib/components/InputPin/styles.tsx +0 -2
- package/dist/lib/components/InputPin/subtypes.ts +0 -2
- package/dist/lib/components/InputPin/types.ts +0 -2
- package/dist/lib/components/InputSlider/InputSlider.tsx +172 -163
- package/dist/lib/components/InputSlider/Slider.tsx +39 -48
- package/dist/lib/components/InputSlider/index.ts +0 -2
- package/dist/lib/components/InputSlider/styles.tsx +0 -2
- package/dist/lib/components/InputSlider/types.ts +2 -3
- package/dist/lib/components/Key/Key.tsx +40 -39
- package/dist/lib/components/Key/index.ts +0 -2
- package/dist/lib/components/Key/styles.tsx +0 -2
- package/dist/lib/components/Key/types.ts +0 -2
- package/dist/lib/components/LibIcon/LibIcon.tsx +3 -4
- package/dist/lib/components/LibIcon/index.ts +0 -2
- package/dist/lib/components/LibIcon/types.ts +0 -2
- package/dist/lib/components/Link/Link.tsx +79 -59
- package/dist/lib/components/Link/index.ts +0 -2
- package/dist/lib/components/Link/types.ts +0 -2
- package/dist/lib/components/Linkify/Linkify.tsx +26 -19
- package/dist/lib/components/Linkify/index.ts +0 -2
- package/dist/lib/components/Linkify/types.ts +0 -2
- package/dist/lib/components/ListGroup/ListGroup.tsx +96 -99
- package/dist/lib/components/ListGroup/ListGroupItem.tsx +149 -142
- package/dist/lib/components/ListGroup/ListGroupTitle.tsx +43 -43
- package/dist/lib/components/ListGroup/index.ts +0 -2
- package/dist/lib/components/ListGroup/styles.tsx +0 -2
- package/dist/lib/components/ListGroup/types.ts +2 -10
- package/dist/lib/components/Loader/Loader.tsx +32 -22
- package/dist/lib/components/Loader/index.ts +0 -2
- package/dist/lib/components/Loader/styles.tsx +0 -2
- package/dist/lib/components/Loader/templates/LoaderFour.tsx +24 -21
- package/dist/lib/components/Loader/templates/LoaderOne.tsx +3 -6
- package/dist/lib/components/Loader/templates/LoaderThree.tsx +27 -26
- package/dist/lib/components/Loader/templates/LoaderTwo.tsx +22 -21
- package/dist/lib/components/Loader/types.ts +0 -2
- package/dist/lib/components/Main/Main.tsx +42 -39
- package/dist/lib/components/Main/index.ts +0 -2
- package/dist/lib/components/Main/styles.tsx +5 -5
- package/dist/lib/components/Main/types.ts +1 -5
- package/dist/lib/components/MarkdownContainer/MarkdownContainer.tsx +35 -28
- package/dist/lib/components/MarkdownContainer/index.ts +0 -2
- package/dist/lib/components/MarkdownContainer/styles.tsx +0 -2
- package/dist/lib/components/MarkdownContainer/types.ts +0 -2
- package/dist/lib/components/MarkdownEditor/MarkdownEditor.tsx +153 -149
- package/dist/lib/components/MarkdownEditor/MdEditorButtons/EditorButtonTitles.tsx +0 -2
- package/dist/lib/components/MarkdownEditor/MdEditorButtons/EditorButtons.tsx +0 -2
- package/dist/lib/components/MarkdownEditor/MdEditorButtons/MarkdownButtons.tsx +0 -2
- package/dist/lib/components/MarkdownEditor/MdEditorInput.tsx +68 -78
- package/dist/lib/components/MarkdownEditor/index.ts +0 -2
- package/dist/lib/components/MarkdownEditor/markdown-buttons.tsx +0 -2
- package/dist/lib/components/MarkdownEditor/styles.tsx +2 -2
- package/dist/lib/components/MarkdownEditor/subtypes.ts +3 -4
- package/dist/lib/components/MarkdownEditor/types.ts +0 -2
- package/dist/lib/components/Masonry/Masonry.tsx +59 -53
- package/dist/lib/components/Masonry/index.ts +0 -2
- package/dist/lib/components/Masonry/styles.tsx +0 -2
- package/dist/lib/components/Masonry/types.ts +0 -2
- package/dist/lib/components/Masonry/utils.ts +0 -2
- package/dist/lib/components/Messaging/Message.tsx +95 -89
- package/dist/lib/components/Messaging/MessageForm.tsx +126 -117
- package/dist/lib/components/Messaging/MessagesContainer.tsx +26 -13
- package/dist/lib/components/Messaging/MessagesList.tsx +117 -113
- package/dist/lib/components/Messaging/Messaging.tsx +97 -97
- package/dist/lib/components/Messaging/index.ts +0 -2
- package/dist/lib/components/Messaging/styles.tsx +1 -2
- package/dist/lib/components/Messaging/types.ts +0 -12
- package/dist/lib/components/Meta/Meta.tsx +69 -0
- package/dist/lib/components/Meta/index.ts +3 -0
- package/dist/lib/components/Meta/types.ts +14 -0
- package/dist/lib/components/Modal/Modal.tsx +108 -101
- package/dist/lib/components/Modal/index.ts +0 -2
- package/dist/lib/components/Modal/styles.tsx +0 -2
- package/dist/lib/components/Modal/types.ts +0 -2
- package/dist/lib/components/PageLayout/PageLayout.tsx +88 -72
- package/dist/lib/components/PageLayout/index.ts +0 -2
- package/dist/lib/components/PageLayout/types.ts +20 -22
- package/dist/lib/components/PageLoading/PageLoading.tsx +57 -54
- package/dist/lib/components/PageLoading/index.ts +0 -2
- package/dist/lib/components/PageLoading/styles.tsx +0 -2
- package/dist/lib/components/PageLoading/types.ts +0 -2
- package/dist/lib/components/Pagination/Pagination.tsx +218 -221
- package/dist/lib/components/Pagination/PaginationButton.tsx +45 -44
- package/dist/lib/components/Pagination/index.ts +0 -2
- package/dist/lib/components/Pagination/styles.tsx +0 -2
- package/dist/lib/components/Pagination/types.ts +0 -6
- package/dist/lib/components/Paginator/Paginator.tsx +150 -145
- package/dist/lib/components/Paginator/index.ts +0 -2
- package/dist/lib/components/Paginator/styles.tsx +0 -2
- package/dist/lib/components/Paginator/types.ts +0 -2
- package/dist/lib/components/ProgressBar/ProgressBar.tsx +58 -52
- package/dist/lib/components/ProgressBar/index.ts +0 -2
- package/dist/lib/components/ProgressBar/styles.tsx +0 -2
- package/dist/lib/components/ProgressBar/types.ts +0 -2
- package/dist/lib/components/ProgressCircle/Circle.tsx +3 -4
- package/dist/lib/components/ProgressCircle/ProgressCircle.tsx +80 -77
- package/dist/lib/components/ProgressCircle/ProgressCircleFn.tsx +34 -40
- package/dist/lib/components/ProgressCircle/Value.tsx +3 -4
- package/dist/lib/components/ProgressCircle/clean-percentage.ts +0 -2
- package/dist/lib/components/ProgressCircle/index.ts +0 -2
- package/dist/lib/components/ProgressCircle/styles.tsx +0 -2
- package/dist/lib/components/ProgressCircle/subtypes.ts +0 -2
- package/dist/lib/components/ProgressCircle/types.ts +0 -2
- package/dist/lib/components/Rating/Rating.tsx +156 -155
- package/dist/lib/components/Rating/index.ts +0 -2
- package/dist/lib/components/Rating/styles.tsx +0 -2
- package/dist/lib/components/Rating/types.ts +0 -2
- package/dist/lib/components/ResetScroll/ResetScroll.tsx +9 -4
- package/dist/lib/components/ResetScroll/index.ts +0 -2
- package/dist/lib/components/Section/Section.tsx +39 -24
- package/dist/lib/components/Section/index.ts +0 -2
- package/dist/lib/components/Section/styles.tsx +0 -2
- package/dist/lib/components/Section/types.ts +0 -2
- package/dist/lib/components/Select/Select.tsx +238 -232
- package/dist/lib/components/Select/SelectButton.tsx +48 -54
- package/dist/lib/components/Select/index.ts +0 -2
- package/dist/lib/components/Select/styles.tsx +0 -2
- package/dist/lib/components/Select/subtypes.ts +1 -2
- package/dist/lib/components/Select/types.ts +0 -2
- package/dist/lib/components/Skeleton/Skeleton.tsx +56 -54
- package/dist/lib/components/Skeleton/SkeletonCard.tsx +73 -70
- package/dist/lib/components/Skeleton/SkeletonShine.tsx +24 -20
- package/dist/lib/components/Skeleton/index.ts +0 -2
- package/dist/lib/components/Skeleton/styles.tsx +1 -9
- package/dist/lib/components/Skeleton/subtypes.ts +0 -2
- package/dist/lib/components/Skeleton/types.ts +0 -2
- package/dist/lib/components/Slideshow/Slideshow.tsx +163 -190
- package/dist/lib/components/Slideshow/SlideshowButton.tsx +3 -4
- package/dist/lib/components/Slideshow/SlideshowPagination.tsx +3 -4
- package/dist/lib/components/Slideshow/index.ts +0 -2
- package/dist/lib/components/Slideshow/styles.tsx +0 -2
- package/dist/lib/components/Slideshow/subtypes.ts +0 -2
- package/dist/lib/components/Slideshow/types.ts +0 -2
- package/dist/lib/components/SrOnly/SrOnly.tsx +28 -17
- package/dist/lib/components/SrOnly/index.ts +0 -2
- package/dist/lib/components/SrOnly/styles.tsx +0 -2
- package/dist/lib/components/SrOnly/types.ts +0 -2
- package/dist/lib/components/Stepper/Step.tsx +106 -102
- package/dist/lib/components/Stepper/Stepper.tsx +83 -87
- package/dist/lib/components/Stepper/index.ts +0 -2
- package/dist/lib/components/Stepper/styles.tsx +0 -2
- package/dist/lib/components/Stepper/types.ts +0 -6
- package/dist/lib/components/Sticky/Sticky.tsx +38 -24
- package/dist/lib/components/Sticky/index.ts +0 -2
- package/dist/lib/components/Sticky/styles.tsx +0 -2
- package/dist/lib/components/Sticky/types.ts +0 -2
- package/dist/lib/components/Table/TBody.tsx +22 -12
- package/dist/lib/components/Table/THead.tsx +22 -12
- package/dist/lib/components/Table/Table.tsx +114 -110
- package/dist/lib/components/Table/Td.tsx +29 -20
- package/dist/lib/components/Table/Tr.tsx +18 -12
- package/dist/lib/components/Table/index.ts +0 -2
- package/dist/lib/components/Table/styles.tsx +0 -2
- package/dist/lib/components/Table/types.ts +0 -12
- package/dist/lib/components/Tabs/TabButton.tsx +47 -43
- package/dist/lib/components/Tabs/TabItem.tsx +38 -27
- package/dist/lib/components/Tabs/Tabs.tsx +109 -106
- package/dist/lib/components/Tabs/TabsButtonsContainer.tsx +42 -40
- package/dist/lib/components/Tabs/TabsContainer.tsx +30 -17
- package/dist/lib/components/Tabs/index.ts +0 -2
- package/dist/lib/components/Tabs/styles.tsx +0 -2
- package/dist/lib/components/Tabs/types.ts +0 -12
- package/dist/lib/components/Tag/Tag.tsx +91 -87
- package/dist/lib/components/Tag/index.ts +0 -2
- package/dist/lib/components/Tag/styles.tsx +0 -2
- package/dist/lib/components/Tag/types.ts +0 -2
- package/dist/lib/components/Text/Text.tsx +52 -50
- package/dist/lib/components/Text/index.ts +0 -2
- package/dist/lib/components/Text/styles.tsx +22 -2
- package/dist/lib/components/Text/subtypes.ts +0 -2
- package/dist/lib/components/Text/templates/Blockquote.tsx +25 -31
- package/dist/lib/components/Text/templates/Dl.tsx +25 -31
- package/dist/lib/components/Text/templates/Em.tsx +25 -31
- package/dist/lib/components/Text/templates/H1.tsx +27 -33
- package/dist/lib/components/Text/templates/H2.tsx +27 -33
- package/dist/lib/components/Text/templates/H3.tsx +27 -33
- package/dist/lib/components/Text/templates/H4.tsx +27 -33
- package/dist/lib/components/Text/templates/H5.tsx +27 -33
- package/dist/lib/components/Text/templates/H6.tsx +25 -31
- package/dist/lib/components/Text/templates/Ol.tsx +25 -31
- package/dist/lib/components/Text/templates/P.tsx +25 -31
- package/dist/lib/components/Text/templates/Small.tsx +25 -31
- package/dist/lib/components/Text/templates/Strong.tsx +25 -31
- package/dist/lib/components/Text/templates/Ul.tsx +25 -31
- package/dist/lib/components/Text/types.ts +0 -2
- package/dist/lib/components/TextIcon/TextIcon.tsx +88 -92
- package/dist/lib/components/TextIcon/index.ts +0 -2
- package/dist/lib/components/TextIcon/styles.tsx +0 -2
- package/dist/lib/components/TextIcon/types.ts +0 -2
- package/dist/lib/components/TextIcon/utils.ts +0 -1
- package/dist/lib/components/Timepicker/Timepicker.tsx +249 -237
- package/dist/lib/components/Timepicker/index.ts +0 -2
- package/dist/lib/components/Timepicker/styles.tsx +0 -2
- package/dist/lib/components/Timepicker/types.ts +0 -2
- package/dist/lib/components/Toast/Toast.tsx +160 -168
- package/dist/lib/components/Toast/Toaster.tsx +108 -120
- package/dist/lib/components/Toast/index.ts +1 -3
- package/dist/lib/components/Toast/styles.tsx +0 -2
- package/dist/lib/components/Toast/types.ts +0 -2
- package/dist/lib/components/Tooltip/Tooltip.tsx +113 -104
- package/dist/lib/components/Tooltip/index.ts +0 -2
- package/dist/lib/components/Tooltip/styles.tsx +0 -2
- package/dist/lib/components/Tooltip/types.ts +0 -2
- package/dist/lib/components/Truncate/Truncate.tsx +105 -90
- package/dist/lib/components/Truncate/index.ts +0 -2
- package/dist/lib/components/Truncate/styles.tsx +1 -2
- package/dist/lib/components/Truncate/types.ts +0 -2
- package/dist/lib/components/Video/Video.tsx +63 -55
- package/dist/lib/components/Video/index.ts +0 -2
- package/dist/lib/components/Video/styles.tsx +0 -2
- package/dist/lib/components/Video/types.ts +0 -2
- package/dist/lib/components/Wrapper/Wrapper.tsx +44 -37
- package/dist/lib/components/Wrapper/index.ts +0 -2
- package/dist/lib/components/Wrapper/styles.tsx +6 -3
- package/dist/lib/components/Wrapper/types.ts +0 -2
- package/dist/lib/components/Youtube/Youtube.tsx +42 -37
- package/dist/lib/components/Youtube/index.ts +0 -2
- package/dist/lib/components/Youtube/styles.tsx +0 -2
- package/dist/lib/components/Youtube/types.ts +0 -2
- package/dist/lib/context/Theme.context.tsx +21 -13
- package/dist/lib/context/Toaster/Toaster.context.tsx +18 -18
- package/dist/lib/context/Toaster/index.ts +1 -3
- package/dist/lib/context/Toaster/toast.reducer.ts +0 -2
- package/dist/lib/hooks/index.ts +0 -2
- package/dist/lib/hooks/useClickOutside.tsx +14 -9
- package/dist/lib/hooks/useCopyToClipboard.tsx +9 -4
- package/dist/lib/hooks/useDebounce.tsx +11 -6
- package/dist/lib/hooks/useExportData.tsx +14 -4
- package/dist/lib/hooks/useFetch.tsx +11 -6
- package/dist/lib/hooks/useForm.tsx +16 -6
- package/dist/lib/hooks/useIsOverflow.ts +16 -14
- package/dist/lib/hooks/useKeyPress.tsx +12 -6
- package/dist/lib/hooks/useMaxWidth.tsx +9 -5
- package/dist/lib/hooks/useMergeRefs.ts +15 -12
- package/dist/lib/hooks/useMinWidth.tsx +9 -5
- package/dist/lib/hooks/usePaginatedData.tsx +11 -6
- package/dist/lib/hooks/usePagination.tsx +18 -8
- package/dist/lib/hooks/useTouchScreen.tsx +8 -4
- package/dist/lib/hooks/useTranslation.tsx +18 -5
- package/dist/lib/icons/ArrowUp.tsx +3 -4
- package/dist/lib/icons/Bold.tsx +3 -4
- package/dist/lib/icons/Calendar.tsx +3 -4
- package/dist/lib/icons/CaretDown.tsx +3 -4
- package/dist/lib/icons/Check.tsx +3 -4
- package/dist/lib/icons/CheckCircle.tsx +3 -4
- package/dist/lib/icons/ChevronDown.tsx +3 -4
- package/dist/lib/icons/ChevronLeft.tsx +3 -4
- package/dist/lib/icons/ChevronRight.tsx +3 -4
- package/dist/lib/icons/ChevronUp.tsx +3 -4
- package/dist/lib/icons/Clipboard.tsx +3 -4
- package/dist/lib/icons/Clock.tsx +3 -4
- package/dist/lib/icons/Close.tsx +3 -4
- package/dist/lib/icons/CloseCircle.tsx +3 -4
- package/dist/lib/icons/Code.tsx +3 -4
- package/dist/lib/icons/CodeBlock.tsx +3 -4
- package/dist/lib/icons/Comment.tsx +3 -4
- package/dist/lib/icons/Drag.tsx +3 -4
- package/dist/lib/icons/Edit.tsx +3 -4
- package/dist/lib/icons/EditorCode.tsx +3 -4
- package/dist/lib/icons/EditorLive.tsx +3 -4
- package/dist/lib/icons/EditorPreview.tsx +3 -4
- package/dist/lib/icons/Hide.tsx +3 -4
- package/dist/lib/icons/Image.tsx +3 -4
- package/dist/lib/icons/Italic.tsx +3 -4
- package/dist/lib/icons/Link.tsx +3 -4
- package/dist/lib/icons/Minus.tsx +3 -4
- package/dist/lib/icons/OrderedList.tsx +3 -4
- package/dist/lib/icons/Plus.tsx +3 -4
- package/dist/lib/icons/Quote.tsx +3 -4
- package/dist/lib/icons/Search.tsx +3 -4
- package/dist/lib/icons/Send.tsx +3 -4
- package/dist/lib/icons/Separator.tsx +3 -4
- package/dist/lib/icons/Show.tsx +3 -4
- package/dist/lib/icons/Star.tsx +3 -4
- package/dist/lib/icons/StarFull.tsx +3 -4
- package/dist/lib/icons/Strikethrough.tsx +3 -4
- package/dist/lib/icons/Underline.tsx +3 -8
- package/dist/lib/icons/UnorderedList.tsx +3 -4
- package/dist/lib/icons/index.ts +0 -2
- package/dist/lib/icons/styles.tsx +0 -2
- package/dist/lib/icons/types.ts +0 -2
- package/dist/lib/index.css +60 -100
- package/dist/lib/index.ts +2 -4
- package/dist/lib/lib-utils/append-styles.ts +0 -2
- package/dist/lib/lib-utils/colors-maps.ts +144 -146
- package/dist/lib/lib-utils/generate-lib-tokens.ts +0 -2
- package/dist/lib/lib-utils/get-highlighted-text.tsx +0 -2
- package/dist/lib/lib-utils/get-icon-size-from-font.ts +0 -2
- package/dist/lib/lib-utils/index.ts +0 -2
- package/dist/lib/lib-utils/round-icon-size.ts +0 -2
- package/dist/lib/lib-utils/transfom-search-keys.ts +1 -3
- package/dist/lib/modules-declare.d.ts +1 -0
- package/dist/lib/types/component-items.ts +2 -38
- package/dist/lib/types/components-props.ts +1 -2
- package/dist/lib/types/{type-values.ts → design-tokens.ts} +2 -3
- package/dist/lib/types/generate-int-range.ts +0 -2
- package/dist/lib/types/global.ts +74 -82
- package/dist/lib/types/index.ts +1 -3
- package/dist/lib/types/theme.ts +0 -2
- package/dist/lib/utils/StyleSheetManager.tsx +0 -2
- package/dist/lib/utils/index.ts +0 -2
- package/dist/lib/utils/linkify-text.tsx +0 -2
- package/dist/lib/utils/options-markdown.ts +0 -2
- package/dist/lib/utils/set-default-theme.ts +1 -3
- package/package.json +106 -107
- package/dist/lib/components/Helmet/Helmet.tsx +0 -65
- package/dist/lib/components/Helmet/index.ts +0 -3
- package/dist/lib/components/Helmet/types.ts +0 -18
|
@@ -1,43 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { forwardRef } from "react"
|
|
1
|
+
import type { FC } from "react"
|
|
4
2
|
import { StyledWrapper } from "./styles"
|
|
5
3
|
import type { ILibWrapper } from "./types"
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Wrapper component for creating a container with customizable gap, background color, and minimum height.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
10
9
|
* @extends HTMLDivElement
|
|
11
|
-
* @
|
|
12
|
-
* @
|
|
13
|
-
* @
|
|
14
|
-
* @
|
|
15
|
-
* @
|
|
16
|
-
* @
|
|
10
|
+
* @param {Object} props - Wrapper props.
|
|
11
|
+
* @param {string} [props.data-testid] - Test id for testing purposes.
|
|
12
|
+
* @param {React.ElementType} [props.as] - Custom element type to render as.
|
|
13
|
+
* @param {React.ForwardedRef<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
|
|
14
|
+
* @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.gap="l"] - Gap between children.
|
|
15
|
+
* @param {string} [props.backgroundColor="transparent"] - Background color (any color from the library).
|
|
16
|
+
* @param {string|number} [props.minHeight="100svh"] - Minimum height of the container.
|
|
17
|
+
* @param {React.ReactNode} [props.children] - Content to render inside the wrapper.
|
|
18
|
+
* @param {any} [props.rest] - Additional props passed to the root element.
|
|
19
|
+
* @returns {JSX.Element} The rendered Wrapper component.
|
|
20
|
+
*
|
|
21
|
+
* @see https://documentation-components-react.vercel.app/layouts/container
|
|
22
|
+
* @example
|
|
23
|
+
* <Wrapper gap="m" backgroundColor="white">
|
|
24
|
+
* <div>Content</div>
|
|
25
|
+
* </Wrapper>
|
|
17
26
|
*/
|
|
18
|
-
export const Wrapper
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
)
|
|
27
|
+
export const Wrapper: FC<ILibWrapper> = ({
|
|
28
|
+
"data-testid": testid,
|
|
29
|
+
as,
|
|
30
|
+
ref,
|
|
31
|
+
children,
|
|
32
|
+
gap = "l",
|
|
33
|
+
backgroundColor = "transparent",
|
|
34
|
+
minHeight = "100svh",
|
|
35
|
+
...rest
|
|
36
|
+
}) => {
|
|
37
|
+
return (
|
|
38
|
+
<StyledWrapper
|
|
39
|
+
data-testid={testid}
|
|
40
|
+
ref={ref}
|
|
41
|
+
as={as}
|
|
42
|
+
$gap={gap}
|
|
43
|
+
$backgroundColor={backgroundColor}
|
|
44
|
+
$minHeight={minHeight}
|
|
45
|
+
{...rest}
|
|
46
|
+
>
|
|
47
|
+
{children}
|
|
48
|
+
</StyledWrapper>
|
|
49
|
+
)
|
|
50
|
+
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
/*=============================================== Wrapper styles ===============================================*/
|
|
2
|
-
|
|
3
1
|
import styled from "styled-components"
|
|
2
|
+
import { stringifyPx } from "@julseb-lib/utils"
|
|
4
3
|
import { MEDIA, Mixins, setDefaultTheme } from "../../"
|
|
5
4
|
import type { LibAllColors, LibSpacers } from "../../types"
|
|
6
5
|
|
|
7
6
|
const StyledWrapper = styled.section<{
|
|
8
7
|
$gap: LibSpacers
|
|
9
8
|
$backgroundColor: LibAllColors
|
|
9
|
+
$minHeight: string | number
|
|
10
10
|
}>`
|
|
11
11
|
position: relative;
|
|
12
12
|
background-color: ${({ $backgroundColor, theme }) =>
|
|
13
13
|
Mixins.AllColors($backgroundColor, theme)};
|
|
14
|
+
height: ${({ $minHeight }) => stringifyPx($minHeight)};
|
|
15
|
+
min-height: ${({ $minHeight }) => stringifyPx($minHeight)};
|
|
14
16
|
${({ $gap }) =>
|
|
15
17
|
Mixins.Flexbox({
|
|
16
18
|
$gap,
|
|
@@ -20,7 +22,8 @@ const StyledWrapper = styled.section<{
|
|
|
20
22
|
@media ${MEDIA.BREAKPOINT_TABLET_LARGE} {
|
|
21
23
|
flex-direction: column;
|
|
22
24
|
align-items: center;
|
|
23
|
-
|
|
25
|
+
justify-content: flex-start;
|
|
26
|
+
min-height: ${({ $minHeight }) => stringifyPx($minHeight)};
|
|
24
27
|
}
|
|
25
28
|
`
|
|
26
29
|
|
|
@@ -1,44 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { forwardRef } from "react"
|
|
1
|
+
import type { FC } from "react"
|
|
4
2
|
import { convertYoutube } from "@julseb-lib/utils"
|
|
5
3
|
import { StyledYoutube } from "./styles"
|
|
6
4
|
import type { ILibYoutube } from "./types"
|
|
7
5
|
|
|
8
6
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* Youtube component for embedding a YouTube video with customizable aspect ratio, width, and height.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
11
10
|
* @extends HTMLIframeElement
|
|
12
|
-
* @
|
|
13
|
-
* @
|
|
14
|
-
* @
|
|
15
|
-
* @
|
|
11
|
+
* @param {Object} props - Youtube props.
|
|
12
|
+
* @param {string} [props.data-testid] - Test id for testing purposes.
|
|
13
|
+
* @param {ElementType} [props.as] - Custom element type to render as.
|
|
14
|
+
* @param {ForwardedRef<HTMLIframeElement>} [props.ref] - Ref forwarded to the iframe element.
|
|
15
|
+
* @param {string} [props.src=""] - YouTube video URL or ID.
|
|
16
|
+
* @param {string|number} [props.width="100%"] - Width of the iframe.
|
|
17
|
+
* @param {string|number} [props.height="auto"] - Height of the iframe.
|
|
18
|
+
* @param {string} [props.aspectRatio="16/9"] - Aspect ratio for the iframe.
|
|
19
|
+
* @param {any} [props.rest] - Additional props passed to the iframe element.
|
|
20
|
+
* @returns {JSX.Element} The rendered Youtube component.
|
|
21
|
+
*
|
|
22
|
+
* @see https://documentation-components-react.vercel.app/components/youtube
|
|
23
|
+
* @example
|
|
24
|
+
* <Youtube src="https://www.youtube.com/watch?v=dQw4w9WgXcQ" aspectRatio="16/9" />
|
|
16
25
|
*/
|
|
17
|
-
export const Youtube
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
)
|
|
26
|
+
export const Youtube: FC<ILibYoutube> = ({
|
|
27
|
+
"data-testid": testid,
|
|
28
|
+
ref,
|
|
29
|
+
src = "",
|
|
30
|
+
width = "100%",
|
|
31
|
+
height = "auto",
|
|
32
|
+
aspectRatio = "16/9",
|
|
33
|
+
...rest
|
|
34
|
+
}) => {
|
|
35
|
+
return (
|
|
36
|
+
<StyledYoutube
|
|
37
|
+
data-testid={testid}
|
|
38
|
+
ref={ref}
|
|
39
|
+
src={convertYoutube(src)}
|
|
40
|
+
frameborder="0"
|
|
41
|
+
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
|
|
42
|
+
allowfullscreen
|
|
43
|
+
$width={width}
|
|
44
|
+
$height={height}
|
|
45
|
+
$aspectRatio={aspectRatio}
|
|
46
|
+
{...rest}
|
|
47
|
+
/>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
/*=============================================== Theme context ===============================================*/
|
|
4
|
-
|
|
5
1
|
import { useState, useEffect, createContext, useContext } from "react"
|
|
6
2
|
import type { IStyleSheetManager, DefaultTheme } from "styled-components"
|
|
7
3
|
import { StyleSheetManager } from "../utils"
|
|
@@ -16,10 +12,19 @@ interface ILibThemeProvider {
|
|
|
16
12
|
}
|
|
17
13
|
|
|
18
14
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @
|
|
22
|
-
* @
|
|
15
|
+
* ThemeProviderWrapper provides a context for managing and toggling between light and dark themes in the application.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @param {Object} props - ThemeProviderWrapper props.
|
|
19
|
+
* @param {boolean | IStyleSheetManager} [props.stylesheetManager] - Optionally wrap children with a styled-components StyleSheetManager.
|
|
20
|
+
* @param {ReactChildren} [props.children] - Children components to wrap with the theme context.
|
|
21
|
+
* @returns {JSX.Element} The Theme context provider with optional StyleSheetManager.
|
|
22
|
+
*
|
|
23
|
+
* @see https://documentation-components-react.vercel.app/styles/theme-provider
|
|
24
|
+
* @example
|
|
25
|
+
* <ThemeProviderWrapper>
|
|
26
|
+
* <App />
|
|
27
|
+
* </ThemeProviderWrapper>
|
|
23
28
|
*/
|
|
24
29
|
export const ThemeProviderWrapper = ({
|
|
25
30
|
children,
|
|
@@ -99,10 +104,13 @@ export const ThemeProviderWrapper = ({
|
|
|
99
104
|
}
|
|
100
105
|
|
|
101
106
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* @
|
|
105
|
-
* @
|
|
106
|
-
*
|
|
107
|
+
* useLibTheme is a hook for accessing the Theme context and toggling the theme.
|
|
108
|
+
*
|
|
109
|
+
* @function
|
|
110
|
+
* @returns {ILibThemeContext} The theme context with properties: theme, selectedTheme, toggleTheme.
|
|
111
|
+
*
|
|
112
|
+
* @see https://documentation-components-react.vercel.app/styles/theme-provider
|
|
113
|
+
* @example
|
|
114
|
+
* const { theme, selectedTheme, toggleTheme } = useLibTheme()
|
|
107
115
|
*/
|
|
108
116
|
export const useLibTheme = () => useContext(ThemeContext) as ILibThemeContext
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/*=============================================== Toaster context ===============================================*/
|
|
3
|
-
|
|
4
1
|
import { createContext, useReducer, useContext } from "react"
|
|
5
2
|
import { uuid } from "@julseb-lib/utils"
|
|
6
3
|
import { Toaster } from "../../components/Toast/Toaster"
|
|
@@ -40,13 +37,18 @@ const initialState = {
|
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* @
|
|
46
|
-
* @
|
|
47
|
-
* @
|
|
48
|
-
* @
|
|
49
|
-
* @
|
|
40
|
+
* ToasterProviderWrapper provides a context for managing toast notifications throughout the app.
|
|
41
|
+
*
|
|
42
|
+
* @component
|
|
43
|
+
* @param {Object} props - ToasterProviderWrapper props.
|
|
44
|
+
* @param {string} [props.data-testid] - Test id for testing purposes.
|
|
45
|
+
* @param {string} [props.className] - Additional class names.
|
|
46
|
+
* @param {ReactChildren} props.children - Children components to wrap with the toaster context.
|
|
47
|
+
* @param {{ duration?: number; labelClose?: string; withTimer?: boolean }} [props.toastOptions] - Default options for all toasts.
|
|
48
|
+
* @param {"top-left" | "top-right" | "bottom-left" | "bottom-right"} [props.position] - Position of the toaster on the screen.
|
|
49
|
+
* @returns {JSX.Element} The Toaster context provider with the Toaster component.
|
|
50
|
+
*
|
|
51
|
+
* @see https://documentation-components-react.vercel.app/components/toast
|
|
50
52
|
*/
|
|
51
53
|
export const ToasterProviderWrapper = ({
|
|
52
54
|
"data-testid": testid,
|
|
@@ -119,13 +121,11 @@ export const ToasterProviderWrapper = ({
|
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
* @function
|
|
125
|
-
* @
|
|
126
|
-
*
|
|
127
|
-
* @
|
|
128
|
-
* @function loading
|
|
129
|
-
* @function remove
|
|
124
|
+
* useToast is a hook for accessing the Toaster context and managing toast notifications.
|
|
125
|
+
*
|
|
126
|
+
* @function
|
|
127
|
+
* @returns {ILibToasterContext} The toaster context with methods: success, error, warning, info, loading, remove.
|
|
128
|
+
*
|
|
129
|
+
* @see https://documentation-components-react.vercel.app/components/toast
|
|
130
130
|
*/
|
|
131
131
|
export const useToast = () => useContext(ToastContext) as ILibToasterContext
|
package/dist/lib/hooks/index.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { useEffect, type RefObject } from "react"
|
|
1
|
+
import { useEffect, type Ref } from "react"
|
|
4
2
|
|
|
5
3
|
type Event = MouseEvent | TouchEvent
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @
|
|
11
|
-
* @
|
|
6
|
+
* useClickOutside is a hook to trigger a function when a click occurs outside the referenced element.
|
|
7
|
+
*
|
|
8
|
+
* @function
|
|
9
|
+
* @template T
|
|
10
|
+
* @param {Ref<T>} ref - Ref to the target element.
|
|
11
|
+
* @param {(event: MouseEvent | TouchEvent) => void} handler - Function to call when a click outside is detected.
|
|
12
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useClickOutside
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const ref = useRef(null)
|
|
16
|
+
* useClickOutside(ref, () => setOpen(false))
|
|
12
17
|
*/
|
|
13
18
|
export const useClickOutside = <T extends HTMLElement = HTMLElement>(
|
|
14
|
-
ref:
|
|
19
|
+
ref: Ref<T>,
|
|
15
20
|
handler: (event: Event) => void
|
|
16
21
|
) => {
|
|
17
22
|
useEffect(() => {
|
|
@@ -20,7 +25,7 @@ export const useClickOutside = <T extends HTMLElement = HTMLElement>(
|
|
|
20
25
|
|
|
21
26
|
if (target.getAttribute("href")) return false
|
|
22
27
|
|
|
23
|
-
const el = ref?.current
|
|
28
|
+
const el = (ref as any)?.current
|
|
24
29
|
if (!el || el.contains((e?.target as Node) || null)) {
|
|
25
30
|
return
|
|
26
31
|
}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
/*=============================================== useCopyToClipboard ===============================================*/
|
|
2
|
-
|
|
3
1
|
import { useState } from "react"
|
|
4
2
|
|
|
5
3
|
type CopiedValue = string | null
|
|
6
4
|
type CopyFn = (text: string) => Promise<boolean>
|
|
7
5
|
|
|
8
6
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* useCopyToClipboard is a hook to copy text content to the clipboard and track the copied value.
|
|
8
|
+
*
|
|
9
|
+
* @function
|
|
10
|
+
* @returns {[CopiedValue, CopyFn]} A tuple containing the last copied value and a function to copy text.
|
|
11
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useCopyToClipboard
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const [copied, copy] = useCopyToClipboard()
|
|
15
|
+
* copy("Hello world!")
|
|
11
16
|
*/
|
|
12
17
|
export const useCopyToClipboard = (): [CopiedValue, CopyFn] => {
|
|
13
18
|
const [copiedText, setCopiedText] = useState<CopiedValue>(null)
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
/*=============================================== useDebounce ===============================================*/
|
|
2
|
-
|
|
3
1
|
import { useState, useEffect } from "react"
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
9
|
-
* @
|
|
4
|
+
* useDebounce is a hook to delay updating a value until after a specified delay.
|
|
5
|
+
*
|
|
6
|
+
* @function
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {T} value - The value to debounce.
|
|
9
|
+
* @param {number} [delay=1000] - Delay in milliseconds before updating the debounced value.
|
|
10
|
+
* @returns {T} The debounced value.
|
|
11
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useDebounce
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const debouncedValue = useDebounce(searchTerm, 500)
|
|
10
15
|
*/
|
|
11
16
|
export const useDebounce = <T,>(value: T, delay: number = 1000) => {
|
|
12
17
|
const [debouncedValue, setDebouncedValue] = useState<T>(value)
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/*=============================================== useTableSorting ===============================================*/
|
|
2
|
-
|
|
3
1
|
interface IDownloadFile {
|
|
4
2
|
blob: Blob
|
|
5
3
|
fileName: string
|
|
@@ -19,8 +17,20 @@ const downloadFile = ({ blob, fileName }: IDownloadFile) => {
|
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
20
|
+
* useExportData is a hook to export data to JSON or CSV files.
|
|
21
|
+
*
|
|
22
|
+
* @function
|
|
23
|
+
* @template T
|
|
24
|
+
* @returns {{
|
|
25
|
+
* exportToJson: (data: Array<T>, fileName: string) => void,
|
|
26
|
+
* exportToCsv: (data: Array<T>, fileName: string, headers: Array<string>) => void
|
|
27
|
+
* }} An object with methods to export data as JSON or CSV.
|
|
28
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useExportData
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* const { exportToJson, exportToCsv } = useExportData()
|
|
32
|
+
* exportToJson(dataArray, "my-data")
|
|
33
|
+
* exportToCsv(dataArray, "my-data", ["header1", "header2"])
|
|
24
34
|
*/
|
|
25
35
|
export const useExportData = <T,>() => {
|
|
26
36
|
const exportToJson = (data: Array<T>, fileName: string) =>
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
/*=============================================== useFetch ===============================================*/
|
|
2
|
-
|
|
3
1
|
import { useEffect, useState } from "react"
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
9
|
-
* @
|
|
4
|
+
* useFetch is a hook to fetch data asynchronously and manage loading and error states.
|
|
5
|
+
*
|
|
6
|
+
* @function
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {Promise<T>} fetchFunction - The promise to fetch data.
|
|
9
|
+
* @param {any} [dependencies] - Optional dependencies array for the effect.
|
|
10
|
+
* @returns {{ response: T | null, error: any, loading: boolean }} An object containing the response, error, and loading state.
|
|
11
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useFetch
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const { response, error, loading } = useFetch(fetchDataPromise, [dependency])
|
|
10
15
|
*/
|
|
11
16
|
export const useFetch = <T,>(fetchFunction: Promise<T>, dependencies?: any) => {
|
|
12
17
|
const [response, setResponse] = useState<T | null>(null)
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
/*=============================================== useForm ===============================================*/
|
|
2
|
-
|
|
3
1
|
import { useState, type ChangeEvent } from "react"
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
9
|
-
* @
|
|
4
|
+
* useForm is a hook to manage form state, input changes, reset, and submission.
|
|
5
|
+
*
|
|
6
|
+
* @function
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {T} [initialState={}] - Initial state of the form.
|
|
9
|
+
* @param {(formData: T) => void} [onSubmit] - Optional submit handler called with form data.
|
|
10
|
+
* @returns {{
|
|
11
|
+
* formData: T,
|
|
12
|
+
* handleInputs: (e: ChangeEvent<HTMLInputElement>) => void,
|
|
13
|
+
* resetForm: () => void,
|
|
14
|
+
* handleSubmit: (e: ChangeEvent<HTMLFormElement>) => void
|
|
15
|
+
* }} An object with form state and handlers.
|
|
16
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useForm
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const { formData, handleInputs, resetForm, handleSubmit } = useForm({ name: "" }, data => console.log(data))
|
|
10
20
|
*/
|
|
11
21
|
export const useForm = <T,>(
|
|
12
22
|
initialState = {} as T,
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
useState,
|
|
5
|
-
useLayoutEffect,
|
|
6
|
-
type RefCallback,
|
|
7
|
-
type RefObject,
|
|
8
|
-
} from "react"
|
|
1
|
+
import { useState, useLayoutEffect, type RefCallback, type Ref } from "react"
|
|
9
2
|
|
|
10
3
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @
|
|
14
|
-
* @
|
|
4
|
+
* useIsOverflow is a hook to detect if an element is overflowing its container in width or height.
|
|
5
|
+
*
|
|
6
|
+
* @function
|
|
7
|
+
* @param {Ref<HTMLElement>} ref - Ref to the target HTML element.
|
|
8
|
+
* @param {Object} [options] - Optional configuration.
|
|
9
|
+
* @param {RefCallback<boolean>} [options.callback] - Callback function called with the overflow state.
|
|
10
|
+
* @param {"width" | "height"} [options.check="width"] - Whether to check for overflow in width or height.
|
|
11
|
+
* @returns {boolean | undefined} Returns true if the element is overflowing, false if not, or undefined if not yet determined.
|
|
12
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useIsOverflow
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const ref = useRef<HTMLDivElement>(null)
|
|
16
|
+
* const isOverflow = useIsOverflow(ref, { check: "height" })
|
|
15
17
|
*/
|
|
16
18
|
export const useIsOverflow = (
|
|
17
|
-
ref:
|
|
19
|
+
ref: Ref<HTMLElement>,
|
|
18
20
|
options?: {
|
|
19
21
|
callback: RefCallback<boolean>
|
|
20
22
|
check?: "width" | "height"
|
|
@@ -23,7 +25,7 @@ export const useIsOverflow = (
|
|
|
23
25
|
const [isOverflow, setIsOverflow] = useState<undefined | boolean>(undefined)
|
|
24
26
|
|
|
25
27
|
useLayoutEffect(() => {
|
|
26
|
-
const { current } = ref
|
|
28
|
+
const { current } = ref as any
|
|
27
29
|
|
|
28
30
|
const trigger = () => {
|
|
29
31
|
if (current) {
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
/*=============================================== useKeyPress ===============================================*/
|
|
2
|
-
|
|
3
1
|
import { useEffect } from "react"
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
9
|
-
* @
|
|
4
|
+
* useKeyPress is a hook to trigger a callback function when specific key(s) are pressed, with optional exclusion of modifier keys.
|
|
5
|
+
*
|
|
6
|
+
* @function
|
|
7
|
+
* @param {string | Array<string>} keyCodes - Key code or array of key codes to listen for (e.g., "Enter", ["Control", "KeyS"]).
|
|
8
|
+
* @param {() => void} callback - Function to call when the key(s) are pressed.
|
|
9
|
+
* @param {Array<string>} [excludeKeys] - Array of modifier keys to exclude (e.g., ["Command", "Control"]).
|
|
10
|
+
* @returns {void}
|
|
11
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useKeyPress
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* useKeyPress("Enter", () => console.log("Enter pressed"))
|
|
15
|
+
* useKeyPress(["Control", "KeyS"], () => save(), ["Shift"])
|
|
10
16
|
*/
|
|
11
17
|
export const useKeyPress = (
|
|
12
18
|
keyCodes: string | Array<string>,
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
/*=============================================== useMaxWidth ===============================================*/
|
|
2
|
-
|
|
3
1
|
import { useState, useEffect } from "react"
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
4
|
+
* useMaxWidth is a hook to detect if the window width is smaller than or equal to a specified value.
|
|
5
|
+
*
|
|
6
|
+
* @function
|
|
7
|
+
* @param {number} width - The maximum width to check against (in pixels).
|
|
8
|
+
* @returns {boolean} Returns true if the window width is less than or equal to the specified width, otherwise false.
|
|
9
|
+
* @see https://documentation-components-react.vercel.app/helpers/hooks#useMaxWidth
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const isMobile = useMaxWidth(768)
|
|
9
13
|
*/
|
|
10
14
|
export const useMaxWidth = (width: number): boolean => {
|
|
11
15
|
const [isMax, setIsMax] = useState<boolean>(false)
|