Skip to content

v2.7.0

Latest

Choose a tag to compare

@ndlabdev ndlabdev released this 09 Sep 11:12
0b7c959

Added

  • ImageCropper — client-side image cropper: mode="fixed" pans and zooms behind a centred frame, mode="box" drags a frame with eight handles. Rotate, flip, aspect ratios, shape="circle", wheel and keyboard control; crop() returns a Blob and a File at source resolution. 5 sizes, 8 colors, 16 ui slots. (#202)
  • Resizable — draggable panes, horizontal or vertical, nestable. Percentage sizes that survive a window resize, minSize/maxSize in px or %, collapsible panes, keyboard-driven separators, storageKey persistence, bind:sizes and an imperative api. (#205)
  • usePointerDrag — shared drag hook: pointer capture with a window fallback, one update per frame, the final position flushed on release, optional axis lock. (#204)
  • useSessionStorage — the storage hook backed by sessionStorage. (#203)
  • EditorimageCrop opens the cropper before onImageUpload, for the toolbar picker, a paste and a drop alike. (#210)

Changed

  • useLocalStorage — the key may be a getter, and a null key turns the hook inert. Adds storage, remove() and enabled; existing calls are unchanged. (#203)
  • ColorPicker — the saturation area drags through usePointerDrag. Behaviour is unchanged. (#204)
  • FormvalidateOn: 'focus' waits for the first blur before reporting an error, the rule input already followed. eagerValidation opts a field back in. (#207)
  • Editor — the link, image and YouTube dialogs read as forms: labelled required URL field with help text, plus an optional Display text for links. (#208)

Fixed

  • Editor — the Insert link dialog no longer opens with "URL is required" already showing. (#206)
  • Editor — pasting or dropping an image now calls onImageUpload; only the toolbar picker did before. (#209)