@umodeapporg/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +182 -0
- package/dist/components/DateTime/DatePicker.d.ts +19 -0
- package/dist/components/DateTime/DatePicker.js +121 -0
- package/dist/components/DateTime/DatePicker.js.map +1 -0
- package/dist/components/DateTime/DateRangePicker.d.ts +19 -0
- package/dist/components/DateTime/DateRangePicker.js +205 -0
- package/dist/components/DateTime/DateRangePicker.js.map +1 -0
- package/dist/components/Form/ControlledButton.d.ts +13 -0
- package/dist/components/Form/ControlledButton.js +68 -0
- package/dist/components/Form/ControlledButton.js.map +1 -0
- package/dist/components/Form/ControlledCheckbox.d.ts +12 -0
- package/dist/components/Form/ControlledCheckbox.js +101 -0
- package/dist/components/Form/ControlledCheckbox.js.map +1 -0
- package/dist/components/Form/ControlledDialog.d.ts +44 -0
- package/dist/components/Form/ControlledDialog.js +185 -0
- package/dist/components/Form/ControlledDialog.js.map +1 -0
- package/dist/components/Form/ControlledDialogPrimitives.d.ts +30 -0
- package/dist/components/Form/ControlledDialogPrimitives.js +121 -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 +237 -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 +30 -0
- package/dist/components/Form/ControlledImage/index.js +107 -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 +44 -0
- package/dist/components/Form/ControlledSelect.js +545 -0
- package/dist/components/Form/ControlledSelect.js.map +1 -0
- package/dist/components/Form/ControlledSwitch.d.ts +14 -0
- package/dist/components/Form/ControlledSwitch.js +88 -0
- package/dist/components/Form/ControlledSwitch.js.map +1 -0
- package/dist/components/Form/ControlledTabs.d.ts +70 -0
- package/dist/components/Form/ControlledTabs.js +470 -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 +47 -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 +57 -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 +11 -0
- package/dist/components/Form/ControlledVoiceTextarea.js +88 -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/RichTextEditor.d.ts +80 -0
- package/dist/components/Form/RichTextEditor.js +546 -0
- package/dist/components/Form/RichTextEditor.js.map +1 -0
- package/dist/components/Form/attachments/AttachmentPreviewList.d.ts +8 -0
- package/dist/components/Form/attachments/AttachmentPreviewList.js +71 -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 +23 -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/PageTitle.d.ts +41 -0
- package/dist/components/Navigation/PageTitle.js +147 -0
- package/dist/components/Navigation/PageTitle.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/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 +387 -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 +264 -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/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 +25 -0
- package/dist/components/UI/BaseDataCard.js +163 -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 +125 -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 +183 -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 +89 -0
- package/dist/components/UI/ControlledAccordion.js.map +1 -0
- package/dist/components/UI/ControlledCollapse.d.ts +13 -0
- package/dist/components/UI/ControlledCollapse.js +32 -0
- package/dist/components/UI/ControlledCollapse.js.map +1 -0
- package/dist/components/UI/ControlledMenu.d.ts +73 -0
- package/dist/components/UI/ControlledMenu.js +231 -0
- package/dist/components/UI/ControlledMenu.js.map +1 -0
- package/dist/components/UI/ControlledPopover.d.ts +44 -0
- package/dist/components/UI/ControlledPopover.js +144 -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 +13 -0
- package/dist/components/UI/ControlledSlider.js +29 -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 +140 -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 +100 -0
- package/dist/components/UI/DataTable/DataTable.js +546 -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 +29 -0
- package/dist/components/UI/DataTable/DataTableBody.js +243 -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 +77 -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 +251 -0
- package/dist/components/UI/DataTable/DataTableBulkEditDialog.js.map +1 -0
- package/dist/components/UI/DataTable/DataTableColumnToggle.d.ts +34 -0
- package/dist/components/UI/DataTable/DataTableColumnToggle.js +168 -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 +64 -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 +145 -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 +109 -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 +53 -0
- package/dist/components/UI/DataTable/applyDataTableFilters.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 +31 -0
- package/dist/components/UI/DataTable/grid/GridProvider.js +85 -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 +69 -0
- package/dist/components/UI/DataTable/grid/gridStore.js +219 -0
- package/dist/components/UI/DataTable/grid/gridStore.js.map +1 -0
- package/dist/components/UI/DataTable/grid/gridTypes.d.ts +47 -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 +17 -0
- package/dist/components/UI/DataTable/grid/useGridKeyboard.js +114 -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 +513 -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 +306 -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/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/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 +73 -0
- package/dist/components/UI/HorizontalScrollArea.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.d.ts +15 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js +144 -0
- package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js.map +1 -0
- package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.d.ts +29 -0
- package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js +84 -0
- package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/AnnotationEditor.d.ts +12 -0
- package/dist/components/UI/ImageAnnotator/AnnotationEditor.js +267 -0
- package/dist/components/UI/ImageAnnotator/AnnotationEditor.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.d.ts +13 -0
- package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js +58 -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/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 +125 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js.map +1 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.d.ts +19 -0
- package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js +216 -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 +69 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.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 +15 -0
- package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js +78 -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 +80 -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/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 +27 -0
- package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js +149 -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 +79 -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 +89 -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/ImagePlaceholder.d.ts +24 -0
- package/dist/components/UI/ImagePlaceholder.js +26 -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 +49 -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 +89 -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 +46 -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 +28 -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 +18 -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/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/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 +16 -0
- package/dist/helpers/imageFile.js +59 -0
- package/dist/helpers/imageFile.js.map +1 -0
- package/dist/helpers/layeredSurfaces.d.ts +10 -0
- package/dist/helpers/layeredSurfaces.js +14 -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 +6 -0
- package/dist/helpers/mergeClasses.js +12 -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 +60 -0
- package/dist/helpers/objectHelpers.js.map +1 -0
- package/dist/helpers/richText.d.ts +37 -0
- package/dist/helpers/richText.js +171 -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/themeTokens.d.ts +28 -0
- package/dist/helpers/themeTokens.js +33 -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 +41 -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/useVoiceTranscription.d.ts +25 -0
- package/dist/hooks/useVoiceTranscription.js +106 -0
- package/dist/hooks/useVoiceTranscription.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +125 -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 +10 -0
- package/dist/interfaces/IFilterOption.js +2 -0
- package/dist/interfaces/IFilterOption.js.map +1 -0
- package/dist/locales/en/ui.json.d.ts +470 -0
- package/dist/locales/en/ui.json.js +99 -0
- package/dist/locales/en/ui.json.js.map +1 -0
- package/dist/locales/index.d.ts +938 -0
- package/dist/locales/index.js +7 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/pt/ui.json.d.ts +470 -0
- package/dist/locales/pt/ui.json.js +99 -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 +174 -0
- package/src/assets/styles/theme.css +381 -0
- package/tailwind-plugins/glass.js +167 -0
- package/tailwind.preset.js +367 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useState, useEffect } from "react";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import DatePicker from "../../../DateTime/DatePicker.js";
|
|
6
|
+
import ControlledInput from "../../../Form/ControlledInput.js";
|
|
7
|
+
import { ControlledSelect } from "../../../Form/ControlledSelect.js";
|
|
8
|
+
import ControlledTooltip from "../../ControlledTooltip.js";
|
|
9
|
+
import { MaterialSymbol } from "../../MaterialSymbol/index.js";
|
|
10
|
+
import { formatIsoDate } from "../../../../helpers/dateHelpers.js";
|
|
11
|
+
import { useHoverCapable } from "../../../../hooks/useHoverCapable.js";
|
|
12
|
+
import { useInlineEditor } from "../../../../hooks/useInlineEditor.js";
|
|
13
|
+
import { useGridStoreApi, useGridCellState } from "../grid/GridProvider.js";
|
|
14
|
+
import { GRID_CELL_EDITING } from "../grid/gridTypes.js";
|
|
15
|
+
import { useGridEditMode } from "../grid/useGridInstance.js";
|
|
16
|
+
import { useDataTableCellEditing, buildEditableCellKey, EDITABLE_CELL_ATTR } from "../useCellEditingState.js";
|
|
17
|
+
const EDITABLE_INPUT_ATTR = "data-datatable-editable-input";
|
|
18
|
+
const isSameEditableValue = (current, previous) => {
|
|
19
|
+
if (Array.isArray(current) || Array.isArray(previous)) {
|
|
20
|
+
if (!Array.isArray(current) || !Array.isArray(previous)) return false;
|
|
21
|
+
return current.length === previous.length && current.every((entry, index) => entry === previous[index]);
|
|
22
|
+
}
|
|
23
|
+
return current === previous;
|
|
24
|
+
};
|
|
25
|
+
const resolveDecimalSeparator = (language) => {
|
|
26
|
+
const separator = 1.1.toLocaleString(language || "pt-BR").replace(/\d/g, "");
|
|
27
|
+
return separator || ".";
|
|
28
|
+
};
|
|
29
|
+
const focusNextEditableInput = (current) => {
|
|
30
|
+
const inputs = Array.from(document.querySelectorAll(`[${EDITABLE_INPUT_ATTR}]`));
|
|
31
|
+
const index = inputs.indexOf(current);
|
|
32
|
+
if (index === -1) return;
|
|
33
|
+
inputs[index + 1]?.focus();
|
|
34
|
+
};
|
|
35
|
+
const DataTableEditableCell = ({
|
|
36
|
+
column,
|
|
37
|
+
row,
|
|
38
|
+
gridRowId,
|
|
39
|
+
onCellChange,
|
|
40
|
+
keyboardNav = false,
|
|
41
|
+
clickToEdit = false
|
|
42
|
+
}) => {
|
|
43
|
+
const { t, i18n } = useTranslation("ui");
|
|
44
|
+
const hoverCapable = useHoverCapable();
|
|
45
|
+
const cellEditing = useDataTableCellEditing();
|
|
46
|
+
const gridStore = useGridStoreApi();
|
|
47
|
+
const gridCellState = useGridCellState(gridRowId ?? "", column.id);
|
|
48
|
+
const cellKey = buildEditableCellKey(row.id, column.id);
|
|
49
|
+
const isGridEditModeOn = useGridEditMode(gridStore);
|
|
50
|
+
const hasGrid = !!gridStore && !!gridRowId;
|
|
51
|
+
const isGridCell = hasGrid && isGridEditModeOn;
|
|
52
|
+
const isEditing = isGridCell ? (gridCellState & GRID_CELL_EDITING) !== 0 : clickToEdit ? cellEditing?.editingCellKey === cellKey : true;
|
|
53
|
+
const showsReadView = isGridCell || clickToEdit;
|
|
54
|
+
const { containerRef, handleKeyDown } = useInlineEditor(
|
|
55
|
+
Boolean(!isGridCell && clickToEdit && isEditing),
|
|
56
|
+
() => cellEditing?.stopEditing(),
|
|
57
|
+
(direction) => cellEditing?.navigate(cellKey, direction)
|
|
58
|
+
);
|
|
59
|
+
const editable = column.editable;
|
|
60
|
+
const valueBeforeEditRef = useRef(null);
|
|
61
|
+
const wasEditingRef = useRef(false);
|
|
62
|
+
const [draftText, setDraftText] = useState(null);
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
if (!isEditing) setDraftText(null);
|
|
65
|
+
}, [isEditing]);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (!isGridCell || !editable) return;
|
|
68
|
+
if (isEditing) {
|
|
69
|
+
if (!wasEditingRef.current) valueBeforeEditRef.current = editable.getValue(row);
|
|
70
|
+
wasEditingRef.current = true;
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (!wasEditingRef.current) return;
|
|
74
|
+
wasEditingRef.current = false;
|
|
75
|
+
if (gridStore?.getState().editingOutcome !== "cancel") return;
|
|
76
|
+
if (isSameEditableValue(editable.getValue(row), valueBeforeEditRef.current)) return;
|
|
77
|
+
onCellChange(row, column.id, valueBeforeEditRef.current);
|
|
78
|
+
}, [isEditing, isGridCell, editable, gridStore, onCellChange, row, column.id]);
|
|
79
|
+
if (!editable) return null;
|
|
80
|
+
const rawValue = editable.getValue(row);
|
|
81
|
+
const disabled = editable.disabled?.(row) ?? false;
|
|
82
|
+
const error = editable.validate?.(rawValue, row) ?? null;
|
|
83
|
+
const arrayValue = Array.isArray(rawValue) ? rawValue.map(String) : [];
|
|
84
|
+
const stringValue = rawValue == null || Array.isArray(rawValue) ? "" : String(rawValue);
|
|
85
|
+
const decimalValue = editable.type === "number" && typeof rawValue === "number" ? stringValue.replace(".", resolveDecimalSeparator(i18n.language)) : stringValue;
|
|
86
|
+
const renderEditor = () => {
|
|
87
|
+
if (editable.renderEditor) {
|
|
88
|
+
return editable.renderEditor({
|
|
89
|
+
value: rawValue,
|
|
90
|
+
onChange: (nextValue) => onCellChange(row, column.id, nextValue),
|
|
91
|
+
disabled,
|
|
92
|
+
label: column.header
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (editable.type === "multiselect") {
|
|
96
|
+
return /* @__PURE__ */ jsx(
|
|
97
|
+
ControlledSelect,
|
|
98
|
+
{
|
|
99
|
+
className: "w-full [&_.controlled-select-container]:!min-w-0 [&_.controlled-select-input]:!min-w-0",
|
|
100
|
+
options: Array.isArray(editable.options) ? editable.options : [],
|
|
101
|
+
selectedValue: arrayValue,
|
|
102
|
+
onChangeHook: (selected) => onCellChange(row, column.id, Array.isArray(selected) ? selected : [selected]),
|
|
103
|
+
multiple: true,
|
|
104
|
+
searchable: true,
|
|
105
|
+
clearable: true,
|
|
106
|
+
disabled,
|
|
107
|
+
error: !!error
|
|
108
|
+
}
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
if (editable.type === "select") {
|
|
112
|
+
return (
|
|
113
|
+
// `ControlledSelect` ships hard min-widths (`min-w-52` on the field and the MT
|
|
114
|
+
// container's `min-w-[200px]`) that overflow narrow table cells and spill into
|
|
115
|
+
// the neighbouring column; force both to shrink so the editor fits its column
|
|
116
|
+
// like the text/number editors do.
|
|
117
|
+
/* @__PURE__ */ jsx(
|
|
118
|
+
ControlledSelect,
|
|
119
|
+
{
|
|
120
|
+
className: "w-full [&_.controlled-select-container]:!min-w-0 [&_.controlled-select-input]:!min-w-0",
|
|
121
|
+
options: Array.isArray(editable.options) ? editable.options : [],
|
|
122
|
+
selectedValue: stringValue,
|
|
123
|
+
onChangeHook: (selected) => onCellChange(row, column.id, selected),
|
|
124
|
+
multiple: false,
|
|
125
|
+
searchable: true,
|
|
126
|
+
clearable: true,
|
|
127
|
+
disabled,
|
|
128
|
+
error: !!error
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
if (editable.type === "date") {
|
|
134
|
+
const parsed = stringValue ? new Date(stringValue) : void 0;
|
|
135
|
+
const startValue = parsed && !Number.isNaN(parsed.getTime()) ? parsed : void 0;
|
|
136
|
+
return /* @__PURE__ */ jsx(
|
|
137
|
+
DatePicker,
|
|
138
|
+
{
|
|
139
|
+
startValue,
|
|
140
|
+
onUpdate: (value) => onCellChange(row, column.id, value ?? null),
|
|
141
|
+
disabled
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
return /* @__PURE__ */ jsx(
|
|
146
|
+
ControlledInput,
|
|
147
|
+
{
|
|
148
|
+
value: draftText ?? decimalValue,
|
|
149
|
+
onChange: (event) => {
|
|
150
|
+
setDraftText(event.target.value);
|
|
151
|
+
onCellChange(row, column.id, event.target.value);
|
|
152
|
+
},
|
|
153
|
+
onBlur: () => setDraftText(null),
|
|
154
|
+
onKeyDown: keyboardNav && !isGridCell ? (event) => {
|
|
155
|
+
if (event.key === "Enter") {
|
|
156
|
+
event.preventDefault();
|
|
157
|
+
focusNextEditableInput(event.currentTarget);
|
|
158
|
+
}
|
|
159
|
+
} : void 0,
|
|
160
|
+
inputMode: editable.type === "number" ? "decimal" : void 0,
|
|
161
|
+
disabled,
|
|
162
|
+
error: !!error,
|
|
163
|
+
errorMessage: error ?? void 0,
|
|
164
|
+
"aria-label": column.header,
|
|
165
|
+
...{ [EDITABLE_INPUT_ATTR]: "" },
|
|
166
|
+
containerClassName: "min-w-0"
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
};
|
|
170
|
+
if (!hasGrid && (!showsReadView || !cellEditing)) return renderEditor();
|
|
171
|
+
const resolveOptionLabel = (optionValue) => (editable.options ?? []).find((option) => String(option.value) === optionValue)?.label ?? optionValue;
|
|
172
|
+
const resolveDisplayText = () => {
|
|
173
|
+
if (editable.displayValue) return editable.displayValue(row);
|
|
174
|
+
if (editable.type === "multiselect") return arrayValue.map(resolveOptionLabel).join(", ");
|
|
175
|
+
if (stringValue === "") return "";
|
|
176
|
+
if (editable.type === "select") return resolveOptionLabel(stringValue);
|
|
177
|
+
if (editable.type === "date") return formatIsoDate(stringValue);
|
|
178
|
+
return decimalValue;
|
|
179
|
+
};
|
|
180
|
+
const displayText = resolveDisplayText();
|
|
181
|
+
const displayContent = !editable.displayValue && column.render ? column.render(row) : /* @__PURE__ */ jsx("span", { className: classNames("min-w-0 flex-1 truncate", displayText === "" && "text-foreground-faint"), children: displayText === "" ? "-" : displayText });
|
|
182
|
+
const showsEditAffordance = !disabled && (!hasGrid || isGridEditModeOn);
|
|
183
|
+
const readCell = /* @__PURE__ */ jsxs(
|
|
184
|
+
"div",
|
|
185
|
+
{
|
|
186
|
+
className: classNames(
|
|
187
|
+
// A mesma altura do editor (h-10), para a linha não pular quando a célula é aberta.
|
|
188
|
+
"flex min-h-10 w-full items-center gap-1 rounded-md border border-transparent px-2 py-1.5 text-sm",
|
|
189
|
+
disabled && "text-foreground-faint",
|
|
190
|
+
!disabled && !showsEditAffordance && "text-foreground",
|
|
191
|
+
showsEditAffordance && "group cursor-pointer text-foreground transition-colors hover:border-brand-border hover:bg-brand-soft/50",
|
|
192
|
+
error && "border-danger-border"
|
|
193
|
+
),
|
|
194
|
+
children: [
|
|
195
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1 truncate", children: displayContent }),
|
|
196
|
+
showsEditAffordance && // On touch there is no hover, so a hover-only pencil means the cell never
|
|
197
|
+
// advertises that it can be edited. Keep it visible (dimmed) there instead.
|
|
198
|
+
/* @__PURE__ */ jsx(
|
|
199
|
+
MaterialSymbol,
|
|
200
|
+
{
|
|
201
|
+
icon: "edit",
|
|
202
|
+
size: 13,
|
|
203
|
+
className: classNames(
|
|
204
|
+
"shrink-0 text-brand-emphasis transition-opacity",
|
|
205
|
+
hoverCapable ? "opacity-0 group-hover:opacity-100" : "opacity-60"
|
|
206
|
+
)
|
|
207
|
+
}
|
|
208
|
+
)
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
);
|
|
212
|
+
if (hasGrid && !isGridEditModeOn) return readCell;
|
|
213
|
+
if (isGridCell) {
|
|
214
|
+
if (isEditing) return renderEditor();
|
|
215
|
+
if (disabled) return readCell;
|
|
216
|
+
return (
|
|
217
|
+
// The cell itself is the focus target and the keyboard entry point (Enter / F2);
|
|
218
|
+
// the double click is the mouse equivalent, exactly like a spreadsheet.
|
|
219
|
+
/* @__PURE__ */ jsx("div", { onDoubleClick: () => gridStore?.getState().startEditing({ rowId: gridRowId, columnId: column.id }), children: readCell })
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
if (!cellEditing) return renderEditor();
|
|
223
|
+
return /* @__PURE__ */ jsx("div", { ref: containerRef, onKeyDown: handleKeyDown, ...{ [EDITABLE_CELL_ATTR]: cellKey }, children: isEditing ? renderEditor() : disabled ? readCell : /* @__PURE__ */ jsx(ControlledTooltip, { content: t("dataTable.editCell"), children: /* @__PURE__ */ jsx(
|
|
224
|
+
"div",
|
|
225
|
+
{
|
|
226
|
+
role: "button",
|
|
227
|
+
tabIndex: 0,
|
|
228
|
+
onClick: () => cellEditing.startEditing(cellKey),
|
|
229
|
+
onKeyDown: (event) => {
|
|
230
|
+
if (event.key !== "Enter" && event.key !== " ") return;
|
|
231
|
+
event.preventDefault();
|
|
232
|
+
cellEditing.startEditing(cellKey);
|
|
233
|
+
},
|
|
234
|
+
className: "rounded-md focus:outline-none focus-visible:ring-1 focus-visible:ring-brand-border",
|
|
235
|
+
children: readCell
|
|
236
|
+
}
|
|
237
|
+
) }) });
|
|
238
|
+
};
|
|
239
|
+
export {
|
|
240
|
+
DataTableEditableCell as default
|
|
241
|
+
};
|
|
242
|
+
//# sourceMappingURL=DataTableEditableCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableEditableCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableEditableCell.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { useTranslation } from 'react-i18next';\n\nimport DatePicker from '@/components/DateTime/DatePicker';\nimport ControlledInput from '@/components/Form/ControlledInput';\nimport { ControlledSelect } from '@/components/Form/ControlledSelect';\nimport ControlledTooltip from '@/components/UI/ControlledTooltip';\nimport { MaterialSymbol } from '@/components/UI/MaterialSymbol';\nimport { formatIsoDate } from '@/helpers/dateHelpers';\nimport { useHoverCapable } from '@/hooks/useHoverCapable';\nimport { useInlineEditor } from '@/hooks/useInlineEditor';\n\nimport { useGridCellState, useGridStoreApi } from '../grid/GridProvider';\nimport { GRID_CELL_EDITING } from '../grid/gridTypes';\nimport { useGridEditMode } from '../grid/useGridInstance';\nimport type { IDataTableColumnConfig, IDataTableRow } from '../types';\nimport { buildEditableCellKey, EDITABLE_CELL_ATTR, useDataTableCellEditing } from '../useCellEditingState';\n\n/**\n * Marks the typeable editable inputs so `keyboardNav` can walk them in DOM order.\n * Only text/number inputs opt in; date and select cells drive their own popovers\n * and fall back to native Tab traversal.\n */\nconst EDITABLE_INPUT_ATTR = 'data-datatable-editable-input';\n\ntype TEditableValue = string | number | Array<string> | null;\n\n/** Multi-select devolve um array novo a cada leitura, então `===` nunca casaria. */\nconst isSameEditableValue = (current: TEditableValue, previous: TEditableValue): boolean => {\n if (Array.isArray(current) || Array.isArray(previous)) {\n if (!Array.isArray(current) || !Array.isArray(previous)) return false;\n return current.length === previous.length && current.every((entry, index) => entry === previous[index]);\n }\n\n return current === previous;\n};\n\n/** `,` for pt-BR, `.` for en: derived from the locale itself, no language table. */\nconst resolveDecimalSeparator = (language: string): string => {\n const separator = (1.1).toLocaleString(language || 'pt-BR').replace(/\\d/g, '');\n return separator || '.';\n};\n\nconst focusNextEditableInput = (current: HTMLElement): void => {\n const inputs = Array.from(document.querySelectorAll<HTMLElement>(`[${EDITABLE_INPUT_ATTR}]`));\n const index = inputs.indexOf(current);\n if (index === -1) return;\n inputs[index + 1]?.focus();\n};\n\ninterface IDataTableEditableCellProps<T extends IDataTableRow> {\n column: IDataTableColumnConfig<T>;\n row: T;\n /** TanStack row id: present only inside a spreadsheet-enabled table. */\n gridRowId?: string;\n onCellChange: (row: T, columnId: string, value: unknown) => void;\n /** When true, pressing Enter moves focus to the next editable input (DOM order). */\n keyboardNav?: boolean;\n /** When true, the cell shows the value as text until it is clicked. */\n clickToEdit?: boolean;\n}\n\n/**\n * Controlled inline editor for a single cell. Reads the current value from the\n * host-owned row via `column.editable.getValue` and reports every edit through\n * `onCellChange`; the host re-renders with the updated row. Validation is derived\n * from the current value on each render, so no local state is kept.\n *\n * With `clickToEdit`, the cell renders the value as text and only swaps in the editor\n * once clicked, no editor is mounted before that.\n */\nconst DataTableEditableCell = <T extends IDataTableRow>({\n column,\n row,\n gridRowId,\n onCellChange,\n keyboardNav = false,\n clickToEdit = false,\n}: IDataTableEditableCellProps<T>) => {\n const { t, i18n } = useTranslation('ui');\n const hoverCapable = useHoverCapable();\n const cellEditing = useDataTableCellEditing();\n const gridStore = useGridStoreApi();\n const gridCellState = useGridCellState(gridRowId ?? '', column.id);\n const cellKey = buildEditableCellKey(row.id, column.id);\n\n // Inside a spreadsheet-enabled table the grid store owns the editing state, so\n // the legacy click-to-edit context and its document listener stay out of the way.\n const isGridEditModeOn = useGridEditMode(gridStore);\n const hasGrid = !!gridStore && !!gridRowId;\n const isGridCell = hasGrid && isGridEditModeOn;\n const isEditing = isGridCell\n ? (gridCellState & GRID_CELL_EDITING) !== 0\n : clickToEdit\n ? cellEditing?.editingCellKey === cellKey\n : true;\n const showsReadView = isGridCell || clickToEdit;\n\n const { containerRef, handleKeyDown } = useInlineEditor(\n Boolean(!isGridCell && clickToEdit && isEditing),\n () => cellEditing?.stopEditing(),\n (direction) => cellEditing?.navigate(cellKey, direction),\n );\n\n const editable = column.editable;\n const valueBeforeEditRef = useRef<string | number | Array<string> | null>(null);\n const wasEditingRef = useRef(false);\n\n // The cell is controlled by the value the host ALREADY parsed, so a half-typed\n // decimal is erased on the same keystroke: `1,` parses to the number 1 and comes\n // back as `\"1\"`, taking with it the separator just typed. The draft holds the exact\n // text while the field is focused; the host still receives every keystroke and\n // remains the source of truth.\n const [draftText, setDraftText] = useState<string | null>(null);\n\n useEffect(() => {\n if (!isEditing) setDraftText(null);\n }, [isEditing]);\n\n // Escape restores what the cell held when the editor opened. The editing model is\n // controlled (every keystroke already reached the host), so cancelling means\n // writing the snapshot back, not dropping local state.\n useEffect(() => {\n if (!isGridCell || !editable) return;\n\n if (isEditing) {\n if (!wasEditingRef.current) valueBeforeEditRef.current = editable.getValue(row);\n wasEditingRef.current = true;\n return;\n }\n\n if (!wasEditingRef.current) return;\n wasEditingRef.current = false;\n\n if (gridStore?.getState().editingOutcome !== 'cancel') return;\n if (isSameEditableValue(editable.getValue(row), valueBeforeEditRef.current)) return;\n\n onCellChange(row, column.id, valueBeforeEditRef.current);\n }, [isEditing, isGridCell, editable, gridStore, onCellChange, row, column.id]);\n\n if (!editable) return null;\n\n const rawValue = editable.getValue(row);\n const disabled = editable.disabled?.(row) ?? false;\n const error = editable.validate?.(rawValue, row) ?? null;\n const arrayValue = Array.isArray(rawValue) ? rawValue.map(String) : [];\n const stringValue = rawValue == null || Array.isArray(rawValue) ? '' : String(rawValue);\n\n // `String()` on a number always writes a dot, so a pt-BR user would get back a\n // separator that is not theirs. Hosts that keep the raw text (the edit buffer) are\n // untouched: only an actual number reaches this branch.\n const decimalValue =\n editable.type === 'number' && typeof rawValue === 'number'\n ? stringValue.replace('.', resolveDecimalSeparator(i18n.language))\n : stringValue;\n\n const renderEditor = () => {\n if (editable.renderEditor) {\n return editable.renderEditor({\n value: rawValue,\n onChange: (nextValue) => onCellChange(row, column.id, nextValue),\n disabled,\n label: column.header,\n });\n }\n\n if (editable.type === 'multiselect') {\n return (\n <ControlledSelect\n className=\"w-full [&_.controlled-select-container]:!min-w-0 [&_.controlled-select-input]:!min-w-0\"\n options={Array.isArray(editable.options) ? editable.options : []}\n selectedValue={arrayValue}\n onChangeHook={(selected) => onCellChange(row, column.id, Array.isArray(selected) ? selected : [selected])}\n multiple\n searchable\n clearable\n disabled={disabled}\n error={!!error}\n />\n );\n }\n\n if (editable.type === 'select') {\n return (\n // `ControlledSelect` ships hard min-widths (`min-w-52` on the field and the MT\n // container's `min-w-[200px]`) that overflow narrow table cells and spill into\n // the neighbouring column; force both to shrink so the editor fits its column\n // like the text/number editors do.\n <ControlledSelect\n className=\"w-full [&_.controlled-select-container]:!min-w-0 [&_.controlled-select-input]:!min-w-0\"\n options={Array.isArray(editable.options) ? editable.options : []}\n selectedValue={stringValue}\n onChangeHook={(selected) => onCellChange(row, column.id, selected)}\n multiple={false}\n searchable\n clearable\n disabled={disabled}\n error={!!error}\n />\n );\n }\n\n if (editable.type === 'date') {\n const parsed = stringValue ? new Date(stringValue) : undefined;\n const startValue = parsed && !Number.isNaN(parsed.getTime()) ? parsed : undefined;\n\n return (\n <DatePicker\n startValue={startValue}\n onUpdate={(value) => onCellChange(row, column.id, value ?? null)}\n disabled={disabled}\n />\n );\n }\n\n // `number` renders a text input with a decimal input mode rather than\n // `type=\"number\"`, so pt-BR comma decimals are not blocked by the browser; the\n // host parses the raw string it receives in `onCellChange`.\n return (\n <ControlledInput\n value={draftText ?? decimalValue}\n onChange={(event) => {\n setDraftText(event.target.value);\n onCellChange(row, column.id, event.target.value);\n }}\n onBlur={() => setDraftText(null)}\n onKeyDown={\n keyboardNav && !isGridCell\n ? (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n focusNextEditableInput(event.currentTarget);\n }\n }\n : undefined\n }\n inputMode={editable.type === 'number' ? 'decimal' : undefined}\n disabled={disabled}\n error={!!error}\n errorMessage={error ?? undefined}\n aria-label={column.header}\n {...{ [EDITABLE_INPUT_ATTR]: '' }}\n // The Material-Tailwind input container ships a hard `min-w-[200px]` that\n // overflows narrow table cells; force it to shrink so the editor fits its\n // column (the cell padding then provides the gap between adjacent inputs).\n containerClassName=\"min-w-0\"\n />\n );\n };\n\n if (!hasGrid && (!showsReadView || !cellEditing)) return renderEditor();\n\n const resolveOptionLabel = (optionValue: string): string =>\n (editable.options ?? []).find((option) => String(option.value) === optionValue)?.label ?? optionValue;\n\n const resolveDisplayText = (): string => {\n if (editable.displayValue) return editable.displayValue(row);\n if (editable.type === 'multiselect') return arrayValue.map(resolveOptionLabel).join(', ');\n if (stringValue === '') return '';\n if (editable.type === 'select') return resolveOptionLabel(stringValue);\n if (editable.type === 'date') return formatIsoDate(stringValue);\n return decimalValue;\n };\n\n const displayText = resolveDisplayText();\n\n // Uma coluna com renderização própria (chip de etapa, status, thumbnail) mantém\n // esse visual no modo de leitura: só o editor aberto troca a célula por um input.\n const displayContent =\n !editable.displayValue && column.render ? (\n column.render(row)\n ) : (\n <span className={classNames('min-w-0 flex-1 truncate', displayText === '' && 'text-foreground-faint')}>\n {displayText === '' ? '-' : displayText}\n </span>\n );\n\n // Com o grid montado mas o modo de edição desligado, a célula é só o valor: sem\n // lápis, sem realce e sem clique, para não prometer uma edição que não abre.\n const showsEditAffordance = !disabled && (!hasGrid || isGridEditModeOn);\n\n const readCell = (\n <div\n className={classNames(\n // A mesma altura do editor (h-10), para a linha não pular quando a célula é aberta.\n 'flex min-h-10 w-full items-center gap-1 rounded-md border border-transparent px-2 py-1.5 text-sm',\n disabled && 'text-foreground-faint',\n !disabled && !showsEditAffordance && 'text-foreground',\n showsEditAffordance &&\n 'group cursor-pointer text-foreground transition-colors hover:border-brand-border hover:bg-brand-soft/50',\n error && 'border-danger-border',\n )}\n >\n <div className=\"min-w-0 flex-1 truncate\">{displayContent}</div>\n {showsEditAffordance && (\n // On touch there is no hover, so a hover-only pencil means the cell never\n // advertises that it can be edited. Keep it visible (dimmed) there instead.\n <MaterialSymbol\n icon=\"edit\"\n size={13}\n className={classNames(\n 'shrink-0 text-brand-emphasis transition-opacity',\n hoverCapable ? 'opacity-0 group-hover:opacity-100' : 'opacity-60',\n )}\n />\n )}\n </div>\n );\n\n // Fora do modo de edição a tabela é de leitura: nenhum editor fica montado.\n if (hasGrid && !isGridEditModeOn) return readCell;\n\n if (isGridCell) {\n if (isEditing) return renderEditor();\n if (disabled) return readCell;\n\n return (\n // The cell itself is the focus target and the keyboard entry point (Enter / F2);\n // the double click is the mouse equivalent, exactly like a spreadsheet.\n <div onDoubleClick={() => gridStore?.getState().startEditing({ rowId: gridRowId, columnId: column.id })}>\n {readCell}\n </div>\n );\n }\n\n if (!cellEditing) return renderEditor();\n\n return (\n <div ref={containerRef} onKeyDown={handleKeyDown} {...{ [EDITABLE_CELL_ATTR]: cellKey }}>\n {isEditing ? (\n renderEditor()\n ) : disabled ? (\n readCell\n ) : (\n <ControlledTooltip content={t('dataTable.editCell')}>\n <div\n role=\"button\"\n tabIndex={0}\n onClick={() => cellEditing.startEditing(cellKey)}\n onKeyDown={(event) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n cellEditing.startEditing(cellKey);\n }}\n className=\"rounded-md focus:outline-none focus-visible:ring-1 focus-visible:ring-brand-border\"\n >\n {readCell}\n </div>\n </ControlledTooltip>\n )}\n </div>\n );\n};\n\nexport default DataTableEditableCell;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface IDataTableEmpenhoCellProps {
|
|
2
|
+
value: number | null | undefined;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Placeholder renderer for empenho counts. The clickable behavior (opening the
|
|
6
|
+
* linked products/materials) is intentionally NOT wired yet. The business
|
|
7
|
+
* definition is still pending. For now it renders the count as plain text.
|
|
8
|
+
*/
|
|
9
|
+
declare const DataTableEmpenhoCell: React.FC<IDataTableEmpenhoCellProps>;
|
|
10
|
+
export default DataTableEmpenhoCell;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { formatNumber } from "../../../../helpers/formatHelpers.js";
|
|
3
|
+
const DataTableEmpenhoCell = ({ value }) => /* @__PURE__ */ jsx("span", { className: "text-sm tabular-nums text-foreground", children: formatNumber(value ?? 0) });
|
|
4
|
+
export {
|
|
5
|
+
DataTableEmpenhoCell as default
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=DataTableEmpenhoCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableEmpenhoCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableEmpenhoCell.tsx"],"sourcesContent":["import { formatNumber } from '@/helpers/formatHelpers';\n\ninterface IDataTableEmpenhoCellProps {\n value: number | null | undefined;\n}\n\n/**\n * Placeholder renderer for empenho counts. The clickable behavior (opening the\n * linked products/materials) is intentionally NOT wired yet. The business\n * definition is still pending. For now it renders the count as plain text.\n */\nconst DataTableEmpenhoCell: React.FC<IDataTableEmpenhoCellProps> = ({ value }) => (\n <span className=\"text-sm tabular-nums text-foreground\">{formatNumber(value ?? 0)}</span>\n);\n\nexport default DataTableEmpenhoCell;\n"],"names":[],"mappings":";;AAWA,MAAM,uBAA6D,CAAC,EAAE,YACpE,oBAAC,QAAA,EAAK,WAAU,wCAAwC,UAAA,aAAa,SAAS,CAAC,EAAA,CAAE;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import OutlinedChip from "../../Chips/OutlinedChip.js";
|
|
4
|
+
const DataTableOriginCell = ({ value }) => {
|
|
5
|
+
if (!value) return /* @__PURE__ */ jsx("span", { className: "text-sm text-foreground-faint", children: "-" });
|
|
6
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full min-w-0", children: /* @__PURE__ */ jsx(
|
|
7
|
+
OutlinedChip,
|
|
8
|
+
{
|
|
9
|
+
label: value.label,
|
|
10
|
+
tooltip: value.label,
|
|
11
|
+
className: classNames("w-full min-w-0 border uppercase", {
|
|
12
|
+
"border-info-border bg-info-soft text-info-emphasis": value.tone === "erp",
|
|
13
|
+
"border-brand-border bg-brand-soft text-brand-emphasis": value.tone === "custom",
|
|
14
|
+
"border-success-border bg-success-soft text-success-emphasis": value.tone === "official",
|
|
15
|
+
"border-warning-border bg-warning-soft text-warning-emphasis": value.tone === "legacy",
|
|
16
|
+
"border-border bg-muted text-foreground-muted": value.tone === "default"
|
|
17
|
+
}),
|
|
18
|
+
labelClassName: "truncate"
|
|
19
|
+
}
|
|
20
|
+
) });
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
DataTableOriginCell as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=DataTableOriginCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableOriginCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableOriginCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport OutlinedChip from '@/components/UI/Chips/OutlinedChip';\n\nimport type { IDataTableOriginValue } from '../types';\n\ninterface IDataTableOriginCellProps {\n value: IDataTableOriginValue | null | undefined;\n}\n\nconst DataTableOriginCell: React.FC<IDataTableOriginCellProps> = ({ value }) => {\n if (!value) return <span className=\"text-sm text-foreground-faint\">-</span>;\n\n return (\n <div className=\"flex w-full min-w-0\">\n <OutlinedChip\n label={value.label}\n tooltip={value.label}\n className={classNames('w-full min-w-0 border uppercase', {\n 'border-info-border bg-info-soft text-info-emphasis': value.tone === 'erp',\n 'border-brand-border bg-brand-soft text-brand-emphasis': value.tone === 'custom',\n 'border-success-border bg-success-soft text-success-emphasis': value.tone === 'official',\n 'border-warning-border bg-warning-soft text-warning-emphasis': value.tone === 'legacy',\n 'border-border bg-muted text-foreground-muted': value.tone === 'default',\n })}\n labelClassName=\"truncate\"\n />\n </div>\n );\n};\n\nexport default DataTableOriginCell;\n"],"names":[],"mappings":";;;AAUA,MAAM,sBAA2D,CAAC,EAAE,YAAY;AAC9E,MAAI,CAAC,MAAO,4BAAQ,QAAA,EAAK,WAAU,iCAAgC,UAAA,KAAC;AAEpE,SACE,oBAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,WAAW,WAAW,mCAAmC;AAAA,QACvD,sDAAsD,MAAM,SAAS;AAAA,QACrE,yDAAyD,MAAM,SAAS;AAAA,QACxE,+DAA+D,MAAM,SAAS;AAAA,QAC9E,+DAA+D,MAAM,SAAS;AAAA,QAC9E,gDAAgD,MAAM,SAAS;AAAA,MAAA,CAChE;AAAA,MACD,gBAAe;AAAA,IAAA;AAAA,EAAA,GAEnB;AAEJ;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import OutlinedChip from "../../Chips/OutlinedChip.js";
|
|
4
|
+
const DataTableStatusCell = ({ value }) => {
|
|
5
|
+
if (!value) return /* @__PURE__ */ jsx("span", { className: "text-sm text-foreground-faint", children: "-" });
|
|
6
|
+
const isActive = value.tone === "active";
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full min-w-0", children: /* @__PURE__ */ jsx(
|
|
8
|
+
OutlinedChip,
|
|
9
|
+
{
|
|
10
|
+
label: value.label,
|
|
11
|
+
tooltip: value.label,
|
|
12
|
+
dotClassName: classNames({ "bg-success": isActive, "bg-foreground-faint": !isActive }),
|
|
13
|
+
className: classNames("w-full min-w-0 border uppercase", {
|
|
14
|
+
"border-success-border bg-success-soft text-success-emphasis": isActive,
|
|
15
|
+
"border-border bg-muted text-foreground-subtle": !isActive
|
|
16
|
+
}),
|
|
17
|
+
labelClassName: "truncate"
|
|
18
|
+
}
|
|
19
|
+
) });
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
DataTableStatusCell as default
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=DataTableStatusCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableStatusCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableStatusCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport OutlinedChip from '@/components/UI/Chips/OutlinedChip';\n\nimport type { IDataTableStatusValue } from '../types';\n\ninterface IDataTableStatusCellProps {\n value: IDataTableStatusValue | null | undefined;\n}\n\nconst DataTableStatusCell: React.FC<IDataTableStatusCellProps> = ({ value }) => {\n if (!value) return <span className=\"text-sm text-foreground-faint\">-</span>;\n\n const isActive = value.tone === 'active';\n\n return (\n <div className=\"flex w-full min-w-0\">\n <OutlinedChip\n label={value.label}\n tooltip={value.label}\n dotClassName={classNames({ 'bg-success': isActive, 'bg-foreground-faint': !isActive })}\n className={classNames('w-full min-w-0 border uppercase', {\n 'border-success-border bg-success-soft text-success-emphasis': isActive,\n 'border-border bg-muted text-foreground-subtle': !isActive,\n })}\n labelClassName=\"truncate\"\n />\n </div>\n );\n};\n\nexport default DataTableStatusCell;\n"],"names":[],"mappings":";;;AAUA,MAAM,sBAA2D,CAAC,EAAE,YAAY;AAC9E,MAAI,CAAC,MAAO,4BAAQ,QAAA,EAAK,WAAU,iCAAgC,UAAA,KAAC;AAEpE,QAAM,WAAW,MAAM,SAAS;AAEhC,SACE,oBAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,cAAc,WAAW,EAAE,cAAc,UAAU,uBAAuB,CAAC,UAAU;AAAA,MACrF,WAAW,WAAW,mCAAmC;AAAA,QACvD,+DAA+D;AAAA,QAC/D,iDAAiD,CAAC;AAAA,MAAA,CACnD;AAAA,MACD,gBAAe;AAAA,IAAA;AAAA,EAAA,GAEnB;AAEJ;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import OutlinedChip from "../../Chips/OutlinedChip.js";
|
|
4
|
+
const FULL_WIDTH = "w-full";
|
|
5
|
+
const DataTableTagCell = ({ value }) => {
|
|
6
|
+
if (!value?.label) return /* @__PURE__ */ jsx("span", { className: "text-sm text-foreground-faint", children: "-" });
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full min-w-0", children: /* @__PURE__ */ jsx(
|
|
8
|
+
OutlinedChip,
|
|
9
|
+
{
|
|
10
|
+
label: value.label,
|
|
11
|
+
tooltip: value.label,
|
|
12
|
+
chipIcon: value.chipIcon,
|
|
13
|
+
className: classNames(
|
|
14
|
+
"w-full min-w-0 border border-border bg-muted uppercase text-foreground-muted",
|
|
15
|
+
value.className
|
|
16
|
+
),
|
|
17
|
+
wrapperClassName: FULL_WIDTH,
|
|
18
|
+
labelClassName: "truncate"
|
|
19
|
+
}
|
|
20
|
+
) });
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
DataTableTagCell as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=DataTableTagCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableTagCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableTagCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport OutlinedChip from '@/components/UI/Chips/OutlinedChip';\n\nimport type { IDataTableTagValue } from '../types';\n\ninterface IDataTableTagCellProps {\n value: IDataTableTagValue | null | undefined;\n}\n\nconst FULL_WIDTH = 'w-full';\n\nconst DataTableTagCell: React.FC<IDataTableTagCellProps> = ({ value }) => {\n if (!value?.label) return <span className=\"text-sm text-foreground-faint\">-</span>;\n\n return (\n <div className=\"flex w-full min-w-0\">\n <OutlinedChip\n label={value.label}\n tooltip={value.label}\n chipIcon={value.chipIcon}\n className={classNames(\n 'w-full min-w-0 border border-border bg-muted uppercase text-foreground-muted',\n value.className,\n )}\n wrapperClassName={FULL_WIDTH}\n labelClassName=\"truncate\"\n />\n </div>\n );\n};\n\nexport default DataTableTagCell;\n"],"names":[],"mappings":";;;AAUA,MAAM,aAAa;AAEnB,MAAM,mBAAqD,CAAC,EAAE,YAAY;AACxE,MAAI,CAAC,OAAO,MAAO,4BAAQ,QAAA,EAAK,WAAU,iCAAgC,UAAA,KAAC;AAE3E,SACE,oBAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,WAAW;AAAA,QACT;AAAA,QACA,MAAM;AAAA,MAAA;AAAA,MAER,kBAAkB;AAAA,MAClB,gBAAe;AAAA,IAAA;AAAA,EAAA,GAEnB;AAEJ;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
const DataTableTextCell = ({ value, className }) => /* @__PURE__ */ jsx("span", { className: classNames("block truncate text-sm text-foreground", className), children: value?.length ? value : "-" });
|
|
4
|
+
export {
|
|
5
|
+
DataTableTextCell as default
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=DataTableTextCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableTextCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableTextCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\ninterface IDataTableTextCellProps {\n value: string | null | undefined;\n className?: string;\n}\n\nconst DataTableTextCell: React.FC<IDataTableTextCellProps> = ({ value, className }) => (\n <span className={classNames('block truncate text-sm text-foreground', className)}>{value?.length ? value : '-'}</span>\n);\n\nexport default DataTableTextCell;\n"],"names":[],"mappings":";;AAOA,MAAM,oBAAuD,CAAC,EAAE,OAAO,UAAA,MACrE,oBAAC,QAAA,EAAK,WAAW,WAAW,0CAA0C,SAAS,GAAI,UAAA,OAAO,SAAS,QAAQ,IAAA,CAAI;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IDataTableThumbnailValue } from '../types';
|
|
2
|
+
interface IDataTableThumbnailCellProps {
|
|
3
|
+
value: IDataTableThumbnailValue | null | undefined;
|
|
4
|
+
}
|
|
5
|
+
declare const DataTableThumbnailCell: React.FC<IDataTableThumbnailCellProps>;
|
|
6
|
+
export default DataTableThumbnailCell;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import ControlledImage from "../../../Form/ControlledImage/index.js";
|
|
3
|
+
const DataTableThumbnailCell = ({ value }) => {
|
|
4
|
+
if (!value?.src) return /* @__PURE__ */ jsx("span", { className: "text-sm text-foreground-faint", children: "-" });
|
|
5
|
+
return /* @__PURE__ */ jsx(ControlledImage, { src: value.src, tooltip: value.label, className: "size-9 rounded-md object-cover" });
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
DataTableThumbnailCell as default
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=DataTableThumbnailCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableThumbnailCell.js","sources":["../../../../../src/components/UI/DataTable/cells/DataTableThumbnailCell.tsx"],"sourcesContent":["import ControlledImage from '@/components/Form/ControlledImage';\n\nimport type { IDataTableThumbnailValue } from '../types';\n\ninterface IDataTableThumbnailCellProps {\n value: IDataTableThumbnailValue | null | undefined;\n}\n\nconst DataTableThumbnailCell: React.FC<IDataTableThumbnailCellProps> = ({ value }) => {\n if (!value?.src) return <span className=\"text-sm text-foreground-faint\">-</span>;\n\n return <ControlledImage src={value.src} tooltip={value.label} className=\"size-9 rounded-md object-cover\" />;\n};\n\nexport default DataTableThumbnailCell;\n"],"names":[],"mappings":";;AAQA,MAAM,yBAAiE,CAAC,EAAE,YAAY;AACpF,MAAI,CAAC,OAAO,IAAK,4BAAQ,QAAA,EAAK,WAAU,iCAAgC,UAAA,KAAC;AAEzE,SAAO,oBAAC,mBAAgB,KAAK,MAAM,KAAK,SAAS,MAAM,OAAO,WAAU,iCAAA,CAAiC;AAC3G;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDataTableColumnConfig, IDataTableRow } from './types';
|
|
2
|
+
export { isBadgeColumnType } from './dataTableColumnWidths';
|
|
3
|
+
export declare const alignClass: (align?: "left" | "center" | "right") => string;
|
|
4
|
+
export declare const FROZEN_COLUMN_SHADOW = "shadow-[-8px_0_8px_-8px_rgb(var(--color-foreground)/0.12)]";
|
|
5
|
+
export declare const FROZEN_LEFT_COLUMN_SHADOW = "shadow-[8px_0_8px_-8px_rgb(var(--color-foreground)/0.12)]";
|
|
6
|
+
export declare const DEFAULT_MIN_WIDTH = "min-w-[11.25rem]";
|
|
7
|
+
export declare const ACTIONS_COLUMN_WIDTH = "w-40 whitespace-nowrap";
|
|
8
|
+
export declare const BADGE_COLUMN_WIDTH = "w-[1%] min-w-0 whitespace-nowrap";
|
|
9
|
+
export interface IResolveColumnWidthClassOptions {
|
|
10
|
+
isFlexColumn?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const resolveColumnWidthClass: <T extends IDataTableRow>(columnConfig: IDataTableColumnConfig<T> | undefined, fallback: string, options?: IResolveColumnWidthClassOptions) => string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import classNames from "classnames";
|
|
2
|
+
import { isBadgeColumnType } from "./dataTableColumnWidths.js";
|
|
3
|
+
const alignClass = (align) => classNames({
|
|
4
|
+
"text-left": !align || align === "left",
|
|
5
|
+
"text-center": align === "center",
|
|
6
|
+
"text-right": align === "right"
|
|
7
|
+
});
|
|
8
|
+
const FROZEN_COLUMN_SHADOW = "shadow-[-8px_0_8px_-8px_rgb(var(--color-foreground)/0.12)]";
|
|
9
|
+
const FROZEN_LEFT_COLUMN_SHADOW = "shadow-[8px_0_8px_-8px_rgb(var(--color-foreground)/0.12)]";
|
|
10
|
+
const DEFAULT_MIN_WIDTH = "min-w-[11.25rem]";
|
|
11
|
+
const ACTIONS_COLUMN_WIDTH = "w-40 whitespace-nowrap";
|
|
12
|
+
const BADGE_COLUMN_WIDTH = "w-[1%] min-w-0 whitespace-nowrap";
|
|
13
|
+
const resolveColumnWidthClass = (columnConfig, fallback, options = {}) => {
|
|
14
|
+
if (columnConfig?.type === "actions") return ACTIONS_COLUMN_WIDTH;
|
|
15
|
+
if (isBadgeColumnType(columnConfig?.type)) return BADGE_COLUMN_WIDTH;
|
|
16
|
+
if (columnConfig?.widthClassName) return columnConfig.widthClassName;
|
|
17
|
+
return classNames(fallback, options.isFlexColumn && "w-full");
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
ACTIONS_COLUMN_WIDTH,
|
|
21
|
+
BADGE_COLUMN_WIDTH,
|
|
22
|
+
DEFAULT_MIN_WIDTH,
|
|
23
|
+
FROZEN_COLUMN_SHADOW,
|
|
24
|
+
FROZEN_LEFT_COLUMN_SHADOW,
|
|
25
|
+
alignClass,
|
|
26
|
+
isBadgeColumnType,
|
|
27
|
+
resolveColumnWidthClass
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=dataTableClasses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTableClasses.js","sources":["../../../../src/components/UI/DataTable/dataTableClasses.ts"],"sourcesContent":["import classNames from 'classnames';\n\nimport { isBadgeColumnType } from './dataTableColumnWidths';\nimport type { IDataTableColumnConfig, IDataTableRow } from './types';\n\nexport { isBadgeColumnType } from './dataTableColumnWidths';\n\nexport const alignClass = (align?: 'left' | 'center' | 'right') =>\n classNames({\n 'text-left': !align || align === 'left',\n 'text-center': align === 'center',\n 'text-right': align === 'right',\n });\n\nexport const FROZEN_COLUMN_SHADOW = 'shadow-[-8px_0_8px_-8px_rgb(var(--color-foreground)/0.12)]';\n\nexport const FROZEN_LEFT_COLUMN_SHADOW = 'shadow-[8px_0_8px_-8px_rgb(var(--color-foreground)/0.12)]';\n\nexport const DEFAULT_MIN_WIDTH = 'min-w-[11.25rem]';\n\nexport const ACTIONS_COLUMN_WIDTH = 'w-40 whitespace-nowrap';\n\nexport const BADGE_COLUMN_WIDTH = 'w-[1%] min-w-0 whitespace-nowrap';\n\nexport interface IResolveColumnWidthClassOptions {\n isFlexColumn?: boolean;\n}\n\nexport const resolveColumnWidthClass = <T extends IDataTableRow>(\n columnConfig: IDataTableColumnConfig<T> | undefined,\n fallback: string,\n options: IResolveColumnWidthClassOptions = {},\n): string => {\n if (columnConfig?.type === 'actions') return ACTIONS_COLUMN_WIDTH;\n if (isBadgeColumnType(columnConfig?.type)) return BADGE_COLUMN_WIDTH;\n if (columnConfig?.widthClassName) return columnConfig.widthClassName;\n\n return classNames(fallback, options.isFlexColumn && 'w-full');\n};\n"],"names":[],"mappings":";;AAOO,MAAM,aAAa,CAAC,UACzB,WAAW;AAAA,EACT,aAAa,CAAC,SAAS,UAAU;AAAA,EACjC,eAAe,UAAU;AAAA,EACzB,cAAc,UAAU;AAC1B,CAAC;AAEI,MAAM,uBAAuB;AAE7B,MAAM,4BAA4B;AAElC,MAAM,oBAAoB;AAE1B,MAAM,uBAAuB;AAE7B,MAAM,qBAAqB;AAM3B,MAAM,0BAA0B,CACrC,cACA,UACA,UAA2C,CAAA,MAChC;AACX,MAAI,cAAc,SAAS,UAAW,QAAO;AAC7C,MAAI,kBAAkB,cAAc,IAAI,EAAG,QAAO;AAClD,MAAI,cAAc,eAAgB,QAAO,aAAa;AAEtD,SAAO,WAAW,UAAU,QAAQ,gBAAgB,QAAQ;AAC9D;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IDataTableColumnConfig, IDataTableRow, TDataTableCellType } from './types';
|
|
2
|
+
export declare const DEFAULT_COLUMN_WIDTH_PX = 180;
|
|
3
|
+
export declare const ACTIONS_COLUMN_WIDTH_PX = 160;
|
|
4
|
+
export declare const BADGE_COLUMN_WIDTH_PX = 96;
|
|
5
|
+
export declare const isBadgeColumnType: (type?: TDataTableCellType) => boolean;
|
|
6
|
+
export interface IEstimateColumnHeaderMinWidthContext {
|
|
7
|
+
isFirstColumn?: boolean;
|
|
8
|
+
hasColumnToggle?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const estimateColumnHeaderMinWidthPx: <T extends IDataTableRow>(columnConfig: IDataTableColumnConfig<T> | undefined, context?: IEstimateColumnHeaderMinWidthContext) => number;
|
|
11
|
+
export declare const resolveTypeSeedWidthPx: <T extends IDataTableRow>(columnConfig: IDataTableColumnConfig<T> | undefined) => number;
|
|
12
|
+
export declare const resolveColumnMinWidthPx: <T extends IDataTableRow>(columnConfig: IDataTableColumnConfig<T> | undefined, context?: IEstimateColumnHeaderMinWidthContext) => number;
|
|
13
|
+
export declare const parseWidthClassToPx: (widthClassName?: string) => number | undefined;
|
|
14
|
+
export declare const estimateActionsColumnWidthPx: (visibleActionCount: number) => number;
|
|
15
|
+
export declare const computeColumnContentWidths: <T extends IDataTableRow>(columns: Array<IDataTableColumnConfig<T>>, rows: Array<T>) => Map<string, number>;
|