ish-ui 1.0.19 → 1.0.21
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/actions/FieldProcessing.d.ts +10 -0
- package/dist/actions/FieldProcessing.js +17 -0
- package/dist/actions/index.d.ts +1 -0
- package/dist/actions/index.js +8 -0
- package/dist/appBar/AppBarHelpMenu.d.ts +3 -0
- package/dist/appBar/AppBarHelpMenu.js +77 -0
- package/dist/appBar/index.d.ts +2 -0
- package/dist/appBar/index.js +9 -0
- package/dist/buttons/AddButton.d.ts +14 -0
- package/dist/buttons/AddButton.js +9 -0
- package/dist/buttons/TimetableButton.d.ts +3 -0
- package/dist/buttons/TimetableButton.js +12 -0
- package/dist/buttons/index.d.ts +4 -0
- package/dist/buttons/index.js +11 -0
- package/dist/colorPicker/ColorPicker.d.ts +4 -0
- package/dist/colorPicker/ColorPicker.js +138 -0
- package/dist/colorPicker/index.d.ts +2 -0
- package/dist/colorPicker/index.js +9 -0
- package/dist/dialog/BrowserWarning.d.ts +3 -0
- package/dist/dialog/BrowserWarning.js +16 -0
- package/dist/dialog/confirm/ConfirmBase.d.ts +7 -0
- package/dist/dialog/confirm/ConfirmBase.js +29 -0
- package/dist/dialog/index.d.ts +5 -0
- package/dist/dialog/index.js +12 -0
- package/dist/dialog/message/Message.d.ts +3 -0
- package/dist/dialog/message/Message.js +91 -0
- package/dist/documents/DocumentIconsChooser.d.ts +3 -0
- package/dist/documents/DocumentIconsChooser.js +51 -0
- package/dist/documents/index.d.ts +3 -0
- package/dist/documents/index.js +10 -0
- package/dist/documents/utils/index.d.ts +7 -0
- package/dist/documents/utils/index.js +61 -0
- package/dist/dynamicSizeList/DynamicSizeList.d.ts +17 -0
- package/dist/dynamicSizeList/DynamicSizeList.js +167 -0
- package/dist/dynamicSizeList/index.d.ts +2 -0
- package/dist/dynamicSizeList/index.js +9 -0
- package/dist/fieldMessage/ErrorMessage.d.ts +8 -0
- package/dist/fieldMessage/ErrorMessage.js +14 -0
- package/dist/fieldMessage/WarningMessage.d.ts +8 -0
- package/dist/fieldMessage/WarningMessage.js +14 -0
- package/dist/fieldMessage/index.d.ts +6 -0
- package/dist/fieldMessage/index.js +13 -0
- package/dist/fieldMessage/styles.d.ts +3 -0
- package/dist/fieldMessage/styles.js +18 -0
- package/dist/fileUploader/FileUploaderDialog.d.ts +15 -0
- package/dist/fileUploader/FileUploaderDialog.js +99 -0
- package/dist/fileUploader/index.d.ts +2 -0
- package/dist/fileUploader/index.js +9 -0
- package/dist/formFields/CheckboxField.d.ts +7 -0
- package/dist/formFields/CheckboxField.js +67 -0
- package/dist/formFields/CodeEditorField.d.ts +6 -0
- package/dist/formFields/CodeEditorField.js +69 -0
- package/dist/formFields/ColoredCheckBox.d.ts +3 -0
- package/dist/formFields/ColoredCheckBox.js +41 -0
- package/dist/formFields/DateTimeField.d.ts +2 -0
- package/dist/formFields/DateTimeField.js +27 -0
- package/dist/formFields/EditInPlaceDateTimeField.d.ts +10 -0
- package/dist/formFields/EditInPlaceDateTimeField.js +188 -0
- package/dist/formFields/EditInPlaceDurationField.d.ts +4 -0
- package/dist/formFields/EditInPlaceDurationField.js +63 -0
- package/dist/formFields/EditInPlaceField.d.ts +10 -0
- package/dist/formFields/EditInPlaceField.js +58 -0
- package/dist/formFields/EditInPlaceFieldBase.d.ts +28 -0
- package/dist/formFields/EditInPlaceFieldBase.js +123 -0
- package/dist/formFields/EditInPlaceFileField.d.ts +7 -0
- package/dist/formFields/EditInPlaceFileField.js +60 -0
- package/dist/formFields/EditInPlaceMoneyField.d.ts +9 -0
- package/dist/formFields/EditInPlaceMoneyField.js +37 -0
- package/dist/formFields/EditInPlacePhoneField.d.ts +4 -0
- package/dist/formFields/EditInPlacePhoneField.js +69 -0
- package/dist/formFields/EditInPlaceSearchSelect.d.ts +4 -0
- package/dist/formFields/EditInPlaceSearchSelect.js +321 -0
- package/dist/formFields/FieldAdornments.d.ts +13 -0
- package/dist/formFields/FieldAdornments.js +27 -0
- package/dist/formFields/FilePreview.d.ts +17 -0
- package/dist/formFields/FilePreview.js +77 -0
- package/dist/formFields/FormRadioButtons.d.ts +3 -0
- package/dist/formFields/FormRadioButtons.js +27 -0
- package/dist/formFields/SelectCustomComponents.d.ts +5 -0
- package/dist/formFields/SelectCustomComponents.js +182 -0
- package/dist/formFields/Switch.d.ts +7 -0
- package/dist/formFields/Switch.js +116 -0
- package/dist/formFields/TextField.d.ts +6 -0
- package/dist/formFields/TextField.js +42 -0
- package/dist/formFields/UneditableBase.d.ts +17 -0
- package/dist/formFields/UneditableBase.js +48 -0
- package/dist/formFields/index.d.ts +31 -0
- package/dist/formFields/index.js +38 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +25 -0
- package/dist/layout/InfoPill.d.ts +7 -0
- package/dist/layout/InfoPill.js +26 -0
- package/dist/layout/index.d.ts +4 -0
- package/dist/layout/index.js +11 -0
- package/dist/layout/resizable/ResizableWrapper.d.ts +14 -0
- package/dist/layout/resizable/ResizableWrapper.js +42 -0
- package/dist/markdownEditor/HtmlEditor.d.ts +15 -0
- package/dist/markdownEditor/HtmlEditor.js +18 -0
- package/dist/markdownEditor/WysiwygEditor.d.ts +8 -0
- package/dist/markdownEditor/WysiwygEditor.js +98 -0
- package/dist/markdownEditor/index.d.ts +5 -0
- package/dist/markdownEditor/index.js +12 -0
- package/dist/markdownEditor/utils/index.d.ts +9 -0
- package/dist/markdownEditor/utils/index.js +38 -0
- package/dist/model/AppBar.d.ts +11 -0
- package/dist/model/AppBar.js +8 -0
- package/dist/model/CommomObjects.d.ts +5 -0
- package/dist/model/CommomObjects.js +1 -0
- package/dist/model/CommonFunctions.d.ts +8 -0
- package/dist/model/CommonFunctions.js +5 -0
- package/dist/model/Confirm.d.ts +16 -0
- package/dist/model/Confirm.js +8 -0
- package/dist/model/Fields.d.ts +258 -0
- package/dist/model/Fields.js +8 -0
- package/dist/model/NestedEntity.d.ts +9 -0
- package/dist/model/NestedEntity.js +5 -0
- package/dist/model/Theme.d.ts +34 -0
- package/dist/model/Theme.js +18 -0
- package/dist/model/index.d.ts +7 -0
- package/dist/model/index.js +14 -0
- package/dist/styles/GlobalStylesProvider.d.ts +3 -0
- package/dist/styles/GlobalStylesProvider.js +417 -0
- package/dist/styles/StylesProviderCustom.d.ts +3 -0
- package/dist/styles/StylesProviderCustom.js +6 -0
- package/dist/styles/animateStyles.d.ts +3 -0
- package/dist/styles/animateStyles.js +33 -0
- package/dist/styles/bootstrap.d.ts +491 -0
- package/dist/styles/bootstrap.js +496 -0
- package/dist/styles/hooks.d.ts +6 -0
- package/dist/styles/hooks.js +38 -0
- package/dist/styles/index.d.ts +11 -0
- package/dist/styles/index.js +18 -0
- package/dist/styles/makeStyles.d.ts +3 -0
- package/dist/styles/makeStyles.js +9 -0
- package/dist/styles/mixins/common.d.ts +8 -0
- package/dist/styles/mixins/common.js +32 -0
- package/dist/styles/mixins/keyframes.d.ts +3 -0
- package/dist/styles/mixins/keyframes.js +9 -0
- package/dist/styles/mixins/prefixer.d.ts +1 -0
- package/dist/styles/mixins/prefixer.js +23 -0
- package/dist/tagsInput/AddTagMenu.d.ts +12 -0
- package/dist/tagsInput/AddTagMenu.js +36 -0
- package/dist/tagsInput/AddTagMenuItem.d.ts +11 -0
- package/dist/tagsInput/AddTagMenuItem.js +29 -0
- package/dist/tagsInput/TagInputList.d.ts +4 -0
- package/dist/tagsInput/TagInputList.js +273 -0
- package/dist/tagsInput/index.d.ts +6 -0
- package/dist/tagsInput/index.js +6 -0
- package/dist/themes/appTheme.d.ts +4 -0
- package/dist/themes/appTheme.js +322 -0
- package/dist/themes/index.d.ts +2 -0
- package/dist/themes/index.js +9 -0
- package/dist/themes/ishTheme.d.ts +8 -0
- package/dist/themes/ishTheme.js +351 -0
- package/dist/timetable/datePeriodFilter/DayPeriodIcons.d.ts +8 -0
- package/dist/timetable/datePeriodFilter/DayPeriodIcons.js +27 -0
- package/dist/timetable/datePeriodFilter/index.d.ts +1 -0
- package/dist/timetable/datePeriodFilter/index.js +8 -0
- package/dist/timetable/index.d.ts +2 -0
- package/dist/timetable/index.js +9 -0
- package/dist/timetable/miniCalendar/CalendarDay.d.ts +15 -0
- package/dist/timetable/miniCalendar/CalendarDay.js +64 -0
- package/dist/timetable/miniCalendar/CalendarHeader.d.ts +10 -0
- package/dist/timetable/miniCalendar/CalendarHeader.js +22 -0
- package/dist/timetable/miniCalendar/CalendarWeekPanel.d.ts +8 -0
- package/dist/timetable/miniCalendar/CalendarWeekPanel.js +18 -0
- package/dist/timetable/miniCalendar/WeekDay.d.ts +10 -0
- package/dist/timetable/miniCalendar/WeekDay.js +25 -0
- package/dist/timetable/miniCalendar/index.d.ts +8 -0
- package/dist/timetable/miniCalendar/index.js +15 -0
- package/dist/utils/DOM/Links.d.ts +1 -0
- package/dist/utils/DOM/Links.js +12 -0
- package/dist/utils/DOM/getCaretCoordinates.d.ts +6 -0
- package/dist/utils/DOM/getCaretCoordinates.js +109 -0
- package/dist/utils/DOM/getOS.d.ts +2 -0
- package/dist/utils/DOM/getOS.js +32 -0
- package/dist/utils/DOM/index.d.ts +5 -0
- package/dist/utils/DOM/index.js +32 -0
- package/dist/utils/dates/datesNormalizing.d.ts +1 -0
- package/dist/utils/dates/datesNormalizing.js +3 -0
- package/dist/utils/dates/format.d.ts +24 -0
- package/dist/utils/dates/format.js +28 -0
- package/dist/utils/dates/formatRelative.d.ts +1 -0
- package/dist/utils/dates/formatRelative.js +14 -0
- package/dist/utils/dates/formatString.d.ts +2 -0
- package/dist/utils/dates/formatString.js +195 -0
- package/dist/utils/dates/formatTimezone.d.ts +2 -0
- package/dist/utils/dates/formatTimezone.js +35 -0
- package/dist/utils/dates/index.d.ts +6 -0
- package/dist/utils/dates/index.js +13 -0
- package/dist/utils/dates/timetable.d.ts +5 -0
- package/dist/utils/dates/timetable.js +38 -0
- package/dist/utils/events/index.d.ts +2 -0
- package/dist/utils/events/index.js +6 -0
- package/dist/utils/fields/index.d.ts +1 -0
- package/dist/utils/fields/index.js +20 -0
- package/dist/utils/formatting/PhoneMasks.d.ts +304 -0
- package/dist/utils/formatting/PhoneMasks.js +318 -0
- package/dist/utils/formatting/index.d.ts +2 -0
- package/dist/utils/formatting/index.js +10 -0
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/index.js +15 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/numbers/decimalCalculation.d.ts +4 -0
- package/dist/utils/numbers/decimalCalculation.js +21 -0
- package/dist/utils/numbers/index.d.ts +2 -0
- package/dist/utils/numbers/index.js +9 -0
- package/dist/utils/numbers/numbersNormalizing.d.ts +10 -0
- package/dist/utils/numbers/numbersNormalizing.js +44 -0
- package/dist/utils/stubs/index.d.ts +3 -0
- package/dist/utils/stubs/index.js +10 -0
- package/dist/utils/tags/index.d.ts +3 -0
- package/dist/utils/tags/index.js +42 -0
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import 'ace-builds/webpack-resolver';
|
|
3
|
+
import 'ace-builds/src-noconflict/mode-html';
|
|
4
|
+
import 'ace-builds/src-noconflict/mode-textile';
|
|
5
|
+
import 'ace-builds/src-noconflict/theme-tomorrow';
|
|
6
|
+
import 'ace-builds/src-noconflict/ext-language_tools';
|
|
7
|
+
import 'ace-builds/src-noconflict/snippets/html';
|
|
8
|
+
import 'ace-builds/src-noconflict/snippets/textile';
|
|
9
|
+
interface Props {
|
|
10
|
+
value?: string;
|
|
11
|
+
mode?: string;
|
|
12
|
+
onChange?: (html: any) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: React.FunctionComponent<Props>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import AceEditor from 'react-ace';
|
|
3
|
+
import 'ace-builds/webpack-resolver';
|
|
4
|
+
import 'ace-builds/src-noconflict/mode-html';
|
|
5
|
+
import 'ace-builds/src-noconflict/mode-textile';
|
|
6
|
+
import 'ace-builds/src-noconflict/theme-tomorrow';
|
|
7
|
+
import 'ace-builds/src-noconflict/ext-language_tools';
|
|
8
|
+
import 'ace-builds/src-noconflict/snippets/html';
|
|
9
|
+
import 'ace-builds/src-noconflict/snippets/textile';
|
|
10
|
+
const HtmlEditor = props => {
|
|
11
|
+
const { value, onChange, mode = 'html' } = props;
|
|
12
|
+
return (React.createElement(AceEditor, { mode: mode, theme: "tomorrow", fontSize: 14, height: "200px", showGutter: false, width: "100%", wrapEnabled: true, highlightActiveLine: true, enableLiveAutocompletion: mode === 'html', enableBasicAutocompletion: mode === 'html', setOptions: {
|
|
13
|
+
enableSnippets: true,
|
|
14
|
+
showLineNumbers: true,
|
|
15
|
+
tabSize: 2,
|
|
16
|
+
}, editorProps: { $blockScrolling: Infinity }, defaultValue: value, onChange: onChange }));
|
|
17
|
+
};
|
|
18
|
+
export default HtmlEditor;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2022.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
|
|
10
|
+
import EssentialsPlugin from '@ckeditor/ckeditor5-essentials/src/essentials';
|
|
11
|
+
import AutoformatPlugin from '@ckeditor/ckeditor5-autoformat/src/autoformat';
|
|
12
|
+
import SourceEditing from '@ckeditor/ckeditor5-source-editing/src/sourceediting';
|
|
13
|
+
import BoldPlugin from '@ckeditor/ckeditor5-basic-styles/src/bold';
|
|
14
|
+
import ItalicPlugin from '@ckeditor/ckeditor5-basic-styles/src/italic';
|
|
15
|
+
import HeadingPlugin from '@ckeditor/ckeditor5-heading/src/heading';
|
|
16
|
+
import LinkPlugin from '@ckeditor/ckeditor5-link/src/link';
|
|
17
|
+
import ListPlugin from '@ckeditor/ckeditor5-list/src/list';
|
|
18
|
+
import Markdown from '@ckeditor/ckeditor5-markdown-gfm/src/markdown';
|
|
19
|
+
import Table from '@ckeditor/ckeditor5-table/src/table';
|
|
20
|
+
import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar';
|
|
21
|
+
import Image from '@ckeditor/ckeditor5-image/src/image';
|
|
22
|
+
import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage';
|
|
23
|
+
import ImageCaption from '@ckeditor/ckeditor5-image/src/imagecaption';
|
|
24
|
+
import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle';
|
|
25
|
+
import { CKEditor } from '@ckeditor/ckeditor5-react/dist/ckeditor';
|
|
26
|
+
import { createRoot } from 'react-dom/client';
|
|
27
|
+
import CodeIcon from '@mui/icons-material/Code';
|
|
28
|
+
const SourceEditingSwitch = () => (React.createElement("div", { className: "ck_source_edit_custom" },
|
|
29
|
+
React.createElement(CodeIcon, { className: "ck_code_icon_custom" })));
|
|
30
|
+
const config = {
|
|
31
|
+
plugins: [
|
|
32
|
+
Markdown,
|
|
33
|
+
SourceEditing,
|
|
34
|
+
EssentialsPlugin,
|
|
35
|
+
AutoformatPlugin,
|
|
36
|
+
BoldPlugin,
|
|
37
|
+
ItalicPlugin,
|
|
38
|
+
HeadingPlugin,
|
|
39
|
+
LinkPlugin,
|
|
40
|
+
ListPlugin,
|
|
41
|
+
Table,
|
|
42
|
+
TableToolbar,
|
|
43
|
+
Image,
|
|
44
|
+
LinkImage,
|
|
45
|
+
ImageStyle,
|
|
46
|
+
ImageCaption,
|
|
47
|
+
],
|
|
48
|
+
toolbar: [
|
|
49
|
+
'heading',
|
|
50
|
+
'bold',
|
|
51
|
+
'italic',
|
|
52
|
+
'link',
|
|
53
|
+
'bulletedList',
|
|
54
|
+
'numberedList',
|
|
55
|
+
'insertTable',
|
|
56
|
+
'sourceEditing',
|
|
57
|
+
],
|
|
58
|
+
table: {
|
|
59
|
+
defaultHeadings: { rows: 1 },
|
|
60
|
+
contentToolbar: ['tableColumn', 'tableRow']
|
|
61
|
+
},
|
|
62
|
+
heading: {
|
|
63
|
+
options: [
|
|
64
|
+
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
|
|
65
|
+
{
|
|
66
|
+
model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
model: 'heading3', view: 'h3', title: 'Heading 3', class: 'ck-heading_heading3',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
model: 'heading4', view: 'h4', title: 'Heading 4', class: 'ck-heading_heading4',
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
const WysiwygEditor = ({ value, onChange, wysiwygRef }) => {
|
|
81
|
+
const onReady = editor => {
|
|
82
|
+
wysiwygRef.current = editor;
|
|
83
|
+
const sourceEdit = document.querySelector('.ck-source-editing-button');
|
|
84
|
+
sourceEdit.dataset.ckeTooltipText = 'Edit source';
|
|
85
|
+
sourceEdit.dataset.ckeTooltipPosition = 's';
|
|
86
|
+
const root = createRoot(sourceEdit);
|
|
87
|
+
root.render(React.createElement(SourceEditingSwitch, null));
|
|
88
|
+
editor.plugins.get('SourceEditing').on('change:isSourceEditingMode', () => {
|
|
89
|
+
const sourceEdit = document.querySelector('.ck-source-editing-button');
|
|
90
|
+
if (sourceEdit) {
|
|
91
|
+
root.render(React.createElement(SourceEditingSwitch, null));
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
const onChangeHandler = (e, editor) => onChange(editor.getData());
|
|
96
|
+
return (React.createElement(CKEditor, { editor: ClassicEditor, config: config, data: value, onChange: onChangeHandler, onReady: onReady }));
|
|
97
|
+
};
|
|
98
|
+
export default WysiwygEditor;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2023.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
export * from './utils/index';
|
|
9
|
+
export * from './HtmlEditor';
|
|
10
|
+
export * from './WysiwygEditor';
|
|
11
|
+
export { default as HtmlEditor } from './HtmlEditor';
|
|
12
|
+
export { default as WysiwygEditor } from './WysiwygEditor';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ContentMode = 'textile' | 'html' | 'md';
|
|
2
|
+
export declare const CONTENT_MODES: {
|
|
3
|
+
id: ContentMode;
|
|
4
|
+
title: string;
|
|
5
|
+
}[];
|
|
6
|
+
export declare const getContentMarker: (text: any) => any;
|
|
7
|
+
export declare const removeContentMarker: (text: any) => any;
|
|
8
|
+
export declare const addContentMarker: (text: any, contentMode: any) => string;
|
|
9
|
+
export declare const getEditorModeLabel: (mode: ContentMode) => "RICH" | "HTML" | "LEGACY";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2020.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the
|
|
5
|
+
* GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
6
|
+
*
|
|
7
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
8
|
+
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
* See the GNU Affero General Public License for more details.
|
|
10
|
+
*/
|
|
11
|
+
export const CONTENT_MODES = [
|
|
12
|
+
{ id: 'md', title: 'rich text' },
|
|
13
|
+
{ id: 'textile', title: 'legacy' },
|
|
14
|
+
{ id: 'html', title: 'advanced (html)' }
|
|
15
|
+
];
|
|
16
|
+
export const getContentMarker = text => {
|
|
17
|
+
if (!text)
|
|
18
|
+
return CONTENT_MODES[0].id;
|
|
19
|
+
const match = text.match(/\s*{render:"(.*)"}/, '');
|
|
20
|
+
return match && match[1] ? match[1] : CONTENT_MODES[1].id;
|
|
21
|
+
};
|
|
22
|
+
export const removeContentMarker = text => {
|
|
23
|
+
if (!text)
|
|
24
|
+
return text;
|
|
25
|
+
return text.replace(/\s*{render:.*/g, '');
|
|
26
|
+
};
|
|
27
|
+
export const addContentMarker = (text, contentMode) => (`${text}
|
|
28
|
+
{render:"${contentMode}"}`);
|
|
29
|
+
export const getEditorModeLabel = (mode) => {
|
|
30
|
+
switch (mode) {
|
|
31
|
+
case 'md':
|
|
32
|
+
return 'RICH';
|
|
33
|
+
case 'html':
|
|
34
|
+
return 'HTML';
|
|
35
|
+
case 'textile':
|
|
36
|
+
return 'LEGACY';
|
|
37
|
+
}
|
|
38
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AnyArgFunction } from '../model/CommonFunctions';
|
|
3
|
+
export interface AppBarAction {
|
|
4
|
+
action: AnyArgFunction;
|
|
5
|
+
icon: ReactNode;
|
|
6
|
+
tooltip: string;
|
|
7
|
+
confirmText?: string;
|
|
8
|
+
confirmButtonText?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
tooltipError?: boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2023.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type StringArgFunction = (arg: string) => void;
|
|
2
|
+
export type BooleanArgFunction = (arg: boolean) => void;
|
|
3
|
+
export type NumberArgFunction = (arg: number) => void;
|
|
4
|
+
export type HTMLTagArgFunction = (arg: HTMLElement) => void;
|
|
5
|
+
export type DateArgFunction = (arg: Date) => void;
|
|
6
|
+
export type AnyArgFunction<R = void, A = any> = (...args: A[]) => R;
|
|
7
|
+
export type NoArgFunction = () => void;
|
|
8
|
+
export type PromiseReturnFunction = (...args: any[]) => Promise<any>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AnyArgFunction } from '../model/CommonFunctions';
|
|
3
|
+
export interface ConfirmProps {
|
|
4
|
+
onCancel?: AnyArgFunction;
|
|
5
|
+
onConfirm?: AnyArgFunction;
|
|
6
|
+
title?: string;
|
|
7
|
+
confirmMessage?: ReactNode;
|
|
8
|
+
cancelButtonText?: string;
|
|
9
|
+
confirmButtonText?: string;
|
|
10
|
+
onCancelCustom?: AnyArgFunction;
|
|
11
|
+
confirmCustomComponent?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export interface ConfirmState extends ConfirmProps {
|
|
14
|
+
open: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type ShowConfirmCaller = (props: ConfirmProps) => any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2023.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { ChangeEvent, DragEvent, FocusEvent, MutableRefObject, ReactElement, ReactNode } from 'react';
|
|
2
|
+
import { Dispatch } from 'redux';
|
|
3
|
+
import { InputProps } from '@mui/material/Input/Input';
|
|
4
|
+
import { AnyArgFunction } from '../model/CommonFunctions';
|
|
5
|
+
import { ShowConfirmCaller } from '../model/Confirm';
|
|
6
|
+
import { PopperPlacementType } from '@mui/material';
|
|
7
|
+
export type EventHandler<Event> = (event: Event, name?: string) => void;
|
|
8
|
+
export interface EventOrValueHandler<Event> extends EventHandler<Event> {
|
|
9
|
+
(value: any): void;
|
|
10
|
+
}
|
|
11
|
+
export interface TagLike {
|
|
12
|
+
id?: number;
|
|
13
|
+
name?: string;
|
|
14
|
+
color?: string;
|
|
15
|
+
system?: boolean;
|
|
16
|
+
urlPath?: string;
|
|
17
|
+
content?: string;
|
|
18
|
+
weight?: number;
|
|
19
|
+
taggedRecordsCount?: number;
|
|
20
|
+
childrenCount?: number;
|
|
21
|
+
created?: string;
|
|
22
|
+
modified?: string;
|
|
23
|
+
childTags?: TagLike[];
|
|
24
|
+
}
|
|
25
|
+
export interface MenuTag<T> {
|
|
26
|
+
active: boolean;
|
|
27
|
+
tagBody: T;
|
|
28
|
+
children: MenuTag<T>[];
|
|
29
|
+
parent?: MenuTag<T>;
|
|
30
|
+
entity?: string;
|
|
31
|
+
path?: string;
|
|
32
|
+
prefix?: string;
|
|
33
|
+
queryPrefix?: string;
|
|
34
|
+
indeterminate?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface FieldInputProps {
|
|
37
|
+
checked?: boolean | undefined;
|
|
38
|
+
value: any;
|
|
39
|
+
name: string;
|
|
40
|
+
onBlur: EventOrValueHandler<FocusEvent<any>>;
|
|
41
|
+
onChange: EventOrValueHandler<ChangeEvent<any>>;
|
|
42
|
+
onDragStart: EventHandler<DragEvent<any>>;
|
|
43
|
+
onDrop: EventHandler<DragEvent<any>>;
|
|
44
|
+
onFocus: EventHandler<FocusEvent<any>>;
|
|
45
|
+
}
|
|
46
|
+
export interface FieldMetaProps {
|
|
47
|
+
active?: boolean | undefined;
|
|
48
|
+
dispatch: Dispatch<any>;
|
|
49
|
+
error?: any;
|
|
50
|
+
invalid: boolean;
|
|
51
|
+
touched: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface FieldClasses {
|
|
54
|
+
input?: string;
|
|
55
|
+
text?: string;
|
|
56
|
+
underline?: string;
|
|
57
|
+
label?: string;
|
|
58
|
+
selectMenu?: string;
|
|
59
|
+
loading?: string;
|
|
60
|
+
listbox?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface SelectItemRendererProps<E = any> {
|
|
63
|
+
content: string;
|
|
64
|
+
data: E;
|
|
65
|
+
parentProps: any;
|
|
66
|
+
search?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface ColoredCheckboxFieldProps<IP, MP> {
|
|
69
|
+
input?: Partial<Omit<IP, 'onBlur'>> & {
|
|
70
|
+
onBlur?: AnyArgFunction;
|
|
71
|
+
};
|
|
72
|
+
meta?: Partial<MP>;
|
|
73
|
+
color: string;
|
|
74
|
+
label?: ReactNode;
|
|
75
|
+
className?: string;
|
|
76
|
+
disabled?: boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface EditInPlaceFieldProps<IP, MP> {
|
|
79
|
+
inputRef?: MutableRefObject<any>;
|
|
80
|
+
input?: Partial<Omit<IP, 'onBlur'>> & {
|
|
81
|
+
onBlur?: AnyArgFunction;
|
|
82
|
+
};
|
|
83
|
+
meta?: Partial<MP>;
|
|
84
|
+
InputProps?: Partial<InputProps>;
|
|
85
|
+
label?: ReactNode;
|
|
86
|
+
maxLength?: number;
|
|
87
|
+
disabled?: boolean;
|
|
88
|
+
min?: string;
|
|
89
|
+
max?: string;
|
|
90
|
+
step?: string;
|
|
91
|
+
className?: string;
|
|
92
|
+
defaultValue?: any;
|
|
93
|
+
onKeyPress?: any;
|
|
94
|
+
placeholder?: string;
|
|
95
|
+
warning?: string;
|
|
96
|
+
labelAdornment?: any;
|
|
97
|
+
preformatDisplayValue?: any;
|
|
98
|
+
truncateLines?: number;
|
|
99
|
+
fieldClasses?: FieldClasses;
|
|
100
|
+
rightAligned?: boolean;
|
|
101
|
+
disableInputOffsets?: boolean;
|
|
102
|
+
onKeyDown?: any;
|
|
103
|
+
multiline?: boolean;
|
|
104
|
+
inline?: boolean;
|
|
105
|
+
}
|
|
106
|
+
export interface EditInPlaceDateTimeFieldProps<IP, MP> {
|
|
107
|
+
inputRef?: MutableRefObject<any>;
|
|
108
|
+
input?: Partial<Omit<IP, 'onBlur'>> & {
|
|
109
|
+
onBlur?: AnyArgFunction;
|
|
110
|
+
};
|
|
111
|
+
meta?: Partial<MP>;
|
|
112
|
+
fieldClasses?: FieldClasses;
|
|
113
|
+
onKeyPress?: AnyArgFunction;
|
|
114
|
+
labelAdornment?: ReactNode;
|
|
115
|
+
processActionId?: boolean;
|
|
116
|
+
formatDate?: string;
|
|
117
|
+
formatTime?: string;
|
|
118
|
+
formatDateTime?: string;
|
|
119
|
+
defaultValue?: any;
|
|
120
|
+
timezone?: string;
|
|
121
|
+
label?: ReactNode;
|
|
122
|
+
formatValue?: string;
|
|
123
|
+
className?: string;
|
|
124
|
+
placeholder?: string;
|
|
125
|
+
warning?: string;
|
|
126
|
+
inline?: boolean;
|
|
127
|
+
disabled?: boolean;
|
|
128
|
+
persistValue?: boolean;
|
|
129
|
+
rightAligned?: boolean;
|
|
130
|
+
}
|
|
131
|
+
export interface EditInPlaceSearchSelectFieldProps<IP, MP> {
|
|
132
|
+
inputRef?: MutableRefObject<any>;
|
|
133
|
+
input?: Partial<Omit<IP, 'onBlur'>> & ({
|
|
134
|
+
onBlur?: AnyArgFunction;
|
|
135
|
+
});
|
|
136
|
+
meta?: Partial<MP>;
|
|
137
|
+
items?: any[];
|
|
138
|
+
label?: ReactNode;
|
|
139
|
+
disabled?: boolean;
|
|
140
|
+
className?: string;
|
|
141
|
+
labelAdornment?: any;
|
|
142
|
+
inline?: boolean;
|
|
143
|
+
rightAligned?: boolean;
|
|
144
|
+
loading?: boolean;
|
|
145
|
+
hideLabel?: boolean;
|
|
146
|
+
colors?: any;
|
|
147
|
+
creatable?: boolean;
|
|
148
|
+
endAdornment?: any;
|
|
149
|
+
allowEmpty?: boolean;
|
|
150
|
+
fieldClasses?: FieldClasses;
|
|
151
|
+
selectLabelCondition?: any;
|
|
152
|
+
selectFilterCondition?: any;
|
|
153
|
+
defaultValue?: any;
|
|
154
|
+
rowHeight?: number;
|
|
155
|
+
remoteRowCount?: number;
|
|
156
|
+
loadMoreRows?: AnyArgFunction;
|
|
157
|
+
onCreateOption?: AnyArgFunction;
|
|
158
|
+
itemRenderer?: (content: any, data: any, search: any, parentProps: any) => ReactElement;
|
|
159
|
+
valueRenderer?: (content: any, data: any, search: any, parentProps: any) => ReactElement;
|
|
160
|
+
onInputChange?: AnyArgFunction;
|
|
161
|
+
onClearRows?: AnyArgFunction;
|
|
162
|
+
onInnerValueChange?: AnyArgFunction;
|
|
163
|
+
selectValueMark?: string;
|
|
164
|
+
remoteData?: boolean;
|
|
165
|
+
disableUnderline?: boolean;
|
|
166
|
+
createLabel?: string;
|
|
167
|
+
selectLabelMark?: string;
|
|
168
|
+
returnType?: 'object' | 'string';
|
|
169
|
+
alwaysDisplayDefault?: boolean;
|
|
170
|
+
popperAnchor?: any;
|
|
171
|
+
placeholder?: string;
|
|
172
|
+
sort?: ((a: any, b: any) => number) | boolean;
|
|
173
|
+
sortPropKey?: string;
|
|
174
|
+
hasError?: boolean;
|
|
175
|
+
multiple?: boolean;
|
|
176
|
+
hideMenuOnNoResults?: boolean;
|
|
177
|
+
hideEditIcon?: boolean;
|
|
178
|
+
warning?: string;
|
|
179
|
+
categoryKey?: string;
|
|
180
|
+
selectAdornment?: {
|
|
181
|
+
position: 'start' | 'end';
|
|
182
|
+
content: ReactElement;
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
export interface CodeFieldProps<IP, MP> {
|
|
186
|
+
input?: Partial<Omit<IP, 'onBlur'>> & {
|
|
187
|
+
onBlur?: AnyArgFunction;
|
|
188
|
+
};
|
|
189
|
+
meta?: Partial<MP>;
|
|
190
|
+
classes?: any;
|
|
191
|
+
className?: string;
|
|
192
|
+
errorMessage?: string;
|
|
193
|
+
disabled?: boolean;
|
|
194
|
+
onFocus?: AnyArgFunction;
|
|
195
|
+
}
|
|
196
|
+
export interface FormSwitchProps<IP> {
|
|
197
|
+
input?: Partial<Omit<IP, 'onBlur'>> & {
|
|
198
|
+
onBlur?: AnyArgFunction;
|
|
199
|
+
};
|
|
200
|
+
color?: string;
|
|
201
|
+
disabled?: boolean;
|
|
202
|
+
stringValue?: boolean;
|
|
203
|
+
label?: ReactNode;
|
|
204
|
+
className?: string;
|
|
205
|
+
inline?: boolean;
|
|
206
|
+
onChangeHandler?: AnyArgFunction;
|
|
207
|
+
onClick?: AnyArgFunction;
|
|
208
|
+
}
|
|
209
|
+
export interface CheckboxFieldProps<IP> {
|
|
210
|
+
input?: Partial<Omit<IP, 'onBlur'>> & {
|
|
211
|
+
onBlur?: AnyArgFunction;
|
|
212
|
+
};
|
|
213
|
+
color?: string;
|
|
214
|
+
disabled?: boolean;
|
|
215
|
+
stringValue?: boolean;
|
|
216
|
+
className?: string;
|
|
217
|
+
uncheckedClass?: string;
|
|
218
|
+
onChangeHandler?: AnyArgFunction;
|
|
219
|
+
stopPropagation?: boolean;
|
|
220
|
+
}
|
|
221
|
+
export interface TagsFieldProps<T, IP, MP> extends EditInPlaceFieldProps<IP, MP> {
|
|
222
|
+
tags: T[];
|
|
223
|
+
showConfirm?: ShowConfirmCaller;
|
|
224
|
+
validateEntity?: string;
|
|
225
|
+
allowParentSelect?: boolean;
|
|
226
|
+
}
|
|
227
|
+
export interface FormFieldBaseProps {
|
|
228
|
+
required?: boolean;
|
|
229
|
+
format?: AnyArgFunction;
|
|
230
|
+
onClick?: AnyArgFunction;
|
|
231
|
+
debounced?: boolean;
|
|
232
|
+
}
|
|
233
|
+
export interface ColorPickerWrapperProps {
|
|
234
|
+
input?: Partial<FieldInputProps>;
|
|
235
|
+
placement?: PopperPlacementType;
|
|
236
|
+
width?: number;
|
|
237
|
+
}
|
|
238
|
+
export type FormFieldProps = ({
|
|
239
|
+
type: 'phone' | 'duration' | 'text' | 'multilineText' | 'password' | 'number' | 'file' | 'money';
|
|
240
|
+
} & FormFieldBaseProps & EditInPlaceFieldProps<FieldInputProps, FieldMetaProps>) | ({
|
|
241
|
+
type: 'select';
|
|
242
|
+
} & FormFieldBaseProps & EditInPlaceSearchSelectFieldProps<FieldInputProps, FieldMetaProps>) | ({
|
|
243
|
+
type: 'date' | 'time' | 'dateTime';
|
|
244
|
+
} & FormFieldBaseProps & EditInPlaceDateTimeFieldProps<FieldInputProps, FieldMetaProps>) | ({
|
|
245
|
+
type: 'code';
|
|
246
|
+
} & FormFieldBaseProps & CodeFieldProps<FieldInputProps, FieldMetaProps>) | ({
|
|
247
|
+
type: 'coloredCheckbox';
|
|
248
|
+
} & FormFieldBaseProps & ColoredCheckboxFieldProps<FieldInputProps, FieldMetaProps>) | ({
|
|
249
|
+
type: 'switch';
|
|
250
|
+
} & FormFieldBaseProps & FormSwitchProps<FieldInputProps>) | ({
|
|
251
|
+
type: 'checkbox';
|
|
252
|
+
} & FormFieldBaseProps & CheckboxFieldProps<FieldInputProps>) | ({
|
|
253
|
+
type: 'tags';
|
|
254
|
+
} & FormFieldBaseProps & TagsFieldProps<TagLike, FieldInputProps, FieldMetaProps>) | ({
|
|
255
|
+
type: 'color';
|
|
256
|
+
} & ColorPickerWrapperProps) | ({
|
|
257
|
+
type: 'stub';
|
|
258
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2023.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Theme, Palette, SimplePaletteColorOptions, TypeText } from '@mui/material';
|
|
2
|
+
import { StringKeyObject } from '../model/CommomObjects';
|
|
3
|
+
declare enum ThemeValuesEnum {
|
|
4
|
+
'default' = 0,
|
|
5
|
+
'dark' = 1,
|
|
6
|
+
'monochrome' = 2,
|
|
7
|
+
'highcontrast' = 3
|
|
8
|
+
}
|
|
9
|
+
export type ThemeValues = keyof typeof ThemeValuesEnum;
|
|
10
|
+
export declare const DefaultThemeKey: ThemeValues;
|
|
11
|
+
export declare const DarkThemeKey: ThemeValues;
|
|
12
|
+
export declare const MonochromeThemeKey: ThemeValues;
|
|
13
|
+
export declare const HighcontrastThemeKey: ThemeValues;
|
|
14
|
+
type ColorGetter = string | ((props: {}) => string);
|
|
15
|
+
type TextExtended = TypeText & {
|
|
16
|
+
primaryEditable: string;
|
|
17
|
+
hint: string;
|
|
18
|
+
grey: string;
|
|
19
|
+
};
|
|
20
|
+
export interface AppTheme extends Theme {
|
|
21
|
+
heading: StringKeyObject<ColorGetter>;
|
|
22
|
+
blog: StringKeyObject<StringKeyObject<ColorGetter>>;
|
|
23
|
+
share: StringKeyObject<StringKeyObject<ColorGetter>>;
|
|
24
|
+
statistics: StringKeyObject<StringKeyObject<ColorGetter>>;
|
|
25
|
+
appBar: StringKeyObject<StringKeyObject<ColorGetter>>;
|
|
26
|
+
appBarButton: StringKeyObject<StringKeyObject<ColorGetter>>;
|
|
27
|
+
tabList: StringKeyObject<StringKeyObject<ColorGetter>>;
|
|
28
|
+
table: StringKeyObject<SimplePaletteColorOptions>;
|
|
29
|
+
palette: Palette & {
|
|
30
|
+
text: TextExtended;
|
|
31
|
+
};
|
|
32
|
+
addButtonColor: StringKeyObject<ColorGetter>;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2023.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
var ThemeValuesEnum;
|
|
9
|
+
(function (ThemeValuesEnum) {
|
|
10
|
+
ThemeValuesEnum[ThemeValuesEnum["default"] = 0] = "default";
|
|
11
|
+
ThemeValuesEnum[ThemeValuesEnum["dark"] = 1] = "dark";
|
|
12
|
+
ThemeValuesEnum[ThemeValuesEnum["monochrome"] = 2] = "monochrome";
|
|
13
|
+
ThemeValuesEnum[ThemeValuesEnum["highcontrast"] = 3] = "highcontrast";
|
|
14
|
+
})(ThemeValuesEnum || (ThemeValuesEnum = {}));
|
|
15
|
+
export const DefaultThemeKey = 'default';
|
|
16
|
+
export const DarkThemeKey = 'dark';
|
|
17
|
+
export const MonochromeThemeKey = 'monochrome';
|
|
18
|
+
export const HighcontrastThemeKey = 'highcontrast';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright ish group pty ltd 2023.
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
5
|
+
*
|
|
6
|
+
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
7
|
+
*/
|
|
8
|
+
export * from './AppBar';
|
|
9
|
+
export * from './Confirm';
|
|
10
|
+
export * from './Fields';
|
|
11
|
+
export * from './NestedEntity';
|
|
12
|
+
export * from './Theme';
|
|
13
|
+
export * from './CommomObjects';
|
|
14
|
+
export * from './CommonFunctions';
|