@spaethtech/svelte-ui 0.21.1-dev.135.8f54ea8 → 0.21.1
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 +12 -11
- package/package.json +1 -1
package/MIGRATION.md
CHANGED
|
@@ -8,15 +8,16 @@ upgrade are documented here, each with a dated heading and a concrete before/aft
|
|
|
8
8
|
|
|
9
9
|
## The `*2` native-first variants (transitional)
|
|
10
10
|
|
|
11
|
-
> ### ⚠️ EXPERIMENTAL —
|
|
11
|
+
> ### ⚠️ EXPERIMENTAL — unstable API, adopt with care
|
|
12
12
|
>
|
|
13
|
-
> The `*2` components (`Select2`, `Disclosure2`, `Accordion2`, `DatePicker2`) are
|
|
14
|
-
> under active evaluation
|
|
15
|
-
>
|
|
16
|
-
>
|
|
17
|
-
>
|
|
18
|
-
>
|
|
19
|
-
>
|
|
13
|
+
> The `*2` components (`Select2`, `Disclosure2`, `Accordion2`, `DatePicker2`) are **transitional
|
|
14
|
+
> native-first variants under active evaluation**. They're published (not `@dev`-only), but the API,
|
|
15
|
+
> the behaviour, and even whether each one survives are still in flux (e.g. reset semantics are still
|
|
16
|
+
> being settled). Treat them as unstable: **no compatibility promise**, and they may change or be
|
|
17
|
+
> removed without a migration note while in this phase. Adopt one only if you can track breaking
|
|
18
|
+
> changes and pin exact versions. When one is actually ready, this banner comes off and the swap is
|
|
19
|
+
> announced here. The stable originals (`Select`, `Disclosure`, `Accordion`, `DatePicker`) carry no
|
|
20
|
+
> such caveat.
|
|
20
21
|
|
|
21
22
|
Several components are getting a **native-first, no-JS / SSR-correct** rebuild so SSR apps (e.g. a
|
|
22
23
|
PHP-rendered front end) render and submit them with **no client JavaScript**. Rather than change the
|
|
@@ -25,13 +26,13 @@ existing components in place and risk the apps that already depend on them, each
|
|
|
25
26
|
|
|
26
27
|
- **Nothing breaks on arrival.** The `2` components are purely additive new exports. Existing
|
|
27
28
|
components are untouched; your current code keeps working.
|
|
28
|
-
- **Try them
|
|
29
|
+
- **Try them.** Import the `2` variant (`import { Select2 } from '@spaethtech/svelte-ui'`
|
|
29
30
|
or the `@spaethtech/svelte-ui/select2` subpath) and A/B it against the original in the same app.
|
|
30
31
|
- **The eventual swap is deliberate and versioned.** Once a `2` variant proves out, its
|
|
31
32
|
implementation replaces the original's (`Select2` → `Select`), the `2` export is removed, and that
|
|
32
33
|
single swap is documented here with its compatibility delta and a MINOR version bump. The only
|
|
33
|
-
thing that can break at that point is a **direct `Select2` import** —
|
|
34
|
-
|
|
34
|
+
thing that can break at that point is a **direct `Select2` import** — so if you adopt one, pin exact
|
|
35
|
+
versions and track this file.
|
|
35
36
|
|
|
36
37
|
The `2` variants aim to be a **drop-in prop-superset** of the original: props the native element
|
|
37
38
|
can't honour are still *accepted* (so swapping the component name type-checks) but ignored, and are
|