@estiva-app/ui 0.52.0 → 0.53.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.
@@ -72,6 +72,13 @@ export interface CaptionedItem {
72
72
  uri: string;
73
73
  /** What the query is matched against beside `label`. Default: `snippet`. */
74
74
  search?: string;
75
+ /** The row's second line, e.g. where the thing sits. The chip does not wear it. */
76
+ description?: string;
77
+ }
78
+ /** One labelled group of `[`'s rows, in the order the list draws them. */
79
+ export interface ReferenceSection {
80
+ label: string;
81
+ items: readonly CaptionedItem[];
75
82
  }
76
83
  /** How many references the list shows. */
77
84
  export declare const REFERENCE_LIMIT = 6;
@@ -100,11 +107,26 @@ export interface ReferenceMenuOptions {
100
107
  /** At each row's start: a 16px icon. */
101
108
  icon: ReactNode;
102
109
  }
103
- /** The list `[` opens: one section of `label: snippet` rows, the same box as the people list. */
110
+ /**
111
+ * The list `[` opens: `label: snippet` rows, the same box as the people list.
112
+ * One section headed `sectionLabel`, or — when the rows say which section they
113
+ * are in — a heading for each, in the order the rows arrive.
114
+ */
104
115
  export declare function referenceMenu({ ariaLabel, sectionLabel, icon }: ReferenceMenuOptions): SuggestionPopupOptions<CaptionedItem>;
105
116
  export interface ReferenceTriggerOptions extends ReferenceMenuOptions {
106
- /** Everything `[` can offer, asked each time the query changes. */
117
+ /** Everything `[` can offer, asked each time the query changes. Narrowed by {@link filterReferences}. */
107
118
  items: () => readonly CaptionedItem[];
119
+ /**
120
+ * In place of `items`: the sections to draw for what was typed, already
121
+ * narrowed and ordered by the app. Empty sections are not drawn.
122
+ */
123
+ sections?: (query: string) => readonly ReferenceSection[];
124
+ /**
125
+ * Called with a listener while the list is open; the app calls it when what
126
+ * `sections` would answer has changed — a search landing — and the open list
127
+ * is drawn again for the same query. Returns the unsubscribe.
128
+ */
129
+ subscribe?: (listener: () => void) => () => void;
108
130
  /** The node a pick inserts. Default `captionedReference`. */
109
131
  nodeName: string;
110
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerTriggers.d.ts","sourceRoot":"","sources":["../src/ComposerTriggers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComposerTriggers.d.ts","sourceRoot":"","sources":["../src/ComposerTriggers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAA;AAErD,OAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAMxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAiBhF,mCAAmC;AACnC,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,sCAAsC;AACtC,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAG7F;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAiBjF;AAED,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,MAAM,EAAE,MAAM,SAAS,aAAa,EAAE,CAAA;CACvC;AAED,KAAK,GAAG,GAAG;IAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CAAE,CAAA;AAgE9H;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,uGAaxB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,uGAgB9B,CAAA;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE;QAAE,GAAG,EAAE,GAAG,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAMnF;AAID,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAA;IACV,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;CAChC;AAED,0CAA0C;AAC1C,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAIhG;AAID,MAAM,WAAW,yBAAyB;IACxC,6CAA6C;IAC7C,IAAI,EAAE,SAAS,CAAA;CAChB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,yIAsC7B,CAAA;AAEF,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,IAAI,EAAE,SAAS,CAAA;CAChB;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,oBAAoB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAkB5H;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,yGAAyG;IACzG,KAAK,EAAE,MAAM,SAAS,aAAa,EAAE,CAAA;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,gBAAgB,EAAE,CAAA;IACzD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;IAChD,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAOD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,yCAgC3B,CAAA;AAIF,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,iBAAiB,CAAA;IACtB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,sEAAsE;IACtE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;CAClC;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,CAAA;AAE/G,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,SAAS,EAQvC,CAAA;AAED,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE3C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAE,UAAqB,GAAG,OAAO,CA8B9F;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,IAAI,GAAE,UAAqB,GAAG,YAAY,CAYvE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAM9D;AAMD,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAGpG;AAED,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;CAClC;AAID;;;;GAIG;AACH,eAAO,MAAM,aAAa,sCA6BxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionMenu.d.ts","sourceRoot":"","sources":["../src/SuggestionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AACvH,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AAGjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAA;CAC7C;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,gEAAgE;IAChE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAClC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,8BAA8B;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;IAC5B,wBAAwB;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAA;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CACnC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,sCA6GvJ"}
1
+ {"version":3,"file":"SuggestionMenu.d.ts","sourceRoot":"","sources":["../src/SuggestionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiF,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAC/H,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AAGjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAA;CAC7C;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,gEAAgE;IAChE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAClC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,8BAA8B;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;IAC5B,wBAAwB;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAA;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CACnC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,sCAuHvJ"}
package/dist/editor.js CHANGED
@@ -317,7 +317,12 @@ function suggestionPopup(options) {
317
317
  return () => {
318
318
  let component = null;
319
319
  let container = null;
320
+ let last = null;
321
+ let unsubscribe;
320
322
  const exit = () => {
323
+ unsubscribe?.();
324
+ unsubscribe = void 0;
325
+ last = null;
321
326
  if (!component) return;
322
327
  openCount = Math.max(0, openCount - 1);
323
328
  lastClose = Date.now();
@@ -333,8 +338,20 @@ function suggestionPopup(options) {
333
338
  container = document.createElement("div");
334
339
  document.body.appendChild(container);
335
340
  container.appendChild(component.element);
341
+ last = props;
342
+ const { subscribe, refresh } = options;
343
+ if (subscribe && refresh) {
344
+ unsubscribe = subscribe(() => {
345
+ if (!last || !component) return;
346
+ last = { ...last, items: refresh(last.query) };
347
+ component.updateProps({ ...last, options });
348
+ });
349
+ }
350
+ },
351
+ onUpdate: (props) => {
352
+ last = props;
353
+ component?.updateProps({ ...props, options });
336
354
  },
337
- onUpdate: (props) => component?.updateProps({ ...props, options }),
338
355
  onKeyDown: ({ event }) => {
339
356
  if (event.key === "Escape") {
340
357
  exit();
@@ -509,11 +526,21 @@ function referenceMenu({ ariaLabel, sectionLabel, icon }) {
509
526
  ariaLabel,
510
527
  width: "w-[658px]",
511
528
  maxHeight: "max-h-[360px]",
512
- sections: (items) => [{ label: sectionLabel, items, className: "px-2" }],
529
+ sections: (items) => {
530
+ const groups = [];
531
+ for (const item of items) {
532
+ const label = item.section ?? sectionLabel;
533
+ const last = groups[groups.length - 1];
534
+ if (last?.label === label) last.items.push(item);
535
+ else groups.push({ label, items: [item], className: "px-2" });
536
+ }
537
+ return groups;
538
+ },
513
539
  itemKey: (item) => `reference-${item.id}`,
514
- row: (item) => ({ leading: icon, label: captionOf(item.label, item.snippet), hint: /* @__PURE__ */ jsx3(EnterHint, {}) })
540
+ row: (item) => ({ leading: icon, label: captionOf(item.label, item.snippet), description: item.description, hint: /* @__PURE__ */ jsx3(EnterHint, {}) })
515
541
  };
516
542
  }
543
+ var listed = (options, query) => options.sections ? options.sections(query).flatMap((section) => section.items.map((item) => ({ ...item, section: section.label }))) : filterReferences(options.items(), query);
517
544
  var ReferenceTrigger = Extension2.create({
518
545
  name: "referenceTrigger",
519
546
  addOptions() {
@@ -531,8 +558,8 @@ var ReferenceTrigger = Extension2.create({
531
558
  const type = state.schema.nodes[options.nodeName];
532
559
  return !!type && !!state.doc.resolve(range.from).parent.type.contentMatch.matchType(type);
533
560
  },
534
- items: ({ query }) => filterReferences(options.items(), query),
535
- render: suggestionPopup(referenceMenu(options)),
561
+ items: ({ query }) => listed(options, query),
562
+ render: suggestionPopup({ ...referenceMenu(options), subscribe: options.subscribe, refresh: (query) => listed(options, query) }),
536
563
  command: ({ editor, range, props: item }) => {
537
564
  editor.chain().focus().insertContentAt(range, [
538
565
  { type: options.nodeName, attrs: { id: item.id, label: item.label, snippet: item.snippet, uri: item.uri } },