@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.
Files changed (243) hide show
  1. package/package.json +17 -0
  2. package/povio-ui-0.0.1.tgz +0 -0
  3. package/src/assets/icons/AlignCenter.d.ts +2 -0
  4. package/src/assets/icons/AlignLeft.d.ts +2 -0
  5. package/src/assets/icons/AlignLeftRight.d.ts +2 -0
  6. package/src/assets/icons/AlignRight.d.ts +2 -0
  7. package/src/assets/icons/ArrowDropDown.d.ts +2 -0
  8. package/src/assets/icons/ArrowDropUp.d.ts +2 -0
  9. package/src/assets/icons/ArrowLeft.d.ts +2 -0
  10. package/src/assets/icons/ArrowRight.d.ts +2 -0
  11. package/src/assets/icons/Bold.d.ts +2 -0
  12. package/src/assets/icons/BulletedList.d.ts +2 -0
  13. package/src/assets/icons/Calendar.d.ts +2 -0
  14. package/src/assets/icons/Check.d.ts +2 -0
  15. package/src/assets/icons/CheckCircle.d.ts +2 -0
  16. package/src/assets/icons/CheckboxCheckmark.d.ts +2 -0
  17. package/src/assets/icons/CheckboxIndeterminate.d.ts +2 -0
  18. package/src/assets/icons/ChevronDown.d.ts +2 -0
  19. package/src/assets/icons/ChevronLeft.d.ts +2 -0
  20. package/src/assets/icons/ChevronRight.d.ts +2 -0
  21. package/src/assets/icons/ChevronUp.d.ts +2 -0
  22. package/src/assets/icons/ChevronsLeft.d.ts +2 -0
  23. package/src/assets/icons/ChevronsRight.d.ts +2 -0
  24. package/src/assets/icons/Clock.d.ts +2 -0
  25. package/src/assets/icons/Close.d.ts +2 -0
  26. package/src/assets/icons/DateTime.d.ts +2 -0
  27. package/src/assets/icons/Drag.d.ts +2 -0
  28. package/src/assets/icons/File.d.ts +2 -0
  29. package/src/assets/icons/Highlight.d.ts +2 -0
  30. package/src/assets/icons/HighlightOn.d.ts +6 -0
  31. package/src/assets/icons/Info.d.ts +2 -0
  32. package/src/assets/icons/Italic.d.ts +2 -0
  33. package/src/assets/icons/Link.d.ts +2 -0
  34. package/src/assets/icons/Menu.d.ts +2 -0
  35. package/src/assets/icons/NumberedList.d.ts +2 -0
  36. package/src/assets/icons/PointerHorizontal.d.ts +2 -0
  37. package/src/assets/icons/PointerVertical.d.ts +2 -0
  38. package/src/assets/icons/Send.d.ts +2 -0
  39. package/src/assets/icons/Strikethrough.d.ts +2 -0
  40. package/src/assets/icons/TextColor.d.ts +6 -0
  41. package/src/assets/icons/Today.d.ts +2 -0
  42. package/src/assets/icons/Underlined.d.ts +2 -0
  43. package/src/assets/icons/Upload.d.ts +2 -0
  44. package/src/assets/icons/View.d.ts +2 -0
  45. package/src/assets/icons/ViewOff.d.ts +2 -0
  46. package/src/assets/icons/Warningfilled.d.ts +2 -0
  47. package/src/components/Menu/Menu.d.ts +14 -0
  48. package/src/components/Menu/MenuDesktop.d.ts +2 -0
  49. package/src/components/Menu/MenuItem.d.ts +5 -0
  50. package/src/components/Menu/MenuMobile.d.ts +2 -0
  51. package/src/components/Menu/MenuPopover.d.ts +5 -0
  52. package/src/components/buttons/Button/Button.d.ts +27 -0
  53. package/src/components/buttons/Button/button.cva.d.ts +30 -0
  54. package/src/components/buttons/IconButton/IconButton.d.ts +10 -0
  55. package/src/components/buttons/InlineIconButton/InlineIconButton.d.ts +11 -0
  56. package/src/components/buttons/PillButton/PillButton.d.ts +11 -0
  57. package/src/components/buttons/PillButton/pillButton.cva.d.ts +14 -0
  58. package/src/components/buttons/SplitButton/SplitButton.d.ts +10 -0
  59. package/src/components/buttons/TextButton/TextButton.d.ts +11 -0
  60. package/src/components/buttons/ToggleButton/ToggleButton.d.ts +9 -0
  61. package/src/components/buttons/shared/ButtonContent.d.ts +16 -0
  62. package/src/components/buttons/shared/buttonContent.cva.d.ts +6 -0
  63. package/src/components/inputs/Checkbox/Checkbox.d.ts +17 -0
  64. package/src/components/inputs/Checkbox/CheckboxCheckmark.d.ts +9 -0
  65. package/src/components/inputs/Checkbox/checkbox.cva.d.ts +11 -0
  66. package/src/components/inputs/DateTime/DatePicker/DatePicker.d.ts +24 -0
  67. package/src/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +32 -0
  68. package/src/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +22 -0
  69. package/src/components/inputs/DateTime/TimePicker/TimePicker.d.ts +20 -0
  70. package/src/components/inputs/DateTime/shared/Calendar.d.ts +20 -0
  71. package/src/components/inputs/DateTime/shared/CalendarCell.d.ts +20 -0
  72. package/src/components/inputs/DateTime/shared/CalendarGrid.d.ts +25 -0
  73. package/src/components/inputs/DateTime/shared/CalendarHeader.d.ts +16 -0
  74. package/src/components/inputs/DateTime/shared/CalendarSelectHeader.d.ts +17 -0
  75. package/src/components/inputs/DateTime/shared/DateField.d.ts +12 -0
  76. package/src/components/inputs/DateTime/shared/DatePickerInput.d.ts +20 -0
  77. package/src/components/inputs/DateTime/shared/DateSegmentItem.d.ts +11 -0
  78. package/src/components/inputs/DateTime/shared/DateTimeDialog.d.ts +15 -0
  79. package/src/components/inputs/DateTime/shared/DateTimeDialogFooter.d.ts +7 -0
  80. package/src/components/inputs/DateTime/shared/MonthPicker.d.ts +7 -0
  81. package/src/components/inputs/DateTime/shared/RangeCalendar.d.ts +26 -0
  82. package/src/components/inputs/DateTime/shared/TimeField.d.ts +12 -0
  83. package/src/components/inputs/DateTime/shared/TimePickerForm.d.ts +10 -0
  84. package/src/components/inputs/DateTime/shared/TimePickerInput.d.ts +18 -0
  85. package/src/components/inputs/DateTime/shared/YearPicker.d.ts +8 -0
  86. package/src/components/inputs/File/FileUpload.d.ts +4 -0
  87. package/src/components/inputs/File/FileUploadContainer.d.ts +3 -0
  88. package/src/components/inputs/File/InputUpload.d.ts +4 -0
  89. package/src/components/inputs/File/fileUpload.types.d.ts +79 -0
  90. package/src/components/inputs/File/index.d.ts +9 -0
  91. package/src/components/inputs/File/inputUpload.types.d.ts +30 -0
  92. package/src/components/inputs/File/shared/FileCard.d.ts +9 -0
  93. package/src/components/inputs/File/shared/FileCardList.d.ts +9 -0
  94. package/src/components/inputs/File/shared/FileProgressBar.d.ts +3 -0
  95. package/src/components/inputs/File/shared/FileUploadContent.d.ts +10 -0
  96. package/src/components/inputs/File/shared/FileUploadContentEmpty.d.ts +9 -0
  97. package/src/components/inputs/File/shared/FileUploadContentError.d.ts +11 -0
  98. package/src/components/inputs/File/shared/FileUploadContentFilled.d.ts +11 -0
  99. package/src/components/inputs/File/shared/FileUploadContentLoading.d.ts +9 -0
  100. package/src/components/inputs/File/shared/InputUploadContent.d.ts +8 -0
  101. package/src/components/inputs/File/shared/InputUploadFilled.d.ts +7 -0
  102. package/src/components/inputs/File/shared/fileUpload.cva.d.ts +11 -0
  103. package/src/components/inputs/File/shared/inputUploadButton.cva.d.ts +10 -0
  104. package/src/components/inputs/FormField/FormField.d.ts +17 -0
  105. package/src/components/inputs/FormField/FormFieldError.d.ts +7 -0
  106. package/src/components/inputs/FormField/FormFieldHeader.d.ts +14 -0
  107. package/src/components/inputs/FormField/FormFieldHeaderClose.d.ts +5 -0
  108. package/src/components/inputs/FormField/FormFieldLabel.d.ts +11 -0
  109. package/src/components/inputs/Input/NumberInput/NumberInput.d.ts +18 -0
  110. package/src/components/inputs/Input/PasswordInput/PasswordInput.d.ts +7 -0
  111. package/src/components/inputs/Input/TextArea/TextArea.d.ts +17 -0
  112. package/src/components/inputs/Input/TextInput/TextInput.d.ts +19 -0
  113. package/src/components/inputs/Input/shared/InputContent.d.ts +27 -0
  114. package/src/components/inputs/Inputs/Form.d.ts +26 -0
  115. package/src/components/inputs/Inputs/InputItem.d.ts +73 -0
  116. package/src/components/inputs/Inputs/Inputs.d.ts +10 -0
  117. package/src/components/inputs/RadioGroup/RadioGroup.d.ts +18 -0
  118. package/src/components/inputs/RadioGroup/radio.cva.d.ts +11 -0
  119. package/src/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +8 -0
  120. package/src/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +19 -0
  121. package/src/components/inputs/Selection/Select/Select.d.ts +8 -0
  122. package/src/components/inputs/Selection/shared/SelectBase.d.ts +24 -0
  123. package/src/components/inputs/Selection/shared/SelectDesktop.d.ts +5 -0
  124. package/src/components/inputs/Selection/shared/SelectInput.d.ts +15 -0
  125. package/src/components/inputs/Selection/shared/SelectListBox.d.ts +9 -0
  126. package/src/components/inputs/Selection/shared/SelectListBoxItem.d.ts +8 -0
  127. package/src/components/inputs/Selection/shared/SelectListBoxItemSelectAll.d.ts +4 -0
  128. package/src/components/inputs/Selection/shared/SelectListBoxLoadingItem.d.ts +6 -0
  129. package/src/components/inputs/Selection/shared/SelectListBoxSelectionBar.d.ts +5 -0
  130. package/src/components/inputs/Selection/shared/SelectMobile.d.ts +5 -0
  131. package/src/components/inputs/Selection/shared/select.context.d.ts +30 -0
  132. package/src/components/inputs/Selection/shared/select.types.d.ts +55 -0
  133. package/src/components/inputs/Selection/shared/useSelectItems.d.ts +23 -0
  134. package/src/components/inputs/Slider/Slider.d.ts +18 -0
  135. package/src/components/inputs/TextEditor/TextEditor.d.ts +20 -0
  136. package/src/components/inputs/TextEditor/Toolbar/ColorPicker.d.ts +7 -0
  137. package/src/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.d.ts +10 -0
  138. package/src/components/inputs/TextEditor/Toolbar/HyperlinkAction.d.ts +2 -0
  139. package/src/components/inputs/TextEditor/Toolbar/TextAlignSelect.d.ts +2 -0
  140. package/src/components/inputs/TextEditor/Toolbar/TextColorSelect.d.ts +2 -0
  141. package/src/components/inputs/TextEditor/Toolbar/TextEditorToolbar.d.ts +6 -0
  142. package/src/components/inputs/TextEditor/Toolbar/TextHighlightSelect.d.ts +2 -0
  143. package/src/components/inputs/TextEditor/Toolbar/TextListActions.d.ts +2 -0
  144. package/src/components/inputs/TextEditor/Toolbar/TextMarksActions.d.ts +2 -0
  145. package/src/components/inputs/TextEditor/Toolbar/TextStyleSelect.d.ts +2 -0
  146. package/src/components/inputs/TextEditor/textEditor.types.d.ts +5 -0
  147. package/src/components/inputs/Toggle/Toggle.d.ts +14 -0
  148. package/src/components/inputs/Toggle/toggle.cva.d.ts +10 -0
  149. package/src/components/inputs/shared/CheckContent.d.ts +7 -0
  150. package/src/components/inputs/shared/InputClear.d.ts +6 -0
  151. package/src/components/inputs/shared/form.types.d.ts +12 -0
  152. package/src/components/inputs/shared/input.cva.d.ts +22 -0
  153. package/src/components/inputs/shared/label.cva.d.ts +10 -0
  154. package/src/components/outline.clsx.d.ts +2 -0
  155. package/src/components/overlays/ActionModal/ActionModal.d.ts +19 -0
  156. package/src/components/overlays/BottomSheet/BottomSheet.d.ts +21 -0
  157. package/src/components/overlays/Drawer/Drawer.d.ts +13 -0
  158. package/src/components/overlays/Modal/Modal.d.ts +11 -0
  159. package/src/components/overlays/Modal/modal.cva.d.ts +12 -0
  160. package/src/components/overlays/ResponsivePopover/ResponsivePopover.d.ts +10 -0
  161. package/src/components/overlays/Tooltip/Tooltip.d.ts +9 -0
  162. package/src/components/overlays/Tooltip/TooltipEllipsis.d.ts +7 -0
  163. package/src/components/segment/Segment.d.ts +4 -0
  164. package/src/components/segment/SegmentItem.d.ts +2 -0
  165. package/src/components/segment/segment.types.d.ts +34 -0
  166. package/src/components/shared/pagination/Pagination.d.ts +9 -0
  167. package/src/components/shared/pagination/PaginationList.d.ts +15 -0
  168. package/src/components/shared/pagination/minWidth.cva.d.ts +3 -0
  169. package/src/components/status/Alert/Alert.d.ts +11 -0
  170. package/src/components/status/Alert/alert.cva.d.ts +7 -0
  171. package/src/components/status/Loader/Loader.d.ts +5 -0
  172. package/src/components/status/Loader/loader.cva.d.ts +9 -0
  173. package/src/components/status/Toast/Toast.d.ts +14 -0
  174. package/src/components/status/Toast/toast.cva.d.ts +18 -0
  175. package/src/components/status/Toast/useToast.d.ts +12 -0
  176. package/src/components/status/shared/status.cva.d.ts +8 -0
  177. package/src/components/table/CellText.d.ts +7 -0
  178. package/src/components/table/ColumnConfig.d.ts +10 -0
  179. package/src/components/table/HeaderText.d.ts +5 -0
  180. package/src/components/table/InfiniteTable.d.ts +9 -0
  181. package/src/components/table/PaginatedTable.d.ts +11 -0
  182. package/src/components/table/Table.d.ts +37 -0
  183. package/src/components/table/table.cva.d.ts +15 -0
  184. package/src/components/text/Link/Link.d.ts +7 -0
  185. package/src/components/text/Link/link.cva.d.ts +6 -0
  186. package/src/components/text/Tag/Tag.d.ts +10 -0
  187. package/src/components/text/Tag/tag.cva.d.ts +6 -0
  188. package/src/components/text/Typography/Typography.d.ts +11 -0
  189. package/src/components/text/Typography/typography.cva.d.ts +8 -0
  190. package/src/config/confirmation.context.d.ts +20 -0
  191. package/src/config/i18n.d.ts +315 -0
  192. package/src/config/router.context.d.ts +20 -0
  193. package/src/config/uiConfig.context.d.ts +28 -0
  194. package/src/config/uiStyle.context.d.ts +84 -0
  195. package/src/helpers/dynamicColumns.d.ts +44 -0
  196. package/src/helpers/dynamicInputs.d.ts +83 -0
  197. package/src/hooks/useAutosave.d.ts +9 -0
  198. package/src/hooks/useBreakpoint.d.ts +3 -0
  199. package/src/hooks/useDebounceCallback.d.ts +6 -0
  200. package/src/hooks/useDeepCompare.d.ts +4 -0
  201. package/src/hooks/useFilters.d.ts +7 -0
  202. package/src/hooks/useForm.d.ts +18 -0
  203. package/src/hooks/useFormAutosave.d.ts +13 -0
  204. package/src/hooks/useIntersectionObserver.d.ts +7 -0
  205. package/src/hooks/useLocalStorage.d.ts +13 -0
  206. package/src/hooks/useLongPressRepeat.d.ts +9 -0
  207. package/src/hooks/usePagination.d.ts +7 -0
  208. package/src/hooks/useScrollableListBox.d.ts +3 -0
  209. package/src/hooks/useSingletonMutation.d.ts +2 -0
  210. package/src/hooks/useSorting.d.ts +6 -0
  211. package/src/hooks/useStateAndRef.d.ts +4 -0
  212. package/src/hooks/useTableColumnConfig.d.ts +16 -0
  213. package/src/hooks/useTableNav.d.ts +84 -0
  214. package/src/hooks/useTranslationMemo.d.ts +4 -0
  215. package/src/index.d.ts +205 -0
  216. package/src/types/common.d.ts +12 -0
  217. package/src/types/react-query.d.ts +6 -0
  218. package/src/utils/array.utils.d.ts +3 -0
  219. package/src/utils/array.utils.spec.d.ts +1 -0
  220. package/src/utils/compoundMapper.d.ts +19 -0
  221. package/src/utils/compoundMapper.spec.d.ts +1 -0
  222. package/src/utils/date-time.utils.d.ts +14 -0
  223. package/src/utils/date-time.utils.spec.d.ts +1 -0
  224. package/src/utils/date.utils.d.ts +3 -0
  225. package/src/utils/date.utils.spec.d.ts +1 -0
  226. package/src/utils/dom.utils.d.ts +5 -0
  227. package/src/utils/file.utils.d.ts +9 -0
  228. package/src/utils/isEqual.d.ts +1 -0
  229. package/src/utils/logger.d.ts +7 -0
  230. package/src/utils/object.utils.d.ts +10 -0
  231. package/src/utils/queries.utils.d.ts +4 -0
  232. package/src/utils/rest/interceptors/logging.interceptor.d.ts +2 -0
  233. package/src/utils/rest/interceptors/response.interceptor.d.ts +2 -0
  234. package/src/utils/rest/interceptors/rest-interceptor.d.ts +8 -0
  235. package/src/utils/rest/rest-client.d.ts +29 -0
  236. package/src/utils/rest/rest.utils.d.ts +10 -0
  237. package/src/utils/routing.utils.d.ts +3 -0
  238. package/src/utils/string.utils.d.ts +4 -0
  239. package/src/utils/vendor/error-handling.d.ts +21 -0
  240. package/src/utils/zod.utils.d.ts +19 -0
  241. package/styles/editor.css +47 -0
  242. package/styles/index.css +1 -0
  243. 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,9 @@
1
+ export declare const useLongPressRepeat: ({ onPress, enabled, interval, timeout, }: {
2
+ onPress: (long?: boolean) => void;
3
+ enabled?: boolean;
4
+ interval?: number;
5
+ timeout?: number;
6
+ }) => {
7
+ onPressStart: () => void;
8
+ onPressEnd: () => void;
9
+ };
@@ -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,3 @@
1
+ export declare function useScrollableListBox(): {
2
+ ref: import('react').RefObject<HTMLDivElement | null>;
3
+ };
@@ -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,4 @@
1
+ import { RefObject, SetStateAction } from 'react';
2
+ type StateRefReturn<T> = [T, RefObject<T>, (value: SetStateAction<T>) => void];
3
+ export declare const useStateAndRef: <T>(initialState: T | (() => T)) => StateRefReturn<T>;
4
+ export {};
@@ -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 {};
@@ -0,0 +1,4 @@
1
+ import { TFunction } from 'i18next';
2
+ type TranslatedFunction<T> = ((t: TFunction) => T) | (() => T);
3
+ export declare function useTranslationMemo<T>(func: TranslatedFunction<T>): T;
4
+ 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,3 @@
1
+ export declare namespace ArrayUtils {
2
+ const fromCommaSeparatedStr: (str: string | null | undefined) => string[];
3
+ }
@@ -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,3 @@
1
+ export declare namespace DateUtils {
2
+ function formatDate(date: Date, format?: string): string;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { KeyboardEvent, SyntheticEvent } from 'react';
2
+ export declare namespace DomUtils {
3
+ const isKeyboardInput: (elem: Element) => boolean;
4
+ const isKeyboardEvent: (event: SyntheticEvent) => event is KeyboardEvent;
5
+ }
@@ -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,7 @@
1
+ export declare const logger: {
2
+ info: (...args: unknown[]) => void;
3
+ debug: (...args: unknown[]) => void;
4
+ warn: (...args: unknown[]) => void;
5
+ error: (...args: unknown[]) => void;
6
+ trace: (...args: unknown[]) => void;
7
+ };
@@ -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,4 @@
1
+ import { QueryClient } from '@tanstack/react-query';
2
+ export declare namespace QueriesUtils {
3
+ const prefetchMultipleQueries: (queryClient: QueryClient, queries: Array<(queryClient: QueryClient) => Promise<void>>) => Promise<void[]>;
4
+ }
@@ -0,0 +1,2 @@
1
+ import { RestInterceptor } from './rest-interceptor';
2
+ export declare const LoggingInterceptor: RestInterceptor<[]>;
@@ -0,0 +1,2 @@
1
+ import { RestInterceptor } from './rest-interceptor';
2
+ export declare const ResponseInterceptor: RestInterceptor<[]>;
@@ -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,3 @@
1
+ export declare namespace RoutingUtils {
2
+ const addQueryParams: (path: string, params: Record<string, string | number | boolean | undefined>) => string;
3
+ }
@@ -0,0 +1,4 @@
1
+ export declare namespace StringUtils {
2
+ const containsCaseInsensitive: (str: string, substr: string) => boolean;
3
+ const capitalize: (str: string) => string;
4
+ }
@@ -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
+ }