@shohojdhara/atomix 0.1.5 → 0.1.7
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/css/{atomix-0.1.5.css → atomix.css} +1 -1
- package/dist/css/atomix.css.map +1 -0
- package/dist/css/{atomix-0.1.5.min.css → atomix.min.css} +1 -1
- package/dist/css/atomix.min.css.map +1 -0
- package/dist/js/{202.atomix-0.1.5.react.cjs.js → 202.atomix.react.cjs.js} +1 -1
- package/dist/js/202.atomix.react.cjs.js.map +1 -0
- package/dist/js/{202.atomix-0.1.5.react.esm.js → 202.atomix.react.esm.js} +1 -1
- package/dist/js/202.atomix.react.esm.js.map +1 -0
- package/dist/js/{202.atomix-0.1.5.react.js → 202.atomix.react.js} +1 -1
- package/dist/js/202.atomix.react.js.map +1 -0
- package/dist/js/{308.atomix-0.1.5.react.cjs.js → 308.atomix.react.cjs.js} +1 -1
- package/dist/js/308.atomix.react.cjs.js.map +1 -0
- package/dist/js/{308.atomix-0.1.5.react.esm.js → 308.atomix.react.esm.js} +1 -1
- package/dist/js/308.atomix.react.esm.js.map +1 -0
- package/dist/js/{308.atomix-0.1.5.react.js → 308.atomix.react.js} +1 -1
- package/dist/js/308.atomix.react.js.map +1 -0
- package/dist/js/{34.atomix-0.1.5.react.cjs.js → 34.atomix.react.cjs.js} +1 -1
- package/dist/js/34.atomix.react.cjs.js.map +1 -0
- package/dist/js/{34.atomix-0.1.5.react.esm.js → 34.atomix.react.esm.js} +1 -1
- package/dist/js/34.atomix.react.esm.js.map +1 -0
- package/dist/js/{34.atomix-0.1.5.react.js → 34.atomix.react.js} +1 -1
- package/dist/js/34.atomix.react.js.map +1 -0
- package/dist/js/{471.atomix-0.1.5.react.cjs.js → 471.atomix.react.cjs.js} +1 -1
- package/dist/js/471.atomix.react.cjs.js.map +1 -0
- package/dist/js/{471.atomix-0.1.5.react.esm.js → 471.atomix.react.esm.js} +1 -1
- package/dist/js/471.atomix.react.esm.js.map +1 -0
- package/dist/js/{471.atomix-0.1.5.react.js → 471.atomix.react.js} +1 -1
- package/dist/js/471.atomix.react.js.map +1 -0
- package/dist/js/{54.atomix-0.1.5.react.cjs.js → 54.atomix.react.cjs.js} +1 -1
- package/dist/js/54.atomix.react.cjs.js.map +1 -0
- package/dist/js/{54.atomix-0.1.5.react.esm.js → 54.atomix.react.esm.js} +1 -1
- package/dist/js/54.atomix.react.esm.js.map +1 -0
- package/dist/js/{54.atomix-0.1.5.react.js → 54.atomix.react.js} +1 -1
- package/dist/js/54.atomix.react.js.map +1 -0
- package/dist/js/{619.atomix-0.1.5.react.cjs.js → 619.atomix.react.cjs.js} +1 -1
- package/dist/js/619.atomix.react.cjs.js.map +1 -0
- package/dist/js/{619.atomix-0.1.5.react.esm.js → 619.atomix.react.esm.js} +1 -1
- package/dist/js/619.atomix.react.esm.js.map +1 -0
- package/dist/js/{619.atomix-0.1.5.react.js → 619.atomix.react.js} +1 -1
- package/dist/js/619.atomix.react.js.map +1 -0
- package/dist/js/{690.atomix-0.1.5.react.cjs.js → 690.atomix.react.cjs.js} +1 -1
- package/dist/js/690.atomix.react.cjs.js.map +1 -0
- package/dist/js/{690.atomix-0.1.5.react.esm.js → 690.atomix.react.esm.js} +1 -1
- package/dist/js/690.atomix.react.esm.js.map +1 -0
- package/dist/js/{690.atomix-0.1.5.react.js → 690.atomix.react.js} +1 -1
- package/dist/js/690.atomix.react.js.map +1 -0
- package/dist/js/{894.atomix-0.1.5.react.cjs.js → 894.atomix.react.cjs.js} +1 -1
- package/dist/js/894.atomix.react.cjs.js.map +1 -0
- package/dist/js/{894.atomix-0.1.5.react.esm.js → 894.atomix.react.esm.js} +1 -1
- package/dist/js/894.atomix.react.esm.js.map +1 -0
- package/dist/js/{894.atomix-0.1.5.react.js → 894.atomix.react.js} +1 -1
- package/dist/js/894.atomix.react.js.map +1 -0
- package/dist/js/{897.atomix-0.1.5.react.cjs.js → 897.atomix.react.cjs.js} +1 -1
- package/dist/js/897.atomix.react.cjs.js.map +1 -0
- package/dist/js/{897.atomix-0.1.5.react.esm.js → 897.atomix.react.esm.js} +1 -1
- package/dist/js/897.atomix.react.esm.js.map +1 -0
- package/dist/js/{897.atomix-0.1.5.react.js → 897.atomix.react.js} +1 -1
- package/dist/js/897.atomix.react.js.map +1 -0
- package/dist/js/atomix.react.cjs.js +2 -0
- package/dist/js/atomix.react.cjs.js.map +1 -0
- package/dist/js/atomix.react.esm.js +2 -0
- package/dist/js/atomix.react.esm.js.map +1 -0
- package/dist/js/atomix.react.js +2 -0
- package/dist/js/atomix.react.js.map +1 -0
- package/dist/types/components/Accordion/Accordion.d.ts +19 -0
- package/dist/types/components/Accordion/index.d.ts +2 -0
- package/dist/types/components/Accordion/scripts/accordionInteractions.d.ts +19 -0
- package/dist/types/components/Accordion/scripts/constants.d.ts +24 -0
- package/dist/types/components/Accordion/scripts/index.d.ts +100 -0
- package/dist/types/components/AtomixLogo/AtomixLogo.d.ts +8 -0
- package/dist/types/components/AtomixLogo/index.d.ts +3 -0
- package/dist/types/components/AtomixLogo.d.ts +8 -0
- package/dist/types/components/Avatar/Avatar.d.ts +6 -0
- package/dist/types/components/Avatar/AvatarGroup.d.ts +6 -0
- package/dist/types/components/Avatar/index.d.ts +2 -0
- package/dist/types/components/Avatar/scripts/index.d.ts +105 -0
- package/dist/types/components/Badge/Badge.d.ts +6 -0
- package/dist/types/components/Badge/index.d.ts +2 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +44 -0
- package/dist/types/components/Breadcrumb/index.d.ts +2 -0
- package/dist/types/components/Breadcrumb/scripts/breadcrumb.d.ts +43 -0
- package/dist/types/components/Breadcrumb/scripts/index.d.ts +4 -0
- package/dist/types/components/Breadcrumb/scripts/types.d.ts +59 -0
- package/dist/types/components/Button/Button.d.ts +10 -0
- package/dist/types/components/Button/index.d.ts +5 -0
- package/dist/types/components/Button/scripts/buttonInteractions.d.ts +20 -0
- package/dist/types/components/Button/scripts/index.d.ts +1 -0
- package/dist/types/components/Callout/Callout.d.ts +9 -0
- package/dist/types/components/Callout/index.d.ts +1 -0
- package/dist/types/components/Callout/scripts/CalloutInteractions.d.ts +92 -0
- package/dist/types/components/Callout/scripts/index.d.ts +53 -0
- package/dist/types/components/Card/Card.d.ts +6 -0
- package/dist/types/components/Card/ElevationCard.d.ts +4 -0
- package/dist/types/components/Card/index.d.ts +9 -0
- package/dist/types/components/Card/scripts/cardInteractions.d.ts +37 -0
- package/dist/types/components/Card/scripts/index.d.ts +80 -0
- package/dist/types/components/ColorModeToggle/ColorModeToggle.d.ts +8 -0
- package/dist/types/components/ColorModeToggle/index.d.ts +2 -0
- package/dist/types/components/Countdown/Countdown.d.ts +19 -0
- package/dist/types/components/Countdown/index.d.ts +2 -0
- package/dist/types/components/Countdown/scripts/index.d.ts +71 -0
- package/dist/types/components/DataTable/DataTable.d.ts +19 -0
- package/dist/types/components/DataTable/index.d.ts +2 -0
- package/dist/types/components/DataTable/scripts/index.d.ts +174 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +10 -0
- package/dist/types/components/DatePicker/index.d.ts +4 -0
- package/dist/types/components/DatePicker/scripts/componentInteractions.d.ts +28 -0
- package/dist/types/components/DatePicker/scripts/index.d.ts +153 -0
- package/dist/types/components/DatePicker/types.d.ts +127 -0
- package/dist/types/components/DatePicker/utils.d.ts +39 -0
- package/dist/types/components/Dropdown/Dropdown.d.ts +21 -0
- package/dist/types/components/Dropdown/index.d.ts +5 -0
- package/dist/types/components/Dropdown/scripts/componentInteractions.d.ts +26 -0
- package/dist/types/components/Dropdown/scripts/index.d.ts +114 -0
- package/dist/types/components/EdgePanel/EdgePanel.d.ts +6 -0
- package/dist/types/components/EdgePanel/index.d.ts +1 -0
- package/dist/types/components/EdgePanel/scripts/edgePanelInteractions.d.ts +35 -0
- package/dist/types/components/EdgePanel/scripts/index.d.ts +126 -0
- package/dist/types/components/Form/Checkbox.d.ts +9 -0
- package/dist/types/components/Form/Form.d.ts +9 -0
- package/dist/types/components/Form/FormGroup.d.ts +9 -0
- package/dist/types/components/Form/Input.d.ts +9 -0
- package/dist/types/components/Form/Radio.d.ts +9 -0
- package/dist/types/components/Form/Select.d.ts +9 -0
- package/dist/types/components/Form/Textarea.d.ts +9 -0
- package/dist/types/components/Form/index.d.ts +7 -0
- package/dist/types/components/Hero/Hero.d.ts +6 -0
- package/dist/types/components/Hero/index.d.ts +5 -0
- package/dist/types/components/Hero/scripts/heroInteractions.d.ts +29 -0
- package/dist/types/components/Hero/scripts/index.d.ts +47 -0
- package/dist/types/components/Icon/Icon.d.ts +38 -0
- package/dist/types/components/Icon/index.d.ts +2 -0
- package/dist/types/components/List/List.d.ts +6 -0
- package/dist/types/components/List/ListGroup.d.ts +4 -0
- package/dist/types/components/List/index.d.ts +2 -0
- package/dist/types/components/Messages/Messages.d.ts +9 -0
- package/dist/types/components/Messages/index.d.ts +2 -0
- package/dist/types/components/Messages/scripts/componentInteractions.d.ts +49 -0
- package/dist/types/components/Messages/scripts/index.d.ts +110 -0
- package/dist/types/components/Modal/Modal.d.ts +9 -0
- package/dist/types/components/Modal/index.d.ts +1 -0
- package/dist/types/components/Modal/scripts/index.d.ts +83 -0
- package/dist/types/components/Modal/scripts/modalInteractions.d.ts +28 -0
- package/dist/types/components/Navbar/MegaMenu.d.ts +5 -0
- package/dist/types/components/Navbar/Menu.d.ts +15 -0
- package/dist/types/components/Navbar/Nav.d.ts +6 -0
- package/dist/types/components/Navbar/NavDropdown.d.ts +3 -0
- package/dist/types/components/Navbar/NavItem.d.ts +3 -0
- package/dist/types/components/Navbar/Navbar.d.ts +6 -0
- package/dist/types/components/Navbar/index.d.ts +6 -0
- package/dist/types/components/Pagination/Pagination.d.ts +9 -0
- package/dist/types/components/Pagination/index.d.ts +1 -0
- package/dist/types/components/Pagination/scripts/index.d.ts +52 -0
- package/dist/types/components/PhotoViewer/PhotoViewer.d.ts +23 -0
- package/dist/types/components/PhotoViewer/PhotoViewerHeader.d.ts +45 -0
- package/dist/types/components/PhotoViewer/PhotoViewerImage.d.ts +51 -0
- package/dist/types/components/PhotoViewer/PhotoViewerInfo.d.ts +21 -0
- package/dist/types/components/PhotoViewer/PhotoViewerNavigation.d.ts +28 -0
- package/dist/types/components/PhotoViewer/PhotoViewerThumbnails.d.ts +21 -0
- package/dist/types/components/PhotoViewer/examples/ImageGallery.d.ts +11 -0
- package/dist/types/components/PhotoViewer/examples/SimpleGallery.d.ts +3 -0
- package/dist/types/components/PhotoViewer/examples/index.d.ts +2 -0
- package/dist/types/components/PhotoViewer/index.d.ts +12 -0
- package/dist/types/components/PhotoViewer/scripts/PhotoViewerInteractions.d.ts +44 -0
- package/dist/types/components/PhotoViewer/scripts/index.d.ts +110 -0
- package/dist/types/components/Popover/Popover.d.ts +13 -0
- package/dist/types/components/Popover/index.d.ts +4 -0
- package/dist/types/components/Popover/scripts/componentInteractions.d.ts +60 -0
- package/dist/types/components/Popover/scripts/index.d.ts +89 -0
- package/dist/types/components/ProductReview/ProductReview.d.ts +43 -0
- package/dist/types/components/ProductReview/index.d.ts +2 -0
- package/dist/types/components/ProductReview/scripts/bundle.d.ts +2 -0
- package/dist/types/components/ProductReview/scripts/componentInteractions.d.ts +43 -0
- package/dist/types/components/ProductReview/scripts/index.d.ts +2 -0
- package/dist/types/components/Progress/Progress.d.ts +6 -0
- package/dist/types/components/Progress/index.d.ts +1 -0
- package/dist/types/components/Progress/scripts/componentInteractions.d.ts +29 -0
- package/dist/types/components/Progress/scripts/index.d.ts +64 -0
- package/dist/types/components/Rating/Rating.d.ts +21 -0
- package/dist/types/components/Rating/index.d.ts +4 -0
- package/dist/types/components/Rating/scripts/bundle.d.ts +3 -0
- package/dist/types/components/Rating/scripts/index.d.ts +74 -0
- package/dist/types/components/Rating/scripts/ratingInteractions.d.ts +28 -0
- package/dist/types/components/River/River.d.ts +9 -0
- package/dist/types/components/River/index.d.ts +2 -0
- package/dist/types/components/River/scripts/index.d.ts +40 -0
- package/dist/types/components/SectionIntro/SectionIntro.d.ts +64 -0
- package/dist/types/components/SectionIntro/index.d.ts +4 -0
- package/dist/types/components/SectionIntro/scripts/componentInteractions.d.ts +13 -0
- package/dist/types/components/SectionIntro/scripts/index.d.ts +36 -0
- package/dist/types/components/Spinner/Spinner.d.ts +6 -0
- package/dist/types/components/Spinner/index.d.ts +2 -0
- package/dist/types/components/Steps/Steps.d.ts +44 -0
- package/dist/types/components/Steps/index.d.ts +4 -0
- package/dist/types/components/Steps/scripts/index.d.ts +58 -0
- package/dist/types/components/Tab/Tab.d.ts +44 -0
- package/dist/types/components/Tab/index.d.ts +2 -0
- package/dist/types/components/Tab/scripts/index.d.ts +61 -0
- package/dist/types/components/Testimonial/Testimonial.d.ts +48 -0
- package/dist/types/components/Testimonial/index.d.ts +4 -0
- package/dist/types/components/Testimonial/scripts/index.d.ts +36 -0
- package/dist/types/components/Todo/Todo.d.ts +6 -0
- package/dist/types/components/Todo/index.d.ts +1 -0
- package/dist/types/components/Todo/scripts/index.d.ts +115 -0
- package/dist/types/components/Todo/scripts/todoInteractions.d.ts +38 -0
- package/dist/types/components/Todo/scripts/types.d.ts +17 -0
- package/dist/types/components/Toggle/Toggle.d.ts +30 -0
- package/dist/types/components/Toggle/index.d.ts +2 -0
- package/dist/types/components/Toggle/scripts/index.d.ts +50 -0
- package/dist/types/components/Toggle/scripts/toggleInteractions.d.ts +23 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +35 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -0
- package/dist/types/components/Tooltip/scripts/index.d.ts +123 -0
- package/dist/types/components/Tooltip/scripts/tooltipInteractions.d.ts +23 -0
- package/dist/types/components/Upload/Upload.d.ts +66 -0
- package/dist/types/components/Upload/index.d.ts +4 -0
- package/dist/types/components/Upload/scripts/index.d.ts +118 -0
- package/dist/types/components/index.d.ts +78 -0
- package/dist/types/htmlComponentsEntry.d.ts +160 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/layouts/Grid/Container.d.ts +38 -0
- package/dist/types/layouts/Grid/Grid.d.ts +37 -0
- package/dist/types/layouts/Grid/GridCol.d.ts +64 -0
- package/dist/types/layouts/Grid/Row.d.ts +38 -0
- package/dist/types/layouts/Grid/index.d.ts +8 -0
- package/dist/types/layouts/MasonryGrid/MasonryGrid.d.ts +71 -0
- package/dist/types/layouts/MasonryGrid/MasonryGridItem.d.ts +24 -0
- package/dist/types/layouts/MasonryGrid/index.d.ts +4 -0
- package/dist/types/lib/composables/index.d.ts +21 -0
- package/dist/types/lib/composables/useAccordion.d.ts +30 -0
- package/dist/types/lib/composables/useBadge.d.ts +10 -0
- package/dist/types/lib/composables/useBreadcrumb.d.ts +13 -0
- package/dist/types/lib/composables/useButton.d.ts +11 -0
- package/dist/types/lib/composables/useCallout.d.ts +11 -0
- package/dist/types/lib/composables/useCard.d.ts +8 -0
- package/dist/types/lib/composables/useCheckbox.d.ts +11 -0
- package/dist/types/lib/composables/useDataTable.d.ts +66 -0
- package/dist/types/lib/composables/useDatePicker.d.ts +91 -0
- package/dist/types/lib/composables/useDropdown.d.ts +26 -0
- package/dist/types/lib/composables/useEdgePanel.d.ts +15 -0
- package/dist/types/lib/composables/useForm.d.ts +12 -0
- package/dist/types/lib/composables/useFormGroup.d.ts +10 -0
- package/dist/types/lib/composables/useHero.d.ts +53 -0
- package/dist/types/lib/composables/useInput.d.ts +12 -0
- package/dist/types/lib/composables/useMessages.d.ts +38 -0
- package/dist/types/lib/composables/useModal.d.ts +40 -0
- package/dist/types/lib/composables/useNavbar.d.ts +59 -0
- package/dist/types/lib/composables/usePagination.d.ts +13 -0
- package/dist/types/lib/composables/usePhotoViewer.d.ts +57 -0
- package/dist/types/lib/composables/usePopover.d.ts +30 -0
- package/dist/types/lib/composables/useProgress.d.ts +38 -0
- package/dist/types/lib/composables/useRadio.d.ts +10 -0
- package/dist/types/lib/composables/useRating.d.ts +52 -0
- package/dist/types/lib/composables/useRiver.d.ts +107 -0
- package/dist/types/lib/composables/useSelect.d.ts +10 -0
- package/dist/types/lib/composables/useSpinner.d.ts +10 -0
- package/dist/types/lib/composables/useTextarea.d.ts +10 -0
- package/dist/types/lib/composables/useTodo.d.ts +19 -0
- package/dist/types/lib/constants/components.d.ts +921 -0
- package/dist/types/lib/constants/index.d.ts +1 -0
- package/dist/types/lib/index.d.ts +4 -0
- package/dist/types/lib/types/components.d.ts +1947 -0
- package/dist/types/lib/types/index.d.ts +2 -0
- package/dist/types/lib/utils/dom.d.ts +26 -0
- package/dist/types/lib/utils/icons.d.ts +20 -0
- package/dist/types/lib/utils/index.d.ts +2 -0
- package/dist/types/lib/utils/useForkRef.d.ts +10 -0
- package/package.json +13 -13
- package/dist/css/atomix-0.1.5.css.map +0 -1
- package/dist/css/atomix-0.1.5.min.css.map +0 -1
- package/dist/js/202.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/202.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/202.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/308.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/308.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/308.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/34.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/34.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/34.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/471.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/471.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/471.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/54.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/54.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/54.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/619.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/619.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/619.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/690.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/690.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/690.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/894.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/894.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/894.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/897.atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/897.atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/897.atomix-0.1.5.react.js.map +0 -1
- package/dist/js/atomix-0.1.5.react.cjs.js +0 -2
- package/dist/js/atomix-0.1.5.react.cjs.js.map +0 -1
- package/dist/js/atomix-0.1.5.react.esm.js +0 -2
- package/dist/js/atomix-0.1.5.react.esm.js.map +0 -1
- package/dist/js/atomix-0.1.5.react.js +0 -2
- package/dist/js/atomix-0.1.5.react.js.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { DataTableColumn, SortConfig } from '../types/components';
|
|
2
|
+
export interface UseDataTableProps {
|
|
3
|
+
/**
|
|
4
|
+
* Data array to display
|
|
5
|
+
*/
|
|
6
|
+
data: any[];
|
|
7
|
+
/**
|
|
8
|
+
* Column definitions
|
|
9
|
+
*/
|
|
10
|
+
columns: DataTableColumn[];
|
|
11
|
+
/**
|
|
12
|
+
* Whether the table is sortable
|
|
13
|
+
*/
|
|
14
|
+
sortable?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the table is paginated
|
|
17
|
+
*/
|
|
18
|
+
paginated?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Number of rows per page
|
|
21
|
+
*/
|
|
22
|
+
pageSize?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Callback when sorting changes
|
|
25
|
+
*/
|
|
26
|
+
onSort?: (sortConfig: SortConfig) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Initial sort configuration
|
|
29
|
+
*/
|
|
30
|
+
initialSortConfig?: SortConfig;
|
|
31
|
+
}
|
|
32
|
+
export interface UseDataTableReturn {
|
|
33
|
+
/**
|
|
34
|
+
* Data to display (filtered, sorted, paginated)
|
|
35
|
+
*/
|
|
36
|
+
displayData: any[];
|
|
37
|
+
/**
|
|
38
|
+
* Current sort configuration
|
|
39
|
+
*/
|
|
40
|
+
sortConfig: SortConfig | null;
|
|
41
|
+
/**
|
|
42
|
+
* Current page number
|
|
43
|
+
*/
|
|
44
|
+
currentPage: number;
|
|
45
|
+
/**
|
|
46
|
+
* Total number of pages
|
|
47
|
+
*/
|
|
48
|
+
totalPages: number;
|
|
49
|
+
/**
|
|
50
|
+
* Handle sort column click
|
|
51
|
+
*/
|
|
52
|
+
handleSort: (key: string) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Handle page change
|
|
55
|
+
*/
|
|
56
|
+
handlePageChange: (page: number) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Handle search input
|
|
59
|
+
*/
|
|
60
|
+
handleSearch: (query: string) => void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Hook for managing DataTable state and behavior
|
|
64
|
+
*/
|
|
65
|
+
export declare function useDataTable({ data, columns, sortable, paginated, pageSize, onSort, initialSortConfig, }: UseDataTableProps): UseDataTableReturn;
|
|
66
|
+
export default useDataTable;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { DatePickerViewMode, DatePickerSelectionMode, DateRange } from '../../components/DatePicker/types';
|
|
2
|
+
interface UseDatePickerProps {
|
|
3
|
+
/**
|
|
4
|
+
* The currently selected date value
|
|
5
|
+
*/
|
|
6
|
+
value?: Date | null;
|
|
7
|
+
/**
|
|
8
|
+
* Callback function when date is changed
|
|
9
|
+
*/
|
|
10
|
+
onChange?: (date: Date | null) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Selection mode - single date or date range
|
|
13
|
+
*/
|
|
14
|
+
selectionMode?: DatePickerSelectionMode;
|
|
15
|
+
/**
|
|
16
|
+
* The start date of the range
|
|
17
|
+
*/
|
|
18
|
+
startDate?: Date | null;
|
|
19
|
+
/**
|
|
20
|
+
* The end date of the range
|
|
21
|
+
*/
|
|
22
|
+
endDate?: Date | null;
|
|
23
|
+
/**
|
|
24
|
+
* Callback function when date range is changed
|
|
25
|
+
*/
|
|
26
|
+
onRangeChange?: (range: DateRange) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Format for the date display
|
|
29
|
+
*/
|
|
30
|
+
format?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Minimum selectable date
|
|
33
|
+
*/
|
|
34
|
+
minDate?: Date;
|
|
35
|
+
/**
|
|
36
|
+
* Maximum selectable date
|
|
37
|
+
*/
|
|
38
|
+
maxDate?: Date;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the datepicker is in inline mode
|
|
41
|
+
*/
|
|
42
|
+
inline?: boolean;
|
|
43
|
+
}
|
|
44
|
+
interface DateObject {
|
|
45
|
+
day: number;
|
|
46
|
+
month: number;
|
|
47
|
+
year: number;
|
|
48
|
+
isCurrentMonth: boolean;
|
|
49
|
+
}
|
|
50
|
+
interface MonthObject {
|
|
51
|
+
month: number;
|
|
52
|
+
name: string;
|
|
53
|
+
}
|
|
54
|
+
export declare function useDatePicker({ value, onChange, selectionMode, startDate, endDate, onRangeChange, format, minDate, maxDate, inline }?: UseDatePickerProps): {
|
|
55
|
+
isOpen: boolean;
|
|
56
|
+
inputValue: string;
|
|
57
|
+
rangeInputValue: string;
|
|
58
|
+
viewDate: Date;
|
|
59
|
+
viewMode: DatePickerViewMode;
|
|
60
|
+
currentMonth: number;
|
|
61
|
+
currentYear: number;
|
|
62
|
+
selectionMode: DatePickerSelectionMode;
|
|
63
|
+
rangeSelectionState: "start" | "end";
|
|
64
|
+
datePickerRef: import("react").RefObject<HTMLDivElement>;
|
|
65
|
+
inputRef: import("react").RefObject<HTMLInputElement>;
|
|
66
|
+
startDate: Date | null | undefined;
|
|
67
|
+
endDate: Date | null | undefined;
|
|
68
|
+
setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
69
|
+
handleDateSelect: (day: number) => void;
|
|
70
|
+
handlePrevMonth: () => void;
|
|
71
|
+
handleNextMonth: () => void;
|
|
72
|
+
handlePrevYear: () => void;
|
|
73
|
+
handleNextYear: () => void;
|
|
74
|
+
handleTodayClick: () => void;
|
|
75
|
+
handleClear: () => void;
|
|
76
|
+
handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
77
|
+
handleInputFocus: () => void;
|
|
78
|
+
switchToMonthView: () => void;
|
|
79
|
+
switchToYearView: () => void;
|
|
80
|
+
selectMonth: (month: number) => void;
|
|
81
|
+
selectYear: (year: number) => void;
|
|
82
|
+
generateDays: () => DateObject[];
|
|
83
|
+
generateMonths: () => MonthObject[];
|
|
84
|
+
generateYears: () => number[];
|
|
85
|
+
isDateSelectable: (year: number, month: number, day: number) => boolean;
|
|
86
|
+
isDateSelected: (year: number, month: number, day: number) => boolean;
|
|
87
|
+
isDateInSelectedRange: (year: number, month: number, day: number) => boolean;
|
|
88
|
+
isToday: (year: number, month: number, day: number) => boolean;
|
|
89
|
+
getWeekNumber: (date: Date) => number;
|
|
90
|
+
};
|
|
91
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DropdownPlacement, DropdownTrigger } from '../types/components';
|
|
2
|
+
interface UseDropdownProps {
|
|
3
|
+
placement?: DropdownPlacement;
|
|
4
|
+
trigger?: DropdownTrigger;
|
|
5
|
+
offset?: number;
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
isOpen?: boolean;
|
|
8
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
9
|
+
closeOnClickOutside?: boolean;
|
|
10
|
+
closeOnEscape?: boolean;
|
|
11
|
+
id?: string;
|
|
12
|
+
}
|
|
13
|
+
interface UseDropdownReturn {
|
|
14
|
+
isOpen: boolean;
|
|
15
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
16
|
+
triggerRef: React.RefObject<HTMLElement>;
|
|
17
|
+
menuRef: React.RefObject<HTMLElement>;
|
|
18
|
+
dropdownId: string;
|
|
19
|
+
currentPlacement: DropdownPlacement;
|
|
20
|
+
updatePosition: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Hook for managing dropdown state and position
|
|
24
|
+
*/
|
|
25
|
+
export declare const useDropdown: ({ placement, trigger, offset, defaultOpen, isOpen: controlledIsOpen, onOpenChange, closeOnClickOutside, closeOnEscape, id }: UseDropdownProps) => UseDropdownReturn;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EdgePanelProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* EdgePanel state and functionality
|
|
4
|
+
* @param initialProps - Initial EdgePanel properties
|
|
5
|
+
* @returns EdgePanel state and methods
|
|
6
|
+
*/
|
|
7
|
+
export declare function useEdgePanel(initialProps?: Partial<EdgePanelProps>): {
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
containerRef: import("react").RefObject<HTMLDivElement>;
|
|
10
|
+
backdropRef: import("react").RefObject<HTMLDivElement>;
|
|
11
|
+
generateEdgePanelClass: (props: Partial<EdgePanelProps>) => string;
|
|
12
|
+
openPanel: () => void;
|
|
13
|
+
closePanel: () => void;
|
|
14
|
+
handleBackdropClick: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FormProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* Form state and functionality
|
|
4
|
+
* @param initialProps - Initial form properties
|
|
5
|
+
* @returns Form state and methods
|
|
6
|
+
*/
|
|
7
|
+
export declare function useForm(initialProps?: Partial<FormProps>): {
|
|
8
|
+
defaultProps: Partial<FormProps>;
|
|
9
|
+
generateFormClass: (props: Partial<FormProps>) => string;
|
|
10
|
+
handleSubmit: (handler?: (event: React.FormEvent<HTMLFormElement>) => void) => (event: React.FormEvent<HTMLFormElement>) => void;
|
|
11
|
+
handleReset: (handler?: (event: React.FormEvent<HTMLFormElement>) => void) => (event: React.FormEvent<HTMLFormElement>) => void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FormGroupProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* Form Group state and functionality
|
|
4
|
+
* @param initialProps - Initial form group properties
|
|
5
|
+
* @returns Form Group state and methods
|
|
6
|
+
*/
|
|
7
|
+
export declare function useFormGroup(initialProps?: Partial<FormGroupProps>): {
|
|
8
|
+
defaultProps: Partial<FormGroupProps>;
|
|
9
|
+
generateFormGroupClass: (props: Partial<FormGroupProps>) => string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { HeroProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* Hero hook result interface
|
|
4
|
+
*/
|
|
5
|
+
interface UseHeroResult {
|
|
6
|
+
/**
|
|
7
|
+
* Generate hero class names based on props
|
|
8
|
+
*/
|
|
9
|
+
generateHeroClassNames: (baseClassName?: string) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Generate image column class based on size
|
|
12
|
+
*/
|
|
13
|
+
generateImageColClass: (size?: number) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Generate content column class based on size
|
|
16
|
+
*/
|
|
17
|
+
generateContentColClass: (size?: number) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Determine if the hero has a background image
|
|
20
|
+
*/
|
|
21
|
+
hasBackgroundImage: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Determine if the hero has a foreground image
|
|
24
|
+
*/
|
|
25
|
+
hasForegroundImage: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Determine if content should be displayed in a grid
|
|
28
|
+
*/
|
|
29
|
+
useGridLayout: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Reference to the hero element
|
|
32
|
+
*/
|
|
33
|
+
heroRef: React.RefObject<HTMLDivElement>;
|
|
34
|
+
/**
|
|
35
|
+
* Reference to the video element
|
|
36
|
+
*/
|
|
37
|
+
videoRef: React.RefObject<HTMLVideoElement>;
|
|
38
|
+
/**
|
|
39
|
+
* Apply parallax effect
|
|
40
|
+
*/
|
|
41
|
+
applyParallaxEffect: (element: HTMLElement, intensity: number) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Remove parallax effect
|
|
44
|
+
*/
|
|
45
|
+
removeParallaxEffect: (element: HTMLElement) => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Hook for Hero component functionality
|
|
49
|
+
* @param initialProps - Initial hero props
|
|
50
|
+
* @returns Hero methods
|
|
51
|
+
*/
|
|
52
|
+
export declare function useHero(initialProps?: Partial<HeroProps>): UseHeroResult;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InputProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* Input state and functionality
|
|
4
|
+
* @param initialProps - Initial input properties
|
|
5
|
+
* @returns Input state and methods
|
|
6
|
+
*/
|
|
7
|
+
export declare function useInput(initialProps?: Partial<InputProps>): {
|
|
8
|
+
defaultProps: Partial<InputProps>;
|
|
9
|
+
generateInputClass: (props: Partial<InputProps> & {
|
|
10
|
+
type?: string;
|
|
11
|
+
}) => string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { MessageItem } from '../types/components';
|
|
2
|
+
interface UseMessagesProps {
|
|
3
|
+
/**
|
|
4
|
+
* Initial messages
|
|
5
|
+
*/
|
|
6
|
+
initialMessages?: MessageItem[];
|
|
7
|
+
/**
|
|
8
|
+
* Callback when a message is sent
|
|
9
|
+
*/
|
|
10
|
+
onSendMessage?: (text: string) => void;
|
|
11
|
+
}
|
|
12
|
+
interface UseMessagesReturn {
|
|
13
|
+
/**
|
|
14
|
+
* Current input value
|
|
15
|
+
*/
|
|
16
|
+
inputValue: string;
|
|
17
|
+
/**
|
|
18
|
+
* Set input value
|
|
19
|
+
*/
|
|
20
|
+
setInputValue: (value: string) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Handle input change
|
|
23
|
+
*/
|
|
24
|
+
handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Handle form submission
|
|
27
|
+
*/
|
|
28
|
+
handleSubmit: (e: React.FormEvent) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Handle key down events
|
|
31
|
+
*/
|
|
32
|
+
handleKeyDown: (e: React.KeyboardEvent) => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Hook for managing Messages component state and behavior
|
|
36
|
+
*/
|
|
37
|
+
export declare const useMessages: ({ onSendMessage }?: UseMessagesProps) => UseMessagesReturn;
|
|
38
|
+
export default useMessages;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface UseModalProps {
|
|
2
|
+
/**
|
|
3
|
+
* Whether the modal is open
|
|
4
|
+
*/
|
|
5
|
+
isOpen?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Callback when modal state changes
|
|
8
|
+
*/
|
|
9
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Callback when modal opens
|
|
12
|
+
*/
|
|
13
|
+
onOpen?: () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Callback when modal closes
|
|
16
|
+
*/
|
|
17
|
+
onClose?: () => void;
|
|
18
|
+
}
|
|
19
|
+
export interface UseModalReturn {
|
|
20
|
+
/**
|
|
21
|
+
* Current open state
|
|
22
|
+
*/
|
|
23
|
+
isOpen: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Function to open the modal
|
|
26
|
+
*/
|
|
27
|
+
open: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Function to close the modal
|
|
30
|
+
*/
|
|
31
|
+
close: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Function to toggle the modal
|
|
34
|
+
*/
|
|
35
|
+
toggle: () => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Hook for managing modal state
|
|
39
|
+
*/
|
|
40
|
+
export declare function useModal({ isOpen: isOpenProp, onOpenChange, onOpen, onClose }?: UseModalProps): UseModalReturn;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { NavbarProps, NavProps, NavItemProps, NavDropdownProps } from '../types/components';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Navbar state and functionality
|
|
5
|
+
* @param initialProps - Initial navbar properties
|
|
6
|
+
* @returns Navbar state and methods
|
|
7
|
+
*/
|
|
8
|
+
export declare function useNavbar(initialProps?: Partial<NavbarProps>): {
|
|
9
|
+
defaultProps: Partial<NavbarProps>;
|
|
10
|
+
isExpanded: boolean;
|
|
11
|
+
setIsExpanded: React.Dispatch<React.SetStateAction<boolean>>;
|
|
12
|
+
generateNavbarClass: (props: Partial<NavbarProps>) => string;
|
|
13
|
+
generateContainerStyle: (width?: string) => {
|
|
14
|
+
maxWidth: string;
|
|
15
|
+
} | {
|
|
16
|
+
maxWidth?: undefined;
|
|
17
|
+
};
|
|
18
|
+
generateCollapseClass: (expanded: boolean) => string;
|
|
19
|
+
toggleExpanded: () => void;
|
|
20
|
+
getExpandedState: (controlled?: boolean) => boolean;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Nav state and functionality
|
|
24
|
+
* @param initialProps - Initial nav properties
|
|
25
|
+
* @returns Nav state and methods
|
|
26
|
+
*/
|
|
27
|
+
export declare function useNav(initialProps?: Partial<NavProps>): {
|
|
28
|
+
defaultProps: Partial<NavProps>;
|
|
29
|
+
generateNavClass: (props: Partial<NavProps>) => string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Nav item state and functionality
|
|
33
|
+
* @param initialProps - Initial nav item properties
|
|
34
|
+
* @returns Nav item state and methods
|
|
35
|
+
*/
|
|
36
|
+
export declare function useNavItem(initialProps?: Partial<NavItemProps & {
|
|
37
|
+
megaMenu?: boolean;
|
|
38
|
+
}>): {
|
|
39
|
+
defaultProps: Partial<NavItemProps & {
|
|
40
|
+
megaMenu?: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
generateNavItemClass: (props: Partial<NavItemProps & {
|
|
43
|
+
megaMenu?: boolean;
|
|
44
|
+
}>) => string;
|
|
45
|
+
generateNavLinkClass: (active?: boolean, disabled?: boolean, className?: string) => string;
|
|
46
|
+
handleClick: (handler?: () => void) => (e: React.MouseEvent) => void;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Nav dropdown state and functionality
|
|
50
|
+
* @param initialProps - Initial dropdown properties
|
|
51
|
+
* @returns Dropdown state and methods
|
|
52
|
+
*/
|
|
53
|
+
export declare function useNavDropdown(initialProps?: Partial<NavDropdownProps>): {
|
|
54
|
+
defaultProps: Partial<NavDropdownProps>;
|
|
55
|
+
generateDropdownMenuClass: (props: Partial<NavDropdownProps>) => string;
|
|
56
|
+
isInFixedBottomNavbar: () => boolean;
|
|
57
|
+
getIconClass: (isMegaMenu?: boolean) => string;
|
|
58
|
+
getIconName: (isMegaMenu?: boolean) => string;
|
|
59
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PaginationProps } from '../types/components';
|
|
2
|
+
export declare const DOTS = "...";
|
|
3
|
+
export declare const usePagination: ({ currentPage, totalPages, siblingCount, onPageChange, }: Omit<PaginationProps, "className">) => {
|
|
4
|
+
paginationRange: (string | number)[];
|
|
5
|
+
currentPage: number;
|
|
6
|
+
totalPages: number;
|
|
7
|
+
goToPage: (page: number) => void;
|
|
8
|
+
nextPage: () => void;
|
|
9
|
+
prevPage: () => void;
|
|
10
|
+
firstPage: () => void;
|
|
11
|
+
lastPage: () => void;
|
|
12
|
+
DOTS: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface UsePhotoViewerProps {
|
|
3
|
+
images: (string | {
|
|
4
|
+
src: string;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
})[];
|
|
7
|
+
startIndex?: number;
|
|
8
|
+
enableGestures?: boolean;
|
|
9
|
+
onImageChange?: (index: number) => void;
|
|
10
|
+
onClose?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const usePhotoViewer: ({ images, startIndex, enableGestures, onImageChange, onClose }: UsePhotoViewerProps) => {
|
|
13
|
+
currentIndex: number;
|
|
14
|
+
isModalOpen: boolean;
|
|
15
|
+
zoomLevel: number;
|
|
16
|
+
imagePosition: {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
};
|
|
20
|
+
isDragging: boolean;
|
|
21
|
+
isFullscreen: boolean;
|
|
22
|
+
rotationAngle: number;
|
|
23
|
+
showInfo: boolean;
|
|
24
|
+
imageRef: React.RefObject<HTMLImageElement>;
|
|
25
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
26
|
+
isTransitioning: boolean;
|
|
27
|
+
setCurrentIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
28
|
+
setZoomLevel: (zoom: number | ((prev: number) => number)) => void;
|
|
29
|
+
setImagePosition: (position: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
} | ((prev: {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
}) => {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
})) => void;
|
|
39
|
+
setIsDragging: React.Dispatch<React.SetStateAction<boolean>>;
|
|
40
|
+
setIsFullscreen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
41
|
+
setRotationAngle: (rotation: number | ((prev: number) => number)) => void;
|
|
42
|
+
setShowInfo: React.Dispatch<React.SetStateAction<boolean>>;
|
|
43
|
+
openModal: () => void;
|
|
44
|
+
closeModal: () => void;
|
|
45
|
+
goToPrevious: () => void;
|
|
46
|
+
goToNext: () => void;
|
|
47
|
+
handleWheel: (event: React.WheelEvent<HTMLDivElement>) => void;
|
|
48
|
+
handleMouseDown: (event: React.MouseEvent<HTMLDivElement | HTMLImageElement, MouseEvent>) => void;
|
|
49
|
+
handleMouseMove: (event: React.MouseEvent<HTMLDivElement | HTMLImageElement, MouseEvent>) => void;
|
|
50
|
+
handleMouseUp: () => void;
|
|
51
|
+
handleTouchStart: (event: React.TouchEvent<HTMLImageElement | HTMLDivElement>) => void;
|
|
52
|
+
handleTouchMove: (event: React.TouchEvent<HTMLImageElement | HTMLDivElement>) => void;
|
|
53
|
+
handleTouchEnd: () => void;
|
|
54
|
+
handleDoubleClick: (event: React.MouseEvent) => void;
|
|
55
|
+
resetImageState: () => void;
|
|
56
|
+
};
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
type PopoverPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
3
|
+
type PopoverTrigger = 'click' | 'hover';
|
|
4
|
+
interface UsePopoverProps {
|
|
5
|
+
position?: PopoverPosition | 'auto';
|
|
6
|
+
trigger?: PopoverTrigger;
|
|
7
|
+
offset?: number;
|
|
8
|
+
delay?: number;
|
|
9
|
+
defaultOpen?: boolean;
|
|
10
|
+
isOpen?: boolean;
|
|
11
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
12
|
+
closeOnClickOutside?: boolean;
|
|
13
|
+
closeOnEscape?: boolean;
|
|
14
|
+
id?: string;
|
|
15
|
+
}
|
|
16
|
+
interface UsePopoverResult {
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
19
|
+
triggerRef: RefObject<HTMLElement>;
|
|
20
|
+
popoverRef: RefObject<HTMLDivElement>;
|
|
21
|
+
arrowRef: RefObject<HTMLDivElement>;
|
|
22
|
+
popoverId: string;
|
|
23
|
+
currentPosition: PopoverPosition;
|
|
24
|
+
updatePosition: () => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Hook for managing popover state and positioning logic
|
|
28
|
+
*/
|
|
29
|
+
export declare const usePopover: ({ position, trigger, offset, delay, defaultOpen, isOpen: controlledIsOpen, onOpenChange, closeOnClickOutside, closeOnEscape, id, }: UsePopoverProps) => UsePopoverResult;
|
|
30
|
+
export default usePopover;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ThemeColor } from '../types/components';
|
|
2
|
+
interface UseProgressProps {
|
|
3
|
+
/**
|
|
4
|
+
* Progress value from 0 to 100
|
|
5
|
+
*/
|
|
6
|
+
value: number;
|
|
7
|
+
/**
|
|
8
|
+
* Optional color variant
|
|
9
|
+
*/
|
|
10
|
+
variant?: ThemeColor;
|
|
11
|
+
/**
|
|
12
|
+
* Optional size
|
|
13
|
+
*/
|
|
14
|
+
size?: 'sm' | 'md' | 'lg';
|
|
15
|
+
/**
|
|
16
|
+
* Optional className for custom styling
|
|
17
|
+
*/
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
interface UseProgressReturn {
|
|
21
|
+
/**
|
|
22
|
+
* Computed progress value clamped between 0 and 100
|
|
23
|
+
*/
|
|
24
|
+
progressValue: number;
|
|
25
|
+
/**
|
|
26
|
+
* CSS properties for the progress component
|
|
27
|
+
*/
|
|
28
|
+
progressStyle: React.CSSProperties;
|
|
29
|
+
/**
|
|
30
|
+
* CSS classes for the progress component
|
|
31
|
+
*/
|
|
32
|
+
progressClasses: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Hook for managing Progress component state and behavior
|
|
36
|
+
*/
|
|
37
|
+
export declare const useProgress: ({ value, variant, size, className, }: UseProgressProps) => UseProgressReturn;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RadioProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* Radio state and functionality
|
|
4
|
+
* @param initialProps - Initial radio properties
|
|
5
|
+
* @returns Radio state and methods
|
|
6
|
+
*/
|
|
7
|
+
export declare function useRadio(initialProps?: Partial<RadioProps>): {
|
|
8
|
+
defaultProps: Partial<RadioProps>;
|
|
9
|
+
generateRadioClass: (props: Partial<RadioProps>) => string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { RatingProps } from '../types/components';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the useRating hook
|
|
4
|
+
*/
|
|
5
|
+
export type UseRatingProps = Pick<RatingProps, 'value' | 'maxValue' | 'allowHalf' | 'readOnly' | 'onChange'>;
|
|
6
|
+
export interface UseRatingReturn {
|
|
7
|
+
/**
|
|
8
|
+
* Current rating value (controlled or uncontrolled)
|
|
9
|
+
*/
|
|
10
|
+
currentValue: number;
|
|
11
|
+
/**
|
|
12
|
+
* Value being hovered over
|
|
13
|
+
*/
|
|
14
|
+
hoverValue: number | null;
|
|
15
|
+
/**
|
|
16
|
+
* Currently focused star index
|
|
17
|
+
*/
|
|
18
|
+
focusedIndex: number | null;
|
|
19
|
+
/**
|
|
20
|
+
* Handle mouse enter on a star
|
|
21
|
+
*/
|
|
22
|
+
handleMouseEnter: (starValue: number) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Handle mouse leave from rating component
|
|
25
|
+
*/
|
|
26
|
+
handleMouseLeave: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* Handle click on a star
|
|
29
|
+
*/
|
|
30
|
+
handleClick: (newValue: number) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Handle keyboard navigation
|
|
33
|
+
*/
|
|
34
|
+
handleKeyDown: (e: React.KeyboardEvent, index: number) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Set focus on a specific star
|
|
37
|
+
*/
|
|
38
|
+
setFocused: (index: number | null) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Set hover value directly
|
|
41
|
+
*/
|
|
42
|
+
setHoverValue: (value: number | null) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the component is in controlled mode
|
|
45
|
+
*/
|
|
46
|
+
isControlled: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Hook for managing rating component state and interactions
|
|
50
|
+
*/
|
|
51
|
+
export declare const useRating: ({ value, maxValue, allowHalf, readOnly, onChange }: UseRatingProps) => UseRatingReturn;
|
|
52
|
+
export default useRating;
|