pixelize-design-library 2.1.16 → 2.1.17
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/App.d.ts +4 -0
- package/dist/App.js +158 -0
- package/dist/Assets/defaultLogo.d.ts +3 -0
- package/dist/Assets/defaultLogo.js +15 -0
- package/dist/Assets/defaultLogo.tsx +31 -0
- package/dist/Components/Accordion/Accordion.d.ts +4 -0
- package/dist/Components/Accordion/Accordion.js +40 -0
- package/dist/Components/Accordion/AccordionProps.d.ts +17 -0
- package/dist/Components/Accordion/AccordionProps.js +2 -0
- package/dist/Components/AlertDialog/AlertDialog.d.ts +4 -0
- package/dist/Components/AlertDialog/AlertDialog.js +20 -0
- package/dist/Components/AlertDialog/AlertDialogProps.d.ts +20 -0
- package/dist/Components/AlertDialog/AlertDialogProps.js +2 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts +3 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +64 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.stories.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.stories.js +6 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +19 -0
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.js +2 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts +3 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +29 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.stories.d.ts +1 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.stories.js +6 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +41 -0
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.js +2 -0
- package/dist/Components/Breadcrumbs/Breadcrumbs.d.ts +3 -0
- package/dist/Components/Breadcrumbs/Breadcrumbs.js +17 -0
- package/dist/Components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -0
- package/dist/Components/Breadcrumbs/Breadcrumbs.stories.js +6 -0
- package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +11 -0
- package/dist/Components/Breadcrumbs/BreadcrumbsProps.js +2 -0
- package/dist/Components/Button/Button.d.ts +5 -0
- package/dist/Components/Button/Button.js +32 -0
- package/dist/Components/Button/Button.stories.d.ts +1 -0
- package/dist/Components/Button/Button.stories.js +6 -0
- package/dist/Components/Button/Button.styles.d.ts +2 -0
- package/dist/Components/Button/Button.styles.js +112 -0
- package/dist/Components/Button/ButtonProps.d.ts +13 -0
- package/dist/Components/Button/ButtonProps.js +2 -0
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +33 -0
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.js +2 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts +5 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +86 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.stories.d.ts +1 -0
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.stories.js +6 -0
- package/dist/Components/Buttons/Buttons.d.ts +4 -0
- package/dist/Components/Buttons/Buttons.js +11 -0
- package/dist/Components/Buttons/ButtonsProps.d.ts +6 -0
- package/dist/Components/Buttons/ButtonsProps.js +2 -0
- package/dist/Components/Card/Card.d.ts +3 -0
- package/dist/Components/Card/Card.js +12 -0
- package/dist/Components/Card/CardProps.d.ts +14 -0
- package/dist/Components/Card/CardProps.js +2 -0
- package/dist/Components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/Components/Checkbox/Checkbox.js +20 -0
- package/dist/Components/Checkbox/Checkbox.stories.d.ts +1 -0
- package/dist/Components/Checkbox/Checkbox.stories.js +7 -0
- package/dist/Components/Checkbox/Checkbox.styles.d.ts +2 -0
- package/dist/Components/Checkbox/Checkbox.styles.js +54 -0
- package/dist/Components/Checkbox/CheckboxProps.d.ts +15 -0
- package/dist/Components/Checkbox/CheckboxProps.js +2 -0
- package/dist/Components/Common/ErrorComponent.d.ts +6 -0
- package/dist/Components/Common/ErrorComponent.js +16 -0
- package/dist/Components/Common/ErrorMessage.d.ts +5 -0
- package/dist/Components/Common/ErrorMessage.js +17 -0
- package/dist/Components/Common/FormLabel.d.ts +8 -0
- package/dist/Components/Common/FormLabel.js +22 -0
- package/dist/Components/Common/HelperText.d.ts +5 -0
- package/dist/Components/Common/HelperText.js +14 -0
- package/dist/Components/Common/Label.d.ts +7 -0
- package/dist/Components/Common/Label.js +13 -0
- package/dist/Components/ContactForm/ContactForm.d.ts +4 -0
- package/dist/Components/ContactForm/ContactForm.js +215 -0
- package/dist/Components/ContactForm/ContactFormProps.d.ts +9 -0
- package/dist/Components/ContactForm/ContactFormProps.js +2 -0
- package/dist/Components/DatePicker/DatePicker.d.ts +3 -0
- package/dist/Components/DatePicker/DatePicker.js +235 -0
- package/dist/Components/DatePicker/DatePickerProps.d.ts +42 -0
- package/dist/Components/DatePicker/DatePickerProps.js +2 -0
- package/dist/Components/DatePicker/TimePicker.d.ts +4 -0
- package/dist/Components/DatePicker/TimePicker.js +101 -0
- package/dist/Components/Divider/Divider.d.ts +3 -0
- package/dist/Components/Divider/Divider.js +14 -0
- package/dist/Components/Drawer/Drawer.d.ts +12 -0
- package/dist/Components/Drawer/Drawer.js +40 -0
- package/dist/Components/Drawer/DrawerProps.d.ts +8 -0
- package/dist/Components/Drawer/DrawerProps.js +2 -0
- package/dist/Components/Dropdown/DropDown.d.ts +4 -0
- package/dist/Components/Dropdown/DropDown.js +97 -0
- package/dist/Components/Dropdown/DropdownProps.d.ts +26 -0
- package/dist/Components/Dropdown/DropdownProps.js +2 -0
- package/dist/Components/Editor/Editor.d.ts +3 -0
- package/dist/Components/Editor/Editor.js +12 -0
- package/dist/Components/Editor/EditorProps.d.ts +5 -0
- package/dist/Components/Editor/EditorProps.js +2 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts +3 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +44 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +13 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.js +2 -0
- package/dist/Components/FileUpload/FileUpload.d.ts +4 -0
- package/dist/Components/FileUpload/FileUpload.js +156 -0
- package/dist/Components/FileUpload/FileUploadProps.d.ts +11 -0
- package/dist/Components/FileUpload/FileUploadProps.js +2 -0
- package/dist/Components/FileUpload/constants.d.ts +3 -0
- package/dist/Components/FileUpload/constants.js +28 -0
- package/dist/Components/Form/FormWrapper.d.ts +7 -0
- package/dist/Components/Form/FormWrapper.js +19 -0
- package/dist/Components/Header/Header.d.ts +4 -0
- package/dist/Components/Header/Header.js +57 -0
- package/dist/Components/Header/HeaderActions.d.ts +23 -0
- package/dist/Components/Header/HeaderActions.js +37 -0
- package/dist/Components/Header/HeaderProps.d.ts +44 -0
- package/dist/Components/Header/HeaderProps.js +2 -0
- package/dist/Components/Header/components/desktopMenu.d.ts +4 -0
- package/dist/Components/Header/components/desktopMenu.js +33 -0
- package/dist/Components/Header/components/mobileMenu.d.ts +4 -0
- package/dist/Components/Header/components/mobileMenu.js +32 -0
- package/dist/Components/Input/Input/Input.d.ts +4 -0
- package/dist/Components/Input/Input/Input.js +45 -0
- package/dist/Components/Input/Input/InputProps.d.ts +17 -0
- package/dist/Components/Input/Input/InputProps.js +2 -0
- package/dist/Components/Input/TextInput.d.ts +4 -0
- package/dist/Components/Input/TextInput.js +68 -0
- package/dist/Components/Input/TextInput.stories.d.ts +1 -0
- package/dist/Components/Input/TextInput.stories.js +8 -0
- package/dist/Components/Input/TextInput.styles.d.ts +2 -0
- package/dist/Components/Input/TextInput.styles.js +84 -0
- package/dist/Components/Input/TextInputProps.d.ts +24 -0
- package/dist/Components/Input/TextInputProps.js +2 -0
- package/dist/Components/InputTextArea/InputTextArea.d.ts +3 -0
- package/dist/Components/InputTextArea/InputTextArea.js +16 -0
- package/dist/Components/InputTextArea/InputTextArea.stories.d.ts +1 -0
- package/dist/Components/InputTextArea/InputTextArea.stories.js +7 -0
- package/dist/Components/InputTextArea/InputTextAreaProps.d.ts +10 -0
- package/dist/Components/InputTextArea/InputTextAreaProps.js +2 -0
- package/dist/Components/KanbanBoard/AccountCard.d.ts +9 -0
- package/dist/Components/KanbanBoard/AccountCard.js +74 -0
- package/dist/Components/KanbanBoard/AccountRow.d.ts +6 -0
- package/dist/Components/KanbanBoard/AccountRow.js +20 -0
- package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.d.ts +9 -0
- package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +26 -0
- package/dist/Components/KanbanBoard/KanbanBoard.d.ts +4 -0
- package/dist/Components/KanbanBoard/KanbanBoard.js +120 -0
- package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +27 -0
- package/dist/Components/KanbanBoard/KanbanBoardProps.js +2 -0
- package/dist/Components/Loading/Loading.d.ts +3 -0
- package/dist/Components/Loading/Loading.js +36 -0
- package/dist/Components/Loading/Loading.stories.d.ts +1 -0
- package/dist/Components/Loading/Loading.stories.js +7 -0
- package/dist/Components/Loading/LoadingProps.d.ts +5 -0
- package/dist/Components/Loading/LoadingProps.js +2 -0
- package/dist/Components/Modal/Modal.d.ts +12 -0
- package/dist/Components/Modal/Modal.js +50 -0
- package/dist/Components/Modal/Modal.stories.d.ts +1 -0
- package/dist/Components/Modal/Modal.stories.js +7 -0
- package/dist/Components/Modal/ModalProps.d.ts +11 -0
- package/dist/Components/Modal/ModalProps.js +2 -0
- package/dist/Components/MultiSelect/MultiSelect.d.ts +3 -0
- package/dist/Components/MultiSelect/MultiSelect.js +115 -0
- package/dist/Components/MultiSelect/MultiSelectProps.d.ts +20 -0
- package/dist/Components/MultiSelect/MultiSelectProps.js +2 -0
- package/dist/Components/NavigationBar/NavBar.stories.d.ts +1 -0
- package/dist/Components/NavigationBar/NavBar.stories.js +3 -0
- package/dist/Components/NavigationBar/NavigationBar.d.ts +3 -0
- package/dist/Components/NavigationBar/NavigationBar.js +50 -0
- package/dist/Components/NavigationBar/NavigationBarProps.d.ts +19 -0
- package/dist/Components/NavigationBar/NavigationBarProps.js +2 -0
- package/dist/Components/NoteTextArea/NoteTextArea.d.ts +3 -0
- package/dist/Components/NoteTextArea/NoteTextArea.js +274 -0
- package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +16 -0
- package/dist/Components/NoteTextArea/NoteTextAreaProps.js +2 -0
- package/dist/Components/NumberInput/NumberInput.d.ts +3 -0
- package/dist/Components/NumberInput/NumberInput.js +16 -0
- package/dist/Components/NumberInput/NumberInput.stories.d.ts +1 -0
- package/dist/Components/NumberInput/NumberInput.stories.js +5 -0
- package/dist/Components/NumberInput/NumberInputProps.d.ts +12 -0
- package/dist/Components/NumberInput/NumberInputProps.js +2 -0
- package/dist/Components/PinInput/PinInput.d.ts +3 -0
- package/dist/Components/PinInput/PinInput.js +15 -0
- package/dist/Components/PinInput/PinInput.stories.d.ts +1 -0
- package/dist/Components/PinInput/PinInput.stories.js +6 -0
- package/dist/Components/PinInput/PinInputProps.d.ts +9 -0
- package/dist/Components/PinInput/PinInputProps.js +2 -0
- package/dist/Components/PinInputs/PinInputs.d.ts +4 -0
- package/dist/Components/PinInputs/PinInputs.js +71 -0
- package/dist/Components/PinInputs/PinInputsProps.d.ts +9 -0
- package/dist/Components/PinInputs/PinInputsProps.js +2 -0
- package/dist/Components/ProductCard/ProductCard.d.ts +4 -0
- package/dist/Components/ProductCard/ProductCard.js +51 -0
- package/dist/Components/ProductCard/ProductCardProps.d.ts +26 -0
- package/dist/Components/ProductCard/ProductCardProps.js +2 -0
- package/dist/Components/ProductCard/ProductLabel.d.ts +6 -0
- package/dist/Components/ProductCard/ProductLabel.js +14 -0
- package/dist/Components/ProductCard/ProductPrice.d.ts +7 -0
- package/dist/Components/ProductCard/ProductPrice.js +88 -0
- package/dist/Components/ProductCard/ProductReview.d.ts +7 -0
- package/dist/Components/ProductCard/ProductReview.js +23 -0
- package/dist/Components/ProductCard/ProductTags.d.ts +7 -0
- package/dist/Components/ProductCard/ProductTags.js +30 -0
- package/dist/Components/ProfileCard/ProfileCard.d.ts +12 -0
- package/dist/Components/ProfileCard/ProfileCard.js +57 -0
- package/dist/Components/ProfileCard/ProfileCard.stories.d.ts +1 -0
- package/dist/Components/ProfileCard/ProfileCard.stories.js +6 -0
- package/dist/Components/ProfileCard/ProfileCardProps.d.ts +16 -0
- package/dist/Components/ProfileCard/ProfileCardProps.js +2 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +3 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +94 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.stories.d.ts +1 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.stories.js +6 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +19 -0
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.js +2 -0
- package/dist/Components/ProgressBar/ProgressBar.d.ts +3 -0
- package/dist/Components/ProgressBar/ProgressBar.js +12 -0
- package/dist/Components/ProgressBar/ProgressBar.stories.d.ts +1 -0
- package/dist/Components/ProgressBar/ProgressBar.stories.js +7 -0
- package/dist/Components/ProgressBar/ProgressBarProps.d.ts +6 -0
- package/dist/Components/ProgressBar/ProgressBarProps.js +2 -0
- package/dist/Components/RadioButton/RadioButton.d.ts +5 -0
- package/dist/Components/RadioButton/RadioButton.js +31 -0
- package/dist/Components/RadioButton/RadioButton.stories.d.ts +1 -0
- package/dist/Components/RadioButton/RadioButton.stories.js +7 -0
- package/dist/Components/RadioButton/RadioButtonProps.d.ts +11 -0
- package/dist/Components/RadioButton/RadioButtonProps.js +2 -0
- package/dist/Components/Reorder/Reorder.d.ts +4 -0
- package/dist/Components/Reorder/Reorder.js +50 -0
- package/dist/Components/Reorder/ReorderProps.d.ts +10 -0
- package/dist/Components/Reorder/ReorderProps.js +2 -0
- package/dist/Components/Search/Search.d.ts +3 -0
- package/dist/Components/Search/Search.js +66 -0
- package/dist/Components/Search/SearchProps.d.ts +8 -0
- package/dist/Components/Search/SearchProps.js +2 -0
- package/dist/Components/SearchSelect/SearchSelect.d.ts +4 -0
- package/dist/Components/SearchSelect/SearchSelect.js +237 -0
- package/dist/Components/SearchSelect/SearchSelectProps.d.ts +60 -0
- package/dist/Components/SearchSelect/SearchSelectProps.js +2 -0
- package/dist/Components/SearchSelect/SelectTruncatedLabel.d.ts +6 -0
- package/dist/Components/SearchSelect/SelectTruncatedLabel.js +45 -0
- package/dist/Components/Select/Select.d.ts +3 -0
- package/dist/Components/Select/Select.js +54 -0
- package/dist/Components/Select/Select.stories.d.ts +1 -0
- package/dist/Components/Select/Select.stories.js +8 -0
- package/dist/Components/Select/Select.styles.d.ts +2 -0
- package/dist/Components/Select/Select.styles.js +98 -0
- package/dist/Components/Select/SelectProps.d.ts +20 -0
- package/dist/Components/Select/SelectProps.js +2 -0
- package/dist/Components/SelectSearch/SelectSearch.d.ts +3 -0
- package/dist/Components/SelectSearch/SelectSearch.js +239 -0
- package/dist/Components/SelectSearch/SelectSearchProps.d.ts +42 -0
- package/dist/Components/SelectSearch/SelectSearchProps.js +2 -0
- package/dist/Components/SideBar/SideBar.d.ts +3 -0
- package/dist/Components/SideBar/SideBar.js +55 -0
- package/dist/Components/SideBar/SideBarProps.d.ts +29 -0
- package/dist/Components/SideBar/SideBarProps.js +2 -0
- package/dist/Components/SideBar/Sidebar.stories.d.ts +1 -0
- package/dist/Components/SideBar/Sidebar.stories.js +7 -0
- package/dist/Components/SideBar/components/MenuItemBox.d.ts +11 -0
- package/dist/Components/SideBar/components/MenuItemBox.js +116 -0
- package/dist/Components/SideBar/components/MenuItems.d.ts +4 -0
- package/dist/Components/SideBar/components/MenuItems.js +13 -0
- package/dist/Components/SideBar/components/MenuPopoverContent.d.ts +9 -0
- package/dist/Components/SideBar/components/MenuPopoverContent.js +37 -0
- package/dist/Components/SideBar/components/TextTruncation.d.ts +8 -0
- package/dist/Components/SideBar/components/TextTruncation.js +77 -0
- package/dist/Components/Skeletons/Skeleton.stories.d.ts +1 -0
- package/dist/Components/Skeletons/Skeleton.stories.js +7 -0
- package/dist/Components/Skeletons/SkeletonProps.d.ts +4 -0
- package/dist/Components/Skeletons/SkeletonProps.js +2 -0
- package/dist/Components/Skeletons/Skeletons.d.ts +3 -0
- package/dist/Components/Skeletons/Skeletons.js +15 -0
- package/dist/Components/Slider/Slider.d.ts +8 -0
- package/dist/Components/Slider/Slider.js +57 -0
- package/dist/Components/Switch/Switch.d.ts +3 -0
- package/dist/Components/Switch/Switch.js +39 -0
- package/dist/Components/Switch/SwitchProps.d.ts +9 -0
- package/dist/Components/Switch/SwitchProps.js +2 -0
- package/dist/Components/Table/Components/HeaderActions.d.ts +7 -0
- package/dist/Components/Table/Components/HeaderActions.js +45 -0
- package/dist/Components/Table/Components/Pagination.d.ts +14 -0
- package/dist/Components/Table/Components/Pagination.js +32 -0
- package/dist/Components/Table/Components/TableActions.d.ts +3 -0
- package/dist/Components/Table/Components/TableActions.js +28 -0
- package/dist/Components/Table/Components/TableBody.d.ts +4 -0
- package/dist/Components/Table/Components/TableBody.js +140 -0
- package/dist/Components/Table/Components/TableFilters.d.ts +4 -0
- package/dist/Components/Table/Components/TableFilters.js +59 -0
- package/dist/Components/Table/Components/TableHeader.d.ts +4 -0
- package/dist/Components/Table/Components/TableHeader.js +147 -0
- package/dist/Components/Table/Components/TableLoading.d.ts +7 -0
- package/dist/Components/Table/Components/TableLoading.js +41 -0
- package/dist/Components/Table/Components/TableSearch.d.ts +6 -0
- package/dist/Components/Table/Components/TableSearch.js +60 -0
- package/dist/Components/Table/Components/useDebounce.d.ts +2 -0
- package/dist/Components/Table/Components/useDebounce.js +28 -0
- package/dist/Components/Table/Components/useTable.d.ts +46 -0
- package/dist/Components/Table/Components/useTable.js +168 -0
- package/dist/Components/Table/Table.d.ts +3 -0
- package/dist/Components/Table/Table.js +129 -0
- package/dist/Components/Table/Table.stories.d.ts +1 -0
- package/dist/Components/Table/Table.stories.js +9 -0
- package/dist/Components/Table/TableProps.d.ts +112 -0
- package/dist/Components/Table/TableProps.js +2 -0
- package/dist/Components/Table/TableSettings/ManageColumns.d.ts +10 -0
- package/dist/Components/Table/TableSettings/ManageColumns.js +107 -0
- package/dist/Components/Table/TableSettings/TableSettings.d.ts +7 -0
- package/dist/Components/Table/TableSettings/TableSettings.js +73 -0
- package/dist/Components/Table/TableToDo.d.ts +2 -0
- package/dist/Components/Table/TableToDo.js +291 -0
- package/dist/Components/Tag/Tag.d.ts +12 -0
- package/dist/Components/Tag/Tag.js +21 -0
- package/dist/Components/Tag/Tag.styles.d.ts +2 -0
- package/dist/Components/Tag/Tag.styles.js +63 -0
- package/dist/Components/Timeline/Timeline.d.ts +4 -0
- package/dist/Components/Timeline/Timeline.js +166 -0
- package/dist/Components/Timeline/TimelineProps.d.ts +20 -0
- package/dist/Components/Timeline/TimelineProps.js +2 -0
- package/dist/Components/Toaster/Toaster.d.ts +4 -0
- package/dist/Components/Toaster/Toaster.js +86 -0
- package/dist/Components/Toaster/Toaster.stories.d.ts +1 -0
- package/dist/Components/Toaster/Toaster.stories.js +8 -0
- package/dist/Components/Toaster/ToasterProps.d.ts +12 -0
- package/dist/Components/Toaster/ToasterProps.js +2 -0
- package/dist/Components/Toggle/TableToggle.d.ts +4 -0
- package/dist/Components/Toggle/TableToggle.js +60 -0
- package/dist/Components/Toggle/TableToggleProps.d.ts +5 -0
- package/dist/Components/Toggle/TableToggleProps.js +2 -0
- package/dist/Components/ToolTip/ToolTip.d.ts +3 -0
- package/dist/Components/ToolTip/ToolTip.js +12 -0
- package/dist/Components/ToolTip/ToolTip.stories.d.ts +1 -0
- package/dist/Components/ToolTip/ToolTip.stories.js +7 -0
- package/dist/Components/ToolTip/ToolTipProps.d.ts +7 -0
- package/dist/Components/ToolTip/ToolTipProps.js +2 -0
- package/dist/Components/Trail/EditableCell.d.ts +11 -0
- package/dist/Components/Trail/EditableCell.js +71 -0
- package/dist/Components/Trail/SelectAllCheckbox.d.ts +8 -0
- package/dist/Components/Trail/SelectAllCheckbox.js +13 -0
- package/dist/Components/Trail/TrailWorks.d.ts +3 -0
- package/dist/Components/Trail/TrailWorks.js +262 -0
- package/dist/Components/Trail/data.d.ts +15 -0
- package/dist/Components/Trail/data.js +29 -0
- package/dist/Constants/Sidebar.d.ts +38 -0
- package/dist/Constants/Sidebar.js +42 -0
- package/dist/Hooks/usePreferences.d.ts +24 -0
- package/dist/Hooks/usePreferences.js +73 -0
- package/dist/Layout.d.ts +3 -0
- package/dist/Layout.js +269 -0
- package/dist/Pages/TInput.d.ts +3 -0
- package/dist/Pages/TInput.js +46 -0
- package/dist/Pages/accordion.d.ts +3 -0
- package/dist/Pages/accordion.js +42 -0
- package/dist/Pages/alertdialog.d.ts +3 -0
- package/dist/Pages/alertdialog.js +44 -0
- package/dist/Pages/button.d.ts +3 -0
- package/dist/Pages/button.js +29 -0
- package/dist/Pages/card.d.ts +3 -0
- package/dist/Pages/card.js +48 -0
- package/dist/Pages/chart.d.ts +3 -0
- package/dist/Pages/chart.js +28 -0
- package/dist/Pages/checkbox.d.ts +3 -0
- package/dist/Pages/checkbox.js +12 -0
- package/dist/Pages/contactForm.d.ts +3 -0
- package/dist/Pages/contactForm.js +16 -0
- package/dist/Pages/datePick.d.ts +3 -0
- package/dist/Pages/datePick.js +70 -0
- package/dist/Pages/drawer.d.ts +3 -0
- package/dist/Pages/drawer.js +48 -0
- package/dist/Pages/dropdown.d.ts +3 -0
- package/dist/Pages/dropdown.js +24 -0
- package/dist/Pages/editor.d.ts +3 -0
- package/dist/Pages/editor.js +14 -0
- package/dist/Pages/fileUpload.d.ts +2 -0
- package/dist/Pages/fileUpload.js +65 -0
- package/dist/Pages/input.d.ts +3 -0
- package/dist/Pages/input.js +42 -0
- package/dist/Pages/kanbanboard.d.ts +3 -0
- package/dist/Pages/kanbanboard.js +115 -0
- package/dist/Pages/modal.d.ts +3 -0
- package/dist/Pages/modal.js +55 -0
- package/dist/Pages/multiSelect.d.ts +3 -0
- package/dist/Pages/multiSelect.js +45 -0
- package/dist/Pages/noteArea.d.ts +3 -0
- package/dist/Pages/noteArea.js +49 -0
- package/dist/Pages/numberInput.d.ts +3 -0
- package/dist/Pages/numberInput.js +39 -0
- package/dist/Pages/photoViewer.d.ts +3 -0
- package/dist/Pages/photoViewer.js +12 -0
- package/dist/Pages/pinInputs.d.ts +3 -0
- package/dist/Pages/pinInputs.js +12 -0
- package/dist/Pages/productCaard.d.ts +3 -0
- package/dist/Pages/productCaard.js +32 -0
- package/dist/Pages/progressbar.d.ts +3 -0
- package/dist/Pages/progressbar.js +12 -0
- package/dist/Pages/radioButton.d.ts +3 -0
- package/dist/Pages/radioButton.js +44 -0
- package/dist/Pages/search.d.ts +3 -0
- package/dist/Pages/search.js +44 -0
- package/dist/Pages/searchSelect.d.ts +3 -0
- package/dist/Pages/searchSelect.js +151 -0
- package/dist/Pages/select.d.ts +3 -0
- package/dist/Pages/select.js +43 -0
- package/dist/Pages/selectSearch.d.ts +3 -0
- package/dist/Pages/selectSearch.js +93 -0
- package/dist/Pages/skeleton.d.ts +3 -0
- package/dist/Pages/skeleton.js +22 -0
- package/dist/Pages/switch.d.ts +3 -0
- package/dist/Pages/switch.js +40 -0
- package/dist/Pages/table.d.ts +2 -0
- package/dist/Pages/table.js +144 -0
- package/dist/Pages/textArea.d.ts +3 -0
- package/dist/Pages/textArea.js +12 -0
- package/dist/Pages/timeline.d.ts +3 -0
- package/dist/Pages/timeline.js +74 -0
- package/dist/Pages/tooltip.d.ts +3 -0
- package/dist/Pages/tooltip.js +12 -0
- package/dist/Pages/toster.d.ts +3 -0
- package/dist/Pages/toster.js +63 -0
- package/dist/Pages/verifyEmail.d.ts +3 -0
- package/dist/Pages/verifyEmail.js +18 -0
- package/dist/Theme/Dark/theme.d.ts +2 -0
- package/dist/Theme/Dark/theme.js +283 -0
- package/dist/Theme/Default/palette.d.ts +370 -0
- package/dist/Theme/Default/palette.js +372 -0
- package/dist/Theme/Default/theme.d.ts +2 -0
- package/dist/Theme/Default/theme.js +23 -0
- package/dist/Theme/Meadow/palette.d.ts +368 -0
- package/dist/Theme/Meadow/palette.js +356 -0
- package/dist/Theme/Meadow/theme.d.ts +2 -0
- package/dist/Theme/Meadow/theme.js +23 -0
- package/dist/Theme/Radiant/palette.d.ts +368 -0
- package/dist/Theme/Radiant/palette.js +356 -0
- package/dist/Theme/Radiant/theme.d.ts +2 -0
- package/dist/Theme/Radiant/theme.js +23 -0
- package/dist/Theme/Skyline/palette.d.ts +368 -0
- package/dist/Theme/Skyline/palette.js +356 -0
- package/dist/Theme/Skyline/theme.d.ts +2 -0
- package/dist/Theme/Skyline/theme.js +23 -0
- package/dist/Theme/common.d.ts +166 -0
- package/dist/Theme/common.js +101 -0
- package/dist/Theme/componentStyles.d.ts +7 -0
- package/dist/Theme/componentStyles.js +15 -0
- package/dist/Theme/fonts.d.ts +34 -0
- package/dist/Theme/fonts.js +41 -0
- package/dist/Theme/index.d.ts +11 -0
- package/dist/Theme/index.js +20 -0
- package/dist/Theme/space.d.ts +33 -0
- package/dist/Theme/space.js +35 -0
- package/dist/Theme/theme.d.ts +2 -0
- package/dist/Theme/theme.js +9 -0
- package/dist/Theme/themeProps.d.ts +475 -0
- package/dist/Theme/themeProps.js +3 -0
- package/dist/Theme/useCustomTheme.d.ts +2 -0
- package/dist/Theme/useCustomTheme.js +8 -0
- package/dist/Utils/table.d.ts +36 -0
- package/dist/Utils/table.js +168 -0
- package/dist/bootstrap.d.ts +1 -0
- package/dist/bootstrap.js +14 -0
- package/dist/global.css +225 -0
- package/dist/index.css +3 -0
- package/dist/index.d.ts +55 -1468
- package/dist/index.js +148 -263
- package/dist/withTheme.d.ts +3 -0
- package/dist/withTheme.js +28 -0
- package/package.json +10 -24
- package/.github/workflows/build.yml +0 -31
- package/tsconfig.json +0 -23
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SelectProps } from "@chakra-ui/react";
|
|
3
|
+
export type chakraSelectProps = Pick<SelectProps, "placeholder" | "size" | "variant" | "icon" | "bg" | "borderColor" | "color" | "onBlur" | "onFocus" | "errorBorderColor" | "isDisabled" | "isReadOnly" | "isRequired" | "value" | "colorScheme"> & {
|
|
4
|
+
label?: string;
|
|
5
|
+
error?: boolean;
|
|
6
|
+
errorMessage?: string;
|
|
7
|
+
helperText?: string;
|
|
8
|
+
options: OptionProp[];
|
|
9
|
+
width?: string | number;
|
|
10
|
+
height?: string | number;
|
|
11
|
+
onChange: (selectedOption: OptionProp | undefined) => void;
|
|
12
|
+
formControlStyle?: React.CSSProperties;
|
|
13
|
+
isInformation?: boolean;
|
|
14
|
+
informationMessage?: string;
|
|
15
|
+
selectStyle?: React.CSSProperties;
|
|
16
|
+
};
|
|
17
|
+
export type OptionProp = {
|
|
18
|
+
id: string | number;
|
|
19
|
+
label: string | number;
|
|
20
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { SelectSearchProps } from "./SelectSearchProps";
|
|
3
|
+
export default function SelectSearch({ options, initialSelectedOption, onOptionSelect, inputOnchange, id, name, label, dropdownStyle, inputStyle, isOptionLoading, loadingText, boxStyle, placeholder, searchQuery, isInformation, informationMessage, rightIcon, rightElementStyle, isMultipleSelect, isRequired, onOptionMultiSelect, error, isProfile, isBottomIcon, errorMessage, BottomIcon, BottomText, handleBottomClick, BottomTextColor, isColorOptions, }: Readonly<SelectSearchProps>): React.JSX.Element;
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
37
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
+
if (ar || !(i in from)) {
|
|
39
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
+
ar[i] = from[i];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
|
+
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
var react_1 = __importStar(require("react"));
|
|
50
|
+
var react_2 = require("@chakra-ui/react");
|
|
51
|
+
var FormLabel_1 = require("../Common/FormLabel");
|
|
52
|
+
var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
53
|
+
var lucide_react_1 = require("lucide-react");
|
|
54
|
+
var ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
|
|
55
|
+
var RenderOptions = function (_a) {
|
|
56
|
+
var isOptionLoading = _a.isOptionLoading, filteredOptions = _a.filteredOptions, loadingText = _a.loadingText, handleOptionClick = _a.handleOptionClick, isProfile = _a.isProfile, isColorOptions = _a.isColorOptions;
|
|
57
|
+
if (isOptionLoading) {
|
|
58
|
+
return (react_1.default.createElement(react_2.VStack, { py: 2 },
|
|
59
|
+
react_1.default.createElement(react_2.Spinner, { size: "sm", color: "blue.500" }),
|
|
60
|
+
react_1.default.createElement(react_2.Text, { color: "blue.500" }, loadingText)));
|
|
61
|
+
}
|
|
62
|
+
if (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) {
|
|
63
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, filteredOptions.map(function (option) { return (react_1.default.createElement(react_2.Box, { key: option.id, px: 4, py: 2, cursor: "pointer", _hover: { backgroundColor: "blue.50" }, onClick: function () { return handleOptionClick(option); }, display: "flex", alignItems: "center", gap: "0.5rem" },
|
|
64
|
+
isProfile && (react_1.default.createElement(react_2.Box, null,
|
|
65
|
+
react_1.default.createElement(react_2.Avatar, { size: "sm", name: option.label.toLocaleUpperCase(), src: option.profileUrl ? option.profileUrl : undefined }))),
|
|
66
|
+
isColorOptions && (react_1.default.createElement(react_2.Box, { width: "0.8rem", height: "0.8rem", content: "", backgroundColor: option === null || option === void 0 ? void 0 : option.color, borderRadius: "50%" })),
|
|
67
|
+
react_1.default.createElement(react_2.Box, null,
|
|
68
|
+
react_1.default.createElement(react_2.Box, null, option.label),
|
|
69
|
+
option.email && (react_1.default.createElement(react_2.Box, { fontSize: 12, color: "gray.400" }, option.email))))); })));
|
|
70
|
+
}
|
|
71
|
+
return (react_1.default.createElement(react_2.Text, { px: 4, py: 2, color: "gray.500" }, "No options found"));
|
|
72
|
+
};
|
|
73
|
+
function SelectSearch(_a) {
|
|
74
|
+
var options = _a.options, initialSelectedOption = _a.initialSelectedOption, onOptionSelect = _a.onOptionSelect, inputOnchange = _a.inputOnchange, id = _a.id, name = _a.name, label = _a.label, dropdownStyle = _a.dropdownStyle, inputStyle = _a.inputStyle, isOptionLoading = _a.isOptionLoading, _b = _a.loadingText, loadingText = _b === void 0 ? "loading" : _b, boxStyle = _a.boxStyle, _c = _a.placeholder, placeholder = _c === void 0 ? "Select Option" : _c, _d = _a.searchQuery, searchQuery = _d === void 0 ? null : _d, _e = _a.isInformation, isInformation = _e === void 0 ? false : _e, informationMessage = _a.informationMessage, rightIcon = _a.rightIcon, rightElementStyle = _a.rightElementStyle, _f = _a.isMultipleSelect, isMultipleSelect = _f === void 0 ? false : _f, _g = _a.isRequired, isRequired = _g === void 0 ? false : _g, onOptionMultiSelect = _a.onOptionMultiSelect, _h = _a.error, error = _h === void 0 ? false : _h, _j = _a.isProfile, isProfile = _j === void 0 ? false : _j, _k = _a.isBottomIcon, isBottomIcon = _k === void 0 ? false : _k, errorMessage = _a.errorMessage,
|
|
75
|
+
// BottomIconStyle,
|
|
76
|
+
_l = _a.BottomIcon,
|
|
77
|
+
// BottomIconStyle,
|
|
78
|
+
BottomIcon = _l === void 0 ? false : _l, BottomText = _a.BottomText, handleBottomClick = _a.handleBottomClick, BottomTextColor = _a.BottomTextColor, isColorOptions = _a.isColorOptions;
|
|
79
|
+
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
80
|
+
var _m = (0, react_1.useState)(initialSelectedOption ? [initialSelectedOption] : []), selectedOptions = _m[0], setSelectedOptions = _m[1];
|
|
81
|
+
var _o = (0, react_1.useState)(searchQuery), inputValue = _o[0], setInputValue = _o[1];
|
|
82
|
+
var _p = (0, react_1.useState)(false), isOpen = _p[0], setIsOpen = _p[1];
|
|
83
|
+
var _q = (0, react_1.useState)("below"), position = _q[0], setPosition = _q[1];
|
|
84
|
+
var inputRef = (0, react_1.useRef)(null);
|
|
85
|
+
var dropdownRef = (0, react_1.useRef)(null);
|
|
86
|
+
// const filteredOptions = useMemo(() => {
|
|
87
|
+
// return options.filter((option) => {
|
|
88
|
+
// const optionLabel = option.label || '';
|
|
89
|
+
// const searchValue = inputValue || '';
|
|
90
|
+
// return optionLabel.toLowerCase().includes(searchValue.toLowerCase());
|
|
91
|
+
// });
|
|
92
|
+
// }, [options, inputValue]);
|
|
93
|
+
var filteredOptions = (0, react_1.useMemo)(function () {
|
|
94
|
+
return options.filter(function (option) {
|
|
95
|
+
// First filter out already selected options
|
|
96
|
+
// const isNotSelected = !selectedOptions.some(
|
|
97
|
+
// (selected) => selected.id === option.id
|
|
98
|
+
// );
|
|
99
|
+
var isNotSelected = isMultipleSelect
|
|
100
|
+
? !selectedOptions.some(function (selected) { return selected.id === option.id; })
|
|
101
|
+
: true;
|
|
102
|
+
// Then apply the search filter
|
|
103
|
+
var optionLabel = option.label || "";
|
|
104
|
+
var searchValue = inputValue || "";
|
|
105
|
+
return (isNotSelected &&
|
|
106
|
+
optionLabel.toLowerCase().includes(searchValue.toLowerCase()));
|
|
107
|
+
});
|
|
108
|
+
}, [options, inputValue, isMultipleSelect, selectedOptions]);
|
|
109
|
+
// const filteredOptions = useMemo(() => {
|
|
110
|
+
// return options.filter((option) =>
|
|
111
|
+
// option.label?.toLowerCase().includes((inputValue ?? "")?.toLowerCase())
|
|
112
|
+
// );
|
|
113
|
+
// }, [options, inputValue]);
|
|
114
|
+
// const handleOptionClick = useCallback(
|
|
115
|
+
// (option: selectOptions) => {
|
|
116
|
+
// if (isMultipleSelect) {
|
|
117
|
+
// setSelectedOptions((prev) => {
|
|
118
|
+
// const isSelected = prev.some((selected) => selected.id === option.id);
|
|
119
|
+
// const newSelected = isSelected
|
|
120
|
+
// ? prev.filter((selected) => selected.id !== option.id)
|
|
121
|
+
// : [...prev, option];
|
|
122
|
+
// setInputValue("");
|
|
123
|
+
// if (onOptionMultiSelect) {
|
|
124
|
+
// onOptionMultiSelect(newSelected);
|
|
125
|
+
// }
|
|
126
|
+
// return newSelected;
|
|
127
|
+
// });
|
|
128
|
+
// } else {
|
|
129
|
+
// setInputValue(option.label);
|
|
130
|
+
// setIsOpen(false);
|
|
131
|
+
// if (onOptionSelect) {
|
|
132
|
+
// onOptionSelect(option);
|
|
133
|
+
// }
|
|
134
|
+
// }
|
|
135
|
+
// },
|
|
136
|
+
// [isMultipleSelect, onOptionSelect, onOptionMultiSelect]
|
|
137
|
+
// );
|
|
138
|
+
var handleOptionClick = (0, react_1.useCallback)(function (option) {
|
|
139
|
+
if (isMultipleSelect) {
|
|
140
|
+
setSelectedOptions(function (prev) {
|
|
141
|
+
var isSelected = prev.some(function (selected) { return selected.id === option.id; });
|
|
142
|
+
var newSelected = isSelected
|
|
143
|
+
? prev.filter(function (selected) { return selected.id !== option.id; })
|
|
144
|
+
: __spreadArray(__spreadArray([], prev, true), [option], false);
|
|
145
|
+
// Update the input value and notify the parent
|
|
146
|
+
setInputValue("");
|
|
147
|
+
if (onOptionMultiSelect) {
|
|
148
|
+
// Call the prop to update state in the parent component
|
|
149
|
+
// Note: This should not directly set the state in SelectSearch
|
|
150
|
+
setTimeout(function () { return onOptionMultiSelect(newSelected); }, 0);
|
|
151
|
+
}
|
|
152
|
+
return newSelected;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
setInputValue(option.label);
|
|
157
|
+
setIsOpen(false);
|
|
158
|
+
if (onOptionSelect) {
|
|
159
|
+
onOptionSelect(option);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}, [isMultipleSelect, onOptionSelect, onOptionMultiSelect]);
|
|
163
|
+
var handleRemoveOption = function (option) {
|
|
164
|
+
setSelectedOptions(function (prev) {
|
|
165
|
+
return prev.filter(function (selected) { return selected.id !== option.id; });
|
|
166
|
+
});
|
|
167
|
+
if (onOptionMultiSelect) {
|
|
168
|
+
onOptionMultiSelect(selectedOptions.filter(function (selected) { return selected.id !== option.id; }));
|
|
169
|
+
setInputValue("");
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
var handleInputChange = function (value) {
|
|
173
|
+
setInputValue(value);
|
|
174
|
+
inputOnchange(value);
|
|
175
|
+
};
|
|
176
|
+
var handleKeyDown = function (e) {
|
|
177
|
+
if (e.key === "Enter") {
|
|
178
|
+
var matchingOption = options.find(function (option) { var _a, _b; return ((_a = option.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = (inputValue !== null && inputValue !== void 0 ? inputValue : "")) === null || _b === void 0 ? void 0 : _b.toLowerCase()); });
|
|
179
|
+
if (matchingOption) {
|
|
180
|
+
handleOptionClick(matchingOption);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
var updateDropdownPosition = function () {
|
|
185
|
+
if (inputRef.current && dropdownRef.current) {
|
|
186
|
+
var inputRect = inputRef.current.getBoundingClientRect();
|
|
187
|
+
var dropdownRect = dropdownRef.current.getBoundingClientRect();
|
|
188
|
+
var viewportHeight = window.innerHeight;
|
|
189
|
+
var spaceBelow = viewportHeight - inputRect.bottom + window.scrollY;
|
|
190
|
+
var spaceAbove = inputRect.top + window.scrollY;
|
|
191
|
+
if (spaceBelow >= dropdownRect.height) {
|
|
192
|
+
setPosition("below");
|
|
193
|
+
}
|
|
194
|
+
else if (spaceAbove >= dropdownRect.height) {
|
|
195
|
+
setPosition("above");
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
setPosition("below");
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
(0, react_1.useEffect)(function () {
|
|
203
|
+
if (isOpen) {
|
|
204
|
+
updateDropdownPosition();
|
|
205
|
+
}
|
|
206
|
+
var handleClickOutside = function (event) {
|
|
207
|
+
if (inputRef.current &&
|
|
208
|
+
dropdownRef.current &&
|
|
209
|
+
!inputRef.current.contains(event.target) &&
|
|
210
|
+
!dropdownRef.current.contains(event.target)) {
|
|
211
|
+
setIsOpen(false);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
215
|
+
return function () {
|
|
216
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
217
|
+
};
|
|
218
|
+
}, [isOpen]);
|
|
219
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
220
|
+
react_1.default.createElement(react_2.FormControl, { isInvalid: error },
|
|
221
|
+
react_1.default.createElement(react_2.Box, { display: "flex", flexDirection: "column", position: "relative", sx: boxStyle },
|
|
222
|
+
label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
|
|
223
|
+
isMultipleSelect && selectedOptions.length > 0 && (react_1.default.createElement(react_2.HStack, { spacing: 2, mb: 2 }, selectedOptions.map(function (option) { return (react_1.default.createElement(react_2.Tag, { size: "md", key: option.id, borderRadius: "full", variant: "solid", sx: { backgroundColor: theme.colors.primary[500] } },
|
|
224
|
+
react_1.default.createElement(react_2.TagLabel, { width: "50px" }, option.label),
|
|
225
|
+
react_1.default.createElement(react_2.TagCloseButton, { onClick: function () { return handleRemoveOption(option); } }))); }))),
|
|
226
|
+
react_1.default.createElement(react_2.InputGroup, null,
|
|
227
|
+
react_1.default.createElement(react_2.Input, { ref: inputRef, border: error ? "2px solid #DC143C" : "2px solid #e2e8f0", variant: "flushed", value: inputValue ? inputValue : "", onClick: function () { return setIsOpen(true); }, onFocus: function () { return setIsOpen(true); }, onChange: function (e) { return handleInputChange(e.target.value); }, placeholder: placeholder, onKeyDown: handleKeyDown, id: id, name: name, cursor: "pointer", borderColor: "gray.300", _hover: { borderColor: "blue.500" }, _focus: { borderColor: error ? "none" : "blue.500" }, style: __assign(__assign({}, inputStyle), { backgroundColor: theme.colors.backgroundColor.main, fontWeight: 600, color: theme.colors.gray[700], padding: "0 0.5rem", fontSize: 15, letterSpacing: 0.7, border: error ? "2px solid #DC143C" : "1px solid #e2e8f0" }) }),
|
|
228
|
+
rightIcon && (react_1.default.createElement(react_2.InputRightElement, { pointerEvents: "none", children: rightIcon, style: __assign({}, rightElementStyle) }))),
|
|
229
|
+
isOpen && (react_1.default.createElement(react_2.Box, { ref: dropdownRef, marginTop: "5px", position: "absolute", top: position === "below" ? "100%" : "auto", bottom: position === "above" ? "100%" : "auto", left: 0, right: 0, border: "1px solid", borderColor: "gray.300", borderRadius: "md", bg: "white", maxHeight: "150px", overflowY: "auto", zIndex: 10 },
|
|
230
|
+
react_1.default.createElement(RenderOptions, { isOptionLoading: isOptionLoading, filteredOptions: filteredOptions, loadingText: loadingText, handleOptionClick: handleOptionClick, isProfile: isProfile, isColorOptions: isColorOptions }),
|
|
231
|
+
react_1.default.createElement("hr", null),
|
|
232
|
+
isBottomIcon && (react_1.default.createElement(react_2.Box, { position: "sticky", bottom: 0, background: "white", display: "flex", alignItems: "center", pl: "1rem", cursor: "pointer", onClick: handleBottomClick, borderColor: "gray.300", zIndex: 1, borderTop: "1px solid lightgray" },
|
|
233
|
+
react_1.default.createElement(react_2.Box, null, BottomIcon ? BottomIcon : react_1.default.createElement(lucide_react_1.PlusIcon, { size: "1rem" })),
|
|
234
|
+
react_1.default.createElement(react_2.Box, { fontSize: "0.875rem", color: BottomTextColor
|
|
235
|
+
? BottomTextColor
|
|
236
|
+
: theme.colors.primary[500], padding: "8px 8px" }, BottomText || "Add New"))))),
|
|
237
|
+
error && react_1.default.createElement(ErrorMessage_1.default, { errorMessage: errorMessage })))));
|
|
238
|
+
}
|
|
239
|
+
exports.default = SelectSearch;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type SelectSearchProps = {
|
|
3
|
+
options: selectOptions[];
|
|
4
|
+
isSearchEnabled?: boolean;
|
|
5
|
+
initialSelectedOption?: selectOptions | null;
|
|
6
|
+
onOptionSelect?: (option: selectOptions) => void;
|
|
7
|
+
onOptionMultiSelect?: (option: selectOptions[]) => void;
|
|
8
|
+
inputOnchange: (value: string | number) => void;
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
inputStyle?: React.CSSProperties;
|
|
13
|
+
dropdownStyle?: React.CSSProperties;
|
|
14
|
+
boxStyle?: React.CSSProperties;
|
|
15
|
+
isOptionLoading?: boolean;
|
|
16
|
+
loadingText?: string;
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
searchQuery: string | null;
|
|
19
|
+
isInformation?: boolean;
|
|
20
|
+
informationMessage?: string;
|
|
21
|
+
rightIcon?: React.ReactNode;
|
|
22
|
+
rightElementStyle?: {};
|
|
23
|
+
isMultipleSelect?: boolean;
|
|
24
|
+
isRequired?: boolean | undefined;
|
|
25
|
+
error?: boolean | undefined;
|
|
26
|
+
isProfile?: boolean | undefined;
|
|
27
|
+
isColorOptions?: boolean | undefined;
|
|
28
|
+
errorMessage?: string | undefined;
|
|
29
|
+
isBottomIcon?: boolean | undefined;
|
|
30
|
+
BottomIcon?: boolean | undefined | JSX.Element;
|
|
31
|
+
BottomIconStyle?: React.CSSProperties;
|
|
32
|
+
BottomText?: string | number;
|
|
33
|
+
BottomTextColor?: React.CSSProperties;
|
|
34
|
+
handleBottomClick?: () => void;
|
|
35
|
+
};
|
|
36
|
+
export type selectOptions = {
|
|
37
|
+
id: string;
|
|
38
|
+
label: string;
|
|
39
|
+
email?: string;
|
|
40
|
+
profileUrl?: string;
|
|
41
|
+
color?: string;
|
|
42
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var react_2 = require("@chakra-ui/react");
|
|
19
|
+
var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
20
|
+
var Sidebar_1 = require("../../Constants/Sidebar");
|
|
21
|
+
var lucide_react_1 = require("lucide-react");
|
|
22
|
+
var MenuItems_1 = __importDefault(require("./components/MenuItems"));
|
|
23
|
+
var defaultLogo_1 = __importDefault(require("../../Assets/defaultLogo"));
|
|
24
|
+
function Sidebar(_a) {
|
|
25
|
+
var _b;
|
|
26
|
+
var menus = _a.menus, activeMenu = _a.activeMenu, handleMenuClick = _a.handleMenuClick, toggle = _a.toggle, changeToggle = _a.changeToggle, logo = _a.logo, companyName = _a.companyName, _c = _a.isDisableAddNew, isDisableAddNew = _c === void 0 ? false : _c, onAddNewClick = _a.onAddNewClick, selectedSubMenu = _a.selectedSubMenu;
|
|
27
|
+
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
28
|
+
return (react_1.default.createElement(react_2.Flex, { transition: "all 0.5s", pos: "sticky", h: "100vh", boxShadow: theme.shadows.lg, w: toggle ? "4.688rem" : "15.625rem", flexDir: "column", justifyContent: "space-between", background: theme.colors.sidebar.background[500] },
|
|
29
|
+
react_1.default.createElement(react_2.Flex, { flexDir: "column", w: "100%", alignItems: toggle ? "center" : "flex-start", as: "nav", h: "100vh" },
|
|
30
|
+
logo ? (react_1.default.createElement(react_2.Flex, { my: 3.5, alignItems: "left", gap: "0.625rem", pl: toggle ? 0 : "0.625rem" },
|
|
31
|
+
react_1.default.createElement(react_2.Image, { borderRadius: "full", boxSize: "2rem", src: logo, alt: "Company Logo" }),
|
|
32
|
+
react_1.default.createElement(react_2.Text, { display: toggle ? "none" : "flex", fontSize: 18, fontWeight: 800, color: theme.colors.white, lineHeight: 2 }, companyName))) : (react_1.default.createElement(react_2.Flex, { my: 3.5, alignItems: "center", gap: "0.625rem", pl: toggle ? 0 : "0.625rem" },
|
|
33
|
+
react_1.default.createElement(react_2.Box, { bg: theme.colors.white, color: theme.colors.black, borderRadius: "full", boxSize: "2rem", display: "flex", alignItems: "center", justifyContent: "center", fontWeight: "bold", fontSize: { base: "xl", md: "2xl" } },
|
|
34
|
+
react_1.default.createElement(defaultLogo_1.default, null)),
|
|
35
|
+
react_1.default.createElement(react_2.Text, { fontWeight: 800, fontSize: "1.3rem", textAlign: "center", color: theme.colors.white, display: toggle ? "none" : "flex", lineHeight: 2 }, companyName))),
|
|
36
|
+
react_1.default.createElement(react_2.Box, { w: "100%", h: "0.063rem", bg: theme.colors.sidebar.background[200] }),
|
|
37
|
+
react_1.default.createElement(react_2.Flex
|
|
38
|
+
// mt={5}
|
|
39
|
+
, {
|
|
40
|
+
// mt={5}
|
|
41
|
+
flexDir: "column", w: "100%", alignItems: toggle ? "center" : "flex-start", h: "100vh", overflow: "auto", css: Sidebar_1.FlexCss, overflowX: "hidden" },
|
|
42
|
+
react_1.default.createElement(react_2.Box, { width: "100%", flex: "1", overflowY: "auto", overflowX: "hidden", alignItems: toggle ? "center" : "flex-start", css: __assign(__assign({}, Sidebar_1.FlexCss), { transition: 'all 0.3s ease' }) },
|
|
43
|
+
react_1.default.createElement(MenuItems_1.default, { activeMenu: activeMenu, menus: menus, handleMenuClick: handleMenuClick !== null && handleMenuClick !== void 0 ? handleMenuClick : (function () { }), toggle: toggle, selectedSubMenu: selectedSubMenu })),
|
|
44
|
+
react_1.default.createElement(react_2.Box, { w: "100%", h: "0.063rem", bg: theme.colors.sidebar.background[200], mb: "0.125rem" }),
|
|
45
|
+
!isDisableAddNew && (react_1.default.createElement(react_2.Flex, { alignItems: "center", gap: "0.5rem", p: "0.625rem",
|
|
46
|
+
// mt="1rem"
|
|
47
|
+
cursor: "pointer", _hover: { backgroundColor: theme.colors.primary[500] }, w: "100%", justifyContent: toggle ? "center" : "flex-start", onClick: onAddNewClick },
|
|
48
|
+
react_1.default.createElement(react_2.Box, { w: "1.625rem", h: "1.625rem", bg: theme.colors.white, borderRadius: "full", display: "flex", alignItems: "center", justifyContent: "center" },
|
|
49
|
+
react_1.default.createElement(lucide_react_1.Plus, { size: 16, color: theme.colors.primary[500] })),
|
|
50
|
+
react_1.default.createElement(react_2.Text, { fontSize: "0.875rem", color: theme.colors.white, fontWeight: "medium", display: toggle ? "none" : "block" }, "Add New"))),
|
|
51
|
+
react_1.default.createElement(react_2.Flex, { alignItems: "center", gap: "0.5rem", p: "0.625rem", cursor: "pointer", w: "100%", justifyContent: toggle ? "center" : "flex-start", onClick: changeToggle, transition: "all 0.5s", bg: theme.colors.gray[700] },
|
|
52
|
+
react_1.default.createElement(react_2.Box, { w: "1.625rem", h: "1.625rem", borderRadius: "full", display: "flex", alignItems: "center", justifyContent: "center" }, toggle ? (react_1.default.createElement(lucide_react_1.ArrowRightToLine, { size: 16, color: (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.white })) : (react_1.default.createElement(lucide_react_1.ArrowLeftToLine, { size: 16, color: theme.colors.white }))),
|
|
53
|
+
react_1.default.createElement(react_2.Text, { fontSize: "0.875rem", color: "white", fontWeight: "medium", display: toggle ? "none" : "block" }, "Collapse"))))));
|
|
54
|
+
}
|
|
55
|
+
exports.default = Sidebar;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type SidebarProps = {
|
|
2
|
+
menus: MenuProps[];
|
|
3
|
+
activeMenu: string;
|
|
4
|
+
handleMenuClick?: (menu: MenuProps) => void;
|
|
5
|
+
toggle: boolean;
|
|
6
|
+
changeToggle: () => void;
|
|
7
|
+
logo?: string;
|
|
8
|
+
companyName: string;
|
|
9
|
+
isDisableAddNew?: boolean;
|
|
10
|
+
onAddNewClick?: () => void;
|
|
11
|
+
selectedSubMenu?: string | null;
|
|
12
|
+
};
|
|
13
|
+
export type MenuProps = {
|
|
14
|
+
id: string | number;
|
|
15
|
+
title: string;
|
|
16
|
+
icon: any;
|
|
17
|
+
url: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
locked?: boolean;
|
|
20
|
+
badge?: string | number;
|
|
21
|
+
subMenu?: MenuProps[];
|
|
22
|
+
};
|
|
23
|
+
export type RenderMenuType = {
|
|
24
|
+
menus: MenuProps[];
|
|
25
|
+
activeMenu: string;
|
|
26
|
+
handleMenuClick: (menu: MenuProps) => void;
|
|
27
|
+
toggle: boolean;
|
|
28
|
+
selectedSubMenu?: string | null;
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import React, { useState } from 'react';
|
|
3
|
+
// import { StoryFn, Meta } from '@storybook/react/types-6-0';
|
|
4
|
+
// import Sidebar from './SideBar';
|
|
5
|
+
// import { SidebarProps } from './SideBarProps';
|
|
6
|
+
// import { fn } from '@storybook/test';
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MenuProps } from "../SideBarProps";
|
|
3
|
+
interface Props {
|
|
4
|
+
menu: MenuProps;
|
|
5
|
+
activeMenu: string | number;
|
|
6
|
+
toggle: boolean;
|
|
7
|
+
handleClick?: (menu: MenuProps) => void;
|
|
8
|
+
selectedSubMenu?: string | null;
|
|
9
|
+
}
|
|
10
|
+
declare const MenuItemBox: React.FC<Props>;
|
|
11
|
+
export default MenuItemBox;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
var react_1 = __importStar(require("react"));
|
|
41
|
+
var react_2 = require("@chakra-ui/react");
|
|
42
|
+
var MenuPopoverContent_1 = __importDefault(require("./MenuPopoverContent"));
|
|
43
|
+
var lucide_react_1 = require("lucide-react");
|
|
44
|
+
var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
|
|
45
|
+
var TextTruncation_1 = __importDefault(require("./TextTruncation"));
|
|
46
|
+
var MenuItemBox = function (_a) {
|
|
47
|
+
var menu = _a.menu, activeMenu = _a.activeMenu, toggle = _a.toggle, handleClick = _a.handleClick;
|
|
48
|
+
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
49
|
+
var title = menu.title, icon = menu.icon, disabled = menu.disabled, locked = menu.locked, badge = menu.badge, subMenu = menu.subMenu;
|
|
50
|
+
var hasSubMenu = !!(subMenu === null || subMenu === void 0 ? void 0 : subMenu.length);
|
|
51
|
+
var _b = (0, react_1.useState)(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
52
|
+
var isChildActive = subMenu === null || subMenu === void 0 ? void 0 : subMenu.some(function (sub) { return sub.id === activeMenu; });
|
|
53
|
+
var isParentActive = activeMenu === menu.id;
|
|
54
|
+
var isAnyActive = isParentActive || isChildActive;
|
|
55
|
+
var handleToggleSubMenu = function () {
|
|
56
|
+
if (!disabled && hasSubMenu) {
|
|
57
|
+
setIsOpen(!isOpen);
|
|
58
|
+
}
|
|
59
|
+
else if (!disabled) {
|
|
60
|
+
handleClick === null || handleClick === void 0 ? void 0 : handleClick(menu);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var commonStyles = {
|
|
64
|
+
w: "100%",
|
|
65
|
+
px: "1.5rem",
|
|
66
|
+
py: "0.75rem",
|
|
67
|
+
fontWeight: "medium",
|
|
68
|
+
backgroundColor: isAnyActive ? theme.colors.primary[500] : "transparent",
|
|
69
|
+
color: disabled ? "gray.400" : theme.colors.white,
|
|
70
|
+
_hover: disabled
|
|
71
|
+
? {}
|
|
72
|
+
: {
|
|
73
|
+
backgroundColor: theme.colors.primary[700],
|
|
74
|
+
},
|
|
75
|
+
pl: toggle ? "1.6875rem" : undefined,
|
|
76
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
77
|
+
opacity: disabled ? 0.6 : 1,
|
|
78
|
+
};
|
|
79
|
+
var buttonContent = (react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.625rem", justify: "space-between" },
|
|
80
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.625rem", overflow: "auto" },
|
|
81
|
+
react_1.default.createElement(react_2.Icon, { as: icon, fontSize: "1.25rem", color: disabled ? theme.colors.gray[400] : theme.colors.white }),
|
|
82
|
+
!toggle && (react_1.default.createElement(TextTruncation_1.default, { open: isOpen, fontSize: "1rem", flex: "1" }, title))),
|
|
83
|
+
!toggle && (react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.375rem" },
|
|
84
|
+
badge && (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, badge)),
|
|
85
|
+
locked && react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" }),
|
|
86
|
+
hasSubMenu && (react_1.default.createElement(react_2.Icon, { as: isOpen ? lucide_react_1.ChevronDown : lucide_react_1.ChevronRight, fontSize: "1rem", onClick: function (e) {
|
|
87
|
+
e.stopPropagation();
|
|
88
|
+
handleToggleSubMenu();
|
|
89
|
+
} }))))));
|
|
90
|
+
if (toggle) {
|
|
91
|
+
// Collapsed sidebar: show Popover
|
|
92
|
+
return (react_1.default.createElement(react_2.Popover, { trigger: "hover", placement: "right-start", closeOnBlur: false, isLazy: true },
|
|
93
|
+
react_1.default.createElement(react_2.PopoverTrigger, null,
|
|
94
|
+
react_1.default.createElement(react_2.Box, __assign({}, commonStyles, { onClick: handleToggleSubMenu }), buttonContent)),
|
|
95
|
+
react_1.default.createElement(react_2.Portal, null,
|
|
96
|
+
react_1.default.createElement(react_2.PopoverContent, { borderRadius: "0.063rem", bg: theme.colors.primary[isAnyActive ? 500 : 700], boxShadow: "lg", minW: "10rem", maxW: "14rem", py: "0.125rem", ml: "-0.313rem", cursor: disabled ? "not-allowed" : "pointer", zIndex: 1500 },
|
|
97
|
+
react_1.default.createElement(react_2.PopoverBody, { p: "0.5rem", color: "white" },
|
|
98
|
+
react_1.default.createElement(MenuPopoverContent_1.default, { menu: menu, handleMenuClick: handleClick, activeMenu: activeMenu }))))));
|
|
99
|
+
}
|
|
100
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
101
|
+
react_1.default.createElement(react_2.Box, __assign({}, commonStyles, { onClick: handleToggleSubMenu }), buttonContent),
|
|
102
|
+
hasSubMenu && (react_1.default.createElement(react_2.Collapse, { in: isOpen, animateOpacity: true },
|
|
103
|
+
react_1.default.createElement(react_2.Box, null, subMenu.map(function (sub) {
|
|
104
|
+
var isSubActive = activeMenu === sub.id;
|
|
105
|
+
return (react_1.default.createElement(react_2.Box, { key: sub.id || sub.title, py: "0.5rem", px: "1.25rem", pl: "3.3rem", fontSize: "0.875rem", backgroundColor: isAnyActive ? theme.colors.primary[500] : "transparent", borderLeft: isSubActive
|
|
106
|
+
? "0.188rem solid ".concat(theme.colors.background[300])
|
|
107
|
+
: "0.188rem solid transparent", _hover: {
|
|
108
|
+
backgroundColor: theme.colors.primary[700],
|
|
109
|
+
}, opacity: sub.disabled ? 0.6 : 1, cursor: sub.disabled ? "not-allowed" : "pointer", pointerEvents: sub.disabled ? "none" : "auto", onClick: function () { return !sub.disabled && (handleClick === null || handleClick === void 0 ? void 0 : handleClick(sub)); }, display: "flex", alignItems: "center", justifyContent: "space-between", gap: "0.5rem", color: theme.colors.white },
|
|
110
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.5rem", overflow: "auto" },
|
|
111
|
+
react_1.default.createElement(react_2.Icon, { as: sub.icon, fontSize: "1rem" }),
|
|
112
|
+
react_1.default.createElement(TextTruncation_1.default, { fontSize: "0.875rem", fontWeight: "medium", open: isOpen }, sub.title)),
|
|
113
|
+
sub.locked ? (react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" })) : sub.badge ? (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, sub.badge)) : null));
|
|
114
|
+
}))))));
|
|
115
|
+
};
|
|
116
|
+
exports.default = MenuItemBox;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_2 = require("@chakra-ui/react");
|
|
8
|
+
var MenuItemBox_1 = __importDefault(require("./MenuItemBox"));
|
|
9
|
+
var MenuItems = function (_a) {
|
|
10
|
+
var menus = _a.menus, activeMenu = _a.activeMenu, handleMenuClick = _a.handleMenuClick, toggle = _a.toggle, selectedSubMenu = _a.selectedSubMenu;
|
|
11
|
+
return (react_1.default.createElement(react_2.Box, null, menus.map(function (menu) { return (react_1.default.createElement(MenuItemBox_1.default, { key: menu.title, menu: menu, activeMenu: activeMenu, toggle: toggle, handleClick: handleMenuClick, selectedSubMenu: selectedSubMenu })); })));
|
|
12
|
+
};
|
|
13
|
+
exports.default = MenuItems;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MenuProps } from "../SideBarProps";
|
|
3
|
+
interface Props {
|
|
4
|
+
menu: MenuProps;
|
|
5
|
+
handleMenuClick?: (menu: MenuProps) => void;
|
|
6
|
+
activeMenu?: string | number;
|
|
7
|
+
}
|
|
8
|
+
declare const MenuPopoverContent: React.FC<Props>;
|
|
9
|
+
export default MenuPopoverContent;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_2 = require("@chakra-ui/react");
|
|
8
|
+
var lucide_react_1 = require("lucide-react");
|
|
9
|
+
var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
|
|
10
|
+
var TextTruncation_1 = __importDefault(require("./TextTruncation"));
|
|
11
|
+
var MenuPopoverContent = function (_a) {
|
|
12
|
+
var menu = _a.menu, handleMenuClick = _a.handleMenuClick, activeMenu = _a.activeMenu;
|
|
13
|
+
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
14
|
+
var title = menu.title, subMenu = menu.subMenu, badge = menu.badge, locked = menu.locked;
|
|
15
|
+
var isAnySubActive = subMenu === null || subMenu === void 0 ? void 0 : subMenu.some(function (sub) { return sub.id === activeMenu; });
|
|
16
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
17
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.625rem", mb: (subMenu === null || subMenu === void 0 ? void 0 : subMenu.length) ? "0.5rem" : 0 },
|
|
18
|
+
react_1.default.createElement(TextTruncation_1.default, { fontWeight: "medium", fontSize: "1rem", flex: "1" }, title),
|
|
19
|
+
badge && (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, badge)),
|
|
20
|
+
locked && react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" })), subMenu === null || subMenu === void 0 ? void 0 :
|
|
21
|
+
subMenu.map(function (sub) {
|
|
22
|
+
var isSubActive = activeMenu === sub.id;
|
|
23
|
+
return (react_1.default.createElement(react_2.Flex, { key: sub.id || sub.title, onClick: function () { return !sub.disabled && (handleMenuClick === null || handleMenuClick === void 0 ? void 0 : handleMenuClick(sub)); }, px: "1rem", py: "0.5rem", align: "center", justify: "space-between", gap: "0.75rem", _hover: {
|
|
24
|
+
bg: !sub.disabled ? theme.colors.primary[500] : "transparent",
|
|
25
|
+
cursor: !sub.disabled ? "pointer" : "not-allowed",
|
|
26
|
+
}, bg: isAnySubActive
|
|
27
|
+
? theme.colors.primary[500]
|
|
28
|
+
: theme.colors.primary[700], borderLeft: isSubActive
|
|
29
|
+
? "0.188rem solid ".concat(theme.colors.background[300])
|
|
30
|
+
: "0.188rem solid transparent", color: "white", opacity: sub.disabled ? 0.5 : 1, pointerEvents: sub.disabled ? "none" : "auto" },
|
|
31
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.5rem", overflow: "auto" },
|
|
32
|
+
react_1.default.createElement(react_2.Icon, { as: sub.icon, fontSize: "1rem" }),
|
|
33
|
+
react_1.default.createElement(TextTruncation_1.default, { fontSize: "0.875rem", fontWeight: "medium", flex: 1 }, sub.title)),
|
|
34
|
+
sub.locked ? (react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" })) : sub.badge ? (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, sub.badge)) : null));
|
|
35
|
+
})));
|
|
36
|
+
};
|
|
37
|
+
exports.default = MenuPopoverContent;
|