@ai4b-team/fsaos-gateway-sdk 3.3.0 → 3.5.0
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/CHANGELOG.md +6 -0
- package/dist/iife/gateway.js +3 -3
- package/dist/iife/gateway.js.map +3 -3
- package/dist/iife/ui.js +1 -1
- package/dist/index.cjs +60 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +244 -1
- package/dist/index.d.ts +244 -1
- package/dist/index.js +60 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/iife/ui.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @fsaos/ui v2.0.0 — FSAOS UI Primitives — 2026-05-
|
|
1
|
+
/* @fsaos/ui v2.0.0 — FSAOS UI Primitives — 2026-05-29T04:37:16.049Z */
|
|
2
2
|
"use strict";var __FSAOS_UI__=(()=>{var m=Object.create;var r=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=(e,i)=>()=>(i||e((i={exports:{}}).exports,i),i.exports),N=(e,i)=>{for(var a in i)r(e,a,{get:i[a],enumerable:!0})},s=(e,i,a,l)=>{if(i&&typeof i=="object"||typeof i=="function")for(let t of u(i))!h.call(e,t)&&t!==a&&r(e,t,{get:()=>i[t],enumerable:!(l=g(i,t))||l.enumerable});return e};var x=(e,i,a)=>(a=e!=null?m(f(e)):{},s(i||!e||!e.__esModule?r(a,"default",{value:e,enumerable:!0}):a,e)),b=e=>s(r({},"__esModule",{value:!0}),e);var d=y((V,c)=>{c.exports=React});var P={};N(P,{Badge:()=>z,Breadcrumbs:()=>A,Button:()=>D,Card:()=>w,DataView:()=>R,Detail:()=>_,Empty:()=>I,FilePreview:()=>O,Form:()=>F,Grid:()=>k,Image:()=>G,Link:()=>E,Page:()=>v,Router:()=>T,Sidebar:()=>S,Spinner:()=>B,Stack:()=>C,Table:()=>j,Tabs:()=>W,Video:()=>H});var n=x(d(),1);function o(){return(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||""}function v(e){return(0,n.createElement)("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column"},className:e.className||""},e.children)}function C(e){let i=e.direction||"vertical";return(0,n.createElement)("div",{style:{display:"flex",flexDirection:i==="horizontal"?"row":"column",gap:e.gap||"0.5rem",padding:e.padding||"0",alignItems:e.align||"stretch",justifyContent:e.justify||"flex-start",flex:e.flex||"initial"},className:e.className||""},e.children)}function k(e){return(0,n.createElement)("div",{style:{display:"grid",gridTemplateColumns:"repeat("+(e.columns||3)+", 1fr)",gap:e.gap||"1rem",padding:e.padding||"0"},className:e.className||""},e.children)}function S(e){return(0,n.createElement)("div",{style:{display:"flex",flexDirection:"row",minHeight:"100vh"},className:e.className||""},e.children)}function w(e){return(0,n.createElement)("div",{style:{border:"1px solid var(--color-border, #e5e7eb)",borderRadius:"var(--border-radius, 0.5rem)",padding:e.padding||"1rem",background:"var(--color-surface, #fff)"},className:e.className||"",onClick:e.onClick},e.children)}function z(e){return(0,n.createElement)("span",{style:{display:"inline-flex",alignItems:"center",padding:"0.125rem 0.5rem",fontSize:"0.75rem",fontWeight:"500",borderRadius:"9999px",background:e.color||"#e5e7eb",color:e.textColor||"#374151"},className:e.className||""},e.children||e.label)}function B(e){let i=e.size||"1.5rem";return(0,n.createElement)("div",{style:{width:i,height:i,border:"2px solid #e5e7eb",borderTopColor:"var(--color-primary, #3b82f6)",borderRadius:"50%",animation:"fsaos-spin 0.6s linear infinite"}})}function D(e){return(0,n.createElement)("button",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:"500",borderRadius:"var(--border-radius, 0.375rem)",border:e.variant==="outline"?"1px solid var(--color-border, #d1d5db)":"none",background:e.variant==="outline"||e.variant==="ghost"?"transparent":"var(--color-primary, #3b82f6)",color:e.variant==="outline"||e.variant==="ghost"?"var(--color-text, #1a1a1a)":"#fff",cursor:e.disabled?"not-allowed":"pointer",opacity:e.disabled?"0.5":"1",gap:"0.5rem"},className:e.className||"",onClick:e.onClick,disabled:e.disabled},e.children||e.label)}function I(e){return(0,n.createElement)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"3rem",color:"var(--color-text-secondary, #6b7280)",textAlign:"center"}},e.icon?(0,n.createElement)("div",{style:{fontSize:"2rem",marginBottom:"0.5rem"}},e.icon):null,(0,n.createElement)("div",{style:{fontWeight:500,marginBottom:"0.25rem"}},e.title||e.message||e.children||"No items"),e.description?(0,n.createElement)("div",{style:{fontSize:"0.875rem",opacity:.7}},e.description):null)}function R(e){return(0,n.createElement)("div",{className:e.className||""},e.children)}function j(e){return(0,n.createElement)("table",{className:e.className||""},e.children)}function F(e){return(0,n.createElement)("form",{className:e.className||"",onSubmit:e.onSubmit},e.children)}function _(e){return(0,n.createElement)("div",{className:e.className||""},e.children)}function T(e){return(0,n.createElement)("div",null,e.children)}function E(e){return(0,n.createElement)("a",{href:e.href||e.to,className:e.className||"",onClick:e.onClick},e.children)}function W(e){return(0,n.createElement)("div",{className:e.className||""},e.children)}function A(e){return(0,n.createElement)("nav",{className:e.className||""},e.children)}function G(e){return(0,n.createElement)("img",{src:e.src||(e.path?o()+e.path:""),alt:e.alt||"",className:e.className||"",style:e.style})}function H(e){return(0,n.createElement)("video",{src:e.src||(e.path?o()+e.path:""),controls:!0,className:e.className||""})}function O(e){return(0,n.createElement)("div",{className:e.className||""},e.children||"File preview")}return b(P);})();
|
|
3
3
|
//# sourceMappingURL=ui.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -113,6 +113,7 @@ __export(src_exports, {
|
|
|
113
113
|
uploadFile: () => uploadFile,
|
|
114
114
|
useAccounts: () => useAccounts,
|
|
115
115
|
useAllChannels: () => useAllChannels,
|
|
116
|
+
useArrangement: () => useArrangement,
|
|
116
117
|
useAsset: () => useAsset,
|
|
117
118
|
useAuth: () => useAuth,
|
|
118
119
|
useChannelMessages: () => useChannelMessages,
|
|
@@ -2936,6 +2937,64 @@ function useRealtimeQuery(options) {
|
|
|
2936
2937
|
}, [eventType, enabled, debounceMs, qc, JSON.stringify(queryKey)]);
|
|
2937
2938
|
return query;
|
|
2938
2939
|
}
|
|
2940
|
+
function useArrangement(paramsOrPath) {
|
|
2941
|
+
useScopeKey();
|
|
2942
|
+
const resolvedParams = React.useMemo(() => {
|
|
2943
|
+
if (!paramsOrPath) return null;
|
|
2944
|
+
if (typeof paramsOrPath === "string") return { path: paramsOrPath };
|
|
2945
|
+
return paramsOrPath;
|
|
2946
|
+
}, [typeof paramsOrPath === "string" ? paramsOrPath : JSON.stringify(paramsOrPath)]);
|
|
2947
|
+
const enabled = !!resolvedParams && !!(resolvedParams.key || resolvedParams.path || resolvedParams.item_id);
|
|
2948
|
+
const cacheKey = resolvedParams?.key ?? resolvedParams?.path ?? resolvedParams?.item_id ?? "";
|
|
2949
|
+
const query = reactQuery.useQuery({
|
|
2950
|
+
queryKey: ["vfs", getScope() ?? "__unscoped__", "arrangement", cacheKey],
|
|
2951
|
+
queryFn: async () => {
|
|
2952
|
+
if (!resolvedParams) return null;
|
|
2953
|
+
const response = await gatewayCall("resolve-arrangement", resolvedParams);
|
|
2954
|
+
if (response?.success === false) {
|
|
2955
|
+
console.warn("[useArrangement] resolve-arrangement failed:", response?.error);
|
|
2956
|
+
return null;
|
|
2957
|
+
}
|
|
2958
|
+
return response ?? null;
|
|
2959
|
+
},
|
|
2960
|
+
enabled
|
|
2961
|
+
});
|
|
2962
|
+
const arrangement = query.data ?? null;
|
|
2963
|
+
const resolvedChildren = React.useMemo(
|
|
2964
|
+
() => arrangement?.resolved_children ?? [],
|
|
2965
|
+
[arrangement]
|
|
2966
|
+
);
|
|
2967
|
+
const resolutionLevel = arrangement?.resolution_level ?? null;
|
|
2968
|
+
const order = React.useMemo(() => {
|
|
2969
|
+
const td = arrangement?.type_data ?? null;
|
|
2970
|
+
const o = td?.order;
|
|
2971
|
+
return Array.isArray(o) ? o : null;
|
|
2972
|
+
}, [arrangement]);
|
|
2973
|
+
const applyTo = React.useCallback(
|
|
2974
|
+
(children) => {
|
|
2975
|
+
if (!order || !children?.length) return children ?? [];
|
|
2976
|
+
const key = (c) => c.id ?? c.name ?? "";
|
|
2977
|
+
const rank = new Map(order.map((k, i) => [k, i]));
|
|
2978
|
+
const listed = [];
|
|
2979
|
+
const rest = [];
|
|
2980
|
+
for (const c of children) {
|
|
2981
|
+
(rank.has(key(c)) ? listed : rest).push(c);
|
|
2982
|
+
}
|
|
2983
|
+
listed.sort((a, b) => rank.get(key(a)) - rank.get(key(b)));
|
|
2984
|
+
return [...listed, ...rest];
|
|
2985
|
+
},
|
|
2986
|
+
[order]
|
|
2987
|
+
);
|
|
2988
|
+
return {
|
|
2989
|
+
...query,
|
|
2990
|
+
arrangement,
|
|
2991
|
+
resolvedChildren,
|
|
2992
|
+
resolutionLevel,
|
|
2993
|
+
order,
|
|
2994
|
+
sourceScopeId: arrangement?.scope_item_id ?? null,
|
|
2995
|
+
applyTo
|
|
2996
|
+
};
|
|
2997
|
+
}
|
|
2939
2998
|
|
|
2940
2999
|
// src/schema-utils.ts
|
|
2941
3000
|
function keyToLabel(key) {
|
|
@@ -3399,6 +3458,7 @@ exports.updateItem = updateItem;
|
|
|
3399
3458
|
exports.uploadFile = uploadFile;
|
|
3400
3459
|
exports.useAccounts = useAccounts;
|
|
3401
3460
|
exports.useAllChannels = useAllChannels;
|
|
3461
|
+
exports.useArrangement = useArrangement;
|
|
3402
3462
|
exports.useAsset = useAsset;
|
|
3403
3463
|
exports.useAuth = useAuth;
|
|
3404
3464
|
exports.useChannelMessages = useChannelMessages;
|