@deviceinsight/ng-ui-components 6.18.0 → 6.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/__mocks__/i18n.d.ts +12 -4
- package/lib/cjs/__mocks__/i18n.d.ts.map +1 -1
- package/lib/cjs/__mocks__/i18n.js +20 -7
- package/lib/cjs/components/chart/Chart.d.ts +1 -1
- package/lib/cjs/components/colorpicker/ColorPickerPopper.d.ts +1 -1
- package/lib/cjs/components/colorpicker/GradientColorPicker.d.ts +2 -2
- package/lib/cjs/components/colorpicker/GridColorPicker.d.ts +2 -2
- package/lib/cjs/components/contentHeader/ContentHeader.d.ts +1 -1
- package/lib/cjs/components/contentHeader/ContentHeader.d.ts.map +1 -1
- package/lib/cjs/components/infobox/InfoBox.d.ts +1 -1
- package/lib/cjs/components/infobox/InfoBox.d.ts.map +1 -1
- package/lib/cjs/components/input/DateInput.d.ts +2 -2
- package/lib/cjs/components/input/DateInput.d.ts.map +1 -1
- package/lib/cjs/components/input/DateTimeInput.d.ts +2 -2
- package/lib/cjs/components/input/DateTimeInput.d.ts.map +1 -1
- package/lib/cjs/components/input/SelectWithSearch.d.ts +4 -1
- package/lib/cjs/components/input/SelectWithSearch.d.ts.map +1 -1
- package/lib/cjs/components/input/SelectWithSearch.js +25 -4
- package/lib/cjs/components/input/SelectWithSearchAsync.d.ts +1 -1
- package/lib/cjs/components/input/UrnInput.d.ts +1 -1
- package/lib/cjs/components/input/ValidatedTextInput.d.ts +1 -1
- package/lib/cjs/components/input/__tests__/DateInput.spec.js +24 -24
- package/lib/cjs/components/input/__tests__/DateTimeInput.spec.js +5 -4
- package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.js +12 -11
- package/lib/cjs/components/link/RouteLink.d.ts +2 -2
- package/lib/cjs/components/link/RouteLink.d.ts.map +1 -1
- package/lib/cjs/components/multiMenu/MultiMenu.d.ts +1 -1
- package/lib/cjs/components/multiMenu/components/MultiMenuItem.d.ts +1 -1
- package/lib/cjs/components/pagination/Pagination.d.ts +1 -1
- package/lib/cjs/components/pagination/__tests__/Pagination.spec.js +70 -70
- package/lib/cjs/components/periodpicker/PeriodPicker.d.ts +2 -2
- package/lib/cjs/components/periodpicker/PeriodPicker.d.ts.map +1 -1
- package/lib/cjs/components/periodpicker/components/Inputs.d.ts +2 -2
- package/lib/cjs/components/periodpicker/components/Inputs.d.ts.map +1 -1
- package/lib/cjs/components/periodpicker/components/Menu.d.ts +2 -2
- package/lib/cjs/components/periodpicker/components/Menu.d.ts.map +1 -1
- package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts +2 -2
- package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts.map +1 -1
- package/lib/cjs/components/periodpicker/usePeriodName.d.ts +1 -1
- package/lib/cjs/components/periodpicker/usePeriodName.d.ts.map +1 -1
- package/lib/cjs/components/periodpicker/usePeriodName.js +2 -2
- package/lib/cjs/components/prompt/Prompt.d.ts +2 -2
- package/lib/cjs/components/prompt/Prompt.d.ts.map +1 -1
- package/lib/cjs/components/reactable/Reactable.d.ts +1 -1
- package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts +1 -1
- package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts +2 -2
- package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -1
- package/lib/cjs/components/reactable/helpers/ReactableTableRow.d.ts +1 -1
- package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +1 -1
- package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +64 -72
- package/lib/cjs/components/slider/Slider.d.ts +2 -2
- package/lib/cjs/components/slider/Slider.d.ts.map +1 -1
- package/lib/cjs/components/svg/SvgImage.d.ts +2 -2
- package/lib/cjs/components/svg/SvgImage.d.ts.map +1 -1
- package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.js +11 -10
- package/lib/cjs/components/tabs/RouteTabs.d.ts +1 -1
- package/lib/cjs/components/tabs/RouteTabs.d.ts.map +1 -1
- package/lib/cjs/components/tabs/RouteTabs.js +2 -2
- package/lib/cjs/components/treeview/TreeView.d.ts +1 -1
- package/lib/cjs/components/treeview/components/Node.d.ts +1 -1
- package/lib/cjs/components/treeview/components/NodeInfo.d.ts +1 -1
- package/lib/cjs/components/upload/FileUpload.d.ts +1 -1
- package/lib/cjs/components/upload/ImageUpload.d.ts +1 -1
- package/lib/cjs/modules/messageBox/messageBox.d.ts +2 -2
- package/lib/cjs/modules/messageBox/messageBox.d.ts.map +1 -1
- package/lib/esm/__mocks__/i18n.d.ts +12 -4
- package/lib/esm/__mocks__/i18n.d.ts.map +1 -1
- package/lib/esm/__mocks__/i18n.js +20 -5
- package/lib/esm/components/chart/Chart.d.ts +1 -1
- package/lib/esm/components/colorpicker/ColorPickerPopper.d.ts +1 -1
- package/lib/esm/components/colorpicker/GradientColorPicker.d.ts +2 -2
- package/lib/esm/components/colorpicker/GridColorPicker.d.ts +2 -2
- package/lib/esm/components/contentHeader/ContentHeader.d.ts +1 -1
- package/lib/esm/components/contentHeader/ContentHeader.d.ts.map +1 -1
- package/lib/esm/components/infobox/InfoBox.d.ts +1 -1
- package/lib/esm/components/infobox/InfoBox.d.ts.map +1 -1
- package/lib/esm/components/input/DateInput.d.ts +2 -2
- package/lib/esm/components/input/DateInput.d.ts.map +1 -1
- package/lib/esm/components/input/DateTimeInput.d.ts +2 -2
- package/lib/esm/components/input/DateTimeInput.d.ts.map +1 -1
- package/lib/esm/components/input/SelectWithSearch.d.ts +4 -1
- package/lib/esm/components/input/SelectWithSearch.d.ts.map +1 -1
- package/lib/esm/components/input/SelectWithSearch.js +25 -4
- package/lib/esm/components/input/SelectWithSearchAsync.d.ts +1 -1
- package/lib/esm/components/input/UrnInput.d.ts +1 -1
- package/lib/esm/components/input/ValidatedTextInput.d.ts +1 -1
- package/lib/esm/components/input/__tests__/DateInput.spec.js +4 -4
- package/lib/esm/components/input/__tests__/DateTimeInput.spec.js +1 -0
- package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.js +3 -2
- package/lib/esm/components/link/RouteLink.d.ts +2 -2
- package/lib/esm/components/link/RouteLink.d.ts.map +1 -1
- package/lib/esm/components/multiMenu/MultiMenu.d.ts +1 -1
- package/lib/esm/components/multiMenu/components/MultiMenuItem.d.ts +1 -1
- package/lib/esm/components/pagination/Pagination.d.ts +1 -1
- package/lib/esm/components/pagination/__tests__/Pagination.spec.js +53 -53
- package/lib/esm/components/periodpicker/PeriodPicker.d.ts +2 -2
- package/lib/esm/components/periodpicker/PeriodPicker.d.ts.map +1 -1
- package/lib/esm/components/periodpicker/components/Inputs.d.ts +2 -2
- package/lib/esm/components/periodpicker/components/Inputs.d.ts.map +1 -1
- package/lib/esm/components/periodpicker/components/Menu.d.ts +2 -2
- package/lib/esm/components/periodpicker/components/Menu.d.ts.map +1 -1
- package/lib/esm/components/periodpicker/components/MonthPicker.d.ts +2 -2
- package/lib/esm/components/periodpicker/components/MonthPicker.d.ts.map +1 -1
- package/lib/esm/components/periodpicker/usePeriodName.d.ts +1 -1
- package/lib/esm/components/periodpicker/usePeriodName.d.ts.map +1 -1
- package/lib/esm/components/periodpicker/usePeriodName.js +1 -1
- package/lib/esm/components/prompt/Prompt.d.ts +2 -2
- package/lib/esm/components/prompt/Prompt.d.ts.map +1 -1
- package/lib/esm/components/reactable/Reactable.d.ts +1 -1
- package/lib/esm/components/reactable/helpers/ReactableTable.d.ts +1 -1
- package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts +2 -2
- package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -1
- package/lib/esm/components/reactable/helpers/ReactableTableRow.d.ts +1 -1
- package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +1 -1
- package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +55 -63
- package/lib/esm/components/slider/Slider.d.ts +2 -2
- package/lib/esm/components/slider/Slider.d.ts.map +1 -1
- package/lib/esm/components/svg/SvgImage.d.ts +2 -2
- package/lib/esm/components/svg/SvgImage.d.ts.map +1 -1
- package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.js +1 -0
- package/lib/esm/components/tabs/RouteTabs.d.ts +1 -1
- package/lib/esm/components/tabs/RouteTabs.d.ts.map +1 -1
- package/lib/esm/components/tabs/RouteTabs.js +2 -2
- package/lib/esm/components/treeview/TreeView.d.ts +1 -1
- package/lib/esm/components/treeview/components/Node.d.ts +1 -1
- package/lib/esm/components/treeview/components/NodeInfo.d.ts +1 -1
- package/lib/esm/components/upload/FileUpload.d.ts +1 -1
- package/lib/esm/components/upload/ImageUpload.d.ts +1 -1
- package/lib/esm/modules/messageBox/messageBox.d.ts +2 -2
- package/lib/esm/modules/messageBox/messageBox.d.ts.map +1 -1
- package/lib/esm/src/__mocks__/i18n.d.ts +13 -0
- package/lib/esm/src/__mocks__/i18n.d.ts.map +1 -0
- package/lib/esm/src/__mocks__/i18n.js +20 -0
- package/lib/esm/src/components/chart/Chart.d.ts +38 -0
- package/lib/esm/src/components/chart/Chart.d.ts.map +1 -0
- package/lib/esm/src/components/chart/Chart.js +202 -0
- package/lib/esm/src/components/colorpicker/ColorPickerPopper.d.ts +24 -0
- package/lib/esm/src/components/colorpicker/ColorPickerPopper.d.ts.map +1 -0
- package/lib/esm/src/components/colorpicker/ColorPickerPopper.js +46 -0
- package/lib/esm/src/components/colorpicker/GradientColorPicker.d.ts +63 -0
- package/lib/esm/src/components/colorpicker/GradientColorPicker.d.ts.map +1 -0
- package/lib/esm/src/components/colorpicker/GradientColorPicker.js +125 -0
- package/lib/esm/src/components/colorpicker/GridColorPicker.d.ts +41 -0
- package/lib/esm/src/components/colorpicker/GridColorPicker.d.ts.map +1 -0
- package/lib/esm/src/components/colorpicker/GridColorPicker.js +30 -0
- package/lib/esm/src/components/contentHeader/ContentHeader.d.ts +25 -0
- package/lib/esm/src/components/contentHeader/ContentHeader.d.ts.map +1 -0
- package/lib/esm/src/components/contentHeader/ContentHeader.js +53 -0
- package/lib/esm/src/components/infobox/InfoBox.d.ts +22 -0
- package/lib/esm/src/components/infobox/InfoBox.d.ts.map +1 -0
- package/lib/esm/src/components/infobox/InfoBox.js +36 -0
- package/lib/esm/src/components/input/DateInput.d.ts +28 -0
- package/lib/esm/src/components/input/DateInput.d.ts.map +1 -0
- package/lib/esm/src/components/input/DateInput.js +157 -0
- package/lib/esm/src/components/input/DateTimeInput.d.ts +27 -0
- package/lib/esm/src/components/input/DateTimeInput.d.ts.map +1 -0
- package/lib/esm/src/components/input/DateTimeInput.js +50 -0
- package/lib/esm/src/components/input/SelectWithSearch.d.ts +65 -0
- package/lib/esm/src/components/input/SelectWithSearch.d.ts.map +1 -0
- package/lib/esm/src/components/input/SelectWithSearch.js +111 -0
- package/lib/esm/src/components/input/SelectWithSearchAsync.d.ts +58 -0
- package/lib/esm/src/components/input/SelectWithSearchAsync.d.ts.map +1 -0
- package/lib/esm/src/components/input/SelectWithSearchAsync.js +100 -0
- package/lib/esm/src/components/input/UrnInput.d.ts +22 -0
- package/lib/esm/src/components/input/UrnInput.d.ts.map +1 -0
- package/lib/esm/src/components/input/UrnInput.js +33 -0
- package/lib/esm/src/components/input/ValidatedTextInput.d.ts +35 -0
- package/lib/esm/src/components/input/ValidatedTextInput.d.ts.map +1 -0
- package/lib/esm/src/components/input/ValidatedTextInput.js +30 -0
- package/lib/esm/src/components/input/__tests__/DateInput.spec.d.ts +2 -0
- package/lib/esm/src/components/input/__tests__/DateInput.spec.d.ts.map +1 -0
- package/lib/esm/src/components/input/__tests__/DateInput.spec.js +85 -0
- package/lib/esm/src/components/input/__tests__/DateTimeInput.spec.d.ts +2 -0
- package/lib/esm/src/components/input/__tests__/DateTimeInput.spec.d.ts.map +1 -0
- package/lib/esm/src/components/input/__tests__/DateTimeInput.spec.js +13 -0
- package/lib/esm/src/components/input/__tests__/SelectWithSearchAsync.spec.d.ts +2 -0
- package/lib/esm/src/components/input/__tests__/SelectWithSearchAsync.spec.d.ts.map +1 -0
- package/lib/esm/src/components/input/__tests__/SelectWithSearchAsync.spec.js +44 -0
- package/lib/esm/src/components/link/RouteLink.d.ts +31 -0
- package/lib/esm/src/components/link/RouteLink.d.ts.map +1 -0
- package/lib/esm/src/components/link/RouteLink.js +55 -0
- package/lib/esm/src/components/multiMenu/MultiMenu.d.ts +27 -0
- package/lib/esm/src/components/multiMenu/MultiMenu.d.ts.map +1 -0
- package/lib/esm/src/components/multiMenu/MultiMenu.js +30 -0
- package/lib/esm/src/components/multiMenu/components/MultiMenuContext.d.ts +7 -0
- package/lib/esm/src/components/multiMenu/components/MultiMenuContext.d.ts.map +1 -0
- package/lib/esm/src/components/multiMenu/components/MultiMenuContext.js +5 -0
- package/lib/esm/src/components/multiMenu/components/MultiMenuItem.d.ts +14 -0
- package/lib/esm/src/components/multiMenu/components/MultiMenuItem.d.ts.map +1 -0
- package/lib/esm/src/components/multiMenu/components/MultiMenuItem.js +24 -0
- package/lib/esm/src/components/pagination/Pagination.d.ts +37 -0
- package/lib/esm/src/components/pagination/Pagination.d.ts.map +1 -0
- package/lib/esm/src/components/pagination/Pagination.js +114 -0
- package/lib/esm/src/components/pagination/__tests__/Pagination.spec.d.ts +2 -0
- package/lib/esm/src/components/pagination/__tests__/Pagination.spec.d.ts.map +1 -0
- package/lib/esm/src/components/pagination/__tests__/Pagination.spec.js +87 -0
- package/lib/esm/src/components/periodpicker/PeriodPicker.d.ts +23 -0
- package/lib/esm/src/components/periodpicker/PeriodPicker.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/PeriodPicker.js +11 -0
- package/lib/esm/src/components/periodpicker/components/Inputs.d.ts +12 -0
- package/lib/esm/src/components/periodpicker/components/Inputs.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/components/Inputs.js +59 -0
- package/lib/esm/src/components/periodpicker/components/Menu.d.ts +11 -0
- package/lib/esm/src/components/periodpicker/components/Menu.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/components/Menu.js +96 -0
- package/lib/esm/src/components/periodpicker/components/MonthPicker.d.ts +19 -0
- package/lib/esm/src/components/periodpicker/components/MonthPicker.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/components/MonthPicker.js +62 -0
- package/lib/esm/src/components/periodpicker/periods.d.ts +33 -0
- package/lib/esm/src/components/periodpicker/periods.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/periods.js +56 -0
- package/lib/esm/src/components/periodpicker/types.d.ts +5 -0
- package/lib/esm/src/components/periodpicker/types.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/types.js +1 -0
- package/lib/esm/src/components/periodpicker/usePeriodName.d.ts +7 -0
- package/lib/esm/src/components/periodpicker/usePeriodName.d.ts.map +1 -0
- package/lib/esm/src/components/periodpicker/usePeriodName.js +38 -0
- package/lib/esm/src/components/prompt/Prompt.d.ts +23 -0
- package/lib/esm/src/components/prompt/Prompt.d.ts.map +1 -0
- package/lib/esm/src/components/prompt/Prompt.js +31 -0
- package/lib/esm/src/components/prompt/withPrompt.d.ts +7 -0
- package/lib/esm/src/components/prompt/withPrompt.d.ts.map +1 -0
- package/lib/esm/src/components/prompt/withPrompt.js +33 -0
- package/lib/esm/src/components/reactable/Reactable.d.ts +38 -0
- package/lib/esm/src/components/reactable/Reactable.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/Reactable.js +18 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTable.d.ts +21 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTable.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTable.js +33 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableFilterRow.d.ts +9 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableFilterRow.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableFilterRow.js +57 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableHeader.d.ts +16 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableHeader.js +52 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableRow.d.ts +16 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableRow.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTableRow.js +56 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTextFilter.d.ts +9 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTextFilter.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/helpers/ReactableTextFilter.js +18 -0
- package/lib/esm/src/components/reactable/helpers/helper.d.ts +7 -0
- package/lib/esm/src/components/reactable/helpers/helper.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/helpers/helper.js +90 -0
- package/lib/esm/src/components/reactable/types.d.ts +38 -0
- package/lib/esm/src/components/reactable/types.d.ts.map +1 -0
- package/lib/esm/src/components/reactable/types.js +1 -0
- package/lib/esm/src/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +69 -0
- package/lib/esm/src/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts.map +1 -0
- package/lib/esm/src/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.js +155 -0
- package/lib/esm/src/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts +2 -0
- package/lib/esm/src/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts.map +1 -0
- package/lib/esm/src/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +130 -0
- package/lib/esm/src/components/slider/Slider.d.ts +30 -0
- package/lib/esm/src/components/slider/Slider.d.ts.map +1 -0
- package/lib/esm/src/components/slider/Slider.js +35 -0
- package/lib/esm/src/components/slider/useLimitStyling.d.ts +3 -0
- package/lib/esm/src/components/slider/useLimitStyling.d.ts.map +1 -0
- package/lib/esm/src/components/slider/useLimitStyling.js +49 -0
- package/lib/esm/src/components/svg/SvgImage.d.ts +12 -0
- package/lib/esm/src/components/svg/SvgImage.d.ts.map +1 -0
- package/lib/esm/src/components/svg/SvgImage.js +37 -0
- package/lib/esm/src/components/svg/storybookHelper.d.ts +7 -0
- package/lib/esm/src/components/svg/storybookHelper.d.ts.map +1 -0
- package/lib/esm/src/components/svg/storybookHelper.js +53 -0
- package/lib/esm/src/components/svg/types.d.ts +58 -0
- package/lib/esm/src/components/svg/types.d.ts.map +1 -0
- package/lib/esm/src/components/svg/types.js +1 -0
- package/lib/esm/src/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts +2 -0
- package/lib/esm/src/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/__tests__/getMutableNodeList.spec.js +24 -0
- package/lib/esm/src/components/svg/utils/createHyperlinkModification.d.ts +4 -0
- package/lib/esm/src/components/svg/utils/createHyperlinkModification.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/createHyperlinkModification.js +35 -0
- package/lib/esm/src/components/svg/utils/createPositionModification.d.ts +3 -0
- package/lib/esm/src/components/svg/utils/createPositionModification.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/createPositionModification.js +19 -0
- package/lib/esm/src/components/svg/utils/findConflicts.d.ts +2 -0
- package/lib/esm/src/components/svg/utils/findConflicts.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/findConflicts.js +23 -0
- package/lib/esm/src/components/svg/utils/getMutableNodeList.d.ts +3 -0
- package/lib/esm/src/components/svg/utils/getMutableNodeList.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/getMutableNodeList.js +12 -0
- package/lib/esm/src/components/svg/utils/getSvgElement.d.ts +3 -0
- package/lib/esm/src/components/svg/utils/getSvgElement.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/getSvgElement.js +10 -0
- package/lib/esm/src/components/svg/utils/renderSvg.d.ts +3 -0
- package/lib/esm/src/components/svg/utils/renderSvg.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/renderSvg.js +88 -0
- package/lib/esm/src/components/svg/utils/transformPositionModifications.d.ts +4 -0
- package/lib/esm/src/components/svg/utils/transformPositionModifications.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/transformPositionModifications.js +42 -0
- package/lib/esm/src/components/svg/utils/validateSvg.d.ts +3 -0
- package/lib/esm/src/components/svg/utils/validateSvg.d.ts.map +1 -0
- package/lib/esm/src/components/svg/utils/validateSvg.js +5 -0
- package/lib/esm/src/components/tabs/RouteTabs.d.ts +24 -0
- package/lib/esm/src/components/tabs/RouteTabs.d.ts.map +1 -0
- package/lib/esm/src/components/tabs/RouteTabs.js +67 -0
- package/lib/esm/src/components/treeview/TreeView.d.ts +50 -0
- package/lib/esm/src/components/treeview/TreeView.d.ts.map +1 -0
- package/lib/esm/src/components/treeview/TreeView.js +104 -0
- package/lib/esm/src/components/treeview/components/Node.d.ts +37 -0
- package/lib/esm/src/components/treeview/components/Node.d.ts.map +1 -0
- package/lib/esm/src/components/treeview/components/Node.js +111 -0
- package/lib/esm/src/components/treeview/components/NodeInfo.d.ts +25 -0
- package/lib/esm/src/components/treeview/components/NodeInfo.d.ts.map +1 -0
- package/lib/esm/src/components/treeview/components/NodeInfo.js +64 -0
- package/lib/esm/src/components/treeview/constants.d.ts +6 -0
- package/lib/esm/src/components/treeview/constants.d.ts.map +1 -0
- package/lib/esm/src/components/treeview/constants.js +6 -0
- package/lib/esm/src/components/treeview/treeutils.d.ts +59 -0
- package/lib/esm/src/components/treeview/treeutils.d.ts.map +1 -0
- package/lib/esm/src/components/treeview/treeutils.js +158 -0
- package/lib/esm/src/components/treeview/types.d.ts +37 -0
- package/lib/esm/src/components/treeview/types.d.ts.map +1 -0
- package/lib/esm/src/components/treeview/types.js +1 -0
- package/lib/esm/src/components/upload/FileUpload.d.ts +67 -0
- package/lib/esm/src/components/upload/FileUpload.d.ts.map +1 -0
- package/lib/esm/src/components/upload/FileUpload.js +95 -0
- package/lib/esm/src/components/upload/ImageUpload.d.ts +21 -0
- package/lib/esm/src/components/upload/ImageUpload.d.ts.map +1 -0
- package/lib/esm/src/components/upload/ImageUpload.js +45 -0
- package/lib/esm/src/hoc/outsideClick.d.ts +4 -0
- package/lib/esm/src/hoc/outsideClick.d.ts.map +1 -0
- package/lib/esm/src/hoc/outsideClick.js +73 -0
- package/lib/esm/src/i18n/index.d.ts +16 -0
- package/lib/esm/src/i18n/index.d.ts.map +1 -0
- package/lib/esm/src/i18n/index.js +6 -0
- package/lib/esm/src/index.d.ts +52 -0
- package/lib/esm/src/index.d.ts.map +1 -0
- package/lib/esm/src/index.js +39 -0
- package/lib/esm/src/modules/messageBox/messageBox.d.ts +14 -0
- package/lib/esm/src/modules/messageBox/messageBox.d.ts.map +1 -0
- package/lib/esm/src/modules/messageBox/messageBox.js +56 -0
- package/lib/esm/src/modules/utils/nanoidGen.d.ts +2 -0
- package/lib/esm/src/modules/utils/nanoidGen.d.ts.map +1 -0
- package/lib/esm/src/modules/utils/nanoidGen.js +3 -0
- package/lib/esm/src/modules/utils/uuidGen.d.ts +2 -0
- package/lib/esm/src/modules/utils/uuidGen.d.ts.map +1 -0
- package/lib/esm/src/modules/utils/uuidGen.js +13 -0
- package/lib/esm/src/types/i18n.d.ts +5 -0
- package/lib/esm/src/types/i18n.d.ts.map +1 -0
- package/lib/esm/src/types/i18n.js +1 -0
- package/lib/esm/src/types/pagination.d.ts +19 -0
- package/lib/esm/src/types/pagination.d.ts.map +1 -0
- package/lib/esm/src/types/pagination.js +1 -0
- package/lib/esm/src/utils/dayjsLocales.d.ts +10 -0
- package/lib/esm/src/utils/dayjsLocales.d.ts.map +1 -0
- package/lib/esm/src/utils/dayjsLocales.js +12 -0
- package/lib/esm/src/utils/resolvePath.d.ts +2 -0
- package/lib/esm/src/utils/resolvePath.d.ts.map +1 -0
- package/lib/esm/src/utils/resolvePath.js +4 -0
- package/lib/esm/vite.config.d.mts +3 -0
- package/lib/esm/vite.config.d.mts.map +1 -0
- package/lib/esm/vite.config.mjs +9 -0
- package/lib/esm/vitest.setup.d.ts +3 -0
- package/lib/esm/vitest.setup.d.ts.map +1 -0
- package/lib/esm/vitest.setup.js +10 -0
- package/package.json +24 -54
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Pageable } from '../../types/pagination';
|
|
3
|
+
import '../../assets/react-select.css';
|
|
4
|
+
import '../../assets/react-select-custom.css';
|
|
5
|
+
export declare type Props<Item, ID> = {
|
|
6
|
+
/** Flag to preselect the status of the checkbox */
|
|
7
|
+
value: ID | null | undefined;
|
|
8
|
+
/** Function, executed when selecting value */
|
|
9
|
+
onChange: (item: ID | null | undefined) => void;
|
|
10
|
+
/** Identifier for value */
|
|
11
|
+
valueKey: string;
|
|
12
|
+
/** Identifier for label */
|
|
13
|
+
labelKey: string;
|
|
14
|
+
/** Function, executed when the component mounts and updates */
|
|
15
|
+
searchByQuery: (query: string, offset: number) => Promise<Pageable<Item>>;
|
|
16
|
+
/** Function, executed when the component mounts and updates */
|
|
17
|
+
searchById: (id: ID) => Promise<Item | null | undefined>;
|
|
18
|
+
/** (Optional) if set, returns a custom message if no results are available*/
|
|
19
|
+
noResultsMessage?: string;
|
|
20
|
+
/** (Optional) if true, enables button to clear field on click */
|
|
21
|
+
clearable?: boolean;
|
|
22
|
+
/** (Optional) indicates if the component is disabled or not */
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** (Optional) Whether the menu should use a portal, and where it should attach */
|
|
25
|
+
menuPortalTarget?: HTMLElement;
|
|
26
|
+
/** Placeholder */
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
/** @ignore */
|
|
29
|
+
'data-testid'?: string;
|
|
30
|
+
};
|
|
31
|
+
declare type SelectItem<ID> = {
|
|
32
|
+
value: ID;
|
|
33
|
+
label: string;
|
|
34
|
+
};
|
|
35
|
+
declare type State<ID extends string | number> = {
|
|
36
|
+
cache: Record<ID, SelectItem<ID>>;
|
|
37
|
+
currentItem: SelectItem<ID> | null | undefined;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* SelectWithSearchAsync enhances a native select list by applying a search functionality to it.
|
|
41
|
+
* Fetches selectable results asynchronously while showing small loading indicator
|
|
42
|
+
*/
|
|
43
|
+
export default class SelectWithSearchAsync<Item, ID extends string | number> extends React.Component<Props<Item, ID>, State<ID>> {
|
|
44
|
+
state: State<ID>;
|
|
45
|
+
componentDidMount(): void;
|
|
46
|
+
componentDidUpdate(): void;
|
|
47
|
+
transformBackendItemToSelectItem: (backendItem: any) => SelectItem<ID>;
|
|
48
|
+
reloadItemFromCache: () => boolean;
|
|
49
|
+
addBackendItemToCache: (item: Item | null | undefined) => void;
|
|
50
|
+
fetchOptions: (input: string, options: Array<Item>) => Promise<{
|
|
51
|
+
hasMore: boolean;
|
|
52
|
+
options: Array<any>;
|
|
53
|
+
}>;
|
|
54
|
+
handleChange: (item: SelectItem<ID> | null | undefined) => void;
|
|
55
|
+
render(): React.JSX.Element;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=SelectWithSearchAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectWithSearchAsync.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/SelectWithSearchAsync.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAE9C,oBAAY,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI;IAC7B,mDAAmD;IACnD,KAAK,EAAE,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAE7B,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAEhD,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,+DAA+D;IAC/D,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1E,+DAA+D;IAC/D,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAEzD,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAE/B,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,aAAK,UAAU,CAAC,EAAE,IAAI;IACrB,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI;IACxC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB,CAAC,IAAI,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,KAAK,CAAC,SAAS,CACnG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EACf,KAAK,CAAC,EAAE,CAAC,CACT;IACA,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAGd;IAEF,iBAAiB;IAQjB,kBAAkB;IAiBlB,gCAAgC,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC,CAMpE;IACF,mBAAmB,EAAE,MAAM,OAAO,CAYhC;IACF,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAQ5D;IAEF,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;KAAC,CAAC,CAgBrG;IAEF,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAgB7D;IAEF,MAAM;CAmBN"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AsyncPaginate } from 'react-select-async-paginate';
|
|
3
|
+
import '../../assets/react-select.css';
|
|
4
|
+
import '../../assets/react-select-custom.css';
|
|
5
|
+
/**
|
|
6
|
+
* SelectWithSearchAsync enhances a native select list by applying a search functionality to it.
|
|
7
|
+
* Fetches selectable results asynchronously while showing small loading indicator
|
|
8
|
+
*/
|
|
9
|
+
export default class SelectWithSearchAsync extends React.Component {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.state = {
|
|
13
|
+
cache: {},
|
|
14
|
+
currentItem: null
|
|
15
|
+
};
|
|
16
|
+
this.transformBackendItemToSelectItem = (backendItem) => {
|
|
17
|
+
const { labelKey, valueKey } = this.props;
|
|
18
|
+
return {
|
|
19
|
+
value: backendItem[valueKey],
|
|
20
|
+
label: backendItem[labelKey]
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
this.reloadItemFromCache = () => {
|
|
24
|
+
const { value } = this.props;
|
|
25
|
+
const { currentItem, cache } = this.state;
|
|
26
|
+
if (value && (!currentItem || currentItem.value !== value) && cache[value]) {
|
|
27
|
+
this.setState({
|
|
28
|
+
currentItem: cache[value]
|
|
29
|
+
});
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
34
|
+
this.addBackendItemToCache = (item) => {
|
|
35
|
+
if (item) {
|
|
36
|
+
const selectItem = this.transformBackendItemToSelectItem(item);
|
|
37
|
+
const id = selectItem.value;
|
|
38
|
+
this.setState(({ cache }) => ({
|
|
39
|
+
cache: { ...cache, [id]: selectItem }
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
this.fetchOptions = async (input, options) => {
|
|
44
|
+
const { searchByQuery } = this.props;
|
|
45
|
+
try {
|
|
46
|
+
const { content, number, totalPages } = await searchByQuery(input, options.length);
|
|
47
|
+
return {
|
|
48
|
+
options: content.map(this.transformBackendItemToSelectItem),
|
|
49
|
+
hasMore: number < totalPages - 1
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.error('Error fetching options:', error);
|
|
54
|
+
return { hasMore: false, options: [] };
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
this.handleChange = (item) => {
|
|
58
|
+
const { onChange } = this.props;
|
|
59
|
+
if (item) {
|
|
60
|
+
const id = item.value;
|
|
61
|
+
this.setState(({ cache }) => ({
|
|
62
|
+
cache: { ...cache, [id]: item }
|
|
63
|
+
}), () => {
|
|
64
|
+
onChange(id);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
onChange(null);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
componentDidMount() {
|
|
73
|
+
const { value, searchById } = this.props;
|
|
74
|
+
if (value) {
|
|
75
|
+
searchById(value).then(this.addBackendItemToCache);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
componentDidUpdate() {
|
|
79
|
+
const { value, searchById } = this.props;
|
|
80
|
+
const { currentItem } = this.state;
|
|
81
|
+
if (value && (!currentItem || currentItem.value !== value)) {
|
|
82
|
+
const foundInCache = this.reloadItemFromCache();
|
|
83
|
+
if (!foundInCache) {
|
|
84
|
+
searchById(value).then(this.addBackendItemToCache);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else if (!value && currentItem) {
|
|
88
|
+
this.setState({
|
|
89
|
+
currentItem: null
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
render() {
|
|
94
|
+
const { clearable, noResultsMessage, disabled, menuPortalTarget } = this.props;
|
|
95
|
+
const { currentItem } = this.state;
|
|
96
|
+
return (React.createElement(AsyncPaginate, { className: "select-search-container", classNamePrefix: "select-search", isClearable: clearable, noResultsText: noResultsMessage, value: currentItem, onChange: this.handleChange,
|
|
97
|
+
// @ts-ignore
|
|
98
|
+
loadOptions: this.fetchOptions, isDisabled: disabled, menuPortalTarget: menuPortalTarget, placeholder: this.props.placeholder }));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare type Props = {
|
|
3
|
+
/** Current value of input field */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Function, executed on change */
|
|
6
|
+
onChange: (value: string) => any;
|
|
7
|
+
};
|
|
8
|
+
declare type State = {
|
|
9
|
+
editMode: boolean;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* UrnInput offers a convenient way to add or edit Asset URNs.
|
|
13
|
+
* Usually, a generated default value is passed in as prop.
|
|
14
|
+
*/
|
|
15
|
+
export default class UrnInput extends React.Component<Props, State> {
|
|
16
|
+
state: State;
|
|
17
|
+
handleEdit: () => void;
|
|
18
|
+
handleChangeValue: (event: React.SyntheticEvent<HTMLInputElement>) => any;
|
|
19
|
+
render(): React.JSX.Element;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=UrnInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrnInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/UrnInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,oBAAY,KAAK,GAAG;IACnB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,mCAAmC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC,CAAC;AAEF,aAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAClE,KAAK,EAAE,KAAK,CAEV;IAEF,UAAU,EAAE,MAAM,IAAI,CAGlB;IAEJ,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAEN;IAEnE,MAAM;CA+BN"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Button, Icon } from '@deviceinsight/ng-ui-basic-components';
|
|
3
|
+
/**
|
|
4
|
+
* UrnInput offers a convenient way to add or edit Asset URNs.
|
|
5
|
+
* Usually, a generated default value is passed in as prop.
|
|
6
|
+
*/
|
|
7
|
+
export default class UrnInput extends React.Component {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.state = {
|
|
11
|
+
editMode: false
|
|
12
|
+
};
|
|
13
|
+
this.handleEdit = () => this.setState({
|
|
14
|
+
editMode: true
|
|
15
|
+
});
|
|
16
|
+
this.handleChangeValue = (event) => this.props.onChange(event.target.value);
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
const { editMode } = this.state;
|
|
20
|
+
const { value } = this.props;
|
|
21
|
+
if (editMode) {
|
|
22
|
+
return (React.createElement("input", { value: value, onChange: this.handleChangeValue, autoCorrect: "off", spellCheck: "false", autoComplete: "off" }));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return (React.createElement("span", null,
|
|
26
|
+
React.createElement("span", { style: {
|
|
27
|
+
marginRight: 10
|
|
28
|
+
} }, value),
|
|
29
|
+
React.createElement(Button, { small: true, onClick: this.handleEdit },
|
|
30
|
+
React.createElement(Icon, { edit: true }))));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare type Props = {
|
|
3
|
+
/** Value of the input field */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Function, executed on change, takes value and valid as arguments */
|
|
6
|
+
onChange: (value: string, valid: boolean) => void;
|
|
7
|
+
/** Pattern to validate the input */
|
|
8
|
+
pattern: RegExp;
|
|
9
|
+
/** If true, marks the input field as mandatory */
|
|
10
|
+
required: boolean;
|
|
11
|
+
/** Placeholder */
|
|
12
|
+
placeholder: string;
|
|
13
|
+
/** @ignore */
|
|
14
|
+
style?: React.CSSProperties;
|
|
15
|
+
/** @ignore */
|
|
16
|
+
className?: string;
|
|
17
|
+
/** @ignore */
|
|
18
|
+
onBlur?: () => void;
|
|
19
|
+
/** @ignore */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** (Optional) sets custom styles if the input field's value isn't valid */
|
|
22
|
+
invalidStyle?: React.CSSProperties;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* ValidatedTextInput provides an easy way to validate a text inputs value for a certain pattern.
|
|
26
|
+
* This is best used for any form of forms.
|
|
27
|
+
*/
|
|
28
|
+
export default class ValidatedTextInput extends React.Component<Props> {
|
|
29
|
+
static defaultProps: {
|
|
30
|
+
required: boolean;
|
|
31
|
+
};
|
|
32
|
+
handleChange: (e: React.SyntheticEvent<HTMLInputElement>) => void;
|
|
33
|
+
render(): React.JSX.Element;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ValidatedTextInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatedTextInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/ValidatedTextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,oBAAY,KAAK,GAAG;IACnB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,uEAAuE;IACvE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAElD,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAC;IAElB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IAEpB,cAAc;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE;QACpB,QAAQ,EAAE,OAAO,CAAC;KAClB,CAEC;IAEF,YAAY,MAAO,MAAM,cAAc,CAAC,gBAAgB,CAAC,UAKvD;IAEF,MAAM;CAaN"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const isValid = (value, pattern, required) => {
|
|
3
|
+
if (!value.length) {
|
|
4
|
+
return !required;
|
|
5
|
+
}
|
|
6
|
+
return pattern.test(value);
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* ValidatedTextInput provides an easy way to validate a text inputs value for a certain pattern.
|
|
10
|
+
* This is best used for any form of forms.
|
|
11
|
+
*/
|
|
12
|
+
export default class ValidatedTextInput extends React.Component {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.handleChange = (e) => {
|
|
16
|
+
const { value } = e.target;
|
|
17
|
+
const { pattern, required, onChange } = this.props;
|
|
18
|
+
const valid = isValid(value, pattern, required);
|
|
19
|
+
onChange(value, valid);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
const { style, invalidStyle, value, ...props } = this.props;
|
|
24
|
+
const { pattern, required, ...otherProps } = props;
|
|
25
|
+
return (React.createElement("input", { ...otherProps, value: value, onChange: this.handleChange, style: isValid(value, pattern, required) ? style : { ...style, ...invalidStyle }, type: "text" }));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ValidatedTextInput.defaultProps = {
|
|
29
|
+
required: false
|
|
30
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/__tests__/DateInput.spec.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
|
|
5
|
+
import DateInput from '../DateInput';
|
|
6
|
+
const DateStateProvider = ({ children, initialValue }) => {
|
|
7
|
+
const [state, setState] = useState(initialValue);
|
|
8
|
+
return children(state, setState);
|
|
9
|
+
};
|
|
10
|
+
describe('DateInput.js', () => {
|
|
11
|
+
describe('Locale support', () => {
|
|
12
|
+
it('should render date in correct format for de-DE locale', async () => {
|
|
13
|
+
render(React.createElement(DateInput, { value: new Date('2019-02-01').getTime(), onChange: () => { } }));
|
|
14
|
+
await waitFor(() => expect(screen.getByTestId('date-input')).toHaveValue('01.02.2019'));
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
describe('Changing values via text input', () => {
|
|
18
|
+
it('should render correct date typed into text input without "invalid" class', async () => {
|
|
19
|
+
await act(async () => {
|
|
20
|
+
render(React.createElement(DateStateProvider, { initialValue: new Date('2019-02-01').getTime() }, (date, setDate) => React.createElement(DateInput, { value: date, onChange: (date) => setDate(date) })));
|
|
21
|
+
});
|
|
22
|
+
await act(async () => {
|
|
23
|
+
fireEvent.change(screen.getByTestId('date-input'), { target: { value: '02.02.2019' } });
|
|
24
|
+
});
|
|
25
|
+
expect(screen.getByTestId('date-input')).toHaveValue('02.02.2019');
|
|
26
|
+
expect(screen.getByTestId('date-input')).not.toHaveClass('invalid');
|
|
27
|
+
});
|
|
28
|
+
it('should render incorrect date typed into text input with "invalid" class', async () => {
|
|
29
|
+
await act(async () => {
|
|
30
|
+
render(React.createElement(DateStateProvider, { initialValue: new Date('2019-02-01').getTime() }, (date, setDate) => React.createElement(DateInput, { value: date, onChange: (date) => setDate(date) })));
|
|
31
|
+
});
|
|
32
|
+
await act(async () => {
|
|
33
|
+
fireEvent.change(screen.getByTestId('date-input'), { target: { value: '02.02.201' } });
|
|
34
|
+
});
|
|
35
|
+
expect(screen.getByTestId('date-input')).toHaveClass('invalid');
|
|
36
|
+
});
|
|
37
|
+
it('should call onChange callback with parsed value of the input during the input is being changed when the value is valid', async () => {
|
|
38
|
+
const onChange = vi.fn();
|
|
39
|
+
await act(async () => {
|
|
40
|
+
render(React.createElement(DateInput, { value: new Date('2019-02-01').getTime(), onChange: onChange }));
|
|
41
|
+
});
|
|
42
|
+
await act(async () => {
|
|
43
|
+
fireEvent.change(screen.getByTestId('date-input'), { target: { value: '02.02.2019' } });
|
|
44
|
+
});
|
|
45
|
+
const currentValue = onChange.mock.calls[onChange.mock.calls.length - 1][0];
|
|
46
|
+
expect(dayjs(currentValue).toISOString()).toEqual(dayjs('2019-02-02').toISOString());
|
|
47
|
+
});
|
|
48
|
+
it('should not call onChange callback while editing the input when the input value is invalid', async () => {
|
|
49
|
+
const onChange = vi.fn();
|
|
50
|
+
await act(async () => {
|
|
51
|
+
render(React.createElement(DateInput, { value: new Date('2019-02-01').getTime(), onChange: onChange }));
|
|
52
|
+
});
|
|
53
|
+
await act(async () => {
|
|
54
|
+
fireEvent.change(screen.getByTestId('date-input'), { target: { value: '02.02.201' } });
|
|
55
|
+
});
|
|
56
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
57
|
+
});
|
|
58
|
+
it('should display the current value in the input field if the input value is invalid and the input became blurred', async () => {
|
|
59
|
+
await act(async () => {
|
|
60
|
+
render(React.createElement(DateStateProvider, { initialValue: new Date('2019-02-01').getTime() }, (date, setDate) => React.createElement(DateInput, { value: date, onChange: (date) => setDate(date) })));
|
|
61
|
+
});
|
|
62
|
+
await act(async () => {
|
|
63
|
+
fireEvent.change(screen.getByTestId('date-input'), { target: { value: '02.02.201' } });
|
|
64
|
+
fireEvent.blur(screen.getByTestId('date-input'));
|
|
65
|
+
});
|
|
66
|
+
expect(screen.getByTestId('date-input')).toHaveValue('01.02.2019');
|
|
67
|
+
});
|
|
68
|
+
it('should display invalid date text in the input when the value is NaN', async () => {
|
|
69
|
+
await act(async () => {
|
|
70
|
+
render(React.createElement(DateInput, { value: NaN, onChange: () => { } }));
|
|
71
|
+
});
|
|
72
|
+
expect(screen.getByTestId('date-input')).toHaveValue('dateInput.invalidDate');
|
|
73
|
+
});
|
|
74
|
+
it('should call onChange callback with [null, true] when empty string is set to input field', async () => {
|
|
75
|
+
const onChange = vi.fn();
|
|
76
|
+
await act(async () => {
|
|
77
|
+
render(React.createElement(DateInput, { value: Date.now(), onChange: onChange }));
|
|
78
|
+
});
|
|
79
|
+
await act(async () => {
|
|
80
|
+
fireEvent.change(screen.getByTestId('date-input'), { target: { value: '' } });
|
|
81
|
+
});
|
|
82
|
+
expect(onChange.mock.calls).toEqual([[null, true]]);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeInput.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/__tests__/DateTimeInput.spec.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import DateTimeInput from '../DateTimeInput';
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
describe('DateTimeInput.js', () => {
|
|
6
|
+
it('should update time when timestamp has changed', () => {
|
|
7
|
+
const { rerender } = render(React.createElement(DateTimeInput, { timestamp: new Date('2019-02-01T11:11:00').getTime(), onChange: () => { } }));
|
|
8
|
+
const timeElement = screen.queryByDisplayValue('11:11');
|
|
9
|
+
expect(timeElement).toBeInTheDocument();
|
|
10
|
+
rerender(React.createElement(DateTimeInput, { timestamp: new Date('2019-02-02T03:24:00').getTime(), onChange: () => { } }));
|
|
11
|
+
expect(timeElement).toHaveDisplayValue('03:24');
|
|
12
|
+
});
|
|
13
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectWithSearchAsync.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/__tests__/SelectWithSearchAsync.spec.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import SelectWithSearchAsync from '../SelectWithSearchAsync';
|
|
4
|
+
import { render, screen, waitFor } from '@testing-library/react';
|
|
5
|
+
// helper data
|
|
6
|
+
const obj1 = { id: 1, label: 'obj 1' };
|
|
7
|
+
const obj5 = { id: 5, label: 'obj 5' };
|
|
8
|
+
const content = [obj1, obj5];
|
|
9
|
+
const searchByQuery = vi.fn(() => Promise.resolve({
|
|
10
|
+
content,
|
|
11
|
+
totalElements: 2,
|
|
12
|
+
totalPages: 1,
|
|
13
|
+
number: 0,
|
|
14
|
+
size: 5,
|
|
15
|
+
sort: []
|
|
16
|
+
}));
|
|
17
|
+
const searchById = vi.fn((id) => Promise.resolve(content.find((item) => item.id === id)));
|
|
18
|
+
const noop = () => { };
|
|
19
|
+
describe('SelectWithSearchAsync.js', () => {
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
searchByQuery.mockClear();
|
|
22
|
+
searchById.mockClear();
|
|
23
|
+
});
|
|
24
|
+
it(`should fetch initial value`, async () => {
|
|
25
|
+
render(React.createElement(SelectWithSearchAsync, { value: 5, onChange: noop, valueKey: "id", labelKey: "label", searchByQuery: searchByQuery, searchById: searchById }));
|
|
26
|
+
await waitFor(() => {
|
|
27
|
+
expect(searchById).toHaveBeenCalledTimes(1);
|
|
28
|
+
expect(searchById).toHaveBeenCalledWith(5);
|
|
29
|
+
});
|
|
30
|
+
await waitFor(() => {
|
|
31
|
+
expect(screen.queryByText(obj5.label)).toBeInTheDocument();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
it(`should fetch and display current value's label if the values is changed from outside`, async () => {
|
|
35
|
+
const { rerender } = render(React.createElement(SelectWithSearchAsync, { value: 5, onChange: noop, valueKey: "id", labelKey: "label", searchByQuery: searchByQuery, searchById: searchById }));
|
|
36
|
+
await waitFor(() => {
|
|
37
|
+
expect(screen.queryByText(obj5.label)).toBeInTheDocument();
|
|
38
|
+
});
|
|
39
|
+
rerender(React.createElement(SelectWithSearchAsync, { value: 1, onChange: noop, valueKey: "id", labelKey: "label", searchByQuery: searchByQuery, searchById: searchById }));
|
|
40
|
+
await waitFor(() => {
|
|
41
|
+
expect(screen.queryByText(obj1.label)).toBeInTheDocument();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RouteComponentProps } from 'react-router-dom';
|
|
3
|
+
import { TranslationDescriptor } from '../../types/i18n';
|
|
4
|
+
declare type LocationShape = RouteComponentProps['location'];
|
|
5
|
+
export declare type Props = {
|
|
6
|
+
to: string | LocationShape;
|
|
7
|
+
/** a title tooltip */
|
|
8
|
+
title?: TranslationDescriptor;
|
|
9
|
+
/** a keyboard shortcut that activates the link */
|
|
10
|
+
keyboardShortcut?: string;
|
|
11
|
+
/**
|
|
12
|
+
* a function called before the link is activated, should return a promise that either
|
|
13
|
+
* - rejects: to abort the navigation
|
|
14
|
+
* - resolves: to continue the navigation with
|
|
15
|
+
* - resolves with a new location: to continue the navigation with a new path
|
|
16
|
+
* */
|
|
17
|
+
confirm?: () => Promise<(string | null | undefined) | (LocationShape | null | undefined)>;
|
|
18
|
+
/** @ignore */
|
|
19
|
+
children?: any;
|
|
20
|
+
/** @ignore */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** @ignore */
|
|
23
|
+
'data-testid'?: string;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* RouteLink enables the possibility to add new links to existing routes.
|
|
27
|
+
* Those routes can also be accessed via `keyboardShortcut`
|
|
28
|
+
*/
|
|
29
|
+
export default function RouteLink({ to, confirm, className, title, children, keyboardShortcut, ...otherProps }: Props): React.JSX.Element;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=RouteLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouteLink.d.ts","sourceRoot":"","sources":["../../../../../src/components/link/RouteLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAC,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,aAAK,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAKrD,oBAAY,KAAK,GAAG;IACnB,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAE3B,sBAAsB;IACtB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;SAKK;IACL,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAE1F,cAAc;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,UAAU,EAAC,EAAE,KAAK,qBAkElH"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* eslint no-unused-vars: 0 */
|
|
2
|
+
import React, { useCallback, useEffect } from 'react';
|
|
3
|
+
import { useTranslation } from '../../i18n';
|
|
4
|
+
import { useHistory } from 'react-router-dom';
|
|
5
|
+
const isModifiedEvent = (event) => !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
|
|
6
|
+
/**
|
|
7
|
+
* RouteLink enables the possibility to add new links to existing routes.
|
|
8
|
+
* Those routes can also be accessed via `keyboardShortcut`
|
|
9
|
+
*/
|
|
10
|
+
export default function RouteLink({ to, confirm, className, title, children, keyboardShortcut, ...otherProps }) {
|
|
11
|
+
const history = useHistory();
|
|
12
|
+
const { t } = useTranslation();
|
|
13
|
+
const pushRoute = useCallback(() => {
|
|
14
|
+
if (confirm) {
|
|
15
|
+
confirm()
|
|
16
|
+
.then((location) => history.push(location || to))
|
|
17
|
+
.catch(() => {
|
|
18
|
+
// Exception means that the user didn't confirm, we don't need to react for that.
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
history.push(to);
|
|
23
|
+
}
|
|
24
|
+
}, [confirm, history, to]);
|
|
25
|
+
const handleKeyEvent = useCallback((event) => {
|
|
26
|
+
if (keyboardShortcut &&
|
|
27
|
+
event.key === keyboardShortcut &&
|
|
28
|
+
!isModifiedEvent(event) && // @ts-ignore EventTarget is a Node and has a tagName
|
|
29
|
+
event.target.tagName && // @ts-ignore EventTarget is a Node and has a tagName
|
|
30
|
+
!['INPUT', 'SELECT', 'TEXTAREA'].includes(event.target.tagName)) {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
pushRoute();
|
|
33
|
+
}
|
|
34
|
+
}, [keyboardShortcut, pushRoute]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (keyboardShortcut) {
|
|
37
|
+
window.addEventListener('keydown', handleKeyEvent);
|
|
38
|
+
return () => {
|
|
39
|
+
window.removeEventListener('keydown', handleKeyEvent);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}, [keyboardShortcut, handleKeyEvent]);
|
|
43
|
+
const handleClickEvent = (event) => {
|
|
44
|
+
if (event.button === 0 && !isModifiedEvent(event)) {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
pushRoute();
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const href = history.createHref(typeof to === 'string' ? { pathname: to } : to);
|
|
50
|
+
return (React.createElement("a", { href: href, onClick: handleClickEvent, className: `di route-link ${className || ''}`, title: title
|
|
51
|
+
? t(title.id, {
|
|
52
|
+
defaultValue: title.defaultValue
|
|
53
|
+
})
|
|
54
|
+
: undefined, ...otherProps }, children));
|
|
55
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Placement, Modifier } from '@popperjs/core';
|
|
3
|
+
export declare type Props = {
|
|
4
|
+
/** Enabler for the Multimenu */
|
|
5
|
+
menuButton: React.ReactNode;
|
|
6
|
+
/** (Optional) if set, sets the direction in which the MultiMenu should open */
|
|
7
|
+
direction?: Placement;
|
|
8
|
+
/** Should contain several <MultiMenuItem/> elements */
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
/** (Optional) sets additional (css) classes */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** (Optional) https://popper.js.org/popper-documentation.html#modifiers..preventOverflow */
|
|
13
|
+
popperModifiers?: Modifier<any, any>[];
|
|
14
|
+
};
|
|
15
|
+
declare type State = {
|
|
16
|
+
contentVisible: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* MultiMenu enables a toggleable menu to either show more content and further functionality.
|
|
20
|
+
*/
|
|
21
|
+
export default class MultiMenu extends React.Component<Props, State> {
|
|
22
|
+
state: State;
|
|
23
|
+
toggleMenu: () => void;
|
|
24
|
+
render(): React.JSX.Element;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=MultiMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/multiMenu/MultiMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAMnD,oBAAY,KAAK,GAAG;IACnB,gCAAgC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CACvC,CAAC;AAEF,aAAK,KAAK,GAAG;IACZ,cAAc,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACnE,KAAK,EAAE,KAAK,CAEV;IAEF,UAAU,EAAE,MAAM,IAAI,CAIpB;IAEF,MAAM;CA6BN"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Popup } from '@deviceinsight/ng-ui-basic-components';
|
|
3
|
+
import Context from './components/MultiMenuContext';
|
|
4
|
+
/**
|
|
5
|
+
* MultiMenu enables a toggleable menu to either show more content and further functionality.
|
|
6
|
+
*/
|
|
7
|
+
export default class MultiMenu extends React.Component {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.state = {
|
|
11
|
+
contentVisible: false
|
|
12
|
+
};
|
|
13
|
+
this.toggleMenu = () => {
|
|
14
|
+
this.setState((prevState) => ({
|
|
15
|
+
contentVisible: !prevState.contentVisible
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
const { contentVisible } = this.state;
|
|
21
|
+
const { menuButton, children, direction, className, popperModifiers } = this.props;
|
|
22
|
+
return (React.createElement("span", null,
|
|
23
|
+
React.createElement(Popup, { active: contentVisible, onHide: this.toggleMenu, handler: menuButton, direction: direction, className: className ? className : '', modifiers: popperModifiers, onHandlerClick: this.toggleMenu },
|
|
24
|
+
React.createElement("div", { className: "di multimenu" },
|
|
25
|
+
React.createElement("div", { className: `drop ${direction ? direction : 'bottom'} ${contentVisible ? 'show' : ''}` },
|
|
26
|
+
React.createElement(Context.Provider, { value: {
|
|
27
|
+
toggleMenu: this.toggleMenu
|
|
28
|
+
} }, children))))));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiMenuContext.d.ts","sourceRoot":"","sources":["../../../../../../src/components/multiMenu/components/MultiMenuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,aAAK,WAAW,GAAG;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAE/C,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|