nurseitaly-components 0.0.1
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/README.md +93 -0
- package/dist/basic/Avatar/Avatar.d.ts +12 -0
- package/dist/basic/Avatar/Avatar.js +24 -0
- package/dist/basic/Avatar/avatar.png +0 -0
- package/dist/basic/Avatar/index.d.ts +2 -0
- package/dist/basic/Avatar/index.js +2 -0
- package/dist/basic/Avatar/styles.scss +80 -0
- package/dist/basic/Badge/Badge.d.ts +13 -0
- package/dist/basic/Badge/Badge.js +17 -0
- package/dist/basic/Badge/index.d.ts +2 -0
- package/dist/basic/Badge/index.js +2 -0
- package/dist/basic/Badge/styles.scss +68 -0
- package/dist/basic/Button/Button.d.ts +25 -0
- package/dist/basic/Button/Button.js +42 -0
- package/dist/basic/Button/index.d.ts +2 -0
- package/dist/basic/Button/index.js +2 -0
- package/dist/basic/Button/logo-ud.png +0 -0
- package/dist/basic/Button/styles.scss +248 -0
- package/dist/basic/CheckboxField/CheckboxField.d.ts +10 -0
- package/dist/basic/CheckboxField/CheckboxField.js +9 -0
- package/dist/basic/CheckboxField/index.d.ts +2 -0
- package/dist/basic/CheckboxField/index.js +2 -0
- package/dist/basic/CheckboxField/style.scss +4 -0
- package/dist/basic/DatePickerField/DatePickerField.d.ts +26 -0
- package/dist/basic/DatePickerField/DatePickerField.js +90 -0
- package/dist/basic/DatePickerField/DatePickerTheme.d.ts +2 -0
- package/dist/basic/DatePickerField/DatePickerTheme.js +59 -0
- package/dist/basic/DatePickerField/index.d.ts +1 -0
- package/dist/basic/DatePickerField/index.js +1 -0
- package/dist/basic/DatePickerField/styles.scss +26 -0
- package/dist/basic/DropdownButton/DropdownButton.d.ts +18 -0
- package/dist/basic/DropdownButton/DropdownButton.js +44 -0
- package/dist/basic/DropdownButton/index.d.ts +2 -0
- package/dist/basic/DropdownButton/index.js +2 -0
- package/dist/basic/DropdownButton/styles.scss +172 -0
- package/dist/basic/DropdownList/DropdownItemList.d.ts +16 -0
- package/dist/basic/DropdownList/DropdownItemList.js +17 -0
- package/dist/basic/DropdownList/DropdownList.d.ts +9 -0
- package/dist/basic/DropdownList/DropdownList.js +10 -0
- package/dist/basic/DropdownList/index.d.ts +2 -0
- package/dist/basic/DropdownList/index.js +2 -0
- package/dist/basic/DropdownList/styles.scss +56 -0
- package/dist/basic/DropdownMenu/DropdownMenu.d.ts +13 -0
- package/dist/basic/DropdownMenu/DropdownMenu.js +12 -0
- package/dist/basic/DropdownMenu/index.d.ts +2 -0
- package/dist/basic/DropdownMenu/index.js +2 -0
- package/dist/basic/DropdownMenu/styles.scss +54 -0
- package/dist/basic/Dummy/Dummy.d.ts +9 -0
- package/dist/basic/Dummy/Dummy.js +8 -0
- package/dist/basic/Dummy/index.d.ts +2 -0
- package/dist/basic/Dummy/index.js +2 -0
- package/dist/basic/Dummy/styles.scss +4 -0
- package/dist/basic/FilterDropdown/FilterDropdown.d.ts +16 -0
- package/dist/basic/FilterDropdown/FilterDropdown.js +56 -0
- package/dist/basic/FilterDropdown/index.d.ts +2 -0
- package/dist/basic/FilterDropdown/index.js +2 -0
- package/dist/basic/FilterDropdown/styles.scss +97 -0
- package/dist/basic/Icon/Icon.d.ts +15 -0
- package/dist/basic/Icon/Icon.js +20 -0
- package/dist/basic/Icon/IconSizes.d.ts +10 -0
- package/dist/basic/Icon/IconSizes.js +11 -0
- package/dist/basic/Icon/index.d.ts +2 -0
- package/dist/basic/Icon/index.js +2 -0
- package/dist/basic/Icon/styles.scss +249 -0
- package/dist/basic/IconButton/IconButton.d.ts +24 -0
- package/dist/basic/IconButton/IconButton.js +42 -0
- package/dist/basic/IconButton/index.d.ts +2 -0
- package/dist/basic/IconButton/index.js +2 -0
- package/dist/basic/IconButton/styles.scss +192 -0
- package/dist/basic/Pill/Pill.d.ts +17 -0
- package/dist/basic/Pill/Pill.js +22 -0
- package/dist/basic/Pill/index.d.ts +2 -0
- package/dist/basic/Pill/index.js +2 -0
- package/dist/basic/Pill/styles.scss +70 -0
- package/dist/basic/SelectField/AsyncSelectField.d.ts +21 -0
- package/dist/basic/SelectField/AsyncSelectField.js +131 -0
- package/dist/basic/SelectField/SelectAutocompleteTheme.d.ts +2 -0
- package/dist/basic/SelectField/SelectAutocompleteTheme.js +78 -0
- package/dist/basic/SelectField/SelectField.d.ts +27 -0
- package/dist/basic/SelectField/SelectField.js +81 -0
- package/dist/basic/SelectField/SelectFieldTheme.d.ts +7 -0
- package/dist/basic/SelectField/SelectFieldTheme.js +57 -0
- package/dist/basic/SelectField/SelectMultipleField.d.ts +28 -0
- package/dist/basic/SelectField/SelectMultipleField.js +98 -0
- package/dist/basic/SelectField/index.d.ts +2 -0
- package/dist/basic/SelectField/index.js +2 -0
- package/dist/basic/SelectField/styles.scss +38 -0
- package/dist/basic/Spinner/Spinner.d.ts +14 -0
- package/dist/basic/Spinner/Spinner.js +37 -0
- package/dist/basic/Spinner/index.d.ts +2 -0
- package/dist/basic/Spinner/index.js +2 -0
- package/dist/basic/Spinner/styles.scss +37 -0
- package/dist/basic/SwitchField/SwitchField.d.ts +11 -0
- package/dist/basic/SwitchField/SwitchField.js +13 -0
- package/dist/basic/SwitchField/index.d.ts +2 -0
- package/dist/basic/SwitchField/index.js +2 -0
- package/dist/basic/SwitchField/style.scss +4 -0
- package/dist/basic/Tabs/Tabs.d.ts +17 -0
- package/dist/basic/Tabs/Tabs.js +9 -0
- package/dist/basic/Tabs/index.d.ts +2 -0
- package/dist/basic/Tabs/index.js +2 -0
- package/dist/basic/Tabs/styles.scss +51 -0
- package/dist/basic/Tag/Tag.d.ts +18 -0
- package/dist/basic/Tag/Tag.js +30 -0
- package/dist/basic/Tag/index.d.ts +2 -0
- package/dist/basic/Tag/index.js +2 -0
- package/dist/basic/Tag/styles.scss +101 -0
- package/dist/basic/TextField/TextField.d.ts +34 -0
- package/dist/basic/TextField/TextField.js +164 -0
- package/dist/basic/TextField/TextFieldTheme.d.ts +6 -0
- package/dist/basic/TextField/TextFieldTheme.js +70 -0
- package/dist/basic/TextField/index.d.ts +2 -0
- package/dist/basic/TextField/index.js +2 -0
- package/dist/basic/TextField/inputRefManager.d.ts +4 -0
- package/dist/basic/TextField/inputRefManager.js +18 -0
- package/dist/basic/TextField/styles.scss +44 -0
- package/dist/basic/Tooltip/Tooltip.d.ts +26 -0
- package/dist/basic/Tooltip/Tooltip.js +37 -0
- package/dist/basic/Tooltip/index.d.ts +2 -0
- package/dist/basic/Tooltip/index.js +2 -0
- package/dist/basic/Tooltip/styles.scss +73 -0
- package/dist/basic/VerticalButton/VerticalButton.d.ts +6 -0
- package/dist/basic/VerticalButton/VerticalButton.js +8 -0
- package/dist/basic/VerticalButton/index.d.ts +2 -0
- package/dist/basic/VerticalButton/index.js +2 -0
- package/dist/basic/VerticalButton/styles.scss +24 -0
- package/dist/basic/fonts/material-symbols-outlined.woff2 +0 -0
- package/dist/basic/fonts/work-sans-latin-ext.woff2 +0 -0
- package/dist/basic/fonts/work-sans-latin.woff2 +0 -0
- package/dist/basic/fonts/work-sans-vietnamese.woff2 +0 -0
- package/dist/basic/fonts.d.ts +1 -0
- package/dist/basic/fonts.js +111 -0
- package/dist/basic/index.d.ts +33 -0
- package/dist/basic/index.js +29 -0
- package/dist/common/AppAnalytics/AppAnalytics.d.ts +1 -0
- package/dist/common/AppAnalytics/AppAnalytics.js +25 -0
- package/dist/common/AppAnalytics/index.d.ts +2 -0
- package/dist/common/AppAnalytics/index.js +2 -0
- package/dist/common/AppCard/AppCard.d.ts +13 -0
- package/dist/common/AppCard/AppCard.js +7 -0
- package/dist/common/AppCard/index.d.ts +2 -0
- package/dist/common/AppCard/index.js +2 -0
- package/dist/common/AppCard/style.scss +33 -0
- package/dist/common/AppClipboard/AppClipboard.d.ts +7 -0
- package/dist/common/AppClipboard/AppClipboard.js +23 -0
- package/dist/common/AppClipboard/index.d.ts +2 -0
- package/dist/common/AppClipboard/index.js +2 -0
- package/dist/common/AppColorpicker/AppColorpicker.d.ts +9 -0
- package/dist/common/AppColorpicker/AppColorpicker.js +22 -0
- package/dist/common/AppColorpicker/index.d.ts +2 -0
- package/dist/common/AppColorpicker/index.js +2 -0
- package/dist/common/AppColorpicker/style.scss +26 -0
- package/dist/common/AppCopyText/AppCopyText.d.ts +11 -0
- package/dist/common/AppCopyText/AppCopyText.js +35 -0
- package/dist/common/AppCopyText/index.d.ts +2 -0
- package/dist/common/AppCopyText/index.js +2 -0
- package/dist/common/AppCopyText/styles.scss +55 -0
- package/dist/common/AppDropzone/AppDropzone.d.ts +19 -0
- package/dist/common/AppDropzone/AppDropzone.js +13 -0
- package/dist/common/AppDropzone/AppDropzoneBody.d.ts +22 -0
- package/dist/common/AppDropzone/AppDropzoneBody.js +74 -0
- package/dist/common/AppDropzone/UploadService.d.ts +6 -0
- package/dist/common/AppDropzone/UploadService.js +18 -0
- package/dist/common/AppDropzone/UploadedFile.d.ts +14 -0
- package/dist/common/AppDropzone/UploadedFile.js +1 -0
- package/dist/common/AppDropzone/index.d.ts +4 -0
- package/dist/common/AppDropzone/index.js +4 -0
- package/dist/common/AppDropzone/style.scss +42 -0
- package/dist/common/AppDropzoneLocal/AppDropzoneBodyLocal.d.ts +15 -0
- package/dist/common/AppDropzoneLocal/AppDropzoneBodyLocal.js +55 -0
- package/dist/common/AppDropzoneLocal/AppDropzoneLocal.d.ts +15 -0
- package/dist/common/AppDropzoneLocal/AppDropzoneLocal.js +13 -0
- package/dist/common/AppDropzoneLocal/UploadedFileLocal.d.ts +5 -0
- package/dist/common/AppDropzoneLocal/UploadedFileLocal.js +1 -0
- package/dist/common/AppDropzoneLocal/index.d.ts +5 -0
- package/dist/common/AppDropzoneLocal/index.js +4 -0
- package/dist/common/AppDropzoneLocal/style.scss +75 -0
- package/dist/common/AppForm/AppForm.d.ts +16 -0
- package/dist/common/AppForm/AppForm.js +67 -0
- package/dist/common/AppForm/AppFormField.d.ts +37 -0
- package/dist/common/AppForm/AppFormField.js +10 -0
- package/dist/common/AppForm/AppFormInfo.d.ts +9 -0
- package/dist/common/AppForm/AppFormInfo.js +45 -0
- package/dist/common/AppForm/FormColorField.d.ts +12 -0
- package/dist/common/AppForm/FormColorField.js +23 -0
- package/dist/common/AppForm/index.d.ts +2 -0
- package/dist/common/AppForm/index.js +2 -0
- package/dist/common/AppForm/style.scss +60 -0
- package/dist/common/AppLoading/AppLoading.d.ts +7 -0
- package/dist/common/AppLoading/AppLoading.js +8 -0
- package/dist/common/AppLoading/index.d.ts +2 -0
- package/dist/common/AppLoading/index.js +2 -0
- package/dist/common/AppLoading/style.scss +5 -0
- package/dist/common/AppModal/AppModal.d.ts +27 -0
- package/dist/common/AppModal/AppModal.js +42 -0
- package/dist/common/AppModal/AppModalConfirm.d.ts +15 -0
- package/dist/common/AppModal/AppModalConfirm.js +37 -0
- package/dist/common/AppModal/AppModalRemove.d.ts +22 -0
- package/dist/common/AppModal/AppModalRemove.js +35 -0
- package/dist/common/AppModal/AppModalUtils.d.ts +2 -0
- package/dist/common/AppModal/AppModalUtils.js +17 -0
- package/dist/common/AppModal/index.d.ts +2 -0
- package/dist/common/AppModal/index.js +2 -0
- package/dist/common/AppModal/style.scss +100 -0
- package/dist/common/AppPagination/AppPagination.d.ts +12 -0
- package/dist/common/AppPagination/AppPagination.js +212 -0
- package/dist/common/AppPagination/index.d.ts +2 -0
- package/dist/common/AppPagination/index.js +2 -0
- package/dist/common/AppPagination/styles.scss +230 -0
- package/dist/common/AppPicture/AppPicture.d.ts +10 -0
- package/dist/common/AppPicture/AppPicture.js +18 -0
- package/dist/common/AppPicture/index.d.ts +2 -0
- package/dist/common/AppPicture/index.js +2 -0
- package/dist/common/AppPicture/style.scss +0 -0
- package/dist/common/AppPlaceholder/AppPlaceholder.d.ts +12 -0
- package/dist/common/AppPlaceholder/AppPlaceholder.js +7 -0
- package/dist/common/AppPlaceholder/index.d.ts +2 -0
- package/dist/common/AppPlaceholder/index.js +2 -0
- package/dist/common/AppPlaceholder/style.scss +25 -0
- package/dist/common/AppSwitchGroup/AppSwitchGroup.d.ts +12 -0
- package/dist/common/AppSwitchGroup/AppSwitchGroup.js +8 -0
- package/dist/common/AppSwitchGroup/index.d.ts +2 -0
- package/dist/common/AppSwitchGroup/index.js +2 -0
- package/dist/common/AppSwitchGroup/style.scss +18 -0
- package/dist/common/AppTable/AppTable.d.ts +19 -0
- package/dist/common/AppTable/AppTable.js +62 -0
- package/dist/common/AppTable/AppTableList.d.ts +14 -0
- package/dist/common/AppTable/AppTableList.js +48 -0
- package/dist/common/AppTable/AppTableTheme.d.ts +1 -0
- package/dist/common/AppTable/AppTableTheme.js +45 -0
- package/dist/common/AppTable/AppTableUtils.d.ts +8 -0
- package/dist/common/AppTable/AppTableUtils.js +24 -0
- package/dist/common/AppTable/index.d.ts +2 -0
- package/dist/common/AppTable/index.js +2 -0
- package/dist/common/AppTable/styles.scss +65 -0
- package/dist/common/AppTable/types/AppPage.d.ts +29 -0
- package/dist/common/AppTable/types/AppPage.js +18 -0
- package/dist/common/AppTable/types/AppPageable.d.ts +15 -0
- package/dist/common/AppTable/types/AppPageable.js +19 -0
- package/dist/common/AppTextArea/AppTextArea.d.ts +11 -0
- package/dist/common/AppTextArea/AppTextArea.js +29 -0
- package/dist/common/AppTextArea/index.d.ts +1 -0
- package/dist/common/AppTextArea/index.js +1 -0
- package/dist/common/AppTextArea/style.scss +47 -0
- package/dist/common/AppToast/AppToast.d.ts +2 -0
- package/dist/common/AppToast/AppToast.js +81 -0
- package/dist/common/AppToast/ToastMessage.d.ts +8 -0
- package/dist/common/AppToast/ToastMessage.js +4 -0
- package/dist/common/AppToast/index.d.ts +2 -0
- package/dist/common/AppToast/index.js +2 -0
- package/dist/common/AppToast/style.scss +0 -0
- package/dist/common/index.d.ts +27 -0
- package/dist/common/index.js +23 -0
- package/dist/configs/CommonContext.d.ts +10 -0
- package/dist/configs/CommonContext.js +9 -0
- package/dist/configs/CookieStorage.d.ts +15 -0
- package/dist/configs/CookieStorage.js +45 -0
- package/dist/configs/Localization.d.ts +28 -0
- package/dist/configs/Localization.js +63 -0
- package/dist/configs/Storage.d.ts +9 -0
- package/dist/configs/Storage.js +16 -0
- package/dist/configs/api.d.ts +10 -0
- package/dist/configs/api.js +52 -0
- package/dist/configs/index.d.ts +8 -0
- package/dist/configs/index.js +7 -0
- package/dist/configs/localization/BaseTexts.d.ts +44 -0
- package/dist/configs/localization/BaseTexts.js +44 -0
- package/dist/configs/localization/CommentsTexts.d.ts +95 -0
- package/dist/configs/localization/CommentsTexts.js +95 -0
- package/dist/configs/localization/CommonTexts.d.ts +239 -0
- package/dist/configs/localization/CommonTexts.js +239 -0
- package/dist/configs/localization/ConsentTexts.d.ts +116 -0
- package/dist/configs/localization/ConsentTexts.js +203 -0
- package/dist/configs/localization/HeaderAppTexts.d.ts +106 -0
- package/dist/configs/localization/HeaderAppTexts.js +106 -0
- package/dist/configs/localization/HeaderTexts.d.ts +68 -0
- package/dist/configs/localization/HeaderTexts.js +68 -0
- package/dist/configs/localization/HelpTexts.d.ts +38 -0
- package/dist/configs/localization/HelpTexts.js +38 -0
- package/dist/configs/localization/HistoryTexts.d.ts +428 -0
- package/dist/configs/localization/HistoryTexts.js +428 -0
- package/dist/configs/localization/ParametersTexts.d.ts +137 -0
- package/dist/configs/localization/ParametersTexts.js +137 -0
- package/dist/configs/localization/SentenceTexts.d.ts +56 -0
- package/dist/configs/localization/SentenceTexts.js +56 -0
- package/dist/configs/localization/TreeTexts.d.ts +46 -0
- package/dist/configs/localization/TreeTexts.js +46 -0
- package/dist/configs/localization/UploadTexts.d.ts +23 -0
- package/dist/configs/localization/UploadTexts.js +23 -0
- package/dist/configs/services/ProfileService.d.ts +5 -0
- package/dist/configs/services/ProfileService.js +8 -0
- package/dist/configs/sessionTypes.d.ts +42 -0
- package/dist/configs/sessionTypes.js +63 -0
- package/dist/configs/useLoggedUtils.d.ts +7 -0
- package/dist/configs/useLoggedUtils.js +24 -0
- package/dist/configs/useMessageUtils.d.ts +22 -0
- package/dist/configs/useMessageUtils.js +71 -0
- package/dist/fonts/material-symbols-outlined.woff2 +0 -0
- package/dist/fonts/work-sans-latin-ext.woff2 +0 -0
- package/dist/fonts/work-sans-latin.woff2 +0 -0
- package/dist/fonts/work-sans-vietnamese.woff2 +0 -0
- package/dist/functions/DateUtils.d.ts +15 -0
- package/dist/functions/DateUtils.js +52 -0
- package/dist/functions/FilterUtils.d.ts +13 -0
- package/dist/functions/FilterUtils.js +56 -0
- package/dist/functions/FormUtils.d.ts +13 -0
- package/dist/functions/FormUtils.js +58 -0
- package/dist/functions/ImageUtils.d.ts +5 -0
- package/dist/functions/ImageUtils.js +13 -0
- package/dist/functions/SecurityUtils.d.ts +6 -0
- package/dist/functions/SecurityUtils.js +28 -0
- package/dist/functions/UsabilityUtils.d.ts +10 -0
- package/dist/functions/UsabilityUtils.js +47 -0
- package/dist/functions/index.d.ts +6 -0
- package/dist/functions/index.js +6 -0
- package/dist/functions/logo-ud.png +0 -0
- package/dist/functions/placeholder-image.png +0 -0
- package/dist/functions/placeholder-person.png +0 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/styles/base/_borders.scss +30 -0
- package/dist/styles/base/_colors.scss +100 -0
- package/dist/styles/base/_displays.scss +207 -0
- package/dist/styles/base/_margins.css +174 -0
- package/dist/styles/base/_spacing.scss +26 -0
- package/dist/styles/base/_tokens.scss +330 -0
- package/dist/styles/base/_typographs.scss +376 -0
- package/dist/styles/font-googleapis.scss +222 -0
- package/dist/styles/main.scss +112 -0
- package/dist/vendor/index.d.ts +5 -0
- package/dist/vendor/index.js +4 -0
- package/package.json +118 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { format } from 'date-fns';
|
|
2
|
+
declare function extractDateFromMongoId(id: string, time?: boolean): string;
|
|
3
|
+
declare const DateUtils: {
|
|
4
|
+
millis: () => number;
|
|
5
|
+
formatDate: (date: Date | null, fmt: string) => string;
|
|
6
|
+
format: typeof format;
|
|
7
|
+
parseISOString: (s: string) => Date;
|
|
8
|
+
isValidDate: (date: Date) => boolean;
|
|
9
|
+
parseDate: (dateStr: string, formatStr: string, referenceDate?: Date) => Date;
|
|
10
|
+
addSecondsToDate: (date: Date, seconds: number) => Date;
|
|
11
|
+
parseTime: (time: number) => string;
|
|
12
|
+
extractDateFromMongoId: typeof extractDateFromMongoId;
|
|
13
|
+
formatDateTime: (isoDateStr: string, outputFormat: string) => string;
|
|
14
|
+
};
|
|
15
|
+
export default DateUtils;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { addSeconds, format, isValid, parse, parseISO, } from 'date-fns';
|
|
2
|
+
import { format as formatTz } from 'date-fns-tz';
|
|
3
|
+
const millis = () => new Date().getTime();
|
|
4
|
+
const formatDateTime = (isoDateStr, outputFormat) => {
|
|
5
|
+
if (!isoDateStr)
|
|
6
|
+
return '';
|
|
7
|
+
try {
|
|
8
|
+
const parsedDate = parseISO(isoDateStr);
|
|
9
|
+
return formatTz(parsedDate, outputFormat);
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
console.error('Invalid date or format:', error);
|
|
13
|
+
return '';
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const formatDate = (date, fmt) => {
|
|
17
|
+
if (!date)
|
|
18
|
+
return '';
|
|
19
|
+
return formatTz(date, fmt);
|
|
20
|
+
};
|
|
21
|
+
const parseISOString = (s) => parseISO(s);
|
|
22
|
+
const isValidDate = (date) => isValid(date);
|
|
23
|
+
const parseDate = (dateStr, formatStr, referenceDate) => parse(dateStr, formatStr, referenceDate ?? new Date());
|
|
24
|
+
const addSecondsToDate = (date, seconds) => addSeconds(date, seconds);
|
|
25
|
+
const parseTime = (time) => {
|
|
26
|
+
if (time == null || time <= 0)
|
|
27
|
+
return '00:00:00.000';
|
|
28
|
+
return new Date(time * 1000).toISOString().slice(11, 23);
|
|
29
|
+
};
|
|
30
|
+
function extractDateFromMongoId(id, time) {
|
|
31
|
+
const DATE_PATTERN = 'yyyy-MM-dd';
|
|
32
|
+
const TIME_PATTERN = 'HH:mm:ss';
|
|
33
|
+
const hexTimestamp = id.substring(0, 8);
|
|
34
|
+
const timestampInMilliseconds = parseInt(hexTimestamp, 16) * 1000;
|
|
35
|
+
const dtf = time ? `${DATE_PATTERN} ${TIME_PATTERN}` : DATE_PATTERN;
|
|
36
|
+
const date = addSeconds(new Date(0), timestampInMilliseconds / 1000);
|
|
37
|
+
const formattedDate = formatTz(date, dtf);
|
|
38
|
+
return formattedDate;
|
|
39
|
+
}
|
|
40
|
+
const DateUtils = {
|
|
41
|
+
millis,
|
|
42
|
+
formatDate,
|
|
43
|
+
format,
|
|
44
|
+
parseISOString,
|
|
45
|
+
isValidDate,
|
|
46
|
+
parseDate,
|
|
47
|
+
addSecondsToDate,
|
|
48
|
+
parseTime,
|
|
49
|
+
extractDateFromMongoId,
|
|
50
|
+
formatDateTime,
|
|
51
|
+
};
|
|
52
|
+
export default DateUtils;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FieldValues, UseFormReturn } from 'react-hook-form';
|
|
2
|
+
export type DefaultOption = {
|
|
3
|
+
label: string;
|
|
4
|
+
value: any;
|
|
5
|
+
};
|
|
6
|
+
declare const FilterUtils: {
|
|
7
|
+
apply: <T extends FieldValues, TContext = any, TTransformedValues = T>(form: UseFormReturn<T, TContext, TTransformedValues>, setFilter: (f: any) => void, onClose: () => void, emptyPageable: any) => void;
|
|
8
|
+
clear: <T extends FieldValues, TContext = any, TTransformedValues = T>(form: UseFormReturn<T, TContext, TTransformedValues>, setFilter: (f: any) => void, onClose: () => void, clearValues: any) => void;
|
|
9
|
+
isSelected: (filter: any) => boolean;
|
|
10
|
+
reset: <T extends FieldValues, TContext = any, TTransformedValues = T>(form: UseFormReturn<T, TContext, TTransformedValues>, setFilter: (p: any) => void, clearValues: any) => void;
|
|
11
|
+
enter: <T extends FieldValues, TContext = any, TTransformedValues = T>(form: UseFormReturn<T, TContext, TTransformedValues>, setFilter: (f: any) => void, event: React.KeyboardEvent<HTMLDivElement>, onClose: () => void, emptyPageable: any) => void;
|
|
12
|
+
};
|
|
13
|
+
export default FilterUtils;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import DateUtils from './DateUtils';
|
|
2
|
+
const enter = (form, setFilter, event, onClose, emptyPageable) => {
|
|
3
|
+
// 'keypress' event misbehaves on mobile so we track 'Enter' key via 'keydown' event
|
|
4
|
+
if (event.key === 'Enter') {
|
|
5
|
+
event.preventDefault();
|
|
6
|
+
event.stopPropagation();
|
|
7
|
+
apply(form, setFilter, onClose, emptyPageable);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
const apply = (form, setFilter, onClose, emptyPageable) => {
|
|
11
|
+
setFilter({ ...form.getValues(), ...emptyPageable });
|
|
12
|
+
onClose();
|
|
13
|
+
};
|
|
14
|
+
const clear = (form, setFilter, onClose, clearValues) => {
|
|
15
|
+
reset(form, setFilter, clearValues);
|
|
16
|
+
onClose();
|
|
17
|
+
};
|
|
18
|
+
const reset = (form, setFilter, clearValues) => {
|
|
19
|
+
form.reset(clearValues);
|
|
20
|
+
setFilter({
|
|
21
|
+
...clearValues,
|
|
22
|
+
seed: DateUtils.millis(),
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const isSelected = (filter) => {
|
|
26
|
+
const clone = JSON.parse(JSON.stringify(filter));
|
|
27
|
+
delete clone.page;
|
|
28
|
+
delete clone.size;
|
|
29
|
+
delete clone.sort;
|
|
30
|
+
delete clone.seed;
|
|
31
|
+
return !isObjectEmpty(clone);
|
|
32
|
+
};
|
|
33
|
+
const isObjectEmpty = (filter) => {
|
|
34
|
+
if (!filter || Object.keys(filter).length === 0)
|
|
35
|
+
return true;
|
|
36
|
+
let empty = false;
|
|
37
|
+
Object.keys(filter).forEach((key) => {
|
|
38
|
+
if (Array.isArray(filter[key])) {
|
|
39
|
+
if (filter[key].length === 0)
|
|
40
|
+
empty = true;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (!filter[key])
|
|
44
|
+
empty = true;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return empty;
|
|
48
|
+
};
|
|
49
|
+
const FilterUtils = {
|
|
50
|
+
apply,
|
|
51
|
+
clear,
|
|
52
|
+
isSelected,
|
|
53
|
+
reset,
|
|
54
|
+
enter,
|
|
55
|
+
};
|
|
56
|
+
export default FilterUtils;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TFunction } from 'i18next';
|
|
2
|
+
import { SelectItem } from '../basic/SelectField/SelectField';
|
|
3
|
+
import { AppFormField } from '../common/AppForm/AppFormField';
|
|
4
|
+
declare const FormUtils: {
|
|
5
|
+
convertEnum: (values: Record<string, string>, t?: TFunction, prefix?: string) => SelectItem[];
|
|
6
|
+
convertList: (values: any, labelAttr: string, valueAttr: string) => SelectItem[];
|
|
7
|
+
convertStringArray: (values: string[]) => SelectItem[];
|
|
8
|
+
booleanOptions: (t: TFunction) => SelectItem[];
|
|
9
|
+
convertMap: (values: Record<string, any> | undefined) => SelectItem[];
|
|
10
|
+
sortByLabel: (items: SelectItem[]) => SelectItem[];
|
|
11
|
+
filterFieldsByUserRole: (fields: AppFormField[], hasRole: (role: string) => boolean) => AppFormField[];
|
|
12
|
+
};
|
|
13
|
+
export default FormUtils;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const filterFieldsByUserRole = (fields, hasRole) => fields.filter((field) => !field.role || hasRole(field.role));
|
|
2
|
+
const convertEnum = (values, t, prefix) => {
|
|
3
|
+
if (!t)
|
|
4
|
+
return Object.entries(values).map(([key, label]) => ({
|
|
5
|
+
value: key,
|
|
6
|
+
label,
|
|
7
|
+
}));
|
|
8
|
+
return Object.entries(values).map(([key, label]) => ({
|
|
9
|
+
value: key,
|
|
10
|
+
label: t(`${prefix ? `${prefix}:` : ''}${label}`),
|
|
11
|
+
}));
|
|
12
|
+
};
|
|
13
|
+
const sortByLabel = (items) => {
|
|
14
|
+
return [...items].sort((a, b) => a.label.localeCompare(b.label));
|
|
15
|
+
};
|
|
16
|
+
const convertList = (values, labelAttr, valueAttr) => {
|
|
17
|
+
if (!values)
|
|
18
|
+
return [];
|
|
19
|
+
let fields = [];
|
|
20
|
+
values.map((value) => {
|
|
21
|
+
fields = [...fields, { label: value[labelAttr], value: value[valueAttr] }];
|
|
22
|
+
});
|
|
23
|
+
return fields;
|
|
24
|
+
};
|
|
25
|
+
const convertMap = (values) => {
|
|
26
|
+
if (!values)
|
|
27
|
+
return [];
|
|
28
|
+
let fields = [];
|
|
29
|
+
Object.keys(values).map((key) => {
|
|
30
|
+
fields = [...fields, { label: values[key], value: key }];
|
|
31
|
+
});
|
|
32
|
+
return fields;
|
|
33
|
+
};
|
|
34
|
+
const convertStringArray = (values) => {
|
|
35
|
+
if (!values)
|
|
36
|
+
return [];
|
|
37
|
+
let fields = [];
|
|
38
|
+
values.map((value) => {
|
|
39
|
+
fields = [...fields, { label: value, value }];
|
|
40
|
+
});
|
|
41
|
+
return fields;
|
|
42
|
+
};
|
|
43
|
+
const booleanOptions = (t) => {
|
|
44
|
+
return [
|
|
45
|
+
{ label: t('message:generic.option.true'), value: 'true' },
|
|
46
|
+
{ label: t('message:generic.option.false'), value: 'false' },
|
|
47
|
+
];
|
|
48
|
+
};
|
|
49
|
+
const FormUtils = {
|
|
50
|
+
convertEnum,
|
|
51
|
+
convertList,
|
|
52
|
+
convertStringArray,
|
|
53
|
+
booleanOptions,
|
|
54
|
+
convertMap,
|
|
55
|
+
sortByLabel,
|
|
56
|
+
filterFieldsByUserRole,
|
|
57
|
+
};
|
|
58
|
+
export default FormUtils;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import placeholder from './placeholder-image.png';
|
|
2
|
+
import placeholderPerson from './placeholder-person.png';
|
|
3
|
+
const display = (url, person) => {
|
|
4
|
+
if (url && url !== '')
|
|
5
|
+
return url;
|
|
6
|
+
return person ? placeholderPerson : placeholder;
|
|
7
|
+
};
|
|
8
|
+
const getPlaceHolder = (person) => person ? placeholderPerson : placeholder;
|
|
9
|
+
const ImageUtils = {
|
|
10
|
+
display,
|
|
11
|
+
getPlaceHolder,
|
|
12
|
+
};
|
|
13
|
+
export default ImageUtils;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import CookieStorage from '../configs/CookieStorage';
|
|
2
|
+
import { UserStatus } from '../configs/sessionTypes';
|
|
3
|
+
const hasAccess = (uid, roles, mode) => {
|
|
4
|
+
const token = CookieStorage.getJwtToken();
|
|
5
|
+
if (!token)
|
|
6
|
+
return false;
|
|
7
|
+
const logged = parseJwt(token);
|
|
8
|
+
if (logged.status && logged.status === UserStatus.SUPER)
|
|
9
|
+
return true;
|
|
10
|
+
return roles.some((role) => logged.permissions.includes(`ROLE_${role}_${mode.toUpperCase()}_${uid}`));
|
|
11
|
+
};
|
|
12
|
+
const parseJwt = (token) => {
|
|
13
|
+
const base64Url = token.split('.')[1];
|
|
14
|
+
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
15
|
+
const payload = decodeURIComponent(window
|
|
16
|
+
.atob(base64)
|
|
17
|
+
.split('')
|
|
18
|
+
.map(function (c) {
|
|
19
|
+
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
20
|
+
})
|
|
21
|
+
.join(''));
|
|
22
|
+
return JSON.parse(payload);
|
|
23
|
+
};
|
|
24
|
+
const SecurityUtils = {
|
|
25
|
+
hasAccess,
|
|
26
|
+
parseJwt,
|
|
27
|
+
};
|
|
28
|
+
export default SecurityUtils;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const UsabilityUtils: {
|
|
2
|
+
attachCloseToEscape: (handleClose: () => void) => () => void;
|
|
3
|
+
executeOnEnter: (event: React.KeyboardEvent<HTMLDivElement>, fn: () => void) => void;
|
|
4
|
+
isMobile: () => boolean;
|
|
5
|
+
goToAnchor: (anchorId: string, e?: any) => void;
|
|
6
|
+
attachEnter: (event: React.KeyboardEvent<HTMLInputElement>, handleEnter: () => void) => void;
|
|
7
|
+
copy: (text: string, callback?: () => void) => void;
|
|
8
|
+
limitText: (text: string, limit: number) => string;
|
|
9
|
+
};
|
|
10
|
+
export default UsabilityUtils;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const copy = (text, callback) => {
|
|
2
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
3
|
+
callback && callback();
|
|
4
|
+
});
|
|
5
|
+
};
|
|
6
|
+
const attachEnter = (event, handleEnter) => {
|
|
7
|
+
// 'keypress' event misbehaves on mobile so we track 'Enter' key via 'keydown' event
|
|
8
|
+
if (event.key === 'Enter') {
|
|
9
|
+
event.preventDefault();
|
|
10
|
+
event.stopPropagation();
|
|
11
|
+
handleEnter();
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const goToAnchor = (anchorId, e) => {
|
|
15
|
+
e && e.preventDefault();
|
|
16
|
+
const anchorElement = document.getElementById(anchorId);
|
|
17
|
+
if (anchorElement) {
|
|
18
|
+
anchorElement.scrollIntoView({ behavior: 'smooth' });
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const attachCloseToEscape = (handleClose) => {
|
|
22
|
+
const closeOnEscape = (e) => {
|
|
23
|
+
if (e.keyCode === 27)
|
|
24
|
+
handleClose();
|
|
25
|
+
};
|
|
26
|
+
window.addEventListener('keydown', closeOnEscape);
|
|
27
|
+
return () => window.removeEventListener('keydown', closeOnEscape);
|
|
28
|
+
};
|
|
29
|
+
const executeOnEnter = (event, fn) => {
|
|
30
|
+
if (event.key === 'Enter') {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
fn();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const isMobile = () => window.innerWidth < 768;
|
|
37
|
+
const limitText = (text, limit) => text && text.length > limit ? text.slice(0, limit) + '...' : text;
|
|
38
|
+
const UsabilityUtils = {
|
|
39
|
+
attachCloseToEscape,
|
|
40
|
+
executeOnEnter,
|
|
41
|
+
isMobile,
|
|
42
|
+
goToAnchor,
|
|
43
|
+
attachEnter,
|
|
44
|
+
copy,
|
|
45
|
+
limitText,
|
|
46
|
+
};
|
|
47
|
+
export default UsabilityUtils;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as DateUtils } from './DateUtils';
|
|
2
|
+
export { default as FilterUtils } from './FilterUtils';
|
|
3
|
+
export { default as FormUtils } from './FormUtils';
|
|
4
|
+
export { default as ImageUtils } from './ImageUtils';
|
|
5
|
+
export { default as SecurityUtils } from './SecurityUtils';
|
|
6
|
+
export { default as UsabilityUtils } from './UsabilityUtils';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as DateUtils } from './DateUtils';
|
|
2
|
+
export { default as FilterUtils } from './FilterUtils';
|
|
3
|
+
export { default as FormUtils } from './FormUtils';
|
|
4
|
+
export { default as ImageUtils } from './ImageUtils';
|
|
5
|
+
export { default as SecurityUtils } from './SecurityUtils';
|
|
6
|
+
export { default as UsabilityUtils } from './UsabilityUtils';
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// borders, dividers and border radius
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--border-0: 0px;
|
|
5
|
+
--border-050: 0.5px;
|
|
6
|
+
--border-100: 1px;
|
|
7
|
+
--border-150: 1.5px;
|
|
8
|
+
--border-200: 2px;
|
|
9
|
+
--border-250: 2.5px;
|
|
10
|
+
--border-300: 3px;
|
|
11
|
+
--border-400: 4px;
|
|
12
|
+
--border-500: 5px;
|
|
13
|
+
--border-600: 6px;
|
|
14
|
+
--border-700: 7px;
|
|
15
|
+
--border-800: 8px;
|
|
16
|
+
|
|
17
|
+
--radius-0: 0px;
|
|
18
|
+
--radius-050: 2px;
|
|
19
|
+
--radius-100: 4px;
|
|
20
|
+
--radius-200: 8px;
|
|
21
|
+
--radius-300: 12px;
|
|
22
|
+
--radius-400: 16px;
|
|
23
|
+
--radius-500: 20px;
|
|
24
|
+
--radius-600: 24px;
|
|
25
|
+
--radius-700: 28px;
|
|
26
|
+
--radius-800: 32px;
|
|
27
|
+
--radius-900: 36px;
|
|
28
|
+
--radius-1000: 40px;
|
|
29
|
+
--radius-full: 999px;
|
|
30
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// colors, tonal scales for accent, neutral and semantic
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--accent-0: #000000;
|
|
5
|
+
--accent-10: #142e57;
|
|
6
|
+
--accent-100: #ffffff;
|
|
7
|
+
--accent-20: #194c8f;
|
|
8
|
+
--accent-30: #185abd;
|
|
9
|
+
--accent-40: #146ce1;
|
|
10
|
+
--accent-50: #1c83f4;
|
|
11
|
+
--accent-60: #32a2ff;
|
|
12
|
+
--accent-70: #59bfff;
|
|
13
|
+
--accent-80: #8ed8ff;
|
|
14
|
+
--accent-90: #bce6ff;
|
|
15
|
+
--accent-95: #d9f0ff;
|
|
16
|
+
--accent-99: #eef9ff;
|
|
17
|
+
--high-contrast-blue: #6bfdff;
|
|
18
|
+
--high-contrast-dark: #000000;
|
|
19
|
+
--high-contrast-green: #7bff57;
|
|
20
|
+
--high-contrast-light: #ffffff;
|
|
21
|
+
--high-contrast-yellow: #fff81f;
|
|
22
|
+
--neutral-dark-0: #ffffff;
|
|
23
|
+
--neutral-dark-10: #f6f7f9;
|
|
24
|
+
--neutral-dark-100: #000000;
|
|
25
|
+
--neutral-dark-20: #ebeef3;
|
|
26
|
+
--neutral-dark-30: #d3d9e4;
|
|
27
|
+
--neutral-dark-40: #acb9cd;
|
|
28
|
+
--neutral-dark-50: #7f94b1;
|
|
29
|
+
--neutral-dark-60: #5f7698;
|
|
30
|
+
--neutral-dark-70: #4b5f7e;
|
|
31
|
+
--neutral-dark-80: #42526e;
|
|
32
|
+
--neutral-dark-90: #364256;
|
|
33
|
+
--neutral-dark-95: #30394a;
|
|
34
|
+
--neutral-dark-99: #202531;
|
|
35
|
+
--neutral-light-0: #000000;
|
|
36
|
+
--neutral-light-10: #141415;
|
|
37
|
+
--neutral-light-100: #ffffff;
|
|
38
|
+
--neutral-light-20: #252627;
|
|
39
|
+
--neutral-light-30: #434447;
|
|
40
|
+
--neutral-light-40: #5c5e61;
|
|
41
|
+
--neutral-light-50: #707276;
|
|
42
|
+
--neutral-light-60: #9d9fa2;
|
|
43
|
+
--neutral-light-70: #bebfc1;
|
|
44
|
+
--neutral-light-80: #cbcccd;
|
|
45
|
+
--neutral-light-90: #eaeaeb;
|
|
46
|
+
--neutral-light-95: #f7f7f8;
|
|
47
|
+
--neutral-light-99: #f9fafb;
|
|
48
|
+
--semantic-danger-0: #000000;
|
|
49
|
+
--semantic-danger-10: #44060c;
|
|
50
|
+
--semantic-danger-100: #ffffff;
|
|
51
|
+
--semantic-danger-20: #7e1015;
|
|
52
|
+
--semantic-danger-30: #9d0f16;
|
|
53
|
+
--semantic-danger-40: #c6080a;
|
|
54
|
+
--semantic-danger-50: #ef1207;
|
|
55
|
+
--semantic-danger-60: #fe3820;
|
|
56
|
+
--semantic-danger-70: #ff5638;
|
|
57
|
+
--semantic-danger-80: #ff8f71;
|
|
58
|
+
--semantic-danger-90: #ffbda8;
|
|
59
|
+
--semantic-danger-95: #ffe0d4;
|
|
60
|
+
--semantic-danger-99: #fff2ed;
|
|
61
|
+
--semantic-info-0: #000000;
|
|
62
|
+
--semantic-info-10: #440055;
|
|
63
|
+
--semantic-info-100: #ffffff;
|
|
64
|
+
--semantic-info-20: #68127d;
|
|
65
|
+
--semantic-info-30: #7c0e9a;
|
|
66
|
+
--semantic-info-40: #950fbc;
|
|
67
|
+
--semantic-info-50: #b720e9;
|
|
68
|
+
--semantic-info-60: #c837fe;
|
|
69
|
+
--semantic-info-70: #dc6dff;
|
|
70
|
+
--semantic-info-80: #e8a4ff;
|
|
71
|
+
--semantic-info-90: #f1ccff;
|
|
72
|
+
--semantic-info-95: #f8e6ff;
|
|
73
|
+
--semantic-info-99: #f8e6ff;
|
|
74
|
+
--semantic-success-0: #000000;
|
|
75
|
+
--semantic-success-10: #182c07;
|
|
76
|
+
--semantic-success-100: #ffffff;
|
|
77
|
+
--semantic-success-20: #335017;
|
|
78
|
+
--semantic-success-30: #3b5e16;
|
|
79
|
+
--semantic-success-40: #477714;
|
|
80
|
+
--semantic-success-50: #5c9c14;
|
|
81
|
+
--semantic-success-60: #70b51c;
|
|
82
|
+
--semantic-success-70: #98de3d;
|
|
83
|
+
--semantic-success-80: #b5ec6a;
|
|
84
|
+
--semantic-success-90: #d3f5a1;
|
|
85
|
+
--semantic-success-95: #e9facd;
|
|
86
|
+
--semantic-success-99: #f6fde8;
|
|
87
|
+
--semantic-warning-0: #000000;
|
|
88
|
+
--semantic-warning-10: #461702;
|
|
89
|
+
--semantic-warning-100: #ffffff;
|
|
90
|
+
--semantic-warning-20: #7a310d;
|
|
91
|
+
--semantic-warning-30: #943a0c;
|
|
92
|
+
--semantic-warning-40: #b74c06;
|
|
93
|
+
--semantic-warning-50: #dd6f02;
|
|
94
|
+
--semantic-warning-60: #f99607;
|
|
95
|
+
--semantic-warning-70: #ffb920;
|
|
96
|
+
--semantic-warning-80: #ffc938;
|
|
97
|
+
--semantic-warning-90: #ffe388;
|
|
98
|
+
--semantic-warning-95: #fff2c6;
|
|
99
|
+
--semantic-warning-99: #fffaeb;
|
|
100
|
+
}
|