@edv4h/usketch-shape-utils 2.3.0 → 2.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.
@@ -23,11 +23,26 @@ export interface EditableTextOptions {
23
23
  * just clear the label. Default false.
24
24
  */
25
25
  deleteWhenEmpty?: boolean;
26
+ /**
27
+ * Extra geometry patch applied on each text input, merged over the height
28
+ * growth (e.g. the text shape's auto width). `next.height` is the height the
29
+ * input is about to apply. Return null to leave the shape as is. Changes it
30
+ * makes (any field) are part of the edit's single undo step.
31
+ */
32
+ fitOnInput?: (shape: ShapeData, text: string, next: {
33
+ height: number;
34
+ }) => Partial<ShapeData> | null;
26
35
  }
27
36
  export interface EditableTextController {
28
37
  /** Begin editing a specific shape explicitly (e.g. right after creation). */
29
38
  beginEdit(shapeId: string): void;
30
39
  isEditing(): boolean;
40
+ /**
41
+ * Forget a pending first click, so the next pointer-down on the shape does
42
+ * not complete a double-click into edit mode. Call from a handler that has
43
+ * already consumed the double-click (e.g. a resize-handle double-click).
44
+ */
45
+ cancelPendingClick(): void;
31
46
  teardown(): void;
32
47
  }
33
48
  /** Wire up the shared editable-text machine + DOM/canvas listeners for a plugin. */
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/editable-text/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAwQ1F,MAAM,WAAW,mBAAmB;IACnC,+CAA+C;IAC/C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,qEAAqE;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACxE,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACtC,6EAA6E;IAC7E,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,IAAI,OAAO,CAAC;IACrB,QAAQ,IAAI,IAAI,CAAC;CACjB;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,mBAAmB,GAC1B,sBAAsB,CA4ExB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/editable-text/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAsV1F,MAAM,WAAW,mBAAmB;IACnC,+CAA+C;IAC/C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,qEAAqE;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACxE,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CACZ,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KACpB,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACtC,6EAA6E;IAC7E,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,IAAI,OAAO,CAAC;IACrB;;;;OAIG;IACH,kBAAkB,IAAI,IAAI,CAAC;IAC3B,QAAQ,IAAI,IAAI,CAAC;CACjB;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,mBAAmB,GAC1B,sBAAsB,CAsFxB"}
@@ -7,6 +7,7 @@ const machine = createMachine({
7
7
  editingShapeId: bindable(() => ({ defaultValue: null })),
8
8
  textSnapshot: bindable(() => ({ defaultValue: null })),
9
9
  heightSnapshot: bindable(() => ({ defaultValue: null })),
10
+ widthSnapshot: bindable(() => ({ defaultValue: null })),
10
11
  clickedShapeId: bindable(() => ({ defaultValue: null })),
11
12
  };
12
13
  },
@@ -20,6 +21,8 @@ const machine = createMachine({
20
21
  growOnly: false,
21
22
  minHeight: 24,
22
23
  deleteWhenEmpty: false,
24
+ fitOnInput: undefined,
25
+ fitSnapshot: {},
23
26
  };
24
27
  },
25
28
  states: {
@@ -57,6 +60,7 @@ const machine = createMachine({
57
60
  entry: ["startSettleTimer"],
58
61
  on: {
59
62
  TEXT_INPUT: { guard: "isEditingTarget", actions: ["updateText"] },
63
+ TEXT_PREVIEW: { guard: "isEditingTarget", actions: ["previewText"] },
60
64
  TEXT_ESCAPE: { guard: "isEditingTarget", target: "idle", actions: ["exitEdit"] },
61
65
  DESELECTED: { target: "idle", actions: ["exitEdit"] },
62
66
  SETTLE_TIMEOUT: { target: "active" },
@@ -65,6 +69,7 @@ const machine = createMachine({
65
69
  active: {
66
70
  on: {
67
71
  TEXT_INPUT: { guard: "isEditingTarget", actions: ["updateText"] },
72
+ TEXT_PREVIEW: { guard: "isEditingTarget", actions: ["previewText"] },
68
73
  TEXT_BLUR: { guard: "isEditingTarget", target: "idle", actions: ["exitEdit"] },
69
74
  OUTSIDE_CLICK: { target: "idle", actions: ["exitEdit"] },
70
75
  TEXT_ESCAPE: { guard: "isEditingTarget", target: "idle", actions: ["exitEdit"] },
@@ -123,6 +128,8 @@ const machine = createMachine({
123
128
  return;
124
129
  context.set("textSnapshot", shape.text ?? "");
125
130
  context.set("heightSnapshot", shape.height);
131
+ context.set("widthSnapshot", shape.width);
132
+ refs.set("fitSnapshot", {});
126
133
  context.set("clickedShapeId", null);
127
134
  const t = refs.get("clickTimer");
128
135
  if (t != null) {
@@ -143,6 +150,7 @@ const machine = createMachine({
143
150
  return;
144
151
  const prevText = context.get("textSnapshot");
145
152
  const prevHeight = context.get("heightSnapshot");
153
+ const prevWidth = context.get("widthSnapshot");
146
154
  const ctx = refs.get("ctx");
147
155
  const settle = refs.get("settleTimer");
148
156
  if (settle != null) {
@@ -154,6 +162,7 @@ const machine = createMachine({
154
162
  context.set("editingShapeId", null);
155
163
  context.set("textSnapshot", null);
156
164
  context.set("heightSnapshot", null);
165
+ context.set("widthSnapshot", null);
157
166
  };
158
167
  if (!shape)
159
168
  return reset();
@@ -169,9 +178,37 @@ const machine = createMachine({
169
178
  undo: () => ctx.store.addShape(snapshot),
170
179
  });
171
180
  }
172
- else if (currentText !== prevText || shape.height !== prevHeight) {
173
- const from = { text: prevText, height: prevHeight ?? shape.height };
174
- const to = { text: currentText, height: shape.height };
181
+ else {
182
+ // Fields `fitOnInput` changed (e.g. auto width, the position of a
183
+ // rotated text) belong to the same undo step.
184
+ const fitSnapshot = refs.get("fitSnapshot");
185
+ const current = shape;
186
+ const fitFrom = {};
187
+ const fitTo = {};
188
+ for (const [key, value] of Object.entries(fitSnapshot)) {
189
+ if (current[key] === value)
190
+ continue;
191
+ fitFrom[key] = value;
192
+ fitTo[key] = current[key];
193
+ }
194
+ if (currentText === prevText &&
195
+ shape.height === prevHeight &&
196
+ shape.width === prevWidth &&
197
+ Object.keys(fitTo).length === 0) {
198
+ return reset();
199
+ }
200
+ const from = {
201
+ ...fitFrom,
202
+ text: prevText,
203
+ height: prevHeight ?? shape.height,
204
+ width: prevWidth ?? shape.width,
205
+ };
206
+ const to = {
207
+ ...fitTo,
208
+ text: currentText,
209
+ height: shape.height,
210
+ width: shape.width,
211
+ };
175
212
  ctx.commands.execute({
176
213
  execute: () => ctx.store.updateShape(id, to),
177
214
  undo: () => ctx.store.updateShape(id, from),
@@ -180,20 +217,30 @@ const machine = createMachine({
180
217
  reset();
181
218
  },
182
219
  updateText({ refs, event }) {
183
- if (!("text" in event))
220
+ if (event.type !== "TEXT_INPUT")
184
221
  return;
185
222
  const ctx = refs.get("ctx");
186
223
  const shape = ctx.store.getShape(event.id);
187
224
  if (!shape)
188
225
  return;
189
- const patch = { text: event.text };
190
- if (refs.get("growHeight")) {
191
- // grow-only shapes (sticky) never shrink below their current
192
- // (possibly manually-resized) height; others fit down to minHeight.
193
- const floor = refs.get("growOnly") ? shape.height : refs.get("minHeight");
194
- patch.height = Math.max(floor, event.scrollHeight);
195
- }
196
- ctx.store.updateShape(event.id, patch);
226
+ ctx.store.updateShape(event.id, {
227
+ text: event.text,
228
+ ...fitGeometry(refs, shape, event.text, event.scrollHeight),
229
+ });
230
+ },
231
+ previewText({ refs, event }) {
232
+ // IME composition: resize to the unconfirmed content but leave
233
+ // `text` alone — it is committed on composition end. Geometry
234
+ // changes stay inside the edit's single undo step (see exitEdit).
235
+ if (event.type !== "TEXT_PREVIEW")
236
+ return;
237
+ const ctx = refs.get("ctx");
238
+ const shape = ctx.store.getShape(event.id);
239
+ if (!shape)
240
+ return;
241
+ const patch = fitGeometry(refs, shape, event.text, event.scrollHeight);
242
+ if (Object.keys(patch).length > 0)
243
+ ctx.store.updateShape(event.id, patch);
197
244
  },
198
245
  sendEnterEdit({ send }) {
199
246
  send({ type: "ENTER_EDIT" });
@@ -201,6 +248,29 @@ const machine = createMachine({
201
248
  },
202
249
  },
203
250
  });
251
+ /** Height growth plus the plugin's `fitOnInput` patch for the editor content. */
252
+ function fitGeometry(refs, shape, text, scrollHeight) {
253
+ const patch = {};
254
+ if (refs.get("growHeight")) {
255
+ // grow-only shapes (sticky) never shrink below their current
256
+ // (possibly manually-resized) height; others fit down to minHeight.
257
+ const floor = refs.get("growOnly") ? shape.height : refs.get("minHeight");
258
+ patch.height = Math.max(floor, scrollHeight);
259
+ }
260
+ const fit = refs.get("fitOnInput")?.(shape, text, { height: patch.height ?? shape.height });
261
+ if (fit) {
262
+ const snapshot = refs.get("fitSnapshot");
263
+ const before = shape;
264
+ for (const key of Object.keys(fit)) {
265
+ if (key === "text" || key === "width" || key === "height")
266
+ continue;
267
+ if (!(key in snapshot))
268
+ snapshot[key] = before[key];
269
+ }
270
+ Object.assign(patch, fit);
271
+ }
272
+ return patch;
273
+ }
204
274
  /** Wire up the shared editable-text machine + DOM/canvas listeners for a plugin. */
205
275
  export function createEditableTextController(ctx, options) {
206
276
  const service = new VanillaMachine(machine);
@@ -210,6 +280,7 @@ export function createEditableTextController(ctx, options) {
210
280
  service.refs.set("growOnly", options.growOnly ?? false);
211
281
  service.refs.set("minHeight", options.minHeight ?? 24);
212
282
  service.refs.set("deleteWhenEmpty", options.deleteWhenEmpty ?? false);
283
+ service.refs.set("fitOnInput", options.fitOnInput);
213
284
  service.start();
214
285
  const matches = (...values) => {
215
286
  const s = service.state.get();
@@ -219,6 +290,10 @@ export function createEditableTextController(ctx, options) {
219
290
  const { id, text, scrollHeight } = e.detail;
220
291
  service.send({ type: "TEXT_INPUT", id, text, scrollHeight });
221
292
  };
293
+ const onPreview = (e) => {
294
+ const { id, text, scrollHeight } = e.detail;
295
+ service.send({ type: "TEXT_PREVIEW", id, text, scrollHeight });
296
+ };
222
297
  const onBlur = (e) => {
223
298
  const { id } = e.detail;
224
299
  requestAnimationFrame(() => service.send({ type: "TEXT_BLUR", id }));
@@ -237,6 +312,7 @@ export function createEditableTextController(ctx, options) {
237
312
  service.send({ type: "OUTSIDE_CLICK" });
238
313
  };
239
314
  window.addEventListener("usketch:text-input", onInput);
315
+ window.addEventListener("usketch:text-preview", onPreview);
240
316
  window.addEventListener("usketch:text-blur", onBlur);
241
317
  window.addEventListener("usketch:text-escape", onEscape);
242
318
  window.addEventListener("pointerdown", onWindowPointerDown, true);
@@ -262,6 +338,9 @@ export function createEditableTextController(ctx, options) {
262
338
  service.send({ type: "CREATE_SHAPE", shapeId });
263
339
  },
264
340
  isEditing: () => matches("editing"),
341
+ cancelPendingClick() {
342
+ service.send({ type: "CLICK_TIMEOUT" });
343
+ },
265
344
  teardown() {
266
345
  const clickTimer = service.refs.get("clickTimer");
267
346
  if (clickTimer != null)
@@ -271,6 +350,7 @@ export function createEditableTextController(ctx, options) {
271
350
  clearTimeout(settleTimer);
272
351
  service.stop();
273
352
  window.removeEventListener("usketch:text-input", onInput);
353
+ window.removeEventListener("usketch:text-preview", onPreview);
274
354
  window.removeEventListener("usketch:text-blur", onBlur);
275
355
  window.removeEventListener("usketch:text-escape", onEscape);
276
356
  window.removeEventListener("pointerdown", onWindowPointerDown, true);
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/editable-text/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/editable-text/controller.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ import type { FormEvent, CompositionEvent as ReactCompositionEvent, FocusEvent a
3
3
  export declare const TEXT_INPUT_EVENT = "usketch:text-input";
4
4
  export declare const TEXT_BLUR_EVENT = "usketch:text-blur";
5
5
  export declare const TEXT_ESCAPE_EVENT = "usketch:text-escape";
6
+ /**
7
+ * Editor content while an IME composition is in progress (unconfirmed text
8
+ * included). Lets the shape resize to fit before the text is committed; the
9
+ * text itself is committed by the `TEXT_INPUT_EVENT` on composition end.
10
+ */
11
+ export declare const TEXT_PREVIEW_EVENT = "usketch:text-preview";
6
12
  /**
7
13
  * Props for a `contentEditable` element that drives the shared editable-text
8
14
  * controller via `usketch:text-*` window events. Spread onto the editor div
@@ -17,6 +23,7 @@ export declare function editableTextProps(id: string, text: string): {
17
23
  tabIndex: number;
18
24
  ref: (el: HTMLElement | null) => void;
19
25
  onInput: (e: FormEvent<HTMLElement>) => void;
26
+ onCompositionStart: (e: ReactCompositionEvent<HTMLElement>) => void;
20
27
  onCompositionEnd: (e: ReactCompositionEvent<HTMLElement>) => void;
21
28
  onKeyDown: (e: ReactKeyboardEvent) => void;
22
29
  onBlur: (_e: ReactFocusEvent<HTMLElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"render-props.d.ts","sourceRoot":"","sources":["../../src/editable-text/render-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,gBAAgB,IAAI,qBAAqB,EACzC,UAAU,IAAI,eAAe,EAC7B,aAAa,IAAI,kBAAkB,EACnC,YAAY,IAAI,iBAAiB,EACjC,MAAM,OAAO,CAAC;AAEf,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAavD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IASxD,eAAe,EAAE,gBAAgB;IACjC,8BAA8B;IAC9B,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,GAAG,OAAO,WAAW,GAAG,IAAI;IAc5B,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC;IAInC,gBAAgB,MAAM,qBAAqB,CAAC,WAAW,CAAC;IACxD,SAAS,MAAM,kBAAkB;IAMjC,MAAM,OAAO,eAAe,CAAC,WAAW,CAAC;IAGzC,aAAa,MAAM,iBAAiB;EAErC"}
1
+ {"version":3,"file":"render-props.d.ts","sourceRoot":"","sources":["../../src/editable-text/render-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,gBAAgB,IAAI,qBAAqB,EACzC,UAAU,IAAI,eAAe,EAC7B,aAAa,IAAI,kBAAkB,EACnC,YAAY,IAAI,iBAAiB,EACjC,MAAM,OAAO,CAAC;AAEf,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AAazD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAUxD,eAAe,EAAE,gBAAgB;IACjC,8BAA8B;IAC9B,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,GAAG,OAAO,WAAW,GAAG,IAAI;IAc5B,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC;IASnC,kBAAkB,MAAM,qBAAqB,CAAC,WAAW,CAAC;IAE1D,gBAAgB,MAAM,qBAAqB,CAAC,WAAW,CAAC;IACxD,SAAS,MAAM,kBAAkB;IAMjC,MAAM,OAAO,eAAe,CAAC,WAAW,CAAC;IAGzC,aAAa,MAAM,iBAAiB;EAErC"}
@@ -2,6 +2,12 @@
2
2
  export const TEXT_INPUT_EVENT = "usketch:text-input";
3
3
  export const TEXT_BLUR_EVENT = "usketch:text-blur";
4
4
  export const TEXT_ESCAPE_EVENT = "usketch:text-escape";
5
+ /**
6
+ * Editor content while an IME composition is in progress (unconfirmed text
7
+ * included). Lets the shape resize to fit before the text is committed; the
8
+ * text itself is committed by the `TEXT_INPUT_EVENT` on composition end.
9
+ */
10
+ export const TEXT_PREVIEW_EVENT = "usketch:text-preview";
5
11
  function focusAtEnd(el) {
6
12
  el.focus();
7
13
  const sel = window.getSelection();
@@ -20,11 +26,12 @@ function focusAtEnd(el) {
20
26
  * shapes). Handles IME composition, Escape, blur, and one-time focus.
21
27
  */
22
28
  export function editableTextProps(id, text) {
23
- const dispatchInput = (el) => {
24
- window.dispatchEvent(new CustomEvent(TEXT_INPUT_EVENT, {
29
+ const dispatch = (type, el) => {
30
+ window.dispatchEvent(new CustomEvent(type, {
25
31
  detail: { id, text: el.innerText, scrollHeight: el.scrollHeight },
26
32
  }));
27
33
  };
34
+ const dispatchInput = (el) => dispatch(TEXT_INPUT_EVENT, el);
28
35
  return {
29
36
  contentEditable: "plaintext-only",
30
37
  suppressContentEditableWarning: true,
@@ -48,10 +55,15 @@ export function editableTextProps(id, text) {
48
55
  requestAnimationFrame(() => focusAtEnd(el));
49
56
  },
50
57
  onInput: (e) => {
51
- if (e.nativeEvent.isComposing)
58
+ // Mid-composition the DOM already holds the unconfirmed text (input
59
+ // fires after each compositionupdate), so preview it for sizing only.
60
+ if (e.nativeEvent.isComposing) {
61
+ dispatch(TEXT_PREVIEW_EVENT, e.currentTarget);
52
62
  return;
63
+ }
53
64
  dispatchInput(e.currentTarget);
54
65
  },
66
+ onCompositionStart: (e) => dispatch(TEXT_PREVIEW_EVENT, e.currentTarget),
55
67
  onCompositionEnd: (e) => dispatchInput(e.currentTarget),
56
68
  onKeyDown: (e) => {
57
69
  e.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"render-props.js","sourceRoot":"","sources":["../../src/editable-text/render-props.ts"],"names":[],"mappings":"AAQA,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD,SAAS,UAAU,CAAC,EAAe;IAClC,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtB,GAAG,CAAC,eAAe,EAAE,CAAC;IACtB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,IAAY;IACzD,MAAM,aAAa,GAAG,CAAC,EAAe,EAAE,EAAE;QACzC,MAAM,CAAC,aAAa,CACnB,IAAI,WAAW,CAAC,gBAAgB,EAAE;YACjC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE;SACjE,CAAC,CACF,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACN,eAAe,EAAE,gBAAyB;QAC1C,8BAA8B,EAAE,IAAI;QACpC,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,CAAC,EAAsB,EAAE,EAAE;YAC/B,IAAI,CAAC,EAAE;gBAAE,OAAO;YAChB,sEAAsE;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,qEAAqE;YACrE,qEAAqE;YACrE,yCAAyC;YACzC,IAAI,QAAQ,CAAC,aAAa,KAAK,EAAE;gBAAE,OAAO;YAC1C,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;YACtB,qBAAqB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC,CAAyB,EAAE,EAAE;YACtC,IAAK,CAAC,CAAC,WAA0B,CAAC,WAAW;gBAAE,OAAO;YACtD,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QACD,gBAAgB,EAAE,CAAC,CAAqC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QAC3F,SAAS,EAAE,CAAC,CAAqB,EAAE,EAAE;YACpC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9E,CAAC;QACF,CAAC;QACD,MAAM,EAAE,CAAC,EAAgC,EAAE,EAAE;YAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,aAAa,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;KAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"render-props.js","sourceRoot":"","sources":["../../src/editable-text/render-props.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { getBounds } from "./bounds.js";
2
2
  export { createEditableTextController, type EditableTextController, type EditableTextOptions, } from "./editable-text/controller.js";
3
- export { editableTextProps, TEXT_BLUR_EVENT, TEXT_ESCAPE_EVENT, TEXT_INPUT_EVENT, } from "./editable-text/render-props.js";
3
+ export { editableTextProps, TEXT_BLUR_EVENT, TEXT_ESCAPE_EVENT, TEXT_INPUT_EVENT, TEXT_PREVIEW_EVENT, } from "./editable-text/render-props.js";
4
4
  export { type FindFreePositionOptions, type FreePositionDirection, type FreePositionStrategy, findFreePosition, overlapsAny, } from "./free-position.js";
5
5
  export { aabbHitTest, ellipseHitTest, lineHitTest, pointInPolygon } from "./hit-test.js";
6
6
  export { type AspectResizeOptions, createAspectResize, createResize } from "./resize.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACN,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,WAAW,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,KAAK,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACN,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,WAAW,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,KAAK,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { getBounds } from "./bounds.js";
2
2
  export { createEditableTextController, } from "./editable-text/controller.js";
3
- export { editableTextProps, TEXT_BLUR_EVENT, TEXT_ESCAPE_EVENT, TEXT_INPUT_EVENT, } from "./editable-text/render-props.js";
3
+ export { editableTextProps, TEXT_BLUR_EVENT, TEXT_ESCAPE_EVENT, TEXT_INPUT_EVENT, TEXT_PREVIEW_EVENT, } from "./editable-text/render-props.js";
4
4
  export { findFreePosition, overlapsAny, } from "./free-position.js";
5
5
  export { aabbHitTest, ellipseHitTest, lineHitTest, pointInPolygon } from "./hit-test.js";
6
6
  export { createAspectResize, createResize } from "./resize.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACN,4BAA4B,GAG5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAIN,gBAAgB,EAChB,WAAW,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAA4B,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACN,4BAA4B,GAG5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAIN,gBAAgB,EAChB,WAAW,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAA4B,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-shape-utils",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@edv4h/usketch-shared": "4.17.0",
15
+ "@edv4h/usketch-shared": "4.19.0",
16
16
  "@zag-js/core": "^1.37.0",
17
17
  "@zag-js/vanilla": "^1.37.0"
18
18
  },
@@ -22,7 +22,7 @@
22
22
  "devDependencies": {
23
23
  "@types/react": "19.3.0",
24
24
  "typescript": "7.0.2",
25
- "vitest": "5.0.4"
25
+ "vitest": "5.0.5"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"