UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

45 lines 2.21 kB
import { jsx as _jsx } from "react/jsx-runtime"; import React from 'react'; import { FunctionalitiesModuleControlled } from './functionalitiesModuleControlled'; import { getDefaultTabSeleted } from './utils/functionalitiesModule.utils'; const FunctionalitiesModuleUnControlledComponent = ({ defaultOpen = false, trigger, actionBottomSheet, onOpenClose, onOptionClick, defaultSelectedValue, tabsConfig, ...props }, ref) => { const [selectedValue, setSelectedValue] = React.useState(defaultSelectedValue); const [open, setOpen] = React.useState(defaultOpen); const handleOptionClick = (value) => { setSelectedValue(value); onOptionClick?.(value); setOpen(false); }; const handleTriggerClick = e => { setOpen(true); trigger?.onClick?.(e); onOpenClose?.(true); }; const handleActionBottomSheetCloseIconClick = e => { setOpen(false); actionBottomSheet?.closeIcon?.onClick?.(e); onOpenClose?.(false); }; const handleActionBottomSheetPopoverCloseInternally = () => { setOpen(false); actionBottomSheet?.popover?.onCloseInternally?.(); onOpenClose?.(false); }; return (_jsx(FunctionalitiesModuleControlled, { ...props, ref: ref, actionBottomSheet: { ...actionBottomSheet, closeIcon: { ...actionBottomSheet?.closeIcon, onClick: handleActionBottomSheetCloseIconClick, }, popover: { ...actionBottomSheet?.popover, onCloseInternally: handleActionBottomSheetPopoverCloseInternally, }, }, open: open, selectedValue: selectedValue, tabsConfig: { ...tabsConfig, defaultSelectedTab: tabsConfig?.defaultSelectedTab ?? getDefaultTabSeleted(selectedValue, props.sections), }, trigger: trigger && { ...trigger, onClick: handleTriggerClick }, onOptionClick: handleOptionClick })); }; export const FunctionalitiesModuleUnControlled = React.forwardRef(FunctionalitiesModuleUnControlledComponent); export { FunctionalitiesModuleUnControlled as FunctionalitiesModule }; //# sourceMappingURL=functionalitiesModuleUnControlled.js.map