@umodeapporg/ui 0.0.0-canary.ca10e69
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/README.md +78 -0
- package/dist/assets/images/common-pngs/sparkles.png.js +5 -0
- package/dist/assets/images/common-pngs/sparkles.png.js.map +1 -0
- package/dist/assets/umode-ui.css +467 -0
- package/dist/components/DateTime/DatePicker.d.ts +21 -0
- package/dist/components/DateTime/DatePicker.js +124 -0
- package/dist/components/DateTime/DatePicker.js.map +1 -0
- package/dist/components/DateTime/DateRangePicker.d.ts +21 -0
- package/dist/components/DateTime/DateRangePicker.js +208 -0
- package/dist/components/DateTime/DateRangePicker.js.map +1 -0
- package/dist/components/Form/ControlledButton.d.ts +25 -0
- package/dist/components/Form/ControlledButton.js +73 -0
- package/dist/components/Form/ControlledButton.js.map +1 -0
- package/dist/components/Form/ControlledCheckbox.d.ts +16 -0
- package/dist/components/Form/ControlledCheckbox.js +115 -0
- package/dist/components/Form/ControlledCheckbox.js.map +1 -0
- package/dist/components/Form/ControlledDialog.d.ts +51 -0
- package/dist/components/Form/ControlledDialog.js +191 -0
- package/dist/components/Form/ControlledDialog.js.map +1 -0
- package/dist/components/Form/ControlledDialogPrimitives.d.ts +53 -0
- package/dist/components/Form/ControlledDialogPrimitives.js +245 -0
- package/dist/components/Form/ControlledDialogPrimitives.js.map +1 -0
- package/dist/components/Form/ControlledDrawer.d.ts +37 -0
- package/dist/components/Form/ControlledDrawer.js +241 -0
- package/dist/components/Form/ControlledDrawer.js.map +1 -0
- package/dist/components/Form/ControlledForm/InputField.d.ts +11 -0
- package/dist/components/Form/ControlledForm/InputField.js +75 -0
- package/dist/components/Form/ControlledForm/InputField.js.map +1 -0
- package/dist/components/Form/ControlledForm/index.d.ts +27 -0
- package/dist/components/Form/ControlledForm/index.js +113 -0
- package/dist/components/Form/ControlledForm/index.js.map +1 -0
- package/dist/components/Form/ControlledImage/Img.d.ts +11 -0
- package/dist/components/Form/ControlledImage/Img.js +29 -0
- package/dist/components/Form/ControlledImage/Img.js.map +1 -0
- package/dist/components/Form/ControlledImage/index.d.ts +33 -0
- package/dist/components/Form/ControlledImage/index.js +110 -0
- package/dist/components/Form/ControlledImage/index.js.map +1 -0
- package/dist/components/Form/ControlledImage/useImage.d.ts +9 -0
- package/dist/components/Form/ControlledImage/useImage.js +110 -0
- package/dist/components/Form/ControlledImage/useImage.js.map +1 -0
- package/dist/components/Form/ControlledInput.d.ts +23 -0
- package/dist/components/Form/ControlledInput.js +52 -0
- package/dist/components/Form/ControlledInput.js.map +1 -0
- package/dist/components/Form/ControlledRadio.d.ts +15 -0
- package/dist/components/Form/ControlledRadio.js +91 -0
- package/dist/components/Form/ControlledRadio.js.map +1 -0
- package/dist/components/Form/ControlledSelect.d.ts +53 -0
- package/dist/components/Form/ControlledSelect.js +797 -0
- package/dist/components/Form/ControlledSelect.js.map +1 -0
- package/dist/components/Form/ControlledSwitch.d.ts +21 -0
- package/dist/components/Form/ControlledSwitch.js +107 -0
- package/dist/components/Form/ControlledSwitch.js.map +1 -0
- package/dist/components/Form/ControlledTabs.d.ts +75 -0
- package/dist/components/Form/ControlledTabs.js +515 -0
- package/dist/components/Form/ControlledTabs.js.map +1 -0
- package/dist/components/Form/ControlledTabsPrimitives.d.ts +43 -0
- package/dist/components/Form/ControlledTabsPrimitives.js +48 -0
- package/dist/components/Form/ControlledTabsPrimitives.js.map +1 -0
- package/dist/components/Form/ControlledTextarea.d.ts +22 -0
- package/dist/components/Form/ControlledTextarea.js +46 -0
- package/dist/components/Form/ControlledTextarea.js.map +1 -0
- package/dist/components/Form/ControlledTimeline.d.ts +26 -0
- package/dist/components/Form/ControlledTimeline.js +60 -0
- package/dist/components/Form/ControlledTimeline.js.map +1 -0
- package/dist/components/Form/ControlledViewToggle.d.ts +74 -0
- package/dist/components/Form/ControlledViewToggle.js +157 -0
- package/dist/components/Form/ControlledViewToggle.js.map +1 -0
- package/dist/components/Form/ControlledVoiceTextarea.d.ts +13 -0
- package/dist/components/Form/ControlledVoiceTextarea.js +99 -0
- package/dist/components/Form/ControlledVoiceTextarea.js.map +1 -0
- package/dist/components/Form/CurrencyInput.d.ts +8 -0
- package/dist/components/Form/CurrencyInput.js +17 -0
- package/dist/components/Form/CurrencyInput.js.map +1 -0
- package/dist/components/Form/FieldLabel.d.ts +16 -0
- package/dist/components/Form/FieldLabel.js +7 -0
- package/dist/components/Form/FieldLabel.js.map +1 -0
- package/dist/components/Form/RichTextEditor.d.ts +86 -0
- package/dist/components/Form/RichTextEditor.js +581 -0
- package/dist/components/Form/RichTextEditor.js.map +1 -0
- package/dist/components/Form/attachments/AttachmentPreviewList.d.ts +22 -0
- package/dist/components/Form/attachments/AttachmentPreviewList.js +95 -0
- package/dist/components/Form/attachments/AttachmentPreviewList.js.map +1 -0
- package/dist/components/Form/attachments/FileDropzone.d.ts +12 -0
- package/dist/components/Form/attachments/FileDropzone.js +84 -0
- package/dist/components/Form/attachments/FileDropzone.js.map +1 -0
- package/dist/components/Navigation/ControlledBreadcrumb.d.ts +13 -0
- package/dist/components/Navigation/ControlledBreadcrumb.js +24 -0
- package/dist/components/Navigation/ControlledBreadcrumb.js.map +1 -0
- package/dist/components/Navigation/ErrorPage.d.ts +2 -0
- package/dist/components/Navigation/ErrorPage.js +27 -0
- package/dist/components/Navigation/ErrorPage.js.map +1 -0
- package/dist/components/Navigation/LinkButton.d.ts +26 -0
- package/dist/components/Navigation/LinkButton.js +82 -0
- package/dist/components/Navigation/LinkButton.js.map +1 -0
- package/dist/components/Navigation/PageTitle.d.ts +95 -0
- package/dist/components/Navigation/PageTitle.js +241 -0
- package/dist/components/Navigation/PageTitle.js.map +1 -0
- package/dist/components/Navigation/PageTitleCollapseContext.d.ts +13 -0
- package/dist/components/Navigation/PageTitleCollapseContext.js +9 -0
- package/dist/components/Navigation/PageTitleCollapseContext.js.map +1 -0
- package/dist/components/Navigation/PageTitleNavigationContext.d.ts +21 -0
- package/dist/components/Navigation/PageTitleNavigationContext.js +17 -0
- package/dist/components/Navigation/PageTitleNavigationContext.js.map +1 -0
- package/dist/components/Navigation/ReactRouterNavigationAdapter.d.ts +7 -0
- package/dist/components/Navigation/ReactRouterNavigationAdapter.js +27 -0
- package/dist/components/Navigation/ReactRouterNavigationAdapter.js.map +1 -0
- package/dist/components/Navigation/UiNavigationContext.d.ts +38 -0
- package/dist/components/Navigation/UiNavigationContext.js +44 -0
- package/dist/components/Navigation/UiNavigationContext.js.map +1 -0
- package/dist/components/Search/UnifiedSearchBar.d.ts +31 -0
- package/dist/components/Search/UnifiedSearchBar.js +167 -0
- package/dist/components/Search/UnifiedSearchBar.js.map +1 -0
- package/dist/components/Search/filters/ActiveFiltersBar.d.ts +15 -0
- package/dist/components/Search/filters/ActiveFiltersBar.js +48 -0
- package/dist/components/Search/filters/ActiveFiltersBar.js.map +1 -0
- package/dist/components/Search/filters/FilterChipsRow.d.ts +17 -0
- package/dist/components/Search/filters/FilterChipsRow.js +113 -0
- package/dist/components/Search/filters/FilterChipsRow.js.map +1 -0
- package/dist/components/Search/filters/FilterFieldControl.d.ts +19 -0
- package/dist/components/Search/filters/FilterFieldControl.js +390 -0
- package/dist/components/Search/filters/FilterFieldControl.js.map +1 -0
- package/dist/components/Search/filters/FiltersButton.d.ts +24 -0
- package/dist/components/Search/filters/FiltersButton.js +52 -0
- package/dist/components/Search/filters/FiltersButton.js.map +1 -0
- package/dist/components/Search/filters/FiltersForm.d.ts +18 -0
- package/dist/components/Search/filters/FiltersForm.js +112 -0
- package/dist/components/Search/filters/FiltersForm.js.map +1 -0
- package/dist/components/Search/filters/FiltersPanel.d.ts +32 -0
- package/dist/components/Search/filters/FiltersPanel.js +266 -0
- package/dist/components/Search/filters/FiltersPanel.js.map +1 -0
- package/dist/components/Search/filters/FiltersSummaryTooltip.d.ts +20 -0
- package/dist/components/Search/filters/FiltersSummaryTooltip.js +26 -0
- package/dist/components/Search/filters/FiltersSummaryTooltip.js.map +1 -0
- package/dist/components/Search/filters/filterTypes.d.ts +162 -0
- package/dist/components/Search/filters/filterTypes.js +2 -0
- package/dist/components/Search/filters/filterTypes.js.map +1 -0
- package/dist/components/Search/filters/filterValues.d.ts +22 -0
- package/dist/components/Search/filters/filterValues.js +91 -0
- package/dist/components/Search/filters/filterValues.js.map +1 -0
- package/dist/components/Search/filters/filtersLayout.d.ts +4 -0
- package/dist/components/Search/filters/filtersLayout.js +18 -0
- package/dist/components/Search/filters/filtersLayout.js.map +1 -0
- package/dist/components/Search/filters/index.d.ts +11 -0
- package/dist/components/Search/filters/index.js +32 -0
- package/dist/components/Search/filters/index.js.map +1 -0
- package/dist/components/Search/filters/useFilters.d.ts +33 -0
- package/dist/components/Search/filters/useFilters.js +162 -0
- package/dist/components/Search/filters/useFilters.js.map +1 -0
- package/dist/components/Search/index.d.ts +2 -0
- package/dist/components/Search/index.js +34 -0
- package/dist/components/Search/index.js.map +1 -0
- package/dist/components/Shell/AppHeader.d.ts +25 -0
- package/dist/components/Shell/AppHeader.js +69 -0
- package/dist/components/Shell/AppHeader.js.map +1 -0
- package/dist/components/Shell/AppShell.d.ts +22 -0
- package/dist/components/Shell/AppShell.js +146 -0
- package/dist/components/Shell/AppShell.js.map +1 -0
- package/dist/components/Shell/AppSidebar.d.ts +20 -0
- package/dist/components/Shell/AppSidebar.js +93 -0
- package/dist/components/Shell/AppSidebar.js.map +1 -0
- package/dist/components/Shell/LanguageToggle.d.ts +8 -0
- package/dist/components/Shell/LanguageToggle.js +59 -0
- package/dist/components/Shell/LanguageToggle.js.map +1 -0
- package/dist/components/Shell/PumpkinGlyph.d.ts +13 -0
- package/dist/components/Shell/PumpkinGlyph.js +29 -0
- package/dist/components/Shell/PumpkinGlyph.js.map +1 -0
- package/dist/components/Shell/SidebarMenu.d.ts +29 -0
- package/dist/components/Shell/SidebarMenu.js +254 -0
- package/dist/components/Shell/SidebarMenu.js.map +1 -0
- package/dist/components/Shell/ThemeToggle.d.ts +18 -0
- package/dist/components/Shell/ThemeToggle.js +68 -0
- package/dist/components/Shell/ThemeToggle.js.map +1 -0
- package/dist/components/Shell/headerControlStyles.d.ts +10 -0
- package/dist/components/Shell/headerControlStyles.js +11 -0
- package/dist/components/Shell/headerControlStyles.js.map +1 -0
- package/dist/components/Shell/sidebarFavorites.d.ts +21 -0
- package/dist/components/Shell/sidebarFavorites.js +69 -0
- package/dist/components/Shell/sidebarFavorites.js.map +1 -0
- package/dist/components/Shell/useSidebarState.d.ts +14 -0
- package/dist/components/Shell/useSidebarState.js +106 -0
- package/dist/components/Shell/useSidebarState.js.map +1 -0
- package/dist/components/UI/AccordionIcon.d.ts +10 -0
- package/dist/components/UI/AccordionIcon.js +22 -0
- package/dist/components/UI/AccordionIcon.js.map +1 -0
- package/dist/components/UI/AlertInfo/dismissedAlertsStore.d.ts +2 -0
- package/dist/components/UI/AlertInfo/dismissedAlertsStore.js +22 -0
- package/dist/components/UI/AlertInfo/dismissedAlertsStore.js.map +1 -0
- package/dist/components/UI/AlertInfo/index.d.ts +30 -0
- package/dist/components/UI/AlertInfo/index.js +78 -0
- package/dist/components/UI/AlertInfo/index.js.map +1 -0
- package/dist/components/UI/BaseDataCard.d.ts +27 -0
- package/dist/components/UI/BaseDataCard.js +170 -0
- package/dist/components/UI/BaseDataCard.js.map +1 -0
- package/dist/components/UI/BulkActionBar.d.ts +35 -0
- package/dist/components/UI/BulkActionBar.js +127 -0
- package/dist/components/UI/BulkActionBar.js.map +1 -0
- package/dist/components/UI/Chips/OutlinedChip.d.ts +42 -0
- package/dist/components/UI/Chips/OutlinedChip.js +190 -0
- package/dist/components/UI/Chips/OutlinedChip.js.map +1 -0
- package/dist/components/UI/Chips/StatusChip.d.ts +8 -0
- package/dist/components/UI/Chips/StatusChip.js +33 -0
- package/dist/components/UI/Chips/StatusChip.js.map +1 -0
- package/dist/components/UI/Chips/chipTones.d.ts +6 -0
- package/dist/components/UI/Chips/chipTones.js +53 -0
- package/dist/components/UI/Chips/chipTones.js.map +1 -0
- package/dist/components/UI/ColorSwatch.d.ts +30 -0
- package/dist/components/UI/ColorSwatch.js +53 -0
- package/dist/components/UI/ColorSwatch.js.map +1 -0
- package/dist/components/UI/Colors.d.ts +10 -0
- package/dist/components/UI/Colors.js +41 -0
- package/dist/components/UI/Colors.js.map +1 -0
- package/dist/components/UI/ControlledAccordion.d.ts +38 -0
- package/dist/components/UI/ControlledAccordion.js +95 -0
- package/dist/components/UI/ControlledAccordion.js.map +1 -0
- package/dist/components/UI/ControlledCollapse.d.ts +18 -0
- package/dist/components/UI/ControlledCollapse.js +40 -0
- package/dist/components/UI/ControlledCollapse.js.map +1 -0
- package/dist/components/UI/ControlledMenu.d.ts +79 -0
- package/dist/components/UI/ControlledMenu.js +234 -0
- package/dist/components/UI/ControlledMenu.js.map +1 -0
- package/dist/components/UI/ControlledPopover.d.ts +59 -0
- package/dist/components/UI/ControlledPopover.js +189 -0
- package/dist/components/UI/ControlledPopover.js.map +1 -0
- package/dist/components/UI/ControlledProgress.d.ts +13 -0
- package/dist/components/UI/ControlledProgress.js +46 -0
- package/dist/components/UI/ControlledProgress.js.map +1 -0
- package/dist/components/UI/ControlledSlider.d.ts +15 -0
- package/dist/components/UI/ControlledSlider.js +34 -0
- package/dist/components/UI/ControlledSlider.js.map +1 -0
- package/dist/components/UI/ControlledTooltip.d.ts +21 -0
- package/dist/components/UI/ControlledTooltip.js +146 -0
- package/dist/components/UI/ControlledTooltip.js.map +1 -0
- package/dist/components/UI/CustomBadge.d.ts +15 -0
- package/dist/components/UI/CustomBadge.js +34 -0
- package/dist/components/UI/CustomBadge.js.map +1 -0
- package/dist/components/UI/CustomCard.d.ts +13 -0
- package/dist/components/UI/CustomCard.js +36 -0
- package/dist/components/UI/CustomCard.js.map +1 -0
- package/dist/components/UI/CustomChart.d.ts +21 -0
- package/dist/components/UI/CustomChart.js +108 -0
- package/dist/components/UI/CustomChart.js.map +1 -0
- package/dist/components/UI/DataTable/DataTable.d.ts +108 -0
- package/dist/components/UI/DataTable/DataTable.js +606 -0
- package/dist/components/UI/DataTable/DataTable.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableAutoCard.d.ts +20 -0
- package/dist/components/UI/DataTable/DataTableAutoCard.js +39 -0
- package/dist/components/UI/DataTable/DataTableAutoCard.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableBody.d.ts +33 -0
- package/dist/components/UI/DataTable/DataTableBody.js +260 -0
- package/dist/components/UI/DataTable/DataTableBody.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableBodyCell.d.ts +21 -0
- package/dist/components/UI/DataTable/DataTableBodyCell.js +88 -0
- package/dist/components/UI/DataTable/DataTableBodyCell.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableBulkEditButton.d.ts +11 -0
- package/dist/components/UI/DataTable/DataTableBulkEditButton.js +24 -0
- package/dist/components/UI/DataTable/DataTableBulkEditButton.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableBulkEditDialog.d.ts +25 -0
- package/dist/components/UI/DataTable/DataTableBulkEditDialog.js +282 -0
- package/dist/components/UI/DataTable/DataTableBulkEditDialog.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableBulkEditRowsPicker.d.ts +13 -0
- package/dist/components/UI/DataTable/DataTableBulkEditRowsPicker.js +95 -0
- package/dist/components/UI/DataTable/DataTableBulkEditRowsPicker.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableBulkEditValueEditor.d.ts +20 -0
- package/dist/components/UI/DataTable/DataTableBulkEditValueEditor.js +94 -0
- package/dist/components/UI/DataTable/DataTableBulkEditValueEditor.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableColumnToggle.d.ts +34 -0
- package/dist/components/UI/DataTable/DataTableColumnToggle.js +170 -0
- package/dist/components/UI/DataTable/DataTableColumnToggle.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableDetailModal.d.ts +17 -0
- package/dist/components/UI/DataTable/DataTableDetailModal.js +109 -0
- package/dist/components/UI/DataTable/DataTableDetailModal.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableDetailPanel.d.ts +21 -0
- package/dist/components/UI/DataTable/DataTableDetailPanel.js +51 -0
- package/dist/components/UI/DataTable/DataTableDetailPanel.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableDetailTable.d.ts +35 -0
- package/dist/components/UI/DataTable/DataTableDetailTable.js +129 -0
- package/dist/components/UI/DataTable/DataTableDetailTable.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableEditModeButton.d.ts +12 -0
- package/dist/components/UI/DataTable/DataTableEditModeButton.js +29 -0
- package/dist/components/UI/DataTable/DataTableEditModeButton.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableFilters.d.ts +20 -0
- package/dist/components/UI/DataTable/DataTableFilters.js +65 -0
- package/dist/components/UI/DataTable/DataTableFilters.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableHead.d.ts +27 -0
- package/dist/components/UI/DataTable/DataTableHead.js +198 -0
- package/dist/components/UI/DataTable/DataTableHead.js.map +1 -0
- package/dist/components/UI/DataTable/DataTablePagination.d.ts +15 -0
- package/dist/components/UI/DataTable/DataTablePagination.js +149 -0
- package/dist/components/UI/DataTable/DataTablePagination.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableSaveButton.d.ts +13 -0
- package/dist/components/UI/DataTable/DataTableSaveButton.js +21 -0
- package/dist/components/UI/DataTable/DataTableSaveButton.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableSegmentedTabs.d.ts +8 -0
- package/dist/components/UI/DataTable/DataTableSegmentedTabs.js +35 -0
- package/dist/components/UI/DataTable/DataTableSegmentedTabs.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableStates.d.ts +17 -0
- package/dist/components/UI/DataTable/DataTableStates.js +59 -0
- package/dist/components/UI/DataTable/DataTableStates.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableToolbar.d.ts +28 -0
- package/dist/components/UI/DataTable/DataTableToolbar.js +110 -0
- package/dist/components/UI/DataTable/DataTableToolbar.js.map +1 -0
- package/dist/components/UI/DataTable/applyDataTableFilters.d.ts +16 -0
- package/dist/components/UI/DataTable/applyDataTableFilters.js +54 -0
- package/dist/components/UI/DataTable/applyDataTableFilters.js.map +1 -0
- package/dist/components/UI/DataTable/bulkEditValues.d.ts +8 -0
- package/dist/components/UI/DataTable/bulkEditValues.js +13 -0
- package/dist/components/UI/DataTable/bulkEditValues.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableActionsCell.d.ts +7 -0
- package/dist/components/UI/DataTable/cells/DataTableActionsCell.js +55 -0
- package/dist/components/UI/DataTable/cells/DataTableActionsCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableCell.d.ts +15 -0
- package/dist/components/UI/DataTable/cells/DataTableCell.js +63 -0
- package/dist/components/UI/DataTable/cells/DataTableCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableCodeCell.d.ts +6 -0
- package/dist/components/UI/DataTable/cells/DataTableCodeCell.js +7 -0
- package/dist/components/UI/DataTable/cells/DataTableCodeCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableColorCell.d.ts +7 -0
- package/dist/components/UI/DataTable/cells/DataTableColorCell.js +10 -0
- package/dist/components/UI/DataTable/cells/DataTableColorCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableCountCell.d.ts +5 -0
- package/dist/components/UI/DataTable/cells/DataTableCountCell.js +7 -0
- package/dist/components/UI/DataTable/cells/DataTableCountCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableDateCell.d.ts +5 -0
- package/dist/components/UI/DataTable/cells/DataTableDateCell.js +12 -0
- package/dist/components/UI/DataTable/cells/DataTableDateCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableEditableCell.d.ts +23 -0
- package/dist/components/UI/DataTable/cells/DataTableEditableCell.js +242 -0
- package/dist/components/UI/DataTable/cells/DataTableEditableCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.d.ts +10 -0
- package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.js +7 -0
- package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableOriginCell.d.ts +6 -0
- package/dist/components/UI/DataTable/cells/DataTableOriginCell.js +25 -0
- package/dist/components/UI/DataTable/cells/DataTableOriginCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableStatusCell.d.ts +6 -0
- package/dist/components/UI/DataTable/cells/DataTableStatusCell.js +24 -0
- package/dist/components/UI/DataTable/cells/DataTableStatusCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableTagCell.d.ts +6 -0
- package/dist/components/UI/DataTable/cells/DataTableTagCell.js +25 -0
- package/dist/components/UI/DataTable/cells/DataTableTagCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableTextCell.d.ts +6 -0
- package/dist/components/UI/DataTable/cells/DataTableTextCell.js +7 -0
- package/dist/components/UI/DataTable/cells/DataTableTextCell.js.map +1 -0
- package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.d.ts +6 -0
- package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.js +10 -0
- package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.js.map +1 -0
- package/dist/components/UI/DataTable/dataTableClasses.d.ts +12 -0
- package/dist/components/UI/DataTable/dataTableClasses.js +29 -0
- package/dist/components/UI/DataTable/dataTableClasses.js.map +1 -0
- package/dist/components/UI/DataTable/dataTableColumnWidths.d.ts +15 -0
- package/dist/components/UI/DataTable/dataTableColumnWidths.js +153 -0
- package/dist/components/UI/DataTable/dataTableColumnWidths.js.map +1 -0
- package/dist/components/UI/DataTable/dataTableColumnsStore.d.ts +12 -0
- package/dist/components/UI/DataTable/dataTableColumnsStore.js +68 -0
- package/dist/components/UI/DataTable/dataTableColumnsStore.js.map +1 -0
- package/dist/components/UI/DataTable/dataTableMotion.d.ts +6 -0
- package/dist/components/UI/DataTable/dataTableMotion.js +15 -0
- package/dist/components/UI/DataTable/dataTableMotion.js.map +1 -0
- package/dist/components/UI/DataTable/grid/GridFillHandle.d.ts +8 -0
- package/dist/components/UI/DataTable/grid/GridFillHandle.js +70 -0
- package/dist/components/UI/DataTable/grid/GridFillHandle.js.map +1 -0
- package/dist/components/UI/DataTable/grid/GridProvider.d.ts +36 -0
- package/dist/components/UI/DataTable/grid/GridProvider.js +128 -0
- package/dist/components/UI/DataTable/grid/GridProvider.js.map +1 -0
- package/dist/components/UI/DataTable/grid/fill/fillStrategies.d.ts +19 -0
- package/dist/components/UI/DataTable/grid/fill/fillStrategies.js +73 -0
- package/dist/components/UI/DataTable/grid/fill/fillStrategies.js.map +1 -0
- package/dist/components/UI/DataTable/grid/gridStore.d.ts +82 -0
- package/dist/components/UI/DataTable/grid/gridStore.js +259 -0
- package/dist/components/UI/DataTable/grid/gridStore.js.map +1 -0
- package/dist/components/UI/DataTable/grid/gridTypes.d.ts +59 -0
- package/dist/components/UI/DataTable/grid/gridTypes.js +27 -0
- package/dist/components/UI/DataTable/grid/gridTypes.js.map +1 -0
- package/dist/components/UI/DataTable/grid/useGridFillApply.d.ts +18 -0
- package/dist/components/UI/DataTable/grid/useGridFillApply.js +74 -0
- package/dist/components/UI/DataTable/grid/useGridFillApply.js.map +1 -0
- package/dist/components/UI/DataTable/grid/useGridInstance.d.ts +27 -0
- package/dist/components/UI/DataTable/grid/useGridInstance.js +41 -0
- package/dist/components/UI/DataTable/grid/useGridInstance.js.map +1 -0
- package/dist/components/UI/DataTable/grid/useGridKeyboard.d.ts +25 -0
- package/dist/components/UI/DataTable/grid/useGridKeyboard.js +135 -0
- package/dist/components/UI/DataTable/grid/useGridKeyboard.js.map +1 -0
- package/dist/components/UI/DataTable/index.d.ts +19 -0
- package/dist/components/UI/DataTable/index.js +34 -0
- package/dist/components/UI/DataTable/index.js.map +1 -0
- package/dist/components/UI/DataTable/types.d.ts +535 -0
- package/dist/components/UI/DataTable/types.js +13 -0
- package/dist/components/UI/DataTable/types.js.map +1 -0
- package/dist/components/UI/DataTable/useCellEditingState.d.ts +20 -0
- package/dist/components/UI/DataTable/useCellEditingState.js +33 -0
- package/dist/components/UI/DataTable/useCellEditingState.js.map +1 -0
- package/dist/components/UI/DataTable/useColumnOrder.d.ts +25 -0
- package/dist/components/UI/DataTable/useColumnOrder.js +94 -0
- package/dist/components/UI/DataTable/useColumnOrder.js.map +1 -0
- package/dist/components/UI/DataTable/useColumnSizing.d.ts +9 -0
- package/dist/components/UI/DataTable/useColumnSizing.js +21 -0
- package/dist/components/UI/DataTable/useColumnSizing.js.map +1 -0
- package/dist/components/UI/DataTable/useColumnVisibility.d.ts +19 -0
- package/dist/components/UI/DataTable/useColumnVisibility.js +47 -0
- package/dist/components/UI/DataTable/useColumnVisibility.js.map +1 -0
- package/dist/components/UI/DataTable/useDataTableCommitQueue.d.ts +69 -0
- package/dist/components/UI/DataTable/useDataTableCommitQueue.js +220 -0
- package/dist/components/UI/DataTable/useDataTableCommitQueue.js.map +1 -0
- package/dist/components/UI/DataTable/useDataTableEditBuffer.d.ts +36 -0
- package/dist/components/UI/DataTable/useDataTableEditBuffer.js +29 -0
- package/dist/components/UI/DataTable/useDataTableEditBuffer.js.map +1 -0
- package/dist/components/UI/DataTable/useDataTableInstance.d.ts +65 -0
- package/dist/components/UI/DataTable/useDataTableInstance.js +336 -0
- package/dist/components/UI/DataTable/useDataTableInstance.js.map +1 -0
- package/dist/components/UI/DataTable/useDataTableSource.d.ts +85 -0
- package/dist/components/UI/DataTable/useDataTableSource.js +199 -0
- package/dist/components/UI/DataTable/useDataTableSource.js.map +1 -0
- package/dist/components/UI/DataTable/useDataTableUndoHistory.d.ts +30 -0
- package/dist/components/UI/DataTable/useDataTableUndoHistory.js +130 -0
- package/dist/components/UI/DataTable/useDataTableUndoHistory.js.map +1 -0
- package/dist/components/UI/DataTable/useFlipRows.d.ts +22 -0
- package/dist/components/UI/DataTable/useFlipRows.js +90 -0
- package/dist/components/UI/DataTable/useFlipRows.js.map +1 -0
- package/dist/components/UI/ErrorBoundary.d.ts +20 -0
- package/dist/components/UI/ErrorBoundary.js +36 -0
- package/dist/components/UI/ErrorBoundary.js.map +1 -0
- package/dist/components/UI/Flow/FlowAnnotationDraftPreview.d.ts +6 -0
- package/dist/components/UI/Flow/FlowAnnotationDraftPreview.js +65 -0
- package/dist/components/UI/Flow/FlowAnnotationDraftPreview.js.map +1 -0
- package/dist/components/UI/Flow/FlowAnnotationNode.d.ts +34 -0
- package/dist/components/UI/Flow/FlowAnnotationNode.js +231 -0
- package/dist/components/UI/Flow/FlowAnnotationNode.js.map +1 -0
- package/dist/components/UI/Flow/FlowAnnotationToolbar.d.ts +32 -0
- package/dist/components/UI/Flow/FlowAnnotationToolbar.js +298 -0
- package/dist/components/UI/Flow/FlowAnnotationToolbar.js.map +1 -0
- package/dist/components/UI/Flow/FlowBlockNode.d.ts +35 -0
- package/dist/components/UI/Flow/FlowBlockNode.js +91 -0
- package/dist/components/UI/Flow/FlowBlockNode.js.map +1 -0
- package/dist/components/UI/Flow/FlowCanvas.d.ts +23 -0
- package/dist/components/UI/Flow/FlowCanvas.js +559 -0
- package/dist/components/UI/Flow/FlowCanvas.js.map +1 -0
- package/dist/components/UI/Flow/FlowConnectionEdge.d.ts +18 -0
- package/dist/components/UI/Flow/FlowConnectionEdge.js +116 -0
- package/dist/components/UI/Flow/FlowConnectionEdge.js.map +1 -0
- package/dist/components/UI/Flow/FlowEditorProvider.d.ts +17 -0
- package/dist/components/UI/Flow/FlowEditorProvider.js +27 -0
- package/dist/components/UI/Flow/FlowEditorProvider.js.map +1 -0
- package/dist/components/UI/Flow/FlowInspector.d.ts +11 -0
- package/dist/components/UI/Flow/FlowInspector.js +131 -0
- package/dist/components/UI/Flow/FlowInspector.js.map +1 -0
- package/dist/components/UI/Flow/FlowIssueList.d.ts +8 -0
- package/dist/components/UI/Flow/FlowIssueList.js +55 -0
- package/dist/components/UI/Flow/FlowIssueList.js.map +1 -0
- package/dist/components/UI/Flow/FlowLaneMap.d.ts +30 -0
- package/dist/components/UI/Flow/FlowLaneMap.js +206 -0
- package/dist/components/UI/Flow/FlowLaneMap.js.map +1 -0
- package/dist/components/UI/Flow/FlowNodeShell.d.ts +20 -0
- package/dist/components/UI/Flow/FlowNodeShell.js +81 -0
- package/dist/components/UI/Flow/FlowNodeShell.js.map +1 -0
- package/dist/components/UI/Flow/FlowResizablePanel.d.ts +20 -0
- package/dist/components/UI/Flow/FlowResizablePanel.js +118 -0
- package/dist/components/UI/Flow/FlowResizablePanel.js.map +1 -0
- package/dist/components/UI/Flow/FlowSelectionBar.d.ts +10 -0
- package/dist/components/UI/Flow/FlowSelectionBar.js +56 -0
- package/dist/components/UI/Flow/FlowSelectionBar.js.map +1 -0
- package/dist/components/UI/Flow/FlowZoomControls.d.ts +12 -0
- package/dist/components/UI/Flow/FlowZoomControls.js +54 -0
- package/dist/components/UI/Flow/FlowZoomControls.js.map +1 -0
- package/dist/components/UI/Flow/flowAnnotations.d.ts +38 -0
- package/dist/components/UI/Flow/flowAnnotations.js +123 -0
- package/dist/components/UI/Flow/flowAnnotations.js.map +1 -0
- package/dist/components/UI/Flow/flowBlockRegistry.d.ts +12 -0
- package/dist/components/UI/Flow/flowBlockRegistry.js +20 -0
- package/dist/components/UI/Flow/flowBlockRegistry.js.map +1 -0
- package/dist/components/UI/Flow/flowEditorStore.d.ts +73 -0
- package/dist/components/UI/Flow/flowEditorStore.js +402 -0
- package/dist/components/UI/Flow/flowEditorStore.js.map +1 -0
- package/dist/components/UI/Flow/flowGraph.d.ts +32 -0
- package/dist/components/UI/Flow/flowGraph.js +157 -0
- package/dist/components/UI/Flow/flowGraph.js.map +1 -0
- package/dist/components/UI/Flow/flowTypes.d.ts +104 -0
- package/dist/components/UI/Flow/flowTypes.js +2 -0
- package/dist/components/UI/Flow/flowTypes.js.map +1 -0
- package/dist/components/UI/Flow/flowViewport.d.ts +25 -0
- package/dist/components/UI/Flow/flowViewport.js +31 -0
- package/dist/components/UI/Flow/flowViewport.js.map +1 -0
- package/dist/components/UI/Flow/index.d.ts +13 -0
- package/dist/components/UI/Flow/index.js +44 -0
- package/dist/components/UI/Flow/index.js.map +1 -0
- package/dist/components/UI/Flow/useFlowAnnotationDrawing.d.ts +25 -0
- package/dist/components/UI/Flow/useFlowAnnotationDrawing.js +117 -0
- package/dist/components/UI/Flow/useFlowAnnotationDrawing.js.map +1 -0
- package/dist/components/UI/Flow/useFlowLabels.d.ts +10 -0
- package/dist/components/UI/Flow/useFlowLabels.js +51 -0
- package/dist/components/UI/Flow/useFlowLabels.js.map +1 -0
- package/dist/components/UI/GeneratedByAI.d.ts +2 -0
- package/dist/components/UI/GeneratedByAI.js +12 -0
- package/dist/components/UI/GeneratedByAI.js.map +1 -0
- package/dist/components/UI/HorizontalScrollArea.d.ts +22 -0
- package/dist/components/UI/HorizontalScrollArea.js +74 -0
- package/dist/components/UI/HorizontalScrollArea.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.d.ts +21 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js +235 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiDiscardReasonDialog.d.ts +8 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiDiscardReasonDialog.js +67 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiDiscardReasonDialog.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiVerificationNotice.d.ts +8 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiVerificationNotice.js +39 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiVerificationNotice.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/imageAiReview.d.ts +22 -0
- package/dist/components/UI/ImageAiAdjust/imageAiReview.js +37 -0
- package/dist/components/UI/ImageAiAdjust/imageAiReview.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/imageAiVerification.d.ts +19 -0
- package/dist/components/UI/ImageAiAdjust/imageAiVerification.js +25 -0
- package/dist/components/UI/ImageAiAdjust/imageAiVerification.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.d.ts +52 -0
- package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js +109 -0
- package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/AnnotationEditor.d.ts +13 -0
- package/dist/components/UI/ImageAnnotator/AnnotationEditor.js +362 -0
- package/dist/components/UI/ImageAnnotator/AnnotationEditor.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.d.ts +15 -0
- package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js +61 -0
- package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/annotationStyle.d.ts +28 -0
- package/dist/components/UI/ImageAnnotator/annotationStyle.js +56 -0
- package/dist/components/UI/ImageAnnotator/annotationStyle.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationCropFrame.d.ts +16 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationCropFrame.js +156 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationCropFrame.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.d.ts +17 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.js +329 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.d.ts +10 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js +127 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.d.ts +26 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js +241 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.d.ts +15 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.js +77 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.d.ts +11 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.js +70 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationCropBar.d.ts +12 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationCropBar.js +89 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationCropBar.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.d.ts +8 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.js +58 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.d.ts +13 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.js +183 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.d.ts +17 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js +79 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.d.ts +15 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.js +46 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.d.ts +10 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.js +91 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.d.ts +21 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.js +45 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationCrop.d.ts +12 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationCrop.js +64 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationCrop.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationElements.d.ts +15 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationElements.js +165 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationElements.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationExport.d.ts +15 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationExport.js +23 -0
- package/dist/components/UI/ImageAnnotator/helpers/annotationExport.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.d.ts +8 -0
- package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.js +10 -0
- package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.d.ts +9 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.js +56 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.d.ts +29 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js +160 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.d.ts +14 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.js +80 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.d.ts +5 -0
- package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.js +23 -0
- package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.d.ts +2 -0
- package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.js +27 -0
- package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.d.ts +98 -0
- package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.js +13 -0
- package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.js.map +1 -0
- package/dist/components/UI/ImageMaskPainter/index.d.ts +24 -0
- package/dist/components/UI/ImageMaskPainter/index.js +284 -0
- package/dist/components/UI/ImageMaskPainter/index.js.map +1 -0
- package/dist/components/UI/ImageMaskPainter/maskStrokes.d.ts +19 -0
- package/dist/components/UI/ImageMaskPainter/maskStrokes.js +71 -0
- package/dist/components/UI/ImageMaskPainter/maskStrokes.js.map +1 -0
- package/dist/components/UI/ImagePlaceholder.d.ts +24 -0
- package/dist/components/UI/ImagePlaceholder.js +29 -0
- package/dist/components/UI/ImagePlaceholder.js.map +1 -0
- package/dist/components/UI/ImageZoomOverlay.d.ts +7 -0
- package/dist/components/UI/ImageZoomOverlay.js +53 -0
- package/dist/components/UI/ImageZoomOverlay.js.map +1 -0
- package/dist/components/UI/InformationCard.d.ts +26 -0
- package/dist/components/UI/InformationCard.js +89 -0
- package/dist/components/UI/InformationCard.js.map +1 -0
- package/dist/components/UI/Kanban/KanbanBoard.d.ts +26 -0
- package/dist/components/UI/Kanban/KanbanBoard.js +91 -0
- package/dist/components/UI/Kanban/KanbanBoard.js.map +1 -0
- package/dist/components/UI/Kanban/KanbanCard.d.ts +22 -0
- package/dist/components/UI/Kanban/KanbanCard.js +47 -0
- package/dist/components/UI/Kanban/KanbanCard.js.map +1 -0
- package/dist/components/UI/Kanban/KanbanLane.d.ts +37 -0
- package/dist/components/UI/Kanban/KanbanLane.js +77 -0
- package/dist/components/UI/Kanban/KanbanLane.js.map +1 -0
- package/dist/components/UI/Kanban/index.d.ts +4 -0
- package/dist/components/UI/Kanban/index.js +11 -0
- package/dist/components/UI/Kanban/index.js.map +1 -0
- package/dist/components/UI/Kanban/kanbanBoardContext.d.ts +13 -0
- package/dist/components/UI/Kanban/kanbanBoardContext.js +13 -0
- package/dist/components/UI/Kanban/kanbanBoardContext.js.map +1 -0
- package/dist/components/UI/LazyMarkdown.d.ts +5 -0
- package/dist/components/UI/LazyMarkdown.js +8 -0
- package/dist/components/UI/LazyMarkdown.js.map +1 -0
- package/dist/components/UI/LoadingPage.d.ts +2 -0
- package/dist/components/UI/LoadingPage.js +13 -0
- package/dist/components/UI/LoadingPage.js.map +1 -0
- package/dist/components/UI/LoadingSpinner.d.ts +14 -0
- package/dist/components/UI/LoadingSpinner.js +32 -0
- package/dist/components/UI/LoadingSpinner.js.map +1 -0
- package/dist/components/UI/MaterialSymbol/consts.d.ts +2 -0
- package/dist/components/UI/MaterialSymbol/consts.js +3472 -0
- package/dist/components/UI/MaterialSymbol/consts.js.map +1 -0
- package/dist/components/UI/MaterialSymbol/index.d.ts +18 -0
- package/dist/components/UI/MaterialSymbol/index.js +51 -0
- package/dist/components/UI/MaterialSymbol/index.js.map +1 -0
- package/dist/components/UI/MaterialSymbol/types.d.ts +37 -0
- package/dist/components/UI/MaterialSymbol/types.js +2 -0
- package/dist/components/UI/MaterialSymbol/types.js.map +1 -0
- package/dist/components/UI/NoDataFound/index.d.ts +31 -0
- package/dist/components/UI/NoDataFound/index.js +215 -0
- package/dist/components/UI/NoDataFound/index.js.map +1 -0
- package/dist/components/UI/NoDataFound/noDataFoundPresets.d.ts +31 -0
- package/dist/components/UI/NoDataFound/noDataFoundPresets.js +99 -0
- package/dist/components/UI/NoDataFound/noDataFoundPresets.js.map +1 -0
- package/dist/components/UI/ReferenceCard.d.ts +16 -0
- package/dist/components/UI/ReferenceCard.js +59 -0
- package/dist/components/UI/ReferenceCard.js.map +1 -0
- package/dist/components/UI/RichTextContent.d.ts +14 -0
- package/dist/components/UI/RichTextContent.js +30 -0
- package/dist/components/UI/RichTextContent.js.map +1 -0
- package/dist/components/UI/SkeletonLoading.d.ts +9 -0
- package/dist/components/UI/SkeletonLoading.js +20 -0
- package/dist/components/UI/SkeletonLoading.js.map +1 -0
- package/dist/components/UI/ThreeDots.d.ts +11 -0
- package/dist/components/UI/ThreeDots.js +22 -0
- package/dist/components/UI/ThreeDots.js.map +1 -0
- package/dist/components/UI/Toast.d.ts +16 -0
- package/dist/components/UI/Toast.js +81 -0
- package/dist/components/UI/Toast.js.map +1 -0
- package/dist/components/UI/ToastHost.d.ts +2 -0
- package/dist/components/UI/ToastHost.js +25 -0
- package/dist/components/UI/ToastHost.js.map +1 -0
- package/dist/components/UI/TypingEffect.d.ts +10 -0
- package/dist/components/UI/TypingEffect.js +31 -0
- package/dist/components/UI/TypingEffect.js.map +1 -0
- package/dist/components/UI/UmodeLogo.d.ts +10 -0
- package/dist/components/UI/UmodeLogo.js +128 -0
- package/dist/components/UI/UmodeLogo.js.map +1 -0
- package/dist/components/UI/UserMenu.d.ts +50 -0
- package/dist/components/UI/UserMenu.js +212 -0
- package/dist/components/UI/UserMenu.js.map +1 -0
- package/dist/components/UI/UsersAvatar.d.ts +7 -0
- package/dist/components/UI/UsersAvatar.js +29 -0
- package/dist/components/UI/UsersAvatar.js.map +1 -0
- package/dist/components/UI/access/UiAccessContext.d.ts +21 -0
- package/dist/components/UI/access/UiAccessContext.js +14 -0
- package/dist/components/UI/access/UiAccessContext.js.map +1 -0
- package/dist/components/UI/cells/ArrayCell.d.ts +5 -0
- package/dist/components/UI/cells/ArrayCell.js +25 -0
- package/dist/components/UI/cells/ArrayCell.js.map +1 -0
- package/dist/components/UI/cells/BooleanCell.d.ts +5 -0
- package/dist/components/UI/cells/BooleanCell.js +22 -0
- package/dist/components/UI/cells/BooleanCell.js.map +1 -0
- package/dist/components/UI/cells/DetailsTableCell.d.ts +7 -0
- package/dist/components/UI/cells/DetailsTableCell.js +30 -0
- package/dist/components/UI/cells/DetailsTableCell.js.map +1 -0
- package/dist/components/UI/cells/ProductImageCell.d.ts +5 -0
- package/dist/components/UI/cells/ProductImageCell.js +21 -0
- package/dist/components/UI/cells/ProductImageCell.js.map +1 -0
- package/dist/components/UI/cells/UrlLinkCell.d.ts +6 -0
- package/dist/components/UI/cells/UrlLinkCell.js +19 -0
- package/dist/components/UI/cells/UrlLinkCell.js.map +1 -0
- package/dist/components/Upload/SimpleUploaderComponent.d.ts +9 -0
- package/dist/components/Upload/SimpleUploaderComponent.js +72 -0
- package/dist/components/Upload/SimpleUploaderComponent.js.map +1 -0
- package/dist/components/Upload/UploaderComponent.d.ts +29 -0
- package/dist/components/Upload/UploaderComponent.js +241 -0
- package/dist/components/Upload/UploaderComponent.js.map +1 -0
- package/dist/components/Upload/XlsExportButton.d.ts +13 -0
- package/dist/components/Upload/XlsExportButton.js +47 -0
- package/dist/components/Upload/XlsExportButton.js.map +1 -0
- package/dist/helpers/composeRefs.d.ts +7 -0
- package/dist/helpers/composeRefs.js +14 -0
- package/dist/helpers/composeRefs.js.map +1 -0
- package/dist/helpers/dateHelpers.d.ts +47 -0
- package/dist/helpers/dateHelpers.js +69 -0
- package/dist/helpers/dateHelpers.js.map +1 -0
- package/dist/helpers/fileAttachments.d.ts +3 -0
- package/dist/helpers/fileAttachments.js +17 -0
- package/dist/helpers/fileAttachments.js.map +1 -0
- package/dist/helpers/formatHelpers.d.ts +36 -0
- package/dist/helpers/formatHelpers.js +65 -0
- package/dist/helpers/formatHelpers.js.map +1 -0
- package/dist/helpers/iconFont.d.ts +9 -0
- package/dist/helpers/iconFont.js +37 -0
- package/dist/helpers/iconFont.js.map +1 -0
- package/dist/helpers/imageCompression.d.ts +5 -0
- package/dist/helpers/imageCompression.js +49 -0
- package/dist/helpers/imageCompression.js.map +1 -0
- package/dist/helpers/imageFile.d.ts +32 -0
- package/dist/helpers/imageFile.js +108 -0
- package/dist/helpers/imageFile.js.map +1 -0
- package/dist/helpers/layeredSurfaces.d.ts +28 -0
- package/dist/helpers/layeredSurfaces.js +19 -0
- package/dist/helpers/layeredSurfaces.js.map +1 -0
- package/dist/helpers/mathHelpers.d.ts +14 -0
- package/dist/helpers/mathHelpers.js +13 -0
- package/dist/helpers/mathHelpers.js.map +1 -0
- package/dist/helpers/mergeClasses.d.ts +10 -0
- package/dist/helpers/mergeClasses.js +34 -0
- package/dist/helpers/mergeClasses.js.map +1 -0
- package/dist/helpers/moduleLoadErrorHelpers.d.ts +1 -0
- package/dist/helpers/moduleLoadErrorHelpers.js +25 -0
- package/dist/helpers/moduleLoadErrorHelpers.js.map +1 -0
- package/dist/helpers/objectHelpers.d.ts +13 -0
- package/dist/helpers/objectHelpers.js +59 -0
- package/dist/helpers/objectHelpers.js.map +1 -0
- package/dist/helpers/portalHost.d.ts +10 -0
- package/dist/helpers/portalHost.js +7 -0
- package/dist/helpers/portalHost.js.map +1 -0
- package/dist/helpers/richText.d.ts +46 -0
- package/dist/helpers/richText.js +197 -0
- package/dist/helpers/richText.js.map +1 -0
- package/dist/helpers/stringHelpers.d.ts +45 -0
- package/dist/helpers/stringHelpers.js +57 -0
- package/dist/helpers/stringHelpers.js.map +1 -0
- package/dist/helpers/themeSkins.d.ts +12 -0
- package/dist/helpers/themeSkins.js +13 -0
- package/dist/helpers/themeSkins.js.map +1 -0
- package/dist/helpers/themeTokens.d.ts +28 -0
- package/dist/helpers/themeTokens.js +35 -0
- package/dist/helpers/themeTokens.js.map +1 -0
- package/dist/helpers/uiErrorPresenter.d.ts +21 -0
- package/dist/helpers/uiErrorPresenter.js +10 -0
- package/dist/helpers/uiErrorPresenter.js.map +1 -0
- package/dist/helpers/uiLogger.d.ts +8 -0
- package/dist/helpers/uiLogger.js +16 -0
- package/dist/helpers/uiLogger.js.map +1 -0
- package/dist/helpers/uiPreferences.d.ts +13 -0
- package/dist/helpers/uiPreferences.js +35 -0
- package/dist/helpers/uiPreferences.js.map +1 -0
- package/dist/helpers/urlParamSync.d.ts +19 -0
- package/dist/helpers/urlParamSync.js +54 -0
- package/dist/helpers/urlParamSync.js.map +1 -0
- package/dist/helpers/utilityHelpers.d.ts +81 -0
- package/dist/helpers/utilityHelpers.js +133 -0
- package/dist/helpers/utilityHelpers.js.map +1 -0
- package/dist/helpers/validationHelpers.d.ts +36 -0
- package/dist/helpers/validationHelpers.js +44 -0
- package/dist/helpers/validationHelpers.js.map +1 -0
- package/dist/hooks/useAnchoredFloating.d.ts +22 -0
- package/dist/hooks/useAnchoredFloating.js +59 -0
- package/dist/hooks/useAnchoredFloating.js.map +1 -0
- package/dist/hooks/useBreakpoint.d.ts +16 -0
- package/dist/hooks/useBreakpoint.js +47 -0
- package/dist/hooks/useBreakpoint.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +8 -0
- package/dist/hooks/useDebounce.js +36 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useFileAttachments.d.ts +43 -0
- package/dist/hooks/useFileAttachments.js +158 -0
- package/dist/hooks/useFileAttachments.js.map +1 -0
- package/dist/hooks/useHoverCapable.d.ts +6 -0
- package/dist/hooks/useHoverCapable.js +28 -0
- package/dist/hooks/useHoverCapable.js.map +1 -0
- package/dist/hooks/useInlineEditor.d.ts +5 -0
- package/dist/hooks/useInlineEditor.js +42 -0
- package/dist/hooks/useInlineEditor.js.map +1 -0
- package/dist/hooks/useMobile.d.ts +7 -0
- package/dist/hooks/useMobile.js +8 -0
- package/dist/hooks/useMobile.js.map +1 -0
- package/dist/hooks/useNotification.d.ts +38 -0
- package/dist/hooks/useNotification.js +39 -0
- package/dist/hooks/useNotification.js.map +1 -0
- package/dist/hooks/useResolvedTheme.d.ts +7 -0
- package/dist/hooks/useResolvedTheme.js +15 -0
- package/dist/hooks/useResolvedTheme.js.map +1 -0
- package/dist/hooks/useThemeSkin.d.ts +7 -0
- package/dist/hooks/useThemeSkin.js +19 -0
- package/dist/hooks/useThemeSkin.js.map +1 -0
- package/dist/hooks/useVoiceTranscription.d.ts +29 -0
- package/dist/hooks/useVoiceTranscription.js +208 -0
- package/dist/hooks/useVoiceTranscription.js.map +1 -0
- package/dist/index.d.ts +63 -0
- package/dist/index.js +157 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/IFileAttachment.d.ts +18 -0
- package/dist/interfaces/IFileAttachment.js +2 -0
- package/dist/interfaces/IFileAttachment.js.map +1 -0
- package/dist/interfaces/IFilterOption.d.ts +12 -0
- package/dist/interfaces/IFilterOption.js +2 -0
- package/dist/interfaces/IFilterOption.js.map +1 -0
- package/dist/locales/en/ui.json.d.ts +682 -0
- package/dist/locales/en/ui.json.js +120 -0
- package/dist/locales/en/ui.json.js.map +1 -0
- package/dist/locales/index.d.ts +1362 -0
- package/dist/locales/index.js +7 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/pt/ui.json.d.ts +682 -0
- package/dist/locales/pt/ui.json.js +120 -0
- package/dist/locales/pt/ui.json.js.map +1 -0
- package/dist/motion/index.d.ts +2 -0
- package/dist/motion/index.js +17 -0
- package/dist/motion/index.js.map +1 -0
- package/dist/motion/motionPresets.d.ts +44 -0
- package/dist/motion/motionPresets.js +67 -0
- package/dist/motion/motionPresets.js.map +1 -0
- package/dist/motion/motionTokens.d.ts +40 -0
- package/dist/motion/motionTokens.js +29 -0
- package/dist/motion/motionTokens.js.map +1 -0
- package/package.json +245 -0
- package/src/assets/fonts/LICENSE-Inter.txt +92 -0
- package/src/assets/fonts/LICENSE-MaterialSymbols.txt +202 -0
- package/src/assets/fonts/LICENSE-Virgil.txt +45 -0
- package/src/assets/fonts/inter-latin-ext.woff2 +0 -0
- package/src/assets/fonts/inter-latin.woff2 +0 -0
- package/src/assets/fonts/material-symbols-outlined.woff2 +0 -0
- package/src/assets/fonts/virgil.woff2 +0 -0
- package/src/assets/styles/base.css +585 -0
- package/src/assets/styles/index.css +1 -0
- package/src/assets/styles/theme.css +453 -0
- package/tailwind-plugins/glass.js +162 -0
- package/tailwind.preset.js +392 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { ControlledAccordionRoot, ControlledAccordionHeader, ControlledAccordionBody } from "./ControlledAccordion.js";
|
|
6
|
+
import ControlledTooltip from "./ControlledTooltip.js";
|
|
7
|
+
import { MaterialSymbol } from "./MaterialSymbol/index.js";
|
|
8
|
+
import { useBreakpoint } from "../../hooks/useBreakpoint.js";
|
|
9
|
+
import { AccordionIcon } from "./AccordionIcon.js";
|
|
10
|
+
import CustomCard from "./CustomCard.js";
|
|
11
|
+
import SkeletonLoading from "./SkeletonLoading.js";
|
|
12
|
+
const CompactStatCard = ({ card, loading, isMobile }) => /* @__PURE__ */ jsx(
|
|
13
|
+
CustomCard,
|
|
14
|
+
{
|
|
15
|
+
itsClickable: !loading && !!card.onClick,
|
|
16
|
+
onClickHook: card.onClick,
|
|
17
|
+
className: classNames(
|
|
18
|
+
"shrink-0 p-3",
|
|
19
|
+
isMobile ? "basis-[calc(50%_-_4px)] snap-start" : "min-w-[140px] flex-1 basis-[140px]"
|
|
20
|
+
),
|
|
21
|
+
children: /* @__PURE__ */ jsxs("div", { children: [
|
|
22
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
23
|
+
card.icon && /* @__PURE__ */ jsx(MaterialSymbol, { icon: card.icon, size: 22, color: "rgb(var(--color-primary))" }),
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: "text-base font-bold text-foreground", children: loading ? /* @__PURE__ */ jsx(SkeletonLoading, { className: "!h-5" }) : card.value })
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 flex items-center gap-x-1", children: loading ? /* @__PURE__ */ jsx(SkeletonLoading, { className: "!h-3.5" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
27
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-foreground-muted", children: card.title }),
|
|
28
|
+
card.tooltip && /* @__PURE__ */ jsx(ControlledTooltip, { content: card.tooltip, className: "max-w-80", children: /* @__PURE__ */ jsx(
|
|
29
|
+
MaterialSymbol,
|
|
30
|
+
{
|
|
31
|
+
icon: "info",
|
|
32
|
+
size: 14,
|
|
33
|
+
color: "rgb(var(--color-foreground-subtle))",
|
|
34
|
+
className: "cursor-help"
|
|
35
|
+
}
|
|
36
|
+
) })
|
|
37
|
+
] }) }),
|
|
38
|
+
!isMobile && card.secondaryValue && /* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-foreground-subtle", children: loading ? /* @__PURE__ */ jsx(SkeletonLoading, { className: "!h-3.5" }) : card.secondaryValue }),
|
|
39
|
+
!isMobile && card.subValue && card.subValueLabel && /* @__PURE__ */ jsx("div", { className: "mt-0.5 text-xs text-foreground-faint", children: loading ? /* @__PURE__ */ jsx(SkeletonLoading, { className: "!h-3.5" }) : `${card.subValueLabel} ${card.subValue}` })
|
|
40
|
+
] })
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
const InformationCard = ({
|
|
44
|
+
cards,
|
|
45
|
+
loading,
|
|
46
|
+
headerTitle,
|
|
47
|
+
headerActionSlot,
|
|
48
|
+
collapsible = true,
|
|
49
|
+
showHeader = true
|
|
50
|
+
}) => {
|
|
51
|
+
const { t } = useTranslation("ui");
|
|
52
|
+
const { isMobile } = useBreakpoint();
|
|
53
|
+
const [open, setOpen] = useState(isMobile ? 0 : 1);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
setOpen(isMobile ? 0 : 1);
|
|
56
|
+
}, [isMobile]);
|
|
57
|
+
const handleOpen = (value) => setOpen(open === value ? 0 : value);
|
|
58
|
+
const visibleCards = (cards ?? []).filter((card) => card.show !== false);
|
|
59
|
+
return /* @__PURE__ */ jsxs(
|
|
60
|
+
ControlledAccordionRoot,
|
|
61
|
+
{
|
|
62
|
+
open: collapsible ? open === 1 : true,
|
|
63
|
+
icon: collapsible ? /* @__PURE__ */ jsx(AccordionIcon, { id: 1, open }) : /* @__PURE__ */ jsx(Fragment, {}),
|
|
64
|
+
children: [
|
|
65
|
+
showHeader && /* @__PURE__ */ jsx(
|
|
66
|
+
ControlledAccordionHeader,
|
|
67
|
+
{
|
|
68
|
+
onClick: collapsible ? () => handleOpen(1) : void 0,
|
|
69
|
+
tabIndex: collapsible ? void 0 : -1,
|
|
70
|
+
className: classNames(
|
|
71
|
+
"inter-font w-full border-b-0 py-2",
|
|
72
|
+
isMobile ? "p-0 text-base" : "p-1 text-lg",
|
|
73
|
+
!collapsible && "cursor-default"
|
|
74
|
+
),
|
|
75
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
76
|
+
/* @__PURE__ */ jsx("span", { children: headerTitle ?? t("informationCard.defaultTitle") }),
|
|
77
|
+
headerActionSlot && /* @__PURE__ */ jsx(Fragment, { children: headerActionSlot })
|
|
78
|
+
] })
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
/* @__PURE__ */ jsx(ControlledAccordionBody, { className: "py-2 pl-2 pr-1", children: isMobile ? /* @__PURE__ */ jsx("div", { className: "flex h-[70px] snap-x snap-mandatory flex-nowrap gap-2 overflow-x-auto pb-1", children: visibleCards.map((card, index) => /* @__PURE__ */ jsx(CompactStatCard, { card, loading, isMobile: true }, index)) }) : /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: visibleCards.map((card, index) => /* @__PURE__ */ jsx(CompactStatCard, { card, loading }, index)) }) })
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
};
|
|
86
|
+
export {
|
|
87
|
+
InformationCard as default
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=InformationCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InformationCard.js","sources":["../../../src/components/UI/InformationCard.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\n\nimport {\n ControlledAccordionBody,\n ControlledAccordionHeader,\n ControlledAccordionRoot,\n} from '@/components/UI/ControlledAccordion';\nimport ControlledTooltip from '@/components/UI/ControlledTooltip';\nimport { MaterialSymbol, SymbolCodepoints } from '@/components/UI/MaterialSymbol';\nimport { useBreakpoint } from '@/hooks/useBreakpoint';\n\nimport { AccordionIcon } from './AccordionIcon';\nimport CustomCard from './CustomCard';\nimport SkeletonLoading from './SkeletonLoading';\n\nexport interface IInformationCard {\n title: string;\n icon?: SymbolCodepoints;\n value: string;\n secondaryValue?: string;\n subValue?: string;\n subValueLabel?: string;\n show?: boolean;\n tooltip?: string;\n /** When set, the card becomes clickable (e.g. drill down to a filtered list). */\n onClick?: () => void;\n}\n\ninterface IInformationCardProps {\n cards: Array<IInformationCard>;\n loading?: boolean;\n headerTitle?: string;\n showHeaderBorder?: boolean;\n headerActionSlot?: React.ReactNode;\n /** When false the section stays expanded and the collapse affordance is removed. */\n collapsible?: boolean;\n /** When false only the cards render, with no title row above them. */\n showHeader?: boolean;\n}\n\ninterface ICompactStatCardProps {\n card: IInformationCard;\n loading?: boolean;\n isMobile?: boolean;\n}\n\nconst CompactStatCard: React.FC<ICompactStatCardProps> = ({ card, loading, isMobile }) => (\n <CustomCard\n itsClickable={!loading && !!card.onClick}\n onClickHook={card.onClick}\n className={classNames(\n 'shrink-0 p-3',\n isMobile ? 'basis-[calc(50%_-_4px)] snap-start' : 'min-w-[140px] flex-1 basis-[140px]',\n )}\n >\n <div>\n <div className=\"flex items-center gap-x-2\">\n {card.icon && <MaterialSymbol icon={card.icon} size={22} color=\"rgb(var(--color-primary))\" />}\n <div className=\"text-base font-bold text-foreground\">\n {loading ? <SkeletonLoading className=\"!h-5\" /> : card.value}\n </div>\n </div>\n <div className=\"mt-1 flex items-center gap-x-1\">\n {loading ? (\n <SkeletonLoading className=\"!h-3.5\" />\n ) : (\n <>\n <span className=\"text-xs text-foreground-muted\">{card.title}</span>\n {card.tooltip && (\n <ControlledTooltip content={card.tooltip} className=\"max-w-80\">\n <MaterialSymbol\n icon=\"info\"\n size={14}\n color=\"rgb(var(--color-foreground-subtle))\"\n className=\"cursor-help\"\n />\n </ControlledTooltip>\n )}\n </>\n )}\n </div>\n {!isMobile && card.secondaryValue && (\n <div className=\"mt-1 text-xs text-foreground-subtle\">\n {loading ? <SkeletonLoading className=\"!h-3.5\" /> : card.secondaryValue}\n </div>\n )}\n {!isMobile && card.subValue && card.subValueLabel && (\n <div className=\"mt-0.5 text-xs text-foreground-faint\">\n {loading ? <SkeletonLoading className=\"!h-3.5\" /> : `${card.subValueLabel} ${card.subValue}`}\n </div>\n )}\n </div>\n </CustomCard>\n);\n\nconst InformationCard: React.FC<IInformationCardProps> = ({\n cards,\n loading,\n headerTitle,\n headerActionSlot,\n collapsible = true,\n showHeader = true,\n}) => {\n const { t } = useTranslation('ui');\n const { isMobile } = useBreakpoint();\n const [open, setOpen] = useState(isMobile ? 0 : 1);\n\n useEffect(() => {\n setOpen(isMobile ? 0 : 1);\n }, [isMobile]);\n\n const handleOpen = (value: number) => setOpen(open === value ? 0 : value);\n\n const visibleCards = (cards ?? []).filter((card) => card.show !== false);\n\n return (\n <ControlledAccordionRoot\n open={collapsible ? open === 1 : true}\n icon={collapsible ? <AccordionIcon id={1} open={open} /> : <></>}\n >\n {showHeader && (\n <ControlledAccordionHeader\n onClick={collapsible ? () => handleOpen(1) : undefined}\n tabIndex={collapsible ? undefined : -1}\n className={classNames(\n 'inter-font w-full border-b-0 py-2',\n isMobile ? 'p-0 text-base' : 'p-1 text-lg',\n !collapsible && 'cursor-default',\n )}\n >\n <div className=\"flex items-center gap-x-2\">\n <span>{headerTitle ?? t('informationCard.defaultTitle')}</span>\n {headerActionSlot && <>{headerActionSlot}</>}\n </div>\n </ControlledAccordionHeader>\n )}\n <ControlledAccordionBody className=\"py-2 pl-2 pr-1\">\n {isMobile ? (\n <div className=\"flex h-[70px] snap-x snap-mandatory flex-nowrap gap-2 overflow-x-auto pb-1\">\n {visibleCards.map((card, index) => (\n <CompactStatCard key={index} card={card} loading={loading} isMobile />\n ))}\n </div>\n ) : (\n <div className=\"flex flex-wrap gap-2\">\n {visibleCards.map((card, index) => (\n <CompactStatCard key={index} card={card} loading={loading} />\n ))}\n </div>\n )}\n </ControlledAccordionBody>\n </ControlledAccordionRoot>\n );\n};\n\nexport default InformationCard;\n"],"names":[],"mappings":";;;;;;;;;;;AAgDA,MAAM,kBAAmD,CAAC,EAAE,MAAM,SAAS,eACzE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK;AAAA,IACjC,aAAa,KAAK;AAAA,IAClB,WAAW;AAAA,MACT;AAAA,MACA,WAAW,uCAAuC;AAAA,IAAA;AAAA,IAGpD,+BAAC,OAAA,EACC,UAAA;AAAA,MAAA,qBAAC,OAAA,EAAI,WAAU,6BACZ,UAAA;AAAA,QAAA,KAAK,4BAAS,gBAAA,EAAe,MAAM,KAAK,MAAM,MAAM,IAAI,OAAM,4BAAA,CAA4B;AAAA,QAC3F,oBAAC,OAAA,EAAI,WAAU,uCACZ,UAAA,UAAU,oBAAC,iBAAA,EAAgB,WAAU,OAAA,CAAO,IAAK,KAAK,MAAA,CACzD;AAAA,MAAA,GACF;AAAA,MACA,oBAAC,OAAA,EAAI,WAAU,kCACZ,UAAA,8BACE,iBAAA,EAAgB,WAAU,SAAA,CAAS,IAEpC,qBAAA,UAAA,EACE,UAAA;AAAA,QAAA,oBAAC,QAAA,EAAK,WAAU,iCAAiC,UAAA,KAAK,OAAM;AAAA,QAC3D,KAAK,WACJ,oBAAC,mBAAA,EAAkB,SAAS,KAAK,SAAS,WAAU,YAClD,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,MAAM;AAAA,YACN,OAAM;AAAA,YACN,WAAU;AAAA,UAAA;AAAA,QAAA,EACZ,CACF;AAAA,MAAA,EAAA,CAEJ,EAAA,CAEJ;AAAA,MACC,CAAC,YAAY,KAAK,sCAChB,OAAA,EAAI,WAAU,uCACZ,UAAA,8BAAW,iBAAA,EAAgB,WAAU,SAAA,CAAS,IAAK,KAAK,gBAC3D;AAAA,MAED,CAAC,YAAY,KAAK,YAAY,KAAK,iBAClC,oBAAC,OAAA,EAAI,WAAU,wCACZ,UAAA,8BAAW,iBAAA,EAAgB,WAAU,UAAS,IAAK,GAAG,KAAK,aAAa,IAAI,KAAK,QAAQ,GAAA,CAC5F;AAAA,IAAA,EAAA,CAEJ;AAAA,EAAA;AACF;AAGF,MAAM,kBAAmD,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AACf,MAAM;AACJ,QAAM,EAAE,EAAA,IAAM,eAAe,IAAI;AACjC,QAAM,EAAE,SAAA,IAAa,cAAA;AACrB,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,WAAW,IAAI,CAAC;AAEjD,YAAU,MAAM;AACd,YAAQ,WAAW,IAAI,CAAC;AAAA,EAC1B,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,aAAa,CAAC,UAAkB,QAAQ,SAAS,QAAQ,IAAI,KAAK;AAExE,QAAM,gBAAgB,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,KAAK;AAEvE,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAM,cAAc,SAAS,IAAI;AAAA,MACjC,MAAM,cAAc,oBAAC,eAAA,EAAc,IAAI,GAAG,MAAY,IAAK,oBAAA,UAAA,CAAA,CAAE;AAAA,MAE5D,UAAA;AAAA,QAAA,cACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,cAAc,MAAM,WAAW,CAAC,IAAI;AAAA,YAC7C,UAAU,cAAc,SAAY;AAAA,YACpC,WAAW;AAAA,cACT;AAAA,cACA,WAAW,kBAAkB;AAAA,cAC7B,CAAC,eAAe;AAAA,YAAA;AAAA,YAGlB,UAAA,qBAAC,OAAA,EAAI,WAAU,6BACb,UAAA;AAAA,cAAA,oBAAC,QAAA,EAAM,UAAA,eAAe,EAAE,8BAA8B,GAAE;AAAA,cACvD,oDAAuB,UAAA,iBAAA,CAAiB;AAAA,YAAA,EAAA,CAC3C;AAAA,UAAA;AAAA,QAAA;AAAA,4BAGH,yBAAA,EAAwB,WAAU,kBAChC,UAAA,WACC,oBAAC,SAAI,WAAU,8EACZ,UAAA,aAAa,IAAI,CAAC,MAAM,8BACtB,iBAAA,EAA4B,MAAY,SAAkB,UAAQ,KAAA,GAA7C,KAA8C,CACrE,GACH,IAEA,oBAAC,SAAI,WAAU,wBACZ,uBAAa,IAAI,CAAC,MAAM,8BACtB,iBAAA,EAA4B,MAAY,WAAnB,KAAqC,CAC5D,GACH,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DragEndEvent, DragStartEvent } from '@dnd-kit/core';
|
|
3
|
+
interface IKanbanBoardProps {
|
|
4
|
+
/** Cartão que acompanha o cursor. O host devolve o conteúdo do que está sendo arrastado. */
|
|
5
|
+
renderDragOverlay?: (activeId: string) => ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Ids das colunas na ordem atual. Junto com `onLaneReorder`, liga o arraste de colunas:
|
|
8
|
+
* a lane ganha uma alça no cabeçalho e o quadro devolve a nova ordem inteira.
|
|
9
|
+
*/
|
|
10
|
+
laneIds?: Array<string>;
|
|
11
|
+
onLaneReorder?: (orderedLaneIds: Array<string>) => void;
|
|
12
|
+
/** Largura do overlay. O padrão casa com a largura útil de uma lane. */
|
|
13
|
+
overlayClassName?: string;
|
|
14
|
+
onDragStart?: (event: DragStartEvent) => void;
|
|
15
|
+
onDragEnd: (event: DragEndEvent) => void;
|
|
16
|
+
onDragCancel?: () => void;
|
|
17
|
+
className?: string;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Casca de um quadro Kanban: o contexto de arraste, a faixa horizontal de colunas e o
|
|
22
|
+
* cartão que segue o cursor. É a ÚNICA implementação de quadro do app; um Kanban novo
|
|
23
|
+
* compõe `KanbanBoard` + `KanbanLane` + `KanbanCard` e traz só o conteúdo do cartão.
|
|
24
|
+
*/
|
|
25
|
+
declare const KanbanBoard: React.FC<IKanbanBoardProps>;
|
|
26
|
+
export default KanbanBoard;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback, useMemo } from "react";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { createPortal } from "react-dom";
|
|
5
|
+
import { getPortalHost } from "../../../helpers/portalHost.js";
|
|
6
|
+
import { useSensors, useSensor, PointerSensor, DndContext, DragOverlay, pointerWithin } from "@dnd-kit/core";
|
|
7
|
+
import { arrayMove, SortableContext, horizontalListSortingStrategy } from "@dnd-kit/sortable";
|
|
8
|
+
import { KANBAN_LANE_DRAG_TYPE, KanbanBoardContext } from "./kanbanBoardContext.js";
|
|
9
|
+
const laneUnderPointer = (args) => pointerWithin(args);
|
|
10
|
+
const DRAG_ACTIVATION_DISTANCE_PX = 6;
|
|
11
|
+
const KanbanBoard = ({
|
|
12
|
+
renderDragOverlay,
|
|
13
|
+
laneIds,
|
|
14
|
+
onLaneReorder,
|
|
15
|
+
overlayClassName = "w-[17rem]",
|
|
16
|
+
onDragStart,
|
|
17
|
+
onDragEnd,
|
|
18
|
+
onDragCancel,
|
|
19
|
+
className,
|
|
20
|
+
children
|
|
21
|
+
}) => {
|
|
22
|
+
const [activeId, setActiveId] = useState(null);
|
|
23
|
+
const [activeType, setActiveType] = useState(null);
|
|
24
|
+
const laneSortingEnabled = !!laneIds && !!onLaneReorder;
|
|
25
|
+
const sensors = useSensors(
|
|
26
|
+
useSensor(PointerSensor, { activationConstraint: { distance: DRAG_ACTIVATION_DISTANCE_PX } })
|
|
27
|
+
);
|
|
28
|
+
const handleDragStart = useCallback(
|
|
29
|
+
(event) => {
|
|
30
|
+
const isLane = event.active.data.current?.kanbanType === KANBAN_LANE_DRAG_TYPE;
|
|
31
|
+
setActiveId(String(event.active.id));
|
|
32
|
+
setActiveType(isLane ? "lane" : "card");
|
|
33
|
+
if (!isLane) onDragStart?.(event);
|
|
34
|
+
},
|
|
35
|
+
[onDragStart]
|
|
36
|
+
);
|
|
37
|
+
const reorderLanes = useCallback(
|
|
38
|
+
(event) => {
|
|
39
|
+
if (!laneIds || !onLaneReorder || !event.over) return;
|
|
40
|
+
const fromIndex = laneIds.indexOf(String(event.active.id));
|
|
41
|
+
const toIndex = laneIds.indexOf(String(event.over.id));
|
|
42
|
+
if (fromIndex === -1 || toIndex === -1 || fromIndex === toIndex) return;
|
|
43
|
+
onLaneReorder(arrayMove(laneIds, fromIndex, toIndex));
|
|
44
|
+
},
|
|
45
|
+
[laneIds, onLaneReorder]
|
|
46
|
+
);
|
|
47
|
+
const handleDragEnd = useCallback(
|
|
48
|
+
(event) => {
|
|
49
|
+
const isLane = event.active.data.current?.kanbanType === KANBAN_LANE_DRAG_TYPE;
|
|
50
|
+
setActiveId(null);
|
|
51
|
+
setActiveType(null);
|
|
52
|
+
if (isLane) {
|
|
53
|
+
reorderLanes(event);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
onDragEnd(event);
|
|
57
|
+
},
|
|
58
|
+
[onDragEnd, reorderLanes]
|
|
59
|
+
);
|
|
60
|
+
const handleDragCancel = useCallback(() => {
|
|
61
|
+
setActiveId(null);
|
|
62
|
+
setActiveType(null);
|
|
63
|
+
onDragCancel?.();
|
|
64
|
+
}, [onDragCancel]);
|
|
65
|
+
const boardContext = useMemo(
|
|
66
|
+
() => ({ draggingType: activeType, laneSortingEnabled }),
|
|
67
|
+
[activeType, laneSortingEnabled]
|
|
68
|
+
);
|
|
69
|
+
const portalHost = getPortalHost();
|
|
70
|
+
return /* @__PURE__ */ jsx(KanbanBoardContext.Provider, { value: boardContext, children: /* @__PURE__ */ jsxs(
|
|
71
|
+
DndContext,
|
|
72
|
+
{
|
|
73
|
+
sensors,
|
|
74
|
+
collisionDetection: laneUnderPointer,
|
|
75
|
+
onDragStart: handleDragStart,
|
|
76
|
+
onDragEnd: handleDragEnd,
|
|
77
|
+
onDragCancel: handleDragCancel,
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ jsx("div", { className: classNames("flex min-h-0 flex-1 items-stretch gap-3 overflow-x-auto pb-2", className), children: laneSortingEnabled ? /* @__PURE__ */ jsx(SortableContext, { items: laneIds ?? [], strategy: horizontalListSortingStrategy, children }) : children }),
|
|
80
|
+
portalHost !== null && createPortal(
|
|
81
|
+
/* @__PURE__ */ jsx(DragOverlay, { children: activeId && activeType === "card" && renderDragOverlay ? /* @__PURE__ */ jsx("div", { className: classNames("rotate-2", overlayClassName), children: renderDragOverlay(activeId) }) : null }),
|
|
82
|
+
portalHost
|
|
83
|
+
)
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
) });
|
|
87
|
+
};
|
|
88
|
+
export {
|
|
89
|
+
KanbanBoard as default
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=KanbanBoard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanBoard.js","sources":["../../../../src/components/UI/Kanban/KanbanBoard.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { createPortal } from 'react-dom';\n\nimport { getPortalHost } from '@/helpers/portalHost';\nimport {\n CollisionDetection,\n DndContext,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n PointerSensor,\n pointerWithin,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { arrayMove, horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortable';\n\nimport { KANBAN_LANE_DRAG_TYPE, KanbanBoardContext, TKanbanDragType } from './kanbanBoardContext';\n\n/**\n * A coluna de destino é a que está SOB O CURSOR, não a que mais se sobrepõe ao cartão.\n * A detecção padrão do dnd-kit (`rectIntersection`) compara o retângulo do cartão\n * arrastado com o das colunas, e um cartão mais largo que a folga entre elas cobre duas\n * ao mesmo tempo: soltar caía na coluna errada mesmo com o cursor na certa.\n *\n * Sem coluna sob o cursor não há destino, e soltar na fresta entre duas não move nada.\n * É a resposta previsível: melhor não mover do que escolher uma coluna por proximidade.\n */\nconst laneUnderPointer: CollisionDetection = (args) => pointerWithin(args);\n\n/** Abaixo disto o gesto é um clique, não um arraste. */\nconst DRAG_ACTIVATION_DISTANCE_PX = 6;\n\ninterface IKanbanBoardProps {\n /** Cartão que acompanha o cursor. O host devolve o conteúdo do que está sendo arrastado. */\n renderDragOverlay?: (activeId: string) => ReactNode;\n /**\n * Ids das colunas na ordem atual. Junto com `onLaneReorder`, liga o arraste de colunas:\n * a lane ganha uma alça no cabeçalho e o quadro devolve a nova ordem inteira.\n */\n laneIds?: Array<string>;\n onLaneReorder?: (orderedLaneIds: Array<string>) => void;\n /** Largura do overlay. O padrão casa com a largura útil de uma lane. */\n overlayClassName?: string;\n onDragStart?: (event: DragStartEvent) => void;\n onDragEnd: (event: DragEndEvent) => void;\n onDragCancel?: () => void;\n className?: string;\n children: ReactNode;\n}\n\n/**\n * Casca de um quadro Kanban: o contexto de arraste, a faixa horizontal de colunas e o\n * cartão que segue o cursor. É a ÚNICA implementação de quadro do app; um Kanban novo\n * compõe `KanbanBoard` + `KanbanLane` + `KanbanCard` e traz só o conteúdo do cartão.\n */\nconst KanbanBoard: React.FC<IKanbanBoardProps> = ({\n renderDragOverlay,\n laneIds,\n onLaneReorder,\n overlayClassName = 'w-[17rem]',\n onDragStart,\n onDragEnd,\n onDragCancel,\n className,\n children,\n}) => {\n const [activeId, setActiveId] = useState<string | null>(null);\n const [activeType, setActiveType] = useState<TKanbanDragType | null>(null);\n const laneSortingEnabled = !!laneIds && !!onLaneReorder;\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: DRAG_ACTIVATION_DISTANCE_PX } }),\n );\n\n const handleDragStart = useCallback(\n (event: DragStartEvent) => {\n const isLane = event.active.data.current?.kanbanType === KANBAN_LANE_DRAG_TYPE;\n setActiveId(String(event.active.id));\n setActiveType(isLane ? 'lane' : 'card');\n // Arrastar coluna não é assunto do host: quem reordena é este componente.\n if (!isLane) onDragStart?.(event);\n },\n [onDragStart],\n );\n\n const reorderLanes = useCallback(\n (event: DragEndEvent) => {\n if (!laneIds || !onLaneReorder || !event.over) return;\n\n const fromIndex = laneIds.indexOf(String(event.active.id));\n const toIndex = laneIds.indexOf(String(event.over.id));\n if (fromIndex === -1 || toIndex === -1 || fromIndex === toIndex) return;\n\n onLaneReorder(arrayMove(laneIds, fromIndex, toIndex));\n },\n [laneIds, onLaneReorder],\n );\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const isLane = event.active.data.current?.kanbanType === KANBAN_LANE_DRAG_TYPE;\n setActiveId(null);\n setActiveType(null);\n\n if (isLane) {\n reorderLanes(event);\n return;\n }\n\n onDragEnd(event);\n },\n [onDragEnd, reorderLanes],\n );\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n setActiveType(null);\n onDragCancel?.();\n }, [onDragCancel]);\n\n const boardContext = useMemo(\n () => ({ draggingType: activeType, laneSortingEnabled }),\n [activeType, laneSortingEnabled],\n );\n\n const portalHost = getPortalHost();\n\n return (\n <KanbanBoardContext.Provider value={boardContext}>\n <DndContext\n sensors={sensors}\n collisionDetection={laneUnderPointer}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n >\n <div className={classNames('flex min-h-0 flex-1 items-stretch gap-3 overflow-x-auto pb-2', className)}>\n {laneSortingEnabled ? (\n <SortableContext items={laneIds ?? []} strategy={horizontalListSortingStrategy}>\n {children}\n </SortableContext>\n ) : (\n children\n )}\n </div>\n\n {/* O overlay é `position: fixed`, e basta UM ancestral com `transform` para ele\n deixar de se posicionar pela viewport e nascer deslocado, longe do cursor. O\n corpo da DataTable, por exemplo, mantém um `translateY(0)` residual de uma\n animação com `forwards`. No portal para o body não existe esse risco. */}\n {portalHost !== null &&\n createPortal(\n <DragOverlay>\n {/* A coluna arrastada acompanha o cursor pelo próprio transform do sortable,\n então overlay é só para cartão. */}\n {activeId && activeType === 'card' && renderDragOverlay ? (\n <div className={classNames('rotate-2', overlayClassName)}>{renderDragOverlay(activeId)}</div>\n ) : null}\n </DragOverlay>,\n portalHost,\n )}\n </DndContext>\n </KanbanBoardContext.Provider>\n );\n};\n\nexport default KanbanBoard;\n"],"names":[],"mappings":";;;;;;;;AA6BA,MAAM,mBAAuC,CAAC,SAAS,cAAc,IAAI;AAGzE,MAAM,8BAA8B;AAyBpC,MAAM,cAA2C,CAAC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAI,SAAwB,IAAI;AAC5D,QAAM,CAAC,YAAY,aAAa,IAAI,SAAiC,IAAI;AACzE,QAAM,qBAAqB,CAAC,CAAC,WAAW,CAAC,CAAC;AAC1C,QAAM,UAAU;AAAA,IACd,UAAU,eAAe,EAAE,sBAAsB,EAAE,UAAU,4BAAA,GAA+B;AAAA,EAAA;AAG9F,QAAM,kBAAkB;AAAA,IACtB,CAAC,UAA0B;AACzB,YAAM,SAAS,MAAM,OAAO,KAAK,SAAS,eAAe;AACzD,kBAAY,OAAO,MAAM,OAAO,EAAE,CAAC;AACnC,oBAAc,SAAS,SAAS,MAAM;AAEtC,UAAI,CAAC,OAAQ,eAAc,KAAK;AAAA,IAClC;AAAA,IACA,CAAC,WAAW;AAAA,EAAA;AAGd,QAAM,eAAe;AAAA,IACnB,CAAC,UAAwB;AACvB,UAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,KAAM;AAE/C,YAAM,YAAY,QAAQ,QAAQ,OAAO,MAAM,OAAO,EAAE,CAAC;AACzD,YAAM,UAAU,QAAQ,QAAQ,OAAO,MAAM,KAAK,EAAE,CAAC;AACrD,UAAI,cAAc,MAAM,YAAY,MAAM,cAAc,QAAS;AAEjE,oBAAc,UAAU,SAAS,WAAW,OAAO,CAAC;AAAA,IACtD;AAAA,IACA,CAAC,SAAS,aAAa;AAAA,EAAA;AAGzB,QAAM,gBAAgB;AAAA,IACpB,CAAC,UAAwB;AACvB,YAAM,SAAS,MAAM,OAAO,KAAK,SAAS,eAAe;AACzD,kBAAY,IAAI;AAChB,oBAAc,IAAI;AAElB,UAAI,QAAQ;AACV,qBAAa,KAAK;AAClB;AAAA,MACF;AAEA,gBAAU,KAAK;AAAA,IACjB;AAAA,IACA,CAAC,WAAW,YAAY;AAAA,EAAA;AAG1B,QAAM,mBAAmB,YAAY,MAAM;AACzC,gBAAY,IAAI;AAChB,kBAAc,IAAI;AAClB,mBAAA;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,eAAe;AAAA,IACnB,OAAO,EAAE,cAAc,YAAY;IACnC,CAAC,YAAY,kBAAkB;AAAA,EAAA;AAGjC,QAAM,aAAa,cAAA;AAEnB,SACE,oBAAC,mBAAmB,UAAnB,EAA4B,OAAO,cAClC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MAEd,UAAA;AAAA,QAAA,oBAAC,SAAI,WAAW,WAAW,gEAAgE,SAAS,GACjG,UAAA,qBACC,oBAAC,iBAAA,EAAgB,OAAO,WAAW,IAAI,UAAU,+BAC9C,SAAA,CACH,IAEA,UAEJ;AAAA,QAMC,eAAe,QACd;AAAA,8BACG,aAAA,EAGE,UAAA,YAAY,eAAe,UAAU,oBACpC,oBAAC,OAAA,EAAI,WAAW,WAAW,YAAY,gBAAgB,GAAI,4BAAkB,QAAQ,EAAA,CAAE,IACrF,MACN;AAAA,UACA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA,GAEN;AAEJ;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface IKanbanCardProps {
|
|
3
|
+
/** Único no quadro INTEIRO. Num campo de vários valores o mesmo registro aparece em
|
|
4
|
+
* mais de uma coluna, e ids repetidos fazem o dnd-kit arrastar o cartão errado. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Carga lida no `onDragEnd` (a coluna de origem, o registro). */
|
|
7
|
+
data?: Record<string, unknown>;
|
|
8
|
+
draggable?: boolean;
|
|
9
|
+
/** A escrita do movimento ainda está em voo: o cartão esmaece e ganha o spinner. */
|
|
10
|
+
isMoving?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Cartão arrastável. Envolve o conteúdo do host sem impor formato.
|
|
16
|
+
*
|
|
17
|
+
* Os `attributes` do dnd-kit ficam de fora de propósito: eles marcam a casca com
|
|
18
|
+
* `role="button"`, e um cartão costuma ter controles próprios dentro, o que produziria
|
|
19
|
+
* um botão dentro de outro.
|
|
20
|
+
*/
|
|
21
|
+
declare const KanbanCard: React.FC<IKanbanCardProps>;
|
|
22
|
+
export default KanbanCard;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect } from "react";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import LoadingSpinner from "../LoadingSpinner.js";
|
|
5
|
+
import { useDraggable } from "@dnd-kit/core";
|
|
6
|
+
const KanbanCard = ({
|
|
7
|
+
id,
|
|
8
|
+
data,
|
|
9
|
+
draggable = true,
|
|
10
|
+
isMoving = false,
|
|
11
|
+
className,
|
|
12
|
+
children
|
|
13
|
+
}) => {
|
|
14
|
+
const { listeners, setNodeRef, isDragging } = useDraggable({ id, data, disabled: !draggable || isMoving });
|
|
15
|
+
const suppressNextClickRef = useRef(false);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (isDragging) suppressNextClickRef.current = true;
|
|
18
|
+
}, [isDragging]);
|
|
19
|
+
const handleClickCapture = (event) => {
|
|
20
|
+
if (!suppressNextClickRef.current) return;
|
|
21
|
+
suppressNextClickRef.current = false;
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
event.stopPropagation();
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ jsxs(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
ref: setNodeRef,
|
|
29
|
+
...listeners,
|
|
30
|
+
onClickCapture: handleClickCapture,
|
|
31
|
+
className: classNames(
|
|
32
|
+
"relative touch-none",
|
|
33
|
+
draggable && !isMoving && "cursor-grab active:cursor-grabbing",
|
|
34
|
+
isDragging && "opacity-40",
|
|
35
|
+
className
|
|
36
|
+
),
|
|
37
|
+
children: [
|
|
38
|
+
children,
|
|
39
|
+
isMoving && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center rounded-lg bg-surface/70", children: /* @__PURE__ */ jsx(LoadingSpinner, { size: 5 }) })
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
export {
|
|
45
|
+
KanbanCard as default
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=KanbanCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanCard.js","sources":["../../../../src/components/UI/Kanban/KanbanCard.tsx"],"sourcesContent":["import { MouseEvent, ReactNode, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport LoadingSpinner from '@/components/UI/LoadingSpinner';\nimport { useDraggable } from '@dnd-kit/core';\n\ninterface IKanbanCardProps {\n /** Único no quadro INTEIRO. Num campo de vários valores o mesmo registro aparece em\n * mais de uma coluna, e ids repetidos fazem o dnd-kit arrastar o cartão errado. */\n id: string;\n /** Carga lida no `onDragEnd` (a coluna de origem, o registro). */\n data?: Record<string, unknown>;\n draggable?: boolean;\n /** A escrita do movimento ainda está em voo: o cartão esmaece e ganha o spinner. */\n isMoving?: boolean;\n className?: string;\n children: ReactNode;\n}\n\n/**\n * Cartão arrastável. Envolve o conteúdo do host sem impor formato.\n *\n * Os `attributes` do dnd-kit ficam de fora de propósito: eles marcam a casca com\n * `role=\"button\"`, e um cartão costuma ter controles próprios dentro, o que produziria\n * um botão dentro de outro.\n */\nconst KanbanCard: React.FC<IKanbanCardProps> = ({\n id,\n data,\n draggable = true,\n isMoving = false,\n className,\n children,\n}) => {\n const { listeners, setNodeRef, isDragging } = useDraggable({ id, data, disabled: !draggable || isMoving });\n\n // Soltar o cartão termina em `pointerup`, que o navegador converte em `click`: sem isso\n // todo arraste também abre o registro que acabou de ser movido.\n const suppressNextClickRef = useRef(false);\n\n useEffect(() => {\n if (isDragging) suppressNextClickRef.current = true;\n }, [isDragging]);\n\n const handleClickCapture = (event: MouseEvent<HTMLDivElement>) => {\n if (!suppressNextClickRef.current) return;\n suppressNextClickRef.current = false;\n event.preventDefault();\n event.stopPropagation();\n };\n\n return (\n <div\n ref={setNodeRef}\n {...listeners}\n onClickCapture={handleClickCapture}\n className={classNames(\n 'relative touch-none',\n draggable && !isMoving && 'cursor-grab active:cursor-grabbing',\n isDragging && 'opacity-40',\n className,\n )}\n >\n {children}\n {isMoving && (\n <div className=\"absolute inset-0 flex items-center justify-center rounded-lg bg-surface/70\">\n <LoadingSpinner size={5} />\n </div>\n )}\n </div>\n );\n};\n\nexport default KanbanCard;\n"],"names":[],"mappings":";;;;;AA0BA,MAAM,aAAyC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,WAAW,YAAY,WAAA,IAAe,aAAa,EAAE,IAAI,MAAM,UAAU,CAAC,aAAa,UAAU;AAIzG,QAAM,uBAAuB,OAAO,KAAK;AAEzC,YAAU,MAAM;AACd,QAAI,iCAAiC,UAAU;AAAA,EACjD,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,qBAAqB,CAAC,UAAsC;AAChE,QAAI,CAAC,qBAAqB,QAAS;AACnC,yBAAqB,UAAU;AAC/B,UAAM,eAAA;AACN,UAAM,gBAAA;AAAA,EACR;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ,gBAAgB;AAAA,MAChB,WAAW;AAAA,QACT;AAAA,QACA,aAAa,CAAC,YAAY;AAAA,QAC1B,cAAc;AAAA,QACd;AAAA,MAAA;AAAA,MAGD,UAAA;AAAA,QAAA;AAAA,QACA,gCACE,OAAA,EAAI,WAAU,8EACb,UAAA,oBAAC,gBAAA,EAAe,MAAM,EAAA,CAAG,EAAA,CAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode, Ref, UIEvent } from 'react';
|
|
2
|
+
interface IKanbanLaneProps {
|
|
3
|
+
/** Id do destino do arraste. É o que chega em `event.over.id` no `onDragEnd`. */
|
|
4
|
+
id: string;
|
|
5
|
+
title: ReactNode;
|
|
6
|
+
/** Contagem no cabeçalho. Omita enquanto o número ainda não for confiável. */
|
|
7
|
+
count?: number;
|
|
8
|
+
/** Ponto colorido antes do título. Cor de DADO (a cor da etapa), não token de tema. */
|
|
9
|
+
accentColor?: string;
|
|
10
|
+
/** Controles à direita do título: busca, follow-up, menu. */
|
|
11
|
+
headerActions?: ReactNode;
|
|
12
|
+
/** Linhas extras do cabeçalho, abaixo do título (chips, período). */
|
|
13
|
+
headerExtra?: ReactNode;
|
|
14
|
+
/** Faixa entre o cabeçalho e a lista: campo de busca, aviso de destino. */
|
|
15
|
+
banner?: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* A coluna aceita o cartão que está sendo arrastado agora. Um quadro com transições
|
|
18
|
+
* livres deixa no padrão; um com regra de fluxo (o workflow) calcula por coluna.
|
|
19
|
+
*/
|
|
20
|
+
accepts?: boolean;
|
|
21
|
+
onScroll?: (event: UIEvent<HTMLDivElement>) => void;
|
|
22
|
+
scrollRef?: Ref<HTMLDivElement>;
|
|
23
|
+
className?: string;
|
|
24
|
+
/** Rótulo acessível da alça de reordenar, sempre de `t()`. */
|
|
25
|
+
reorderHandleLabel?: string;
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Uma coluna do quadro. Desenha a casca (largura, borda, cabeçalho, corpo rolável) e o
|
|
30
|
+
* estado de destino durante um arraste; o conteúdo é do host.
|
|
31
|
+
*
|
|
32
|
+
* Os três estados de destino existem porque um quadro com regra de transição precisa
|
|
33
|
+
* dizer ANTES do gesto terminar onde o cartão pode cair: sob o cursor, disponível, ou
|
|
34
|
+
* recusada. Sem isso o usuário só descobre a recusa depois de soltar.
|
|
35
|
+
*/
|
|
36
|
+
declare const KanbanLane: React.FC<IKanbanLaneProps>;
|
|
37
|
+
export default KanbanLane;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import ControlledButton from "../../Form/ControlledButton.js";
|
|
4
|
+
import OutlinedChip from "../Chips/OutlinedChip.js";
|
|
5
|
+
import { MaterialSymbol } from "../MaterialSymbol/index.js";
|
|
6
|
+
import { useSortable } from "@dnd-kit/sortable";
|
|
7
|
+
import { CSS } from "@dnd-kit/utilities";
|
|
8
|
+
import { useKanbanBoardContext, KANBAN_LANE_DRAG_TYPE } from "./kanbanBoardContext.js";
|
|
9
|
+
const KanbanLane = ({
|
|
10
|
+
id,
|
|
11
|
+
title,
|
|
12
|
+
count,
|
|
13
|
+
accentColor,
|
|
14
|
+
headerActions,
|
|
15
|
+
headerExtra,
|
|
16
|
+
banner,
|
|
17
|
+
accepts = true,
|
|
18
|
+
onScroll,
|
|
19
|
+
scrollRef,
|
|
20
|
+
className,
|
|
21
|
+
reorderHandleLabel,
|
|
22
|
+
children
|
|
23
|
+
}) => {
|
|
24
|
+
const { draggingType, laneSortingEnabled } = useKanbanBoardContext();
|
|
25
|
+
const { attributes, listeners, setNodeRef, transform, transition, isOver, isDragging } = useSortable({
|
|
26
|
+
id,
|
|
27
|
+
data: { kanbanType: KANBAN_LANE_DRAG_TYPE },
|
|
28
|
+
disabled: { draggable: !laneSortingEnabled, droppable: !accepts }
|
|
29
|
+
});
|
|
30
|
+
const isDraggingCard = draggingType === "card";
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
ref: setNodeRef,
|
|
35
|
+
style: { transform: CSS.Transform.toString(transform), transition },
|
|
36
|
+
className: classNames(
|
|
37
|
+
"flex h-full w-72 shrink-0 flex-col rounded-xl border transition-colors",
|
|
38
|
+
{
|
|
39
|
+
"border-brand-border bg-brand-soft": accepts && isOver && isDraggingCard,
|
|
40
|
+
"border-dashed border-brand-border bg-surface-sunken": accepts && !isOver && isDraggingCard,
|
|
41
|
+
"border-border-subtle bg-surface-sunken opacity-60": !accepts && isDraggingCard,
|
|
42
|
+
"border-border bg-surface-sunken": !isDraggingCard
|
|
43
|
+
},
|
|
44
|
+
isDragging && "z-10 opacity-80 shadow-elevation3",
|
|
45
|
+
className
|
|
46
|
+
),
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 flex-col gap-y-1.5 px-3 py-2.5", children: [
|
|
49
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
50
|
+
laneSortingEnabled && /* @__PURE__ */ jsx(
|
|
51
|
+
ControlledButton,
|
|
52
|
+
{
|
|
53
|
+
defaultHtmlButton: true,
|
|
54
|
+
...attributes,
|
|
55
|
+
...listeners,
|
|
56
|
+
"aria-label": reorderHandleLabel,
|
|
57
|
+
className: "-ml-1 flex size-6 shrink-0 cursor-grab items-center justify-center rounded-md text-foreground-faint transition-colors hover:bg-muted-hover hover:text-foreground-muted active:cursor-grabbing",
|
|
58
|
+
children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: "drag_indicator", size: 16 })
|
|
59
|
+
}
|
|
60
|
+
),
|
|
61
|
+
accentColor && /* @__PURE__ */ jsx("span", { className: "size-2 shrink-0 rounded-full", style: { backgroundColor: accentColor }, "aria-hidden": true }),
|
|
62
|
+
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1 items-center", children: title }),
|
|
63
|
+
count != null && /* @__PURE__ */ jsx(OutlinedChip, { count, tone: "neutral", size: "sm", className: "shrink-0" }),
|
|
64
|
+
headerActions
|
|
65
|
+
] }),
|
|
66
|
+
headerExtra
|
|
67
|
+
] }),
|
|
68
|
+
banner,
|
|
69
|
+
/* @__PURE__ */ jsx("div", { ref: scrollRef, className: "flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2 pb-2", onScroll, children })
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
export {
|
|
75
|
+
KanbanLane as default
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=KanbanLane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanLane.js","sources":["../../../../src/components/UI/Kanban/KanbanLane.tsx"],"sourcesContent":["import { ReactNode, Ref, UIEvent } from 'react';\nimport classNames from 'classnames';\n\nimport ControlledButton from '@/components/Form/ControlledButton';\nimport OutlinedChip from '@/components/UI/Chips/OutlinedChip';\nimport { MaterialSymbol } from '@/components/UI/MaterialSymbol';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nimport { KANBAN_LANE_DRAG_TYPE, useKanbanBoardContext } from './kanbanBoardContext';\n\ninterface IKanbanLaneProps {\n /** Id do destino do arraste. É o que chega em `event.over.id` no `onDragEnd`. */\n id: string;\n title: ReactNode;\n /** Contagem no cabeçalho. Omita enquanto o número ainda não for confiável. */\n count?: number;\n /** Ponto colorido antes do título. Cor de DADO (a cor da etapa), não token de tema. */\n accentColor?: string;\n /** Controles à direita do título: busca, follow-up, menu. */\n headerActions?: ReactNode;\n /** Linhas extras do cabeçalho, abaixo do título (chips, período). */\n headerExtra?: ReactNode;\n /** Faixa entre o cabeçalho e a lista: campo de busca, aviso de destino. */\n banner?: ReactNode;\n /**\n * A coluna aceita o cartão que está sendo arrastado agora. Um quadro com transições\n * livres deixa no padrão; um com regra de fluxo (o workflow) calcula por coluna.\n */\n accepts?: boolean;\n onScroll?: (event: UIEvent<HTMLDivElement>) => void;\n scrollRef?: Ref<HTMLDivElement>;\n className?: string;\n /** Rótulo acessível da alça de reordenar, sempre de `t()`. */\n reorderHandleLabel?: string;\n children: ReactNode;\n}\n\n/**\n * Uma coluna do quadro. Desenha a casca (largura, borda, cabeçalho, corpo rolável) e o\n * estado de destino durante um arraste; o conteúdo é do host.\n *\n * Os três estados de destino existem porque um quadro com regra de transição precisa\n * dizer ANTES do gesto terminar onde o cartão pode cair: sob o cursor, disponível, ou\n * recusada. Sem isso o usuário só descobre a recusa depois de soltar.\n */\nconst KanbanLane: React.FC<IKanbanLaneProps> = ({\n id,\n title,\n count,\n accentColor,\n headerActions,\n headerExtra,\n banner,\n accepts = true,\n onScroll,\n scrollRef,\n className,\n reorderHandleLabel,\n children,\n}) => {\n const { draggingType, laneSortingEnabled } = useKanbanBoardContext();\n\n // `useSortable` registra o nó como arrastável E como destino, então ele cobre os dois\n // papéis da coluna. Registrar um `useDroppable` ao lado criaria dois destinos com o\n // mesmo id, e o dnd-kit resolveria o drop para o errado.\n const { attributes, listeners, setNodeRef, transform, transition, isOver, isDragging } = useSortable({\n id,\n data: { kanbanType: KANBAN_LANE_DRAG_TYPE },\n disabled: { draggable: !laneSortingEnabled, droppable: !accepts },\n });\n\n const isDraggingCard = draggingType === 'card';\n\n return (\n <div\n ref={setNodeRef}\n style={{ transform: CSS.Transform.toString(transform), transition }}\n className={classNames(\n 'flex h-full w-72 shrink-0 flex-col rounded-xl border transition-colors',\n {\n 'border-brand-border bg-brand-soft': accepts && isOver && isDraggingCard,\n 'border-dashed border-brand-border bg-surface-sunken': accepts && !isOver && isDraggingCard,\n 'border-border-subtle bg-surface-sunken opacity-60': !accepts && isDraggingCard,\n 'border-border bg-surface-sunken': !isDraggingCard,\n },\n isDragging && 'z-10 opacity-80 shadow-elevation3',\n className,\n )}\n >\n <div className=\"flex shrink-0 flex-col gap-y-1.5 px-3 py-2.5\">\n <div className=\"flex items-center gap-2\">\n {laneSortingEnabled && (\n <ControlledButton\n defaultHtmlButton\n {...attributes}\n {...listeners}\n aria-label={reorderHandleLabel}\n className=\"-ml-1 flex size-6 shrink-0 cursor-grab items-center justify-center rounded-md text-foreground-faint transition-colors hover:bg-muted-hover hover:text-foreground-muted active:cursor-grabbing\"\n >\n <MaterialSymbol icon=\"drag_indicator\" size={16} />\n </ControlledButton>\n )}\n {accentColor && (\n <span className=\"size-2 shrink-0 rounded-full\" style={{ backgroundColor: accentColor }} aria-hidden />\n )}\n <div className=\"flex min-w-0 flex-1 items-center\">{title}</div>\n {count != null && <OutlinedChip count={count} tone=\"neutral\" size=\"sm\" className=\"shrink-0\" />}\n {headerActions}\n </div>\n {headerExtra}\n </div>\n\n {banner}\n\n <div ref={scrollRef} className=\"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2 pb-2\" onScroll={onScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nexport default KanbanLane;\n"],"names":[],"mappings":";;;;;;;;AA8CA,MAAM,aAAyC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,cAAc,mBAAA,IAAuB,sBAAA;AAK7C,QAAM,EAAE,YAAY,WAAW,YAAY,WAAW,YAAY,QAAQ,WAAA,IAAe,YAAY;AAAA,IACnG;AAAA,IACA,MAAM,EAAE,YAAY,sBAAA;AAAA,IACpB,UAAU,EAAE,WAAW,CAAC,oBAAoB,WAAW,CAAC,QAAA;AAAA,EAAQ,CACjE;AAED,QAAM,iBAAiB,iBAAiB;AAExC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO,EAAE,WAAW,IAAI,UAAU,SAAS,SAAS,GAAG,WAAA;AAAA,MACvD,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,qCAAqC,WAAW,UAAU;AAAA,UAC1D,uDAAuD,WAAW,CAAC,UAAU;AAAA,UAC7E,qDAAqD,CAAC,WAAW;AAAA,UACjE,mCAAmC,CAAC;AAAA,QAAA;AAAA,QAEtC,cAAc;AAAA,QACd;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,gDACb,UAAA;AAAA,UAAA,qBAAC,OAAA,EAAI,WAAU,2BACZ,UAAA;AAAA,YAAA,sBACC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,mBAAiB;AAAA,gBAChB,GAAG;AAAA,gBACH,GAAG;AAAA,gBACJ,cAAY;AAAA,gBACZ,WAAU;AAAA,gBAEV,UAAA,oBAAC,gBAAA,EAAe,MAAK,kBAAiB,MAAM,GAAA,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,YAGnD,eACC,oBAAC,QAAA,EAAK,WAAU,gCAA+B,OAAO,EAAE,iBAAiB,YAAA,GAAe,eAAW,KAAA,CAAC;AAAA,YAEtG,oBAAC,OAAA,EAAI,WAAU,oCAAoC,UAAA,OAAM;AAAA,YACxD,SAAS,QAAQ,oBAAC,cAAA,EAAa,OAAc,MAAK,WAAU,MAAK,MAAK,WAAU,WAAA,CAAW;AAAA,YAC3F;AAAA,UAAA,GACH;AAAA,UACC;AAAA,QAAA,GACH;AAAA,QAEC;AAAA,4BAEA,OAAA,EAAI,KAAK,WAAW,WAAU,gEAA+D,UAC3F,SAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as default2 } from "./KanbanBoard.js";
|
|
2
|
+
import { useKanbanBoardContext } from "./kanbanBoardContext.js";
|
|
3
|
+
import { default as default3 } from "./KanbanCard.js";
|
|
4
|
+
import { default as default4 } from "./KanbanLane.js";
|
|
5
|
+
export {
|
|
6
|
+
default2 as KanbanBoard,
|
|
7
|
+
default3 as KanbanCard,
|
|
8
|
+
default4 as KanbanLane,
|
|
9
|
+
useKanbanBoardContext
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** O que está sendo arrastado agora no quadro. */
|
|
2
|
+
export type TKanbanDragType = 'card' | 'lane';
|
|
3
|
+
interface IKanbanBoardContext {
|
|
4
|
+
/** `null` quando nada está sendo arrastado. */
|
|
5
|
+
draggingType: TKanbanDragType | null;
|
|
6
|
+
/** As colunas podem ser reordenadas: a lane mostra a alça no cabeçalho. */
|
|
7
|
+
laneSortingEnabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const KanbanBoardContext: import('react').Context<IKanbanBoardContext>;
|
|
10
|
+
export declare const useKanbanBoardContext: () => IKanbanBoardContext;
|
|
11
|
+
/** Marca o arraste de uma coluna, para o quadro separar dos arrastes de cartão. */
|
|
12
|
+
export declare const KANBAN_LANE_DRAG_TYPE: "lane";
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const KanbanBoardContext = createContext({
|
|
3
|
+
draggingType: null,
|
|
4
|
+
laneSortingEnabled: false
|
|
5
|
+
});
|
|
6
|
+
const useKanbanBoardContext = () => useContext(KanbanBoardContext);
|
|
7
|
+
const KANBAN_LANE_DRAG_TYPE = "lane";
|
|
8
|
+
export {
|
|
9
|
+
KANBAN_LANE_DRAG_TYPE,
|
|
10
|
+
KanbanBoardContext,
|
|
11
|
+
useKanbanBoardContext
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=kanbanBoardContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanbanBoardContext.js","sources":["../../../../src/components/UI/Kanban/kanbanBoardContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/** O que está sendo arrastado agora no quadro. */\nexport type TKanbanDragType = 'card' | 'lane';\n\ninterface IKanbanBoardContext {\n /** `null` quando nada está sendo arrastado. */\n draggingType: TKanbanDragType | null;\n /** As colunas podem ser reordenadas: a lane mostra a alça no cabeçalho. */\n laneSortingEnabled: boolean;\n}\n\nexport const KanbanBoardContext = createContext<IKanbanBoardContext>({\n draggingType: null,\n laneSortingEnabled: false,\n});\n\nexport const useKanbanBoardContext = (): IKanbanBoardContext => useContext(KanbanBoardContext);\n\n/** Marca o arraste de uma coluna, para o quadro separar dos arrastes de cartão. */\nexport const KANBAN_LANE_DRAG_TYPE = 'lane' as const;\n"],"names":[],"mappings":";AAYO,MAAM,qBAAqB,cAAmC;AAAA,EACnE,cAAc;AAAA,EACd,oBAAoB;AACtB,CAAC;AAEM,MAAM,wBAAwB,MAA2B,WAAW,kBAAkB;AAGtF,MAAM,wBAAwB;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
declare const Markdown: import('react').LazyExoticComponent<typeof import('react-markdown').default>;
|
|
3
|
+
type TLazyMarkdownProps = ComponentProps<typeof Markdown>;
|
|
4
|
+
declare const LazyMarkdown: (props: TLazyMarkdownProps) => import("react").JSX.Element;
|
|
5
|
+
export default LazyMarkdown;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { lazy, Suspense } from "react";
|
|
3
|
+
const Markdown = lazy(() => import("react-markdown"));
|
|
4
|
+
const LazyMarkdown = (props) => /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(Markdown, { ...props }) });
|
|
5
|
+
export {
|
|
6
|
+
LazyMarkdown as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=LazyMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LazyMarkdown.js","sources":["../../../src/components/UI/LazyMarkdown.tsx"],"sourcesContent":["import { ComponentProps, lazy, Suspense } from 'react';\n\nconst Markdown = lazy(() => import('react-markdown'));\n\ntype TLazyMarkdownProps = ComponentProps<typeof Markdown>;\n\nconst LazyMarkdown = (props: TLazyMarkdownProps) => (\n <Suspense fallback={null}>\n <Markdown {...props} />\n </Suspense>\n);\n\nexport default LazyMarkdown;\n"],"names":[],"mappings":";;AAEA,MAAM,WAAW,KAAK,MAAM,OAAO,gBAAgB,CAAC;AAIpD,MAAM,eAAe,CAAC,UACpB,oBAAC,UAAA,EAAS,UAAU,MAClB,UAAA,oBAAC,UAAA,EAAU,GAAG,MAAA,CAAO,EAAA,CACvB;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
const LoadingPage = () => {
|
|
3
|
+
return (
|
|
4
|
+
// <div className="flex w-full justify-center">
|
|
5
|
+
// <LoadingSpinner label="Carregando Aplicação..." />
|
|
6
|
+
// </div>
|
|
7
|
+
/* @__PURE__ */ jsx(Fragment, {})
|
|
8
|
+
);
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
LoadingPage as default
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=LoadingPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingPage.js","sources":["../../../src/components/UI/LoadingPage.tsx"],"sourcesContent":["// general loading page\nconst LoadingPage = () => {\n return (\n // <div className=\"flex w-full justify-center\">\n // <LoadingSpinner label=\"Carregando Aplicação...\" />\n // </div>\n <></>\n );\n};\n\nexport default LoadingPage;\n"],"names":[],"mappings":";AACA,MAAM,cAAc,MAAM;AACxB;AAAA;AAAA;AAAA;AAAA,IAIE,oBAAA,UAAA,CAAA,CAAE;AAAA;AAEN;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface ILoadingSpinnerProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
size?: number;
|
|
5
|
+
/**
|
|
6
|
+
* A token name, NOT a CSS colour: it is interpolated into `text-${color}`. Passing a
|
|
7
|
+
* palette shade freezes the spinner to one theme, and passing `rgb(var(--…))` produces
|
|
8
|
+
* a class that does not exist, so the spinner renders with no colour at all.
|
|
9
|
+
*/
|
|
10
|
+
color?: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const LoadingSpinner: React.FC<ILoadingSpinnerProps>;
|
|
14
|
+
export default LoadingSpinner;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
const LoadingSpinner = ({ className, size = 8, color = "foreground-muted", label }) => /* @__PURE__ */ jsxs("div", { className: classNames("flex items-center justify-center gap-x-2", className), children: [
|
|
4
|
+
/* @__PURE__ */ jsxs(
|
|
5
|
+
"svg",
|
|
6
|
+
{
|
|
7
|
+
className: classNames("animate-spin", {
|
|
8
|
+
[`w-${size}`]: size,
|
|
9
|
+
[`text-${color}`]: color
|
|
10
|
+
}),
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
fill: "none",
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
"path",
|
|
18
|
+
{
|
|
19
|
+
className: "opacity-75",
|
|
20
|
+
fill: "currentColor",
|
|
21
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
label && /* @__PURE__ */ jsx("span", { className: "text-xs text-foreground-subtle", children: label })
|
|
28
|
+
] });
|
|
29
|
+
export {
|
|
30
|
+
LoadingSpinner as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=LoadingSpinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingSpinner.js","sources":["../../../src/components/UI/LoadingSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport classNames from 'classnames';\n\ninterface ILoadingSpinnerProps {\n className?: string;\n size?: number;\n /**\n * A token name, NOT a CSS colour: it is interpolated into `text-${color}`. Passing a\n * palette shade freezes the spinner to one theme, and passing `rgb(var(--…))` produces\n * a class that does not exist, so the spinner renders with no colour at all.\n */\n color?: string;\n label?: string;\n}\n\nconst LoadingSpinner: React.FC<ILoadingSpinnerProps> = ({ className, size = 8, color = 'foreground-muted', label }) => (\n <div className={classNames('flex items-center justify-center gap-x-2', className)}>\n <svg\n className={classNames('animate-spin', {\n [`w-${size}`]: size,\n [`text-${color}`]: color,\n })}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n {/* eslint-disable-next-line i18n-check/no-literal-jsx-strings */}\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n\n {label && <span className=\"text-xs text-foreground-subtle\">{label}</span>}\n </div>\n);\n\nexport default LoadingSpinner;\n"],"names":[],"mappings":";;AAeA,MAAM,iBAAiD,CAAC,EAAE,WAAW,OAAO,GAAG,QAAQ,oBAAoB,MAAA,2BACxG,OAAA,EAAI,WAAW,WAAW,4CAA4C,SAAS,GAC9E,UAAA;AAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,gBAAgB;AAAA,QACpC,CAAC,KAAK,IAAI,EAAE,GAAG;AAAA,QACf,CAAC,QAAQ,KAAK,EAAE,GAAG;AAAA,MAAA,CACpB;AAAA,MACD,OAAM;AAAA,MACN,MAAK;AAAA,MACL,SAAQ;AAAA,MAGR,UAAA;AAAA,QAAA,oBAAC,UAAA,EAAO,WAAU,cAAa,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,QAAO,gBAAe,aAAY,KAAI;AAAA,QAC5F;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,GAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAAA,EAGF,SAAS,oBAAC,QAAA,EAAK,WAAU,kCAAkC,UAAA,MAAA,CAAM;AAAA,EAAA,CACpE;"}
|