@mieweb/ui 0.11.0-dev.27 → 0.11.0-dev.29

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.
Files changed (63) hide show
  1. package/MIGRATION.md +49 -0
  2. package/dist/chunk-2VISTX7O.js +802 -0
  3. package/dist/chunk-2VISTX7O.js.map +1 -0
  4. package/dist/{chunk-UWHVSRSU.js → chunk-43QBEF6N.js} +51 -18
  5. package/dist/chunk-43QBEF6N.js.map +1 -0
  6. package/dist/{chunk-FA7STF2M.cjs → chunk-6GKIISNZ.cjs} +51 -18
  7. package/dist/chunk-6GKIISNZ.cjs.map +1 -0
  8. package/dist/{chunk-IEZXJWHJ.cjs → chunk-7XKM6V2K.cjs} +3 -3
  9. package/dist/{chunk-IEZXJWHJ.cjs.map → chunk-7XKM6V2K.cjs.map} +1 -1
  10. package/dist/{chunk-STDGAFW2.js → chunk-AK4LHJPC.js} +6 -3
  11. package/dist/chunk-AK4LHJPC.js.map +1 -0
  12. package/dist/chunk-AQUHEKXL.cjs +829 -0
  13. package/dist/chunk-AQUHEKXL.cjs.map +1 -0
  14. package/dist/{chunk-GTAHQBUK.js → chunk-MBDT2MGR.js} +4 -4
  15. package/dist/{chunk-GTAHQBUK.js.map → chunk-MBDT2MGR.js.map} +1 -1
  16. package/dist/{chunk-DXFP53KF.js → chunk-NIO3XVUV.js} +3 -3
  17. package/dist/{chunk-DXFP53KF.js.map → chunk-NIO3XVUV.js.map} +1 -1
  18. package/dist/{chunk-S2QKRL5S.cjs → chunk-PRA2V5BP.cjs} +7 -7
  19. package/dist/{chunk-S2QKRL5S.cjs.map → chunk-PRA2V5BP.cjs.map} +1 -1
  20. package/dist/{chunk-3E7C5N2G.js → chunk-SFSBYC46.js} +3 -3
  21. package/dist/{chunk-3E7C5N2G.js.map → chunk-SFSBYC46.js.map} +1 -1
  22. package/dist/{chunk-ZWKC4JML.cjs → chunk-ZIJMLRI3.cjs} +9 -9
  23. package/dist/{chunk-ZWKC4JML.cjs.map → chunk-ZIJMLRI3.cjs.map} +1 -1
  24. package/dist/{chunk-7S3GBPRD.cjs → chunk-ZLBNYCYT.cjs} +6 -3
  25. package/dist/chunk-ZLBNYCYT.cjs.map +1 -0
  26. package/dist/components/EmailEditor/index.cjs +16 -16
  27. package/dist/components/EmailEditor/index.js +7 -7
  28. package/dist/components/RecordHeader/index.cjs +4 -4
  29. package/dist/components/RecordHeader/index.js +2 -2
  30. package/dist/components/RichTextEditor/index.cjs +5 -5
  31. package/dist/components/RichTextEditor/index.d.cts +21 -1
  32. package/dist/components/RichTextEditor/index.d.ts +21 -1
  33. package/dist/components/RichTextEditor/index.js +2 -2
  34. package/dist/components/SuperChat/index.cjs +2 -2
  35. package/dist/components/SuperChat/index.js +2 -2
  36. package/dist/components/Textarea/index.cjs +22 -4
  37. package/dist/components/Textarea/index.d.cts +40 -14
  38. package/dist/components/Textarea/index.d.ts +40 -14
  39. package/dist/components/Textarea/index.js +15 -1
  40. package/dist/esheet.cjs +10 -5
  41. package/dist/esheet.cjs.map +1 -1
  42. package/dist/esheet.js +7 -2
  43. package/dist/esheet.js.map +1 -1
  44. package/dist/index.cjs +147 -150
  45. package/dist/index.cjs.map +1 -1
  46. package/dist/index.d.cts +117 -56
  47. package/dist/index.d.ts +117 -56
  48. package/dist/index.js +14 -37
  49. package/dist/index.js.map +1 -1
  50. package/dist/styles.css +1 -1
  51. package/dist/tailwind-preset.cjs +4 -4
  52. package/dist/tailwind-preset.js +1 -1
  53. package/dist/utils/index.cjs +9 -9
  54. package/dist/utils/index.js +1 -1
  55. package/package.json +1 -1
  56. package/dist/chunk-7S3GBPRD.cjs.map +0 -1
  57. package/dist/chunk-BUN6RUJ5.cjs +0 -393
  58. package/dist/chunk-BUN6RUJ5.cjs.map +0 -1
  59. package/dist/chunk-CPG7SDON.js +0 -370
  60. package/dist/chunk-CPG7SDON.js.map +0 -1
  61. package/dist/chunk-FA7STF2M.cjs.map +0 -1
  62. package/dist/chunk-STDGAFW2.js.map +0 -1
  63. package/dist/chunk-UWHVSRSU.js.map +0 -1
package/MIGRATION.md CHANGED
@@ -3,6 +3,55 @@
3
3
  Breaking-change recipes for `@mieweb/ui` consumers. Each section is anchored
4
4
  so release notes and dev-console notices can deep-link to it.
5
5
 
6
+ ## Textarea is rich text underneath (0.12.0)
7
+
8
+ **`Textarea` now renders `TextAreaRich`** (hidden toolbar, markdown block
9
+ shortcuts, Notion-style block gutter menu) while keeping its plain-text
10
+ contract: `value`, `defaultValue` and `onChange`'s `event.target.value` are
11
+ still plain strings, `name` still posts plain text through a hidden mirror
12
+ `<textarea>`, and `ref.current.value` / `ref.current.focus()` keep working.
13
+ Formatting is visible while composing but flattened to lines when reported —
14
+ hosts that persist the value store the same plain text as before.
15
+
16
+ Related renames (also 0.12.0): **`RichTextArea` → `TextAreaRich`**
17
+ (deprecated aliases `RichTextArea` / `RichTextAreaProps` still exported), and
18
+ the previous native implementation is now **`TextAreaPlain`**
19
+ (`textareaVariants` moved with it).
20
+
21
+ ### Pick your lane
22
+
23
+ | You need… | Use |
24
+ | ----------------------------------------------------------------------------------- | ----------------------------------------------- |
25
+ | A multi-line note field storing plain text (the default) | `Textarea` — no code changes |
26
+ | To **persist** the formatting (value is HTML) | `TextAreaRich` |
27
+ | The native `<textarea>` element: hard `maxLength`, native validation/autofill, drag-resize, floating labels, element-targeting CSS/refs | `TextAreaPlain` — same props as the old `Textarea` — or `<Textarea richText={false}>` to opt out in place |
28
+
29
+ ### Behaviour changes to review
30
+
31
+ - **`maxLength` is no longer enforced while typing.** The counter
32
+ (`showCount`) still renders and turns red past the limit. Enforce limits in
33
+ `onChange` or switch to `TextAreaPlain`.
34
+ - **`labelVariant="floating"`, `resize` and `autoResize={false}` are ignored**
35
+ (stacked label, no drag handle, always auto-grows) with a one-time dev
36
+ console warning.
37
+ - **Native validation, autofill and IME/browser integrations** tied to a
38
+ visible `<textarea>` element no longer apply.
39
+ - **DOM shape changed.** There is no visible `<textarea>`; the surface is a
40
+ `contenteditable` region inside `[data-slot="rich-text-editor"]`, plus a
41
+ hidden mirror `[data-slot="textarea-mirror"]` carrying `name`/`value`. CSS
42
+ selectors like `textarea { … }` no longer match — target the existing
43
+ `[data-slot="textarea-*"]` hooks instead. Tests using
44
+ `getByRole('textbox')` keep working.
45
+ - **Controlled transforms reset formatting.** Echoing `event.target.value`
46
+ back unchanged preserves the on-screen formatting; transforming it
47
+ (uppercasing, trimming) resyncs the editor to plain paragraphs.
48
+ - **Kept working:** `readOnly`, `required`, `rows` (minimum height), `size`,
49
+ `form`, `onFocus`/`onBlur`/`onKeyDown`/`onKeyUp` (retargeted so
50
+ `event.target.value` reads plain text), and external
51
+ `<label htmlFor={id}>` pairs (bridged via `aria-labelledby` plus
52
+ click-to-focus). `\r\n` in values is normalized to `\n`, and pasted or
53
+ dropped rich content is flattened to plain text before it enters the field.
54
+
6
55
  ## Chat composer
7
56
 
8
57
  **`MessageComposer` was retired in 0.10.0.** The shared **`ChatComposer`** is