@peasant-labs/fairtrade 0.0.23 → 0.0.24

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.
@@ -99,7 +99,7 @@ export function CollectivePicker({ suggestions, onAdd, query: queryProp, onQuery
99
99
  * States: `connect` (this computer is not signed in to village), `waiting-github` (after continue
100
100
  * with github), `checking` (the redaction check is running), `scan-failed` (publish is off,
101
101
  * re-scan stays on), `no-collective` (signed in, in no collective), `ready`, `publishing`,
102
- * `stopped` (a named step failed; village keeps what it had), `done`, `waits-approval` (done, and
102
+ * `stopped` (a named step failed; the host names any changes already applied), `done`, `waits-approval` (done, and
103
103
  * a curated collective shows it once its owner approves).
104
104
  *
105
105
  * @param {object} props
@@ -108,7 +108,7 @@ export function CollectivePicker({ suggestions, onAdd, query: queryProp, onQuery
108
108
  * @param {string} props.title - the session title, kept in its case.
109
109
  * @param {'publish'|'update'} [props.mode='publish']
110
110
  * @param {PublishDialogState} props.state - one of PUBLISH_DIALOG_STATES.
111
- * @param {{ matches?: object[], total?: number, failure?: string }} [props.scan] - the host's scan result. Until it carries a
111
+ * @param {{ matches?: object[], matchCount?: number, total?: number, failure?: string }} [props.scan] - the host's scan result. `matchCount` is the full occurrence count when `matches` contains only examples. Until it carries a
112
112
  * `matches` list, the popup says the transcript is not scanned and keeps publish off. A match with `kept: true` leaves un-redacted, and the
113
113
  * popup says so and opens the matches.
114
114
  * @param {() => void} [props.onRescan]
@@ -135,6 +135,7 @@ export function PublishDialog({ open, onClose, title, mode, state, scan, onResca
135
135
  state: PublishDialogState;
136
136
  scan?: {
137
137
  matches?: object[];
138
+ matchCount?: number;
138
139
  total?: number;
139
140
  failure?: string;
140
141
  };
@@ -6907,7 +6907,14 @@ function lo({ onRetry: e, retrying: t = !1, checkedAt: n, command: r = "peasant
6907
6907
  children: [t ? /* @__PURE__ */ b(Be, {
6908
6908
  className: "cx-offline-spin",
6909
6909
  "aria-hidden": "true"
6910
- }) : /* @__PURE__ */ b(rt, { "aria-hidden": "true" }), /* @__PURE__ */ b("span", { children: t ? "trying again" : "try again" })]
6910
+ }) : /* @__PURE__ */ b(rt, { "aria-hidden": "true" }), /* @__PURE__ */ x("span", {
6911
+ className: "cx-offline-retry-label",
6912
+ children: [/* @__PURE__ */ b("span", {
6913
+ "aria-hidden": "true",
6914
+ className: "cx-offline-retry-reserve",
6915
+ children: "trying again"
6916
+ }), /* @__PURE__ */ b("span", { children: t ? "trying again" : "try again" })]
6917
+ })]
6911
6918
  }),
6912
6919
  s && /* @__PURE__ */ x("span", {
6913
6920
  className: "cx-offline-checked",
@@ -7999,7 +8006,7 @@ function es(e) {
7999
8006
  return e.length <= 1 ? e[0] ?? "" : `${e.slice(0, -1).join(", ")} and ${e[e.length - 1]}`;
8000
8007
  }
8001
8008
  function ts({ state: e, scan: t, onRescan: n, readOnlyReview: r }) {
8002
- let i = p(), a = t?.matches ?? [], o = a.filter((e) => e.kept).length, [s, c] = v(null), l = s ?? o > 0, u = e === "checking", d = e === "scan-failed", f = !Array.isArray(t?.matches) && !u && !d;
8009
+ let i = p(), a = t?.matches ?? [], o = t?.matchCount ?? a.length, s = o > a.length, c = a.filter((e) => e.kept).length, [l, u] = v(null), d = l ?? c > 0, f = e === "checking", m = e === "scan-failed", h = !Array.isArray(t?.matches) && !f && !m;
8003
8010
  return /* @__PURE__ */ x("section", {
8004
8011
  className: "pub-section",
8005
8012
  "aria-labelledby": i,
@@ -8013,17 +8020,17 @@ function ts({ state: e, scan: t, onRescan: n, readOnlyReview: r }) {
8013
8020
  type: "button",
8014
8021
  className: "btn btn-ghost btn-sm pub-rescan",
8015
8022
  onClick: n,
8016
- disabled: u,
8023
+ disabled: f || e === "publishing",
8017
8024
  children: [/* @__PURE__ */ b(rt, { "aria-hidden": "true" }), " re-scan"]
8018
8025
  })]
8019
- }), u ? /* @__PURE__ */ x("p", {
8026
+ }), f ? /* @__PURE__ */ x("p", {
8020
8027
  className: "pub-line",
8021
8028
  role: "status",
8022
8029
  children: [/* @__PURE__ */ b(Be, {
8023
8030
  className: "pub-spin",
8024
8031
  "aria-hidden": "true"
8025
8032
  }), " checking for sensitive content"]
8026
- }) : d ? /* @__PURE__ */ x("p", {
8033
+ }) : m ? /* @__PURE__ */ x("p", {
8027
8034
  className: "pub-line pub-line-alert",
8028
8035
  role: "alert",
8029
8036
  children: [
@@ -8031,7 +8038,7 @@ function ts({ state: e, scan: t, onRescan: n, readOnlyReview: r }) {
8031
8038
  " ",
8032
8039
  t?.failure ?? "the scan failed, so publish is off. re-scan to try again."
8033
8040
  ]
8034
- }) : f ? /* @__PURE__ */ x("p", {
8041
+ }) : h ? /* @__PURE__ */ x("p", {
8035
8042
  className: "pub-line pub-line-alert",
8036
8043
  children: [
8037
8044
  /* @__PURE__ */ b(S, { "aria-hidden": "true" }),
@@ -8039,34 +8046,34 @@ function ts({ state: e, scan: t, onRescan: n, readOnlyReview: r }) {
8039
8046
  n ? " re-scan to check it." : ""
8040
8047
  ]
8041
8048
  }) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ x("p", {
8042
- className: o ? "pub-line pub-line-alert" : "pub-line",
8049
+ className: c ? "pub-line pub-line-alert" : "pub-line",
8043
8050
  children: [
8044
- b(o ? S : ut, { "aria-hidden": "true" }),
8051
+ b(c ? S : ut, { "aria-hidden": "true" }),
8045
8052
  /* @__PURE__ */ x("span", { children: [
8046
8053
  /* @__PURE__ */ b("span", {
8047
8054
  className: "tnum",
8048
- children: a.length
8055
+ children: o
8049
8056
  }),
8050
8057
  " ",
8051
- a.length === 1 ? "match" : "matches",
8052
- o ? /* @__PURE__ */ x(y, { children: [
8058
+ o === 1 ? "match" : "matches",
8059
+ c ? /* @__PURE__ */ x(y, { children: [
8053
8060
  " · ",
8054
8061
  /* @__PURE__ */ b("span", {
8055
8062
  className: "tnum",
8056
- children: o
8063
+ children: c
8057
8064
  }),
8058
8065
  " kept un-redacted, will be sent"
8059
- ] }) : a.length ? " · all redacted" : " · nothing to redact"
8066
+ ] }) : o ? " · all redacted" : " · nothing to redact"
8060
8067
  ] }),
8061
8068
  a.length > 0 && /* @__PURE__ */ b("button", {
8062
8069
  type: "button",
8063
8070
  className: "btn btn-ghost btn-sm pub-toggle",
8064
- "aria-expanded": l,
8065
- onClick: () => c(!l),
8066
- children: l ? "hide matches" : "show matches"
8071
+ "aria-expanded": d,
8072
+ onClick: () => u(!d),
8073
+ children: s ? d ? "hide examples" : `show ${a.length} examples` : d ? "hide matches" : "show matches"
8067
8074
  })
8068
8075
  ]
8069
- }), l && a.length > 0 && /* @__PURE__ */ b(Ii, {
8076
+ }), d && a.length > 0 && /* @__PURE__ */ b(Ii, {
8070
8077
  readOnly: r,
8071
8078
  matches: a,
8072
8079
  total: t?.total ?? a.length,
@@ -8075,18 +8082,21 @@ function ts({ state: e, scan: t, onRescan: n, readOnlyReview: r }) {
8075
8082
  })] })]
8076
8083
  });
8077
8084
  }
8078
- function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan: a, onRescan: o, changes: s, access: c = [], onRemove: l, onRestore: u, picker: d, autoPublish: f, accessSummary: m, primaryLabel: h, onPublish: g, onConnect: _, joinHref: v, stoppedAt: C, onRetry: w, done: T }) {
8079
- let E = p(), D = p();
8085
+ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan: a, onRescan: o, changes: s, access: c = [], onRemove: l, onRestore: u, picker: d, autoPublish: m, accessSummary: h, primaryLabel: g, onPublish: _, onConnect: v, joinHref: C, stoppedAt: w, onRetry: T, done: E }) {
8086
+ let D = p(), O = p();
8080
8087
  if (!$o.includes(i)) throw TypeError(`PublishDialog: unknown state ${JSON.stringify(i)}; use one of ${$o.join(", ")}.`);
8081
- let O = r === "update" ? "update" : "publish", k = c.filter((e) => e.pending !== "removal"), A = i === "done" || i === "waits-approval", j = i === "connect" || i === "waiting-github", M = c.filter((e) => e.pending === "adding" || e.pending === "approval").length, N = c.filter((e) => e.pending === "removal").length, P = r === "update" ? [
8088
+ let k = r === "update" ? "update" : "publish", A = c.filter((e) => e.pending !== "removal"), j = i === "done" || i === "waits-approval", M = i === "connect" || i === "waiting-github", N = c.filter((e) => e.pending === "adding" || e.pending === "approval").length, P = c.filter((e) => e.pending === "removal").length, ee = r === "update" ? [
8082
8089
  "update",
8083
- M ? `add ${Uo(M, "collective", "collectives")}` : null,
8084
- N ? `remove ${Uo(N, "collective", "collectives")}` : null
8085
- ].filter(Boolean).join(" and ") : k.length ? `publish to ${Uo(k.length, "collective", "collectives")}` : "publish", ee = i === "checking" || i === "scan-failed" || i === "no-collective" || i === "publishing" || k.length === 0 || !Array.isArray(a?.matches), F = i !== "publishing", te = A ? /* @__PURE__ */ x(y, { children: ["published to ", /* @__PURE__ */ b("span", {
8090
+ N ? `add ${Uo(N, "collective", "collectives")}` : null,
8091
+ P ? `remove ${Uo(P, "collective", "collectives")}` : null
8092
+ ].filter(Boolean).join(" and ") : A.length ? `publish to ${Uo(A.length, "collective", "collectives")}` : "publish", F = i === "checking" || i === "scan-failed" || i === "no-collective" || i === "publishing" || A.length === 0 && !(r === "update" && P > 0) || !Array.isArray(a?.matches), te = i !== "publishing", I = E?.collectives ?? A.map((e) => e.name), ne = E?.pending ?? [], L = j ? I.length ? /* @__PURE__ */ x(y, { children: ["published to ", /* @__PURE__ */ b("span", {
8086
8093
  className: "pub-title-content",
8087
- children: es(T?.collectives ?? k.map((e) => e.name))
8088
- })] }) : /* @__PURE__ */ x(y, { children: [
8089
- O,
8094
+ children: es(I)
8095
+ })] }) : ne.length ? /* @__PURE__ */ x(y, { children: ["submitted to ", /* @__PURE__ */ b("span", {
8096
+ className: "pub-title-content",
8097
+ children: es(ne)
8098
+ })] }) : r === "update" ? "updated · no collective can read it" : "published privately" : /* @__PURE__ */ x(y, { children: [
8099
+ k,
8090
8100
  " ",
8091
8101
  /* @__PURE__ */ x("span", {
8092
8102
  className: "pub-title-content",
@@ -8096,13 +8106,23 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8096
8106
  "”"
8097
8107
  ]
8098
8108
  })
8099
- ] }), I;
8100
- return I = A ? /* @__PURE__ */ b("button", {
8109
+ ] });
8110
+ f(() => {
8111
+ if (!e || !j) return;
8112
+ let t = document.getElementById(D)?.closest("[role=\"dialog\"]");
8113
+ t && !t.contains(document.activeElement) && t.querySelector(".dlg-foot button")?.focus();
8114
+ }, [
8115
+ e,
8116
+ j,
8117
+ D
8118
+ ]);
8119
+ let re;
8120
+ return re = j ? /* @__PURE__ */ b("button", {
8101
8121
  type: "button",
8102
8122
  className: "btn btn-primary btn-sm",
8103
8123
  onClick: t,
8104
8124
  children: "done"
8105
- }) : j ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("span", {
8125
+ }) : M ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("span", {
8106
8126
  className: "pub-foot-note",
8107
8127
  children: "nothing leaves your machine until you publish."
8108
8128
  }), /* @__PURE__ */ b("button", {
@@ -8111,13 +8131,9 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8111
8131
  onClick: t,
8112
8132
  children: "cancel"
8113
8133
  })] }) : /* @__PURE__ */ x(y, { children: [
8114
- /* @__PURE__ */ x("span", {
8134
+ /* @__PURE__ */ b("span", {
8115
8135
  className: "pub-foot-note",
8116
- children: [
8117
- "nothing leaves your machine until you ",
8118
- O,
8119
- "."
8120
- ]
8136
+ children: i === "publishing" ? "sending your redacted transcript to village." : i === "stopped" ? "review who can read it." : `nothing leaves your machine until you ${k}.`
8121
8137
  }),
8122
8138
  /* @__PURE__ */ b("button", {
8123
8139
  type: "button",
@@ -8126,33 +8142,36 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8126
8142
  disabled: i === "publishing",
8127
8143
  children: "cancel"
8128
8144
  }),
8129
- i === "stopped" ? /* @__PURE__ */ x("button", {
8145
+ i === "stopped" ? T && /* @__PURE__ */ x("button", {
8130
8146
  type: "button",
8131
8147
  className: "btn btn-primary btn-sm",
8132
- onClick: w,
8148
+ onClick: T,
8133
8149
  children: [/* @__PURE__ */ b(rt, { "aria-hidden": "true" }), " retry"]
8134
8150
  }) : /* @__PURE__ */ x("button", {
8135
8151
  type: "button",
8136
8152
  className: "btn btn-primary btn-sm pub-primary",
8137
- disabled: ee,
8153
+ disabled: F && i !== "publishing",
8154
+ "aria-disabled": F ? "true" : void 0,
8138
8155
  "aria-busy": i === "publishing" ? "true" : void 0,
8139
- onClick: g,
8156
+ onClick: () => {
8157
+ F || _?.();
8158
+ },
8140
8159
  children: [i === "publishing" ? /* @__PURE__ */ b(Be, {
8141
8160
  className: "pub-spin",
8142
8161
  "aria-hidden": "true"
8143
- }) : null, h ?? P]
8162
+ }) : null, g ?? ee]
8144
8163
  })
8145
8164
  ] }), /* @__PURE__ */ x(ri, {
8146
8165
  open: e,
8147
8166
  onClose: t,
8148
- dismissible: F,
8149
- title: te,
8150
- labelId: E,
8167
+ dismissible: te,
8168
+ title: L,
8169
+ labelId: D,
8151
8170
  size: "wide",
8152
8171
  className: "pub-dialog",
8153
8172
  footer: /* @__PURE__ */ b("div", {
8154
8173
  className: "pub-foot",
8155
- children: I
8174
+ children: re
8156
8175
  }),
8157
8176
  children: [
8158
8177
  i === "connect" && /* @__PURE__ */ x("div", {
@@ -8160,7 +8179,7 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8160
8179
  children: [/* @__PURE__ */ b("p", {
8161
8180
  className: "pub-line",
8162
8181
  children: "connect this computer to village once to publish."
8163
- }), /* @__PURE__ */ b(mo, { onSignIn: () => _?.() })]
8182
+ }), /* @__PURE__ */ b(mo, { onSignIn: () => v?.() })]
8164
8183
  }),
8165
8184
  i === "waiting-github" && /* @__PURE__ */ x("p", {
8166
8185
  className: "pub-line",
@@ -8170,13 +8189,13 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8170
8189
  "aria-hidden": "true"
8171
8190
  }), " waiting for github in your browser"]
8172
8191
  }),
8173
- !j && !A && /* @__PURE__ */ x(y, { children: [
8192
+ !M && !j && /* @__PURE__ */ x(y, { children: [
8174
8193
  r === "update" && s && /* @__PURE__ */ x("section", {
8175
8194
  className: "pub-section",
8176
- "aria-labelledby": `${D}-changed`,
8195
+ "aria-labelledby": `${O}-changed`,
8177
8196
  children: [/* @__PURE__ */ b("h4", {
8178
8197
  className: "pub-section-title",
8179
- id: `${D}-changed`,
8198
+ id: `${O}-changed`,
8180
8199
  children: "what changed"
8181
8200
  }), /* @__PURE__ */ b("p", {
8182
8201
  className: "pub-line",
@@ -8191,11 +8210,11 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8191
8210
  }),
8192
8211
  /* @__PURE__ */ x("section", {
8193
8212
  className: "pub-section",
8194
- "aria-labelledby": `${D}-readers`,
8213
+ "aria-labelledby": `${O}-readers`,
8195
8214
  children: [
8196
8215
  /* @__PURE__ */ b("h4", {
8197
8216
  className: "pub-section-title",
8198
- id: `${D}-readers`,
8217
+ id: `${O}-readers`,
8199
8218
  children: "who can read it"
8200
8219
  }),
8201
8220
  i === "no-collective" ? /* @__PURE__ */ x("p", {
@@ -8203,9 +8222,9 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8203
8222
  children: [
8204
8223
  "you are not in a collective yet.",
8205
8224
  " ",
8206
- v && /* @__PURE__ */ x("a", {
8225
+ C && /* @__PURE__ */ x("a", {
8207
8226
  className: "link",
8208
- href: v,
8227
+ href: C,
8209
8228
  children: ["create or join one on village ", /* @__PURE__ */ b(ve, { "aria-hidden": "true" })]
8210
8229
  })
8211
8230
  ]
@@ -8213,7 +8232,7 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8213
8232
  /* @__PURE__ */ b(Zo, {
8214
8233
  items: c,
8215
8234
  onRemove: i === "publishing" ? void 0 : l,
8216
- onRestore: u
8235
+ onRestore: i === "publishing" ? void 0 : u
8217
8236
  }),
8218
8237
  d && i !== "publishing" && /* @__PURE__ */ b(Qo, { ...d }),
8219
8238
  r === "update" && /* @__PURE__ */ b("p", {
@@ -8221,21 +8240,21 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8221
8240
  children: "removing a collective takes the transcript back from it."
8222
8241
  })
8223
8242
  ] }),
8224
- f && i !== "no-collective" && /* @__PURE__ */ x("div", {
8243
+ m && i !== "no-collective" && /* @__PURE__ */ x("div", {
8225
8244
  className: "pub-auto",
8226
8245
  children: [/* @__PURE__ */ b(fn, {
8227
- checked: f.checked,
8228
- onChange: (e) => f.onChange(e),
8246
+ checked: m.checked,
8247
+ onChange: (e) => m.onChange(e),
8229
8248
  disabled: i === "publishing",
8230
8249
  children: "publish this repo automatically on git push"
8231
8250
  }), /* @__PURE__ */ b("span", {
8232
8251
  className: "pub-hint",
8233
- children: f.hint ?? "same collectives · change it in settings"
8252
+ children: m.hint ?? "same collectives · change it in settings"
8234
8253
  })]
8235
8254
  }),
8236
- r === "update" && m && /* @__PURE__ */ b("p", {
8255
+ r === "update" && h && /* @__PURE__ */ b("p", {
8237
8256
  className: "pub-line pub-delta",
8238
- children: m
8257
+ children: h
8239
8258
  })
8240
8259
  ]
8241
8260
  }),
@@ -8248,7 +8267,7 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8248
8267
  "aria-hidden": "true"
8249
8268
  }),
8250
8269
  " ",
8251
- r === "update" ? "updating" : `publishing to ${Uo(k.length, "collective", "collectives")}`
8270
+ r === "update" ? "updating" : `publishing to ${Uo(A.length, "collective", "collectives")}`
8252
8271
  ]
8253
8272
  }),
8254
8273
  i === "stopped" && /* @__PURE__ */ x("p", {
@@ -8257,12 +8276,12 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8257
8276
  children: [
8258
8277
  /* @__PURE__ */ b(S, { "aria-hidden": "true" }),
8259
8278
  " stopped while ",
8260
- C ?? "publishing",
8261
- ". nothing changed on village."
8279
+ w ?? "publishing",
8280
+ ". review who can read it."
8262
8281
  ]
8263
8282
  })
8264
8283
  ] }),
8265
- A && T && /* @__PURE__ */ x("div", {
8284
+ j && E && /* @__PURE__ */ x("div", {
8266
8285
  className: "pub-done",
8267
8286
  children: [
8268
8287
  /* @__PURE__ */ x("div", {
@@ -8270,52 +8289,52 @@ function ns({ open: e, onClose: t, title: n, mode: r = "publish", state: i, scan
8270
8289
  children: [
8271
8290
  /* @__PURE__ */ b("a", {
8272
8291
  className: "pub-link mono",
8273
- href: T.url,
8274
- children: T.url.replace(/^https?:\/\//, "")
8292
+ href: E.url,
8293
+ children: E.url.replace(/^https?:\/\//, "")
8275
8294
  }),
8276
8295
  /* @__PURE__ */ b(Vo, {
8277
- value: T.url,
8296
+ value: E.url,
8278
8297
  label: "copy link"
8279
8298
  }),
8280
8299
  /* @__PURE__ */ x("a", {
8281
8300
  className: "btn btn-secondary btn-sm",
8282
- href: T.url,
8301
+ href: E.url,
8283
8302
  target: "_blank",
8284
8303
  rel: "noreferrer",
8285
8304
  children: ["open ", /* @__PURE__ */ b(ve, { "aria-hidden": "true" })]
8286
8305
  })
8287
8306
  ]
8288
8307
  }),
8289
- i === "waits-approval" && T.pending?.length ? /* @__PURE__ */ x("p", {
8308
+ i === "waits-approval" && E.pending?.length ? /* @__PURE__ */ x("p", {
8290
8309
  className: "pub-line",
8291
8310
  role: "status",
8292
8311
  children: [
8293
- es(T.pending),
8312
+ es(E.pending),
8294
8313
  " ",
8295
- T.pending.length === 1 ? "shows" : "show",
8314
+ E.pending.length === 1 ? "shows" : "show",
8296
8315
  " it once ",
8297
- T.pending.length === 1 ? "its owner approves" : "their owners approve",
8316
+ E.pending.length === 1 ? "its owner approves" : "their owners approve",
8298
8317
  "."
8299
8318
  ]
8300
8319
  }) : null,
8301
- T.pullRequest && /* @__PURE__ */ x("div", {
8320
+ E.pullRequest && /* @__PURE__ */ x("div", {
8302
8321
  className: "pub-pr",
8303
8322
  children: [/* @__PURE__ */ x("p", {
8304
8323
  className: "pub-line",
8305
8324
  children: [/* @__PURE__ */ b(Oe, { "aria-hidden": "true" }), /* @__PURE__ */ x("span", { children: [
8306
8325
  "pull request ",
8307
- T.pullRequest.href ? /* @__PURE__ */ x("a", {
8326
+ E.pullRequest.href ? /* @__PURE__ */ x("a", {
8308
8327
  className: "link tnum",
8309
- href: T.pullRequest.href,
8310
- children: ["#", T.pullRequest.number]
8328
+ href: E.pullRequest.href,
8329
+ children: ["#", E.pullRequest.number]
8311
8330
  }) : /* @__PURE__ */ x("span", {
8312
8331
  className: "tnum",
8313
- children: ["#", T.pullRequest.number]
8332
+ children: ["#", E.pullRequest.number]
8314
8333
  }),
8315
8334
  " is open for ",
8316
8335
  /* @__PURE__ */ b("code", {
8317
8336
  className: "mono",
8318
- children: T.pullRequest.branch
8337
+ children: E.pullRequest.branch
8319
8338
  }),
8320
8339
  ". comment ",
8321
8340
  /* @__PURE__ */ b("code", {
package/dist/lib/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as e, $n as t, $t as n, A as r, An as i, At as a, B as o, Bn as s, Bt as c, C as l, Cn as u, Ct as d, D as f, Dn as p, Dt as m, E as h, En as g, Et as _, F as v, Fn as y, Ft as b, G as x, Gn as S, Gt as C, H as w, Hn as T, Ht as E, I as D, In as O, It as k, J as A, Jn as j, Jt as M, K as N, Kn as P, Kt as F, L as I, Ln as L, Lt as R, M as z, Mn as B, Mt as V, N as H, Nn as U, Nt as W, O as G, On as K, Ot as q, P as J, Pn as Y, Pt as X, Q as Z, Qn as Q, Qt as $, R as ee, Rn as te, Rt as ne, S as re, Sn as ie, St as ae, T as oe, Tn as se, Tt as ce, U as le, Un as ue, Ut as de, V as fe, Vn as pe, Vt as me, W as he, Wn as ge, Wt as _e, X as ve, Xn as ye, Xt as be, Y as xe, Yn as Se, Yt as Ce, Z as we, Zn as Te, Zt as Ee, _ as De, _n as Oe, _t as ke, a as Ae, an as je, ar as Me, at as Ne, b as Pe, bn as Fe, bt as Ie, c as Le, cn as Re, cr as ze, ct as Be, d as Ve, dn as He, dr as Ue, dt as We, en as Ge, er as Ke, et as qe, f as Je, fn as Ye, fr as Xe, ft as Ze, g as Qe, gn as $e, gt as et, h as tt, hn as nt, hr as rt, ht as it, i as at, in as ot, ir as st, it as ct, j as lt, jn as ut, jt as dt, k as ft, kn as pt, kt as mt, l as ht, ln as gt, lr as _t, lt as vt, m as yt, mn as bt, mr as xt, mt as St, n as Ct, nn as wt, nr as Tt, nt as Et, o as Dt, on as Ot, or as kt, ot as At, p as jt, pn as Mt, pr as Nt, pt as Pt, q as Ft, qn as It, qt as Lt, r as Rt, rn as zt, rr as Bt, rt as Vt, s as Ht, sn as Ut, sr as Wt, st as Gt, t as Kt, tn as qt, tr as Jt, tt as Yt, u as Xt, un as Zt, ur as Qt, ut as $t, v as en, vn as tn, vt as nn, w as rn, wn as an, wt as on, x as sn, xn as cn, xt as ln, y as un, yn as dn, yt as fn, z as pn, zn as mn, zt as hn } from "./ui-Bku81oD-.js";
1
+ import { $ as e, $n as t, $t as n, A as r, An as i, At as a, B as o, Bn as s, Bt as c, C as l, Cn as u, Ct as d, D as f, Dn as p, Dt as m, E as h, En as g, Et as _, F as v, Fn as y, Ft as b, G as x, Gn as S, Gt as C, H as w, Hn as T, Ht as E, I as D, In as O, It as k, J as A, Jn as j, Jt as M, K as N, Kn as P, Kt as F, L as I, Ln as L, Lt as R, M as z, Mn as B, Mt as V, N as H, Nn as U, Nt as W, O as G, On as K, Ot as q, P as J, Pn as Y, Pt as X, Q as Z, Qn as Q, Qt as $, R as ee, Rn as te, Rt as ne, S as re, Sn as ie, St as ae, T as oe, Tn as se, Tt as ce, U as le, Un as ue, Ut as de, V as fe, Vn as pe, Vt as me, W as he, Wn as ge, Wt as _e, X as ve, Xn as ye, Xt as be, Y as xe, Yn as Se, Yt as Ce, Z as we, Zn as Te, Zt as Ee, _ as De, _n as Oe, _t as ke, a as Ae, an as je, ar as Me, at as Ne, b as Pe, bn as Fe, bt as Ie, c as Le, cn as Re, cr as ze, ct as Be, d as Ve, dn as He, dr as Ue, dt as We, en as Ge, er as Ke, et as qe, f as Je, fn as Ye, fr as Xe, ft as Ze, g as Qe, gn as $e, gt as et, h as tt, hn as nt, hr as rt, ht as it, i as at, in as ot, ir as st, it as ct, j as lt, jn as ut, jt as dt, k as ft, kn as pt, kt as mt, l as ht, ln as gt, lr as _t, lt as vt, m as yt, mn as bt, mr as xt, mt as St, n as Ct, nn as wt, nr as Tt, nt as Et, o as Dt, on as Ot, or as kt, ot as At, p as jt, pn as Mt, pr as Nt, pt as Pt, q as Ft, qn as It, qt as Lt, r as Rt, rn as zt, rr as Bt, rt as Vt, s as Ht, sn as Ut, sr as Wt, st as Gt, t as Kt, tn as qt, tr as Jt, tt as Yt, u as Xt, un as Zt, ur as Qt, ut as $t, v as en, vn as tn, vt as nn, w as rn, wn as an, wt as on, x as sn, xn as cn, xt as ln, y as un, yn as dn, yt as fn, z as pn, zn as mn, zt as hn } from "./ui-D7JaPPPx.js";
2
2
  import { Ct as gn, St as _n, _t as vn, a as yn, bt as bn, c as xn, ct as Sn, d as Cn, dt as wn, et as Tn, f as En, ft as Dn, gt as On, h as kn, ht as An, i as jn, l as Mn, lt as Nn, m as Pn, mt as Fn, n as In, o as Ln, p as Rn, pt as zn, r as Bn, s as Vn, t as Hn, tt as Un, u as Wn, ut as Gn, vt as Kn, wt as qn, xt as Jn, yt as Yn } from "./GraphLegend-sgixmPER.js";
3
3
  import { n as Xn, t as Zn } from "./ChartLine-Cycmpjep.js";
4
4
  export { Sn as AccentLegend, Gt as AccessList, pt as Accordion, Lt as ApprovalBar, te as Avatar, mn as AvatarGroup, gn as BrandMark, j as Breadcrumb, Nt as Button, xt as ButtonGroup, Te as Card, Q as CardImg, Xn as ChartBar, Zn as ChartLine, kt as Checkbox, X as CheckpointMarker, Jt as Chip, ae as CliSteps, Be as CollectivePicker, d as CommandBlock, Ut as CommandPalette, Un as CommitGraph, _e as ConfirmInline, q as ConnectionPill, be as ConsentDialog, Ee as ConsentSummary, it as CopyIconButton, Tt as CountBadge, gt as DATE_PRESETS, C as DangerZone, mt as DataState, ut as DataTable, Zt as DateRange, He as DateRangeCalendar, Re as Dialog, Tn as DiffView, Ft as ENTRY_TYPES, L as EmptyState, c as EvidenceCaption, me as EvidenceTarget, Ge as Explainer, ln as FacetRail, B as FeedbackPanel, _t as Field, Bt as FilterChip, e as FocusedModeToggle, Ln as GRAPH_APP_SECTIONS, Hn as GRAPH_LEGEND_ITEMS, on as GettingStarted, ke as GovTile, Vn as GraphAppShell, In as GraphLegend, xn as GraphSectionNav, Bn as GraphSubagentBranch, jn as GraphToolNode, yn as GraphTurnNode, E as GroupedMultiSelect, A as HARNESSES, dn as HELPER_OWNER_STATE, ce as HandleClaim, zn as Heatmap, Fe as HelperGroup, cn as HelperGroupListItem, ie as HelperThreadRow, Mn as IN_USE_APPS, Wn as InUseShell, Qt as Input, Fn as IntensityScope, An as IntensitySwatch, s as Kbd, pe as KbdChord, Cn as LOCAL_APP_SECTIONS, a as LocalOfflineBanner, kn as MapCanvas, On as MapNode, S as Menu, t as MetaItem, M as ModerationQueue, _ as OnboardingCard, St as OverflowList, Nn as PROVIDER_ACCENT, vt as PUBLISH_DIALOG_STATES, $t as PUBLISH_STATES, It as Pager, P as Pagination, b as Phase, k as PhaseDivider, Ce as PolicySelect, ue as Popover, U as Progress, hn as PromptDigest, nn as ProviderBars, Gn as ProviderIcon, wn as ProviderName, Dn as ProviderTag, We as PublishBar, Ze as PublishDialog, Pt as PublishStateLabel, xe as ROLES, Wt as Radio, ze as RadioGroup, En as RailSection, Rn as RailShell, vn as RampLegend, $ as RedactionReview, Vt as RepoPicker, F as RoleRoster, Ke as Row, ve as SESSION_OUTCOMES, ct as SETTING_ROW_STATES, we as STOP_REASONS, qe as ScopeChip, rt as Segmented, Ue as Select, K as SessionGroupDisclosure, Ne as SettingGroup, At as SettingRow, m as SignInProviders, Y as Skeleton, i as Sparkline, y as Spinner, Pn as SplitRail, fn as StatGrid, Ie as StatTile, et as StatsStrip, st as StatusDot, zt as StepIndicator, ot as StepWizard, Se as Steps, de as StepsWaterfall, Me as Switch, Z as TOOL_CALL_KINDS, N as TOOL_GROUPS, ye as Tabs, T as Tag, R as TaskBoundary, dt as TeachingEmptyState, qt as Term, Xe as Textarea, nt as ThinkingBlock, wt as TimeStrip, $e as Timeline, Oe as TimelineItem, O as Toast, Mt as ToastProvider, tn as ToolCall, W as ToolCallRenderer, ge as Tooltip, V as Tour, yt as TranscriptCheckRow, re as TranscriptDiffEntryCard, l as TranscriptDiffHunks, tt as TranscriptFilterSection, Je as TranscriptFiltersRail, ht as TranscriptLabelPopover, oe as TranscriptMarkdown, De as TranscriptOutcomeChip, Qe as TranscriptOutlineRail, Xt as TranscriptScorecard, Ve as TranscriptScrubber, sn as TranscriptTaskBody, rn as TranscriptThinking, Pe as TranscriptToolBody, un as TranscriptToolCall, en as TranscriptTurnCard, jt as TranscriptViewSwitch, Kt as TranscriptViewer, je as Treemap, ne as TurnContextBar, Yt as VisibilityEye, Et as VisibilitySegmented, n as WhereDoesThisGo, H as adaptTranscript, Rt as advanceTranscriptInitialPositionConsumption, D as annotateTranscript, I as assessScorecard, ee as buildTaskWaterfall, h as composeSessionTitle, pn as computeAnalytics, o as computePersonalMedians, fe as computeTaskGroups, w as computeTasks, le as computeTurnLabels, Kn as coverageLevel, he as detectPhases, J as diffLines, Yn as effortLevel, ft as formatDateLong, r as formatDurationMins, Ye as formatRange, lt as formatRelative, u as helperMemberToggle, an as helperOwnerState, se as helperOwnerToggle, g as helperSelectionIds, bn as locSize, z as nextNavTurn, at as normalizeTranscriptInitialPosition, x as phaseLabel, v as prefilterTurns, f as projectLabel, Jn as providerAccent, _n as providerDisplayName, qn as resolveBrand, Ae as resolveTranscriptInitialPosition, Dt as shouldApplyTranscriptInitialPosition, Ot as squarify, G as summarizePrompt, Ht as transcriptInitialPositionReadiness, Le as transcriptInitialPositionToken, p as useHelperSelection, bt as useToast, Ct as useTranscriptInitialPosition };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peasant-labs/fairtrade",
3
3
  "private": false,
4
- "version": "0.0.23",
4
+ "version": "0.0.24",
5
5
  "description": "Fairtrade design-system library: canonical tokens, base styles, component CSS, and React UI exports.",
6
6
  "type": "module",
7
7
  "license": "Apache-2.0",