@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.
Files changed (94) hide show
  1. package/dist/components/RemoteModule.d.ts +8 -0
  2. package/dist/components/display/Accordion.d.ts +8 -0
  3. package/dist/components/display/Section.d.ts +19 -0
  4. package/dist/components/display/Skeleton.d.ts +21 -0
  5. package/dist/components/display/index.d.ts +4 -0
  6. package/dist/components/encoder/DvB.d.ts +53 -0
  7. package/dist/components/encoder/Livecast.d.ts +37 -0
  8. package/dist/components/encoder/ViewLog.d.ts +5 -0
  9. package/dist/components/encoder/index.d.ts +4 -0
  10. package/dist/components/general/Copy2Clipboard.d.ts +4 -0
  11. package/dist/components/general/GridSelectionModal.d.ts +24 -0
  12. package/dist/components/general/Modal.d.ts +17 -0
  13. package/dist/components/general/Validation.d.ts +6 -0
  14. package/dist/components/general/index.d.ts +5 -0
  15. package/dist/components/groups/AudioGroup.d.ts +26 -0
  16. package/dist/components/groups/FilterGroup.d.ts +3 -0
  17. package/dist/components/groups/Middleware/Auth.d.ts +14 -0
  18. package/dist/components/groups/Middleware/Channels.d.ts +26 -0
  19. package/dist/components/groups/Middleware/MOS.d.ts +24 -0
  20. package/dist/components/groups/Middleware/Service.d.ts +16 -0
  21. package/dist/components/groups/Middleware/index.d.ts +5 -0
  22. package/dist/components/groups/PreviewGroup.d.ts +3 -0
  23. package/dist/components/groups/ProtocolGroup.d.ts +10 -0
  24. package/dist/components/groups/VideoGroup.d.ts +3 -0
  25. package/dist/components/groups/index.d.ts +7 -0
  26. package/dist/components/index.d.ts +11 -0
  27. package/dist/components/input/CheckboxField.d.ts +9 -0
  28. package/dist/components/input/ColorField.d.ts +9 -0
  29. package/dist/components/input/DatePicker.d.ts +12 -0
  30. package/dist/components/input/EditInPlaceField.d.ts +7 -0
  31. package/dist/components/input/InputField.d.ts +15 -0
  32. package/dist/components/input/Protocol.d.ts +10 -0
  33. package/dist/components/input/RangeField.d.ts +13 -0
  34. package/dist/components/input/SelectField.d.ts +13 -0
  35. package/dist/components/input/SliderField.d.ts +15 -0
  36. package/dist/components/input/SwitchField.d.ts +11 -0
  37. package/dist/components/input/index.d.ts +11 -0
  38. package/dist/components/main/Footer.d.ts +2 -0
  39. package/dist/components/main/Header.d.ts +7 -0
  40. package/dist/components/main/PageHeader.d.ts +14 -0
  41. package/dist/components/main/SaveDiscard.d.ts +13 -0
  42. package/dist/components/main/Sidebar.d.ts +10 -0
  43. package/dist/components/main/index.d.ts +6 -0
  44. package/dist/components/network/AddNetwork.d.ts +6 -0
  45. package/dist/components/network/InterfacesTable.d.ts +19 -0
  46. package/dist/components/network/InterfacesTimeseries.d.ts +21 -0
  47. package/dist/components/network/index.d.ts +4 -0
  48. package/dist/components/network/validators.d.ts +7 -0
  49. package/dist/components/system/RequireAuth.d.ts +8 -0
  50. package/dist/components/system/Wizard.d.ts +6 -0
  51. package/dist/components/system/index.d.ts +3 -0
  52. package/dist/components/xcoder/Fflog.d.ts +5 -0
  53. package/dist/components/xcoder/LiveLog.d.ts +5 -0
  54. package/dist/components/xcoder/Metrics.d.ts +8 -0
  55. package/dist/components/xcoder/Panel.d.ts +6 -0
  56. package/dist/components/xcoder/Preview.d.ts +11 -0
  57. package/dist/components/xcoder/StreamControl.d.ts +5 -0
  58. package/dist/components/xcoder/VUMeter.d.ts +8 -0
  59. package/dist/components/xcoder/VideoPlayer.d.ts +13 -0
  60. package/dist/components/xcoder/index.d.ts +8 -0
  61. package/dist/components.js +182 -117
  62. package/dist/context/AuthContext.d.ts +17 -0
  63. package/dist/context/ThemeContext.d.ts +11 -0
  64. package/dist/context/index.d.ts +3 -0
  65. package/dist/context.js +25 -9
  66. package/dist/hooks/index.d.ts +3 -0
  67. package/dist/hooks/useApi.d.ts +1 -0
  68. package/dist/hooks/useAvailableSubservices.d.ts +13 -0
  69. package/dist/hooks/useSettings.d.ts +45 -0
  70. package/dist/hooks.js +25 -9
  71. package/dist/i18n.d.ts +2 -0
  72. package/dist/index.d.ts +6 -0
  73. package/dist/index.js +55897 -0
  74. package/dist/services/api.d.ts +23 -0
  75. package/dist/services/auth.d.ts +15 -0
  76. package/dist/services/discovery.d.ts +12 -0
  77. package/dist/services/hostConfig.d.ts +20 -0
  78. package/dist/services/index.d.ts +9 -0
  79. package/dist/services/loadRemoteModule.d.ts +9 -0
  80. package/dist/services/metadataLoader.d.ts +9 -0
  81. package/dist/services/registry.d.ts +42 -0
  82. package/dist/services/users.d.ts +18 -0
  83. package/dist/services/wizard.d.ts +3 -0
  84. package/dist/services.js +61 -26
  85. package/dist/types/alarm.d.ts +21 -0
  86. package/dist/types/auth.d.ts +18 -0
  87. package/dist/types/group.d.ts +32 -0
  88. package/dist/types/index.d.ts +6 -0
  89. package/dist/types/module.d.ts +13 -0
  90. package/dist/types/plugin.types.d.ts +30 -0
  91. package/dist/types/protocol.d.ts +12 -0
  92. package/dist/types/websocket.d.ts +27 -0
  93. package/dist/types/wizard.d.ts +12 -0
  94. 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 getApiBaseUrl = () => {
3949
- if (typeof import.meta !== "undefined" && import.meta.env?.VITE_API_BASE_URL) {
3950
- return import.meta.env.VITE_API_BASE_URL;
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 "192.168.100.9:3000";
3969
+ return "http://localhost:3000";
3953
3970
  };
3954
- var serverUrl = getApiBaseUrl();
3971
+ var apiOrigin = getApiOrigin();
3955
3972
  var api = axios_default.create({
3956
- baseURL: `http://${serverUrl}`,
3973
+ baseURL: apiOrigin,
3957
3974
  timeout: 1e4
3958
3975
  });
3959
3976
  var authApi = axios_default.create({
3960
- baseURL: `http://${serverUrl}`,
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.bundleUrl) {
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
@@ -0,0 +1,2 @@
1
+ import i18n from 'i18next';
2
+ export default i18n;
@@ -0,0 +1,6 @@
1
+ export * from './services';
2
+ export * from './components';
3
+ export * from './context';
4
+ export * from './types';
5
+ export * from './i18n';
6
+ export * from './hooks';