ezux 1.0.0
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/LICENSE +21 -0
- package/README.md +56 -0
- package/dist/EzEventModal-DtpvYwGr.js +684 -0
- package/dist/EzGroupingPanel-CFwKUrF_.js +59 -0
- package/dist/EzTableEditDialog-BIk_mNpI.js +60 -0
- package/dist/components/EzKanban/EzKanban.types.d.ts +789 -0
- package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
- package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
- package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
- package/dist/components/EzKanban/components/KanbanBoard.d.ts +62 -0
- package/dist/components/EzKanban/components/KanbanCard.d.ts +38 -0
- package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
- package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +46 -0
- package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
- package/dist/components/EzKanban/exports.d.ts +4 -0
- package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
- package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
- package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
- package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
- package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
- package/dist/components/EzKanban/index.d.ts +45 -0
- package/dist/components/EzKanban/services/KanbanService.d.ts +30 -0
- package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
- package/dist/components/EzKanban/useEzKanban.d.ts +162 -0
- package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
- package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
- package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
- package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
- package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
- package/dist/components/EzLayout/EzHeader.d.ts +33 -0
- package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
- package/dist/components/EzLayout/EzLayout.types.d.ts +223 -0
- package/dist/components/EzLayout/EzSidebar.d.ts +14 -0
- package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
- package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
- package/dist/components/EzLayout/EzUserProfile.d.ts +23 -0
- package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
- package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
- package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
- package/dist/components/EzLayout/index.d.ts +19 -0
- package/dist/components/EzLayout/useEzLayout.d.ts +26 -0
- package/dist/components/EzScheduler/EzScheduler.types.d.ts +1658 -0
- package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
- package/dist/components/EzScheduler/components/EzEventModal.d.ts +17 -0
- package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
- package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
- package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
- package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +123 -0
- package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
- package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
- package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
- package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +21 -0
- package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
- package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +11 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +26 -0
- package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +15 -0
- package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
- package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
- package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
- package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
- package/dist/components/EzScheduler/index.d.ts +41 -0
- package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
- package/dist/components/EzScheduler/models/View.d.ts +49 -0
- package/dist/components/EzScheduler/models/index.d.ts +2 -0
- package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
- package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
- package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
- package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
- package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
- package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
- package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
- package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
- package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
- package/dist/components/EzScheduler/services/SchedulerService.d.ts +69 -0
- package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
- package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
- package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
- package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
- package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
- package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
- package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
- package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
- package/dist/components/EzScheduler/tests/phase1_rendering.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase2_events.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase3_templates.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase4_export.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase5_advanced.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase6_security.spec.d.ts +1 -0
- package/dist/components/EzScheduler/tests/phase7_regression.spec.d.ts +1 -0
- package/dist/components/EzScheduler/useEzScheduler.d.ts +152 -0
- package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
- package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
- package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +17 -0
- package/dist/components/EzScheduler/views/AgendaView.d.ts +33 -0
- package/dist/components/EzScheduler/views/DayWeekView.d.ts +182 -0
- package/dist/components/EzScheduler/views/MonthView.d.ts +65 -0
- package/dist/components/EzScheduler/views/TimelineView.d.ts +121 -0
- package/dist/components/EzSignature/EzSignature.d.ts +42 -0
- package/dist/components/EzSignature/EzSignature.test.d.ts +1 -0
- package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
- package/dist/components/EzSignature/index.d.ts +2 -0
- package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
- package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
- package/dist/components/EzTable/EzExcelFilter.d.ts +6 -0
- package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
- package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
- package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
- package/dist/components/EzTable/EzPagination.d.ts +19 -0
- package/dist/components/EzTable/EzTable.types.d.ts +1481 -0
- package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
- package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
- package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
- package/dist/components/EzTable/EzTableStatusBar.d.ts +6 -0
- package/dist/components/EzTable/EzTableToolbar.d.ts +58 -0
- package/dist/components/EzTable/SmartCell.d.ts +7 -0
- package/dist/components/EzTable/__tests__/EzTableDX.test.d.ts +0 -0
- package/dist/components/EzTable/__tests__/EzTableEnterprise.test.d.ts +1 -0
- package/dist/components/EzTable/__tests__/useEzTable.test.d.ts +1 -0
- package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
- package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
- package/dist/components/EzTable/components/DraggableHeader.d.ts +10 -0
- package/dist/components/EzTable/components/EzTableBodySection.d.ts +70 -0
- package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
- package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +22 -0
- package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
- package/dist/components/EzTable/components/EzTableRow.d.ts +56 -0
- package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
- package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
- package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
- package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
- package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
- package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
- package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
- package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
- package/dist/components/EzTable/context/TableStore.d.ts +17 -0
- package/dist/components/EzTable/filterUtils.d.ts +5 -0
- package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
- package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
- package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
- package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
- package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
- package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
- package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
- package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
- package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
- package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
- package/dist/components/EzTable/hooks/useTableState.d.ts +31 -0
- package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +33 -0
- package/dist/components/EzTable/index.d.ts +50 -0
- package/dist/components/EzTable/renderers/index.d.ts +6 -0
- package/dist/components/EzTable/services/TableService.d.ts +26 -0
- package/dist/components/EzTable/useEzTable.d.ts +17 -0
- package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
- package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
- package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
- package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
- package/dist/components/EzTable/utils/index.d.ts +1 -0
- package/dist/components/EzTreeView/EzTreeView.types.d.ts +395 -0
- package/dist/components/EzTreeView/EzTreeViewItem.d.ts +77 -0
- package/dist/components/EzTreeView/EzVirtualTree.d.ts +72 -0
- package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
- package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
- package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
- package/dist/components/EzTreeView/index.d.ts +40 -0
- package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
- package/dist/components/EzTreeView/useEzTreeView.d.ts +62 -0
- package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
- package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
- package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
- package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
- package/dist/components/ui/avatar.d.ts +5 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/breadcrumb.d.ts +19 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/calendar.d.ts +15 -0
- package/dist/components/ui/card.d.ts +8 -0
- package/dist/components/ui/checkbox.d.ts +7 -0
- package/dist/components/ui/command.d.ts +78 -0
- package/dist/components/ui/context-menu.d.ts +27 -0
- package/dist/components/ui/date-time-picker.d.ts +13 -0
- package/dist/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/index.d.ts +26 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/label.d.ts +5 -0
- package/dist/components/ui/modal.d.ts +9 -0
- package/dist/components/ui/password-input.d.ts +5 -0
- package/dist/components/ui/popover.d.ts +4 -0
- package/dist/components/ui/progress.d.ts +7 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/select.d.ts +24 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/switch.d.ts +4 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/tabs.d.ts +14 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/ezux.es.js +149 -0
- package/dist/ezux.umd.js +68 -0
- package/dist/index-DBwoXp4n.js +30656 -0
- package/dist/index.d.ts +70 -0
- package/dist/lib/perfect-freehand.d.ts +221 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/shared/components/AnimatedText.d.ts +44 -0
- package/dist/shared/components/BaseCell.d.ts +14 -0
- package/dist/shared/components/BooleanRenderer.d.ts +34 -0
- package/dist/shared/components/ChartRenderer.d.ts +19 -0
- package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
- package/dist/shared/components/EzContextMenu.d.ts +12 -0
- package/dist/shared/components/EzNotificationDropdown.d.ts +1 -0
- package/dist/shared/components/HighlightText.d.ts +4 -0
- package/dist/shared/components/Modal.d.ts +13 -0
- package/dist/shared/components/NotificationPanel.d.ts +2 -0
- package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
- package/dist/shared/components/SearchableSelect.d.ts +13 -0
- package/dist/shared/components/SelectRenderer.d.ts +33 -0
- package/dist/shared/components/StatusBadge.d.ts +12 -0
- package/dist/shared/components/TooltipWrapper.d.ts +12 -0
- package/dist/shared/components/index.d.ts +9 -0
- package/dist/shared/hooks/index.d.ts +56 -0
- package/dist/shared/hooks/useBaseComponent.d.ts +60 -0
- package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
- package/dist/shared/hooks/useComponentState.d.ts +39 -0
- package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
- package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
- package/dist/shared/hooks/useDebounce.d.ts +10 -0
- package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
- package/dist/shared/hooks/useDialogState.d.ts +21 -0
- package/dist/shared/hooks/useDndHandlers.d.ts +17 -0
- package/dist/shared/hooks/useEditing.d.ts +107 -0
- package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
- package/dist/shared/hooks/useEzTheme.d.ts +22 -0
- package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
- package/dist/shared/hooks/useHistory.d.ts +13 -0
- package/dist/shared/hooks/useI18n.d.ts +9 -0
- package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
- package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
- package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
- package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
- package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
- package/dist/shared/hooks/useLoadingState.d.ts +17 -0
- package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
- package/dist/shared/hooks/useNotificationService.d.ts +8 -0
- package/dist/shared/hooks/usePerformanceMonitor.d.ts +15 -0
- package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
- package/dist/shared/hooks/useSelection.d.ts +73 -0
- package/dist/shared/hooks/useService.d.ts +12 -0
- package/dist/shared/hooks/useServiceState.d.ts +12 -0
- package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
- package/dist/shared/hooks/useTheme.d.ts +13 -0
- package/dist/shared/hooks/useVirtualization.d.ts +85 -0
- package/dist/shared/services/BaseService.d.ts +56 -0
- package/dist/shared/services/ContextMenuService.d.ts +58 -0
- package/dist/shared/services/ExportService.d.ts +35 -0
- package/dist/shared/services/FocusManagerService.d.ts +33 -0
- package/dist/shared/services/HierarchyService.d.ts +43 -0
- package/dist/shared/services/I18nService.d.ts +65 -0
- package/dist/shared/services/LayoutService.d.ts +80 -0
- package/dist/shared/services/NotificationService.d.ts +44 -0
- package/dist/shared/services/PersistenceService.d.ts +69 -0
- package/dist/shared/services/ServiceRegistry.d.ts +51 -0
- package/dist/shared/services/ThemeService.d.ts +49 -0
- package/dist/shared/services/VirtualizationService.d.ts +51 -0
- package/dist/shared/state/store.d.ts +10 -0
- package/dist/shared/themes.d.ts +25 -0
- package/dist/shared/types/BaseProps.d.ts +18 -0
- package/dist/shared/types/common.d.ts +292 -0
- package/dist/shared/types/commonTypes.d.ts +101 -0
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/utils/canvasUtils.d.ts +16 -0
- package/dist/shared/utils/commonUtils.d.ts +28 -0
- package/dist/shared/utils/csvUtils.d.ts +7 -0
- package/dist/shared/utils/dateUtils.d.ts +5 -0
- package/dist/shared/utils/dndUtils.d.ts +16 -0
- package/dist/shared/utils/ezStyleUtils.d.ts +64 -0
- package/dist/shared/utils/formatUtils.d.ts +20 -0
- package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
- package/dist/shared/utils/index.d.ts +11 -0
- package/dist/shared/utils/renderUtils.d.ts +6 -0
- package/dist/shared/utils/serviceUtils.d.ts +10 -0
- package/dist/shared/utils/styleUtils.d.ts +66 -0
- package/dist/shared/utils/validationUtils.d.ts +16 -0
- package/package.json +101 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { EzKanbanProps } from './EzKanban.types';
|
|
2
|
+
/**
|
|
3
|
+
* The main orchestrator hook for EzKanban.
|
|
4
|
+
*
|
|
5
|
+
* This hook coordinates specialized sub-hooks for board state, card management,
|
|
6
|
+
* column management, swimlanes, filtering, and drag-and-drop.
|
|
7
|
+
*
|
|
8
|
+
* @param props Props for the EzKanban component.
|
|
9
|
+
* @param extraApi Optional API methods to merge into the returned object.
|
|
10
|
+
* @group Hooks
|
|
11
|
+
*/
|
|
12
|
+
export declare const useEzKanban: <TCard = any>(props: EzKanbanProps, extraApi?: any) => {
|
|
13
|
+
/** Current board data. @group State */
|
|
14
|
+
board: import('./EzKanban.types').KanbanBoard;
|
|
15
|
+
/** Handler to update the board. @group Methods */
|
|
16
|
+
setBoard: (board: import('./EzKanban.types').KanbanBoard) => void;
|
|
17
|
+
/** IDs of currently selected cards. @group State */
|
|
18
|
+
selectedCards: string[];
|
|
19
|
+
/** Handler to set selected cards. @group Methods */
|
|
20
|
+
setSelectedCards: (cardIds: string[]) => void;
|
|
21
|
+
/** ID of the currently highlighted card. @group State */
|
|
22
|
+
highlightedCardId: string | null;
|
|
23
|
+
/** ID of the currently selected column. @group State */
|
|
24
|
+
selectedColumnId: string | null;
|
|
25
|
+
/** Handler to set the selected column. @group Methods */
|
|
26
|
+
setSelectedColumnId: (columnId: string | null) => void;
|
|
27
|
+
/** Current view mode (standard, swimlane, timeline). @group State */
|
|
28
|
+
view: "standard" | "timeline" | "swimlane";
|
|
29
|
+
/** Handler to change the view mode. @group Methods */
|
|
30
|
+
setView: (view: "standard" | "swimlane" | "timeline") => void;
|
|
31
|
+
/** Text direction. @group State */
|
|
32
|
+
dir: "ltr" | "rtl";
|
|
33
|
+
/** Create a new card. @group Methods */
|
|
34
|
+
createCard: (draft: Partial<import('./EzKanban.types').KanbanCard>) => Promise<import('./EzKanban.types').KanbanCard>;
|
|
35
|
+
/** Update a card by ID. @group Methods */
|
|
36
|
+
updateCard: (cardId: string, updates: Partial<import('./EzKanban.types').KanbanCard>) => Promise<{
|
|
37
|
+
cardId: string;
|
|
38
|
+
updates: Partial<import('./EzKanban.types').KanbanCard>;
|
|
39
|
+
}>;
|
|
40
|
+
/** Delete a card by ID. @group Methods */
|
|
41
|
+
deleteCard: (cardId: string) => Promise<string>;
|
|
42
|
+
/** Move a card within the board. @group Methods */
|
|
43
|
+
moveCard: (cardId: string, targetColumnId: string, targetSwimlaneId?: string, targetPosition?: number) => Promise<void>;
|
|
44
|
+
/** Duplicate a card. @group Methods */
|
|
45
|
+
duplicateCard: (cardId: string) => Promise<import('./EzKanban.types').KanbanCard>;
|
|
46
|
+
/** Archive a card. @group Methods */
|
|
47
|
+
archiveCard: (cardId: string) => Promise<{
|
|
48
|
+
cardId: string;
|
|
49
|
+
updates: Partial<import('./EzKanban.types').KanbanCard>;
|
|
50
|
+
}>;
|
|
51
|
+
/** Restore an archived card. @group Methods */
|
|
52
|
+
restoreCard: (cardId: string) => Promise<{
|
|
53
|
+
cardId: string;
|
|
54
|
+
updates: Partial<import('./EzKanban.types').KanbanCard>;
|
|
55
|
+
}>;
|
|
56
|
+
/** Create a new column. @group Methods */
|
|
57
|
+
createColumn: (draft: Partial<import('./EzKanban.types').KanbanColumn>) => Promise<import('./EzKanban.types').KanbanColumn>;
|
|
58
|
+
/** Update a column. @group Methods */
|
|
59
|
+
updateColumn: (columnId: string, updates: Partial<import('./EzKanban.types').KanbanColumn>) => Promise<{
|
|
60
|
+
columnId: string;
|
|
61
|
+
updates: Partial<import('./EzKanban.types').KanbanColumn>;
|
|
62
|
+
}>;
|
|
63
|
+
/** Delete a column. @group Methods */
|
|
64
|
+
deleteColumn: (columnId: string) => Promise<string>;
|
|
65
|
+
/** Reorder columns. @group Methods */
|
|
66
|
+
reorderColumns: (columnIds: string[]) => Promise<string[]>;
|
|
67
|
+
/** Collapse a column. @group Methods */
|
|
68
|
+
collapseColumn: (columnId: string) => void;
|
|
69
|
+
/** Expand a column. @group Methods */
|
|
70
|
+
expandColumn: (columnId: string) => void;
|
|
71
|
+
/** Create a new swimlane. @group Methods */
|
|
72
|
+
createSwimlane: (draft: Partial<import('./EzKanban.types').KanbanSwimlane>) => Promise<import('./EzKanban.types').KanbanSwimlane>;
|
|
73
|
+
/** Update a swimlane. @group Methods */
|
|
74
|
+
updateSwimlane: (swimlaneId: string, updates: Partial<import('./EzKanban.types').KanbanSwimlane>) => Promise<{
|
|
75
|
+
swimlaneId: string;
|
|
76
|
+
updates: Partial<import('./EzKanban.types').KanbanSwimlane>;
|
|
77
|
+
}>;
|
|
78
|
+
/** Delete a swimlane. @group Methods */
|
|
79
|
+
deleteSwimlane: (swimlaneId: string) => Promise<string>;
|
|
80
|
+
/** Reorder swimlanes. @group Methods */
|
|
81
|
+
reorderSwimlanes: (swimlaneIds: string[]) => Promise<string[]>;
|
|
82
|
+
/** Collapse a swimlane. @group Methods */
|
|
83
|
+
collapseSwimlane: (swimlaneId: string) => void;
|
|
84
|
+
/** Expand a swimlane. @group Methods */
|
|
85
|
+
expandSwimlane: (swimlaneId: string) => void;
|
|
86
|
+
/** The card currently being dragged. @group State */
|
|
87
|
+
draggedCard: import('./EzKanban.types').KanbanCard | null;
|
|
88
|
+
/** The column currently being dragged over. @group State */
|
|
89
|
+
dragOverColumn: string | null;
|
|
90
|
+
/** Handler for drag start. @group Events */
|
|
91
|
+
handleDragStart: (card: import('./EzKanban.types').KanbanCard) => void;
|
|
92
|
+
/** Handler for drag over. @group Events */
|
|
93
|
+
handleDragOver: (columnId: string, swimlaneId?: string) => void;
|
|
94
|
+
/** Handler for drag end. @group Events */
|
|
95
|
+
handleDragEnd: () => void;
|
|
96
|
+
/** Handler for drop. @group Events */
|
|
97
|
+
handleDrop: (targetColumnId: string, targetSwimlaneId?: string) => void;
|
|
98
|
+
/** List of cards after filtering/search. @group State */
|
|
99
|
+
filteredCards: import('./EzKanban.types').KanbanCard[];
|
|
100
|
+
/** Current search query string. @group State */
|
|
101
|
+
searchQuery: string;
|
|
102
|
+
/** Handler to update the search query. @group Methods */
|
|
103
|
+
setSearchQuery: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
104
|
+
/** Current active filter configuration. @group State */
|
|
105
|
+
activeFilters: import('./EzKanban.types').FilterConfig;
|
|
106
|
+
/** Handler to update active filters. @group Methods */
|
|
107
|
+
setActiveFilters: import('react').Dispatch<import('react').SetStateAction<import('./EzKanban.types').FilterConfig>>;
|
|
108
|
+
/** Clear all active filters. @group Methods */
|
|
109
|
+
clearFilters: () => void;
|
|
110
|
+
/** Access to the shared service registry. @group Services */
|
|
111
|
+
serviceRegistry: null;
|
|
112
|
+
/** Currently selected card index via keyboard. @group State */
|
|
113
|
+
selectedIndex: number;
|
|
114
|
+
/** Handler to set the keyboard selected index. @group Methods */
|
|
115
|
+
setSelectedIndex: import('react').Dispatch<import('react').SetStateAction<number>>;
|
|
116
|
+
/** Undo the last action. @group Methods */
|
|
117
|
+
undo: () => void;
|
|
118
|
+
/** Redo the previously undone action. @group Methods */
|
|
119
|
+
redo: () => void;
|
|
120
|
+
/** Whether undo is available. @group State */
|
|
121
|
+
canUndo: boolean;
|
|
122
|
+
/** Whether redo is available. @group State */
|
|
123
|
+
canRedo: boolean;
|
|
124
|
+
addCard(draft: Partial<TCard>): Promise<TCard>;
|
|
125
|
+
getCard(cardId: string): TCard | undefined;
|
|
126
|
+
getCards(): TCard[];
|
|
127
|
+
getCardsInColumn(columnId: string): TCard[];
|
|
128
|
+
getOrderedCards(columnId: string): TCard[];
|
|
129
|
+
addColumn(column: Partial<import('./EzKanban.types').KanbanColumn>): Promise<import('./EzKanban.types').KanbanColumn>;
|
|
130
|
+
getColumn(columnId: string): import('./EzKanban.types').KanbanColumn | undefined;
|
|
131
|
+
getColumns(): import('./EzKanban.types').KanbanColumn[];
|
|
132
|
+
addSwimlane(swimlane: Partial<import('./EzKanban.types').KanbanSwimlane>): Promise<import('./EzKanban.types').KanbanSwimlane>;
|
|
133
|
+
getSwimlane(swimlaneId: string): import('./EzKanban.types').KanbanSwimlane | undefined;
|
|
134
|
+
getSwimlanes(): import('./EzKanban.types').KanbanSwimlane[];
|
|
135
|
+
selectCard(cardId: string): void;
|
|
136
|
+
selectCards(cardIds: string[]): void;
|
|
137
|
+
deselectCard(cardId: string): void;
|
|
138
|
+
deselectAllCards(): void;
|
|
139
|
+
getSelectedCards(): TCard[];
|
|
140
|
+
focusCard(cardId: string): void;
|
|
141
|
+
highlightCard(cardId: string, duration?: number): void;
|
|
142
|
+
getView(): "standard" | "swimlane" | "timeline";
|
|
143
|
+
scrollToColumn(columnId: string, options?: ScrollIntoViewOptions): void;
|
|
144
|
+
scrollToCard(cardId: string, options?: ScrollIntoViewOptions): void;
|
|
145
|
+
getSearchQuery(): string;
|
|
146
|
+
getActiveFilters(): import('./EzKanban.types').FilterConfig;
|
|
147
|
+
getFilteredCards(): TCard[];
|
|
148
|
+
getBoard(): import('./EzKanban.types').KanbanBoard;
|
|
149
|
+
refresh(): Promise<void>;
|
|
150
|
+
reset(): void;
|
|
151
|
+
showSpinner(): void;
|
|
152
|
+
hideSpinner(): void;
|
|
153
|
+
forceUpdate(): void;
|
|
154
|
+
getStatistics(): {
|
|
155
|
+
totalCards: number;
|
|
156
|
+
totalColumns: number;
|
|
157
|
+
};
|
|
158
|
+
validate(): {
|
|
159
|
+
isValid: boolean;
|
|
160
|
+
errors: string[];
|
|
161
|
+
};
|
|
162
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { KanbanCard, KanbanColumn, KanbanSwimlane } from '../EzKanban.types';
|
|
3
|
+
interface KanbanTimelineViewProps {
|
|
4
|
+
cards: KanbanCard[];
|
|
5
|
+
columns: KanbanColumn[];
|
|
6
|
+
swimlanes?: KanbanSwimlane[];
|
|
7
|
+
onCardUpdate?: (card: KanbanCard, changeType: 'move' | 'edit' | 'assign' | 'complete') => Promise<void> | void;
|
|
8
|
+
onCardClick?: (card: KanbanCard) => void;
|
|
9
|
+
onCardCreate?: (card: Partial<KanbanCard>) => Promise<void> | void;
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Text direction. @group Appearance */
|
|
12
|
+
dir?: 'ltr' | 'rtl' | 'auto';
|
|
13
|
+
}
|
|
14
|
+
export declare const KanbanTimelineView: React.FC<KanbanTimelineViewProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface AuthSliderProps {
|
|
3
|
+
signInSlot?: React.ReactNode;
|
|
4
|
+
signUpSlot?: React.ReactNode;
|
|
5
|
+
initialMode?: 'signin' | 'signup';
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A component that provides a sliding animation between sign-in and sign-up forms.
|
|
9
|
+
* It supports custom form slots and handles basic authentication flow simulation.
|
|
10
|
+
* @group Components
|
|
11
|
+
*/
|
|
12
|
+
export declare const AuthSlider: React.FC<AuthSliderProps>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface PasswordInputProps extends React.ComponentProps<"input"> {
|
|
3
|
+
label?: string;
|
|
4
|
+
error?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const PasswordInput: React.ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
7
|
+
export { PasswordInput };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface SignInFormValues {
|
|
3
|
+
email: string;
|
|
4
|
+
password: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Props for the sign-in form.
|
|
8
|
+
* @group Properties
|
|
9
|
+
*/
|
|
10
|
+
export interface SignInFormProps {
|
|
11
|
+
/** Callback triggered upon successful form validation and submission. @group Events */
|
|
12
|
+
onSubmit?: (values: SignInFormValues) => Promise<void>;
|
|
13
|
+
/** Initial values for the form fields. @group Properties */
|
|
14
|
+
defaultValues?: Partial<SignInFormValues>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Enterprise sign-in form with social login support and validation.
|
|
18
|
+
* @group Authentication
|
|
19
|
+
*/
|
|
20
|
+
export declare const SignInForm: React.FC<SignInFormProps>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface SignUpFormValues {
|
|
3
|
+
name: string;
|
|
4
|
+
email: string;
|
|
5
|
+
password: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Props for the sign-up form.
|
|
9
|
+
* @group Properties
|
|
10
|
+
*/
|
|
11
|
+
export interface SignUpFormProps {
|
|
12
|
+
/** Callback triggered upon successful form validation and submission. @group Events */
|
|
13
|
+
onSubmit?: (values: SignUpFormValues) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Enterprise sign-up form with profile picture upload and validation.
|
|
17
|
+
* @group Authentication
|
|
18
|
+
*/
|
|
19
|
+
export declare const SignUpForm: React.FC<SignUpFormProps>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the EzLayout header.
|
|
4
|
+
* @group Properties
|
|
5
|
+
*/
|
|
6
|
+
export interface EzHeaderProps {
|
|
7
|
+
/** Custom logo element or URL. @group Appearance */
|
|
8
|
+
logo?: React.ReactNode;
|
|
9
|
+
/** Company or application name displayed in the header. @group High Level */
|
|
10
|
+
companyName?: string;
|
|
11
|
+
/** Custom breadcrumb or navigation path element. @group Navigation */
|
|
12
|
+
breadcrumb?: React.ReactNode;
|
|
13
|
+
/** Whether to show the theme mode switcher (Light/Dark). @default true @group Integration */
|
|
14
|
+
showThemeSwitcher?: boolean;
|
|
15
|
+
/** Whether to show the theme color palette picker. @default true @group Integration */
|
|
16
|
+
showThemeColorChanger?: boolean;
|
|
17
|
+
/** Whether to show the language selection dropdown. @default true @group Integration */
|
|
18
|
+
showLanguageSwitcher?: boolean;
|
|
19
|
+
/** Essential user information for the profile section. @group Data */
|
|
20
|
+
user?: {
|
|
21
|
+
/** Full name of the user. @group Data */
|
|
22
|
+
name: string;
|
|
23
|
+
/** URL to the user's avatar image. @group Appearance */
|
|
24
|
+
avatarUrl?: string;
|
|
25
|
+
/** Fallback initials if avatar is missing. @group Appearance */
|
|
26
|
+
initials?: string;
|
|
27
|
+
};
|
|
28
|
+
/** Custom class name for the header. @group Appearance */
|
|
29
|
+
className?: string;
|
|
30
|
+
/** Extra content to render in the right-side actions area. @group Data */
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
export declare const EzHeader: React.FC<EzHeaderProps>;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ServiceRegistry } from '../../shared/services/ServiceRegistry';
|
|
3
|
+
import { SharedBaseProps } from '../../shared/types/BaseProps';
|
|
4
|
+
import { EzHeaderProps } from './EzHeader';
|
|
5
|
+
/**
|
|
6
|
+
* Specialized props for a custom header component.
|
|
7
|
+
* @group Subcomponents
|
|
8
|
+
*/
|
|
9
|
+
export interface EzHeaderComponentProps extends EzHeaderProps {
|
|
10
|
+
/** Whether the sidebar is currently open. @group State */
|
|
11
|
+
sidebarOpen: boolean;
|
|
12
|
+
/** Whether the layout is currently in mobile mode. @group State */
|
|
13
|
+
isMobile: boolean;
|
|
14
|
+
/** Current effective header height. @group Appearance */
|
|
15
|
+
headerHeight: number;
|
|
16
|
+
/** Callback to manually toggle the sidebar. @group Events */
|
|
17
|
+
toggleSidebar: () => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Specialized props for a custom sidebar component.
|
|
21
|
+
* @group Subcomponents
|
|
22
|
+
*/
|
|
23
|
+
export interface EzSidebarComponentProps {
|
|
24
|
+
/** Whether the sidebar is visible. @group Properties */
|
|
25
|
+
open: boolean;
|
|
26
|
+
/** Whether the layout is in mobile mode. @group State */
|
|
27
|
+
isMobile: boolean;
|
|
28
|
+
/** Callback to close the sidebar (typically on overlay click). @group Events */
|
|
29
|
+
onClose: () => void;
|
|
30
|
+
/** Content to render inside the sidebar. @group Data */
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
export interface EzLayoutProps extends SharedBaseProps {
|
|
34
|
+
/**
|
|
35
|
+
* Injected components to override or extend the default layout sections.
|
|
36
|
+
* @group Subcomponents
|
|
37
|
+
*/
|
|
38
|
+
components?: {
|
|
39
|
+
header?: React.ReactNode | React.ComponentType<EzHeaderComponentProps>;
|
|
40
|
+
sidebar?: React.ReactNode | React.ComponentType<EzSidebarComponentProps>;
|
|
41
|
+
footer?: React.ReactNode | React.ComponentType<any>;
|
|
42
|
+
commandPalette?: React.ReactNode | React.ComponentType<any>;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Configuration for the built-in authentication slider.
|
|
46
|
+
* Provides slots for sign-in and sign-up forms.
|
|
47
|
+
* @group Properties
|
|
48
|
+
*/
|
|
49
|
+
authConfig?: {
|
|
50
|
+
/** Slot for custom sign-in form content. @group Subcomponents */
|
|
51
|
+
signInSlot?: React.ReactNode;
|
|
52
|
+
/** Slot for custom sign-up form content. @group Subcomponents */
|
|
53
|
+
signUpSlot?: React.ReactNode;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Configuration props passed to the default EzHeader component.
|
|
57
|
+
* @group Properties
|
|
58
|
+
*/
|
|
59
|
+
headerConfig?: EzHeaderProps;
|
|
60
|
+
/**
|
|
61
|
+
* Main content to be rendered within the layout.
|
|
62
|
+
* @group Data
|
|
63
|
+
*/
|
|
64
|
+
children?: React.ReactNode;
|
|
65
|
+
/**
|
|
66
|
+
* Custom class name for the main content area.
|
|
67
|
+
* @group Appearance
|
|
68
|
+
*/
|
|
69
|
+
contentClassName?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Custom class name for the header container.
|
|
72
|
+
* @group Appearance
|
|
73
|
+
*/
|
|
74
|
+
headerClassName?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Custom class name for the sidebar container.
|
|
77
|
+
* @group Appearance
|
|
78
|
+
*/
|
|
79
|
+
sidebarClassName?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Custom class name for the footer container.
|
|
82
|
+
* @group Appearance
|
|
83
|
+
*/
|
|
84
|
+
footerClassName?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Callback fired when the layout mode changes (e.g. dashboard <-> auth).
|
|
87
|
+
* @group Events
|
|
88
|
+
*/
|
|
89
|
+
onModeChange?: (mode: 'dashboard' | 'auth' | 'minimal') => void;
|
|
90
|
+
/**
|
|
91
|
+
* Callback fired when the sidebar is toggled.
|
|
92
|
+
* @group Events
|
|
93
|
+
*/
|
|
94
|
+
onSidebarToggle?: (isOpen: boolean) => void;
|
|
95
|
+
/**
|
|
96
|
+
* Callback fired when the auth page changes (signin <-> signup).
|
|
97
|
+
* @group Events
|
|
98
|
+
*/
|
|
99
|
+
onAuthPageChange?: (page: 'signin' | 'signup') => void;
|
|
100
|
+
/**
|
|
101
|
+
* Callback fired when the viewport resizes.
|
|
102
|
+
* @group Events
|
|
103
|
+
*/
|
|
104
|
+
onViewportResize?: (dimensions: {
|
|
105
|
+
width: number;
|
|
106
|
+
height: number;
|
|
107
|
+
isMobile: boolean;
|
|
108
|
+
}) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Height of the header in pixels.
|
|
111
|
+
* @default 64
|
|
112
|
+
* @group Appearance
|
|
113
|
+
*/
|
|
114
|
+
headerHeight?: number;
|
|
115
|
+
/**
|
|
116
|
+
* Width of the sidebar in pixels.
|
|
117
|
+
* @default 256
|
|
118
|
+
* @group Appearance
|
|
119
|
+
*/
|
|
120
|
+
sidebarWidth?: number;
|
|
121
|
+
/**
|
|
122
|
+
* Breakpoint in pixels for mobile view.
|
|
123
|
+
* @default 768
|
|
124
|
+
* @group Properties
|
|
125
|
+
*/
|
|
126
|
+
breakpoint?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Enable state persistence to localStorage for layout preferences.
|
|
129
|
+
* @group Properties
|
|
130
|
+
*/
|
|
131
|
+
enablePersistence?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Custom media query for fine-grained mobile breakpoint control.
|
|
134
|
+
* @group Properties
|
|
135
|
+
*/
|
|
136
|
+
mediaQuery?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Callback when layout is created.
|
|
139
|
+
* @group Events
|
|
140
|
+
*/
|
|
141
|
+
onCreate?: () => void;
|
|
142
|
+
/**
|
|
143
|
+
* Callback when layout is destroyed.
|
|
144
|
+
* @group Events
|
|
145
|
+
*/
|
|
146
|
+
onDestroy?: () => void;
|
|
147
|
+
/**
|
|
148
|
+
* Callback when resizing starts.
|
|
149
|
+
* @group Events
|
|
150
|
+
*/
|
|
151
|
+
onResizeStart?: () => void;
|
|
152
|
+
/**
|
|
153
|
+
* Callback when resizing stops.
|
|
154
|
+
* @group Events
|
|
155
|
+
*/
|
|
156
|
+
onResizeStop?: () => void;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Imperative API for the EzLayout component.
|
|
160
|
+
* Access via ref to programmatically control layout state and shell behavior.
|
|
161
|
+
* @group Methods
|
|
162
|
+
*/
|
|
163
|
+
export interface EzLayoutRef {
|
|
164
|
+
/** Toggles sidebar visibility or sets it explicitly. @group Methods */
|
|
165
|
+
toggleSidebar: (open?: boolean) => void;
|
|
166
|
+
/** Programmatically opens the sidebar. @group Methods */
|
|
167
|
+
openSidebar: () => void;
|
|
168
|
+
/** Programmatically closes the sidebar. @group Methods */
|
|
169
|
+
closeSidebar: () => void;
|
|
170
|
+
/** Returns current visibility of the sidebar. @group Methods */
|
|
171
|
+
isSidebarOpen: () => boolean;
|
|
172
|
+
/** Sets the top-level layout mode. @group Methods */
|
|
173
|
+
setMode: (mode: 'dashboard' | 'auth' | 'minimal') => void;
|
|
174
|
+
/** Gets the current layout mode. @group Methods */
|
|
175
|
+
getMode: () => 'dashboard' | 'auth' | 'minimal';
|
|
176
|
+
/** Switches layout to dashboard mode. @group Methods */
|
|
177
|
+
showDashboard: () => void;
|
|
178
|
+
/** Switches layout to authentication mode. @group Methods */
|
|
179
|
+
showAuth: () => void;
|
|
180
|
+
/** Switches layout to minimal mode. @group Methods */
|
|
181
|
+
showMinimal: () => void;
|
|
182
|
+
/** Switches the active auth view (signin/signup). @group Methods */
|
|
183
|
+
setAuthPage: (page: 'signin' | 'signup') => void;
|
|
184
|
+
/** Gets the current auth view. @group Methods */
|
|
185
|
+
getAuthPage: () => 'signin' | 'signup';
|
|
186
|
+
/** Programmatically shows the sign-in form. @group Methods */
|
|
187
|
+
showSignIn: () => void;
|
|
188
|
+
/** Programmatically shows the sign-up form. @group Methods */
|
|
189
|
+
showSignUp: () => void;
|
|
190
|
+
/** Returns a snapshot of the internal layout state. @group Methods */
|
|
191
|
+
getState: () => {
|
|
192
|
+
sidebarOpen: boolean;
|
|
193
|
+
mode: 'dashboard' | 'auth' | 'minimal';
|
|
194
|
+
headerHeight: number;
|
|
195
|
+
sidebarWidth: number;
|
|
196
|
+
viewportHeight: number;
|
|
197
|
+
isMobile: boolean;
|
|
198
|
+
authPage: 'signin' | 'signup';
|
|
199
|
+
};
|
|
200
|
+
/** Returns current viewport dimensions and mobile status. @group Methods */
|
|
201
|
+
getViewport: () => {
|
|
202
|
+
height: number;
|
|
203
|
+
isMobile: boolean;
|
|
204
|
+
};
|
|
205
|
+
/** Direct check if the layout is in mobile mode. @group Methods */
|
|
206
|
+
isMobile: () => boolean;
|
|
207
|
+
/** Gets the configured header height. @group Methods */
|
|
208
|
+
getHeaderHeight: () => number;
|
|
209
|
+
/** Gets the configured sidebar width. @group Methods */
|
|
210
|
+
getSidebarWidth: () => number;
|
|
211
|
+
/** Returns calculated CSS styles for the main content area. @group Methods */
|
|
212
|
+
getMainContentStyle: () => React.CSSProperties;
|
|
213
|
+
/** Returns the underlying LayoutService instance. @group Services */
|
|
214
|
+
getLayoutService: () => any;
|
|
215
|
+
/** Returns the service registry used by the layout. @group Services */
|
|
216
|
+
getServiceRegistry: () => ServiceRegistry;
|
|
217
|
+
/** Forces a re-calculation of layout dimensions. @group Methods */
|
|
218
|
+
refresh: () => void;
|
|
219
|
+
/** Programmatically adds a side panel. @group Methods */
|
|
220
|
+
addPanel: (panel: any) => void;
|
|
221
|
+
/** Removes a side panel by its ID. @group Methods */
|
|
222
|
+
removePanel: (id: string) => void;
|
|
223
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { LayoutService } from '../../shared/services/LayoutService';
|
|
3
|
+
import { FocusManagerService } from '../../shared/services/FocusManagerService';
|
|
4
|
+
interface EzSidebarProps {
|
|
5
|
+
sidebarOpen: boolean;
|
|
6
|
+
isMobile: boolean;
|
|
7
|
+
sidebarWidth: number;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
layoutService: LayoutService;
|
|
10
|
+
focusManager: FocusManagerService;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const EzSidebar: React.MemoExoticComponent<({ sidebarOpen, isMobile, sidebarWidth, children, layoutService, focusManager, className }: EzSidebarProps) => import("react/jsx-runtime").JSX.Element>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Advanced theme customization component.
|
|
4
|
+
* Allows users to change the primary brand color and the layout border radius.
|
|
5
|
+
* @group Components
|
|
6
|
+
*/
|
|
7
|
+
export declare const EzThemeColorChanger: React.FC<{
|
|
8
|
+
className?: string;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the user profile dropdown component.
|
|
4
|
+
* @group Properties
|
|
5
|
+
*/
|
|
6
|
+
export interface EzUserProfileProps {
|
|
7
|
+
/** Basic user details to display in the menu. @group Data */
|
|
8
|
+
user: {
|
|
9
|
+
/** Display name of the user. @group Data */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Email address for secondary identification. @group Data */
|
|
12
|
+
email?: string;
|
|
13
|
+
/** URL to the user's avatar image. @group Appearance */
|
|
14
|
+
avatarUrl?: string;
|
|
15
|
+
/** Fallback initials if avatar is missing. @group Appearance */
|
|
16
|
+
initials?: string;
|
|
17
|
+
};
|
|
18
|
+
/** Callback triggered when the user clicks 'Sign Out'. @group Events */
|
|
19
|
+
onLogout?: () => void;
|
|
20
|
+
/** Custom CSS class for the profile trigger button. @group Appearance */
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const EzUserProfile: React.FC<EzUserProfileProps>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface MainContentProps {
|
|
3
|
+
isPending: boolean;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
contentClassName?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Internal component to wrap the primary content area of the layout.
|
|
9
|
+
* Handles loading overlays and content-specific styling.
|
|
10
|
+
* @group Subcomponents
|
|
11
|
+
*/
|
|
12
|
+
export declare const MainContent: React.MemoExoticComponent<({ isPending, children, contentClassName }: MainContentProps) => import("react/jsx-runtime").JSX.Element>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EzLayoutProps, EzLayoutRef } from '../EzLayout.types';
|
|
2
|
+
import { LayoutService } from '../../../shared/services/LayoutService';
|
|
3
|
+
import { ServiceRegistry } from '../../../shared/services/ServiceRegistry';
|
|
4
|
+
/**
|
|
5
|
+
* Internal hook to define the imperative API for EzLayout.
|
|
6
|
+
*
|
|
7
|
+
* Maps internal layout services and state management to the public ref methods.
|
|
8
|
+
*
|
|
9
|
+
* @param ref Forwarded ref for the imperative API.
|
|
10
|
+
* @param props The EzLayout configuration props.
|
|
11
|
+
* @param services Internal service instances.
|
|
12
|
+
* @group Hooks
|
|
13
|
+
*/
|
|
14
|
+
export declare const useLayoutImperative: (ref: React.Ref<EzLayoutRef>, props: EzLayoutProps, services: {
|
|
15
|
+
layoutService: LayoutService;
|
|
16
|
+
serviceRegistry: ServiceRegistry;
|
|
17
|
+
}) => void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EzLayoutProps } from '../EzLayout.types';
|
|
2
|
+
import { LayoutService } from '../../../shared/services/LayoutService';
|
|
3
|
+
import { I18nService } from '../../../shared/services/I18nService';
|
|
4
|
+
import { FocusManagerService } from '../../../shared/services/FocusManagerService';
|
|
5
|
+
/**
|
|
6
|
+
* Internal hook to manage the reactive state of the EzLayout.
|
|
7
|
+
*
|
|
8
|
+
* Handles service initialization, synchronization between services (Layout, I18n),
|
|
9
|
+
* and provides a unified state object for the component.
|
|
10
|
+
*
|
|
11
|
+
* @param props The EzLayout configuration props.
|
|
12
|
+
* @group Hooks
|
|
13
|
+
*/
|
|
14
|
+
export declare const useLayoutState: (props: EzLayoutProps) => {
|
|
15
|
+
layoutState: import('../../../shared/services/LayoutService').LayoutState;
|
|
16
|
+
i18nState: {
|
|
17
|
+
locale: string;
|
|
18
|
+
dir: "ltr" | "rtl";
|
|
19
|
+
};
|
|
20
|
+
isPending: boolean;
|
|
21
|
+
layoutService: LayoutService;
|
|
22
|
+
i18nService: I18nService;
|
|
23
|
+
focusManager: FocusManagerService;
|
|
24
|
+
serviceRegistry: import('../../../shared/services/ServiceRegistry').ServiceRegistry;
|
|
25
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { EzLayoutProps, EzLayoutRef } from './EzLayout.types';
|
|
3
|
+
export type { EzLayoutProps, EzLayoutRef } from './EzLayout.types';
|
|
4
|
+
/**
|
|
5
|
+
* EzLayout is the foundational multi lingigual layout engine for Web/SaaS applications.
|
|
6
|
+
* It provides a highly configurable and responsive shell that handles authentication,
|
|
7
|
+
* headers, sidebars, and enterprise-grade multi-panel layouts.
|
|
8
|
+
*
|
|
9
|
+
|
|
10
|
+
* @group Core Components
|
|
11
|
+
*/
|
|
12
|
+
export declare const EzLayout: React.ForwardRefExoticComponent<EzLayoutProps & React.RefAttributes<EzLayoutRef>>;
|
|
13
|
+
export * from './EzLanguageSwitcher';
|
|
14
|
+
export * from './EzThemeSwitcher';
|
|
15
|
+
export * from './EzThemeColorChanger';
|
|
16
|
+
export * from './EzHeader';
|
|
17
|
+
export * from './EzUserProfile';
|
|
18
|
+
export * from './Authentication/SignInForm';
|
|
19
|
+
export * from './Authentication/SignUpForm';
|