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,20 @@
|
|
|
1
|
+
import { HeightProperty, WidthProperty } from 'csstype';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { SizePropertyTheme, TLength, TshirtSize } from '../../styles/typings';
|
|
4
|
+
|
|
5
|
+
export type ModalProps = {
|
|
6
|
+
attachToBody?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
size?: TshirtSize;
|
|
9
|
+
width?: TshirtSize | SizePropertyTheme | WidthProperty<TLength>;
|
|
10
|
+
height?: TshirtSize | SizePropertyTheme | HeightProperty<TLength>;
|
|
11
|
+
animationDuration?: number;
|
|
12
|
+
open?: boolean;
|
|
13
|
+
closeIcon?: boolean;
|
|
14
|
+
closeOnEscape?: boolean;
|
|
15
|
+
closeOnClickOutside?: boolean;
|
|
16
|
+
onClose: () => void;
|
|
17
|
+
onClosed: () => void;
|
|
18
|
+
buttons?: ReactNode[];
|
|
19
|
+
title?: ReactNode;
|
|
20
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React, { FC, useMemo } from 'react';
|
|
2
|
+
import { addClassname } from '../../../utils/style';
|
|
3
|
+
import { DefaultPropertiesContext } from '../hooks/usePropertiesContext';
|
|
4
|
+
import { PropertiesContext, PropertiesProps } from '../typings';
|
|
5
|
+
import Property from './Property';
|
|
6
|
+
|
|
7
|
+
const PropertiesComponent: FC<PropertiesProps> = ({
|
|
8
|
+
className,
|
|
9
|
+
properties,
|
|
10
|
+
PropertyComponent = Property,
|
|
11
|
+
order = false,
|
|
12
|
+
size,
|
|
13
|
+
sm,
|
|
14
|
+
md,
|
|
15
|
+
lg,
|
|
16
|
+
xl,
|
|
17
|
+
}) => {
|
|
18
|
+
const classNames = addClassname('o-properties', className);
|
|
19
|
+
const keys = Object.keys(properties);
|
|
20
|
+
if (order) {
|
|
21
|
+
keys.sort();
|
|
22
|
+
}
|
|
23
|
+
const context = useMemo<PropertiesContext>(() => {
|
|
24
|
+
return {
|
|
25
|
+
size,
|
|
26
|
+
sm,
|
|
27
|
+
md,
|
|
28
|
+
lg,
|
|
29
|
+
xl,
|
|
30
|
+
};
|
|
31
|
+
}, [size, sm, md, lg, xl]);
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<DefaultPropertiesContext.Provider value={context}>
|
|
35
|
+
<div className={classNames}>
|
|
36
|
+
{keys.map((key) => (
|
|
37
|
+
<PropertyComponent key={key} name={key} value={properties[key]} />
|
|
38
|
+
))}
|
|
39
|
+
</div>
|
|
40
|
+
</DefaultPropertiesContext.Provider>
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export default PropertiesComponent;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { AnonymousObject, get } from 'onekijs-framework';
|
|
2
|
+
import React, { FC } from 'react';
|
|
3
|
+
import Col from '../../grid/Col';
|
|
4
|
+
import Row from '../../grid/Row';
|
|
5
|
+
import { GridSize } from '../../grid/typings';
|
|
6
|
+
import usePropertiesContext from '../hooks/usePropertiesContext';
|
|
7
|
+
import { PropertyProps } from '../typings';
|
|
8
|
+
|
|
9
|
+
const Property: FC<PropertyProps> = React.memo(({ name, value }) => {
|
|
10
|
+
const context = usePropertiesContext();
|
|
11
|
+
const nameSize = context.size ?? 3;
|
|
12
|
+
const valueSize = (nameSize === 12 ? 12 : 12 - nameSize) as GridSize;
|
|
13
|
+
const variantValueSize: AnonymousObject<GridSize | undefined> = {};
|
|
14
|
+
['sm', 'md', 'lg', 'xl'].forEach((variant) => {
|
|
15
|
+
const nameSize = get(context, variant);
|
|
16
|
+
variantValueSize[variant] =
|
|
17
|
+
nameSize === undefined ? undefined : ((nameSize === 12 ? 12 : 12 - nameSize) as GridSize);
|
|
18
|
+
});
|
|
19
|
+
return (
|
|
20
|
+
<Row className="o-property" gapX="10px" gapY="0px">
|
|
21
|
+
<Col size={nameSize} sm={context.sm} md={context.md} lg={context.lg} xl={context.xl} className="o-property-name">
|
|
22
|
+
{name}
|
|
23
|
+
</Col>
|
|
24
|
+
<Col
|
|
25
|
+
size={valueSize}
|
|
26
|
+
sm={variantValueSize.sm}
|
|
27
|
+
md={variantValueSize.md}
|
|
28
|
+
lg={variantValueSize.lg}
|
|
29
|
+
xl={variantValueSize.xl}
|
|
30
|
+
className="o-property-value"
|
|
31
|
+
>
|
|
32
|
+
{value}
|
|
33
|
+
</Col>
|
|
34
|
+
</Row>
|
|
35
|
+
);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
Property.displayName = 'Property';
|
|
39
|
+
|
|
40
|
+
export default Property;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { PropertiesContext } from '../typings';
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
5
|
+
export const DefaultPropertiesContext = React.createContext<PropertiesContext>({});
|
|
6
|
+
const usePropertiesContext = (): PropertiesContext => {
|
|
7
|
+
return useContext(DefaultPropertiesContext);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default usePropertiesContext;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { css } from 'styled-components';
|
|
2
|
+
import { paddingY } from '../../styles/spacing';
|
|
3
|
+
import { ComponentStyle } from '../../styles/typings';
|
|
4
|
+
import { fontWeight } from '../../styles/typography';
|
|
5
|
+
import { PropertiesProps } from './typings';
|
|
6
|
+
|
|
7
|
+
export const propertiesStyle: ComponentStyle<PropertiesProps> = ({ theme }) => {
|
|
8
|
+
const t = theme.properties;
|
|
9
|
+
return css`
|
|
10
|
+
.o-property {
|
|
11
|
+
${paddingY(t.paddingY)}
|
|
12
|
+
}
|
|
13
|
+
.o-property-name {
|
|
14
|
+
${fontWeight(t.fontWeight)}
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AnonymousObject } from 'onekijs-framework';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
import { GridSize } from '../grid/typings';
|
|
4
|
+
|
|
5
|
+
export type PropertiesProps = {
|
|
6
|
+
properties: PropertiesList;
|
|
7
|
+
PropertyComponent?: React.FC<PropertyProps>;
|
|
8
|
+
order?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
size?: GridSize;
|
|
11
|
+
sm?: GridSize;
|
|
12
|
+
md?: GridSize;
|
|
13
|
+
lg?: GridSize;
|
|
14
|
+
xl?: GridSize;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type PropertyProps = {
|
|
18
|
+
value: ReactNode;
|
|
19
|
+
name: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type PropertiesContext = {
|
|
23
|
+
size?: GridSize;
|
|
24
|
+
sm?: GridSize;
|
|
25
|
+
md?: GridSize;
|
|
26
|
+
lg?: GridSize;
|
|
27
|
+
xl?: GridSize;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export type PropertiesList = AnonymousObject<ReactNode>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { cancel, delay, fork } from '@redux-saga/core/effects';
|
|
2
|
+
import { Task } from '@redux-saga/types';
|
|
3
|
+
import { DefaultService, reducer, saga, SagaEffect, service, useService } from 'onekijs-framework';
|
|
4
|
+
import { clearSelection, markBodyAsSelectable, markBodyAsUnselectable } from '../../utils/dom';
|
|
5
|
+
import { ResizerHandle, ResizerHandler, ResizerState } from './typings';
|
|
6
|
+
|
|
7
|
+
@service
|
|
8
|
+
export class ResizerService extends DefaultService<ResizerState> {
|
|
9
|
+
protected hoverTask: Task | null = null;
|
|
10
|
+
protected currentHandle?: ResizerHandle;
|
|
11
|
+
|
|
12
|
+
@reducer
|
|
13
|
+
setSize(width: number, height: number, lastX: number, lastY: number): void {
|
|
14
|
+
this.state.width = width;
|
|
15
|
+
this.state.height = height;
|
|
16
|
+
this.state.lastX = lastX;
|
|
17
|
+
this.state.lastY = lastY;
|
|
18
|
+
this.state.handler('run', width, height);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@reducer
|
|
22
|
+
setHover(hover: boolean): void {
|
|
23
|
+
this.state.hover = hover;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
*delayEnter(delay_ms: number) {
|
|
27
|
+
yield delay(delay_ms);
|
|
28
|
+
yield this.setHover(true);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@saga(SagaEffect.Every)
|
|
32
|
+
*onEnter() {
|
|
33
|
+
this.hoverTask = yield fork([this, this.delayEnter], 250);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@saga(SagaEffect.Every)
|
|
37
|
+
*onLeave() {
|
|
38
|
+
if (this.hoverTask !== null) {
|
|
39
|
+
yield cancel(this.hoverTask);
|
|
40
|
+
}
|
|
41
|
+
this.setHover(false);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@saga(SagaEffect.Latest)
|
|
45
|
+
*onResize(e: any) {
|
|
46
|
+
if (
|
|
47
|
+
this.state.lastX !== undefined &&
|
|
48
|
+
this.state.lastY !== undefined &&
|
|
49
|
+
this.state.width !== undefined &&
|
|
50
|
+
this.state.height !== undefined &&
|
|
51
|
+
this.currentHandle !== undefined
|
|
52
|
+
) {
|
|
53
|
+
const diffX = e.screenX - this.state.lastX;
|
|
54
|
+
const diffY = e.screenY - this.state.lastY;
|
|
55
|
+
const isEast = ['e', 'ne', 'se'].includes(this.currentHandle);
|
|
56
|
+
const isNorth = ['n', 'ne', 'nw'].includes(this.currentHandle);
|
|
57
|
+
const nextWidth = this.state.width + (isEast ? diffX : -diffX);
|
|
58
|
+
const nextHeight = this.state.height + (isNorth ? -diffY : diffY);
|
|
59
|
+
yield this.setSize(nextWidth, nextHeight, e.screenX, e.screenY);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@reducer
|
|
64
|
+
startResize(handle: ResizerHandle, target: React.RefObject<HTMLDivElement>, x: number, y: number): void {
|
|
65
|
+
this.currentHandle = handle;
|
|
66
|
+
this.state.active = true;
|
|
67
|
+
this.state.lastX = x;
|
|
68
|
+
this.state.lastY = y;
|
|
69
|
+
if (target.current !== null) {
|
|
70
|
+
this.state.width = target.current.offsetWidth;
|
|
71
|
+
this.state.height = target.current.offsetHeight;
|
|
72
|
+
this.state.handler('start', this.state.width, this.state.height);
|
|
73
|
+
}
|
|
74
|
+
clearSelection();
|
|
75
|
+
markBodyAsUnselectable();
|
|
76
|
+
document.addEventListener('mouseup', this.stopResize);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@reducer
|
|
80
|
+
stopResize(): void {
|
|
81
|
+
this.currentHandle = undefined;
|
|
82
|
+
document.removeEventListener('mouseup', this.stopResize);
|
|
83
|
+
markBodyAsSelectable();
|
|
84
|
+
// ensure that the resize is active
|
|
85
|
+
this.state.active = false;
|
|
86
|
+
this.state.lastX = undefined;
|
|
87
|
+
this.state.lastY = undefined;
|
|
88
|
+
if (this.state.width !== undefined && this.state.height !== undefined) {
|
|
89
|
+
this.state.handler('stop', this.state.width, this.state.height);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export const useResizerService = (handler: ResizerHandler): [ResizerState, ResizerService] => {
|
|
95
|
+
return useService(ResizerService, { handler } as ResizerState);
|
|
96
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FCC } from 'onekijs-framework';
|
|
2
|
+
import React, { useRef } from 'react';
|
|
3
|
+
import { ResizerProps } from '../typings';
|
|
4
|
+
import ResizerHorizontalSplitter from './ResizerHorizontalSplitter';
|
|
5
|
+
import ResizerVerticalSplitter from './ResizerVerticalSplitter';
|
|
6
|
+
|
|
7
|
+
const ResizerComponent: FCC<ResizerProps> = ({ className, children, handles = [], onResize }) => {
|
|
8
|
+
const ref = useRef<HTMLDivElement>(null);
|
|
9
|
+
return (
|
|
10
|
+
<div className={className} ref={ref}>
|
|
11
|
+
{children}
|
|
12
|
+
{(handles.includes('e') || handles.includes('all')) && (
|
|
13
|
+
<ResizerVerticalSplitter onResize={onResize} target={ref} handle="e" />
|
|
14
|
+
)}
|
|
15
|
+
{(handles.includes('w') || handles.includes('all')) && (
|
|
16
|
+
<ResizerVerticalSplitter onResize={onResize} target={ref} handle="w" />
|
|
17
|
+
)}
|
|
18
|
+
{(handles.includes('n') || handles.includes('all')) && (
|
|
19
|
+
<ResizerHorizontalSplitter onResize={onResize} target={ref} handle="n" />
|
|
20
|
+
)}
|
|
21
|
+
{(handles.includes('s') || handles.includes('all')) && (
|
|
22
|
+
<ResizerHorizontalSplitter onResize={onResize} target={ref} handle="s" />
|
|
23
|
+
)}
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default ResizerComponent;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FCC, useEventListener } from 'onekijs-framework';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useResizerService } from '../ResizerService';
|
|
4
|
+
import { ResizerHandle, ResizeHorizontalSplitterProps } from '../typings';
|
|
5
|
+
|
|
6
|
+
const getClassNames = (handle: ResizerHandle, active?: boolean, hover?: boolean) => {
|
|
7
|
+
return `o-resizer-horizontal-splitter o-resizer-${handle}-splitter${active || hover ? ' o-resizer-active' : ''}`;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const ResizerHorizontalSplitter: FCC<ResizeHorizontalSplitterProps> = ({ children, target, handle, onResize }) => {
|
|
11
|
+
const [resizerState, resizerService] = useResizerService(onResize);
|
|
12
|
+
const style: React.CSSProperties = {
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
if (handle === 's') {
|
|
17
|
+
style.bottom = 0;
|
|
18
|
+
} else {
|
|
19
|
+
style.top = 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
useEventListener('mousemove', (e) => resizerService.onResize(e));
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<div
|
|
26
|
+
className={getClassNames(handle, resizerState.active, resizerState.hover)}
|
|
27
|
+
style={style}
|
|
28
|
+
onMouseEnter={() => resizerService.onEnter()}
|
|
29
|
+
onMouseLeave={() => resizerService.onLeave()}
|
|
30
|
+
onMouseDown={(e) => resizerService.startResize(handle, target, e.screenX, e.screenY)}
|
|
31
|
+
onMouseUp={() => resizerService.stopResize()}
|
|
32
|
+
>
|
|
33
|
+
{children}
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default ResizerHorizontalSplitter;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FCC, useEventListener } from 'onekijs-framework';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useResizerService } from '../ResizerService';
|
|
4
|
+
import { ResizerHandle, ResizeVerticalSplitterProps } from '../typings';
|
|
5
|
+
|
|
6
|
+
const getClassNames = (handle: ResizerHandle, active?: boolean, hover?: boolean) => {
|
|
7
|
+
return `o-resizer-vertical-splitter o-resizer-${handle}-splitter${active || hover ? ' o-resizer-active' : ''}`;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const ResizerVerticalSplitter: FCC<ResizeVerticalSplitterProps> = ({ children, target, handle, onResize }) => {
|
|
11
|
+
const [resizerState, resizerService] = useResizerService(onResize);
|
|
12
|
+
const style: React.CSSProperties = {
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
top: 0,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
if (handle === 'e') {
|
|
18
|
+
style.right = 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
useEventListener('mousemove', (e) => resizerService.onResize(e));
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<div
|
|
25
|
+
className={getClassNames(handle, resizerState.active, resizerState.hover)}
|
|
26
|
+
style={style}
|
|
27
|
+
onMouseEnter={() => resizerService.onEnter()}
|
|
28
|
+
onMouseLeave={() => resizerService.onLeave()}
|
|
29
|
+
onMouseDown={(e) => resizerService.startResize(handle, target, e.screenX, e.screenY)}
|
|
30
|
+
onMouseUp={() => resizerService.stopResize()}
|
|
31
|
+
>
|
|
32
|
+
{children}
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export default ResizerVerticalSplitter;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ComponentStyle } from '../../styles/typings';
|
|
2
|
+
import { ResizerProps } from './typings';
|
|
3
|
+
import { css } from 'styled-components';
|
|
4
|
+
import { width, height } from '../../styles/size';
|
|
5
|
+
import { backgroundColor } from '../../styles/background';
|
|
6
|
+
import { zIndex } from '../../styles/position';
|
|
7
|
+
|
|
8
|
+
const resizerStyle: ComponentStyle<ResizerProps> = () => {
|
|
9
|
+
return css`
|
|
10
|
+
width: 100%;
|
|
11
|
+
height: 100%;
|
|
12
|
+
overflow: auto;
|
|
13
|
+
scrollbar-width: thin;
|
|
14
|
+
scrollbar-color: ${(props) => props.theme.palette.colors[props.theme.colors.light]}
|
|
15
|
+
${(props) => props.theme.colors[props.theme.colors.lighter]};
|
|
16
|
+
&::-webkit-scrollbar {
|
|
17
|
+
width: 12px;
|
|
18
|
+
}
|
|
19
|
+
&::-webkit-scrollbar-track {
|
|
20
|
+
background: ${(props) => props.theme.palette.colors[props.theme.colors.lighter]};
|
|
21
|
+
}
|
|
22
|
+
&::-webkit-scrollbar-thumb {
|
|
23
|
+
background-color: ${(props) => props.theme.palette.colors[props.theme.colors.light]};
|
|
24
|
+
border: 3px solid ${(props) => props.theme.palette.colors[props.theme.colors.lighter]};
|
|
25
|
+
}
|
|
26
|
+
.o-resizer-vertical-splitter {
|
|
27
|
+
${width('6px')};
|
|
28
|
+
${backgroundColor('transparent')}
|
|
29
|
+
${height('full')}
|
|
30
|
+
cursor: e-resize;
|
|
31
|
+
transition: background 0.1s ease-out;
|
|
32
|
+
&.o-resizer-active {
|
|
33
|
+
${backgroundColor('primary')}
|
|
34
|
+
${zIndex(35)}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
.o-resizer-horizontal-splitter {
|
|
38
|
+
${height('6px')};
|
|
39
|
+
${backgroundColor('transparent')}
|
|
40
|
+
${width('full')}
|
|
41
|
+
cursor: n-resize;
|
|
42
|
+
transition: background 0.1s ease-out;
|
|
43
|
+
&.o-resizer-active {
|
|
44
|
+
${backgroundColor('primary')}
|
|
45
|
+
${zIndex(35)}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export default resizerStyle;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type ResizerVerticalHandle = 'e' | 'w';
|
|
2
|
+
export type ResizerHorizontallHandle = 'n' | 's';
|
|
3
|
+
export type ResizerHandle = ResizerVerticalHandle | ResizerHorizontallHandle | 'se' | 'sw' | 'nw' | 'all';
|
|
4
|
+
|
|
5
|
+
export type ResizeStep = 'start' | 'stop' | 'run';
|
|
6
|
+
|
|
7
|
+
export type ResizerHandler = (step: ResizeStep, nextWidth: number, nextHeight: number) => void;
|
|
8
|
+
|
|
9
|
+
export interface ResizerProps {
|
|
10
|
+
className?: string;
|
|
11
|
+
onResize: ResizerHandler;
|
|
12
|
+
handles?: ResizerHandle[];
|
|
13
|
+
minWidth?: string | 0;
|
|
14
|
+
maxWidth?: string | 0;
|
|
15
|
+
minHeight?: string | 0;
|
|
16
|
+
maxHeight?: string | 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface ResizeSplitterProps {
|
|
20
|
+
onResize: ResizerHandler;
|
|
21
|
+
target: React.RefObject<HTMLDivElement>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface ResizeVerticalSplitterProps extends ResizeSplitterProps {
|
|
25
|
+
handle: ResizerVerticalHandle;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface ResizeHorizontalSplitterProps extends ResizeSplitterProps {
|
|
29
|
+
handle: ResizerHorizontallHandle;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface ResizerState {
|
|
33
|
+
active?: boolean;
|
|
34
|
+
height?: number;
|
|
35
|
+
hover?: boolean;
|
|
36
|
+
lastX?: number;
|
|
37
|
+
lastY?: number;
|
|
38
|
+
width?: number;
|
|
39
|
+
handler: ResizerHandler;
|
|
40
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import Select from '.';
|
|
3
|
+
import FieldLayout from '../field/FieldLayout';
|
|
4
|
+
import useFieldLayout from '../field/hooks/useFieldLayout';
|
|
5
|
+
import { FormSelectProps, SelectProps } from './typings';
|
|
6
|
+
|
|
7
|
+
const FormSelect: FC<FormSelectProps> = React.memo((props) => {
|
|
8
|
+
const [fieldLayoutProps, fieldComponentProps] = useFieldLayout<SelectProps>(
|
|
9
|
+
Object.assign(
|
|
10
|
+
{
|
|
11
|
+
defaultValue: props.defaultValue === undefined ? (props.multiple ? [] : null) : props.defaultValue,
|
|
12
|
+
},
|
|
13
|
+
props,
|
|
14
|
+
),
|
|
15
|
+
);
|
|
16
|
+
const Component = props.FieldComponent || Select;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<FieldLayout {...fieldLayoutProps} required={props.required}>
|
|
20
|
+
<Component {...fieldComponentProps} />
|
|
21
|
+
</FieldLayout>
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
FormSelect.displayName = 'FormSelect';
|
|
26
|
+
export default FormSelect;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CollectionService, service } from 'onekijs-framework';
|
|
2
|
+
import { SelectController, SelectItem, SelectState } from './typings';
|
|
3
|
+
|
|
4
|
+
@service
|
|
5
|
+
class SelectService<T = any, I extends SelectItem<T> = SelectItem<T>, S extends SelectState<T, I> = SelectState<T, I>>
|
|
6
|
+
extends CollectionService<T, I, S>
|
|
7
|
+
implements SelectController<T, I> {}
|
|
8
|
+
|
|
9
|
+
export default SelectService;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import useSelectController from '../hooks/useSelectController';
|
|
3
|
+
import { ArraySelectProps } from '../typings';
|
|
4
|
+
import ControllerSelectComponent from './ControllerSelectComponent';
|
|
5
|
+
|
|
6
|
+
const ArraySelectComponent: FC<ArraySelectProps> = (props) => {
|
|
7
|
+
const controller = useSelectController(props.dataSource, { adapter: props.adapter, fetchOnce: props.fetchOnce });
|
|
8
|
+
return <ControllerSelectComponent {...props} controller={controller} />;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default ArraySelectComponent;
|