onekijs-ui 0.9.2 → 0.15.2
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/components/accordion/AccordionService.d.ts +7 -0
- package/dist/components/accordion/components/AccordionComponent.d.ts +16 -0
- package/dist/components/accordion/components/AccordionContainer.d.ts +4 -0
- package/dist/components/accordion/components/AccordionPanel.d.ts +4 -0
- package/dist/components/accordion/components/AccordionPanelTitle.d.ts +4 -0
- package/dist/components/accordion/hooks/useAccordionPanel.d.ts +3 -0
- package/dist/components/accordion/hooks/useAccordionService.d.ts +5 -0
- package/dist/components/accordion/hooks/useAccordionState.d.ts +4 -0
- package/dist/components/accordion/index.d.ts +16 -0
- package/dist/components/accordion/style.d.ts +3 -0
- package/dist/components/accordion/typings.d.ts +45 -0
- package/dist/components/button/DropdownButton.d.ts +3 -0
- package/dist/components/button/SubmitButton.d.ts +4 -0
- package/dist/components/button/components/ButtonComponent.d.ts +4 -0
- package/dist/components/button/components/DropdownButtonComponent.d.ts +4 -0
- package/dist/components/button/index.d.ts +3 -3
- package/dist/components/button/style.d.ts +5 -4
- package/dist/components/button/typings.d.ts +19 -4
- package/dist/components/card/FormCard.d.ts +4 -0
- package/dist/components/card/components/CardComponent.d.ts +4 -0
- package/dist/components/card/components/CardTitle.d.ts +4 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/style.d.ts +3 -0
- package/dist/components/card/typings.d.ts +24 -0
- package/dist/components/checkbox/FormCheckbox.d.ts +4 -0
- package/dist/components/checkbox/components/CheckboxComponent.d.ts +4 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/style.d.ts +4 -0
- package/dist/components/checkbox/typings.d.ts +14 -0
- package/dist/components/dashboard/DashboardService.d.ts +27 -0
- package/dist/components/dashboard/components/DashboardBody.d.ts +5 -0
- package/dist/components/dashboard/components/DashboardComponent.d.ts +7 -0
- package/dist/components/dashboard/components/DashboardContainer.d.ts +5 -0
- package/dist/components/dashboard/components/DashboardFooter.d.ts +2 -0
- package/dist/components/dashboard/components/DashboardHeader.d.ts +2 -0
- package/dist/components/dashboard/components/DashboardLeft.d.ts +2 -0
- package/dist/components/dashboard/components/DashboardOverlay.d.ts +6 -0
- package/dist/components/dashboard/components/DashboardRight.d.ts +2 -0
- package/dist/components/dashboard/components/DashboardToggler.d.ts +5 -0
- package/dist/components/dashboard/hoc/dashboardHorizontalPanel.d.ts +4 -0
- package/dist/components/dashboard/hoc/dashboardVerticalPanel.d.ts +4 -0
- package/dist/components/dashboard/hooks/useDashboard.d.ts +5 -0
- package/dist/components/dashboard/hooks/useDashboardService.d.ts +5 -0
- package/dist/components/dashboard/hooks/useDashboardState.d.ts +5 -0
- package/dist/components/dashboard/index.d.ts +4 -0
- package/dist/components/dashboard/typings.d.ts +96 -0
- package/dist/components/dashboard/utils/dashboardArea.d.ts +3 -0
- package/dist/components/dashboard/utils/dashboardLength.d.ts +5 -0
- package/dist/components/dropdown/components/DropdownComponent.d.ts +4 -4
- package/dist/components/dropdown/hooks/useDropdown.d.ts +5 -0
- package/dist/components/dropdown/index.d.ts +2 -3
- package/dist/components/dropdown/style.d.ts +4 -4
- package/dist/components/dropdown/typings.d.ts +24 -5
- package/dist/components/field/FieldDescription.d.ts +3 -0
- package/dist/components/field/FieldHelp.d.ts +3 -0
- package/dist/components/field/FieldLayout.d.ts +2 -0
- package/dist/components/field/components/FieldDescriptionComponent.d.ts +4 -0
- package/dist/components/field/components/FieldHelpComponent.d.ts +4 -0
- package/dist/components/field/components/FieldLayoutComponent.d.ts +4 -0
- package/dist/components/field/hooks/useFieldLayout.d.ts +4 -0
- package/dist/components/field/style.d.ts +5 -0
- package/dist/components/field/typings.d.ts +53 -0
- package/dist/components/field/util.d.ts +9 -0
- package/dist/components/grid/Col.d.ts +4 -0
- package/dist/components/grid/Row.d.ts +4 -0
- package/dist/components/grid/style.d.ts +4 -0
- package/dist/components/grid/typings.d.ts +33 -0
- package/dist/components/icon/CloseAllIcon.d.ts +4 -0
- package/dist/components/icon/CrossIcon.d.ts +3 -0
- package/dist/components/icon/FileIcon.d.ts +4 -0
- package/dist/components/icon/FolderIcon.d.ts +4 -0
- package/dist/components/icon/LoadingIcon.d.ts +4 -3
- package/dist/components/icon/MenuIcon.d.ts +4 -0
- package/dist/components/icon/RemoveIcon.d.ts +4 -0
- package/dist/components/icon/SearchIcon.d.ts +4 -0
- package/dist/components/icon/TogglerIcon.d.ts +4 -0
- package/dist/components/icon/typings.d.ts +14 -0
- package/dist/components/input/FormInput.d.ts +4 -0
- package/dist/components/input/components/InputComponent.d.ts +4 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/style.d.ts +4 -0
- package/dist/components/input/typings.d.ts +14 -0
- package/dist/components/label/components/LabelComponent.d.ts +4 -0
- package/dist/components/label/index.d.ts +3 -0
- package/dist/components/label/style.d.ts +4 -0
- package/dist/components/label/typings.d.ts +16 -0
- package/dist/components/list/components/ArrayListComponent.d.ts +4 -0
- package/dist/components/list/components/CollectionListComponent.d.ts +4 -0
- package/dist/components/list/components/ListBodyComponent.d.ts +4 -0
- package/dist/components/list/components/ListComponent.d.ts +4 -4
- package/dist/components/list/components/ListItemComponent.d.ts +6 -4
- package/dist/components/list/components/LoadingItem.d.ts +5 -0
- package/dist/components/list/components/StandardListComponent.d.ts +4 -4
- package/dist/components/list/components/VirtualListComponent.d.ts +4 -4
- package/dist/components/list/hooks/useListController.d.ts +4 -0
- package/dist/components/list/hooks/useListService.d.ts +5 -0
- package/dist/components/list/hooks/useListState.d.ts +5 -0
- package/dist/components/list/hooks/useListView.d.ts +22 -0
- package/dist/components/list/index.d.ts +3 -3
- package/dist/components/list/style.d.ts +4 -4
- package/dist/components/list/typings.d.ts +121 -35
- package/dist/components/list/utils.d.ts +3 -4
- package/dist/components/modal/components/ModalComponent.d.ts +4 -0
- package/dist/components/modal/index.d.ts +2 -0
- package/dist/components/modal/style.d.ts +3 -0
- package/dist/components/modal/typings.d.ts +19 -0
- package/dist/components/properties/components/PropertiesComponent.d.ts +4 -0
- package/dist/components/properties/components/Property.d.ts +4 -0
- package/dist/components/properties/hooks/usePropertiesContext.d.ts +5 -0
- package/dist/components/properties/index.d.ts +3 -0
- package/dist/components/properties/style.d.ts +3 -0
- package/dist/components/properties/typings.d.ts +26 -0
- package/dist/components/resizer/ResizerService.d.ts +17 -0
- package/dist/components/resizer/components/ResizerComponent.d.ts +4 -0
- package/dist/components/resizer/components/ResizerHorizontalSplitter.d.ts +4 -0
- package/dist/components/resizer/components/ResizerVerticalSplitter.d.ts +4 -0
- package/dist/components/resizer/index.d.ts +2 -0
- package/dist/components/resizer/style.d.ts +4 -0
- package/dist/components/resizer/typings.d.ts +34 -0
- package/dist/components/select/FormSelect.d.ts +4 -0
- package/dist/components/select/SelectService.d.ts +5 -0
- package/dist/components/select/components/ArraySelectComponent.d.ts +4 -0
- package/dist/components/select/components/ControllerSelectComponent.d.ts +4 -0
- package/dist/components/select/components/SelectComponent.d.ts +4 -4
- package/dist/components/select/components/SelectIconComponent.d.ts +4 -4
- package/dist/components/select/components/SelectInputComponent.d.ts +4 -4
- package/dist/components/select/components/SelectNotFoundComponent.d.ts +4 -0
- package/dist/components/select/components/SelectOptionComponent.d.ts +6 -4
- package/dist/components/select/components/SelectTokenComponent.d.ts +4 -0
- package/dist/components/select/components/SelectTokensComponent.d.ts +4 -0
- package/dist/components/select/hooks/useSelectConfig.d.ts +4 -0
- package/dist/components/select/hooks/useSelectController.d.ts +6 -0
- package/dist/components/select/index.d.ts +3 -3
- package/dist/components/select/style.d.ts +4 -4
- package/dist/components/select/typings.d.ts +95 -37
- package/dist/components/tab/TabsService.d.ts +24 -0
- package/dist/components/tab/components/ControlledTabsComponent.d.ts +4 -0
- package/dist/components/tab/components/Tab.d.ts +4 -0
- package/dist/components/tab/components/TabTitle.d.ts +4 -0
- package/dist/components/tab/components/TabsComponent.d.ts +4 -0
- package/dist/components/tab/components/TabsContainer.d.ts +4 -0
- package/dist/components/tab/components/UncontrolledTabsComponent.d.ts +4 -0
- package/dist/components/tab/hooks/useTab.d.ts +5 -0
- package/dist/components/tab/hooks/useTabsController.d.ts +3 -0
- package/dist/components/tab/hooks/useTabsService.d.ts +5 -0
- package/dist/components/tab/hooks/useTabsState.d.ts +4 -0
- package/dist/components/tab/index.d.ts +2 -0
- package/dist/components/tab/style.d.ts +3 -0
- package/dist/components/tab/typings.d.ts +54 -0
- package/dist/components/table/FormTable.d.ts +4 -0
- package/dist/components/table/TableService.d.ts +18 -0
- package/dist/components/table/columns/useCheckboxColumn.d.ts +3 -0
- package/dist/components/table/columns/useColumn.d.ts +3 -0
- package/dist/components/table/columns/useInputColumn.d.ts +3 -0
- package/dist/components/table/columns/useLinkColumn.d.ts +3 -0
- package/dist/components/table/columns/useSelectColumn.d.ts +3 -0
- package/dist/components/table/components/ArrayTableComponent.d.ts +4 -0
- package/dist/components/table/components/ControllerTableComponent.d.ts +4 -0
- package/dist/components/table/components/FormTableComponent.d.ts +4 -0
- package/dist/components/table/components/TableBodyCellComponent.d.ts +4 -0
- package/dist/components/table/components/TableBodyComponent.d.ts +4 -0
- package/dist/components/table/components/TableBodyRowComponent.d.ts +4 -0
- package/dist/components/table/components/TableComponent.d.ts +4 -0
- package/dist/components/table/components/TableFooterCellComponent.d.ts +4 -0
- package/dist/components/table/components/TableFooterComponent.d.ts +4 -0
- package/dist/components/table/components/TableHeaderComponent.d.ts +4 -0
- package/dist/components/table/components/TableHeaderFilterComponent.d.ts +4 -0
- package/dist/components/table/components/TableHeaderTitleComponent.d.ts +5 -0
- package/dist/components/table/components/TableLoadingComponent.d.ts +3 -0
- package/dist/components/table/components/TableLoadingRowComponent.d.ts +3 -0
- package/dist/components/table/components/TableNotFoundComponent.d.ts +4 -0
- package/dist/components/table/components/TableSortComponent.d.ts +4 -0
- package/dist/components/table/components/cells/CheckboxCellComponent.d.ts +4 -0
- package/dist/components/table/components/cells/DefaultCellComponent.d.ts +4 -0
- package/dist/components/table/components/cells/ExpandedCellComponent.d.ts +4 -0
- package/dist/components/table/components/cells/InputCellComponent.d.ts +4 -0
- package/dist/components/table/components/cells/SelectCellComponent.d.ts +6 -0
- package/dist/components/table/components/filters/TableInputFilterComponent.d.ts +4 -0
- package/dist/components/table/components/hoc/linkCellComponent.d.ts +4 -0
- package/dist/components/table/hooks/useFormTableContext.d.ts +5 -0
- package/dist/components/table/hooks/useTableColumns.d.ts +3 -0
- package/dist/components/table/hooks/useTableConfig.d.ts +4 -0
- package/dist/components/table/hooks/useTableController.d.ts +5 -0
- package/dist/components/table/hooks/useTableInitialState.d.ts +3 -0
- package/dist/components/table/hooks/useTableItems.d.ts +3 -0
- package/dist/components/table/hooks/useTableService.d.ts +5 -0
- package/dist/components/table/hooks/useTableState.d.ts +4 -0
- package/dist/components/table/index.d.ts +3 -0
- package/dist/components/table/style.d.ts +3 -0
- package/dist/components/table/typings.d.ts +218 -0
- package/dist/components/table/util.d.ts +5 -0
- package/dist/components/tag/components/TagComponent.d.ts +4 -0
- package/dist/components/tag/index.d.ts +2 -0
- package/dist/components/tag/style.d.ts +3 -0
- package/dist/components/tag/typings.d.ts +16 -0
- package/dist/components/tooltip/components/TooltipComponent.d.ts +4 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/style.d.ts +4 -0
- package/dist/components/tooltip/typings.d.ts +10 -0
- package/dist/components/tree/TreeService.d.ts +23 -0
- package/dist/components/tree/components/ArrayTreeComponent.d.ts +4 -0
- package/dist/components/tree/components/ControllerTreeComponent.d.ts +4 -0
- package/dist/components/tree/components/TreeBodyComponent.d.ts +4 -0
- package/dist/components/tree/components/TreeComponent.d.ts +4 -0
- package/dist/components/tree/components/TreeItemComponent.d.ts +6 -0
- package/dist/components/tree/components/TreeListComponent.d.ts +4 -0
- package/dist/components/tree/components/VirtualTreeBodyComponent.d.ts +4 -0
- package/dist/components/tree/components/VirtualTreeListComponent.d.ts +4 -0
- package/dist/components/tree/hooks/useTreeConfig.d.ts +4 -0
- package/dist/components/tree/hooks/useTreeController.d.ts +5 -0
- package/dist/components/tree/hooks/useTreeInitialState.d.ts +5 -0
- package/dist/components/tree/hooks/useTreeItems.d.ts +3 -0
- package/dist/components/tree/hooks/useTreeService.d.ts +5 -0
- package/dist/components/tree/hooks/useTreeState.d.ts +4 -0
- package/dist/components/tree/index.d.ts +3 -0
- package/dist/components/tree/style.d.ts +3 -0
- package/dist/components/tree/typings.d.ts +87 -0
- package/dist/components/wizard/WizardModal.d.ts +2 -0
- package/dist/components/wizard/WizardService.d.ts +17 -0
- package/dist/components/wizard/components/ControlledWizardComponent.d.ts +4 -0
- package/dist/components/wizard/components/Step.d.ts +4 -0
- package/dist/components/wizard/components/StepTitle.d.ts +4 -0
- package/dist/components/wizard/components/UncontrolledWizardComponent.d.ts +4 -0
- package/dist/components/wizard/components/WizardComponent.d.ts +4 -0
- package/dist/components/wizard/components/WizardContainer.d.ts +4 -0
- package/dist/components/wizard/components/WizardModalComponent.d.ts +4 -0
- package/dist/components/wizard/hooks/useStep.d.ts +5 -0
- package/dist/components/wizard/hooks/useWizardController.d.ts +3 -0
- package/dist/components/wizard/hooks/useWizardService.d.ts +5 -0
- package/dist/components/wizard/hooks/useWizardState.d.ts +4 -0
- package/dist/components/wizard/index.d.ts +2 -0
- package/dist/components/wizard/style.d.ts +4 -0
- package/dist/components/wizard/typings.d.ts +41 -0
- package/dist/index.d.ts +167 -33
- package/dist/index.js +9945 -5
- package/dist/index.js.map +1 -0
- package/dist/index.module.js +9546 -0
- package/dist/index.module.js.map +1 -0
- package/dist/styles/alignment.d.ts +13 -13
- package/dist/styles/animation.d.ts +10 -9
- package/dist/styles/background.d.ts +11 -11
- package/dist/styles/border.d.ts +39 -39
- package/dist/styles/display.d.ts +6 -5
- package/dist/styles/effects.d.ts +2 -2
- package/dist/styles/flex.d.ts +9 -9
- package/dist/styles/fragmentation.d.ts +6 -6
- package/dist/styles/grid.d.ts +28 -28
- package/dist/styles/icon.d.ts +4 -0
- package/dist/styles/image.d.ts +5 -5
- package/dist/styles/interactivity.d.ts +16 -16
- package/dist/styles/list.d.ts +5 -5
- package/dist/styles/overflow.d.ts +6 -6
- package/dist/styles/position.d.ts +10 -9
- package/dist/styles/size.d.ts +12 -13
- package/dist/styles/spacing.d.ts +16 -16
- package/dist/styles/svg.d.ts +5 -4
- package/dist/styles/table.d.ts +8 -8
- package/dist/styles/transform.d.ts +8 -8
- package/dist/styles/transition.d.ts +5 -5
- package/dist/styles/typings.d.ts +528 -20
- package/dist/styles/typography.d.ts +49 -49
- package/dist/theme/base.d.ts +4 -0
- package/dist/theme/tailwind.d.ts +5 -0
- package/dist/utils/color.d.ts +10 -7
- package/dist/utils/dom.d.ts +9 -0
- package/dist/utils/event.d.ts +2 -1
- package/dist/utils/formatter.d.ts +7 -7
- package/dist/utils/popper.d.ts +4 -4
- package/dist/utils/size.d.ts +3 -0
- package/dist/utils/style.d.ts +9 -7
- package/package.json +36 -24
- package/src/components/accordion/AccordionService.ts +36 -0
- package/src/components/accordion/components/AccordionComponent.tsx +37 -0
- package/src/components/accordion/components/AccordionContainer.tsx +11 -0
- package/src/components/accordion/components/AccordionPanel.tsx +74 -0
- package/src/components/accordion/components/AccordionPanelTitle.tsx +14 -0
- package/src/components/accordion/hooks/useAccordionPanel.ts +19 -0
- package/src/components/accordion/hooks/useAccordionService.ts +11 -0
- package/src/components/accordion/hooks/useAccordionState.ts +7 -0
- package/src/components/accordion/index.ts +23 -0
- package/src/components/accordion/style.ts +72 -0
- package/src/components/accordion/typings.ts +50 -0
- package/src/components/button/DropdownButton.tsx +9 -0
- package/src/components/button/SubmitButton.tsx +58 -0
- package/src/components/button/components/ButtonComponent.tsx +24 -0
- package/src/components/button/components/DropdownButtonComponent.tsx +82 -0
- package/src/components/button/index.tsx +1 -1
- package/src/components/button/style.ts +84 -8
- package/src/components/button/typings.ts +19 -2
- package/src/components/card/FormCard.tsx +24 -0
- package/src/components/card/components/CardComponent.tsx +83 -0
- package/src/components/card/components/CardTitle.tsx +14 -0
- package/src/components/card/index.tsx +9 -0
- package/src/components/card/style.ts +68 -0
- package/src/components/card/typings.ts +28 -0
- package/src/components/checkbox/FormCheckbox.tsx +26 -0
- package/src/components/checkbox/components/CheckboxComponent.tsx +42 -0
- package/src/components/checkbox/index.tsx +9 -0
- package/src/components/checkbox/style.ts +103 -0
- package/src/components/checkbox/typings.ts +18 -0
- package/src/components/dashboard/DashboardService.ts +412 -0
- package/src/components/dashboard/components/DashboardBody.tsx +138 -0
- package/src/components/dashboard/components/DashboardComponent.tsx +36 -0
- package/src/components/dashboard/components/DashboardContainer.tsx +64 -0
- package/src/components/dashboard/components/DashboardFooter.tsx +4 -0
- package/src/components/dashboard/components/DashboardHeader.tsx +4 -0
- package/src/components/dashboard/components/DashboardLeft.tsx +4 -0
- package/src/components/dashboard/components/DashboardOverlay.tsx +29 -0
- package/src/components/dashboard/components/DashboardRight.tsx +4 -0
- package/src/components/dashboard/components/DashboardToggler.tsx +17 -0
- package/src/components/dashboard/hoc/dashboardHorizontalPanel.tsx +145 -0
- package/src/components/dashboard/hoc/dashboardVerticalPanel.tsx +148 -0
- package/src/components/dashboard/hooks/useDashboard.tsx +21 -0
- package/src/components/dashboard/hooks/useDashboardService.ts +11 -0
- package/src/components/dashboard/hooks/useDashboardState.ts +11 -0
- package/src/components/dashboard/index.tsx +13 -0
- package/src/components/dashboard/typings.ts +124 -0
- package/src/components/dashboard/utils/dashboardArea.ts +27 -0
- package/src/components/dashboard/utils/dashboardLength.ts +42 -0
- package/src/components/dropdown/components/DropdownComponent.tsx +201 -23
- package/src/components/dropdown/hooks/useDropdown.tsx +21 -0
- package/src/components/dropdown/style.ts +10 -28
- package/src/components/dropdown/typings.ts +26 -4
- package/src/components/field/FieldDescription.tsx +9 -0
- package/src/components/field/FieldHelp.tsx +9 -0
- package/src/components/field/FieldLayout.tsx +9 -0
- package/src/components/field/components/FieldDescriptionComponent.tsx +14 -0
- package/src/components/field/components/FieldHelpComponent.tsx +22 -0
- package/src/components/field/components/FieldLayoutComponent.tsx +174 -0
- package/src/components/field/hooks/useFieldLayout.ts +36 -0
- package/src/components/field/style.ts +59 -0
- package/src/components/field/typings.ts +67 -0
- package/src/components/field/util.ts +47 -0
- package/src/components/grid/Col.tsx +33 -0
- package/src/components/grid/Row.tsx +35 -0
- package/src/components/grid/style.ts +93 -0
- package/src/components/grid/typings.ts +35 -0
- package/src/components/icon/CloseAllIcon.tsx +38 -0
- package/src/components/icon/CrossIcon.tsx +30 -0
- package/src/components/icon/FileIcon.tsx +36 -0
- package/src/components/icon/FolderIcon.tsx +36 -0
- package/src/components/icon/LoadingIcon.tsx +26 -23
- package/src/components/icon/MenuIcon.tsx +34 -0
- package/src/components/icon/RemoveIcon.tsx +36 -0
- package/src/components/icon/SearchIcon.tsx +38 -0
- package/src/components/icon/TogglerIcon.tsx +126 -0
- package/src/components/icon/typings.ts +15 -0
- package/src/components/input/FormInput.tsx +26 -0
- package/src/components/input/components/InputComponent.tsx +46 -0
- package/src/components/input/index.tsx +9 -0
- package/src/components/input/style.ts +85 -0
- package/src/components/input/typings.ts +17 -0
- package/src/components/label/components/LabelComponent.tsx +39 -0
- package/src/components/label/index.tsx +9 -0
- package/src/components/label/style.ts +64 -0
- package/src/components/label/typings.ts +17 -0
- package/src/components/list/components/ArrayListComponent.tsx +11 -0
- package/src/components/list/components/CollectionListComponent.tsx +77 -0
- package/src/components/list/components/ListBodyComponent.tsx +250 -0
- package/src/components/list/components/ListComponent.tsx +11 -25
- package/src/components/list/components/ListItemComponent.tsx +16 -4
- package/src/components/list/components/LoadingItem.tsx +24 -0
- package/src/components/list/components/StandardListComponent.tsx +23 -21
- package/src/components/list/components/VirtualListComponent.tsx +93 -110
- package/src/components/list/hooks/useListController.ts +19 -0
- package/src/components/list/hooks/useListService.ts +15 -0
- package/src/components/list/hooks/useListState.ts +10 -0
- package/src/components/list/hooks/useListView.tsx +103 -0
- package/src/components/list/typings.ts +162 -24
- package/src/components/list/utils.ts +17 -55
- package/src/components/modal/components/ModalComponent.tsx +132 -0
- package/src/components/modal/index.tsx +9 -0
- package/src/components/modal/style.ts +135 -0
- package/src/components/modal/typings.ts +20 -0
- package/src/components/properties/components/PropertiesComponent.tsx +44 -0
- package/src/components/properties/components/Property.tsx +40 -0
- package/src/components/properties/hooks/usePropertiesContext.ts +10 -0
- package/src/components/properties/index.tsx +9 -0
- package/src/components/properties/style.ts +17 -0
- package/src/components/properties/typings.ts +30 -0
- package/src/components/resizer/ResizerService.ts +96 -0
- package/src/components/resizer/components/ResizerComponent.tsx +28 -0
- package/src/components/resizer/components/ResizerHorizontalSplitter.tsx +38 -0
- package/src/components/resizer/components/ResizerVerticalSplitter.tsx +37 -0
- package/src/components/resizer/index.tsx +9 -0
- package/src/components/resizer/style.ts +51 -0
- package/src/components/resizer/typings.ts +40 -0
- package/src/components/select/FormSelect.tsx +26 -0
- package/src/components/select/SelectService.ts +9 -0
- package/src/components/select/components/ArraySelectComponent.tsx +11 -0
- package/src/components/select/components/ControllerSelectComponent.tsx +441 -0
- package/src/components/select/components/SelectComponent.tsx +13 -121
- package/src/components/select/components/SelectIconComponent.tsx +4 -4
- package/src/components/select/components/SelectInputComponent.tsx +220 -76
- package/src/components/select/components/SelectNotFoundComponent.tsx +14 -0
- package/src/components/select/components/SelectOptionComponent.tsx +54 -20
- package/src/components/select/components/SelectTokenComponent.tsx +25 -0
- package/src/components/select/components/SelectTokensComponent.tsx +50 -0
- package/src/components/select/hooks/useSelectConfig.ts +7 -0
- package/src/components/select/hooks/useSelectController.ts +21 -0
- package/src/components/select/index.tsx +0 -89
- package/src/components/select/style.ts +336 -47
- package/src/components/select/typings.ts +130 -24
- package/src/components/tab/TabsService.ts +192 -0
- package/src/components/tab/components/ControlledTabsComponent.tsx +18 -0
- package/src/components/tab/components/Tab.tsx +55 -0
- package/src/components/tab/components/TabTitle.tsx +18 -0
- package/src/components/tab/components/TabsComponent.tsx +15 -0
- package/src/components/tab/components/TabsContainer.tsx +36 -0
- package/src/components/tab/components/UncontrolledTabsComponent.tsx +13 -0
- package/src/components/tab/hooks/useTab.ts +18 -0
- package/src/components/tab/hooks/useTabsController.ts +15 -0
- package/src/components/tab/hooks/useTabsService.ts +11 -0
- package/src/components/tab/hooks/useTabsState.ts +7 -0
- package/src/components/tab/index.tsx +9 -0
- package/src/components/tab/style.ts +78 -0
- package/src/components/tab/typings.ts +59 -0
- package/src/components/table/FormTable.tsx +38 -0
- package/src/components/table/TableService.ts +123 -0
- package/src/components/table/columns/useCheckboxColumn.ts +24 -0
- package/src/components/table/columns/useColumn.ts +23 -0
- package/src/components/table/columns/useInputColumn.ts +24 -0
- package/src/components/table/columns/useLinkColumn.ts +19 -0
- package/src/components/table/columns/useSelectColumn.ts +26 -0
- package/src/components/table/components/ArrayTableComponent.tsx +14 -0
- package/src/components/table/components/ControllerTableComponent.tsx +167 -0
- package/src/components/table/components/FormTableComponent.tsx +143 -0
- package/src/components/table/components/TableBodyCellComponent.tsx +36 -0
- package/src/components/table/components/TableBodyComponent.tsx +96 -0
- package/src/components/table/components/TableBodyRowComponent.tsx +125 -0
- package/src/components/table/components/TableComponent.tsx +17 -0
- package/src/components/table/components/TableFooterCellComponent.tsx +28 -0
- package/src/components/table/components/TableFooterComponent.tsx +34 -0
- package/src/components/table/components/TableHeaderComponent.tsx +81 -0
- package/src/components/table/components/TableHeaderFilterComponent.tsx +31 -0
- package/src/components/table/components/TableHeaderTitleComponent.tsx +62 -0
- package/src/components/table/components/TableLoadingComponent.tsx +18 -0
- package/src/components/table/components/TableLoadingRowComponent.tsx +21 -0
- package/src/components/table/components/TableNotFoundComponent.tsx +14 -0
- package/src/components/table/components/TableSortComponent.tsx +29 -0
- package/src/components/table/components/cells/CheckboxCellComponent.tsx +42 -0
- package/src/components/table/components/cells/DefaultCellComponent.tsx +9 -0
- package/src/components/table/components/cells/ExpandedCellComponent.tsx +16 -0
- package/src/components/table/components/cells/InputCellComponent.tsx +27 -0
- package/src/components/table/components/cells/SelectCellComponent.tsx +41 -0
- package/src/components/table/components/filters/TableInputFilterComponent.tsx +134 -0
- package/src/components/table/components/hoc/linkCellComponent.tsx +15 -0
- package/src/components/table/hooks/useFormTableContext.ts +10 -0
- package/src/components/table/hooks/useTableColumns.ts +9 -0
- package/src/components/table/hooks/useTableConfig.ts +7 -0
- package/src/components/table/hooks/useTableController.ts +26 -0
- package/src/components/table/hooks/useTableInitialState.ts +22 -0
- package/src/components/table/hooks/useTableItems.ts +9 -0
- package/src/components/table/hooks/useTableService.ts +10 -0
- package/src/components/table/hooks/useTableState.ts +7 -0
- package/src/components/table/index.tsx +9 -0
- package/src/components/table/style.ts +248 -0
- package/src/components/table/typings.ts +322 -0
- package/src/components/table/util.ts +52 -0
- package/src/components/tag/components/TagComponent.tsx +15 -0
- package/src/components/tag/index.tsx +9 -0
- package/src/components/tag/style.ts +62 -0
- package/src/components/tag/typings.ts +17 -0
- package/src/components/tooltip/components/TooltipComponent.tsx +38 -0
- package/src/components/tooltip/index.tsx +9 -0
- package/src/components/tooltip/style.ts +153 -0
- package/src/components/tooltip/typings.ts +10 -0
- package/src/components/tree/TreeService.ts +392 -0
- package/src/components/tree/components/ArrayTreeComponent.tsx +14 -0
- package/src/components/tree/components/ControllerTreeComponent.tsx +72 -0
- package/src/components/tree/components/TreeBodyComponent.tsx +25 -0
- package/src/components/tree/components/TreeComponent.tsx +17 -0
- package/src/components/tree/components/TreeItemComponent.tsx +100 -0
- package/src/components/tree/components/TreeListComponent.tsx +198 -0
- package/src/components/tree/components/VirtualTreeBodyComponent.tsx +34 -0
- package/src/components/tree/components/VirtualTreeListComponent.tsx +287 -0
- package/src/components/tree/hooks/useTreeConfig.ts +7 -0
- package/src/components/tree/hooks/useTreeController.ts +33 -0
- package/src/components/tree/hooks/useTreeInitialState.ts +12 -0
- package/src/components/tree/hooks/useTreeItems.ts +9 -0
- package/src/components/tree/hooks/useTreeService.ts +10 -0
- package/src/components/tree/hooks/useTreeState.ts +7 -0
- package/src/components/tree/index.tsx +9 -0
- package/src/components/tree/style.ts +57 -0
- package/src/components/tree/typings.ts +126 -0
- package/src/components/wizard/WizardModal.ts +9 -0
- package/src/components/wizard/WizardService.ts +123 -0
- package/src/components/wizard/components/ControlledWizardComponent.tsx +22 -0
- package/src/components/wizard/components/Step.tsx +82 -0
- package/src/components/wizard/components/StepTitle.tsx +26 -0
- package/src/components/wizard/components/UncontrolledWizardComponent.tsx +13 -0
- package/src/components/wizard/components/WizardComponent.tsx +15 -0
- package/src/components/wizard/components/WizardContainer.tsx +134 -0
- package/src/components/wizard/components/WizardModalComponent.tsx +15 -0
- package/src/components/wizard/hooks/useStep.ts +18 -0
- package/src/components/wizard/hooks/useWizardController.ts +27 -0
- package/src/components/wizard/hooks/useWizardService.ts +11 -0
- package/src/components/wizard/hooks/useWizardState.ts +7 -0
- package/src/components/wizard/index.tsx +9 -0
- package/src/components/wizard/style.ts +159 -0
- package/src/components/wizard/typings.ts +53 -0
- package/src/fonts.d.ts +1 -0
- package/src/index.ts +269 -9
- package/src/styles/border.ts +8 -11
- package/src/styles/flex.ts +3 -3
- package/src/styles/icon.ts +14 -0
- package/src/styles/position.ts +13 -2
- package/src/styles/size.ts +19 -13
- package/src/styles/svg.ts +4 -3
- package/src/styles/typings.ts +587 -63
- package/src/theme/base.tsx +507 -0
- package/src/theme/tailwind.tsx +112 -0
- package/src/utils/color.ts +35 -1
- package/src/utils/dom.ts +32 -0
- package/src/utils/event.ts +25 -4
- package/src/utils/formatter.ts +7 -10
- package/src/utils/popper.ts +1 -1
- package/src/utils/size.ts +12 -0
- package/src/utils/style.ts +6 -9
- package/src/vendor/reactVirtual.d.ts +76 -0
- package/src/vendor/reactVirtual.js +463 -0
- package/src/vendor/useIsomorphicLayoutEffect.js +3 -0
- package/src/vendor/useRect.js +49 -0
- package/CHANGELOG.md +0 -136
- package/dist/__tests__/mocks/handlers.d.ts +0 -1
- package/dist/__tests__/mocks/responses.d.ts +0 -4
- package/dist/__tests__/mocks/server.d.ts +0 -7
- package/dist/__tests__/setup.d.ts +0 -1
- package/dist/__tests__/setupTests.d.ts +0 -1
- package/dist/__tests__/utils/timeout.d.ts +0 -4
- package/dist/components/button/component.d.ts +0 -4
- package/dist/components/select/components/SelectOptionsComponent.d.ts +0 -4
- package/dist/onekijs-ui.cjs.development.js +0 -2115
- package/dist/onekijs-ui.cjs.development.js.map +0 -1
- package/dist/onekijs-ui.cjs.production.min.js +0 -2
- package/dist/onekijs-ui.cjs.production.min.js.map +0 -1
- package/dist/onekijs-ui.esm.js +0 -1853
- package/dist/onekijs-ui.esm.js.map +0 -1
- package/dist/styles/theme.d.ts +0 -2
- package/jest.config.js +0 -188
- package/postcss.config.js +0 -3
- package/src/__tests__/mocks/handlers.ts +0 -60
- package/src/__tests__/mocks/responses.ts +0 -7
- package/src/__tests__/mocks/server.ts +0 -4
- package/src/__tests__/setup.ts +0 -1
- package/src/__tests__/setupTests.ts +0 -12
- package/src/__tests__/utils/timeout.ts +0 -27
- package/src/components/button/component.tsx +0 -8
- package/src/components/select/components/SelectOptionsComponent.tsx +0 -14
- package/src/styles/index.css +0 -5
- package/src/styles/tailwind.css +0 -86923
- package/src/styles/theme.ts +0 -274
- package/src/utils/query.ts.old +0 -148
- package/tailwind.config.js +0 -8
- package/tsconfig.json +0 -37
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { LoadingStatus, useLazyRef } from 'onekijs-framework';
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
|
+
import { addClassname } from '../../../utils/style';
|
|
4
|
+
import ListBodyComponent from '../../list/components/ListBodyComponent';
|
|
5
|
+
import useListView from '../../list/hooks/useListView';
|
|
6
|
+
import { ListItemProps } from '../../list/typings';
|
|
7
|
+
import useTableColumns from '../hooks/useTableColumns';
|
|
8
|
+
import { useTableConfig } from '../hooks/useTableConfig';
|
|
9
|
+
import useTableService from '../hooks/useTableService';
|
|
10
|
+
import { useTableState } from '../hooks/useTableState';
|
|
11
|
+
import { TableBodyProps } from '../typings';
|
|
12
|
+
import TableBodyRowComponent from './TableBodyRowComponent';
|
|
13
|
+
import TableLoadingComponent from './TableLoadingComponent';
|
|
14
|
+
import TableNotFoundComponent from './TableNotFoundComponent';
|
|
15
|
+
|
|
16
|
+
const TableBodyComponent: React.FC<TableBodyProps> = ({ className, tableRef, contentRef }) => {
|
|
17
|
+
const service = useTableService();
|
|
18
|
+
const state = useTableState();
|
|
19
|
+
const {
|
|
20
|
+
height,
|
|
21
|
+
increment,
|
|
22
|
+
onRowClick,
|
|
23
|
+
onRowEnter,
|
|
24
|
+
onRowLeave,
|
|
25
|
+
preload,
|
|
26
|
+
RowComponent = TableBodyRowComponent,
|
|
27
|
+
rowClassName,
|
|
28
|
+
LoadingComponent = TableLoadingComponent,
|
|
29
|
+
NotFoundComponent = TableNotFoundComponent,
|
|
30
|
+
} = useTableConfig();
|
|
31
|
+
|
|
32
|
+
const itemHeight = useCallback(() => {
|
|
33
|
+
return 20;
|
|
34
|
+
}, []);
|
|
35
|
+
const { items, isVirtual, totalSize, virtualItems, measure } = useListView({
|
|
36
|
+
controller: service,
|
|
37
|
+
height: height,
|
|
38
|
+
ref: tableRef,
|
|
39
|
+
overscan: 10,
|
|
40
|
+
itemHeight,
|
|
41
|
+
preload,
|
|
42
|
+
increment,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const ItemComponentRef = useLazyRef<React.FC<ListItemProps<any, any>>>(() => {
|
|
46
|
+
const Component = (props: ListItemProps<any, any>) => {
|
|
47
|
+
const columns = useTableColumns();
|
|
48
|
+
const className =
|
|
49
|
+
typeof rowClassName === 'function' ? rowClassName(props.item, props.index, columns) : rowClassName;
|
|
50
|
+
return (
|
|
51
|
+
<RowComponent
|
|
52
|
+
{...props}
|
|
53
|
+
columns={columns}
|
|
54
|
+
className={className}
|
|
55
|
+
onExpand={measure}
|
|
56
|
+
onExpanding={measure}
|
|
57
|
+
onExpanded={measure}
|
|
58
|
+
onCollapse={measure}
|
|
59
|
+
onCollapsed={measure}
|
|
60
|
+
onCollapsing={measure}
|
|
61
|
+
/>
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
Component.displayName = 'TableBodyRow';
|
|
65
|
+
return Component;
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
if (service.status === LoadingStatus.Loading) {
|
|
69
|
+
return <LoadingComponent />;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (service.status === LoadingStatus.Loaded && items.length === 0 && NotFoundComponent) {
|
|
73
|
+
return <NotFoundComponent />;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return (
|
|
77
|
+
<ListBodyComponent
|
|
78
|
+
className={addClassname('o-table-body', className)}
|
|
79
|
+
height={height}
|
|
80
|
+
ItemComponent={ItemComponentRef.current}
|
|
81
|
+
items={items}
|
|
82
|
+
onItemSelect={onRowClick}
|
|
83
|
+
onItemHighlight={onRowEnter}
|
|
84
|
+
onItemUnhighlight={onRowLeave}
|
|
85
|
+
parentRef={tableRef}
|
|
86
|
+
bodyRef={contentRef}
|
|
87
|
+
service={service}
|
|
88
|
+
state={state}
|
|
89
|
+
totalSize={totalSize}
|
|
90
|
+
virtualItems={isVirtual ? virtualItems : undefined}
|
|
91
|
+
/>
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
TableBodyComponent.displayName = 'TableBody';
|
|
95
|
+
|
|
96
|
+
export default TableBodyComponent;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { isItemFetching } from 'onekijs-framework';
|
|
2
|
+
import React, { FC, useRef, useState } from 'react';
|
|
3
|
+
import { CSSTransition } from 'react-transition-group';
|
|
4
|
+
import { addClassname } from '../../../utils/style';
|
|
5
|
+
import { useTableConfig } from '../hooks/useTableConfig';
|
|
6
|
+
import { TableBodyRowProps } from '../typings';
|
|
7
|
+
import TableBodyCellComponent from './TableBodyCellComponent';
|
|
8
|
+
import TableLoadingRowComponent from './TableLoadingRowComponent';
|
|
9
|
+
|
|
10
|
+
const timeout = 500;
|
|
11
|
+
|
|
12
|
+
const TableBodyRowComponent: FC<TableBodyRowProps> = ({
|
|
13
|
+
item,
|
|
14
|
+
index,
|
|
15
|
+
columns,
|
|
16
|
+
CellComponent = TableBodyCellComponent,
|
|
17
|
+
className,
|
|
18
|
+
onExpand,
|
|
19
|
+
onExpanding,
|
|
20
|
+
onExpanded,
|
|
21
|
+
onCollapse,
|
|
22
|
+
onCollapsing,
|
|
23
|
+
onCollapsed,
|
|
24
|
+
}) => {
|
|
25
|
+
const [hover, setHover] = useState(false);
|
|
26
|
+
const {
|
|
27
|
+
highlightRow,
|
|
28
|
+
stripRows,
|
|
29
|
+
LoadingRowComponent = TableLoadingRowComponent,
|
|
30
|
+
ExpandedComponent,
|
|
31
|
+
} = useTableConfig();
|
|
32
|
+
|
|
33
|
+
const expandedHeightRef = useRef<number>(0);
|
|
34
|
+
|
|
35
|
+
const onExiting = (node: HTMLElement) => {
|
|
36
|
+
node.style.opacity = '0';
|
|
37
|
+
onCollapsing && onCollapsing(item, index);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const onEntering = (node: HTMLElement) => {
|
|
41
|
+
expandedHeightRef.current = node.getBoundingClientRect().height;
|
|
42
|
+
// node.style.height = '0px';
|
|
43
|
+
node.style.opacity = '0';
|
|
44
|
+
onExpanding && onExpanding(item, index);
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
// node.style.height = `${expandedHeightRef.current}px`;
|
|
47
|
+
node.style.opacity = '1';
|
|
48
|
+
node.style.transition = `opacity ${timeout}ms ease-out`;
|
|
49
|
+
}, 0);
|
|
50
|
+
// for (let i = 0; i <= timeout; i += 20) {
|
|
51
|
+
// setTimeout(() => onExpanding && onExpanding(item, index), i);
|
|
52
|
+
// }
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
if (item === undefined) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const rowClassName = addClassname(
|
|
60
|
+
`o-table-body-row${hover ? ' o-table-body-row-hover' : ''}${
|
|
61
|
+
stripRows ? ` o-table-body-row-${index % 2 === 0 ? 'even' : 'odd'}` : ''
|
|
62
|
+
}`,
|
|
63
|
+
className,
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
const rowContainerClassName = `o-table-body-row-container${item.expanded ? ' o-table-body-row-expanded' : ''}`;
|
|
67
|
+
|
|
68
|
+
if (isItemFetching(item)) {
|
|
69
|
+
return (
|
|
70
|
+
<div className={rowContainerClassName}>
|
|
71
|
+
<div className="o-table-body-row">
|
|
72
|
+
<LoadingRowComponent />
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<div className={rowContainerClassName}>
|
|
80
|
+
<div
|
|
81
|
+
className={rowClassName}
|
|
82
|
+
onMouseEnter={highlightRow ? () => setHover(true) : undefined}
|
|
83
|
+
onMouseLeave={highlightRow ? () => setHover(false) : undefined}
|
|
84
|
+
style={{ display: 'flex' }}
|
|
85
|
+
>
|
|
86
|
+
{columns.map((column, colIndex) => {
|
|
87
|
+
const cellClassName =
|
|
88
|
+
typeof column.className === 'function' ? column.className(item, column, index) : column.className;
|
|
89
|
+
return (
|
|
90
|
+
<CellComponent
|
|
91
|
+
column={column}
|
|
92
|
+
colIndex={colIndex}
|
|
93
|
+
rowIndex={index}
|
|
94
|
+
rowId={item.id}
|
|
95
|
+
item={item}
|
|
96
|
+
key={`cell-${colIndex}`}
|
|
97
|
+
className={cellClassName}
|
|
98
|
+
/>
|
|
99
|
+
);
|
|
100
|
+
})}
|
|
101
|
+
</div>
|
|
102
|
+
<CSSTransition
|
|
103
|
+
in={item.expanded}
|
|
104
|
+
classNames="o-table-body-row-expanded-content"
|
|
105
|
+
timeout={timeout}
|
|
106
|
+
mountOnEnter={true}
|
|
107
|
+
appear={false}
|
|
108
|
+
exit={false}
|
|
109
|
+
unmountOnExit={true}
|
|
110
|
+
onEnter={() => onExpand && onExpand(item, index)}
|
|
111
|
+
onEntering={onEntering}
|
|
112
|
+
onEntered={() => onExpanded && onExpanded(item, index)}
|
|
113
|
+
onExiting={onExiting}
|
|
114
|
+
onExit={() => onCollapse && onCollapse(item, index)}
|
|
115
|
+
onExited={() => onCollapsed && onCollapsed(item, index)}
|
|
116
|
+
>
|
|
117
|
+
<div className="o-table-body-row-expanded-content">
|
|
118
|
+
{ExpandedComponent && <ExpandedComponent item={item} rowIndex={index} rowId={item.id} />}
|
|
119
|
+
</div>
|
|
120
|
+
</CSSTransition>
|
|
121
|
+
</div>
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export default TableBodyRowComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isCollection } from 'onekijs-framework';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { TableProps } from '../typings';
|
|
4
|
+
import ArrayTableComponent from './ArrayTableComponent';
|
|
5
|
+
import ControllerTableComponent from './ControllerTableComponent';
|
|
6
|
+
|
|
7
|
+
const TableComponent: React.FC<TableProps> = React.memo((props) => {
|
|
8
|
+
if (isCollection(props.controller)) {
|
|
9
|
+
return <ControllerTableComponent {...props} controller={props.controller} />;
|
|
10
|
+
} else {
|
|
11
|
+
return <ArrayTableComponent {...props} dataSource={props.dataSource || []} columns={props.columns || []} />;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
TableComponent.displayName = 'TableComponent';
|
|
16
|
+
|
|
17
|
+
export default TableComponent;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React, { FC, useEffect, useRef } from 'react';
|
|
2
|
+
import { addClassname } from '../../../utils/style';
|
|
3
|
+
import { useTableConfig } from '../hooks/useTableConfig';
|
|
4
|
+
import useTableService from '../hooks/useTableService';
|
|
5
|
+
import { TableFooterCellProps } from '../typings';
|
|
6
|
+
import { getCellWidth } from '../util';
|
|
7
|
+
|
|
8
|
+
const TableFooterCellComponent: FC<TableFooterCellProps> = React.memo(({ column }) => {
|
|
9
|
+
const service = useTableService();
|
|
10
|
+
const { fit, grow } = useTableConfig();
|
|
11
|
+
const ref = useRef<HTMLDivElement>(null);
|
|
12
|
+
const initializedRef = useRef<boolean>(false);
|
|
13
|
+
|
|
14
|
+
const className =
|
|
15
|
+
typeof column.footerClassName === 'function' ? column.footerClassName(column) : column.footerClassName;
|
|
16
|
+
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (!initializedRef.current && ref.current !== null) {
|
|
19
|
+
service.initCell('footer', column.id, ref);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
return <div className={addClassname('o-table-footer-cell', className)} style={getCellWidth(column, fit, grow)}></div>;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
TableFooterCellComponent.displayName = 'TableFooterCell';
|
|
27
|
+
|
|
28
|
+
export default TableFooterCellComponent;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { CSSProperties } from 'react';
|
|
2
|
+
import { addClassname } from '../../../utils/style';
|
|
3
|
+
import { TableFooterProps } from '../typings';
|
|
4
|
+
import TableFooterCellComponent from './TableFooterCellComponent';
|
|
5
|
+
|
|
6
|
+
const TableFooterComponent: React.FC<TableFooterProps> = ({ className, columns }) => {
|
|
7
|
+
const footerStyle: CSSProperties = {
|
|
8
|
+
display: 'flex',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
if (true) {
|
|
12
|
+
//TODO change to fixFooter
|
|
13
|
+
footerStyle.position = 'sticky';
|
|
14
|
+
footerStyle.bottom = 0;
|
|
15
|
+
footerStyle.zIndex = 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<div className={addClassname('o-table-footer', className)} style={footerStyle}>
|
|
20
|
+
{columns.map((column, colIndex) => {
|
|
21
|
+
const cellClassName =
|
|
22
|
+
typeof column.footerClassName === 'function' ? column.footerClassName(column) : column.footerClassName;
|
|
23
|
+
const Component = column.FooterComponent || TableFooterCellComponent;
|
|
24
|
+
return (
|
|
25
|
+
<Component column={column} colIndex={colIndex} className={cellClassName} key={`header-cell-${colIndex}`} />
|
|
26
|
+
);
|
|
27
|
+
})}
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
TableFooterComponent.displayName = 'TableFooter';
|
|
33
|
+
|
|
34
|
+
export default TableFooterComponent;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React, { CSSProperties } from 'react';
|
|
2
|
+
import { addClassname } from '../../../utils/style';
|
|
3
|
+
import { TableHeaderProps } from '../typings';
|
|
4
|
+
import TableHeaderTitleComponent from './TableHeaderTitleComponent';
|
|
5
|
+
import TableHeaderFilterComponent from './TableHeaderFilterComponent';
|
|
6
|
+
import useTableService from '../hooks/useTableService';
|
|
7
|
+
import { useTableConfig } from '../hooks/useTableConfig';
|
|
8
|
+
|
|
9
|
+
const TableHeaderComponent: React.FC<TableHeaderProps> = ({ columns, className }) => {
|
|
10
|
+
const headerStyle: CSSProperties = {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const service = useTableService();
|
|
15
|
+
const { fixHeader = true, filterable, sortable, height } = useTableConfig();
|
|
16
|
+
|
|
17
|
+
if (fixHeader && height) {
|
|
18
|
+
headerStyle.position = 'sticky';
|
|
19
|
+
headerStyle.top = 0;
|
|
20
|
+
headerStyle.zIndex = 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const hasFilter: boolean = columns
|
|
24
|
+
.map((c) => c.filterable || (c.filterable === undefined && filterable !== false))
|
|
25
|
+
.reduce((accumulator, filterable) => accumulator || filterable, false);
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<div
|
|
29
|
+
className={addClassname(`o-table-header${hasFilter ? ' o-table-header-filterable' : ''}`, className)}
|
|
30
|
+
style={headerStyle}
|
|
31
|
+
>
|
|
32
|
+
<div className="o-table-header-row-title">
|
|
33
|
+
{columns.map((column, colIndex) => {
|
|
34
|
+
const isFilterable = column.filterable || (column.filterable === undefined && filterable !== false);
|
|
35
|
+
const isSortable = column.sortable || (column.sortable === undefined && sortable !== false);
|
|
36
|
+
const filter = service.getFilterById(column.id);
|
|
37
|
+
const sort = service.getSortById(column.id);
|
|
38
|
+
const cellClassName =
|
|
39
|
+
typeof column.headerClassName === 'function' ? column.headerClassName(column) : column.headerClassName;
|
|
40
|
+
return (
|
|
41
|
+
<TableHeaderTitleComponent
|
|
42
|
+
column={column}
|
|
43
|
+
filter={filter}
|
|
44
|
+
filterable={isFilterable}
|
|
45
|
+
sort={sort}
|
|
46
|
+
sortable={isSortable}
|
|
47
|
+
colIndex={colIndex}
|
|
48
|
+
key={`header-cell-title-${colIndex}`}
|
|
49
|
+
className={cellClassName}
|
|
50
|
+
/>
|
|
51
|
+
);
|
|
52
|
+
})}
|
|
53
|
+
</div>
|
|
54
|
+
{hasFilter && (
|
|
55
|
+
<div className="o-table-header-row-filter">
|
|
56
|
+
{columns.map((column, colIndex) => {
|
|
57
|
+
const isFilterable = column.filterable || (column.filterable === undefined && filterable !== false);
|
|
58
|
+
const isSortable = column.sortable || (column.sortable === undefined && sortable !== false);
|
|
59
|
+
const filter = service.getFilterById(column.id);
|
|
60
|
+
const sort = service.getSortById(column.id);
|
|
61
|
+
return (
|
|
62
|
+
<TableHeaderFilterComponent
|
|
63
|
+
column={column}
|
|
64
|
+
filter={filter}
|
|
65
|
+
filterable={isFilterable}
|
|
66
|
+
sort={sort}
|
|
67
|
+
sortable={isSortable}
|
|
68
|
+
colIndex={colIndex}
|
|
69
|
+
key={`header-cell-filter-${colIndex}`}
|
|
70
|
+
/>
|
|
71
|
+
);
|
|
72
|
+
})}
|
|
73
|
+
</div>
|
|
74
|
+
)}
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
TableHeaderComponent.displayName = 'TableHeader';
|
|
80
|
+
|
|
81
|
+
export default TableHeaderComponent;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { FC, useEffect, useRef } from 'react';
|
|
2
|
+
import { TableHeaderCellProps } from '../typings';
|
|
3
|
+
import useTableService from '../hooks/useTableService';
|
|
4
|
+
import { getCellWidth } from '../util';
|
|
5
|
+
import TableInputFilterComponent from './filters/TableInputFilterComponent';
|
|
6
|
+
import { useTableConfig } from '../hooks/useTableConfig';
|
|
7
|
+
|
|
8
|
+
const TableHeaderFilterComponent: FC<TableHeaderCellProps> = React.memo((props) => {
|
|
9
|
+
const { column, filterable } = props;
|
|
10
|
+
const service = useTableService();
|
|
11
|
+
const { fit, grow } = useTableConfig();
|
|
12
|
+
const ref = useRef<HTMLDivElement>(null);
|
|
13
|
+
const initializedRef = useRef<boolean>(false);
|
|
14
|
+
const Component = column.FilterComponent || TableInputFilterComponent;
|
|
15
|
+
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (!initializedRef.current && ref.current !== null) {
|
|
18
|
+
service.initCell('header-filter', column.id, ref);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<div className="o-table-header-filter" style={getCellWidth(column, fit, grow)} ref={ref}>
|
|
24
|
+
{filterable && <Component {...props} />}
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
TableHeaderFilterComponent.displayName = 'TableHeaderFilter';
|
|
30
|
+
|
|
31
|
+
export default TableHeaderFilterComponent;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React, { FC, useEffect, useRef } from 'react';
|
|
2
|
+
import { addClassname } from '../../../utils/style';
|
|
3
|
+
import { useTableConfig } from '../hooks/useTableConfig';
|
|
4
|
+
import useTableService from '../hooks/useTableService';
|
|
5
|
+
import { TableHeaderCellProps } from '../typings';
|
|
6
|
+
import { getCellWidth } from '../util';
|
|
7
|
+
import TableSortComponent from './TableSortComponent';
|
|
8
|
+
|
|
9
|
+
export const DefaultTableHeaderTitleComponent: FC<TableHeaderCellProps> = ({ column, sort }) => {
|
|
10
|
+
const service = useTableService();
|
|
11
|
+
const { sortable } = useTableConfig();
|
|
12
|
+
const isSortable = column.sortable || (column.sortable === undefined && sortable !== false);
|
|
13
|
+
const onSort = () => {
|
|
14
|
+
if (isSortable) {
|
|
15
|
+
service.sortBy({
|
|
16
|
+
id: column.id,
|
|
17
|
+
field: column.id,
|
|
18
|
+
dir: sort && sort.dir !== 'desc' ? 'desc' : 'asc',
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<div onClick={isSortable ? onSort : undefined} style={{ display: 'flex', alignItems: 'center' }}>
|
|
25
|
+
<span className="o-table-header-title">{column.title}</span>
|
|
26
|
+
{isSortable && <TableSortComponent sort={sort} column={column} />}
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const TableHeaderTitleComponent: FC<TableHeaderCellProps> = React.memo((props) => {
|
|
32
|
+
const { column, sortable } = props;
|
|
33
|
+
const service = useTableService();
|
|
34
|
+
const { fit, grow } = useTableConfig();
|
|
35
|
+
const ref = useRef<HTMLDivElement>(null);
|
|
36
|
+
const initializedRef = useRef<boolean>(false);
|
|
37
|
+
|
|
38
|
+
const className =
|
|
39
|
+
typeof column.headerClassName === 'function' ? column.headerClassName(column) : column.headerClassName;
|
|
40
|
+
|
|
41
|
+
const Component = column.TitleComponent || DefaultTableHeaderTitleComponent;
|
|
42
|
+
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (!initializedRef.current && ref.current !== null) {
|
|
45
|
+
service.initCell('header-title', column.id, ref);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<div
|
|
51
|
+
className={addClassname(`o-table-header-title-container${sortable ? ' o-table-header-sortable' : ''}`, className)}
|
|
52
|
+
style={getCellWidth(column, fit, grow)}
|
|
53
|
+
ref={ref}
|
|
54
|
+
>
|
|
55
|
+
<Component {...props} />
|
|
56
|
+
</div>
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
TableHeaderTitleComponent.displayName = 'TableHeaderTitle';
|
|
61
|
+
|
|
62
|
+
export default TableHeaderTitleComponent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import LoadingIcon from '../../icon/LoadingIcon';
|
|
4
|
+
|
|
5
|
+
const TableLoadingComponent: React.FC<React.InputHTMLAttributes<HTMLDivElement>> = (props) => {
|
|
6
|
+
return (
|
|
7
|
+
<div {...props}>
|
|
8
|
+
<LoadingIcon width="50px" height="50px" />
|
|
9
|
+
</div>
|
|
10
|
+
);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default styled(TableLoadingComponent)`
|
|
14
|
+
height: 200px;
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
`;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
import { minHeight, width } from '../../../styles/size';
|
|
4
|
+
import { ComponentStyle } from '../../../styles/typings';
|
|
5
|
+
import LoadingItem from '../../list/components/LoadingItem';
|
|
6
|
+
|
|
7
|
+
const TableLoadingRowComponent: React.FC<React.InputHTMLAttributes<HTMLDivElement>> = (props) => {
|
|
8
|
+
return <LoadingItem {...props} />;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const style: ComponentStyle<React.InputHTMLAttributes<HTMLDivElement>> = ({ theme }) => {
|
|
12
|
+
const t = theme.table;
|
|
13
|
+
return css`
|
|
14
|
+
${minHeight(t.loadingRowMinHeight)}
|
|
15
|
+
${width('full')}
|
|
16
|
+
`;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default styled(TableLoadingRowComponent)`
|
|
20
|
+
${style}
|
|
21
|
+
`;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import CloseAllIcon from '../../icon/CloseAllIcon';
|
|
3
|
+
import { TableNotFoundProps } from '../typings';
|
|
4
|
+
|
|
5
|
+
const TableNotFoundComponent: React.FC<TableNotFoundProps> = ({ text = 'No data' }) => {
|
|
6
|
+
return (
|
|
7
|
+
<div className="o-table-not-found">
|
|
8
|
+
<CloseAllIcon width="64px" height="64px" />
|
|
9
|
+
<span>{text}</span>
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default TableNotFoundComponent;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import { TableSortProps } from '../typings';
|
|
3
|
+
|
|
4
|
+
const TableSortComponent: FC<TableSortProps> = ({ sort }) => {
|
|
5
|
+
const style: React.CSSProperties = sort === undefined ? { visibility: 'hidden' } : {};
|
|
6
|
+
return (
|
|
7
|
+
<div className="o-table-sort-container" style={style}>
|
|
8
|
+
<button type="button" tabIndex={-1} className="o-table-sort-icon">
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="100%"
|
|
12
|
+
height="100%"
|
|
13
|
+
fill="none"
|
|
14
|
+
viewBox="0 0 24 24"
|
|
15
|
+
stroke="currentColor"
|
|
16
|
+
strokeWidth="2"
|
|
17
|
+
strokeLinecap="round"
|
|
18
|
+
strokeLinejoin="round"
|
|
19
|
+
transform={`rotate(${sort && sort.dir === 'desc' ? '0' : '180'})`}
|
|
20
|
+
className="o-table-sort-svg"
|
|
21
|
+
>
|
|
22
|
+
<polyline points="18 15 12 9 6 15"></polyline>
|
|
23
|
+
</svg>
|
|
24
|
+
</button>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default TableSortComponent;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { addClassname } from '../../../../utils/style';
|
|
3
|
+
import FormCheckbox from '../../../checkbox/FormCheckbox';
|
|
4
|
+
import useFormTableContext from '../../hooks/useFormTableContext';
|
|
5
|
+
import { TableBodyCellProps, UseCheckboxColumnOptions } from '../../typings';
|
|
6
|
+
|
|
7
|
+
const CheckboxCellComponent = (options: UseCheckboxColumnOptions<any, any>): React.FC<TableBodyCellProps<any, any>> => {
|
|
8
|
+
const CheckboxCellComponent: React.FC<TableBodyCellProps<any, any>> = ({ item, column, rowIndex }) => {
|
|
9
|
+
const { tableName } = useFormTableContext();
|
|
10
|
+
// const [validators] = extractValidators(options);
|
|
11
|
+
// const field = useField(`${tableName}.${rowIndex}.${column.id}`, validators, {
|
|
12
|
+
// defaultValue: options.defaultValue ? options.defaultValue : false,
|
|
13
|
+
// });
|
|
14
|
+
// const validation = useValidation(`${tableName}.${rowIndex}.${column.id}`);
|
|
15
|
+
// const status = validation?.status;
|
|
16
|
+
// const message = validation?.message;
|
|
17
|
+
|
|
18
|
+
// return (
|
|
19
|
+
// <>
|
|
20
|
+
// <Checkbox {...options} {...field} className="o-table-checkbox" status={validation.status} />
|
|
21
|
+
// {message && <FieldDescription content={message} className={`o-field-description-${status.toLowerCase()}`} />}
|
|
22
|
+
// </>
|
|
23
|
+
// );
|
|
24
|
+
|
|
25
|
+
const { size, ...checkboxOptions } = options;
|
|
26
|
+
|
|
27
|
+
const className =
|
|
28
|
+
typeof options.className === 'function' ? options.className(item, column, rowIndex) : options.className;
|
|
29
|
+
return (
|
|
30
|
+
<FormCheckbox
|
|
31
|
+
layout="table"
|
|
32
|
+
{...checkboxOptions}
|
|
33
|
+
name={`${tableName}.${rowIndex}.${column.id}`}
|
|
34
|
+
className={addClassname('o-table-checkbox', className)}
|
|
35
|
+
/>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
CheckboxCellComponent.displayName = 'CheckboxCellComponent';
|
|
39
|
+
return CheckboxCellComponent;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export default CheckboxCellComponent;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { get } from 'onekijs-framework';
|
|
2
|
+
import React, { FC } from 'react';
|
|
3
|
+
import { TableBodyCellProps } from '../../typings';
|
|
4
|
+
|
|
5
|
+
const DefaultCellComponent: FC<TableBodyCellProps> = ({ item, column }) => {
|
|
6
|
+
return <>{get(item, `data.${column.id}`)}</>;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default DefaultCellComponent;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import { addClassname } from '../../../../utils/style';
|
|
3
|
+
import TogglerIcon from '../../../icon/TogglerIcon';
|
|
4
|
+
import useTableService from '../../hooks/useTableService';
|
|
5
|
+
import { TableBodyCellProps } from '../../typings';
|
|
6
|
+
|
|
7
|
+
const ExpandedCellComponent: FC<TableBodyCellProps> = ({ item, className }) => {
|
|
8
|
+
const service = useTableService();
|
|
9
|
+
return (
|
|
10
|
+
<div className={addClassname('o-table-cell-expander-content', className)} onClick={() => service.toggle(item)}>
|
|
11
|
+
<TogglerIcon open={item.expanded} model="plus" color="primary" />
|
|
12
|
+
</div>
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default ExpandedCellComponent;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { addClassname } from '../../../../utils/style';
|
|
3
|
+
import FormInput from '../../../input/FormInput';
|
|
4
|
+
import useFormTableContext from '../../hooks/useFormTableContext';
|
|
5
|
+
import { TableBodyCellProps, UseInputColumnOptions } from '../../typings';
|
|
6
|
+
|
|
7
|
+
const InputCellComponent = (options: UseInputColumnOptions<any, any>): React.FC<TableBodyCellProps<any, any>> => {
|
|
8
|
+
const InputCellComponent: React.FC<TableBodyCellProps<any, any>> = ({ item, column, rowIndex }) => {
|
|
9
|
+
const { tableName } = useFormTableContext();
|
|
10
|
+
|
|
11
|
+
const className =
|
|
12
|
+
typeof options.className === 'function' ? options.className(item, column, rowIndex) : options.className;
|
|
13
|
+
return (
|
|
14
|
+
<FormInput
|
|
15
|
+
size="small"
|
|
16
|
+
layout="table"
|
|
17
|
+
{...options}
|
|
18
|
+
name={`${tableName}.${rowIndex}.${column.id}`}
|
|
19
|
+
className={addClassname('o-table-input', className)}
|
|
20
|
+
/>
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
InputCellComponent.displayName = 'InputCellComponent';
|
|
24
|
+
return InputCellComponent;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default InputCellComponent;
|