@povio/ui 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/package.json +17 -0
- package/povio-ui-0.0.1.tgz +0 -0
- package/src/assets/icons/AlignCenter.d.ts +2 -0
- package/src/assets/icons/AlignLeft.d.ts +2 -0
- package/src/assets/icons/AlignLeftRight.d.ts +2 -0
- package/src/assets/icons/AlignRight.d.ts +2 -0
- package/src/assets/icons/ArrowDropDown.d.ts +2 -0
- package/src/assets/icons/ArrowDropUp.d.ts +2 -0
- package/src/assets/icons/ArrowLeft.d.ts +2 -0
- package/src/assets/icons/ArrowRight.d.ts +2 -0
- package/src/assets/icons/Bold.d.ts +2 -0
- package/src/assets/icons/BulletedList.d.ts +2 -0
- package/src/assets/icons/Calendar.d.ts +2 -0
- package/src/assets/icons/Check.d.ts +2 -0
- package/src/assets/icons/CheckCircle.d.ts +2 -0
- package/src/assets/icons/CheckboxCheckmark.d.ts +2 -0
- package/src/assets/icons/CheckboxIndeterminate.d.ts +2 -0
- package/src/assets/icons/ChevronDown.d.ts +2 -0
- package/src/assets/icons/ChevronLeft.d.ts +2 -0
- package/src/assets/icons/ChevronRight.d.ts +2 -0
- package/src/assets/icons/ChevronUp.d.ts +2 -0
- package/src/assets/icons/ChevronsLeft.d.ts +2 -0
- package/src/assets/icons/ChevronsRight.d.ts +2 -0
- package/src/assets/icons/Clock.d.ts +2 -0
- package/src/assets/icons/Close.d.ts +2 -0
- package/src/assets/icons/DateTime.d.ts +2 -0
- package/src/assets/icons/Drag.d.ts +2 -0
- package/src/assets/icons/File.d.ts +2 -0
- package/src/assets/icons/Highlight.d.ts +2 -0
- package/src/assets/icons/HighlightOn.d.ts +6 -0
- package/src/assets/icons/Info.d.ts +2 -0
- package/src/assets/icons/Italic.d.ts +2 -0
- package/src/assets/icons/Link.d.ts +2 -0
- package/src/assets/icons/Menu.d.ts +2 -0
- package/src/assets/icons/NumberedList.d.ts +2 -0
- package/src/assets/icons/PointerHorizontal.d.ts +2 -0
- package/src/assets/icons/PointerVertical.d.ts +2 -0
- package/src/assets/icons/Send.d.ts +2 -0
- package/src/assets/icons/Strikethrough.d.ts +2 -0
- package/src/assets/icons/TextColor.d.ts +6 -0
- package/src/assets/icons/Today.d.ts +2 -0
- package/src/assets/icons/Underlined.d.ts +2 -0
- package/src/assets/icons/Upload.d.ts +2 -0
- package/src/assets/icons/View.d.ts +2 -0
- package/src/assets/icons/ViewOff.d.ts +2 -0
- package/src/assets/icons/Warningfilled.d.ts +2 -0
- package/src/components/Menu/Menu.d.ts +14 -0
- package/src/components/Menu/MenuDesktop.d.ts +2 -0
- package/src/components/Menu/MenuItem.d.ts +5 -0
- package/src/components/Menu/MenuMobile.d.ts +2 -0
- package/src/components/Menu/MenuPopover.d.ts +5 -0
- package/src/components/buttons/Button/Button.d.ts +27 -0
- package/src/components/buttons/Button/button.cva.d.ts +30 -0
- package/src/components/buttons/IconButton/IconButton.d.ts +10 -0
- package/src/components/buttons/InlineIconButton/InlineIconButton.d.ts +11 -0
- package/src/components/buttons/PillButton/PillButton.d.ts +11 -0
- package/src/components/buttons/PillButton/pillButton.cva.d.ts +14 -0
- package/src/components/buttons/SplitButton/SplitButton.d.ts +10 -0
- package/src/components/buttons/TextButton/TextButton.d.ts +11 -0
- package/src/components/buttons/ToggleButton/ToggleButton.d.ts +9 -0
- package/src/components/buttons/shared/ButtonContent.d.ts +16 -0
- package/src/components/buttons/shared/buttonContent.cva.d.ts +6 -0
- package/src/components/inputs/Checkbox/Checkbox.d.ts +17 -0
- package/src/components/inputs/Checkbox/CheckboxCheckmark.d.ts +9 -0
- package/src/components/inputs/Checkbox/checkbox.cva.d.ts +11 -0
- package/src/components/inputs/DateTime/DatePicker/DatePicker.d.ts +24 -0
- package/src/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +32 -0
- package/src/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +22 -0
- package/src/components/inputs/DateTime/TimePicker/TimePicker.d.ts +20 -0
- package/src/components/inputs/DateTime/shared/Calendar.d.ts +20 -0
- package/src/components/inputs/DateTime/shared/CalendarCell.d.ts +20 -0
- package/src/components/inputs/DateTime/shared/CalendarGrid.d.ts +25 -0
- package/src/components/inputs/DateTime/shared/CalendarHeader.d.ts +16 -0
- package/src/components/inputs/DateTime/shared/CalendarSelectHeader.d.ts +17 -0
- package/src/components/inputs/DateTime/shared/DateField.d.ts +12 -0
- package/src/components/inputs/DateTime/shared/DatePickerInput.d.ts +20 -0
- package/src/components/inputs/DateTime/shared/DateSegmentItem.d.ts +11 -0
- package/src/components/inputs/DateTime/shared/DateTimeDialog.d.ts +15 -0
- package/src/components/inputs/DateTime/shared/DateTimeDialogFooter.d.ts +7 -0
- package/src/components/inputs/DateTime/shared/MonthPicker.d.ts +7 -0
- package/src/components/inputs/DateTime/shared/RangeCalendar.d.ts +26 -0
- package/src/components/inputs/DateTime/shared/TimeField.d.ts +12 -0
- package/src/components/inputs/DateTime/shared/TimePickerForm.d.ts +10 -0
- package/src/components/inputs/DateTime/shared/TimePickerInput.d.ts +18 -0
- package/src/components/inputs/DateTime/shared/YearPicker.d.ts +8 -0
- package/src/components/inputs/File/FileUpload.d.ts +4 -0
- package/src/components/inputs/File/FileUploadContainer.d.ts +3 -0
- package/src/components/inputs/File/InputUpload.d.ts +4 -0
- package/src/components/inputs/File/fileUpload.types.d.ts +79 -0
- package/src/components/inputs/File/index.d.ts +9 -0
- package/src/components/inputs/File/inputUpload.types.d.ts +30 -0
- package/src/components/inputs/File/shared/FileCard.d.ts +9 -0
- package/src/components/inputs/File/shared/FileCardList.d.ts +9 -0
- package/src/components/inputs/File/shared/FileProgressBar.d.ts +3 -0
- package/src/components/inputs/File/shared/FileUploadContent.d.ts +10 -0
- package/src/components/inputs/File/shared/FileUploadContentEmpty.d.ts +9 -0
- package/src/components/inputs/File/shared/FileUploadContentError.d.ts +11 -0
- package/src/components/inputs/File/shared/FileUploadContentFilled.d.ts +11 -0
- package/src/components/inputs/File/shared/FileUploadContentLoading.d.ts +9 -0
- package/src/components/inputs/File/shared/InputUploadContent.d.ts +8 -0
- package/src/components/inputs/File/shared/InputUploadFilled.d.ts +7 -0
- package/src/components/inputs/File/shared/fileUpload.cva.d.ts +11 -0
- package/src/components/inputs/File/shared/inputUploadButton.cva.d.ts +10 -0
- package/src/components/inputs/FormField/FormField.d.ts +17 -0
- package/src/components/inputs/FormField/FormFieldError.d.ts +7 -0
- package/src/components/inputs/FormField/FormFieldHeader.d.ts +14 -0
- package/src/components/inputs/FormField/FormFieldHeaderClose.d.ts +5 -0
- package/src/components/inputs/FormField/FormFieldLabel.d.ts +11 -0
- package/src/components/inputs/Input/NumberInput/NumberInput.d.ts +18 -0
- package/src/components/inputs/Input/PasswordInput/PasswordInput.d.ts +7 -0
- package/src/components/inputs/Input/TextArea/TextArea.d.ts +17 -0
- package/src/components/inputs/Input/TextInput/TextInput.d.ts +19 -0
- package/src/components/inputs/Input/shared/InputContent.d.ts +27 -0
- package/src/components/inputs/Inputs/Form.d.ts +26 -0
- package/src/components/inputs/Inputs/InputItem.d.ts +73 -0
- package/src/components/inputs/Inputs/Inputs.d.ts +10 -0
- package/src/components/inputs/RadioGroup/RadioGroup.d.ts +18 -0
- package/src/components/inputs/RadioGroup/radio.cva.d.ts +11 -0
- package/src/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +8 -0
- package/src/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +19 -0
- package/src/components/inputs/Selection/Select/Select.d.ts +8 -0
- package/src/components/inputs/Selection/shared/SelectBase.d.ts +24 -0
- package/src/components/inputs/Selection/shared/SelectDesktop.d.ts +5 -0
- package/src/components/inputs/Selection/shared/SelectInput.d.ts +15 -0
- package/src/components/inputs/Selection/shared/SelectListBox.d.ts +9 -0
- package/src/components/inputs/Selection/shared/SelectListBoxItem.d.ts +8 -0
- package/src/components/inputs/Selection/shared/SelectListBoxItemSelectAll.d.ts +4 -0
- package/src/components/inputs/Selection/shared/SelectListBoxLoadingItem.d.ts +6 -0
- package/src/components/inputs/Selection/shared/SelectListBoxSelectionBar.d.ts +5 -0
- package/src/components/inputs/Selection/shared/SelectMobile.d.ts +5 -0
- package/src/components/inputs/Selection/shared/select.context.d.ts +30 -0
- package/src/components/inputs/Selection/shared/select.types.d.ts +55 -0
- package/src/components/inputs/Selection/shared/useSelectItems.d.ts +23 -0
- package/src/components/inputs/Slider/Slider.d.ts +18 -0
- package/src/components/inputs/TextEditor/TextEditor.d.ts +20 -0
- package/src/components/inputs/TextEditor/Toolbar/ColorPicker.d.ts +7 -0
- package/src/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.d.ts +10 -0
- package/src/components/inputs/TextEditor/Toolbar/HyperlinkAction.d.ts +2 -0
- package/src/components/inputs/TextEditor/Toolbar/TextAlignSelect.d.ts +2 -0
- package/src/components/inputs/TextEditor/Toolbar/TextColorSelect.d.ts +2 -0
- package/src/components/inputs/TextEditor/Toolbar/TextEditorToolbar.d.ts +6 -0
- package/src/components/inputs/TextEditor/Toolbar/TextHighlightSelect.d.ts +2 -0
- package/src/components/inputs/TextEditor/Toolbar/TextListActions.d.ts +2 -0
- package/src/components/inputs/TextEditor/Toolbar/TextMarksActions.d.ts +2 -0
- package/src/components/inputs/TextEditor/Toolbar/TextStyleSelect.d.ts +2 -0
- package/src/components/inputs/TextEditor/textEditor.types.d.ts +5 -0
- package/src/components/inputs/Toggle/Toggle.d.ts +14 -0
- package/src/components/inputs/Toggle/toggle.cva.d.ts +10 -0
- package/src/components/inputs/shared/CheckContent.d.ts +7 -0
- package/src/components/inputs/shared/InputClear.d.ts +6 -0
- package/src/components/inputs/shared/form.types.d.ts +12 -0
- package/src/components/inputs/shared/input.cva.d.ts +22 -0
- package/src/components/inputs/shared/label.cva.d.ts +10 -0
- package/src/components/outline.clsx.d.ts +2 -0
- package/src/components/overlays/ActionModal/ActionModal.d.ts +19 -0
- package/src/components/overlays/BottomSheet/BottomSheet.d.ts +21 -0
- package/src/components/overlays/Drawer/Drawer.d.ts +13 -0
- package/src/components/overlays/Modal/Modal.d.ts +11 -0
- package/src/components/overlays/Modal/modal.cva.d.ts +12 -0
- package/src/components/overlays/ResponsivePopover/ResponsivePopover.d.ts +10 -0
- package/src/components/overlays/Tooltip/Tooltip.d.ts +9 -0
- package/src/components/overlays/Tooltip/TooltipEllipsis.d.ts +7 -0
- package/src/components/segment/Segment.d.ts +4 -0
- package/src/components/segment/SegmentItem.d.ts +2 -0
- package/src/components/segment/segment.types.d.ts +34 -0
- package/src/components/shared/pagination/Pagination.d.ts +9 -0
- package/src/components/shared/pagination/PaginationList.d.ts +15 -0
- package/src/components/shared/pagination/minWidth.cva.d.ts +3 -0
- package/src/components/status/Alert/Alert.d.ts +11 -0
- package/src/components/status/Alert/alert.cva.d.ts +7 -0
- package/src/components/status/Loader/Loader.d.ts +5 -0
- package/src/components/status/Loader/loader.cva.d.ts +9 -0
- package/src/components/status/Toast/Toast.d.ts +14 -0
- package/src/components/status/Toast/toast.cva.d.ts +18 -0
- package/src/components/status/Toast/useToast.d.ts +12 -0
- package/src/components/status/shared/status.cva.d.ts +8 -0
- package/src/components/table/CellText.d.ts +7 -0
- package/src/components/table/ColumnConfig.d.ts +10 -0
- package/src/components/table/HeaderText.d.ts +5 -0
- package/src/components/table/InfiniteTable.d.ts +9 -0
- package/src/components/table/PaginatedTable.d.ts +11 -0
- package/src/components/table/Table.d.ts +37 -0
- package/src/components/table/table.cva.d.ts +15 -0
- package/src/components/text/Link/Link.d.ts +7 -0
- package/src/components/text/Link/link.cva.d.ts +6 -0
- package/src/components/text/Tag/Tag.d.ts +10 -0
- package/src/components/text/Tag/tag.cva.d.ts +6 -0
- package/src/components/text/Typography/Typography.d.ts +11 -0
- package/src/components/text/Typography/typography.cva.d.ts +8 -0
- package/src/config/confirmation.context.d.ts +20 -0
- package/src/config/i18n.d.ts +315 -0
- package/src/config/router.context.d.ts +20 -0
- package/src/config/uiConfig.context.d.ts +28 -0
- package/src/config/uiStyle.context.d.ts +84 -0
- package/src/helpers/dynamicColumns.d.ts +44 -0
- package/src/helpers/dynamicInputs.d.ts +83 -0
- package/src/hooks/useAutosave.d.ts +9 -0
- package/src/hooks/useBreakpoint.d.ts +3 -0
- package/src/hooks/useDebounceCallback.d.ts +6 -0
- package/src/hooks/useDeepCompare.d.ts +4 -0
- package/src/hooks/useFilters.d.ts +7 -0
- package/src/hooks/useForm.d.ts +18 -0
- package/src/hooks/useFormAutosave.d.ts +13 -0
- package/src/hooks/useIntersectionObserver.d.ts +7 -0
- package/src/hooks/useLocalStorage.d.ts +13 -0
- package/src/hooks/useLongPressRepeat.d.ts +9 -0
- package/src/hooks/usePagination.d.ts +7 -0
- package/src/hooks/useScrollableListBox.d.ts +3 -0
- package/src/hooks/useSingletonMutation.d.ts +2 -0
- package/src/hooks/useSorting.d.ts +6 -0
- package/src/hooks/useStateAndRef.d.ts +4 -0
- package/src/hooks/useTableColumnConfig.d.ts +16 -0
- package/src/hooks/useTableNav.d.ts +84 -0
- package/src/hooks/useTranslationMemo.d.ts +4 -0
- package/src/index.d.ts +205 -0
- package/src/types/common.d.ts +12 -0
- package/src/types/react-query.d.ts +6 -0
- package/src/utils/array.utils.d.ts +3 -0
- package/src/utils/array.utils.spec.d.ts +1 -0
- package/src/utils/compoundMapper.d.ts +19 -0
- package/src/utils/compoundMapper.spec.d.ts +1 -0
- package/src/utils/date-time.utils.d.ts +14 -0
- package/src/utils/date-time.utils.spec.d.ts +1 -0
- package/src/utils/date.utils.d.ts +3 -0
- package/src/utils/date.utils.spec.d.ts +1 -0
- package/src/utils/dom.utils.d.ts +5 -0
- package/src/utils/file.utils.d.ts +9 -0
- package/src/utils/isEqual.d.ts +1 -0
- package/src/utils/logger.d.ts +7 -0
- package/src/utils/object.utils.d.ts +10 -0
- package/src/utils/queries.utils.d.ts +4 -0
- package/src/utils/rest/interceptors/logging.interceptor.d.ts +2 -0
- package/src/utils/rest/interceptors/response.interceptor.d.ts +2 -0
- package/src/utils/rest/interceptors/rest-interceptor.d.ts +8 -0
- package/src/utils/rest/rest-client.d.ts +29 -0
- package/src/utils/rest/rest.utils.d.ts +10 -0
- package/src/utils/routing.utils.d.ts +3 -0
- package/src/utils/string.utils.d.ts +4 -0
- package/src/utils/vendor/error-handling.d.ts +21 -0
- package/src/utils/zod.utils.d.ts +19 -0
- package/styles/editor.css +47 -0
- package/styles/index.css +1 -0
- package/vite.config.d.ts +2 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
interface IProps<ZOutput, ZInput> {
|
|
3
|
+
key: string;
|
|
4
|
+
schema: z.ZodType<ZOutput, ZInput>;
|
|
5
|
+
}
|
|
6
|
+
export declare const useLocalStorage: <ZOutput, ZInput>({ key, schema }: IProps<ZOutput, ZInput>) => {
|
|
7
|
+
value: ZOutput | null;
|
|
8
|
+
set: (newValue: ZInput) => void;
|
|
9
|
+
remove: () => void;
|
|
10
|
+
error: Error | null;
|
|
11
|
+
isInitialLoading: boolean;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PaginationState } from '@tanstack/react-table';
|
|
2
|
+
export declare function usePagination(defaultPagination?: PaginationState): {
|
|
3
|
+
pagination: PaginationState;
|
|
4
|
+
setPagination: import('react').Dispatch<import('react').SetStateAction<PaginationState>>;
|
|
5
|
+
pageIndex: number;
|
|
6
|
+
pageSize: number;
|
|
7
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
export declare function useSingletonMutation<TData, TError, TVariables>({ mutationFn, ...options }: UseMutationOptions<TData, TError, TVariables> & Required<Pick<UseMutationOptions<TData, TError, TVariables>, "mutationFn">>): import('@tanstack/react-query').UseMutationResult<TData, TError, TVariables, unknown>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SortingState } from '@tanstack/react-table';
|
|
2
|
+
export declare function useSorting(defaultSorting?: SortingState, prefix?: string): {
|
|
3
|
+
sorting: SortingState;
|
|
4
|
+
setSorting: import('react').Dispatch<import('react').SetStateAction<SortingState>>;
|
|
5
|
+
order: string;
|
|
6
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ColumnDef, ColumnOrderState, VisibilityState } from '@tanstack/react-table';
|
|
2
|
+
interface UseTableColumnConfigOptions {
|
|
3
|
+
visibleColumns?: VisibilityState;
|
|
4
|
+
columnOrder?: ColumnOrderState;
|
|
5
|
+
onVisibilityChange?: (value: VisibilityState) => void;
|
|
6
|
+
onOrderChange?: (value: ColumnOrderState) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function useTableColumnConfig<TData, TValue>(defaultColumns: ColumnDef<TData, TValue>[], options?: UseTableColumnConfigOptions): {
|
|
9
|
+
configColumns: ColumnDef<TData, TValue>[];
|
|
10
|
+
columns: ColumnDef<TData, TValue>[];
|
|
11
|
+
visibleColumns: VisibilityState;
|
|
12
|
+
columnOrder: ColumnOrderState;
|
|
13
|
+
onVisibilityChange: (value: VisibilityState) => void;
|
|
14
|
+
onOrderChange: (value: ColumnOrderState) => void;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { KeyboardEvent } from 'react';
|
|
2
|
+
declare const Selectors: {
|
|
3
|
+
readonly Cell: "[role=\"cell\"],[role=\"gridcell\"],[role=\"columnheader\"],[role=\"rowheader\"],td,th";
|
|
4
|
+
readonly Row: "[role=\"row\"],tr";
|
|
5
|
+
readonly RowGroup: "[role=\"rowgroup\"],thead,tbody,tfoot";
|
|
6
|
+
/** Selector from here: https://github.com/Shopify/polaris/blob/main/polaris-react/src/utilities/focus.ts#L10 */
|
|
7
|
+
readonly Focusable: "a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not([aria-disabled=\"true\"]):not([tabindex=\"-1\"]):not(:disabled),*[tabindex]";
|
|
8
|
+
};
|
|
9
|
+
type Config = {
|
|
10
|
+
/** Enable debug logs */
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
/** CSS Selectors being used to find Rows, Row Groups, Cells and Focusable elements */
|
|
13
|
+
selectors?: Partial<typeof Selectors>;
|
|
14
|
+
/** How many rows to move when pressing page up/down - Default goes to first/last row */
|
|
15
|
+
pageUpDown?: number;
|
|
16
|
+
} | undefined;
|
|
17
|
+
declare class DataGridNav {
|
|
18
|
+
private selectors;
|
|
19
|
+
readonly pageUpDown: number | undefined;
|
|
20
|
+
private keys;
|
|
21
|
+
private disabled;
|
|
22
|
+
readonly debug: boolean;
|
|
23
|
+
private activeCell;
|
|
24
|
+
constructor();
|
|
25
|
+
constructor(config: Config);
|
|
26
|
+
private debugLog;
|
|
27
|
+
/**
|
|
28
|
+
* Disables the keyboard listener in cases
|
|
29
|
+
* that elements inside the grid need to use
|
|
30
|
+
* arrows keys etc., like select dropdowns
|
|
31
|
+
*/
|
|
32
|
+
disable(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Enables the keyboard listeners
|
|
35
|
+
*/
|
|
36
|
+
enable(): void;
|
|
37
|
+
private isFocusable;
|
|
38
|
+
getActiveCell(): HTMLElement | null;
|
|
39
|
+
/** Used as a keyboard listener for key up */
|
|
40
|
+
tableKeyUp(): void;
|
|
41
|
+
/** Used as a keyboard listener for key down */
|
|
42
|
+
tableKeyDown(e: KeyboardEvent): void;
|
|
43
|
+
/**
|
|
44
|
+
* Handles the navigation inside a cell
|
|
45
|
+
*/
|
|
46
|
+
cellNavigation(e: KeyboardEvent): void;
|
|
47
|
+
/**
|
|
48
|
+
* Handles the navigation outside a cell
|
|
49
|
+
* on the grid level
|
|
50
|
+
*/
|
|
51
|
+
gridNavigation(e: KeyboardEvent): void;
|
|
52
|
+
private pageCellNavigation;
|
|
53
|
+
private verticalCellNavigation;
|
|
54
|
+
/**
|
|
55
|
+
* Sending a row `Element` and then the first cell will be focused.
|
|
56
|
+
*
|
|
57
|
+
* If you want to focus the last cell then the row children can be passed in
|
|
58
|
+
* reversed order
|
|
59
|
+
*/
|
|
60
|
+
private focusOnFirstCell;
|
|
61
|
+
/**
|
|
62
|
+
* Get the column index of a `cell` based on the first `row` parent.
|
|
63
|
+
* `cellIndex` could be used, but it's not supported in HTML tables.
|
|
64
|
+
*/
|
|
65
|
+
private getColumnIndex;
|
|
66
|
+
/**
|
|
67
|
+
* Get the row index of a `row` based
|
|
68
|
+
* on its sibling rows
|
|
69
|
+
*/
|
|
70
|
+
private getRowIndex;
|
|
71
|
+
/**
|
|
72
|
+
* Equivalent to prevUntil/nextUntil in jQuery
|
|
73
|
+
* https://api.jquery.com/prevUntil/
|
|
74
|
+
*/
|
|
75
|
+
private findUntil;
|
|
76
|
+
}
|
|
77
|
+
export declare function useTableNav(options?: Config): {
|
|
78
|
+
listeners: {
|
|
79
|
+
onKeyDown: (e: KeyboardEvent) => void;
|
|
80
|
+
onKeyUp: () => void;
|
|
81
|
+
};
|
|
82
|
+
tableNav: DataGridNav;
|
|
83
|
+
};
|
|
84
|
+
export {};
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
export { AlignCenterIcon } from './assets/icons/AlignCenter';
|
|
2
|
+
export { AlignLeftIcon } from './assets/icons/AlignLeft';
|
|
3
|
+
export { AlignLeftRightIcon } from './assets/icons/AlignLeftRight';
|
|
4
|
+
export { AlignRightIcon } from './assets/icons/AlignRight';
|
|
5
|
+
export { ArrowDropDownIcon } from './assets/icons/ArrowDropDown';
|
|
6
|
+
export { ArrowDropUpIcon } from './assets/icons/ArrowDropUp';
|
|
7
|
+
export { ArrowLeftIcon } from './assets/icons/ArrowLeft';
|
|
8
|
+
export { ArrowRightIcon } from './assets/icons/ArrowRight';
|
|
9
|
+
export { BoldIcon } from './assets/icons/Bold';
|
|
10
|
+
export { BulletedListIcon } from './assets/icons/BulletedList';
|
|
11
|
+
export { CalendarIcon } from './assets/icons/Calendar';
|
|
12
|
+
export { CheckIcon } from './assets/icons/Check';
|
|
13
|
+
export { CheckboxCheckmarkIcon } from './assets/icons/CheckboxCheckmark';
|
|
14
|
+
export { CheckboxIndeterminateIcon } from './assets/icons/CheckboxIndeterminate';
|
|
15
|
+
export { ChevronDownIcon } from './assets/icons/ChevronDown';
|
|
16
|
+
export { ChevronLeftIcon } from './assets/icons/ChevronLeft';
|
|
17
|
+
export { ChevronRightIcon } from './assets/icons/ChevronRight';
|
|
18
|
+
export { ChevronsLeftIcon } from './assets/icons/ChevronsLeft';
|
|
19
|
+
export { ChevronsRightIcon } from './assets/icons/ChevronsRight';
|
|
20
|
+
export { ChevronUpIcon } from './assets/icons/ChevronUp';
|
|
21
|
+
export { ClockIcon } from './assets/icons/Clock';
|
|
22
|
+
export { CloseIcon } from './assets/icons/Close';
|
|
23
|
+
export { DateTimeIcon } from './assets/icons/DateTime';
|
|
24
|
+
export { HighlightIcon } from './assets/icons/Highlight';
|
|
25
|
+
export { HighlightOnIcon } from './assets/icons/HighlightOn';
|
|
26
|
+
export { InfoIcon } from './assets/icons/Info';
|
|
27
|
+
export { ItalicIcon } from './assets/icons/Italic';
|
|
28
|
+
export { LinkIcon } from './assets/icons/Link';
|
|
29
|
+
export { MenuIcon } from './assets/icons/Menu';
|
|
30
|
+
export { NumberedListIcon } from './assets/icons/NumberedList';
|
|
31
|
+
export { PointerHorizontalIcon } from './assets/icons/PointerHorizontal';
|
|
32
|
+
export { PointerVerticalIcon } from './assets/icons/PointerVertical';
|
|
33
|
+
export { SendIcon } from './assets/icons/Send';
|
|
34
|
+
export { StrikethroughIcon } from './assets/icons/Strikethrough';
|
|
35
|
+
export { TextColorIcon } from './assets/icons/TextColor';
|
|
36
|
+
export { UnderlinedIcon } from './assets/icons/Underlined';
|
|
37
|
+
export { ViewIcon } from './assets/icons/View';
|
|
38
|
+
export { ViewOffIcon } from './assets/icons/ViewOff';
|
|
39
|
+
export type { ButtonProps } from './components/buttons/Button/Button';
|
|
40
|
+
export { Button } from './components/buttons/Button/Button';
|
|
41
|
+
export type { ButtonVariantProps } from './components/buttons/Button/button.cva';
|
|
42
|
+
export type { IconButtonProps } from './components/buttons/IconButton/IconButton';
|
|
43
|
+
export { IconButton } from './components/buttons/IconButton/IconButton';
|
|
44
|
+
export type { InlineIconButtonProps } from './components/buttons/InlineIconButton/InlineIconButton';
|
|
45
|
+
export { InlineIconButton } from './components/buttons/InlineIconButton/InlineIconButton';
|
|
46
|
+
export type { PillButtonProps } from './components/buttons/PillButton/PillButton';
|
|
47
|
+
export { PillButton } from './components/buttons/PillButton/PillButton';
|
|
48
|
+
export type { PillButtonVariants } from './components/buttons/PillButton/pillButton.cva';
|
|
49
|
+
export type { SplitButtonProps } from './components/buttons/SplitButton/SplitButton';
|
|
50
|
+
export { SplitButton } from './components/buttons/SplitButton/SplitButton';
|
|
51
|
+
export type { TextButtonProps } from './components/buttons/TextButton/TextButton';
|
|
52
|
+
export { TextButton } from './components/buttons/TextButton/TextButton';
|
|
53
|
+
export type { ToggleButtonProps } from './components/buttons/ToggleButton/ToggleButton';
|
|
54
|
+
export { ToggleButton } from './components/buttons/ToggleButton/ToggleButton';
|
|
55
|
+
export type { CheckboxProps, ControlledCheckboxProps } from './components/inputs/Checkbox/Checkbox';
|
|
56
|
+
export { Checkbox } from './components/inputs/Checkbox/Checkbox';
|
|
57
|
+
export type { CheckboxVariantProps } from './components/inputs/Checkbox/checkbox.cva';
|
|
58
|
+
export type { ControlledDatePickerProps, DatePickerProps } from './components/inputs/DateTime/DatePicker/DatePicker';
|
|
59
|
+
export { DatePicker } from './components/inputs/DateTime/DatePicker/DatePicker';
|
|
60
|
+
export type { ControlledDateRangePickerProps, DateRangePickerProps, } from './components/inputs/DateTime/DateRangePicker/DateRangePicker';
|
|
61
|
+
export { DateRangePicker } from './components/inputs/DateTime/DateRangePicker/DateRangePicker';
|
|
62
|
+
export type { ControlledDateTimePickerProps, DateTimePickerProps, } from './components/inputs/DateTime/DateTimePicker/DateTimePicker';
|
|
63
|
+
export { DateTimePicker } from './components/inputs/DateTime/DateTimePicker/DateTimePicker';
|
|
64
|
+
export type { ControlledTimePickerProps, TimePickerProps } from './components/inputs/DateTime/TimePicker/TimePicker';
|
|
65
|
+
export { TimePicker } from './components/inputs/DateTime/TimePicker/TimePicker';
|
|
66
|
+
export type { FileUploadError, FileUploadProps, FileUploadRequest, FileUploadState, } from './components/inputs/File/FileUpload';
|
|
67
|
+
export { FileUpload } from './components/inputs/File/FileUpload';
|
|
68
|
+
export type { FileUploadContainerProps } from './components/inputs/File/FileUploadContainer';
|
|
69
|
+
export { FileUploadContainer } from './components/inputs/File/FileUploadContainer';
|
|
70
|
+
export type { InputUploadProps } from './components/inputs/File/InputUpload';
|
|
71
|
+
export { InputUpload } from './components/inputs/File/InputUpload';
|
|
72
|
+
export type { FormFieldProps } from './components/inputs/FormField/FormField';
|
|
73
|
+
export { FormField } from './components/inputs/FormField/FormField';
|
|
74
|
+
export type { ControlledNumberInputProps, NumberInputProps } from './components/inputs/Input/NumberInput/NumberInput';
|
|
75
|
+
export { NumberInput } from './components/inputs/Input/NumberInput/NumberInput';
|
|
76
|
+
export type { ControlledPasswordInputProps, PasswordInputProps, } from './components/inputs/Input/PasswordInput/PasswordInput';
|
|
77
|
+
export { PasswordInput } from './components/inputs/Input/PasswordInput/PasswordInput';
|
|
78
|
+
export type { ControlledTextAreaProps, TextAreaProps } from './components/inputs/Input/TextArea/TextArea';
|
|
79
|
+
export { TextArea } from './components/inputs/Input/TextArea/TextArea';
|
|
80
|
+
export type { ControlledTextInputProps, TextInputProps } from './components/inputs/Input/TextInput/TextInput';
|
|
81
|
+
export { TextInput } from './components/inputs/Input/TextInput/TextInput';
|
|
82
|
+
export { Form } from './components/inputs/Inputs/Form';
|
|
83
|
+
export type { InputDef } from './components/inputs/Inputs/InputItem';
|
|
84
|
+
export type { InputsProps } from './components/inputs/Inputs/Inputs';
|
|
85
|
+
export { Inputs } from './components/inputs/Inputs/Inputs';
|
|
86
|
+
export type { ControlledRadioGroupProps, RadioGroupProps } from './components/inputs/RadioGroup/RadioGroup';
|
|
87
|
+
export { RadioGroup } from './components/inputs/RadioGroup/RadioGroup';
|
|
88
|
+
export type { RadioVariantProps } from './components/inputs/RadioGroup/radio.cva';
|
|
89
|
+
export type { AutocompleteProps, ControlledAutocompleteProps, } from './components/inputs/Selection/Autocomplete/Autocomplete';
|
|
90
|
+
export { Autocomplete } from './components/inputs/Selection/Autocomplete/Autocomplete';
|
|
91
|
+
export { QueryAutocomplete } from './components/inputs/Selection/Autocomplete/QueryAutocomplete';
|
|
92
|
+
export type { ControlledSelectProps, SelectProps } from './components/inputs/Selection/Select/Select';
|
|
93
|
+
export { Select } from './components/inputs/Selection/Select/Select';
|
|
94
|
+
export type { ControlledSliderProps, SliderProps } from './components/inputs/Slider/Slider';
|
|
95
|
+
export { Slider } from './components/inputs/Slider/Slider';
|
|
96
|
+
export type { InputVariantProps } from './components/inputs/shared/input.cva';
|
|
97
|
+
export type { ControlledTextEditorProps, TextEditorProps, TextEditorValue, } from './components/inputs/TextEditor/TextEditor';
|
|
98
|
+
export { TextEditor } from './components/inputs/TextEditor/TextEditor';
|
|
99
|
+
export type { ControlledToggleProps, ToggleProps } from './components/inputs/Toggle/Toggle';
|
|
100
|
+
export { Toggle } from './components/inputs/Toggle/Toggle';
|
|
101
|
+
export type { MenuProps } from './components/Menu/Menu';
|
|
102
|
+
export { Menu } from './components/Menu/Menu';
|
|
103
|
+
export type { MenuPopoverProps } from './components/Menu/MenuPopover';
|
|
104
|
+
export { MenuPopover } from './components/Menu/MenuPopover';
|
|
105
|
+
export { uiOutlineClass } from './components/outline.clsx';
|
|
106
|
+
export type { ActionModalProps } from './components/overlays/ActionModal/ActionModal';
|
|
107
|
+
export { ActionModal } from './components/overlays/ActionModal/ActionModal';
|
|
108
|
+
export type { BottomSheetProps } from './components/overlays/BottomSheet/BottomSheet';
|
|
109
|
+
export { BottomSheet } from './components/overlays/BottomSheet/BottomSheet';
|
|
110
|
+
export type { DrawerProps } from './components/overlays/Drawer/Drawer';
|
|
111
|
+
export { Drawer } from './components/overlays/Drawer/Drawer';
|
|
112
|
+
export type { ModalProps } from './components/overlays/Modal/Modal';
|
|
113
|
+
export { Modal } from './components/overlays/Modal/Modal';
|
|
114
|
+
export type { ResponsivePopoverProps } from './components/overlays/ResponsivePopover/ResponsivePopover';
|
|
115
|
+
export { ResponsivePopover } from './components/overlays/ResponsivePopover/ResponsivePopover';
|
|
116
|
+
export type { TooltipProps } from './components/overlays/Tooltip/Tooltip';
|
|
117
|
+
export { Tooltip } from './components/overlays/Tooltip/Tooltip';
|
|
118
|
+
export type { TooltipEllipsisProps } from './components/overlays/Tooltip/TooltipEllipsis';
|
|
119
|
+
export { TooltipEllipsis } from './components/overlays/Tooltip/TooltipEllipsis';
|
|
120
|
+
export { Segment } from './components/segment/Segment';
|
|
121
|
+
export type { ControlledSegmentProps, SegmentProps } from './components/segment/segment.types';
|
|
122
|
+
export type { PaginationProps } from './components/shared/pagination/Pagination';
|
|
123
|
+
export { Pagination } from './components/shared/pagination/Pagination';
|
|
124
|
+
export { PaginationList } from './components/shared/pagination/PaginationList';
|
|
125
|
+
export type { AlertProps } from './components/status/Alert/Alert';
|
|
126
|
+
export { Alert } from './components/status/Alert/Alert';
|
|
127
|
+
export type { LoaderProps } from './components/status/Loader/Loader';
|
|
128
|
+
export { Loader } from './components/status/Loader/Loader';
|
|
129
|
+
export type { ToastAction, ToastProps } from './components/status/Toast/Toast';
|
|
130
|
+
export { Toast, ToastContainer } from './components/status/Toast/Toast';
|
|
131
|
+
export type { ToastVariantProps } from './components/status/Toast/toast.cva';
|
|
132
|
+
export { useToast } from './components/status/Toast/useToast';
|
|
133
|
+
export type { CellTextProps } from './components/table/CellText';
|
|
134
|
+
export { CellText } from './components/table/CellText';
|
|
135
|
+
export type { ColumnConfigModalProps } from './components/table/ColumnConfig';
|
|
136
|
+
export { ColumnConfigModal } from './components/table/ColumnConfig';
|
|
137
|
+
export type { HeaderTextProps } from './components/table/HeaderText';
|
|
138
|
+
export { HeaderText } from './components/table/HeaderText';
|
|
139
|
+
export type { InfiniteTableProps, InfiniteTableWrapperProps } from './components/table/InfiniteTable';
|
|
140
|
+
export { InfiniteTable } from './components/table/InfiniteTable';
|
|
141
|
+
export type { PaginatedTableProps, PaginatedTableWrapperProps } from './components/table/PaginatedTable';
|
|
142
|
+
export { PaginatedTable } from './components/table/PaginatedTable';
|
|
143
|
+
export type { TableProps, TableWrapperProps } from './components/table/Table';
|
|
144
|
+
export { Table } from './components/table/Table';
|
|
145
|
+
export type { TableRowVariantProps } from './components/table/table.cva';
|
|
146
|
+
export type { LinkProps } from './components/text/Link/Link';
|
|
147
|
+
export { Link } from './components/text/Link/Link';
|
|
148
|
+
export type { LinkVariantProps } from './components/text/Link/link.cva';
|
|
149
|
+
export type { TagProps } from './components/text/Tag/Tag';
|
|
150
|
+
export { Tag } from './components/text/Tag/Tag';
|
|
151
|
+
export type { TagVariantProps } from './components/text/Tag/tag.cva';
|
|
152
|
+
export type { TypographyProps } from './components/text/Typography/Typography';
|
|
153
|
+
export { Typography } from './components/text/Typography/Typography';
|
|
154
|
+
export type { TypographyVariantProps } from './components/text/Typography/typography.cva';
|
|
155
|
+
export { Confirmation } from './config/confirmation.context';
|
|
156
|
+
export { ns, resources } from './config/i18n';
|
|
157
|
+
export { UIRouter } from './config/router.context';
|
|
158
|
+
export { UIConfig } from './config/uiConfig.context';
|
|
159
|
+
export { UIStyle } from './config/uiStyle.context';
|
|
160
|
+
export type { DynamicColumnsOptions } from './helpers/dynamicColumns';
|
|
161
|
+
export { dynamicColumns } from './helpers/dynamicColumns';
|
|
162
|
+
export type { DynamicInputsOptions } from './helpers/dynamicInputs';
|
|
163
|
+
export { dynamicInputs } from './helpers/dynamicInputs';
|
|
164
|
+
export { useAutosave } from './hooks/useAutosave';
|
|
165
|
+
export { useBreakpoint } from './hooks/useBreakpoint';
|
|
166
|
+
export { useDebounceCallback } from './hooks/useDebounceCallback';
|
|
167
|
+
export { useDeepCompareEffect, useDeepCompareLayoutEffect, useDeepCompareMemo } from './hooks/useDeepCompare';
|
|
168
|
+
export type { FilterStore } from './hooks/useFilters';
|
|
169
|
+
export { useFilters } from './hooks/useFilters';
|
|
170
|
+
export type { UseFormProps, UseFormResolverProps } from './hooks/useForm';
|
|
171
|
+
export { useForm } from './hooks/useForm';
|
|
172
|
+
export type { UseFormAutosaveProps } from './hooks/useFormAutosave';
|
|
173
|
+
export { useFormAutosave } from './hooks/useFormAutosave';
|
|
174
|
+
export { useIntersectionObserver } from './hooks/useIntersectionObserver';
|
|
175
|
+
export { useLocalStorage } from './hooks/useLocalStorage';
|
|
176
|
+
export { useLongPressRepeat } from './hooks/useLongPressRepeat';
|
|
177
|
+
export { usePagination } from './hooks/usePagination';
|
|
178
|
+
export { useScrollableListBox } from './hooks/useScrollableListBox';
|
|
179
|
+
export { useSingletonMutation } from './hooks/useSingletonMutation';
|
|
180
|
+
export { useSorting } from './hooks/useSorting';
|
|
181
|
+
export { useStateAndRef } from './hooks/useStateAndRef';
|
|
182
|
+
export { useTableColumnConfig } from './hooks/useTableColumnConfig';
|
|
183
|
+
export { useTableNav } from './hooks/useTableNav';
|
|
184
|
+
export { useTranslationMemo } from './hooks/useTranslationMemo';
|
|
185
|
+
export type { Function, HasRequiredProperty, IfAny, IsAny, IsRequiredChildrenProperty, IsUnknown, OmitDiscriminatedUnion, } from './types/common';
|
|
186
|
+
export type { AppInfiniteQueryOptions, AppMutationOptions, AppQueryOptions } from './types/react-query';
|
|
187
|
+
export { ArrayUtils } from './utils/array.utils';
|
|
188
|
+
export { type CompoundMapper, compoundMapper } from './utils/compoundMapper';
|
|
189
|
+
export { DateUtils } from './utils/date.utils';
|
|
190
|
+
export { DateTimeUtils } from './utils/date-time.utils';
|
|
191
|
+
export { DomUtils } from './utils/dom.utils';
|
|
192
|
+
export { FileUtils } from './utils/file.utils';
|
|
193
|
+
export { isEqual } from './utils/isEqual';
|
|
194
|
+
export { logger } from './utils/logger';
|
|
195
|
+
export { ObjectUtils } from './utils/object.utils';
|
|
196
|
+
export { QueriesUtils } from './utils/queries.utils';
|
|
197
|
+
export { LoggingInterceptor } from './utils/rest/interceptors/logging.interceptor';
|
|
198
|
+
export { ResponseInterceptor } from './utils/rest/interceptors/response.interceptor';
|
|
199
|
+
export { RestInterceptor } from './utils/rest/interceptors/rest-interceptor';
|
|
200
|
+
export { RestUtils } from './utils/rest/rest.utils';
|
|
201
|
+
export { RestClient } from './utils/rest/rest-client';
|
|
202
|
+
export { RoutingUtils } from './utils/routing.utils';
|
|
203
|
+
export { StringUtils } from './utils/string.utils';
|
|
204
|
+
export type { GeneralErrorCodes } from './utils/vendor/error-handling';
|
|
205
|
+
export { ApplicationException, ErrorHandler, SharedErrorHandler } from './utils/vendor/error-handling';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentProps, FC, PropsWithChildren } from 'react';
|
|
2
|
+
export type Function = (...args: any) => any;
|
|
3
|
+
export type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
|
|
4
|
+
export type IsAny<T> = IfAny<T, true, never>;
|
|
5
|
+
export type IsUnknown<T, Y, N = T> = IsAny<T> extends never ? (unknown extends T ? Y : N) : N;
|
|
6
|
+
export type OmitDiscriminatedUnion<T, K> = {
|
|
7
|
+
[P in keyof T as Exclude<P, K & keyof any>]: T[P];
|
|
8
|
+
};
|
|
9
|
+
export type HasRequiredProperty<T> = {
|
|
10
|
+
[K in keyof T]-?: Record<string, never> extends Pick<T, K> ? never : K;
|
|
11
|
+
}[keyof T];
|
|
12
|
+
export type IsRequiredChildrenProperty<T extends FC<PropsWithChildren<any>>, Y, N> = HasRequiredProperty<Omit<ComponentProps<T>, "children">> extends never ? Y : N;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from '@tanstack/react-query';
|
|
2
|
+
import { ApplicationException, GeneralErrorCodes } from '#ui/utils/vendor/error-handling';
|
|
3
|
+
import { Function, IsUnknown } from './common';
|
|
4
|
+
export type AppQueryOptions<TFunction extends Function, TData = Awaited<ReturnType<TFunction>>, TErrorCodes = GeneralErrorCodes> = Omit<UseQueryOptions<Awaited<ReturnType<TFunction>>, ApplicationException<TErrorCodes>, IsUnknown<TData, Awaited<ReturnType<TFunction>>>>, "queryKey" | "queryFn">;
|
|
5
|
+
export type AppMutationOptions<TFunction extends Function, TVariables = void, TData = Awaited<ReturnType<TFunction>>, TErrorCodes = GeneralErrorCodes> = Omit<UseMutationOptions<TData, ApplicationException<TErrorCodes>, TVariables>, "mutationKey" | "mutationFn">;
|
|
6
|
+
export type AppInfiniteQueryOptions<TFunction extends Function, TData = InfiniteData<Awaited<ReturnType<TFunction>>>, TErrorCodes = GeneralErrorCodes, TQueryKey extends QueryKey = QueryKey, TPageParam = number> = Omit<UseInfiniteQueryOptions<Awaited<ReturnType<TFunction>>, ApplicationException<TErrorCodes>, IsUnknown<TData, InfiniteData<Awaited<ReturnType<TFunction>>>>, TQueryKey, TPageParam>, "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam">;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface Prop<T> {
|
|
2
|
+
value: T;
|
|
3
|
+
}
|
|
4
|
+
type ConfigSchema = Record<string, any>;
|
|
5
|
+
type ConfigVariants<T extends ConfigSchema> = {
|
|
6
|
+
[Variant in keyof T]?: T[Variant] | null | undefined;
|
|
7
|
+
};
|
|
8
|
+
type ConfigVariantsMulti<T extends ConfigSchema> = {
|
|
9
|
+
[Variant in keyof T]?: T[Variant] | T[Variant][] | undefined;
|
|
10
|
+
};
|
|
11
|
+
interface Config<T, R> {
|
|
12
|
+
default?: R;
|
|
13
|
+
compoundVariants?: (T extends ConfigSchema ? (ConfigVariants<T> | ConfigVariantsMulti<T>) & Prop<R> : Prop<R>)[];
|
|
14
|
+
defaultVariants?: Partial<T>;
|
|
15
|
+
}
|
|
16
|
+
type Props<T> = T extends ConfigSchema ? ConfigVariants<T> : never;
|
|
17
|
+
export type CompoundMapper<ReturnType, Variants extends ConfigSchema> = (props: Props<Variants>) => NonNullable<ReturnType> | undefined;
|
|
18
|
+
export declare const compoundMapper: <ReturnType, Variants extends ConfigSchema>(config: Config<Variants, NonNullable<ReturnType>>) => (props: Props<Variants>) => NonNullable<ReturnType> | undefined;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CalendarDate, CalendarDateTime, DateValue, ZonedDateTime } from '@internationalized/date';
|
|
2
|
+
export declare namespace DateTimeUtils {
|
|
3
|
+
function fromISOtoZonedDateTime(isoString: string): ZonedDateTime;
|
|
4
|
+
function fromDateValueToISO(dateValue: DateValue): string;
|
|
5
|
+
function fromLocalToZonedDateTime(date: Date): ZonedDateTime;
|
|
6
|
+
function fromDateValueToLocal(dateValue: DateValue): Date;
|
|
7
|
+
function fromCalendarDateToUTCISO(calendarDate: CalendarDate, options?: {
|
|
8
|
+
endOfDay?: boolean;
|
|
9
|
+
}): string;
|
|
10
|
+
function fromUTCISOToCalendarDate(isoString: string): CalendarDate;
|
|
11
|
+
function fromCalendarDateTimeToUTCISO(calendarDateTime: CalendarDateTime): string;
|
|
12
|
+
function fromUTCISOToCalendarDateTime(isoString: string): CalendarDateTime;
|
|
13
|
+
function formatTextDateToCalendarDateTime(textDate: string | null): CalendarDateTime | null;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
export declare namespace FileUtils {
|
|
3
|
+
const getObjectUrl: (data: Blob | AxiosResponse<Blob>, revokeTimeoutMs?: number) => string;
|
|
4
|
+
const openFile: (data: Blob | AxiosResponse<Blob>, target?: string, revokeTimeoutMs?: number) => void;
|
|
5
|
+
const downloadFile: (data: Blob | AxiosResponse<Blob>, fileName?: string, revokeTimeoutMs?: number) => void;
|
|
6
|
+
const isFileTypeAccepted: (file: File, fileTypes?: readonly string[] | string[]) => boolean;
|
|
7
|
+
const getCalculatedFileSize: (file?: File) => string;
|
|
8
|
+
const formatBytes: (size: number, decimals?: number) => string;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isEqual: (a: any, b: any) => boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare namespace ObjectUtils {
|
|
2
|
+
const isNil: (obj: unknown) => obj is null | undefined;
|
|
3
|
+
const isFunction: (obj: unknown) => obj is Function;
|
|
4
|
+
const isObject: (obj: unknown) => obj is object;
|
|
5
|
+
const isString: (obj: unknown) => obj is string;
|
|
6
|
+
const isDate: (obj: unknown) => obj is Date;
|
|
7
|
+
const isRegExp: (obj: unknown) => obj is RegExp;
|
|
8
|
+
const isEmpty: (obj: unknown) => boolean;
|
|
9
|
+
const deepConditionalMerge: <T extends object>(target: Partial<T>, source: Partial<T>, condition: (value: unknown, key: string) => boolean) => T;
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
export declare class RestInterceptor<T extends any[]> {
|
|
3
|
+
private applyInterceptor;
|
|
4
|
+
private interceptorIdMap;
|
|
5
|
+
constructor(applyInterceptor: (client: AxiosInstance, ...args: T) => number);
|
|
6
|
+
addInterceptor(client: AxiosInstance, ...args: T): void;
|
|
7
|
+
removeInterceptor(client: AxiosInstance): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse, CreateAxiosDefaults } from 'axios';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { RestInterceptor } from '#ui/utils/rest/interceptors/rest-interceptor';
|
|
4
|
+
import { ErrorHandler, GeneralErrorCodes } from '#ui/utils/vendor/error-handling';
|
|
5
|
+
interface RequestInfo<ZOutput, ECodes extends string> {
|
|
6
|
+
resSchema: z.ZodType<ZOutput>;
|
|
7
|
+
errorHandler?: ErrorHandler<ECodes>;
|
|
8
|
+
}
|
|
9
|
+
interface RequestConfig<IsRawRes extends boolean = false> {
|
|
10
|
+
rawResponse?: IsRawRes;
|
|
11
|
+
}
|
|
12
|
+
type Response<ZOutput, IsRawRes extends boolean = false> = IsRawRes extends true ? AxiosResponse<ZOutput> : ZOutput;
|
|
13
|
+
export declare class RestClient {
|
|
14
|
+
private client;
|
|
15
|
+
constructor({ config, interceptors, }?: {
|
|
16
|
+
config?: CreateAxiosDefaults;
|
|
17
|
+
interceptors?: RestInterceptor<any[]>[];
|
|
18
|
+
});
|
|
19
|
+
attachInterceptors<T extends any[]>(interceptors?: RestInterceptor<T>[], ...args: T): void;
|
|
20
|
+
attachInterceptor<T extends any[]>(interceptor: RestInterceptor<T>, ...args: T): void;
|
|
21
|
+
ejectInterceptor<T extends any[]>(interceptor: RestInterceptor<T>): void;
|
|
22
|
+
get<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
23
|
+
post<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
24
|
+
patch<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
25
|
+
put<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
26
|
+
delete<ZOutput, ECodes extends string = GeneralErrorCodes, IsRawRes extends boolean = false>(requestInfo: RequestInfo<ZOutput, ECodes>, url: string, data?: any, requestConfig?: AxiosRequestConfig & RequestConfig<IsRawRes>): Promise<Response<ZOutput, IsRawRes>>;
|
|
27
|
+
private makeRequest;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AxiosError, AxiosResponseHeaders } from 'axios';
|
|
2
|
+
export declare namespace RestUtils {
|
|
3
|
+
const extractServerResponseCode: (e: unknown) => string | null;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated should use response codes instead
|
|
6
|
+
*/
|
|
7
|
+
const doesServerErrorMessageContain: (e: AxiosError, text: string) => boolean;
|
|
8
|
+
const extractServerErrorMessage: (e: unknown) => string | null;
|
|
9
|
+
const extractContentDispositionFilename: (headers: AxiosResponseHeaders) => string | undefined;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type GeneralErrorCodes = "DATA_VALIDATION_ERROR" | "NETWORK_ERROR" | "CANCELED_ERROR" | "INTERNAL_ERROR" | "UNKNOWN_ERROR";
|
|
2
|
+
export declare class ApplicationException<CodeT> extends Error {
|
|
3
|
+
code: CodeT;
|
|
4
|
+
serverMessage: string | null;
|
|
5
|
+
constructor(message: string, code: CodeT, serverMessage: string | null);
|
|
6
|
+
}
|
|
7
|
+
interface ErrorEntry<CodeT> {
|
|
8
|
+
code: CodeT;
|
|
9
|
+
condition: (error: unknown) => boolean;
|
|
10
|
+
getMessage: (error: unknown) => string;
|
|
11
|
+
}
|
|
12
|
+
export declare class ErrorHandler<CodeT extends string> {
|
|
13
|
+
entries: ErrorEntry<CodeT | GeneralErrorCodes>[];
|
|
14
|
+
constructor(entries: ErrorEntry<CodeT>[]);
|
|
15
|
+
rethrowError(error: unknown): ApplicationException<CodeT | GeneralErrorCodes>;
|
|
16
|
+
getError(error: unknown): ApplicationException<CodeT | GeneralErrorCodes> | null;
|
|
17
|
+
getErrorCode(error: unknown): CodeT | GeneralErrorCodes | null;
|
|
18
|
+
static getErrorMessage(error: unknown, fallbackToUnknown?: boolean): string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare const SharedErrorHandler: ErrorHandler<never>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare namespace ZodUtils {
|
|
3
|
+
type UnwrapZod<T> = T extends z.ZodOptional<infer U> ? UnwrapZod<U> : T extends z.ZodNullable<infer U> ? UnwrapZod<U> : T;
|
|
4
|
+
type IsZodType<T, Z> = UnwrapZod<T> extends Z ? true : false;
|
|
5
|
+
type IsZodNumber<T> = IsZodType<T, z.ZodNumber>;
|
|
6
|
+
type IsZodEnum<T> = IsZodType<T, z.ZodEnum<any>>;
|
|
7
|
+
type IsZodDateTime<T> = IsZodType<T, z.ZodISODateTime>;
|
|
8
|
+
type IsZodString<T> = IsZodType<T, z.ZodString>;
|
|
9
|
+
type IsZodEmail<T> = IsZodType<T, z.ZodEmail>;
|
|
10
|
+
type IsZodDateRange<T> = UnwrapZod<T> extends z.ZodObject ? UnwrapZod<UnwrapZod<T>["shape"]["start"]> extends z.ZodISODateTime ? UnwrapZod<UnwrapZod<T>["shape"]["end"]> extends z.ZodISODateTime ? true : false : false : false;
|
|
11
|
+
type IsZodTextEditor<T> = UnwrapZod<T> extends z.ZodObject ? UnwrapZod<UnwrapZod<T>["shape"]["html"]> extends z.ZodString ? UnwrapZod<UnwrapZod<T>["shape"]["json"]> extends z.ZodObject<any> ? true : false : false : false;
|
|
12
|
+
type IsZodObject<T> = IsZodType<T, z.ZodObject<any>>;
|
|
13
|
+
type IsZodArray<T> = IsZodType<T, z.ZodArray<any>>;
|
|
14
|
+
type ZodType<T> = IsZodType<T, z.ZodBoolean> extends true ? "boolean" : IsZodNumber<T> extends true ? "number" : IsZodEnum<T> extends true ? "enum" : IsZodDateTime<T> extends true ? "datetime" : IsZodString<T> extends true ? "string" : IsZodEmail<T> extends true ? "email" : IsZodDateRange<T> extends true ? "dateRange" : IsZodTextEditor<T> extends true ? "textEditor" : IsZodObject<T> extends true ? "object" : IsZodArray<T> extends true ? "array" : never;
|
|
15
|
+
type ZodTypeSwitch<TZodType extends z.ZodType, T extends Record<ZodType<TZodType> | "unknown", unknown>> = ZodType<TZodType> extends never ? never : T[ZodType<TZodType>];
|
|
16
|
+
const unwrapZodType: (schemaType: z.core.$ZodType) => z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
17
|
+
const isDateRange: (schemaType: z.core.$ZodType) => boolean;
|
|
18
|
+
const isTextEditor: (schemaType: z.core.$ZodType) => boolean;
|
|
19
|
+
}
|