@viasoftbr/shared-ui 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/RemoteModule.d.ts +8 -0
- package/dist/components/display/Accordion.d.ts +8 -0
- package/dist/components/display/Section.d.ts +19 -0
- package/dist/components/display/Skeleton.d.ts +21 -0
- package/dist/components/display/index.d.ts +4 -0
- package/dist/components/encoder/DvB.d.ts +53 -0
- package/dist/components/encoder/Livecast.d.ts +37 -0
- package/dist/components/encoder/ViewLog.d.ts +5 -0
- package/dist/components/encoder/index.d.ts +4 -0
- package/dist/components/general/Copy2Clipboard.d.ts +4 -0
- package/dist/components/general/GridSelectionModal.d.ts +24 -0
- package/dist/components/general/Modal.d.ts +17 -0
- package/dist/components/general/Validation.d.ts +6 -0
- package/dist/components/general/index.d.ts +5 -0
- package/dist/components/groups/AudioGroup.d.ts +26 -0
- package/dist/components/groups/FilterGroup.d.ts +3 -0
- package/dist/components/groups/Middleware/Auth.d.ts +14 -0
- package/dist/components/groups/Middleware/Channels.d.ts +26 -0
- package/dist/components/groups/Middleware/MOS.d.ts +24 -0
- package/dist/components/groups/Middleware/Service.d.ts +16 -0
- package/dist/components/groups/Middleware/index.d.ts +5 -0
- package/dist/components/groups/PreviewGroup.d.ts +3 -0
- package/dist/components/groups/ProtocolGroup.d.ts +10 -0
- package/dist/components/groups/VideoGroup.d.ts +3 -0
- package/dist/components/groups/index.d.ts +7 -0
- package/dist/components/index.d.ts +11 -0
- package/dist/components/input/CheckboxField.d.ts +9 -0
- package/dist/components/input/ColorField.d.ts +9 -0
- package/dist/components/input/DatePicker.d.ts +12 -0
- package/dist/components/input/EditInPlaceField.d.ts +7 -0
- package/dist/components/input/InputField.d.ts +15 -0
- package/dist/components/input/Protocol.d.ts +10 -0
- package/dist/components/input/RangeField.d.ts +13 -0
- package/dist/components/input/SelectField.d.ts +13 -0
- package/dist/components/input/SliderField.d.ts +15 -0
- package/dist/components/input/SwitchField.d.ts +11 -0
- package/dist/components/input/index.d.ts +11 -0
- package/dist/components/main/Footer.d.ts +2 -0
- package/dist/components/main/Header.d.ts +7 -0
- package/dist/components/main/PageHeader.d.ts +14 -0
- package/dist/components/main/SaveDiscard.d.ts +13 -0
- package/dist/components/main/Sidebar.d.ts +10 -0
- package/dist/components/main/index.d.ts +6 -0
- package/dist/components/network/AddNetwork.d.ts +6 -0
- package/dist/components/network/InterfacesTable.d.ts +19 -0
- package/dist/components/network/InterfacesTimeseries.d.ts +21 -0
- package/dist/components/network/index.d.ts +4 -0
- package/dist/components/network/validators.d.ts +7 -0
- package/dist/components/system/RequireAuth.d.ts +8 -0
- package/dist/components/system/Wizard.d.ts +6 -0
- package/dist/components/system/index.d.ts +3 -0
- package/dist/components/xcoder/Fflog.d.ts +5 -0
- package/dist/components/xcoder/LiveLog.d.ts +5 -0
- package/dist/components/xcoder/Metrics.d.ts +8 -0
- package/dist/components/xcoder/Panel.d.ts +6 -0
- package/dist/components/xcoder/Preview.d.ts +11 -0
- package/dist/components/xcoder/StreamControl.d.ts +5 -0
- package/dist/components/xcoder/VUMeter.d.ts +8 -0
- package/dist/components/xcoder/VideoPlayer.d.ts +13 -0
- package/dist/components/xcoder/index.d.ts +8 -0
- package/dist/components.js +182 -117
- package/dist/context/AuthContext.d.ts +17 -0
- package/dist/context/ThemeContext.d.ts +11 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context.js +25 -9
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/useApi.d.ts +1 -0
- package/dist/hooks/useAvailableSubservices.d.ts +13 -0
- package/dist/hooks/useSettings.d.ts +45 -0
- package/dist/hooks.js +25 -9
- package/dist/i18n.d.ts +2 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +55897 -0
- package/dist/services/api.d.ts +23 -0
- package/dist/services/auth.d.ts +15 -0
- package/dist/services/discovery.d.ts +12 -0
- package/dist/services/hostConfig.d.ts +20 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/loadRemoteModule.d.ts +9 -0
- package/dist/services/metadataLoader.d.ts +9 -0
- package/dist/services/registry.d.ts +42 -0
- package/dist/services/users.d.ts +18 -0
- package/dist/services/wizard.d.ts +3 -0
- package/dist/services.js +61 -26
- package/dist/types/alarm.d.ts +21 -0
- package/dist/types/auth.d.ts +18 -0
- package/dist/types/group.d.ts +32 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/module.d.ts +13 -0
- package/dist/types/plugin.types.d.ts +30 -0
- package/dist/types/protocol.d.ts +12 -0
- package/dist/types/websocket.d.ts +27 -0
- package/dist/types/wizard.d.ts +12 -0
- package/package.json +17 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useApi<T>(type: "json" | "text" | "void", key: readonly unknown[], path: string, params?: Record<string, any>, enabled?: boolean, refetchInterval?: number): import("@tanstack/react-query").UseQueryResult<import("@tanstack/react-query").NoInfer<T>, Error>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface Option {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns an array of select options for a given service key.
|
|
7
|
+
* - `serviceKey` should match the service identifier used by the backend (e.g. 'xcoder-audioencoder').
|
|
8
|
+
* - `fallbackCount` specifies how many default channels to generate when discovery is unavailable.
|
|
9
|
+
*/
|
|
10
|
+
export default function useAvailableSubservices(serviceKey: string, fallbackCount?: number): {
|
|
11
|
+
options: Option[];
|
|
12
|
+
loading: boolean;
|
|
13
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface UseSettingsOptions<T> {
|
|
2
|
+
/** Unique key for react-query caching */
|
|
3
|
+
queryKey: readonly unknown[];
|
|
4
|
+
/** API path for fetching settings (GET) */
|
|
5
|
+
fetchPath: string;
|
|
6
|
+
/** API path for saving settings (PATCH/PUT) - defaults to fetchPath */
|
|
7
|
+
savePath?: string;
|
|
8
|
+
/** Query params for fetch request */
|
|
9
|
+
fetchParams?: Record<string, any>;
|
|
10
|
+
/** Transform raw API response to settings model */
|
|
11
|
+
transform?: (data: any) => T;
|
|
12
|
+
/** Transform settings to API payload before save */
|
|
13
|
+
toPayload?: (settings: T) => any;
|
|
14
|
+
/** HTTP method for save: 'patch' | 'put' | 'post' */
|
|
15
|
+
saveMethod?: 'patch' | 'put' | 'post';
|
|
16
|
+
/** Enable/disable fetching */
|
|
17
|
+
enabled?: boolean;
|
|
18
|
+
/** Refetch interval in ms */
|
|
19
|
+
refetchInterval?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface UseSettingsResult<T> {
|
|
22
|
+
/** Current working settings (editable) */
|
|
23
|
+
settings: T;
|
|
24
|
+
/** Last saved settings from server */
|
|
25
|
+
savedSettings: T;
|
|
26
|
+
/** Update a single field */
|
|
27
|
+
updateField: <K extends keyof T>(key: K, value: T[K]) => void;
|
|
28
|
+
/** Update multiple fields at once */
|
|
29
|
+
updateSettings: (partial: Partial<T>) => void;
|
|
30
|
+
/** Reset settings to last saved state */
|
|
31
|
+
discard: () => void;
|
|
32
|
+
/** Save current settings to server */
|
|
33
|
+
save: () => Promise<void>;
|
|
34
|
+
/** Whether settings have unsaved changes */
|
|
35
|
+
isDirty: boolean;
|
|
36
|
+
/** Whether initial fetch is loading */
|
|
37
|
+
isLoading: boolean;
|
|
38
|
+
/** Whether save is in progress */
|
|
39
|
+
isSaving: boolean;
|
|
40
|
+
/** Error from fetch or save */
|
|
41
|
+
error: Error | null;
|
|
42
|
+
/** Refetch settings from server */
|
|
43
|
+
refetch: () => void;
|
|
44
|
+
}
|
|
45
|
+
export declare function useSettings<T extends Record<string, any>>(defaultSettings: T, options: UseSettingsOptions<T>): UseSettingsResult<T>;
|
package/dist/hooks.js
CHANGED
|
@@ -3945,19 +3945,36 @@ var {
|
|
|
3945
3945
|
} = axios_default;
|
|
3946
3946
|
|
|
3947
3947
|
// src/services/api.ts
|
|
3948
|
-
var
|
|
3949
|
-
if (
|
|
3950
|
-
return
|
|
3948
|
+
var normalizeOrigin = (raw) => {
|
|
3949
|
+
if (!raw)
|
|
3950
|
+
return "";
|
|
3951
|
+
if (/^https?:\/\//i.test(raw) || /^wss?:\/\//i.test(raw))
|
|
3952
|
+
return raw.replace(/\/$/, "");
|
|
3953
|
+
return `http://${raw.replace(/\/$/, "")}`;
|
|
3954
|
+
};
|
|
3955
|
+
var getApiOrigin = () => {
|
|
3956
|
+
try {
|
|
3957
|
+
if (typeof import.meta !== "undefined" && import.meta.env?.VITE_API_BASE_URL) {
|
|
3958
|
+
return normalizeOrigin(import.meta.env.VITE_API_BASE_URL);
|
|
3959
|
+
}
|
|
3960
|
+
} catch (e) {
|
|
3961
|
+
}
|
|
3962
|
+
if (typeof window !== "undefined") {
|
|
3963
|
+
const win = window;
|
|
3964
|
+
if (win.__VIASOFT_API_BASE_URL)
|
|
3965
|
+
return normalizeOrigin(win.__VIASOFT_API_BASE_URL);
|
|
3966
|
+
if (window.location && window.location.origin)
|
|
3967
|
+
return window.location.origin.replace(/\/$/, "");
|
|
3951
3968
|
}
|
|
3952
|
-
return "
|
|
3969
|
+
return "http://localhost:3000";
|
|
3953
3970
|
};
|
|
3954
|
-
var
|
|
3971
|
+
var apiOrigin = getApiOrigin();
|
|
3955
3972
|
var api = axios_default.create({
|
|
3956
|
-
baseURL:
|
|
3973
|
+
baseURL: apiOrigin,
|
|
3957
3974
|
timeout: 1e4
|
|
3958
3975
|
});
|
|
3959
3976
|
var authApi = axios_default.create({
|
|
3960
|
-
baseURL:
|
|
3977
|
+
baseURL: apiOrigin,
|
|
3961
3978
|
timeout: 1e4
|
|
3962
3979
|
});
|
|
3963
3980
|
function getAccessToken() {
|
|
@@ -4121,7 +4138,6 @@ var fetchApi = {
|
|
|
4121
4138
|
}
|
|
4122
4139
|
}
|
|
4123
4140
|
};
|
|
4124
|
-
var serverOrigin = `http://${serverUrl}`;
|
|
4125
4141
|
|
|
4126
4142
|
// src/services/loadRemoteModule.ts
|
|
4127
4143
|
import * as React7 from "react";
|
|
@@ -4154,7 +4170,7 @@ var MetadataLoader = class {
|
|
|
4154
4170
|
);
|
|
4155
4171
|
}
|
|
4156
4172
|
metadata.forEach((page, index) => {
|
|
4157
|
-
if (!page.id || !page.name || !page.path || !page.
|
|
4173
|
+
if (!page.id || !page.name || !page.path || !page.url) {
|
|
4158
4174
|
throw new Error(
|
|
4159
4175
|
`Invalid page metadata at index ${index}: missing required fields`
|
|
4160
4176
|
);
|
package/dist/i18n.d.ts
ADDED