indas-ui 0.0.1 → 0.1.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/dist/cjs/components/auth/ProtectedRoute.js +48 -0
- package/dist/cjs/components/auth/UnauthorizedPage.js +19 -0
- package/dist/cjs/components/auth/index.js +9 -0
- package/dist/cjs/components/chat/ai-messages.js +271 -0
- package/dist/cjs/components/chat/chat-prompt-navigator.js +110 -0
- package/dist/cjs/components/chat/chat.js +1032 -0
- package/dist/cjs/components/chat/multimodal-input.js +117 -0
- package/dist/cjs/components/dashboard/DrillDownModal.js +36 -0
- package/dist/cjs/components/dashboard/FilterBar.js +434 -0
- package/dist/cjs/components/dashboard/Tooltip.js +86 -0
- package/dist/cjs/components/dashboard/charts/Area.js +127 -0
- package/dist/cjs/components/dashboard/charts/Bar.js +111 -0
- package/dist/cjs/components/dashboard/charts/BoxPlot.js +118 -0
- package/dist/cjs/components/dashboard/charts/Bubble.js +102 -0
- package/dist/cjs/components/dashboard/charts/DashboardCard.js +12 -0
- package/dist/cjs/components/dashboard/charts/Donut.js +130 -0
- package/dist/cjs/components/dashboard/charts/FlowMap.js +238 -0
- package/dist/cjs/components/dashboard/charts/Funnel.js +38 -0
- package/dist/cjs/components/dashboard/charts/Gantt.js +271 -0
- package/dist/cjs/components/dashboard/charts/Gauge.js +143 -0
- package/dist/cjs/components/dashboard/charts/GeoMap.js +164 -0
- package/dist/cjs/components/dashboard/charts/Heatmap.js +116 -0
- package/dist/cjs/components/dashboard/charts/Line.js +75 -0
- package/dist/cjs/components/dashboard/charts/Pareto.js +110 -0
- package/dist/cjs/components/dashboard/charts/Radar.js +94 -0
- package/dist/cjs/components/dashboard/charts/Sankey.js +92 -0
- package/dist/cjs/components/dashboard/charts/Scatter.js +128 -0
- package/dist/cjs/components/dashboard/charts/Sparkline.js +134 -0
- package/dist/cjs/components/dashboard/charts/Treemap.js +104 -0
- package/dist/cjs/components/dashboard/charts/index.js +45 -0
- package/dist/cjs/components/dashboard/charts/india-map.js +464 -0
- package/dist/cjs/components/dashboard/charts/theme.js +132 -0
- package/dist/cjs/components/dashboard/config.js +118 -0
- package/dist/cjs/components/dashboard/index.js +39 -0
- package/dist/cjs/components/dashboard/kpi/KpiBeforeAfter.js +16 -0
- package/dist/cjs/components/dashboard/kpi/KpiBreakdown.js +42 -0
- package/dist/cjs/components/dashboard/kpi/KpiComparison.js +41 -0
- package/dist/cjs/components/dashboard/kpi/KpiQuickStats.js +41 -0
- package/dist/cjs/components/dashboard/kpi/KpiRating.js +38 -0
- package/dist/cjs/components/dashboard/kpi/KpiScroll.js +83 -0
- package/dist/cjs/components/dashboard/kpi/KpiTrend.js +37 -0
- package/dist/cjs/components/dashboard/kpi/index.js +22 -0
- package/dist/cjs/components/dashboard/kpi/kpi-shell.js +113 -0
- package/dist/cjs/components/dashboard/time-range.js +126 -0
- package/dist/cjs/components/datagrid/DataGrid.js +1613 -0
- package/dist/cjs/components/datagrid/cells/BooleanCell.js +42 -0
- package/dist/cjs/components/datagrid/cells/CellRenderer.js +142 -0
- package/dist/cjs/components/datagrid/cells/EditableCell.js +217 -0
- package/dist/cjs/components/datagrid/cells/SelectionCell.js +60 -0
- package/dist/cjs/components/datagrid/cells/index.js +6 -0
- package/dist/cjs/components/datagrid/columns/ActionsColumn.js +485 -0
- package/dist/cjs/components/datagrid/columns/ColumnContextMenu.js +341 -0
- package/dist/cjs/components/datagrid/columns/DraggableColumnHeader.js +150 -0
- package/dist/cjs/components/datagrid/controls/AutoResizeButton.js +10 -0
- package/dist/cjs/components/datagrid/controls/PaginationControls.js +38 -0
- package/dist/cjs/components/datagrid/controls/SummaryControls.js +30 -0
- package/dist/cjs/components/datagrid/controls/menu/ActionsMenu.js +16 -0
- package/dist/cjs/components/datagrid/controls/menu/column/ColumnChooserModal.js +25 -0
- package/dist/cjs/components/datagrid/controls/menu/column/ColumnSection.js +10 -0
- package/dist/cjs/components/datagrid/controls/menu/export/ExportSection.js +19 -0
- package/dist/cjs/components/datagrid/controls/menu/export/export.js +227 -0
- package/dist/cjs/components/datagrid/controls/menu/filter/AdvancedFilterModal.js +405 -0
- package/dist/cjs/components/datagrid/controls/menu/filter/FilterSection.js +9 -0
- package/dist/cjs/components/datagrid/controls/menu/grouping/GroupingSection.js +23 -0
- package/dist/cjs/components/datagrid/controls/menu/grouping/index.js +6 -0
- package/dist/cjs/components/datagrid/controls/menu/import/ImportSection.js +75 -0
- package/dist/cjs/components/datagrid/controls/menu/import/import.js +232 -0
- package/dist/cjs/components/datagrid/controls/menu/index.js +24 -0
- package/dist/cjs/components/datagrid/controls/menu/view/CardView.js +176 -0
- package/dist/cjs/components/datagrid/controls/menu/view/ChartView.js +401 -0
- package/dist/cjs/components/datagrid/controls/menu/view/ViewSection.js +12 -0
- package/dist/cjs/components/datagrid/hooks/useCellRangeSelection.js +127 -0
- package/dist/cjs/components/datagrid/hooks/useClipboard.js +154 -0
- package/dist/cjs/components/datagrid/hooks/useDataGridState.js +115 -0
- package/dist/cjs/components/datagrid/hooks/useKeyboardNavigation.js +120 -0
- package/dist/cjs/components/datagrid/index.js +90 -0
- package/dist/cjs/components/datagrid/rows/DraggableRow.js +34 -0
- package/dist/cjs/components/datagrid/rows/ExpandableRow.js +184 -0
- package/dist/cjs/components/datagrid/rows/FilterRow.js +188 -0
- package/dist/cjs/components/datagrid/rows/SelectColumn.js +34 -0
- package/dist/cjs/components/datagrid/rows/SummaryRow.js +34 -0
- package/dist/cjs/components/datagrid/rows/summary.js +67 -0
- package/dist/cjs/components/datagrid/search/InlineSearchCell.js +99 -0
- package/dist/cjs/components/datagrid/search/SearchHighlighter.js +133 -0
- package/dist/cjs/components/datagrid/search/SearchNavigator.js +185 -0
- package/dist/cjs/components/datagrid/search/SearchNewModal.js +238 -0
- package/dist/cjs/components/datagrid/search/advancedSearch.js +112 -0
- package/dist/cjs/components/datagrid/utils/grid-helpers.js +102 -0
- package/dist/cjs/components/datagrid/utils/grid-types.js +3 -0
- package/dist/cjs/components/draft/AutoSaveIndicator.js +70 -0
- package/dist/cjs/components/draft/DraftModal.js +220 -0
- package/dist/cjs/components/forms/date-picker/CalendarView.js +82 -0
- package/dist/cjs/components/forms/date-picker/DatePicker.js +748 -0
- package/dist/cjs/components/forms/date-picker/DateTimePicker.js +174 -0
- package/dist/cjs/components/forms/date-picker/index.js +21 -0
- package/dist/cjs/components/forms/date-picker/shared-utils.js +24 -0
- package/dist/cjs/components/forms/dropdown/Dropdown.js +427 -0
- package/dist/cjs/components/forms/dropdown/MultiSelect.js +136 -0
- package/dist/cjs/components/forms/dropdown/SingleSelect.js +254 -0
- package/dist/cjs/components/forms/dropdown/hooks/useDropdownCreate.js +88 -0
- package/dist/cjs/components/forms/dropdown/hooks/useDropdownFiltering.js +87 -0
- package/dist/cjs/components/forms/dropdown/hooks/useDropdownState.js +63 -0
- package/dist/cjs/components/forms/dropdown/index.js +6 -0
- package/dist/cjs/components/forms/dropdown/types.js +3 -0
- package/dist/cjs/components/forms/file-attachment/EmailPreview.js +419 -0
- package/dist/cjs/components/forms/file-attachment/FileAttachment.js +966 -0
- package/dist/cjs/components/forms/file-attachment/index.js +6 -0
- package/dist/cjs/components/forms/index.js +16 -0
- package/dist/cjs/components/forms/quantity-input-popup.js +135 -0
- package/dist/cjs/components/forms/remark-input/RemarkInput.js +263 -0
- package/dist/cjs/components/forms/remark-input/index.js +8 -0
- package/dist/cjs/components/forms/unified-currency-dropdown.js +202 -0
- package/dist/cjs/components/index.js +41 -0
- package/dist/cjs/components/layout/SidebarContextMenu.js +179 -0
- package/dist/cjs/components/layout/app-shell.js +81 -0
- package/dist/cjs/components/layout/bottom-nav.js +262 -0
- package/dist/cjs/components/layout/floating-action-button.js +77 -0
- package/dist/cjs/components/layout/footer.js +60 -0
- package/dist/cjs/components/layout/index.js +16 -0
- package/dist/cjs/components/layout/mobile-menu-sheet.js +195 -0
- package/dist/cjs/components/layout/side-panel.js +118 -0
- package/dist/cjs/components/layout/sidebar.js +581 -0
- package/dist/cjs/components/layout/top-header.js +270 -0
- package/dist/cjs/components/layout/userprofile-dropdown.js +100 -0
- package/dist/cjs/components/master/editable-cells/EditableCell.js +106 -0
- package/dist/cjs/components/master/editable-cells/index.js +17 -0
- package/dist/cjs/components/master/index.js +9 -0
- package/dist/cjs/components/messaging/conversation-list.js +109 -0
- package/dist/cjs/components/messaging/create-conversation-modal.js +112 -0
- package/dist/cjs/components/messaging/message-bubble.js +69 -0
- package/dist/cjs/components/messaging/message-input.js +154 -0
- package/dist/cjs/components/messaging/message-thread.js +124 -0
- package/dist/cjs/components/messaging/messaging-panel-content.js +69 -0
- package/dist/cjs/components/messaging/thread-panel.js +50 -0
- package/dist/cjs/components/modals/3DModal.js +35 -0
- package/dist/cjs/components/modals/ImageModal.js +587 -0
- package/dist/cjs/components/modals/Modal.js +311 -0
- package/dist/cjs/components/modals/StandardModal.js +28 -0
- package/dist/cjs/components/modals/api-config-modal.js +120 -0
- package/dist/cjs/components/modals/global-api-config-modal.js +127 -0
- package/dist/cjs/components/modals/index.js +17 -0
- package/dist/cjs/components/modals/logout-modal.js +45 -0
- package/dist/cjs/components/modals/modal-alert.js +295 -0
- package/dist/cjs/components/modals/password-reset-modal.js +112 -0
- package/dist/cjs/components/modals/session-expiry-warning.js +18 -0
- package/dist/cjs/components/providers/api-provider.js +19 -0
- package/dist/cjs/components/providers/query-provider.js +29 -0
- package/dist/cjs/components/providers/session-provider.js +119 -0
- package/dist/cjs/components/theme/ThemeCustomizer.js +184 -0
- package/dist/cjs/components/ui/buttons/button.js +264 -0
- package/dist/cjs/components/ui/card.js +58 -0
- package/dist/cjs/components/ui/chart.js +160 -0
- package/dist/cjs/components/ui/display/boolean-badge.js +29 -0
- package/dist/cjs/components/ui/display/card.js +20 -0
- package/dist/cjs/components/ui/display/collapsible.js +44 -0
- package/dist/cjs/components/ui/display/separator.js +44 -0
- package/dist/cjs/components/ui/display/stats-card.js +29 -0
- package/dist/cjs/components/ui/display/text.js +94 -0
- package/dist/cjs/components/ui/feedback/alert.js +61 -0
- package/dist/cjs/components/ui/feedback/badge.js +93 -0
- package/dist/cjs/components/ui/feedback/progress.js +44 -0
- package/dist/cjs/components/ui/feedback/reminder-button.js +111 -0
- package/dist/cjs/components/ui/feedback/skeleton-table.js +20 -0
- package/dist/cjs/components/ui/feedback/skeleton.js +53 -0
- package/dist/cjs/components/ui/feedback/tooltip.js +54 -0
- package/dist/cjs/components/ui/form-toggle.js +47 -0
- package/dist/cjs/components/ui/forms/checkbox.js +24 -0
- package/dist/cjs/components/ui/forms/input.js +111 -0
- package/dist/cjs/components/ui/forms/label.js +10 -0
- package/dist/cjs/components/ui/forms/switch.js +58 -0
- package/dist/cjs/components/ui/forms/textarea.js +49 -0
- package/dist/cjs/components/ui/index.js +157 -0
- package/dist/cjs/components/ui/navigation/dropdown-menu.js +84 -0
- package/dist/cjs/components/ui/navigation/header-steps.js +51 -0
- package/dist/cjs/components/ui/navigation/tabs.js +97 -0
- package/dist/cjs/components/ui/overlays/loading.js +169 -0
- package/dist/cjs/components/ui/select.js +72 -0
- package/dist/cjs/config/api.js +65 -0
- package/dist/cjs/contexts/AppConfigContext.js +37 -0
- package/dist/cjs/contexts/CurrencyContext.js +336 -0
- package/dist/cjs/contexts/DeviceContext.js +106 -0
- package/dist/cjs/contexts/EmailContext.js +727 -0
- package/dist/cjs/contexts/GlobalAlertContext.js +232 -0
- package/dist/cjs/contexts/ImpactAnalysisContext.js +60 -0
- package/dist/cjs/contexts/LanguageContext.js +104 -0
- package/dist/cjs/contexts/MessagingContext.js +726 -0
- package/dist/cjs/contexts/ModuleAuthContext.js +316 -0
- package/dist/cjs/contexts/NavigationContext.js +182 -0
- package/dist/cjs/contexts/NetworkStatusContext.js +95 -0
- package/dist/cjs/contexts/NotificationContext.js +169 -0
- package/dist/cjs/contexts/PageTitleContext.js +28 -0
- package/dist/cjs/contexts/SearchPreferencesContext.js +42 -0
- package/dist/cjs/contexts/SessionAdapterContext.js +24 -0
- package/dist/cjs/contexts/SidebarPreferencesContext.js +116 -0
- package/dist/cjs/contexts/ThemeContext.js +193 -0
- package/dist/cjs/hooks/index.js +50 -0
- package/dist/cjs/hooks/useApproval.js +250 -0
- package/dist/cjs/hooks/useBacchaSearch.js +257 -0
- package/dist/cjs/hooks/useBusinessAudit.js +54 -0
- package/dist/cjs/hooks/useColumnFreezing.js +204 -0
- package/dist/cjs/hooks/useColumnMetadata.js +48 -0
- package/dist/cjs/hooks/useConditionalFormatting.js +197 -0
- package/dist/cjs/hooks/useDebounce.js +49 -0
- package/dist/cjs/hooks/useDraft.js +181 -0
- package/dist/cjs/hooks/useFormValidation.js +68 -0
- package/dist/cjs/hooks/useGridSettings.js +85 -0
- package/dist/cjs/hooks/useGridTheme.js +204 -0
- package/dist/cjs/hooks/useId.js +21 -0
- package/dist/cjs/hooks/useIntelligentColumnSizing.js +315 -0
- package/dist/cjs/hooks/useKeyboardNavigation.js +192 -0
- package/dist/cjs/hooks/useNotifications.js +63 -0
- package/dist/cjs/hooks/usePrevious.js +20 -0
- package/dist/cjs/hooks/useRowSelection.js +150 -0
- package/dist/cjs/hooks/useSignalR.js +53 -0
- package/dist/cjs/hooks/useTheme.js +268 -0
- package/dist/cjs/hooks/useTranslation.js +20 -0
- package/dist/cjs/hooks/useUnsavedChanges.js +88 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/lib/api/activity/audit/audit.js +51 -0
- package/dist/cjs/lib/api/activity/audit/index.js +29 -0
- package/dist/cjs/lib/api/activity/audit/send.js +434 -0
- package/dist/cjs/lib/api/activity/email/client.js +467 -0
- package/dist/cjs/lib/api/activity/email/index.js +31 -0
- package/dist/cjs/lib/api/activity/email/password-reset.js +58 -0
- package/dist/cjs/lib/api/activity/email/templates.js +537 -0
- package/dist/cjs/lib/api/activity/email/types.js +24 -0
- package/dist/cjs/lib/api/activity/index.js +48 -0
- package/dist/cjs/lib/api/activity/messaging/messaging.js +254 -0
- package/dist/cjs/lib/api/activity/notifications/index.js +43 -0
- package/dist/cjs/lib/api/activity/notifications/notifications.js +224 -0
- package/dist/cjs/lib/api/activity/notifications/reminders.js +30 -0
- package/dist/cjs/lib/api/activity/notifications/send.js +267 -0
- package/dist/cjs/lib/api/activity/notifications/types.js +66 -0
- package/dist/cjs/lib/api/activity/notify-and-log.js +63 -0
- package/dist/cjs/lib/api/activity/remarks/index.js +6 -0
- package/dist/cjs/lib/api/activity/remarks/remarks.js +186 -0
- package/dist/cjs/lib/api/activity/storage.js +83 -0
- package/dist/cjs/lib/api/ai/chat.js +227 -0
- package/dist/cjs/lib/api/ai/types.js +6 -0
- package/dist/cjs/lib/api/approval/approvals.js +210 -0
- package/dist/cjs/lib/api/approval/index.js +13 -0
- package/dist/cjs/lib/api/auth/auth.js +154 -0
- package/dist/cjs/lib/api/auth/index.js +11 -0
- package/dist/cjs/lib/api/auth/password-reset-otp.js +192 -0
- package/dist/cjs/lib/api/auth/two-factor-auth.js +94 -0
- package/dist/cjs/lib/api/auth/two-factor.js +186 -0
- package/dist/cjs/lib/api/core/auth-helpers.js +141 -0
- package/dist/cjs/lib/api/core/client.js +305 -0
- package/dist/cjs/lib/api/core/config.js +248 -0
- package/dist/cjs/lib/api/core/index.js +43 -0
- package/dist/cjs/lib/api/core/session-validator.js +98 -0
- package/dist/cjs/lib/api/core/types.js +4 -0
- package/dist/cjs/lib/api/core/utils.js +70 -0
- package/dist/cjs/lib/api/dashboard/costing.js +15 -0
- package/dist/cjs/lib/api/dashboard/management.js +11 -0
- package/dist/cjs/lib/api/dashboard/sales.js +11 -0
- package/dist/cjs/lib/api/draft/drafts.js +279 -0
- package/dist/cjs/lib/api/draft/index.js +13 -0
- package/dist/cjs/lib/api/enquiry/enquiry.js +624 -0
- package/dist/cjs/lib/api/enquiry/index.js +20 -0
- package/dist/cjs/lib/api/enquiry/rate-enquiry.js +78 -0
- package/dist/cjs/lib/api/estimation/categories.js +113 -0
- package/dist/cjs/lib/api/estimation/category-defaults.js +47 -0
- package/dist/cjs/lib/api/estimation/company-config.js +26 -0
- package/dist/cjs/lib/api/estimation/content.js +210 -0
- package/dist/cjs/lib/api/estimation/freight.js +25 -0
- package/dist/cjs/lib/api/estimation/grid-costing-drafts.js +30 -0
- package/dist/cjs/lib/api/estimation/grid-costing.js +176 -0
- package/dist/cjs/lib/api/estimation/index.js +58 -0
- package/dist/cjs/lib/api/estimation/legacy-costing.js +51 -0
- package/dist/cjs/lib/api/estimation/machines.js +74 -0
- package/dist/cjs/lib/api/estimation/planning.js +403 -0
- package/dist/cjs/lib/api/estimation/qualities.js +245 -0
- package/dist/cjs/lib/api/estimation/quotation-load.js +52 -0
- package/dist/cjs/lib/api/estimation/quotation-save.js +109 -0
- package/dist/cjs/lib/api/estimation/quote-check.js +34 -0
- package/dist/cjs/lib/api/estimation/quotepanel.js +496 -0
- package/dist/cjs/lib/api/estimation/shipper-planning.js +220 -0
- package/dist/cjs/lib/api/estimation/wastage.js +47 -0
- package/dist/cjs/lib/api/index.js +33 -0
- package/dist/cjs/lib/api/integration/proxy.js +40 -0
- package/dist/cjs/lib/api/master/category.js +215 -0
- package/dist/cjs/lib/api/master/company.js +389 -0
- package/dist/cjs/lib/api/master/hsn.js +61 -0
- package/dist/cjs/lib/api/master/index.js +47 -0
- package/dist/cjs/lib/api/master/item.js +142 -0
- package/dist/cjs/lib/api/master/ledger.js +398 -0
- package/dist/cjs/lib/api/master/logistics.js +119 -0
- package/dist/cjs/lib/api/master/machine.js +579 -0
- package/dist/cjs/lib/api/master/material-group.js +103 -0
- package/dist/cjs/lib/api/master/other.js +63 -0
- package/dist/cjs/lib/api/master/process-types.js +5 -0
- package/dist/cjs/lib/api/master/process.js +131 -0
- package/dist/cjs/lib/api/master/production-units.js +22 -0
- package/dist/cjs/lib/api/master/rate.js +203 -0
- package/dist/cjs/lib/api/master/tool.js +88 -0
- package/dist/cjs/lib/api/master/user.js +154 -0
- package/dist/cjs/lib/api/settings/erp-parameters.js +69 -0
- package/dist/cjs/lib/api/utility/index.js +11 -0
- package/dist/cjs/lib/api/utility/menu.js +136 -0
- package/dist/cjs/lib/auth.js +10 -0
- package/dist/cjs/lib/pwa.js +59 -0
- package/dist/cjs/lib/react-query-config.js +134 -0
- package/dist/cjs/lib/security/audit-logger.js +177 -0
- package/dist/cjs/lib/security/rate-limiter.js +122 -0
- package/dist/cjs/lib/server-url.js +76 -0
- package/dist/cjs/lib/svg-utils.js +213 -0
- package/dist/cjs/lib/theme/types.js +235 -0
- package/dist/cjs/lib/theme/utils.js +363 -0
- package/dist/cjs/lib/types/index.js +3 -0
- package/dist/cjs/lib/utils/attachment-loader.js +82 -0
- package/dist/cjs/lib/utils/client-lead-utils.js +61 -0
- package/dist/cjs/lib/utils/device-detection.js +110 -0
- package/dist/cjs/lib/utils/logout-cleanup.js +312 -0
- package/dist/cjs/lib/utils/planning-prefs.js +31 -0
- package/dist/cjs/lib/utils.js +70 -0
- package/dist/cjs/lib/vision/dieline-extractor.js +321 -0
- package/dist/cjs/lib/vision/reference-grid.js +245 -0
- package/dist/cjs/locales/de.json +79 -0
- package/dist/cjs/locales/en.json +2217 -0
- package/dist/cjs/locales/es.json +79 -0
- package/dist/cjs/locales/fr.json +78 -0
- package/dist/cjs/locales/hi.json +1599 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/providers.js +43 -0
- package/dist/cjs/services/GlobalLoadingService.js +220 -0
- package/{src → dist/cjs}/styles/grid-themes.css +345 -345
- package/{src → dist/cjs}/styles/sidebar-scrollbar.css +45 -45
- package/{src → dist/cjs}/styles/tokens.css +712 -711
- package/dist/cjs/types/approval.js +22 -0
- package/dist/cjs/types/audit.js +50 -0
- package/dist/cjs/types/draft.js +22 -0
- package/dist/cjs/types/master.js +4 -0
- package/dist/cjs/types/shipper-planning.js +7 -0
- package/dist/components/auth/ProtectedRoute.d.ts +6 -0
- package/dist/components/auth/ProtectedRoute.js +45 -0
- package/dist/components/auth/UnauthorizedPage.d.ts +6 -0
- package/dist/components/auth/UnauthorizedPage.js +15 -0
- package/dist/components/auth/index.d.ts +2 -0
- package/dist/components/auth/index.js +3 -0
- package/dist/components/chat/ai-messages.d.ts +32 -0
- package/dist/components/chat/ai-messages.js +265 -0
- package/dist/components/chat/chat-prompt-navigator.d.ts +9 -0
- package/dist/components/chat/chat-prompt-navigator.js +107 -0
- package/dist/components/chat/chat.d.ts +46 -0
- package/dist/components/chat/chat.js +1029 -0
- package/dist/components/chat/multimodal-input.d.ts +12 -0
- package/dist/components/chat/multimodal-input.js +114 -0
- package/dist/components/dashboard/DrillDownModal.d.ts +15 -0
- package/dist/components/dashboard/DrillDownModal.js +33 -0
- package/dist/components/dashboard/FilterBar.d.ts +108 -0
- package/dist/components/dashboard/FilterBar.js +428 -0
- package/dist/components/dashboard/Tooltip.d.ts +24 -0
- package/dist/components/dashboard/Tooltip.js +50 -0
- package/dist/components/dashboard/charts/Area.d.ts +28 -0
- package/dist/components/dashboard/charts/Area.js +121 -0
- package/dist/components/dashboard/charts/Bar.d.ts +27 -0
- package/dist/components/dashboard/charts/Bar.js +105 -0
- package/dist/components/dashboard/charts/BoxPlot.d.ts +23 -0
- package/dist/components/dashboard/charts/BoxPlot.js +112 -0
- package/dist/components/dashboard/charts/Bubble.d.ts +36 -0
- package/dist/components/dashboard/charts/Bubble.js +96 -0
- package/dist/components/dashboard/charts/DashboardCard.d.ts +12 -0
- package/dist/components/dashboard/charts/DashboardCard.js +9 -0
- package/dist/components/dashboard/charts/Donut.d.ts +23 -0
- package/dist/components/dashboard/charts/Donut.js +124 -0
- package/dist/components/dashboard/charts/FlowMap.d.ts +38 -0
- package/dist/components/dashboard/charts/FlowMap.js +199 -0
- package/dist/components/dashboard/charts/Funnel.d.ts +30 -0
- package/dist/components/dashboard/charts/Funnel.js +35 -0
- package/dist/components/dashboard/charts/Gantt.d.ts +26 -0
- package/dist/components/dashboard/charts/Gantt.js +265 -0
- package/dist/components/dashboard/charts/Gauge.d.ts +25 -0
- package/dist/components/dashboard/charts/Gauge.js +137 -0
- package/dist/components/dashboard/charts/GeoMap.d.ts +38 -0
- package/dist/components/dashboard/charts/GeoMap.js +125 -0
- package/dist/components/dashboard/charts/Heatmap.d.ts +31 -0
- package/dist/components/dashboard/charts/Heatmap.js +110 -0
- package/dist/components/dashboard/charts/Line.d.ts +33 -0
- package/dist/components/dashboard/charts/Line.js +69 -0
- package/dist/components/dashboard/charts/Pareto.d.ts +21 -0
- package/dist/components/dashboard/charts/Pareto.js +104 -0
- package/dist/components/dashboard/charts/Radar.d.ts +32 -0
- package/dist/components/dashboard/charts/Radar.js +88 -0
- package/dist/components/dashboard/charts/Sankey.d.ts +43 -0
- package/dist/components/dashboard/charts/Sankey.js +86 -0
- package/dist/components/dashboard/charts/Scatter.d.ts +38 -0
- package/dist/components/dashboard/charts/Scatter.js +122 -0
- package/dist/components/dashboard/charts/Sparkline.d.ts +37 -0
- package/dist/components/dashboard/charts/Sparkline.js +128 -0
- package/dist/components/dashboard/charts/Treemap.d.ts +30 -0
- package/dist/components/dashboard/charts/Treemap.js +98 -0
- package/dist/components/dashboard/charts/index.d.ts +38 -0
- package/dist/components/dashboard/charts/index.js +23 -0
- package/dist/components/dashboard/charts/india-map.d.ts +22 -0
- package/dist/components/dashboard/charts/india-map.js +461 -0
- package/dist/components/dashboard/charts/theme.d.ts +107 -0
- package/dist/components/dashboard/charts/theme.js +124 -0
- package/dist/components/dashboard/config.d.ts +96 -0
- package/dist/components/dashboard/config.js +113 -0
- package/dist/components/dashboard/index.d.ts +10 -0
- package/dist/components/dashboard/index.js +13 -0
- package/dist/components/dashboard/kpi/KpiBeforeAfter.d.ts +31 -0
- package/dist/components/dashboard/kpi/KpiBeforeAfter.js +13 -0
- package/dist/components/dashboard/kpi/KpiBreakdown.d.ts +31 -0
- package/dist/components/dashboard/kpi/KpiBreakdown.js +39 -0
- package/dist/components/dashboard/kpi/KpiComparison.d.ts +36 -0
- package/dist/components/dashboard/kpi/KpiComparison.js +38 -0
- package/dist/components/dashboard/kpi/KpiQuickStats.d.ts +30 -0
- package/dist/components/dashboard/kpi/KpiQuickStats.js +38 -0
- package/dist/components/dashboard/kpi/KpiRating.d.ts +46 -0
- package/dist/components/dashboard/kpi/KpiRating.js +35 -0
- package/dist/components/dashboard/kpi/KpiScroll.d.ts +63 -0
- package/dist/components/dashboard/kpi/KpiScroll.js +80 -0
- package/dist/components/dashboard/kpi/KpiTrend.d.ts +28 -0
- package/dist/components/dashboard/kpi/KpiTrend.js +34 -0
- package/dist/components/dashboard/kpi/index.d.ts +16 -0
- package/dist/components/dashboard/kpi/index.js +10 -0
- package/dist/components/dashboard/kpi/kpi-shell.d.ts +44 -0
- package/dist/components/dashboard/kpi/kpi-shell.js +108 -0
- package/dist/components/dashboard/time-range.d.ts +12 -0
- package/dist/components/dashboard/time-range.js +118 -0
- package/dist/components/datagrid/DataGrid.d.ts +126 -0
- package/dist/components/datagrid/DataGrid.js +1577 -0
- package/dist/components/datagrid/cells/BooleanCell.d.ts +15 -0
- package/dist/components/datagrid/cells/BooleanCell.js +39 -0
- package/dist/components/datagrid/cells/CellRenderer.d.ts +25 -0
- package/dist/components/datagrid/cells/CellRenderer.js +139 -0
- package/dist/components/datagrid/cells/EditableCell.d.ts +35 -0
- package/dist/components/datagrid/cells/EditableCell.js +179 -0
- package/dist/components/datagrid/cells/SelectionCell.d.ts +11 -0
- package/dist/components/datagrid/cells/SelectionCell.js +58 -0
- package/dist/components/datagrid/cells/index.d.ts +1 -0
- package/dist/components/datagrid/cells/index.js +2 -0
- package/dist/components/datagrid/columns/ActionsColumn.d.ts +174 -0
- package/dist/components/datagrid/columns/ActionsColumn.js +448 -0
- package/dist/components/datagrid/columns/ColumnContextMenu.d.ts +16 -0
- package/dist/components/datagrid/columns/ColumnContextMenu.js +338 -0
- package/dist/components/datagrid/columns/DraggableColumnHeader.d.ts +19 -0
- package/dist/components/datagrid/columns/DraggableColumnHeader.js +147 -0
- package/dist/components/datagrid/controls/AutoResizeButton.d.ts +8 -0
- package/dist/components/datagrid/controls/AutoResizeButton.js +7 -0
- package/dist/components/datagrid/controls/PaginationControls.d.ts +13 -0
- package/dist/components/datagrid/controls/PaginationControls.js +34 -0
- package/dist/components/datagrid/controls/SummaryControls.d.ts +10 -0
- package/dist/components/datagrid/controls/SummaryControls.js +27 -0
- package/dist/components/datagrid/controls/menu/ActionsMenu.d.ts +31 -0
- package/dist/components/datagrid/controls/menu/ActionsMenu.js +13 -0
- package/dist/components/datagrid/controls/menu/column/ColumnChooserModal.d.ts +13 -0
- package/dist/components/datagrid/controls/menu/column/ColumnChooserModal.js +22 -0
- package/dist/components/datagrid/controls/menu/column/ColumnSection.d.ts +9 -0
- package/dist/components/datagrid/controls/menu/column/ColumnSection.js +7 -0
- package/dist/components/datagrid/controls/menu/export/ExportSection.d.ts +7 -0
- package/dist/components/datagrid/controls/menu/export/ExportSection.js +16 -0
- package/dist/components/datagrid/controls/menu/export/export.d.ts +21 -0
- package/dist/components/datagrid/controls/menu/export/export.js +187 -0
- package/dist/components/datagrid/controls/menu/filter/AdvancedFilterModal.d.ts +29 -0
- package/dist/components/datagrid/controls/menu/filter/AdvancedFilterModal.js +369 -0
- package/dist/components/datagrid/controls/menu/filter/FilterSection.d.ts +12 -0
- package/dist/components/datagrid/controls/menu/filter/FilterSection.js +6 -0
- package/dist/components/datagrid/controls/menu/grouping/GroupingSection.d.ts +10 -0
- package/dist/components/datagrid/controls/menu/grouping/GroupingSection.js +20 -0
- package/dist/components/datagrid/controls/menu/grouping/index.d.ts +1 -0
- package/dist/components/datagrid/controls/menu/grouping/index.js +2 -0
- package/dist/components/datagrid/controls/menu/import/ImportSection.d.ts +6 -0
- package/dist/components/datagrid/controls/menu/import/ImportSection.js +72 -0
- package/dist/components/datagrid/controls/menu/import/import.d.ts +27 -0
- package/dist/components/datagrid/controls/menu/import/import.js +193 -0
- package/dist/components/datagrid/controls/menu/index.d.ts +10 -0
- package/dist/components/datagrid/controls/menu/index.js +11 -0
- package/dist/components/datagrid/controls/menu/view/CardView.d.ts +17 -0
- package/dist/components/datagrid/controls/menu/view/CardView.js +173 -0
- package/dist/components/datagrid/controls/menu/view/ChartView.d.ts +9 -0
- package/dist/components/datagrid/controls/menu/view/ChartView.js +363 -0
- package/dist/components/datagrid/controls/menu/view/ViewSection.d.ts +7 -0
- package/dist/components/datagrid/controls/menu/view/ViewSection.js +9 -0
- package/dist/components/datagrid/hooks/useCellRangeSelection.d.ts +20 -0
- package/dist/components/datagrid/hooks/useCellRangeSelection.js +124 -0
- package/dist/components/datagrid/hooks/useClipboard.d.ts +15 -0
- package/dist/components/datagrid/hooks/useClipboard.js +151 -0
- package/dist/components/datagrid/hooks/useDataGridState.d.ts +46 -0
- package/dist/components/datagrid/hooks/useDataGridState.js +112 -0
- package/dist/components/datagrid/hooks/useKeyboardNavigation.d.ts +18 -0
- package/dist/components/datagrid/hooks/useKeyboardNavigation.js +117 -0
- package/dist/components/datagrid/index.d.ts +34 -0
- package/dist/components/datagrid/index.js +41 -0
- package/dist/components/datagrid/rows/DraggableRow.d.ts +33 -0
- package/dist/components/datagrid/rows/DraggableRow.js +31 -0
- package/dist/components/datagrid/rows/ExpandableRow.d.ts +48 -0
- package/dist/components/datagrid/rows/ExpandableRow.js +178 -0
- package/dist/components/datagrid/rows/FilterRow.d.ts +10 -0
- package/dist/components/datagrid/rows/FilterRow.js +185 -0
- package/dist/components/datagrid/rows/SelectColumn.d.ts +2 -0
- package/dist/components/datagrid/rows/SelectColumn.js +31 -0
- package/dist/components/datagrid/rows/SummaryRow.d.ts +12 -0
- package/dist/components/datagrid/rows/SummaryRow.js +31 -0
- package/dist/components/datagrid/rows/summary.d.ts +9 -0
- package/dist/components/datagrid/rows/summary.js +63 -0
- package/dist/components/datagrid/search/InlineSearchCell.d.ts +13 -0
- package/dist/components/datagrid/search/InlineSearchCell.js +96 -0
- package/dist/components/datagrid/search/SearchHighlighter.d.ts +16 -0
- package/dist/components/datagrid/search/SearchHighlighter.js +124 -0
- package/dist/components/datagrid/search/SearchNavigator.d.ts +24 -0
- package/dist/components/datagrid/search/SearchNavigator.js +148 -0
- package/dist/components/datagrid/search/SearchNewModal.d.ts +12 -0
- package/dist/components/datagrid/search/SearchNewModal.js +202 -0
- package/dist/components/datagrid/search/advancedSearch.d.ts +23 -0
- package/dist/components/datagrid/search/advancedSearch.js +109 -0
- package/dist/components/datagrid/utils/grid-helpers.d.ts +34 -0
- package/dist/components/datagrid/utils/grid-helpers.js +94 -0
- package/dist/components/datagrid/utils/grid-types.d.ts +157 -0
- package/dist/components/datagrid/utils/grid-types.js +2 -0
- package/dist/components/draft/AutoSaveIndicator.d.ts +28 -0
- package/dist/components/draft/AutoSaveIndicator.js +67 -0
- package/dist/components/draft/DraftModal.d.ts +27 -0
- package/dist/components/draft/DraftModal.js +184 -0
- package/dist/components/forms/date-picker/CalendarView.d.ts +17 -0
- package/dist/components/forms/date-picker/CalendarView.js +46 -0
- package/dist/components/forms/date-picker/DatePicker.d.ts +31 -0
- package/dist/components/forms/date-picker/DatePicker.js +712 -0
- package/dist/components/forms/date-picker/DateTimePicker.d.ts +15 -0
- package/dist/components/forms/date-picker/DateTimePicker.js +138 -0
- package/dist/components/forms/date-picker/index.d.ts +7 -0
- package/dist/components/forms/date-picker/index.js +9 -0
- package/dist/components/forms/date-picker/shared-utils.d.ts +6 -0
- package/dist/components/forms/date-picker/shared-utils.js +19 -0
- package/dist/components/forms/dropdown/Dropdown.d.ts +144 -0
- package/dist/components/forms/dropdown/Dropdown.js +384 -0
- package/dist/components/forms/dropdown/MultiSelect.d.ts +29 -0
- package/dist/components/forms/dropdown/MultiSelect.js +100 -0
- package/dist/components/forms/dropdown/SingleSelect.d.ts +39 -0
- package/dist/components/forms/dropdown/SingleSelect.js +218 -0
- package/dist/components/forms/dropdown/hooks/useDropdownCreate.d.ts +8 -0
- package/dist/components/forms/dropdown/hooks/useDropdownCreate.js +52 -0
- package/dist/components/forms/dropdown/hooks/useDropdownFiltering.d.ts +5 -0
- package/dist/components/forms/dropdown/hooks/useDropdownFiltering.js +51 -0
- package/dist/components/forms/dropdown/hooks/useDropdownState.d.ts +7 -0
- package/dist/components/forms/dropdown/hooks/useDropdownState.js +27 -0
- package/dist/components/forms/dropdown/index.d.ts +2 -0
- package/dist/components/forms/dropdown/index.js +2 -0
- package/dist/components/forms/dropdown/types.d.ts +67 -0
- package/dist/components/forms/dropdown/types.js +2 -0
- package/dist/components/forms/file-attachment/EmailPreview.d.ts +5 -0
- package/dist/components/forms/file-attachment/EmailPreview.js +383 -0
- package/dist/components/forms/file-attachment/FileAttachment.d.ts +30 -0
- package/dist/components/forms/file-attachment/FileAttachment.js +930 -0
- package/dist/components/forms/file-attachment/index.d.ts +2 -0
- package/dist/components/forms/file-attachment/index.js +2 -0
- package/dist/components/forms/index.d.ts +9 -0
- package/dist/components/forms/index.js +7 -0
- package/dist/components/forms/quantity-input-popup.d.ts +10 -0
- package/dist/components/forms/quantity-input-popup.js +99 -0
- package/dist/components/forms/remark-input/RemarkInput.d.ts +58 -0
- package/dist/components/forms/remark-input/RemarkInput.js +258 -0
- package/dist/components/forms/remark-input/index.d.ts +1 -0
- package/dist/components/forms/remark-input/index.js +2 -0
- package/dist/components/forms/unified-currency-dropdown.d.ts +26 -0
- package/dist/components/forms/unified-currency-dropdown.js +166 -0
- package/dist/components/index.d.ts +14 -0
- package/dist/components/index.js +15 -0
- package/dist/components/layout/SidebarContextMenu.d.ts +18 -0
- package/dist/components/layout/SidebarContextMenu.js +142 -0
- package/dist/components/layout/app-shell.d.ts +32 -0
- package/dist/components/layout/app-shell.js +43 -0
- package/dist/components/layout/bottom-nav.d.ts +28 -0
- package/dist/components/layout/bottom-nav.js +219 -0
- package/dist/components/layout/floating-action-button.d.ts +10 -0
- package/dist/components/layout/floating-action-button.js +74 -0
- package/dist/components/layout/footer.d.ts +37 -0
- package/dist/components/layout/footer.js +56 -0
- package/dist/components/layout/index.d.ts +8 -0
- package/dist/components/layout/index.js +6 -0
- package/dist/components/layout/mobile-menu-sheet.d.ts +7 -0
- package/dist/components/layout/mobile-menu-sheet.js +159 -0
- package/dist/components/layout/side-panel.d.ts +50 -0
- package/dist/components/layout/side-panel.js +115 -0
- package/dist/components/layout/sidebar.d.ts +12 -0
- package/dist/components/layout/sidebar.js +542 -0
- package/dist/components/layout/top-header.d.ts +8 -0
- package/dist/components/layout/top-header.js +234 -0
- package/dist/components/layout/userprofile-dropdown.d.ts +1 -0
- package/dist/components/layout/userprofile-dropdown.js +97 -0
- package/dist/components/master/editable-cells/EditableCell.d.ts +43 -0
- package/dist/components/master/editable-cells/EditableCell.js +66 -0
- package/dist/components/master/editable-cells/index.d.ts +9 -0
- package/dist/components/master/editable-cells/index.js +10 -0
- package/dist/components/master/index.d.ts +1 -0
- package/dist/components/master/index.js +3 -0
- package/dist/components/messaging/conversation-list.d.ts +13 -0
- package/dist/components/messaging/conversation-list.js +103 -0
- package/dist/components/messaging/create-conversation-modal.d.ts +9 -0
- package/dist/components/messaging/create-conversation-modal.js +109 -0
- package/dist/components/messaging/message-bubble.d.ts +15 -0
- package/dist/components/messaging/message-bubble.js +66 -0
- package/dist/components/messaging/message-input.d.ts +17 -0
- package/dist/components/messaging/message-input.js +151 -0
- package/dist/components/messaging/message-thread.d.ts +10 -0
- package/dist/components/messaging/message-thread.js +121 -0
- package/dist/components/messaging/messaging-panel-content.d.ts +5 -0
- package/dist/components/messaging/messaging-panel-content.js +66 -0
- package/dist/components/messaging/thread-panel.d.ts +10 -0
- package/dist/components/messaging/thread-panel.js +47 -0
- package/dist/components/modals/3DModal.d.ts +39 -0
- package/dist/components/modals/3DModal.js +32 -0
- package/dist/components/modals/ImageModal.d.ts +28 -0
- package/dist/components/modals/ImageModal.js +551 -0
- package/dist/components/modals/Modal.d.ts +92 -0
- package/dist/components/modals/Modal.js +264 -0
- package/dist/components/modals/StandardModal.d.ts +27 -0
- package/dist/components/modals/StandardModal.js +25 -0
- package/dist/components/modals/api-config-modal.d.ts +7 -0
- package/dist/components/modals/api-config-modal.js +117 -0
- package/dist/components/modals/global-api-config-modal.d.ts +7 -0
- package/dist/components/modals/global-api-config-modal.js +124 -0
- package/dist/components/modals/index.d.ts +7 -0
- package/dist/components/modals/index.js +8 -0
- package/dist/components/modals/logout-modal.d.ts +32 -0
- package/dist/components/modals/logout-modal.js +42 -0
- package/dist/components/modals/modal-alert.d.ts +139 -0
- package/dist/components/modals/modal-alert.js +250 -0
- package/dist/components/modals/password-reset-modal.d.ts +11 -0
- package/dist/components/modals/password-reset-modal.js +109 -0
- package/dist/components/modals/session-expiry-warning.d.ts +12 -0
- package/dist/components/modals/session-expiry-warning.js +15 -0
- package/dist/components/providers/api-provider.d.ts +10 -0
- package/dist/components/providers/api-provider.js +15 -0
- package/dist/components/providers/query-provider.d.ts +3 -0
- package/dist/components/providers/query-provider.js +26 -0
- package/dist/components/providers/session-provider.d.ts +7 -0
- package/dist/components/providers/session-provider.js +116 -0
- package/dist/components/theme/ThemeCustomizer.d.ts +37 -0
- package/dist/components/theme/ThemeCustomizer.js +178 -0
- package/dist/components/ui/buttons/button.d.ts +59 -0
- package/dist/components/ui/buttons/button.js +228 -0
- package/dist/components/ui/card.d.ts +8 -0
- package/dist/components/ui/card.js +17 -0
- package/dist/components/ui/chart.d.ts +83 -0
- package/dist/components/ui/chart.js +113 -0
- package/dist/components/ui/display/boolean-badge.d.ts +7 -0
- package/dist/components/ui/display/boolean-badge.js +23 -0
- package/dist/components/ui/display/card.d.ts +10 -0
- package/dist/components/ui/display/card.js +11 -0
- package/dist/components/ui/display/collapsible.d.ts +6 -0
- package/dist/components/ui/display/collapsible.js +6 -0
- package/dist/components/ui/display/separator.d.ts +4 -0
- package/dist/components/ui/display/separator.js +8 -0
- package/dist/components/ui/display/stats-card.d.ts +22 -0
- package/dist/components/ui/display/stats-card.js +25 -0
- package/dist/components/ui/display/text.d.ts +14 -0
- package/dist/components/ui/display/text.js +57 -0
- package/dist/components/ui/feedback/alert.d.ts +8 -0
- package/dist/components/ui/feedback/alert.js +23 -0
- package/dist/components/ui/feedback/badge.d.ts +49 -0
- package/dist/components/ui/feedback/badge.js +87 -0
- package/dist/components/ui/feedback/progress.d.ts +4 -0
- package/dist/components/ui/feedback/progress.js +8 -0
- package/dist/components/ui/feedback/reminder-button.d.ts +22 -0
- package/dist/components/ui/feedback/reminder-button.js +75 -0
- package/dist/components/ui/feedback/skeleton-table.d.ts +18 -0
- package/dist/components/ui/feedback/skeleton-table.js +17 -0
- package/dist/components/ui/feedback/skeleton.d.ts +53 -0
- package/dist/components/ui/feedback/skeleton.js +48 -0
- package/dist/components/ui/feedback/tooltip.d.ts +15 -0
- package/dist/components/ui/feedback/tooltip.js +14 -0
- package/dist/components/ui/form-toggle.d.ts +57 -0
- package/dist/components/ui/form-toggle.js +44 -0
- package/dist/components/ui/forms/checkbox.d.ts +6 -0
- package/dist/components/ui/forms/checkbox.js +17 -0
- package/dist/components/ui/forms/input.d.ts +18 -0
- package/dist/components/ui/forms/input.js +75 -0
- package/dist/components/ui/forms/label.d.ts +5 -0
- package/dist/components/ui/forms/label.js +6 -0
- package/dist/components/ui/forms/switch.d.ts +10 -0
- package/dist/components/ui/forms/switch.js +22 -0
- package/dist/components/ui/forms/textarea.d.ts +8 -0
- package/dist/components/ui/forms/textarea.js +13 -0
- package/dist/components/ui/index.d.ts +49 -0
- package/dist/components/ui/index.js +62 -0
- package/dist/components/ui/navigation/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/navigation/dropdown-menu.js +34 -0
- package/dist/components/ui/navigation/header-steps.d.ts +16 -0
- package/dist/components/ui/navigation/header-steps.js +15 -0
- package/dist/components/ui/navigation/tabs.d.ts +40 -0
- package/dist/components/ui/navigation/tabs.js +59 -0
- package/dist/components/ui/overlays/loading.d.ts +47 -0
- package/dist/components/ui/overlays/loading.js +131 -0
- package/dist/components/ui/select.d.ts +13 -0
- package/dist/components/ui/select.js +27 -0
- package/dist/config/api.d.ts +30 -0
- package/dist/config/api.js +58 -0
- package/dist/contexts/AppConfigContext.d.ts +13 -0
- package/dist/contexts/AppConfigContext.js +33 -0
- package/dist/contexts/CurrencyContext.d.ts +43 -0
- package/dist/contexts/CurrencyContext.js +331 -0
- package/dist/contexts/DeviceContext.d.ts +12 -0
- package/dist/contexts/DeviceContext.js +69 -0
- package/dist/contexts/EmailContext.d.ts +112 -0
- package/dist/contexts/EmailContext.js +720 -0
- package/dist/contexts/GlobalAlertContext.d.ts +67 -0
- package/dist/contexts/GlobalAlertContext.js +192 -0
- package/dist/contexts/ImpactAnalysisContext.d.ts +11 -0
- package/dist/contexts/ImpactAnalysisContext.js +23 -0
- package/dist/contexts/LanguageContext.d.ts +21 -0
- package/dist/contexts/LanguageContext.js +66 -0
- package/dist/contexts/MessagingContext.d.ts +70 -0
- package/dist/contexts/MessagingContext.js +722 -0
- package/dist/contexts/ModuleAuthContext.d.ts +42 -0
- package/dist/contexts/ModuleAuthContext.js +278 -0
- package/dist/contexts/NavigationContext.d.ts +26 -0
- package/dist/contexts/NavigationContext.js +143 -0
- package/dist/contexts/NetworkStatusContext.d.ts +18 -0
- package/dist/contexts/NetworkStatusContext.js +87 -0
- package/dist/contexts/NotificationContext.d.ts +47 -0
- package/dist/contexts/NotificationContext.js +165 -0
- package/dist/contexts/PageTitleContext.d.ts +11 -0
- package/dist/contexts/PageTitleContext.js +23 -0
- package/dist/contexts/SearchPreferencesContext.d.ts +11 -0
- package/dist/contexts/SearchPreferencesContext.js +38 -0
- package/dist/contexts/SessionAdapterContext.d.ts +39 -0
- package/dist/contexts/SessionAdapterContext.js +20 -0
- package/dist/contexts/SidebarPreferencesContext.d.ts +19 -0
- package/dist/contexts/SidebarPreferencesContext.js +112 -0
- package/dist/contexts/ThemeContext.d.ts +63 -0
- package/dist/contexts/ThemeContext.js +153 -0
- package/dist/hooks/index.d.ts +23 -0
- package/dist/hooks/index.js +18 -0
- package/dist/hooks/useApproval.d.ts +47 -0
- package/dist/hooks/useApproval.js +247 -0
- package/dist/hooks/useBacchaSearch.d.ts +57 -0
- package/dist/hooks/useBacchaSearch.js +254 -0
- package/dist/hooks/useBusinessAudit.d.ts +24 -0
- package/dist/hooks/useBusinessAudit.js +51 -0
- package/dist/hooks/useColumnFreezing.d.ts +85 -0
- package/dist/hooks/useColumnFreezing.js +201 -0
- package/dist/hooks/useColumnMetadata.d.ts +20 -0
- package/dist/hooks/useColumnMetadata.js +44 -0
- package/dist/hooks/useConditionalFormatting.d.ts +43 -0
- package/dist/hooks/useConditionalFormatting.js +193 -0
- package/dist/hooks/useDebounce.d.ts +14 -0
- package/dist/hooks/useDebounce.js +45 -0
- package/dist/hooks/useDraft.d.ts +46 -0
- package/dist/hooks/useDraft.js +178 -0
- package/dist/hooks/useFormValidation.d.ts +37 -0
- package/dist/hooks/useFormValidation.js +65 -0
- package/dist/hooks/useGridSettings.d.ts +26 -0
- package/dist/hooks/useGridSettings.js +82 -0
- package/dist/hooks/useGridTheme.d.ts +59 -0
- package/dist/hooks/useGridTheme.js +199 -0
- package/dist/hooks/useId.d.ts +2 -0
- package/dist/hooks/useId.js +17 -0
- package/dist/hooks/useIntelligentColumnSizing.d.ts +71 -0
- package/dist/hooks/useIntelligentColumnSizing.js +310 -0
- package/dist/hooks/useKeyboardNavigation.d.ts +33 -0
- package/dist/hooks/useKeyboardNavigation.js +189 -0
- package/dist/hooks/useNotifications.d.ts +7 -0
- package/dist/hooks/useNotifications.js +56 -0
- package/dist/hooks/usePrevious.d.ts +9 -0
- package/dist/hooks/usePrevious.js +17 -0
- package/dist/hooks/useRowSelection.d.ts +45 -0
- package/dist/hooks/useRowSelection.js +147 -0
- package/dist/hooks/useSignalR.d.ts +13 -0
- package/dist/hooks/useSignalR.js +50 -0
- package/dist/hooks/useTheme.d.ts +59 -0
- package/dist/hooks/useTheme.js +261 -0
- package/dist/hooks/useTranslation.d.ts +5 -0
- package/dist/hooks/useTranslation.js +17 -0
- package/dist/hooks/useUnsavedChanges.d.ts +40 -0
- package/dist/hooks/useUnsavedChanges.js +83 -0
- package/dist/index.d.ts +2 -3173
- package/dist/index.js +4 -25937
- package/dist/lib/api/activity/audit/audit.d.ts +34 -0
- package/dist/lib/api/activity/audit/audit.js +44 -0
- package/dist/lib/api/activity/audit/index.d.ts +6 -0
- package/dist/lib/api/activity/audit/index.js +7 -0
- package/dist/lib/api/activity/audit/send.d.ts +152 -0
- package/dist/lib/api/activity/audit/send.js +403 -0
- package/dist/lib/api/activity/email/client.d.ts +167 -0
- package/dist/lib/api/activity/email/client.js +455 -0
- package/dist/lib/api/activity/email/index.d.ts +7 -0
- package/dist/lib/api/activity/email/index.js +10 -0
- package/dist/lib/api/activity/email/password-reset.d.ts +8 -0
- package/dist/lib/api/activity/email/password-reset.js +55 -0
- package/dist/lib/api/activity/email/templates.d.ts +10 -0
- package/dist/lib/api/activity/email/templates.js +531 -0
- package/dist/lib/api/activity/email/types.d.ts +237 -0
- package/dist/lib/api/activity/email/types.js +21 -0
- package/dist/lib/api/activity/index.d.ts +12 -0
- package/dist/lib/api/activity/index.js +15 -0
- package/dist/lib/api/activity/messaging/messaging.d.ts +149 -0
- package/dist/lib/api/activity/messaging/messaging.js +245 -0
- package/dist/lib/api/activity/notifications/index.d.ts +9 -0
- package/dist/lib/api/activity/notifications/index.js +9 -0
- package/dist/lib/api/activity/notifications/notifications.d.ts +59 -0
- package/dist/lib/api/activity/notifications/notifications.js +218 -0
- package/dist/lib/api/activity/notifications/reminders.d.ts +35 -0
- package/dist/lib/api/activity/notifications/reminders.js +25 -0
- package/dist/lib/api/activity/notifications/send.d.ts +122 -0
- package/dist/lib/api/activity/notifications/send.js +252 -0
- package/dist/lib/api/activity/notifications/types.d.ts +119 -0
- package/dist/lib/api/activity/notifications/types.js +62 -0
- package/dist/lib/api/activity/notify-and-log.d.ts +50 -0
- package/dist/lib/api/activity/notify-and-log.js +60 -0
- package/dist/lib/api/activity/remarks/index.d.ts +2 -0
- package/dist/lib/api/activity/remarks/index.js +2 -0
- package/dist/lib/api/activity/remarks/remarks.d.ts +83 -0
- package/dist/lib/api/activity/remarks/remarks.js +179 -0
- package/dist/lib/api/activity/storage.d.ts +28 -0
- package/dist/lib/api/activity/storage.js +79 -0
- package/dist/lib/api/ai/chat.d.ts +67 -0
- package/dist/lib/api/ai/chat.js +212 -0
- package/dist/lib/api/ai/types.d.ts +69 -0
- package/dist/lib/api/ai/types.js +5 -0
- package/dist/lib/api/approval/approvals.d.ts +66 -0
- package/dist/lib/api/approval/approvals.js +205 -0
- package/dist/lib/api/approval/index.d.ts +5 -0
- package/dist/lib/api/approval/index.js +6 -0
- package/dist/lib/api/auth/auth.d.ts +12 -0
- package/dist/lib/api/auth/auth.js +148 -0
- package/dist/lib/api/auth/index.d.ts +1 -0
- package/dist/lib/api/auth/index.js +4 -0
- package/dist/lib/api/auth/password-reset-otp.d.ts +49 -0
- package/dist/lib/api/auth/password-reset-otp.js +185 -0
- package/dist/lib/api/auth/two-factor-auth.d.ts +55 -0
- package/dist/lib/api/auth/two-factor-auth.js +84 -0
- package/dist/lib/api/auth/two-factor.d.ts +41 -0
- package/dist/lib/api/auth/two-factor.js +180 -0
- package/dist/lib/api/core/auth-helpers.d.ts +13 -0
- package/dist/lib/api/core/auth-helpers.js +137 -0
- package/dist/lib/api/core/client.d.ts +37 -0
- package/dist/lib/api/core/client.js +301 -0
- package/dist/lib/api/core/config.d.ts +46 -0
- package/dist/lib/api/core/config.js +238 -0
- package/dist/lib/api/core/index.d.ts +6 -0
- package/dist/lib/api/core/index.js +11 -0
- package/dist/lib/api/core/session-validator.d.ts +55 -0
- package/dist/lib/api/core/session-validator.js +94 -0
- package/dist/lib/api/core/types.d.ts +192 -0
- package/dist/lib/api/core/types.js +3 -0
- package/dist/lib/api/core/utils.d.ts +15 -0
- package/dist/lib/api/core/utils.js +64 -0
- package/dist/lib/api/dashboard/costing.d.ts +129 -0
- package/dist/lib/api/dashboard/costing.js +8 -0
- package/dist/lib/api/dashboard/management.d.ts +91 -0
- package/dist/lib/api/dashboard/management.js +5 -0
- package/dist/lib/api/dashboard/sales.d.ts +87 -0
- package/dist/lib/api/dashboard/sales.js +5 -0
- package/dist/lib/api/draft/drafts.d.ts +49 -0
- package/dist/lib/api/draft/drafts.js +274 -0
- package/dist/lib/api/draft/index.d.ts +5 -0
- package/dist/lib/api/draft/index.js +6 -0
- package/dist/lib/api/enquiry/enquiry.d.ts +324 -0
- package/dist/lib/api/enquiry/enquiry.js +617 -0
- package/dist/lib/api/enquiry/index.d.ts +2 -0
- package/dist/lib/api/enquiry/index.js +4 -0
- package/dist/lib/api/enquiry/rate-enquiry.d.ts +97 -0
- package/dist/lib/api/enquiry/rate-enquiry.js +69 -0
- package/dist/lib/api/estimation/categories.d.ts +28 -0
- package/dist/lib/api/estimation/categories.js +104 -0
- package/dist/lib/api/estimation/category-defaults.d.ts +56 -0
- package/dist/lib/api/estimation/category-defaults.js +41 -0
- package/dist/lib/api/estimation/company-config.d.ts +59 -0
- package/dist/lib/api/estimation/company-config.js +19 -0
- package/dist/lib/api/estimation/content.d.ts +103 -0
- package/dist/lib/api/estimation/content.js +203 -0
- package/dist/lib/api/estimation/freight.d.ts +34 -0
- package/dist/lib/api/estimation/freight.js +18 -0
- package/dist/lib/api/estimation/grid-costing-drafts.d.ts +38 -0
- package/dist/lib/api/estimation/grid-costing-drafts.js +21 -0
- package/dist/lib/api/estimation/grid-costing.d.ts +353 -0
- package/dist/lib/api/estimation/grid-costing.js +126 -0
- package/dist/lib/api/estimation/index.d.ts +10 -0
- package/dist/lib/api/estimation/index.js +22 -0
- package/dist/lib/api/estimation/legacy-costing.d.ts +42 -0
- package/dist/lib/api/estimation/legacy-costing.js +46 -0
- package/dist/lib/api/estimation/machines.d.ts +32 -0
- package/dist/lib/api/estimation/machines.js +67 -0
- package/dist/lib/api/estimation/planning.d.ts +479 -0
- package/dist/lib/api/estimation/planning.js +385 -0
- package/dist/lib/api/estimation/qualities.d.ts +128 -0
- package/dist/lib/api/estimation/qualities.js +229 -0
- package/dist/lib/api/estimation/quotation-load.d.ts +30 -0
- package/dist/lib/api/estimation/quotation-load.js +46 -0
- package/dist/lib/api/estimation/quotation-save.d.ts +88 -0
- package/dist/lib/api/estimation/quotation-save.js +101 -0
- package/dist/lib/api/estimation/quote-check.d.ts +19 -0
- package/dist/lib/api/estimation/quote-check.js +28 -0
- package/dist/lib/api/estimation/quotepanel.d.ts +304 -0
- package/dist/lib/api/estimation/quotepanel.js +489 -0
- package/dist/lib/api/estimation/shipper-planning.d.ts +71 -0
- package/dist/lib/api/estimation/shipper-planning.js +208 -0
- package/dist/lib/api/estimation/wastage.d.ts +40 -0
- package/dist/lib/api/estimation/wastage.js +40 -0
- package/dist/lib/api/index.d.ts +7 -0
- package/dist/lib/api/index.js +17 -0
- package/dist/lib/api/integration/proxy.d.ts +7 -0
- package/dist/lib/api/integration/proxy.js +34 -0
- package/dist/lib/api/master/category.d.ts +126 -0
- package/dist/lib/api/master/category.js +208 -0
- package/dist/lib/api/master/company.d.ts +167 -0
- package/dist/lib/api/master/company.js +368 -0
- package/dist/lib/api/master/hsn.d.ts +36 -0
- package/dist/lib/api/master/hsn.js +54 -0
- package/dist/lib/api/master/index.d.ts +12 -0
- package/dist/lib/api/master/index.js +27 -0
- package/dist/lib/api/master/item.d.ts +158 -0
- package/dist/lib/api/master/item.js +135 -0
- package/dist/lib/api/master/ledger.d.ts +173 -0
- package/dist/lib/api/master/ledger.js +391 -0
- package/dist/lib/api/master/logistics.d.ts +117 -0
- package/dist/lib/api/master/logistics.js +107 -0
- package/dist/lib/api/master/machine.d.ts +406 -0
- package/dist/lib/api/master/machine.js +570 -0
- package/dist/lib/api/master/material-group.d.ts +97 -0
- package/dist/lib/api/master/material-group.js +96 -0
- package/dist/lib/api/master/other.d.ts +65 -0
- package/dist/lib/api/master/other.js +56 -0
- package/dist/lib/api/master/process-types.d.ts +178 -0
- package/dist/lib/api/master/process-types.js +4 -0
- package/dist/lib/api/master/process.d.ts +94 -0
- package/dist/lib/api/master/process.js +124 -0
- package/dist/lib/api/master/production-units.d.ts +10 -0
- package/dist/lib/api/master/production-units.js +15 -0
- package/dist/lib/api/master/rate.d.ts +174 -0
- package/dist/lib/api/master/rate.js +196 -0
- package/dist/lib/api/master/tool.d.ts +48 -0
- package/dist/lib/api/master/tool.js +80 -0
- package/dist/lib/api/master/user.d.ts +473 -0
- package/dist/lib/api/master/user.js +147 -0
- package/dist/lib/api/settings/erp-parameters.d.ts +33 -0
- package/dist/lib/api/settings/erp-parameters.js +61 -0
- package/dist/lib/api/utility/index.d.ts +1 -0
- package/dist/lib/api/utility/index.js +5 -0
- package/dist/lib/api/utility/menu.d.ts +32 -0
- package/dist/lib/api/utility/menu.js +128 -0
- package/dist/lib/auth.d.ts +3 -0
- package/dist/lib/auth.js +7 -0
- package/dist/lib/pwa.d.ts +8 -0
- package/dist/lib/pwa.js +53 -0
- package/dist/lib/react-query-config.d.ts +140 -0
- package/dist/lib/react-query-config.js +131 -0
- package/dist/lib/security/audit-logger.d.ts +71 -0
- package/dist/lib/security/audit-logger.js +173 -0
- package/dist/lib/security/rate-limiter.d.ts +28 -0
- package/dist/lib/security/rate-limiter.js +118 -0
- package/dist/lib/server-url.d.ts +18 -0
- package/dist/lib/server-url.js +70 -0
- package/dist/lib/svg-utils.d.ts +62 -0
- package/dist/lib/svg-utils.js +206 -0
- package/dist/lib/theme/types.d.ts +109 -0
- package/dist/lib/theme/types.js +231 -0
- package/dist/lib/theme/utils.d.ts +73 -0
- package/dist/lib/theme/utils.js +343 -0
- package/dist/lib/types/index.d.ts +58 -0
- package/dist/lib/types/index.js +2 -0
- package/dist/lib/utils/attachment-loader.d.ts +27 -0
- package/dist/lib/utils/attachment-loader.js +79 -0
- package/dist/lib/utils/client-lead-utils.d.ts +24 -0
- package/dist/lib/utils/client-lead-utils.js +56 -0
- package/dist/lib/utils/device-detection.d.ts +19 -0
- package/dist/lib/utils/device-detection.js +105 -0
- package/dist/lib/utils/logout-cleanup.d.ts +63 -0
- package/dist/lib/utils/logout-cleanup.js +297 -0
- package/dist/lib/utils/planning-prefs.d.ts +10 -0
- package/dist/lib/utils/planning-prefs.js +27 -0
- package/dist/lib/utils.d.ts +20 -0
- package/dist/lib/utils.js +60 -0
- package/dist/lib/vision/dieline-extractor.d.ts +38 -0
- package/dist/lib/vision/dieline-extractor.js +313 -0
- package/dist/lib/vision/reference-grid.d.ts +52 -0
- package/dist/lib/vision/reference-grid.js +241 -0
- package/dist/locales/de.json +79 -0
- package/dist/locales/en.json +2217 -0
- package/dist/locales/es.json +79 -0
- package/dist/locales/fr.json +78 -0
- package/dist/locales/hi.json +1599 -0
- package/dist/providers.d.ts +14 -0
- package/dist/providers.js +15 -0
- package/dist/services/GlobalLoadingService.d.ts +216 -0
- package/dist/services/GlobalLoadingService.js +216 -0
- package/dist/styles/grid-themes.css +346 -0
- package/dist/styles/index.css +5 -0
- package/dist/{sidebar-scrollbar-NBCB2OO2.css → styles/sidebar-scrollbar.css} +45 -45
- package/dist/styles/tokens.css +713 -0
- package/dist/types/approval.d.ts +201 -0
- package/dist/types/approval.js +19 -0
- package/dist/types/audit.d.ts +87 -0
- package/dist/types/audit.js +47 -0
- package/dist/types/draft.d.ts +142 -0
- package/dist/types/draft.js +19 -0
- package/dist/types/master.d.ts +154 -0
- package/dist/types/master.js +3 -0
- package/dist/types/shipper-planning.d.ts +277 -0
- package/dist/types/shipper-planning.js +6 -0
- package/package.json +182 -119
- package/dist/chunk-4PEFU7N7.js +0 -16
- package/dist/chunk-4PEFU7N7.js.map +0 -1
- package/dist/de-EKT7SUK5.js +0 -106
- package/dist/de-EKT7SUK5.js.map +0 -1
- package/dist/en-QRFSIEHD.js +0 -1685
- package/dist/en-QRFSIEHD.js.map +0 -1
- package/dist/es-KHZMWGUI.js +0 -106
- package/dist/es-KHZMWGUI.js.map +0 -1
- package/dist/fr-X2XUXSHK.js +0 -105
- package/dist/fr-X2XUXSHK.js.map +0 -1
- package/dist/hi-YRATOE5Q.js +0 -415
- package/dist/hi-YRATOE5Q.js.map +0 -1
- package/dist/index.cjs +0 -28216
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -3173
- package/dist/index.js.map +0 -1
- /package/{src → dist/cjs}/styles/index.css +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ExpandableRow = ExpandableRow;
|
|
5
|
+
exports.ExpansionToggleCell = ExpansionToggleCell;
|
|
6
|
+
exports.ExpansionToggleHeader = ExpansionToggleHeader;
|
|
7
|
+
exports.ProcessBreakdown = ProcessBreakdown;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const lucide_react_1 = require("lucide-react");
|
|
11
|
+
const framer_motion_1 = require("framer-motion");
|
|
12
|
+
const CurrencyContext_1 = require("../../../contexts/CurrencyContext.js");
|
|
13
|
+
function ExpandableRow({ row, renderSubComponent, expandMode = 'basic', subData, subColumns, getSubRowId, onSubRowClick, onSubRowSelect, getSubRowProps, onRowClick, onRowDoubleClick, onRowContextMenu, className = '', style, rowHeight, children }) {
|
|
14
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("tr", { className: className, onClick: onRowClick, onDoubleClick: onRowDoubleClick, onContextMenu: onRowContextMenu, style: { ...(rowHeight ? { height: `${rowHeight}px` } : {}), ...style }, children: children }), row.getIsExpanded() && expandMode === 'basic' && renderSubComponent && ((0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", { colSpan: row.getVisibleCells().length, className: "p-0 bg-gray-50 border-b", children: (0, jsx_runtime_1.jsx)(framer_motion_1.AnimatePresence, { children: (0, jsx_runtime_1.jsx)(framer_motion_1.motion.div, { initial: { opacity: 0, height: 0 }, animate: { opacity: 1, height: 'auto' }, exit: { opacity: 0, height: 0 }, transition: { duration: 0.2 }, className: "p-4", children: renderSubComponent(row) }) }) }) })), row.getIsExpanded() && expandMode === 'detailed' && subData && subData.length > 0 && subColumns && ((0, jsx_runtime_1.jsx)(DetailedSubRows, { subData: subData, subColumns: subColumns, getSubRowId: getSubRowId, onSubRowClick: onSubRowClick, onSubRowSelect: onSubRowSelect, getSubRowProps: getSubRowProps, parentRow: row }))] }));
|
|
15
|
+
}
|
|
16
|
+
function DetailedSubRows({ subData, subColumns, getSubRowId, onSubRowClick, onSubRowSelect, getSubRowProps, parentRow, }) {
|
|
17
|
+
const parentCells = parentRow.getVisibleCells();
|
|
18
|
+
const [selectedSubRowId, setSelectedSubRowId] = (0, react_1.useState)(null);
|
|
19
|
+
const handleSubRowClick = (0, react_1.useCallback)((item, rowId, e) => {
|
|
20
|
+
// If clicking a button/link (action buttons), don't select
|
|
21
|
+
const target = e.target;
|
|
22
|
+
if (target.closest('button') || target.closest('a'))
|
|
23
|
+
return;
|
|
24
|
+
// Row click selects locally + propagates to parent
|
|
25
|
+
const isDeselecting = selectedSubRowId === rowId;
|
|
26
|
+
setSelectedSubRowId(isDeselecting ? null : rowId);
|
|
27
|
+
if (!isDeselecting && onSubRowSelect) {
|
|
28
|
+
onSubRowSelect(item);
|
|
29
|
+
}
|
|
30
|
+
}, [selectedSubRowId, onSubRowSelect]);
|
|
31
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: subData.map((item, itemIndex) => {
|
|
32
|
+
const rawId = getSubRowId ? getSubRowId(item) : String(itemIndex);
|
|
33
|
+
const rowId = `${parentRow.id}-${rawId}`;
|
|
34
|
+
const isSelected = selectedSubRowId === rowId;
|
|
35
|
+
const bgBase = isSelected
|
|
36
|
+
? 'bg-[color-mix(in_srgb,rgb(var(--color-primary))_12%,rgb(var(--bg-surface)))]'
|
|
37
|
+
: 'bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,rgb(var(--bg-surface)))]';
|
|
38
|
+
const bgHover = 'hover:bg-[color-mix(in_srgb,rgb(var(--color-primary))_18%,rgb(var(--bg-surface)))]';
|
|
39
|
+
// Consumer tint (e.g. margin colour) — inline style wins over the revision shade.
|
|
40
|
+
const subProps = getSubRowProps?.(item);
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)("tr", { className: `cursor-pointer group transition-colors duration-150 ease-out ${bgHover} ${bgBase} ${subProps?.className ?? ''}`, style: subProps?.style, onClick: (e) => handleSubRowClick(item, rowId, e), children: parentCells.map((parentCell, cellIndex) => {
|
|
42
|
+
const colDef = parentCell.column.columnDef;
|
|
43
|
+
const colId = parentCell.column.id;
|
|
44
|
+
const accessorKey = colDef.accessorKey;
|
|
45
|
+
const width = parentCell.column.getSize();
|
|
46
|
+
// Check pinning state
|
|
47
|
+
const isPinnedLeft = parentCell.column.getIsPinned() === 'left';
|
|
48
|
+
const isPinnedRight = parentCell.column.getIsPinned() === 'right';
|
|
49
|
+
// Calculate right position for right-pinned cells
|
|
50
|
+
let rightPosition = 0;
|
|
51
|
+
if (isPinnedRight) {
|
|
52
|
+
for (let i = cellIndex + 1; i < parentCells.length; i++) {
|
|
53
|
+
const nextCell = parentCells[i];
|
|
54
|
+
if (nextCell.column.getIsPinned() === 'right') {
|
|
55
|
+
rightPosition += nextCell.column.getSize();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Calculate left position for left-pinned (frozen) cells
|
|
60
|
+
let leftPosition = 0;
|
|
61
|
+
if (isPinnedLeft) {
|
|
62
|
+
for (let i = 0; i < cellIndex; i++) {
|
|
63
|
+
const prevCell = parentCells[i];
|
|
64
|
+
if (prevCell.column.getIsPinned() === 'left') {
|
|
65
|
+
leftPosition += prevCell.column.getSize();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Get cell value from sub-data item
|
|
70
|
+
const cellValue = accessorKey ? item[accessorKey] : undefined;
|
|
71
|
+
const cellString = String(cellValue ?? '').trim();
|
|
72
|
+
// Badge detection (same as CellRenderer)
|
|
73
|
+
const cellRendererString = colDef.cell?.toString() || '';
|
|
74
|
+
const isBadgeColumn = cellRendererString.includes('Badge') ||
|
|
75
|
+
cellRendererString.includes('BooleanCell') ||
|
|
76
|
+
cellRendererString.includes('rounded-full') ||
|
|
77
|
+
cellRendererString.includes('inline-flex');
|
|
78
|
+
const isPlaceholderValue = cellString === '-' || cellString === '–' || cellString === '—' || cellString === 'N/A' || cellString === 'n/a' || cellString === '';
|
|
79
|
+
// Excel-like alignment: Numbers RIGHT, Text LEFT, Badges/Placeholders CENTER
|
|
80
|
+
const isNumericContent = (() => {
|
|
81
|
+
if (typeof cellValue === 'number')
|
|
82
|
+
return true;
|
|
83
|
+
if (!cellString || cellString === 'null' || cellString === 'undefined')
|
|
84
|
+
return false;
|
|
85
|
+
if (/^-?\d*\.?\d+$/.test(cellString))
|
|
86
|
+
return true;
|
|
87
|
+
if (/^-?\d{1,3}(,\d{3})*(\.\d+)?$/.test(cellString))
|
|
88
|
+
return true;
|
|
89
|
+
if (/^-?\d+\.?\d*%$/.test(cellString))
|
|
90
|
+
return true;
|
|
91
|
+
if (/^[\$€£¥₹₽]\s?-?\d[\d,]*\.?\d*$/.test(cellString))
|
|
92
|
+
return true;
|
|
93
|
+
if (/^-?\d[\d,]*\.?\d*\s?[\$€£¥₹₽]$/.test(cellString))
|
|
94
|
+
return true;
|
|
95
|
+
if (/^\d+\.?\d*\s*[xX×]\s*\d+\.?\d*$/.test(cellString))
|
|
96
|
+
return true;
|
|
97
|
+
if (/^\(\d[\d,]*\.?\d*\)$/.test(cellString))
|
|
98
|
+
return true;
|
|
99
|
+
if (/^-?\d+\.?\d*[eE][+-]?\d+$/.test(cellString))
|
|
100
|
+
return true;
|
|
101
|
+
if (/^\d+\/\d+$/.test(cellString))
|
|
102
|
+
return true;
|
|
103
|
+
return false;
|
|
104
|
+
})();
|
|
105
|
+
const alignClass = isBadgeColumn || isPlaceholderValue ? 'text-center' : isNumericContent ? 'text-right' : 'text-left';
|
|
106
|
+
// Build a fake row context that satisfies TanStack cell renderers
|
|
107
|
+
const fakeRow = {
|
|
108
|
+
original: item,
|
|
109
|
+
getValue: (key) => item[key],
|
|
110
|
+
getIsSelected: () => isSelected,
|
|
111
|
+
toggleSelected: () => setSelectedSubRowId(prev => prev === rowId ? null : rowId),
|
|
112
|
+
getCanExpand: () => false,
|
|
113
|
+
getIsExpanded: () => false,
|
|
114
|
+
getToggleExpandedHandler: () => () => { },
|
|
115
|
+
};
|
|
116
|
+
// Render using the column's cell renderer if it exists, otherwise show raw value
|
|
117
|
+
let content = cellValue ?? '';
|
|
118
|
+
if (colDef.cell && typeof colDef.cell === 'function') {
|
|
119
|
+
try {
|
|
120
|
+
content = colDef.cell({
|
|
121
|
+
getValue: () => cellValue,
|
|
122
|
+
row: fakeRow,
|
|
123
|
+
column: parentCell.column,
|
|
124
|
+
cell: parentCell,
|
|
125
|
+
renderValue: () => cellValue,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
content = cellValue ?? '';
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Pinned cells need a solid background; inherit the row tint (--dg-row-bg)
|
|
133
|
+
// when the consumer set one so frozen/pinned cells match the rest of the row.
|
|
134
|
+
const pinnedBg = isSelected
|
|
135
|
+
? 'color-mix(in srgb, rgb(var(--color-primary)) 12%, rgb(var(--bg-surface)))'
|
|
136
|
+
: 'var(--dg-row-bg, rgb(var(--bg-surface)))';
|
|
137
|
+
return ((0, jsx_runtime_1.jsx)("td", { className: `px-1 py-1 text-xs text-[rgb(var(--fg-default))] align-middle ${alignClass} ${isPinnedLeft || isPinnedRight ? 'sticky z-[5]' : ''}`, style: {
|
|
138
|
+
width: `${width}px`,
|
|
139
|
+
minWidth: `${width}px`,
|
|
140
|
+
boxShadow: `inset 0 -1px 0 rgb(var(--bd-default))${isPinnedRight ? ', -2px 0 5px -2px rgba(0,0,0,0.1)' : ''}`,
|
|
141
|
+
...(isPinnedRight && {
|
|
142
|
+
position: 'sticky',
|
|
143
|
+
right: `${rightPosition}px`,
|
|
144
|
+
backgroundColor: pinnedBg,
|
|
145
|
+
transform: 'translateZ(0)',
|
|
146
|
+
willChange: 'transform',
|
|
147
|
+
}),
|
|
148
|
+
...(isPinnedLeft && {
|
|
149
|
+
position: 'sticky',
|
|
150
|
+
left: `${leftPosition}px`,
|
|
151
|
+
backgroundColor: pinnedBg,
|
|
152
|
+
transform: 'translateZ(0)',
|
|
153
|
+
willChange: 'transform',
|
|
154
|
+
}),
|
|
155
|
+
}, children: (0, jsx_runtime_1.jsx)("div", { className: "relative", children: (0, jsx_runtime_1.jsx)("div", { className: "whitespace-nowrap overflow-hidden text-ellipsis", children: content }) }) }, `${rowId}-${colId}`));
|
|
156
|
+
}) }, rowId));
|
|
157
|
+
}) }));
|
|
158
|
+
}
|
|
159
|
+
function ExpansionToggleCell({ row }) {
|
|
160
|
+
if (!row.getCanExpand?.()) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
return ((0, jsx_runtime_1.jsx)("button", { onClick: (e) => {
|
|
164
|
+
e.stopPropagation();
|
|
165
|
+
row.getToggleExpandedHandler?.()?.();
|
|
166
|
+
}, className: "flex items-center justify-center w-6 h-6 rounded hover:bg-[rgb(var(--bg-hover))] transition-colors", "aria-label": row.getIsExpanded?.() ? 'Collapse' : 'Expand', children: row.getIsExpanded?.() ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "h-4 w-4 text-[rgb(var(--fg-muted))]" })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4 text-[rgb(var(--fg-muted))]" })) }));
|
|
167
|
+
}
|
|
168
|
+
// ==========================================
|
|
169
|
+
// EXPANSION TOGGLE HEADER
|
|
170
|
+
// ==========================================
|
|
171
|
+
// Header button to expand/collapse ALL rows at once
|
|
172
|
+
function ExpansionToggleHeader({ table }) {
|
|
173
|
+
const isAllExpanded = table.getIsAllRowsExpanded();
|
|
174
|
+
const isSomeExpanded = table.getIsSomeRowsExpanded();
|
|
175
|
+
return ((0, jsx_runtime_1.jsx)("button", { onClick: (e) => {
|
|
176
|
+
e.stopPropagation();
|
|
177
|
+
table.toggleAllRowsExpanded(!isAllExpanded);
|
|
178
|
+
}, className: "flex items-center justify-center w-6 h-6", children: isAllExpanded || isSomeExpanded ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsDownUp, { className: "h-4 w-4 text-[rgb(var(--fg-muted))]" })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "h-4 w-4 text-[rgb(var(--fg-muted))]" })) }));
|
|
179
|
+
}
|
|
180
|
+
function ProcessBreakdown({ processes }) {
|
|
181
|
+
const { getCurrencyInfo, selectedCurrency } = (0, CurrencyContext_1.useCurrency)();
|
|
182
|
+
const currencySymbol = getCurrencyInfo(selectedCurrency)?.symbol || '';
|
|
183
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3", children: processes.map((process, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col p-3 bg-white rounded-lg border border-gray-200 hover:border-blue-300 hover:shadow-sm transition-all", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-sm font-medium text-gray-700 mb-2", children: process.name }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-baseline gap-2", children: [(0, jsx_runtime_1.jsxs)("span", { className: "text-lg font-semibold text-gray-900", children: [currencySymbol, process.totalCost.toFixed(2)] }), (0, jsx_runtime_1.jsx)("span", { className: "text-xs text-gray-500", children: "/" }), (0, jsx_runtime_1.jsxs)("span", { className: "text-sm text-gray-600", children: [currencySymbol, process.unitCost.toFixed(2)] })] })] }, index))) }));
|
|
184
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.FilterRow = FilterRow;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const lucide_react_1 = require("lucide-react");
|
|
8
|
+
const utils_1 = require("../../../lib/utils.js");
|
|
9
|
+
// Extract the display value from a filter value (which could be a string or an object from context menu/advanced filter)
|
|
10
|
+
function extractFilterDisplayValue(filterValue) {
|
|
11
|
+
if (!filterValue)
|
|
12
|
+
return '';
|
|
13
|
+
if (typeof filterValue === 'string')
|
|
14
|
+
return filterValue;
|
|
15
|
+
if (typeof filterValue === 'object' && filterValue.value !== undefined) {
|
|
16
|
+
// Handle array values (from "in" filter) - show comma separated
|
|
17
|
+
if (Array.isArray(filterValue.value))
|
|
18
|
+
return filterValue.value.join(', ');
|
|
19
|
+
return String(filterValue.value);
|
|
20
|
+
}
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
// Debounce hook for filter inputs
|
|
24
|
+
function useDebouncedCallback(callback, delay) {
|
|
25
|
+
const timeoutRef = (0, react_1.useRef)(null);
|
|
26
|
+
const debouncedCallback = (0, react_1.useCallback)((...args) => {
|
|
27
|
+
if (timeoutRef.current) {
|
|
28
|
+
clearTimeout(timeoutRef.current);
|
|
29
|
+
}
|
|
30
|
+
timeoutRef.current = setTimeout(() => {
|
|
31
|
+
callback(...args);
|
|
32
|
+
}, delay);
|
|
33
|
+
}, [callback, delay]);
|
|
34
|
+
(0, react_1.useEffect)(() => {
|
|
35
|
+
return () => {
|
|
36
|
+
if (timeoutRef.current) {
|
|
37
|
+
clearTimeout(timeoutRef.current);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
return debouncedCallback;
|
|
42
|
+
}
|
|
43
|
+
// Detect if column is a date column based on id, accessorKey, or meta
|
|
44
|
+
function isDateColumn(header) {
|
|
45
|
+
const columnId = header.column.id.toLowerCase();
|
|
46
|
+
const accessorKey = (header.column.columnDef.accessorKey || '').toLowerCase();
|
|
47
|
+
const meta = header.column.columnDef.meta;
|
|
48
|
+
// Check meta first (most reliable)
|
|
49
|
+
if (meta?.filterType === 'date')
|
|
50
|
+
return true;
|
|
51
|
+
if (meta?.type === 'date')
|
|
52
|
+
return true;
|
|
53
|
+
// Check column ID/accessor for date-related names (be specific to avoid false positives)
|
|
54
|
+
const dateKeywords = ['date', 'createdat', 'updatedat', 'timestamp', 'datetime'];
|
|
55
|
+
return dateKeywords.some(keyword => columnId.includes(keyword) || accessorKey.includes(keyword));
|
|
56
|
+
}
|
|
57
|
+
// Detect if column is a number column
|
|
58
|
+
function isNumberColumn(header) {
|
|
59
|
+
const meta = header.column.columnDef.meta;
|
|
60
|
+
// Check meta first
|
|
61
|
+
if (meta?.filterType === 'number')
|
|
62
|
+
return true;
|
|
63
|
+
if (meta?.type === 'number')
|
|
64
|
+
return true;
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
// Check if column should skip filtering (select columns, action columns)
|
|
68
|
+
function shouldSkipFilter(header) {
|
|
69
|
+
const meta = header.column.columnDef.meta;
|
|
70
|
+
const columnId = header.column.id.toLowerCase();
|
|
71
|
+
// Skip select/checkbox columns
|
|
72
|
+
if (meta?.isSelectColumn || meta?.skipSearch || columnId === 'select')
|
|
73
|
+
return true;
|
|
74
|
+
// Skip action columns
|
|
75
|
+
if (columnId === 'actions' || meta?.isActionColumn)
|
|
76
|
+
return true;
|
|
77
|
+
// Skip expand toggle columns
|
|
78
|
+
if (columnId === 'expand' || meta?.isExpandColumn)
|
|
79
|
+
return true;
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
function FilterCell({ header, isFrozen, isPinnedRight, leftPosition, rightPosition, isLastFrozen, isFirstPinnedRight, isLastColumn, onColumnFilterChange }) {
|
|
83
|
+
const [localValue, setLocalValue] = (0, react_1.useState)('');
|
|
84
|
+
const inputRef = (0, react_1.useRef)(null);
|
|
85
|
+
// Get current filter value from table (could be string or object from context menu)
|
|
86
|
+
const currentFilterValue = header.column.getFilterValue();
|
|
87
|
+
// Sync local value with table filter value - extract display string from any format
|
|
88
|
+
(0, react_1.useEffect)(() => {
|
|
89
|
+
setLocalValue(extractFilterDisplayValue(currentFilterValue));
|
|
90
|
+
}, [currentFilterValue]);
|
|
91
|
+
// Debounced filter update
|
|
92
|
+
const debouncedSetFilter = useDebouncedCallback((value) => {
|
|
93
|
+
header.column.setFilterValue(value || undefined);
|
|
94
|
+
onColumnFilterChange?.();
|
|
95
|
+
}, 300);
|
|
96
|
+
const handleChange = (e) => {
|
|
97
|
+
const value = e.target.value;
|
|
98
|
+
setLocalValue(value);
|
|
99
|
+
debouncedSetFilter(value);
|
|
100
|
+
};
|
|
101
|
+
const handleClear = () => {
|
|
102
|
+
setLocalValue('');
|
|
103
|
+
header.column.setFilterValue(undefined);
|
|
104
|
+
inputRef.current?.focus();
|
|
105
|
+
};
|
|
106
|
+
const skipFilter = shouldSkipFilter(header);
|
|
107
|
+
const isDate = !skipFilter && isDateColumn(header);
|
|
108
|
+
const isNumber = !skipFilter && isNumberColumn(header);
|
|
109
|
+
// Build box-shadow for consistent rendering (no vertical separators in filter row)
|
|
110
|
+
const cellBoxShadow = [
|
|
111
|
+
'inset 0 -1px 0 rgb(var(--bd-default))', // Bottom border only
|
|
112
|
+
...(isLastFrozen ? ['2px 0 5px -2px rgba(0,0,0,0.1)'] : []),
|
|
113
|
+
...(isFirstPinnedRight ? ['-2px 0 5px -2px rgba(0,0,0,0.1)'] : [])
|
|
114
|
+
].join(', ');
|
|
115
|
+
return ((0, jsx_runtime_1.jsx)("th", { style: {
|
|
116
|
+
width: `${header.getSize()}px`,
|
|
117
|
+
minWidth: `${header.getSize()}px`,
|
|
118
|
+
height: '2rem',
|
|
119
|
+
position: 'relative',
|
|
120
|
+
boxShadow: cellBoxShadow,
|
|
121
|
+
...(isFrozen && {
|
|
122
|
+
position: 'sticky',
|
|
123
|
+
left: `${leftPosition}px`,
|
|
124
|
+
zIndex: 11,
|
|
125
|
+
backgroundColor: 'color-mix(in srgb, rgb(var(--color-primary)) 5%, rgb(var(--bg-surface)))',
|
|
126
|
+
transform: 'translateZ(0)',
|
|
127
|
+
willChange: 'transform'
|
|
128
|
+
}),
|
|
129
|
+
...(isPinnedRight && {
|
|
130
|
+
position: 'sticky',
|
|
131
|
+
right: `${rightPosition}px`,
|
|
132
|
+
zIndex: 12,
|
|
133
|
+
backgroundColor: 'color-mix(in srgb, rgb(var(--color-primary)) 5%, rgb(var(--bg-surface)))',
|
|
134
|
+
transform: 'translateZ(0)',
|
|
135
|
+
willChange: 'transform'
|
|
136
|
+
})
|
|
137
|
+
}, className: (0, utils_1.cn)('px-1 text-left align-middle', 'bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,white)]', 'dark:bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,rgb(var(--bg-surface)))]'), children: skipFilter ? (
|
|
138
|
+
// Empty cell for select/action columns
|
|
139
|
+
(0, jsx_runtime_1.jsx)("div", { className: "h-full" })) : ((0, jsx_runtime_1.jsxs)("div", { className: "relative flex items-center h-full", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute left-1.5 top-1/2 -translate-y-1/2 pointer-events-none opacity-50", children: isDate ? ((0, jsx_runtime_1.jsx)(lucide_react_1.Calendar, { className: "h-3 w-3 text-[rgb(var(--color-icon))]" })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.Search, { className: "h-3 w-3 text-[rgb(var(--color-icon))]" })) }), (0, jsx_runtime_1.jsx)("input", { ref: inputRef, type: isNumber ? 'number' : 'text', value: localValue, onChange: handleChange, placeholder: "", className: (0, utils_1.cn)('w-full h-6 pl-6 pr-5 text-xs', 'bg-[rgb(var(--bg-surface))] rounded', 'focus:outline-none focus:ring-1 focus:ring-[rgb(var(--color-primary))] focus:border-[rgb(var(--color-primary))]', 'placeholder:text-[rgb(var(--fg-muted))]', 'text-[rgb(var(--fg-default))]',
|
|
140
|
+
// Highlight active filter
|
|
141
|
+
localValue
|
|
142
|
+
? 'border-2 border-[rgb(var(--color-primary))] bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,rgb(var(--bg-surface)))]'
|
|
143
|
+
: 'border border-[rgb(var(--bd-default))]') }), localValue && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleClear, className: "absolute right-1 top-1/2 -translate-y-1/2 p-0.5 hover:bg-[rgb(var(--bg-hover))] rounded transition-colors", children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "h-3 w-3 text-[rgb(var(--color-icon))]" }) }))] })) }));
|
|
144
|
+
}
|
|
145
|
+
function FilterRow({ table, frozenColumnsState, isRowReorderingActive, onColumnFilterChange }) {
|
|
146
|
+
const headerGroups = table.getHeaderGroups();
|
|
147
|
+
// Get the last header group (bottom-most headers in case of grouped headers)
|
|
148
|
+
const headerGroup = headerGroups[headerGroups.length - 1];
|
|
149
|
+
if (!headerGroup)
|
|
150
|
+
return null;
|
|
151
|
+
return ((0, jsx_runtime_1.jsxs)("tr", { className: "border-t border-b border-[rgb(var(--bd-default))] bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,white)] dark:bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,rgb(var(--bg-surface)))]", children: [isRowReorderingActive && ((0, jsx_runtime_1.jsx)("th", { style: {
|
|
152
|
+
width: '1.875rem',
|
|
153
|
+
minWidth: '1.875rem',
|
|
154
|
+
maxWidth: '1.875rem',
|
|
155
|
+
height: '2rem'
|
|
156
|
+
}, className: "bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,white)] dark:bg-[color-mix(in_srgb,rgb(var(--color-primary))_5%,rgb(var(--bg-surface)))]" })), headerGroup.headers.map((header, headerIndex) => {
|
|
157
|
+
const isFrozen = frozenColumnsState.has(header.id);
|
|
158
|
+
const isPinnedRight = header.column.getIsPinned() === 'right';
|
|
159
|
+
const isLastColumn = headerIndex === headerGroup.headers.length - 1;
|
|
160
|
+
// Check if this is the last frozen column
|
|
161
|
+
const isLastFrozen = isFrozen && (headerIndex === headerGroup.headers.length - 1 ||
|
|
162
|
+
!frozenColumnsState.has(headerGroup.headers[headerIndex + 1]?.id));
|
|
163
|
+
// Check if this is the first right-pinned column
|
|
164
|
+
const isFirstPinnedRight = isPinnedRight && (headerIndex === 0 ||
|
|
165
|
+
headerGroup.headers[headerIndex - 1]?.column.getIsPinned() !== 'right');
|
|
166
|
+
// Calculate left position for frozen columns
|
|
167
|
+
let leftPosition = 0;
|
|
168
|
+
if (isFrozen) {
|
|
169
|
+
for (let i = 0; i < headerIndex; i++) {
|
|
170
|
+
const prevHeader = headerGroup.headers[i];
|
|
171
|
+
if (frozenColumnsState.has(prevHeader.id)) {
|
|
172
|
+
leftPosition += prevHeader.getSize();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Calculate right position for right-pinned columns
|
|
177
|
+
let rightPosition = 0;
|
|
178
|
+
if (isPinnedRight) {
|
|
179
|
+
for (let i = headerIndex + 1; i < headerGroup.headers.length; i++) {
|
|
180
|
+
const nextHeader = headerGroup.headers[i];
|
|
181
|
+
if (nextHeader.column.getIsPinned() === 'right') {
|
|
182
|
+
rightPosition += nextHeader.getSize();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return ((0, jsx_runtime_1.jsx)(FilterCell, { header: header, isFrozen: isFrozen, isPinnedRight: isPinnedRight, leftPosition: leftPosition, rightPosition: rightPosition, isLastFrozen: isLastFrozen, isFirstPinnedRight: isFirstPinnedRight, isLastColumn: isLastColumn, onColumnFilterChange: onColumnFilterChange }, header.id));
|
|
187
|
+
})] }));
|
|
188
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createSelectColumn = createSelectColumn;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
function createSelectColumn() {
|
|
7
|
+
return {
|
|
8
|
+
id: 'select',
|
|
9
|
+
header: ({ table }) => {
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "w-full h-full flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: table.getIsAllPageRowsSelected(), onChange: (e) => {
|
|
11
|
+
e.stopPropagation();
|
|
12
|
+
table.toggleAllPageRowsSelected(e.target.checked);
|
|
13
|
+
}, className: "w-4 h-4 border border-gray-300 rounded cursor-pointer focus:ring-2 focus:ring-blue-500" }) }));
|
|
14
|
+
},
|
|
15
|
+
cell: ({ row }) => {
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "w-full h-full flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row.getIsSelected(), onChange: (e) => {
|
|
17
|
+
e.stopPropagation();
|
|
18
|
+
row.toggleSelected(e.target.checked);
|
|
19
|
+
}, className: "w-4 h-4 border border-gray-300 rounded cursor-pointer focus:ring-2 focus:ring-blue-500" }) }));
|
|
20
|
+
},
|
|
21
|
+
enableSorting: false,
|
|
22
|
+
enableHiding: false,
|
|
23
|
+
enableResizing: false,
|
|
24
|
+
enableColumnFilter: false,
|
|
25
|
+
enableGlobalFilter: false,
|
|
26
|
+
size: 30,
|
|
27
|
+
maxSize: 30,
|
|
28
|
+
minSize: 30,
|
|
29
|
+
meta: {
|
|
30
|
+
isSelectColumn: true,
|
|
31
|
+
skipSearch: true
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SummaryRow = SummaryRow;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const summary_1 = require("./summary.js");
|
|
7
|
+
function SummaryRow({ table, data, config, enableRowSelection = false, showDragHandle = false }) {
|
|
8
|
+
const visibleColumns = table.getVisibleLeafColumns();
|
|
9
|
+
// Support both single config and array of configs
|
|
10
|
+
const configs = Array.isArray(config) ? config : [config];
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)("tfoot", { className: "sticky bottom-0 z-10 bg-[rgb(var(--bg-surface))]", children: configs.map((cfg, configIndex) => {
|
|
12
|
+
// Calculate summary values for this row
|
|
13
|
+
const summaries = (0, summary_1.calculateAllSummaries)(data, cfg.columns);
|
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("tr", { className: `${configIndex > 0 ? 'border-t border-[rgb(var(--bd-default))]' : ''} ${cfg.className || 'bg-[rgb(var(--bg-muted))] font-semibold'} [text-decoration:none]`, style: { ...cfg.style, textDecoration: 'none' }, children: [showDragHandle && ((0, jsx_runtime_1.jsx)("td", { className: "text-center", style: { width: '1.875rem', minWidth: '1.875rem', maxWidth: '1.875rem' } })), visibleColumns.map((column, index) => {
|
|
15
|
+
const columnKey = column.id;
|
|
16
|
+
const summaryConfig = cfg.columns[columnKey];
|
|
17
|
+
const columnSize = column.getSize();
|
|
18
|
+
// If this column has no summary, render empty cell
|
|
19
|
+
if (!summaryConfig) {
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)("td", { className: "px-2 py-1 text-xs", style: { width: `${columnSize}px`, maxWidth: `${columnSize}px` }, suppressHydrationWarning: true }, columnKey));
|
|
21
|
+
}
|
|
22
|
+
// Get calculated value
|
|
23
|
+
const value = summaries[columnKey];
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)("td", { className: `px-2 py-1 text-xs ${summaryConfig.className || 'text-right'} [text-decoration:none]`, style: { width: `${columnSize}px`, maxWidth: `${columnSize}px`, textDecoration: 'none' }, suppressHydrationWarning: true, children: (0, jsx_runtime_1.jsxs)("div", { className: "line-clamp-2 [text-decoration:none]", style: {
|
|
25
|
+
textDecoration: 'none',
|
|
26
|
+
display: '-webkit-box',
|
|
27
|
+
WebkitLineClamp: 2,
|
|
28
|
+
WebkitBoxOrient: 'vertical',
|
|
29
|
+
overflow: 'hidden',
|
|
30
|
+
wordBreak: 'break-word'
|
|
31
|
+
}, children: [summaryConfig.label && ((0, jsx_runtime_1.jsx)("span", { className: "mr-1 [text-decoration:none]", style: { textDecoration: 'none' }, children: summaryConfig.label })), (0, jsx_runtime_1.jsx)("span", { className: "font-bold text-[rgb(var(--color-primary))] [text-decoration:none]", style: { textDecoration: 'none' }, children: value })] }) }, columnKey));
|
|
32
|
+
})] }, configIndex));
|
|
33
|
+
}) }));
|
|
34
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.calculateSummary = calculateSummary;
|
|
5
|
+
exports.calculateAllSummaries = calculateAllSummaries;
|
|
6
|
+
/**
|
|
7
|
+
* Calculate summary value for a column based on aggregation type
|
|
8
|
+
*/
|
|
9
|
+
function calculateSummary(data, columnKey, config) {
|
|
10
|
+
// Handle custom aggregation with customFn (receives data array)
|
|
11
|
+
if (config.type === 'custom' && config.customFn) {
|
|
12
|
+
return config.customFn(data);
|
|
13
|
+
}
|
|
14
|
+
// Handle custom value (no data dependency - just returns value)
|
|
15
|
+
if (config.type === 'custom' && config.customValue) {
|
|
16
|
+
return config.customValue();
|
|
17
|
+
}
|
|
18
|
+
// Extract values from data for the column
|
|
19
|
+
const values = data
|
|
20
|
+
.map((row) => row[columnKey])
|
|
21
|
+
.filter((val) => val !== null && val !== undefined && val !== '')
|
|
22
|
+
.map((val) => {
|
|
23
|
+
// Try to convert to number
|
|
24
|
+
const num = typeof val === 'number' ? val : parseFloat(val);
|
|
25
|
+
return isNaN(num) ? null : num;
|
|
26
|
+
})
|
|
27
|
+
.filter((val) => val !== null);
|
|
28
|
+
if (values.length === 0) {
|
|
29
|
+
return config.type === 'count' ? 0 : '';
|
|
30
|
+
}
|
|
31
|
+
let result;
|
|
32
|
+
switch (config.type) {
|
|
33
|
+
case 'sum':
|
|
34
|
+
result = values.reduce((sum, val) => sum + val, 0);
|
|
35
|
+
break;
|
|
36
|
+
case 'avg':
|
|
37
|
+
result = values.reduce((sum, val) => sum + val, 0) / values.length;
|
|
38
|
+
break;
|
|
39
|
+
case 'count':
|
|
40
|
+
result = values.length;
|
|
41
|
+
break;
|
|
42
|
+
case 'min':
|
|
43
|
+
result = Math.min(...values);
|
|
44
|
+
break;
|
|
45
|
+
case 'max':
|
|
46
|
+
result = Math.max(...values);
|
|
47
|
+
break;
|
|
48
|
+
default:
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
// Apply custom formatting if provided
|
|
52
|
+
if (config.format) {
|
|
53
|
+
return config.format(result);
|
|
54
|
+
}
|
|
55
|
+
// Default formatting
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Calculate all summaries for the grid
|
|
60
|
+
*/
|
|
61
|
+
function calculateAllSummaries(data, summaryConfig) {
|
|
62
|
+
const summaries = {};
|
|
63
|
+
for (const [columnKey, config] of Object.entries(summaryConfig)) {
|
|
64
|
+
summaries[columnKey] = calculateSummary(data, columnKey, config);
|
|
65
|
+
}
|
|
66
|
+
return summaries;
|
|
67
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.InlineSearchCell = InlineSearchCell;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const lucide_react_1 = require("lucide-react");
|
|
8
|
+
function InlineSearchCell({ value, columnId, rowId, onSearch, onClearSearch, isSearchActive, searchTerm, className = '' }) {
|
|
9
|
+
const [localSearchTerm, setLocalSearchTerm] = (0, react_1.useState)(searchTerm);
|
|
10
|
+
const [isTyping, setIsTyping] = (0, react_1.useState)(false);
|
|
11
|
+
const [typingTimeout, setTypingTimeout] = (0, react_1.useState)(null);
|
|
12
|
+
const cellRef = (0, react_1.useRef)(null);
|
|
13
|
+
// Update local search term when prop changes
|
|
14
|
+
(0, react_1.useEffect)(() => {
|
|
15
|
+
setLocalSearchTerm(searchTerm);
|
|
16
|
+
}, [searchTerm]);
|
|
17
|
+
// Reset typing timer function
|
|
18
|
+
const resetTypingTimer = () => {
|
|
19
|
+
// Clear existing timeout
|
|
20
|
+
if (typingTimeout) {
|
|
21
|
+
clearTimeout(typingTimeout);
|
|
22
|
+
}
|
|
23
|
+
// Set new timeout to stop typing indicator
|
|
24
|
+
const timeout = setTimeout(() => {
|
|
25
|
+
setIsTyping(false);
|
|
26
|
+
}, 1500);
|
|
27
|
+
setTypingTimeout(timeout);
|
|
28
|
+
};
|
|
29
|
+
// Handle direct typing on the cell
|
|
30
|
+
(0, react_1.useEffect)(() => {
|
|
31
|
+
const handleKeyDown = (event) => {
|
|
32
|
+
// Only handle if this cell is focused or clicked
|
|
33
|
+
if (!cellRef.current || !cellRef.current.contains(document.activeElement))
|
|
34
|
+
return;
|
|
35
|
+
// Handle backspace to clear search
|
|
36
|
+
if (event.key === 'Backspace') {
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
if (localSearchTerm.length > 0) {
|
|
39
|
+
const newTerm = localSearchTerm.slice(0, -1);
|
|
40
|
+
setLocalSearchTerm(newTerm);
|
|
41
|
+
onSearch(columnId, newTerm);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
onClearSearch(columnId);
|
|
45
|
+
}
|
|
46
|
+
setIsTyping(true);
|
|
47
|
+
resetTypingTimer();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Handle escape to clear search
|
|
51
|
+
if (event.key === 'Escape') {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
setLocalSearchTerm('');
|
|
54
|
+
onClearSearch(columnId);
|
|
55
|
+
setIsTyping(false);
|
|
56
|
+
cellRef.current?.blur();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Handle printable characters
|
|
60
|
+
if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
const newTerm = localSearchTerm + event.key;
|
|
63
|
+
setLocalSearchTerm(newTerm);
|
|
64
|
+
onSearch(columnId, newTerm);
|
|
65
|
+
setIsTyping(true);
|
|
66
|
+
resetTypingTimer();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
70
|
+
return () => {
|
|
71
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
72
|
+
if (typingTimeout) {
|
|
73
|
+
clearTimeout(typingTimeout);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
|
+
}, [localSearchTerm, columnId, onSearch, onClearSearch]);
|
|
78
|
+
const handleCellClick = () => {
|
|
79
|
+
// Make cell focusable for keyboard input
|
|
80
|
+
if (cellRef.current) {
|
|
81
|
+
cellRef.current.focus();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
// Highlight matching text in the display value
|
|
85
|
+
const renderHighlightedText = (text, highlight) => {
|
|
86
|
+
if (!highlight || !text)
|
|
87
|
+
return text;
|
|
88
|
+
const parts = text.toString().split(new RegExp(`(${highlight})`, 'gi'));
|
|
89
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: parts.map((part, index) => part.toLowerCase() === highlight.toLowerCase() ? ((0, jsx_runtime_1.jsx)("mark", { className: "bg-yellow-200 text-yellow-900 px-0.5 rounded", children: part }, index)) : ((0, jsx_runtime_1.jsx)("span", { children: part }, index))) }));
|
|
90
|
+
};
|
|
91
|
+
const displayValue = value?.toString() || '';
|
|
92
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ref: cellRef, tabIndex: 0, className: `bacchasearch relative group cursor-pointer outline-none inline-flex items-center w-full ${className}`, onClick: handleCellClick, children: [(0, jsx_runtime_1.jsx)("span", { className: `
|
|
93
|
+
text-xs flex-1 rounded transition-colors
|
|
94
|
+
${isSearchActive ? 'bg-[rgb(var(--color-primary)/0.1)]' : 'hover:bg-[rgb(var(--color-primary)/0.05)]'}
|
|
95
|
+
${isTyping ? 'ring-1 ring-[rgb(var(--color-primary)/0.3)] bg-[rgb(var(--color-primary)/0.15)]' : ''}
|
|
96
|
+
`, children: isSearchActive && searchTerm ?
|
|
97
|
+
renderHighlightedText(displayValue, searchTerm) :
|
|
98
|
+
displayValue }), (0, jsx_runtime_1.jsx)(lucide_react_1.Search, { className: `h-3 w-3 text-[rgb(var(--fg-muted))] ml-0.5 flex-shrink-0 transition-opacity ${isTyping ? 'opacity-100' : 'opacity-0 group-hover:opacity-100'}` }), (isTyping || isSearchActive) && ((0, jsx_runtime_1.jsx)("div", { className: "absolute -top-0.5 -right-0.5", children: (0, jsx_runtime_1.jsx)("div", { className: `h-1.5 w-1.5 rounded-full ${isTyping ? 'bg-[rgb(var(--color-success))]' : 'bg-[rgb(var(--color-primary))]'}` }) })), isTyping && localSearchTerm && ((0, jsx_runtime_1.jsxs)("div", { className: "absolute -bottom-5 left-0 bg-[rgb(var(--bg-surface))] text-[rgb(var(--fg-default))] text-xs px-1.5 py-0.5 rounded shadow-lg border border-[rgb(var(--bd-default))] z-10 whitespace-nowrap", children: ["\"", localSearchTerm, "\""] }))] }));
|
|
99
|
+
}
|