@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.
- package/MIGRATION.md +49 -0
- package/dist/chunk-2VISTX7O.js +802 -0
- package/dist/chunk-2VISTX7O.js.map +1 -0
- package/dist/{chunk-UWHVSRSU.js → chunk-43QBEF6N.js} +51 -18
- package/dist/chunk-43QBEF6N.js.map +1 -0
- package/dist/{chunk-FA7STF2M.cjs → chunk-6GKIISNZ.cjs} +51 -18
- package/dist/chunk-6GKIISNZ.cjs.map +1 -0
- package/dist/{chunk-IEZXJWHJ.cjs → chunk-7XKM6V2K.cjs} +3 -3
- package/dist/{chunk-IEZXJWHJ.cjs.map → chunk-7XKM6V2K.cjs.map} +1 -1
- package/dist/{chunk-STDGAFW2.js → chunk-AK4LHJPC.js} +6 -3
- package/dist/chunk-AK4LHJPC.js.map +1 -0
- package/dist/chunk-AQUHEKXL.cjs +829 -0
- package/dist/chunk-AQUHEKXL.cjs.map +1 -0
- package/dist/{chunk-GTAHQBUK.js → chunk-MBDT2MGR.js} +4 -4
- package/dist/{chunk-GTAHQBUK.js.map → chunk-MBDT2MGR.js.map} +1 -1
- package/dist/{chunk-DXFP53KF.js → chunk-NIO3XVUV.js} +3 -3
- package/dist/{chunk-DXFP53KF.js.map → chunk-NIO3XVUV.js.map} +1 -1
- package/dist/{chunk-S2QKRL5S.cjs → chunk-PRA2V5BP.cjs} +7 -7
- package/dist/{chunk-S2QKRL5S.cjs.map → chunk-PRA2V5BP.cjs.map} +1 -1
- package/dist/{chunk-3E7C5N2G.js → chunk-SFSBYC46.js} +3 -3
- package/dist/{chunk-3E7C5N2G.js.map → chunk-SFSBYC46.js.map} +1 -1
- package/dist/{chunk-ZWKC4JML.cjs → chunk-ZIJMLRI3.cjs} +9 -9
- package/dist/{chunk-ZWKC4JML.cjs.map → chunk-ZIJMLRI3.cjs.map} +1 -1
- package/dist/{chunk-7S3GBPRD.cjs → chunk-ZLBNYCYT.cjs} +6 -3
- package/dist/chunk-ZLBNYCYT.cjs.map +1 -0
- package/dist/components/EmailEditor/index.cjs +16 -16
- package/dist/components/EmailEditor/index.js +7 -7
- package/dist/components/RecordHeader/index.cjs +4 -4
- package/dist/components/RecordHeader/index.js +2 -2
- package/dist/components/RichTextEditor/index.cjs +5 -5
- package/dist/components/RichTextEditor/index.d.cts +21 -1
- package/dist/components/RichTextEditor/index.d.ts +21 -1
- package/dist/components/RichTextEditor/index.js +2 -2
- package/dist/components/SuperChat/index.cjs +2 -2
- package/dist/components/SuperChat/index.js +2 -2
- package/dist/components/Textarea/index.cjs +22 -4
- package/dist/components/Textarea/index.d.cts +40 -14
- package/dist/components/Textarea/index.d.ts +40 -14
- package/dist/components/Textarea/index.js +15 -1
- package/dist/esheet.cjs +10 -5
- package/dist/esheet.cjs.map +1 -1
- package/dist/esheet.js +7 -2
- package/dist/esheet.js.map +1 -1
- package/dist/index.cjs +147 -150
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +117 -56
- package/dist/index.d.ts +117 -56
- package/dist/index.js +14 -37
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/dist/utils/index.cjs +9 -9
- package/dist/utils/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7S3GBPRD.cjs.map +0 -1
- package/dist/chunk-BUN6RUJ5.cjs +0 -393
- package/dist/chunk-BUN6RUJ5.cjs.map +0 -1
- package/dist/chunk-CPG7SDON.js +0 -370
- package/dist/chunk-CPG7SDON.js.map +0 -1
- package/dist/chunk-FA7STF2M.cjs.map +0 -1
- package/dist/chunk-STDGAFW2.js.map +0 -1
- 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
|