gg-wf-scripts 9.2.1 → 9.4.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.
@@ -1,6 +1,6 @@
1
1
  import type { ActionEngineDeps } from "./engine-deps.js";
2
- import type { ActionResult } from "./actions.js";
2
+ import type { ActionHelpers, ActionResult } from "./actions.js";
3
3
  type ActionData = Record<string, unknown>;
4
- export declare function executeAction<TContext>(id: string, data: ActionData, deps: ActionEngineDeps<TContext>, trigger?: Element): Promise<ActionResult>;
4
+ export declare function executeAction<TContext>(id: string, data: ActionData, deps: ActionEngineDeps<TContext>, trigger?: Element, helpers?: ActionHelpers): Promise<ActionResult>;
5
5
  export declare function initActionEngine<TContext>(deps: ActionEngineDeps<TContext>): () => void;
6
6
  export {};
@@ -1,6 +1,42 @@
1
1
  import { ATTR, SEL } from "./attrs.js";
2
2
  import { runHandler } from "./helpers/run-handler.js";
3
+ import { removeWithFade } from "./helpers/visibility.js";
3
4
  import { getParams } from "./query-params.js";
5
+ function findListClone(el) {
6
+ let node = el;
7
+ while (node) {
8
+ const parent = node.parentElement;
9
+ if (node.__ggRecord && parent?.hasAttribute(ATTR.dataList)) {
10
+ return { clone: node, list: parent };
11
+ }
12
+ node = parent;
13
+ }
14
+ return null;
15
+ }
16
+ function makeHelpers(scope) {
17
+ return {
18
+ removeItem(predicate) {
19
+ if (!scope) {
20
+ console.warn("[gg-action] removeItem() called but the trigger isn't inside a [gg-data-list] item");
21
+ return;
22
+ }
23
+ const template = scope.list.querySelector(SEL.listTemplate);
24
+ Array.from(scope.list.children).forEach((child) => {
25
+ if (child === template)
26
+ return;
27
+ const record = child.__ggRecord;
28
+ if (!record)
29
+ return;
30
+ if (!predicate(record))
31
+ return;
32
+ if (child instanceof HTMLElement)
33
+ removeWithFade(child);
34
+ else
35
+ child.remove();
36
+ });
37
+ },
38
+ };
39
+ }
4
40
  function parseActionData(el) {
5
41
  const data = {};
6
42
  const csv = el.getAttribute(ATTR.actionData);
@@ -33,7 +69,7 @@ function findRecord(el) {
33
69
  }
34
70
  return null;
35
71
  }
36
- export async function executeAction(id, data, deps, trigger) {
72
+ export async function executeAction(id, data, deps, trigger, helpers) {
37
73
  const params = getParams();
38
74
  const fields = {
39
75
  data,
@@ -48,6 +84,7 @@ export async function executeAction(id, data, deps, trigger) {
48
84
  deps.emitError({ prefix: "[gg-action]", id, error, fields });
49
85
  return { ok: false, error };
50
86
  }
87
+ const resolvedHelpers = helpers ?? makeHelpers(null);
51
88
  const result = await runHandler({
52
89
  prefix: "[gg-action]",
53
90
  id,
@@ -55,7 +92,7 @@ export async function executeAction(id, data, deps, trigger) {
55
92
  debug: deps.debug,
56
93
  emitError: deps.emitError,
57
94
  loading: trigger ? [trigger] : undefined,
58
- }, () => action(deps.context, data, params));
95
+ }, () => action(deps.context, data, params, resolvedHelpers));
59
96
  if (!result.ok)
60
97
  return { ok: false, error: result.error };
61
98
  const failure = result.value;
@@ -82,7 +119,8 @@ async function handleAction(el, deps) {
82
119
  const record = findRecord(el);
83
120
  const explicit = parseActionData(el);
84
121
  const data = record ? { ...record, ...explicit } : explicit;
85
- await executeAction(id, data, deps, el);
122
+ const helpers = makeHelpers(findListClone(el));
123
+ await executeAction(id, data, deps, el, helpers);
86
124
  }
87
125
  export function initActionEngine(deps) {
88
126
  const onClick = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"action-engine.js","sourceRoot":"","sources":["../src/action-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-engine.js","sourceRoot":"","sources":["../src/action-engine.ts"],"names":[],"mappings":"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"}
package/dist/actions.d.ts CHANGED
@@ -2,4 +2,8 @@ export type ActionResult = {
2
2
  ok: boolean;
3
3
  error?: unknown;
4
4
  };
5
- export type Action<TContext = unknown, TData extends Record<string, unknown> = Record<string, unknown>> = (context: TContext, data: TData, params: URLSearchParams) => Promise<ActionResult | void> | ActionResult | void;
5
+ export type RemoveItemPredicate<TRecord extends Record<string, unknown> = Record<string, unknown>> = (record: TRecord) => boolean;
6
+ export type ActionHelpers<TRecord extends Record<string, unknown> = Record<string, unknown>> = {
7
+ removeItem: (predicate: RemoveItemPredicate<TRecord>) => void;
8
+ };
9
+ export type Action<TContext = unknown, TData extends Record<string, unknown> = Record<string, unknown>> = (context: TContext, data: TData, params: URLSearchParams, helpers: ActionHelpers<TData>) => Promise<ActionResult | void> | ActionResult | void;
package/dist/attrs.d.ts CHANGED
@@ -36,6 +36,8 @@ export declare const ATTR: {
36
36
  readonly confirmText: "gg-confirm-text";
37
37
  readonly auth: "gg-auth";
38
38
  readonly role: "gg-role";
39
+ readonly pageAuth: "gg-page-auth";
40
+ readonly pageRole: "gg-page-role";
39
41
  };
40
42
  export declare const SEL: {
41
43
  readonly action: "[gg-action]";
package/dist/attrs.js CHANGED
@@ -43,6 +43,8 @@ export const ATTR = {
43
43
  confirmText: "gg-confirm-text",
44
44
  auth: "gg-auth",
45
45
  role: "gg-role",
46
+ pageAuth: "gg-page-auth",
47
+ pageRole: "gg-page-role",
46
48
  };
47
49
  export const SEL = {
48
50
  action: `[${ATTR.action}]`,
package/dist/attrs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"attrs.js","sourceRoot":"","sources":["../src/attrs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,UAAU;IACV,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,eAAe;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,kBAAkB;IAEhC,cAAc;IACd,cAAc,EAAE,qBAAqB;IACrC,gBAAgB,EAAE,uBAAuB;IACzC,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,oBAAoB;IACnC,YAAY,EAAE,mBAAmB;IACjC,SAAS,EAAE,eAAe;IAE1B,WAAW;IACX,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iBAAiB;IAC9B,MAAM,EAAE,WAAW;IAEnB,aAAa;IACb,WAAW,EAAE,iBAAiB;IAE9B,aAAa;IACb,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,mBAAmB;IAClC,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,iBAAiB;IAE9B,SAAS;IACT,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG;IAC1B,UAAU,EAAE,QAAQ,IAAI,CAAC,UAAU,GAAG;IACtC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,GAAG;IACjE,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG;IACxB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG;IACtC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,SAAS;IAC5C,gBAAgB,EAAE,IAAI,IAAI,CAAC,gBAAgB,GAAG;IAC9C,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG;IAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG;IACxC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;CACd,CAAC"}
1
+ {"version":3,"file":"attrs.js","sourceRoot":"","sources":["../src/attrs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,UAAU;IACV,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE,gBAAgB;IAE5B,eAAe;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,kBAAkB;IAEhC,cAAc;IACd,cAAc,EAAE,qBAAqB;IACrC,gBAAgB,EAAE,uBAAuB;IACzC,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,oBAAoB;IACnC,YAAY,EAAE,mBAAmB;IACjC,SAAS,EAAE,eAAe;IAE1B,WAAW;IACX,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iBAAiB;IAC9B,MAAM,EAAE,WAAW;IAEnB,aAAa;IACb,WAAW,EAAE,iBAAiB;IAE9B,aAAa;IACb,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,mBAAmB;IAClC,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,iBAAiB;IAE9B,SAAS;IACT,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG;IAC1B,UAAU,EAAE,QAAQ,IAAI,CAAC,UAAU,GAAG;IACtC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,GAAG;IAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,QAAQ,GAAG;IACjE,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG;IACxB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,GAAG;IACtC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG;IACpC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,SAAS;IAC5C,gBAAgB,EAAE,IAAI,IAAI,CAAC,gBAAgB,GAAG;IAC9C,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG;IAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG;IAChC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG;IACxC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;IACtB,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG;CACd,CAAC"}
package/dist/auth.d.ts CHANGED
@@ -2,5 +2,17 @@ export type AuthAdapter<TContext = unknown> = {
2
2
  getUser: () => string | null | Promise<string | null>;
3
3
  onChange?: (cb: (userId: string | null) => void) => void;
4
4
  roleQuery?: (context: TContext, userId: string) => Promise<string | null> | string | null;
5
+ /**
6
+ * URL to send the user to when a `gg-page-auth="true"` (or `gg-page-role`)
7
+ * page sees no signed-in user — either on initial load or after sign-out.
8
+ * Skipped when the current pathname already matches the target's pathname,
9
+ * so the login page itself won't redirect-loop.
10
+ */
11
+ signedOutRedirect?: string;
12
+ /**
13
+ * URL to send the user to when a `gg-page-role` page sees a signed-in user
14
+ * whose role doesn't match. Falls back to `signedOutRedirect` if unset.
15
+ */
16
+ unauthorizedRedirect?: string;
5
17
  };
6
18
  export declare function initAuth<TContext>(context: TContext, auth: AuthAdapter<TContext>, debug?: boolean): Promise<void>;
package/dist/auth.js CHANGED
@@ -1,7 +1,65 @@
1
1
  import { ATTR } from "./attrs.js";
2
2
  const GET_USER_TIMEOUT_MS = 10_000;
3
+ function isWebflowStaging() {
4
+ return window.location.hostname.endsWith(".webflow.io");
5
+ }
6
+ function shouldRedirect(target) {
7
+ if (!target)
8
+ return null;
9
+ let url;
10
+ try {
11
+ url = new URL(target, window.location.origin);
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ if (url.pathname === window.location.pathname)
17
+ return null;
18
+ return url.toString();
19
+ }
20
+ function checkPageGate(signedOutRedirect, unauthorizedRedirect, log) {
21
+ if (isWebflowStaging()) {
22
+ log("page gate skipped on webflow.io staging");
23
+ return;
24
+ }
25
+ const body = document.body;
26
+ const pageAuth = body.getAttribute(ATTR.pageAuth);
27
+ const pageRole = (body.getAttribute(ATTR.pageRole) ?? "").trim();
28
+ const isAuthed = body.getAttribute(ATTR.auth) === "true";
29
+ const currentRole = body.getAttribute(ATTR.role);
30
+ const requiresAuth = pageAuth === "true" || pageRole !== "";
31
+ if (!requiresAuth)
32
+ return;
33
+ if (!isAuthed) {
34
+ const target = shouldRedirect(signedOutRedirect);
35
+ if (!target) {
36
+ log(signedOutRedirect
37
+ ? `signed-out gate matched but already on ${signedOutRedirect}`
38
+ : "signed-out gate matched but no signedOutRedirect configured");
39
+ return;
40
+ }
41
+ log(`signed-out gate → redirecting to ${target}`);
42
+ window.location.href = target;
43
+ return;
44
+ }
45
+ if (pageRole !== "") {
46
+ const allowed = pageRole
47
+ .split(",")
48
+ .map((r) => r.trim())
49
+ .filter(Boolean);
50
+ if (!currentRole || !allowed.includes(currentRole)) {
51
+ const target = shouldRedirect(unauthorizedRedirect ?? signedOutRedirect);
52
+ if (!target) {
53
+ log("role gate matched but no unauthorizedRedirect/signedOutRedirect configured (or already there)");
54
+ return;
55
+ }
56
+ log(`role gate (need ${pageRole}, have ${currentRole ?? "none"}) → redirecting to ${target}`);
57
+ window.location.href = target;
58
+ }
59
+ }
60
+ }
3
61
  export async function initAuth(context, auth, debug = false) {
4
- const { getUser, onChange, roleQuery } = auth;
62
+ const { getUser, onChange, roleQuery, signedOutRedirect, unauthorizedRedirect } = auth;
5
63
  const log = debug
6
64
  ? (...args) => console.log("[gg-auth]", ...args)
7
65
  : () => { };
@@ -12,32 +70,34 @@ export async function initAuth(context, auth, debug = false) {
12
70
  body.setAttribute(ATTR.auth, "false");
13
71
  body.removeAttribute(ATTR.role);
14
72
  log("body set to signed-out: gg-auth=false, gg-role removed");
15
- return;
16
73
  }
17
- body.setAttribute(ATTR.auth, "true");
18
- if (roleQuery) {
19
- let role = null;
20
- try {
21
- log("roleQuery started");
22
- role = await roleQuery(context, userId);
23
- log("roleQuery →", role);
24
- }
25
- catch (err) {
26
- log("roleQuery threw:", err);
27
- role = null;
28
- }
29
- if (role) {
30
- body.setAttribute(ATTR.role, role);
31
- log(`body: gg-auth=true, gg-role=${role}`);
74
+ else {
75
+ body.setAttribute(ATTR.auth, "true");
76
+ if (roleQuery) {
77
+ let role = null;
78
+ try {
79
+ log("roleQuery started");
80
+ role = await roleQuery(context, userId);
81
+ log("roleQuery →", role);
82
+ }
83
+ catch (err) {
84
+ log("roleQuery threw:", err);
85
+ role = null;
86
+ }
87
+ if (role) {
88
+ body.setAttribute(ATTR.role, role);
89
+ log(`body: gg-auth=true, gg-role=${role}`);
90
+ }
91
+ else {
92
+ body.removeAttribute(ATTR.role);
93
+ log("body: gg-auth=true, gg-role removed");
94
+ }
32
95
  }
33
96
  else {
34
- body.removeAttribute(ATTR.role);
35
- log("body: gg-auth=true, gg-role removed");
97
+ log("body: gg-auth=true (no roleQuery configured)");
36
98
  }
37
99
  }
38
- else {
39
- log("body: gg-auth=true (no roleQuery configured)");
40
- }
100
+ checkPageGate(signedOutRedirect, unauthorizedRedirect, log);
41
101
  }
42
102
  let userId = null;
43
103
  try {
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAWnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAiB,EACjB,IAA2B,EAC3B,KAAK,GAAG,KAAK;IAEb,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK;QACf,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QAC3D,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,KAAK,UAAU,cAAc,CAC3B,MAAqB,EACrB,MAAc;QAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,GAAG,CAAC,mBAAmB,MAAM,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,CAAC;gBACH,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACzB,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvB,4EAA4E;QAC5E,yEAAyE;QACzE,wBAAwB;QACxB,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YACjD,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC9B,UAAU,CACR,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CAAC,2BAA2B,mBAAmB,IAAI,CAAC,CAC9D,EACH,mBAAmB,CACpB,CACF;SACF,CAAC,CAAC;QACH,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAElC,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC/B,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export declare function setTransitionConfig(next: {
6
6
  export declare function setVisibility(el: HTMLElement, visible: boolean, options?: {
7
7
  instant?: boolean;
8
8
  }): void;
9
+ /**
10
+ * Fade-out and detach. Used by data-engine list removal so deletes participate
11
+ * in the global transition config. With duration 0 (default) or reduced motion,
12
+ * detaches immediately.
13
+ */
14
+ export declare function removeWithFade(el: HTMLElement): void;
9
15
  /**
10
16
  * False when the element or any ancestor has `display: none`. The data engine
11
17
  * uses this to skip queries on hidden tabs/panels and defer them to whenever
@@ -73,6 +73,30 @@ export function setVisibility(el, visible, options) {
73
73
  else
74
74
  hide(el, instant);
75
75
  }
76
+ /**
77
+ * Fade-out and detach. Used by data-engine list removal so deletes participate
78
+ * in the global transition config. With duration 0 (default) or reduced motion,
79
+ * detaches immediately.
80
+ */
81
+ export function removeWithFade(el) {
82
+ animations.get(el)?.stop();
83
+ const duration = effectiveDuration();
84
+ if (duration === 0) {
85
+ el.remove();
86
+ return;
87
+ }
88
+ el.setAttribute("inert", "");
89
+ el.setAttribute("aria-hidden", "true");
90
+ const anim = animate(el, { opacity: 0 }, { duration: duration / 1000, ease: config.ease });
91
+ animations.set(el, anim);
92
+ anim.then(() => {
93
+ if (animations.get(el) !== anim)
94
+ return;
95
+ el.remove();
96
+ }, () => {
97
+ /* superseded */
98
+ });
99
+ }
76
100
  /**
77
101
  * False when the element or any ancestor has `display: none`. The data engine
78
102
  * uses this to skip queries on hidden tabs/panels and defer them to whenever
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/helpers/visibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/helpers/visibility.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { invalidate } from "./refresh.js";
11
11
  export { getPath } from "./helpers/path.js";
12
12
  export type { AuthAdapter } from "./auth.js";
13
13
  export type { Query, RegisteredQuery } from "./queries.js";
14
- export type { Action, ActionResult } from "./actions.js";
14
+ export type { Action, ActionHelpers, ActionResult, RemoveItemPredicate, } from "./actions.js";
15
15
  export type { FormAction, FormActionResult, FormFieldError } from "./form-actions.js";
16
16
  export type { GgErrorEvent, ErrorHandler } from "./errors.js";
17
17
  export type InitOptions<TContext = unknown> = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAoB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAwC,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAgG5C;;GAEG;AACH,MAAM,UAAU,IAAI,CAClB,EACE,OAAO,GAAG,EAAc,EACxB,IAAI,EACJ,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,IAAI,EACb,UAAU,MACe,EAAE;IAE7B,IAAI,UAAU;QAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,MAAM,WAAW,GAAyC,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,IAAI,QAAQ,GAAsB,EAAE,CAAC;IAErC,MAAM,GAAG,GAAkB;QACzB,OAAO;QACP,KAAK;QACL,OAAO;QACP,OAAO;QACP,WAAW;QACX,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,EAAE,CAAC,GAAG;gBACZ,OAAO,EAAE,EAAqB;gBAC9B,EAAE,EAAE,IAAI,EAAE,EAAE;gBACZ,WAAW,EAAE,IAAI,EAAE,WAAW;aAC/B,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAsB,CAAC;QACvC,CAAC;QACD,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACxB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,QAAQ,EAAE,KAAK,EAAqB,EAAU,EAAoB,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE;gBACpC,OAAO;gBACP,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC;YACnC,OAAO,MAAM,CAAC,KAAgB,CAAC;QACjC,CAAC;QACD,SAAS,EAAE,CAGT,EAAU,EACV,OAAc,EAAW,EACF,EAAE,CACzB,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE;YACtB,OAAO;YACP,KAAK;YACL,OAAO;YACP,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACnC,CAAC;QACJ,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAC5C,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;QACjD,KAAK;YACH,SAAS,GAAG;gBACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBAC3C,MAAM,IAAI,GAAG;oBACX,OAAO;oBACP,KAAK;oBACL,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;iBACzD,CAAC;gBAEF,IAAI,IAAI;oBAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACpC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,GAAG,EAAE,CAAC;YACR,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACV,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,GAAmB,CAAC;QACnC,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "9.2.1";
1
+ export declare const VERSION = "9.4.0";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Auto-generated from package.json by scripts/sync-version.sh. Do not edit.
2
- export const VERSION = "9.2.1";
2
+ export const VERSION = "9.4.0";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gg-wf-scripts",
3
- "version": "9.2.1",
3
+ "version": "9.4.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {