@instincthub/react-ui 0.1.6 → 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/src/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as ActionDropdown}from"./components/forms/ActionDropdown.js";export{default as AnimatedBox}from"./components/forms/AnimatedBox.js";export{default as PasswordField}from"./components/forms/PasswordField.js";export{default as DateInput}from"./components/forms/DateInput.js";export{default as DateTimeInput}from"./components/forms/DateTimeInput.js";export{default as DropFile}from"./components/forms/DropFile.js";export{default as EmailList}from"./components/forms/EmailList.js";export{default as FilterArray}from"./components/forms/FilterArray.js";export{default as FilterBy}from"./components/forms/FilterBy.js";export{default as FilterObjects}from"./components/forms/FilterObjects.js";export{default as FormError}from"./components/forms/FormError.js";export{default as HandleError}from"./components/forms/HandleError.js";export{default as Logout}from"./components/forms/Logout.js";export{default as MessageDisplay}from"./components/forms/MessageDisplay.js";export{default as MultipleEmail}from"./components/forms/MultipleEmail.js";export{PageLoading}from"./components/forms/PageLoading.js";export{default as IsUsernameEmailTaken}from"./components/auth/IsUsernameEmailTaken.js";export{default as ClientDetector}from"./components/auth/ClientDetector.js";export{default as PasswordsMatch}from"./components/auth/PasswordsMatch.js";export{default as FromInstinctHub}from"./components/auth/FromInstinctHub.js";export{default as LoginForm}from"./components/auth/LoginForm.js";export{default as ReactClientProviders}from"./components/auth/ReactClientProviders.js";export{default as PhoneNumberInput}from"./components/forms/PhoneNumberInput.js";export{default as RadioField}from"./components/forms/RadioField.js";export{default as RadioSimple}from"./components/forms/RadioSimple.js";export{default as ReactTimeAgo}from"./components/forms/ReactTimeAgo.js";export{default as ReadTermsAndCondition}from"./components/forms/ReadTermsAndCondition.js";export{default as SearchField}from"./components/forms/SearchField.js";export{default as SearchFieldDB}from"./components/forms/SearchFieldDB.js";export{default as StepProgressBar}from"./components/forms/StepProgressBar.js";export{default as SubmitButton}from"./components/forms/SubmitButton.js";export{default as Tables}from"./components/forms/Tables.js";export{default as TextArea}from"./components/forms/TextArea.js";export{default as TextField}from"./components/forms/TextField.js";export{default as Tooltip}from"./components/forms/Tooltip.js";export{default as UnsplashRandomImage}from"./components/forms/UnsplashRandomImage.js";export{default as DownloadAsExcel}from"./components/forms/DownloadAsExcel.js";export{default as THeadSortBtn}from"./components/forms/THeadSortBtn.js";export{default as THeadSortList}from"./components/forms/THeadSortList.js";export{default as TBodyNoData}from"./components/forms/TBodyNoData.js";export{default as ActionCallbackDropdown}from"./components/forms/ActionCallbackDropdown.js";export{default as InputNumber}from"./components/forms/InputNumber.js";export{default as InputText}from"./components/forms/InputText.js";export{default as InputTextarea}from"./components/forms/InputTextarea.js";export{default as SearchObjectsFromDB}from"./components/forms/SearchObjectsFromDB.js";export{default as ToggleButton}from"./components/forms/ToggleButton.js";export{default as CheckBoxesField}from"./components/forms/CheckboxesField.js";export{default as CheckBoxes}from"./components/forms/CheckBoxes.js";export{default as DateInputPicker}from"./components/forms/DateInputPicker.js";export{default as DateTimePicker}from"./components/forms/DateTimePicker.js";export{default as TimePicker}from"./components/forms/TimePicker.js";export{default as ChipsInput}from"./components/forms/ChipsInput.js";export{default as RadioButton}from"./components/forms/radio-btn/RadioButton.js";export{default as RadioGroup}from"./components/forms/radio-btn/RadioGroup.js";export{default as InputAmount}from"./components/forms/InputAmount.js";export{default as FileField}from"./components/forms/FileField.js";export{default as CountryInput}from"./components/forms/CountryInput.js";export{default as CountryStateInput}from"./components/forms/CountryStateInput.js";export{default as InputSearchDropdown}from"./components/forms/InputSearchDropdown.js";export{default as RangeRadio}from"./components/forms/RangeRadio.js";export{default as ChannelListAvatar}from"./components/navbar/ChannelListAvatar.js";export{default as MenuDropdown}from"./components/navbar/MenuDropdown.js";export{default as Breadcrumb}from"./components/navbar/Breadcrumb.js";export{default as ResponsiveNavbar}from"./components/navbar/ResponsiveNavbar.js";export{default as SideNavbar}from"./components/navbar/SideNavbar.js";export{default as FileUploader}from"./components/forms/uploads/FileUploader.js";export{default as IhubFileUploader}from"./components/forms/uploads/IhubFileUploader.js";export{default as CustomTextEditor}from"./components/ui/editor/CustomTextEditor.js";export{default as ContentViewer}from"./components/ui/viewer/ContentViewer.js";export{default as ContentViewOrEdit}from"./components/ui/viewer/ContentViewOrEdit.js";export{default as CodeDisplay}from"./components/ui/viewer/CodeDisplay.js";export{IHubTable}from"./components/ui/tables/IHubTable.js";export{IHubTableServer}from"./components/ui/tables/IHubTableServer.js";export{default as OrDivider}from"./components/ui/OrDivider.js";export{default as RandomGradientImage}from"./components/ui/images/RandomGradientImage.js";export{default as ComponentLists}from"./components/ui/ComponentLists.js";export{default as Action}from"./components/ui/Action.js";export{default as Dialog}from"./components/ui/dialogs/Dialog.js";export{default as Badge}from"./components/ui/Badge.js";export{default as Dropdown}from"./components/ui/Dropdown.js";export{default as ColorPicker}from"./components/ui/ColorPicker.js";export{default as Pagination}from"./components/ui/pagination/Pagination.js";export{default as PaginationDemo}from"./components/ui/pagination/PaginationDemo.js";export{default as CreateButton}from"./components/ui/create-button/CreateButton.js";export{default as CreateButtonExample}from"./components/ui/create-button/CreateButtonExample.js";export{default as Card}from"./components/ui/cards/Card.js";export{default as CardList}from"./components/ui/cards/CardList.js";export{default as CardGrid}from"./components/ui/cards/CardGrid.js";export{default as FeatureCard}from"./components/ui/cards/FeatureCard.js";export{default as HorizontalCard}from"./components/ui/cards/HorizontalCard.js";export{default as MediaCard}from"./components/ui/cards/MediaCard.js";export{default as PricingCard}from"./components/ui/cards/PricingCard.js";export{default as ProfileCard}from"./components/ui/cards/ProfileCard.js";export{default as InstinctHubChart}from"./components/ui/charts/InstinctHubChart.js";export{default as InstinctHubChartDashboard}from"./components/ui/charts/InstinctHubChartDashboard.js";export{default as ChartConfigurator}from"./components/ui/charts/ChartConfigurator.js";export{default as ChangeStyleVariable}from"./components/theme/ChangeStyleVariable.js";export{default as DarkModeProvider}from"./components/theme/DarkModeProvider.js";export{default as LoadingAnimate}from"./components/theme/LoadingAnimate.js";export{default as SessionProviders}from"./components/theme/SessionProviders.js";export{default as SessionExpiresLogout}from"./components/theme/signout/SessionExpiresLogout.js";export{default as SignOutSession}from"./components/theme/signout/SignOutSession.js";export{default as ReactTimeTracker,default as TimeTracker}from"./components/status/ReactTimeTracker.js";export{default as SessionHandleProvider}from"./components/status/SessionHandleProvider.js";export{default as Error500}from"./components/status/Error500.js";export{default as ErrorState}from"./components/status/ErrorState.js";export{default as DeleteConfirmationModal}from"./components/status/DeleteConfirmationModal.js";export{default as CopyToClipboard}from"./components/status/CopyToClipBoard.js";export{default as MultiPurposeModal}from"./components/status/MultiPurposeModal.js";export{default as ModalExamples}from"./components/status/ModalExamples.js";export{default as NotFound}from"./components/status/NotFound.js";export{default as Unauthorized}from"./components/status/Unauthorized.js";export{default as Tabs}from"./components/tabs/Tabs.js";export{default as VerticalTabs}from"./components/tabs/VerticalTabs.js";export{default as TabContent}from"./components/tabs/TabContent.js";export{default as Cursor}from"./components/cursors/Cursor.js";export{default as CursorControlDemo}from"./components/cursors/CursorControlDemo.js";export{default as MagneticButton}from"./components/cursors/MagneticButton.js";export{default as useCursorInteraction}from"./components/cursors/useCursorInteraction.js";export{useClientSide}from"./components/auth/useClientSide.js";export{useFormattedDate}from"./components/auth/useFormattedDate.js";export{useStableRandom}from"./components/auth/useStableRandom.js";export{useExternalData}from"./components/auth/useExternalData.js";export{default as ClientOnly}from"./components/auth/ClientOnly.js";export{default as SideNavbarContext}from"./components/navbar/SideNavbarContext.js";export{makeReduxStore,reduxStore,useDispatch,useSelector}from"./components/lib/redux/store.js";export{courseFilterSubject}from"./components/lib/redux/slices/courseSlice/courseFilterSubject.js";export{courseFilterLevel}from"./components/lib/redux/slices/courseSlice/courseFilterLevel.js";export{courseFilterDuration}from"./components/lib/redux/slices/courseSlice/courseFilterDuration.js";export{courseSearch}from"./components/lib/redux/slices/courseSlice/courseSearch.js";export{stepQuestions}from"./components/lib/redux/slices/courseSlice/stepQuestions.js";export{stepContent}from"./components/lib/redux/slices/courseSlice/stepContent.js";export{videoTimestamp}from"./components/lib/redux/slices/courseSlice/videoTimestamp.js";export{videoTimestampObject}from"./components/lib/redux/slices/courseSlice/videoTimestampObject.js";export{courseModules}from"./components/lib/redux/slices/courseSlice/courseModules.js";export{courseOverview}from"./components/lib/redux/slices/courseSlice/courseOverview.js";export{selectedCourses}from"./components/lib/redux/slices/courseSlice/selectedCourses.js";export{selectCourseDetails,selectCourseFilterDuration,selectCourseFilterLevel,selectCourseFilterSubject,selectCourseModules,selectCourseOverview,selectCourseSearch,selectSelectedCourses,selectStepContent,selectStepQuestions,selectVideoTimestamp,selectVideoTimestampObject}from"./components/lib/redux/slices/courseSlice/selectors.js";export{appToggle}from"./components/lib/redux/slices/navigationSlice/appToggle.js";export{toggleCreateCourse}from"./components/lib/redux/slices/navigationSlice/toggleCreateCourse.js";export{toggleCreateCohort}from"./components/lib/redux/slices/navigationSlice/toggleCreateCohort.js";export{confirmDelete}from"./components/lib/redux/slices/navigationSlice/confirmDelete.js";export{selectAppToggle,selectConfirmDelete,selectCourseNextStep,selectCurrentPromo,selectIPAdress,selectSearchValue,selectSettingsToggle,selectToggleCreateCohort,selectToggleCreateCourse,selectToggleCreateTrack,selectUserLocation}from"./components/lib/redux/slices/navigationSlice/selectors.js";export{IPAdress}from"./components/lib/redux/slices/navigationSlice/IPAdress.js";export{settingsToggle}from"./components/lib/redux/slices/navigationSlice/settingsToggle.js";export{userLocation}from"./components/lib/redux/slices/navigationSlice/userLocation.js";export{searchValue}from"./components/lib/redux/slices/navigationSlice/searchValue.js";export{currentPromo}from"./components/lib/redux/slices/navigationSlice/currentPromo.js";export{courseNextStep}from"./components/lib/redux/slices/navigationSlice/courseNextStep.js";export{activeChannel}from"./components/lib/redux/slices/channelSlice/activeChannel.js";export{channelDetails}from"./components/lib/redux/slices/channelSlice/channelDetails.js";export{instructorChannelList}from"./components/lib/redux/slices/channelSlice/instructorChannelList.js";export{channelHandle}from"./components/lib/redux/slices/channelSlice/channelHandle.js";export{selectActiveChannel,selectChannelDetails,selectChannelHandle,selectInstructorChannelList}from"./components/lib/redux/slices/channelSlice/selectors.js";export{clearObject,objectSlice,setObject,updateObject}from"./components/lib/redux/slices/generics/objectSlice.js";export{addToArray,arraySlice,clearArray,removeFromArray,setArray,updateInArray}from"./components/lib/redux/slices/generics/arraySlice.js";export{feedbackToggle}from"./components/lib/redux/slices/messageSlice/feedbackToggle.js";export{statusMessageState}from"./components/lib/redux/slices/messageSlice/statusMessageState.js";export{selectFeedbackToggle,selectStatusMessageState}from"./components/lib/redux/slices/messageSlice/selectors.js";export{screenSize}from"./components/lib/redux/slices/utilsSlice/screenSize.js";export{selectScreenSize}from"./components/lib/redux/slices/utilsSlice/selectors.js";export{channelCallbackUrl}from"./components/lib/redux/slices/authSlice/channelCallbackUrl.js";export{selectCallbackUrl}from"./components/lib/redux/slices/authSlice/selectors.js";export{selectArraySlice,selectObjectSlice}from"./components/lib/redux/slices/generics/selectors.js";
1
+ export{default as ActionDropdown}from"./components/forms/ActionDropdown.js";export{default as AnimatedBox}from"./components/forms/AnimatedBox.js";export{default as PasswordField}from"./components/forms/PasswordField.js";export{default as DateInput}from"./components/forms/DateInput.js";export{default as DateTimeInput}from"./components/forms/DateTimeInput.js";export{default as DropFile}from"./components/forms/DropFile.js";export{default as EmailList}from"./components/forms/EmailList.js";export{default as FilterArray}from"./components/forms/FilterArray.js";export{default as FilterBy}from"./components/forms/FilterBy.js";export{default as FilterObjects}from"./components/forms/FilterObjects.js";export{default as FormError}from"./components/forms/FormError.js";export{default as HandleError}from"./components/forms/HandleError.js";export{default as Logout}from"./components/forms/Logout.js";export{default as MessageDisplay}from"./components/forms/MessageDisplay.js";export{default as MultipleEmail}from"./components/forms/MultipleEmail.js";export{PageLoading}from"./components/forms/PageLoading.js";export{default as IsUsernameEmailTaken}from"./components/auth/IsUsernameEmailTaken.js";export{default as ClientDetector}from"./components/auth/ClientDetector.js";export{default as PasswordsMatch}from"./components/auth/PasswordsMatch.js";export{default as FromInstinctHub}from"./components/auth/FromInstinctHub.js";export{default as LoginForm}from"./components/auth/LoginForm.js";export{default as ReactClientProviders}from"./components/auth/ReactClientProviders.js";export{default as PhoneNumberInput}from"./components/forms/PhoneNumberInput.js";export{default as RadioField}from"./components/forms/RadioField.js";export{default as RadioSimple}from"./components/forms/RadioSimple.js";export{default as ReactTimeAgo}from"./components/forms/ReactTimeAgo.js";export{default as ReadTermsAndCondition}from"./components/forms/ReadTermsAndCondition.js";export{default as SearchField}from"./components/forms/SearchField.js";export{default as SearchFieldDB}from"./components/forms/SearchFieldDB.js";export{default as StepProgressBar}from"./components/forms/StepProgressBar.js";export{default as SubmitButton}from"./components/forms/SubmitButton.js";export{default as Tables}from"./components/forms/Tables.js";export{default as TextArea}from"./components/forms/TextArea.js";export{default as TextField}from"./components/forms/TextField.js";export{default as Tooltip}from"./components/forms/Tooltip.js";export{default as UnsplashRandomImage}from"./components/forms/UnsplashRandomImage.js";export{default as DownloadAsExcel}from"./components/forms/DownloadAsExcel.js";export{default as THeadSortBtn}from"./components/forms/THeadSortBtn.js";export{default as THeadSortList}from"./components/forms/THeadSortList.js";export{default as TBodyNoData}from"./components/forms/TBodyNoData.js";export{default as ActionCallbackDropdown}from"./components/forms/ActionCallbackDropdown.js";export{default as InputNumber}from"./components/forms/InputNumber.js";export{default as InputText}from"./components/forms/InputText.js";export{default as InputTextarea}from"./components/forms/InputTextarea.js";export{default as SearchObjectsFromDB}from"./components/forms/SearchObjectsFromDB.js";export{default as ToggleButton}from"./components/forms/ToggleButton.js";export{default as CheckBoxesField}from"./components/forms/CheckboxesField.js";export{default as CheckBoxes}from"./components/forms/CheckBoxes.js";export{default as DateInputPicker}from"./components/forms/DateInputPicker.js";export{default as DateTimePicker}from"./components/forms/DateTimePicker.js";export{default as TimePicker}from"./components/forms/TimePicker.js";export{default as ChipsInput}from"./components/forms/ChipsInput.js";export{default as RadioButton}from"./components/forms/radio-btn/RadioButton.js";export{default as RadioGroup}from"./components/forms/radio-btn/RadioGroup.js";export{default as InputAmount}from"./components/forms/InputAmount.js";export{default as FileField}from"./components/forms/FileField.js";export{default as CountryInput}from"./components/forms/CountryInput.js";export{default as CountryStateInput}from"./components/forms/CountryStateInput.js";export{default as InputSearchDropdown}from"./components/forms/InputSearchDropdown.js";export{default as RangeRadio}from"./components/forms/RangeRadio.js";export{default as ChannelListAvatar}from"./components/navbar/ChannelListAvatar.js";export{default as MenuDropdown}from"./components/navbar/MenuDropdown.js";export{default as Breadcrumb}from"./components/navbar/Breadcrumb.js";export{default as ResponsiveNavbar}from"./components/navbar/ResponsiveNavbar.js";export{default as SideNavbar}from"./components/navbar/SideNavbar.js";export{default as FileUploader}from"./components/forms/uploads/FileUploader.js";export{default as IhubFileUploader}from"./components/forms/uploads/IhubFileUploader.js";export{default as CustomTextEditor}from"./components/ui/editor/CustomTextEditor.js";export{default as ContentViewer}from"./components/ui/viewer/ContentViewer.js";export{default as ContentViewOrEdit}from"./components/ui/viewer/ContentViewOrEdit.js";export{default as CodeDisplay}from"./components/ui/viewer/CodeDisplay.js";export{IHubTable}from"./components/ui/tables/IHubTable.js";export{IHubTableServer}from"./components/ui/tables/IHubTableServer.js";export{default as OrDivider}from"./components/ui/OrDivider.js";export{default as RandomGradientImage}from"./components/ui/images/RandomGradientImage.js";export{default as ComponentLists}from"./components/ui/ComponentLists.js";export{default as Action}from"./components/ui/Action.js";export{default as Dialog}from"./components/ui/dialogs/Dialog.js";export{default as Badge}from"./components/ui/Badge.js";export{default as Dropdown}from"./components/ui/Dropdown.js";export{default as ColorPicker}from"./components/ui/ColorPicker.js";export{default as Pagination}from"./components/ui/pagination/Pagination.js";export{default as PaginationDemo}from"./components/ui/pagination/PaginationDemo.js";export{default as CreateButton}from"./components/ui/create-button/CreateButton.js";export{default as CreateButtonExample}from"./components/ui/create-button/CreateButtonExample.js";export{default as Card}from"./components/ui/cards/Card.js";export{default as CardList}from"./components/ui/cards/CardList.js";export{default as CardGrid}from"./components/ui/cards/CardGrid.js";export{default as FeatureCard}from"./components/ui/cards/FeatureCard.js";export{default as HorizontalCard}from"./components/ui/cards/HorizontalCard.js";export{default as MediaCard}from"./components/ui/cards/MediaCard.js";export{default as PricingCard}from"./components/ui/cards/PricingCard.js";export{default as ProfileCard}from"./components/ui/cards/ProfileCard.js";export{default as InstinctHubChart}from"./components/ui/charts/InstinctHubChart.js";export{default as InstinctHubChartDashboard}from"./components/ui/charts/InstinctHubChartDashboard.js";export{default as ChartConfigurator}from"./components/ui/charts/ChartConfigurator.js";export{default as ChangeStyleVariable}from"./components/theme/ChangeStyleVariable.js";export{default as DarkModeProvider}from"./components/theme/DarkModeProvider.js";export{default as LoadingAnimate}from"./components/theme/LoadingAnimate.js";export{default as SessionProviders}from"./components/theme/SessionProviders.js";export{default as SessionExpiresLogout}from"./components/theme/signout/SessionExpiresLogout.js";export{default as SignOutSession}from"./components/theme/signout/SignOutSession.js";export{default as ReactTimeTracker,default as TimeTracker}from"./components/status/ReactTimeTracker.js";export{default as SessionHandleProvider}from"./components/status/SessionHandleProvider.js";export{default as Error500}from"./components/status/Error500.js";export{default as ErrorState}from"./components/status/ErrorState.js";export{default as DeleteConfirmationModal}from"./components/status/DeleteConfirmationModal.js";export{default as CopyToClipboard}from"./components/status/CopyToClipBoard.js";export{default as MultiPurposeModal}from"./components/status/MultiPurposeModal.js";export{default as ModalExamples}from"./components/status/ModalExamples.js";export{default as NotFound}from"./components/status/NotFound.js";export{default as Unauthorized}from"./components/status/Unauthorized.js";export{default as Tabs}from"./components/tabs/Tabs.js";export{default as VerticalTabs}from"./components/tabs/VerticalTabs.js";export{default as TabContent}from"./components/tabs/TabContent.js";export{default as Cursor}from"./components/cursors/Cursor.js";export{default as CursorControlDemo}from"./components/cursors/CursorControlDemo.js";export{default as MagneticButton}from"./components/cursors/MagneticButton.js";export{default as useCursorInteraction}from"./components/cursors/useCursorInteraction.js";export{useClientSide}from"./components/auth/useClientSide.js";export{useFormattedDate}from"./components/auth/useFormattedDate.js";export{useStableRandom}from"./components/auth/useStableRandom.js";export{useExternalData}from"./components/auth/useExternalData.js";export{default as ClientOnly}from"./components/auth/ClientOnly.js";export{default as SideNavbarContext}from"./components/navbar/SideNavbarContext.js";export{default as PermissionWrapper}from"./components/auth/PermissionWrapper.js";export{makeReduxStore,reduxStore,useDispatch,useSelector}from"./components/lib/redux/store.js";export{courseFilterSubject}from"./components/lib/redux/slices/courseSlice/courseFilterSubject.js";export{courseFilterLevel}from"./components/lib/redux/slices/courseSlice/courseFilterLevel.js";export{courseFilterDuration}from"./components/lib/redux/slices/courseSlice/courseFilterDuration.js";export{courseSearch}from"./components/lib/redux/slices/courseSlice/courseSearch.js";export{stepQuestions}from"./components/lib/redux/slices/courseSlice/stepQuestions.js";export{stepContent}from"./components/lib/redux/slices/courseSlice/stepContent.js";export{videoTimestamp}from"./components/lib/redux/slices/courseSlice/videoTimestamp.js";export{videoTimestampObject}from"./components/lib/redux/slices/courseSlice/videoTimestampObject.js";export{courseModules}from"./components/lib/redux/slices/courseSlice/courseModules.js";export{courseOverview}from"./components/lib/redux/slices/courseSlice/courseOverview.js";export{selectedCourses}from"./components/lib/redux/slices/courseSlice/selectedCourses.js";export{selectCourseDetails,selectCourseFilterDuration,selectCourseFilterLevel,selectCourseFilterSubject,selectCourseModules,selectCourseOverview,selectCourseSearch,selectSelectedCourses,selectStepContent,selectStepQuestions,selectVideoTimestamp,selectVideoTimestampObject}from"./components/lib/redux/slices/courseSlice/selectors.js";export{appToggle}from"./components/lib/redux/slices/navigationSlice/appToggle.js";export{toggleCreateCourse}from"./components/lib/redux/slices/navigationSlice/toggleCreateCourse.js";export{toggleCreateCohort}from"./components/lib/redux/slices/navigationSlice/toggleCreateCohort.js";export{confirmDelete}from"./components/lib/redux/slices/navigationSlice/confirmDelete.js";export{selectAppToggle,selectConfirmDelete,selectCourseNextStep,selectCurrentPromo,selectIPAdress,selectSearchValue,selectSettingsToggle,selectToggleCreateCohort,selectToggleCreateCourse,selectToggleCreateTrack,selectUserLocation}from"./components/lib/redux/slices/navigationSlice/selectors.js";export{IPAdress}from"./components/lib/redux/slices/navigationSlice/IPAdress.js";export{settingsToggle}from"./components/lib/redux/slices/navigationSlice/settingsToggle.js";export{userLocation}from"./components/lib/redux/slices/navigationSlice/userLocation.js";export{searchValue}from"./components/lib/redux/slices/navigationSlice/searchValue.js";export{currentPromo}from"./components/lib/redux/slices/navigationSlice/currentPromo.js";export{courseNextStep}from"./components/lib/redux/slices/navigationSlice/courseNextStep.js";export{activeChannel}from"./components/lib/redux/slices/channelSlice/activeChannel.js";export{channelDetails}from"./components/lib/redux/slices/channelSlice/channelDetails.js";export{instructorChannelList}from"./components/lib/redux/slices/channelSlice/instructorChannelList.js";export{channelHandle}from"./components/lib/redux/slices/channelSlice/channelHandle.js";export{selectActiveChannel,selectChannelDetails,selectChannelHandle,selectInstructorChannelList}from"./components/lib/redux/slices/channelSlice/selectors.js";export{clearObject,objectSlice,setObject,updateObject}from"./components/lib/redux/slices/generics/objectSlice.js";export{addToArray,arraySlice,clearArray,removeFromArray,setArray,updateInArray}from"./components/lib/redux/slices/generics/arraySlice.js";export{feedbackToggle}from"./components/lib/redux/slices/messageSlice/feedbackToggle.js";export{statusMessageState}from"./components/lib/redux/slices/messageSlice/statusMessageState.js";export{selectFeedbackToggle,selectStatusMessageState}from"./components/lib/redux/slices/messageSlice/selectors.js";export{screenSize}from"./components/lib/redux/slices/utilsSlice/screenSize.js";export{selectScreenSize}from"./components/lib/redux/slices/utilsSlice/selectors.js";export{channelCallbackUrl}from"./components/lib/redux/slices/authSlice/channelCallbackUrl.js";export{selectCallbackUrl}from"./components/lib/redux/slices/authSlice/selectors.js";export{selectArraySlice,selectObjectSlice}from"./components/lib/redux/slices/generics/selectors.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,94 @@
1
+ import React, { ReactNode } from "react";
2
+ import { InstructorType } from "@/types";
3
+ interface PermissionWrapperProps {
4
+ /**
5
+ * The permission type to check for
6
+ */
7
+ accessType: string;
8
+ /**
9
+ * Array of user permissions (overrides roleName if provided)
10
+ */
11
+ permissions?: string[] | InstructorType[];
12
+ /**
13
+ * Role name to select predefined permission set (ignored if permissions provided)
14
+ */
15
+ roleName?: InstructorType;
16
+ /**
17
+ * Content to render when permission is granted
18
+ */
19
+ children: ReactNode;
20
+ /**
21
+ * Content to render when permission is denied
22
+ * @default "Permission denied"
23
+ */
24
+ fallback?: ReactNode | string;
25
+ /**
26
+ * Additional CSS class names for the wrapper
27
+ */
28
+ className?: string;
29
+ /**
30
+ * Whether to render nothing when permission is denied (instead of fallback)
31
+ * @default false
32
+ */
33
+ hideOnDeny?: boolean;
34
+ }
35
+ /**
36
+ * Permission wrapper component that conditionally renders children based on user permissions.
37
+ * Uses the hasUserPermission function to determine access rights.
38
+ *
39
+ * @component
40
+ * @example
41
+ * ```tsx
42
+ * // Basic usage with explicit permissions
43
+ * <PermissionWrapper
44
+ * accessType="ADMIN"
45
+ * permissions={['USER', 'ADMIN', 'MODERATOR']}
46
+ * >
47
+ * <AdminPanel />
48
+ * </PermissionWrapper>
49
+ *
50
+ * // Using role-based permissions
51
+ * <PermissionWrapper
52
+ * accessType="INSTRUCTOR"
53
+ * roleName="INSTRUCTOR"
54
+ * fallback={<div>Access denied - Instructor level required</div>}
55
+ * >
56
+ * <InstructorDashboard />
57
+ * </PermissionWrapper>
58
+ *
59
+ * // Using default permissions (CHANNEL_LEARNER_ROLES)
60
+ * <PermissionWrapper
61
+ * accessType="LEARNER"
62
+ * hideOnDeny={true}
63
+ * >
64
+ * <LearnerContent />
65
+ * </PermissionWrapper>
66
+ *
67
+ * // Custom fallback with styling
68
+ * <PermissionWrapper
69
+ * accessType="FINANCE"
70
+ * roleName="FINANCE"
71
+ * className="permission-wrapper"
72
+ * fallback={
73
+ * <div className="ihub-alert ihub-alert-warning">
74
+ * <h5>Access Restricted</h5>
75
+ * <p>You need finance permissions to view this content.</p>
76
+ * </div>
77
+ * }
78
+ * >
79
+ * <FinancialReports />
80
+ * </PermissionWrapper>
81
+ * ```
82
+ *
83
+ * @param props - The component props
84
+ * @param props.accessType - The permission type to check for
85
+ * @param props.permissions - Array of user permissions (overrides roleName)
86
+ * @param props.roleName - Role name to select predefined permission set
87
+ * @param props.children - Content to render when permission is granted
88
+ * @param props.fallback - Content to render when permission is denied
89
+ * @param props.className - Additional CSS class names
90
+ * @param props.hideOnDeny - Whether to render nothing when permission is denied
91
+ * @returns JSX element or null based on permission check
92
+ */
93
+ declare const PermissionWrapper: React.FC<PermissionWrapperProps>;
94
+ export default PermissionWrapper;
@@ -2,6 +2,7 @@ export { default as ClientDetector } from "./ClientDetector";
2
2
  export { default as ClientOnly } from "./ClientOnly";
3
3
  export { default as IsUsernameEmailTaken } from "./IsUsernameEmailTaken";
4
4
  export { default as PasswordsMatch } from "./PasswordsMatch";
5
+ export { default as PermissionWrapper } from "./PermissionWrapper";
5
6
  export { default as FromInstinctHub } from "./FromInstinctHub";
6
7
  export { default as LoginForm } from "./LoginForm";
7
8
  export { default as ReactClientProviders } from "./ReactClientProviders";
@@ -1,5 +1,6 @@
1
1
  import { NextApiRequest } from "next";
2
2
  import { Session } from "@/types/auth";
3
+ import { InstructorType } from "@/types";
3
4
  /**
4
5
  * Validates if the request has valid username and custom header
5
6
  * @param session - User session from NextAuth
@@ -24,3 +25,115 @@ export declare const headerKeyPermission: (req: NextApiRequest) => Promise<boole
24
25
  * @returns string | undefined - Permission if found, undefined if not found
25
26
  */
26
27
  export declare const findPermissions: (permission: string[], option: string) => string | undefined;
28
+ /**
29
+ * Channel learner roles with full access to all permissions.
30
+ * This is the most permissive role set, including all available roles.
31
+ * Used as the default fallback when no specific role is provided.
32
+ */
33
+ export declare const CHANNEL_LEARNER_ROLES: InstructorType[];
34
+ /**
35
+ * Channel blogger roles with content creation and management permissions.
36
+ * Includes blogger-specific permissions plus administrative roles.
37
+ */
38
+ export declare const CHANNEL_BLOGGER_ROLES: InstructorType[];
39
+ /**
40
+ * Channel event roles with event management and organizational permissions.
41
+ * Includes event-specific permissions plus administrative roles.
42
+ */
43
+ export declare const CHANNEL_EVENT_ROLES: InstructorType[];
44
+ /**
45
+ * Channel moderator roles with content moderation and teaching permissions.
46
+ * Includes moderation and instruction capabilities plus administrative roles.
47
+ */
48
+ export declare const CHANNEL_MODERATOR_ROLES: InstructorType[];
49
+ /**
50
+ * Channel instructor roles with teaching and course management permissions.
51
+ * Includes instruction capabilities plus administrative roles.
52
+ */
53
+ export declare const CHANNEL_INSTRUCTOR_ROLES: InstructorType[];
54
+ /**
55
+ * Channel admin roles with administrative and management permissions.
56
+ * Includes general administration plus higher-level administrative roles.
57
+ */
58
+ export declare const CHANNEL_ADMIN_ROLES: InstructorType[];
59
+ /**
60
+ * Channel registrar roles with user registration and academic record permissions.
61
+ * Includes registrar-specific capabilities plus financial and super_admin roles.
62
+ */
63
+ export declare const CHANNEL_REGISTRAR_ROLES: InstructorType[];
64
+ /**
65
+ * Channel finance roles with financial management and billing permissions.
66
+ * Includes finance-specific capabilities plus super_admin role.
67
+ */
68
+ export declare const CHANNEL_FINANCE_ROLES: InstructorType[];
69
+ /**
70
+ * Channel super_admin roles with complete system access and control.
71
+ * This is the most restrictive role set with only super_admin permissions.
72
+ */
73
+ export declare const CHANNEL_SUPER_ADMIN_ROLES: InstructorType[];
74
+ /**
75
+ * Role mapping object that connects role names to their corresponding permission arrays.
76
+ * Used by hasUserPermission function to dynamically select appropriate permissions
77
+ * based on the provided roleName parameter.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * // Get permissions for instructor role
82
+ * const instructorPermissions = ROLE_MAP['INSTRUCTOR'];
83
+ * // Returns: ["INSTRUCTOR", "ADMIN", "REGISTRAR", "FINANCE", "SUPER_ADMIN"]
84
+ *
85
+ * // Get permissions for finance role
86
+ * const financePermissions = ROLE_MAP['FINANCE'];
87
+ * // Returns: ["FINANCE", "SUPER_ADMIN"]
88
+ * ```
89
+ */
90
+ export declare const ROLE_MAP: Record<string, InstructorType[]>;
91
+ /**
92
+ * Checks if user has required permission
93
+ * @example
94
+ * ```ts
95
+ * // Check if user has admin access with provided permissions
96
+ * const hasAccess = hasUserPermission({
97
+ * accessType: 'ADMIN',
98
+ * permissions: ['USER', 'ADMIN', 'MODERATOR']
99
+ * });
100
+ * // Returns: true
101
+ *
102
+ * // Use specific role-based permissions
103
+ * const hasInstructorAccess = hasUserPermission({
104
+ * accessType: 'INSTRUCTOR',
105
+ * roleName: 'INSTRUCTOR'
106
+ * });
107
+ * // Returns: true (uses CHANNEL_INSTRUCTOR_ROLES)
108
+ *
109
+ * // Use admin role permissions
110
+ * const hasAdminAccess = hasUserPermission({
111
+ * accessType: 'ADMIN',
112
+ * roleName: 'ADMIN'
113
+ * });
114
+ * // Returns: true (uses CHANNEL_ADMIN_ROLES)
115
+ *
116
+ * // Fallback to default when roleName doesn't match
117
+ * const hasDefaultAccess = hasUserPermission({
118
+ * accessType: 'LEARNER',
119
+ * roleName: 'INVALID_ROLE'
120
+ * });
121
+ * // Returns: true (falls back to CHANNEL_LEARNER_ROLES)
122
+ *
123
+ * // Check without any permissions or role (uses default)
124
+ * const hasLearnerAccess = hasUserPermission({
125
+ * accessType: 'LEARNER'
126
+ * });
127
+ * // Returns: true (uses CHANNEL_LEARNER_ROLES as default)
128
+ * ```
129
+ * @param params - Object containing accessType and optional permissions/roleName
130
+ * @param params.accessType - The permission type to check for
131
+ * @param params.permissions - Array of user permissions (overrides roleName if provided)
132
+ * @param params.roleName - Role name to select predefined permission set (ignored if permissions provided)
133
+ * @returns boolean - True if user has the required permission, false otherwise
134
+ */
135
+ export declare const hasUserPermission: ({ accessType, permissions, roleName, }: {
136
+ accessType: string;
137
+ permissions?: string[] | InstructorType[] | undefined;
138
+ roleName?: InstructorType | undefined;
139
+ }) => boolean;
@@ -116,4 +116,5 @@ export { default as useStableRandom } from "./components/auth/useStableRandom";
116
116
  export { default as useExternalData } from "./components/auth/useExternalData";
117
117
  export { default as ClientOnly } from "./components/auth/ClientOnly";
118
118
  export { default as SideNavbarContext } from "./components/navbar/SideNavbarContext";
119
+ export { default as PermissionWrapper } from "./components/auth/PermissionWrapper";
119
120
  export * from "./components/lib/redux";
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  import { Session } from "./auth";
3
3
  export * from "./payments";
4
4
  export * from "./channels";
5
+ export * from "./permissions";
5
6
  declare global {
6
7
  namespace JSX {
7
8
  interface IntrinsicElements {
@@ -0,0 +1 @@
1
+ export type InstructorType = "LEARNER" | "BLOGGER" | "EVENT" | "MODERATOR" | "INSTRUCTOR" | "ADMIN" | "REGISTRAR" | "FINANCE" | "SUPER_ADMIN";