@limetech/lime-elements 39.44.1 → 39.44.3
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/CHANGELOG.md +15 -0
- package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/limel-form.cjs.entry.js +62 -9
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +10830 -10750
- package/dist/collection/components/checkbox/checkbox.js +2 -2
- package/dist/collection/components/text-editor/prosemirror-adapter/editor-config.js +75 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +52 -51
- package/dist/esm/limel-checkbox.entry.js +2 -2
- package/dist/esm/limel-form.entry.js +62 -9
- package/dist/esm/limel-prosemirror-adapter.entry.js +10830 -10750
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-4512a7b1.entry.js +1 -0
- package/dist/lime-elements/{p-09fb0765.entry.js → p-7f1de09b.entry.js} +1 -1
- package/dist/lime-elements/p-cf955cc2.entry.js +1 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/text-editor/prosemirror-adapter/editor-config.d.ts +60 -0
- package/dist/types/components/text-editor/prosemirror-adapter/prosemirror-adapter.d.ts +3 -1
- package/dist/types/components.d.ts +5 -3
- package/dist/types/util/link-helper.d.ts +1 -1
- package/package.json +18 -17
- package/dist/lime-elements/p-10186cbd.entry.js +0 -1
- package/dist/lime-elements/p-ffd668d2.entry.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [39.44.3](https://github.com/Lundalogik/lime-elements/compare/v39.44.2...v39.44.3) (2026-08-11)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
* **checkbox:** rename internal id field to avoid createElement error ([0c17b93](https://github.com/Lundalogik/lime-elements/commit/0c17b93848e48b37a92f5576001de8d802f67bd0)), closes [#4190](https://github.com/Lundalogik/lime-elements/issues/4190)
|
|
7
|
+
|
|
8
|
+
## [39.44.2](https://github.com/Lundalogik/lime-elements/compare/v39.44.1...v39.44.2) (2026-08-06)
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
* **text-editor:** cancel pending caret restore when the editor is disconnected ([99db91e](https://github.com/Lundalogik/lime-elements/commit/99db91e50139330bc5e4b7076d89a0a5bef672ec))
|
|
14
|
+
* **text-editor:** keep caret position when focus is regained without a click ([2ba040a](https://github.com/Lundalogik/lime-elements/commit/2ba040ae7324c6e2071fd35994b9dbd6d5082987))
|
|
15
|
+
|
|
1
16
|
## [39.44.1](https://github.com/Lundalogik/lime-elements/compare/v39.44.0...v39.44.1) (2026-07-14)
|
|
2
17
|
|
|
3
18
|
### Bug Fixes
|
|
@@ -40,7 +40,7 @@ const Checkbox = class {
|
|
|
40
40
|
this.readonlyLabels = [];
|
|
41
41
|
this.modified = false;
|
|
42
42
|
this.shouldReinitialize = false;
|
|
43
|
-
this.
|
|
43
|
+
this.inputId = randomString.createRandomString();
|
|
44
44
|
this.helperTextId = randomString.createRandomString();
|
|
45
45
|
this.destroyMDCInstances = () => {
|
|
46
46
|
const input = this.getCheckboxElement();
|
|
@@ -113,7 +113,7 @@ const Checkbox = class {
|
|
|
113
113
|
this.destroyMDCInstances();
|
|
114
114
|
}
|
|
115
115
|
render() {
|
|
116
|
-
return (index.h(checkbox_template.CheckboxTemplate, { key: '
|
|
116
|
+
return (index.h(checkbox_template.CheckboxTemplate, { key: '2193fb569354ec8ef9effbeaa5d600c9fde9686f', disabled: this.disabled || this.readonly, label: this.label, readonlyLabels: this.readonlyLabels, helperText: this.helperText, helperTextId: this.helperTextId, checked: this.checked || this.indeterminate, indeterminate: this.indeterminate, required: this.required, readonly: this.readonly, invalid: this.isInvalid(), onChange: this.onChange, id: this.inputId }));
|
|
117
117
|
}
|
|
118
118
|
get limelCheckbox() { return index.getElement(this); }
|
|
119
119
|
static get watchers() { return {
|
|
@@ -2171,7 +2171,7 @@ function requireReact_production () {
|
|
|
2171
2171
|
react_production.useTransition = function () {
|
|
2172
2172
|
return ReactSharedInternals.H.useTransition();
|
|
2173
2173
|
};
|
|
2174
|
-
react_production.version = "19.2.
|
|
2174
|
+
react_production.version = "19.2.8";
|
|
2175
2175
|
return react_production;
|
|
2176
2176
|
}
|
|
2177
2177
|
|
|
@@ -2776,7 +2776,7 @@ function requireReactDom_production () {
|
|
|
2776
2776
|
reactDom_production.useFormStatus = function () {
|
|
2777
2777
|
return ReactSharedInternals.H.useHostTransitionStatus();
|
|
2778
2778
|
};
|
|
2779
|
-
reactDom_production.version = "19.2.
|
|
2779
|
+
reactDom_production.version = "19.2.8";
|
|
2780
2780
|
return reactDom_production;
|
|
2781
2781
|
}
|
|
2782
2782
|
|
|
@@ -18721,14 +18721,14 @@ function requireReactDomClient_production () {
|
|
|
18721
18721
|
};
|
|
18722
18722
|
var isomorphicReactPackageVersion$jscomp$inline_1840 = React.version;
|
|
18723
18723
|
if (
|
|
18724
|
-
"19.2.
|
|
18724
|
+
"19.2.8" !==
|
|
18725
18725
|
isomorphicReactPackageVersion$jscomp$inline_1840
|
|
18726
18726
|
)
|
|
18727
18727
|
throw Error(
|
|
18728
18728
|
formatProdErrorMessage(
|
|
18729
18729
|
527,
|
|
18730
18730
|
isomorphicReactPackageVersion$jscomp$inline_1840,
|
|
18731
|
-
"19.2.
|
|
18731
|
+
"19.2.8"
|
|
18732
18732
|
)
|
|
18733
18733
|
);
|
|
18734
18734
|
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
|
|
@@ -18750,10 +18750,10 @@ function requireReactDomClient_production () {
|
|
|
18750
18750
|
};
|
|
18751
18751
|
var internals$jscomp$inline_2347 = {
|
|
18752
18752
|
bundleType: 0,
|
|
18753
|
-
version: "19.2.
|
|
18753
|
+
version: "19.2.8",
|
|
18754
18754
|
rendererPackageName: "react-dom",
|
|
18755
18755
|
currentDispatcherRef: ReactSharedInternals,
|
|
18756
|
-
reconcilerVersion: "19.2.
|
|
18756
|
+
reconcilerVersion: "19.2.8"
|
|
18757
18757
|
};
|
|
18758
18758
|
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
|
18759
18759
|
var hook$jscomp$inline_2348 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
@@ -18851,7 +18851,7 @@ function requireReactDomClient_production () {
|
|
|
18851
18851
|
listenToAllSupportedEvents(container);
|
|
18852
18852
|
return new ReactDOMHydrationRoot(initialChildren);
|
|
18853
18853
|
};
|
|
18854
|
-
reactDomClient_production.version = "19.2.
|
|
18854
|
+
reactDomClient_production.version = "19.2.8";
|
|
18855
18855
|
return reactDomClient_production;
|
|
18856
18856
|
}
|
|
18857
18857
|
|
|
@@ -20541,7 +20541,12 @@ function requireFastUri () {
|
|
|
20541
20541
|
*/
|
|
20542
20542
|
function resolve (baseURI, relativeURI, options) {
|
|
20543
20543
|
const schemelessOptions = options ? Object.assign({ scheme: 'null' }, options) : { scheme: 'null' };
|
|
20544
|
-
const
|
|
20544
|
+
const { parsed: baseParsed, malformedAuthorityOrPort: baseMalformed } = parseWithStatus(baseURI, schemelessOptions);
|
|
20545
|
+
const { parsed: relativeParsed, malformedAuthorityOrPort: relativeMalformed } = parseWithStatus(relativeURI, schemelessOptions);
|
|
20546
|
+
if (baseMalformed || relativeMalformed) {
|
|
20547
|
+
throw new Error(baseParsed.error || relativeParsed.error || 'URI is malformed.')
|
|
20548
|
+
}
|
|
20549
|
+
const resolved = resolveComponent(baseParsed, relativeParsed, schemelessOptions, true);
|
|
20545
20550
|
schemelessOptions.skipEscape = true;
|
|
20546
20551
|
return serialize(resolved, schemelessOptions)
|
|
20547
20552
|
}
|
|
@@ -20717,6 +20722,19 @@ function requireFastUri () {
|
|
|
20717
20722
|
|
|
20718
20723
|
const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
|
|
20719
20724
|
|
|
20725
|
+
// Captures the authority component (between "//" and the next "/", "?" or "#"),
|
|
20726
|
+
// with or without a scheme prefix, for the literal-backslash rejection below.
|
|
20727
|
+
const AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/;
|
|
20728
|
+
|
|
20729
|
+
// Captures the leading authority-introducer region after an optional scheme: a
|
|
20730
|
+
// run of forward slashes, backslashes, and the characters the WHATWG URL parser
|
|
20731
|
+
// removes before parsing (TAB U+0009, LF U+000A, CR U+000D). A valid introducer
|
|
20732
|
+
// is exactly "//". Node treats "\" as "/" on special schemes and strips those
|
|
20733
|
+
// characters first, so forms like "\\", "/\", "\/", "/<TAB>/", or a leading
|
|
20734
|
+
// "<TAB>//" reach an authority in Node while fast-uri's URI_PARSE folds them into
|
|
20735
|
+
// the path group (host confusion / SSRF / redirect bypass).
|
|
20736
|
+
const AUTHORITY_INTRODUCER_REGION = /^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;
|
|
20737
|
+
|
|
20720
20738
|
/**
|
|
20721
20739
|
* @param {import('./types/index').URIComponent} parsed
|
|
20722
20740
|
* @param {RegExpMatchArray} matches
|
|
@@ -20763,6 +20781,41 @@ function requireFastUri () {
|
|
|
20763
20781
|
}
|
|
20764
20782
|
}
|
|
20765
20783
|
|
|
20784
|
+
// A literal backslash (U+005C) is not a valid RFC 3986 URI character and is
|
|
20785
|
+
// not an authority delimiter. Reject it in the authority rather than
|
|
20786
|
+
// rewriting it: normalizing "\" -> "/" (WHATWG error recovery) could silently
|
|
20787
|
+
// change the resource identified by an otherwise-invalid input, and lets "\"
|
|
20788
|
+
// act as a host delimiter here while Node's native URL parses a different
|
|
20789
|
+
// host (SSRF / redirect / origin-allowlist bypass). Percent-encoded %5C is
|
|
20790
|
+
// untouched and remains valid encoded data.
|
|
20791
|
+
const authorityMatch = uri.match(AUTHORITY_PREFIX);
|
|
20792
|
+
if (authorityMatch !== null && authorityMatch[1].indexOf('\\') !== -1) {
|
|
20793
|
+
parsed.error = 'URI authority must not contain a literal backslash.';
|
|
20794
|
+
malformedAuthorityOrPort = true;
|
|
20795
|
+
}
|
|
20796
|
+
|
|
20797
|
+
// Reject a malformed or whitespace-smuggled authority introducer. fast-uri
|
|
20798
|
+
// only recognizes a literal "//"; anything else in the leading separator run
|
|
20799
|
+
// (a backslash, or a "//" that appears only after removing the TAB/LF/CR that
|
|
20800
|
+
// Node strips) means the authority fast-uri parses differs from the one Node's
|
|
20801
|
+
// URL resolves. Reject rather than rewrite, mirroring the literal-backslash
|
|
20802
|
+
// guard above. Percent-encoded forms (%5C, %09) are untouched, valid data.
|
|
20803
|
+
const introducerMatch = uri.match(AUTHORITY_INTRODUCER_REGION);
|
|
20804
|
+
if (introducerMatch !== null) {
|
|
20805
|
+
const region = introducerMatch[1];
|
|
20806
|
+
const normalizedRegion = region.replace(/[\t\n\r]/g, '');
|
|
20807
|
+
// Two or more leading separators introduce an authority.
|
|
20808
|
+
if (normalizedRegion.length >= 2) {
|
|
20809
|
+
if (normalizedRegion.slice(0, 2) !== '//') {
|
|
20810
|
+
parsed.error = parsed.error || 'URI authority must not contain a literal backslash.';
|
|
20811
|
+
malformedAuthorityOrPort = true;
|
|
20812
|
+
} else if (region.length !== normalizedRegion.length) {
|
|
20813
|
+
parsed.error = parsed.error || 'URI authority introducer must not contain whitespace.';
|
|
20814
|
+
malformedAuthorityOrPort = true;
|
|
20815
|
+
}
|
|
20816
|
+
}
|
|
20817
|
+
}
|
|
20818
|
+
|
|
20766
20819
|
const matches = uri.match(URI_PARSE);
|
|
20767
20820
|
|
|
20768
20821
|
if (matches) {
|
|
@@ -20820,7 +20873,7 @@ function requireFastUri () {
|
|
|
20820
20873
|
if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {
|
|
20821
20874
|
// convert Unicode IDN -> ASCII IDN
|
|
20822
20875
|
try {
|
|
20823
|
-
parsed.host = URL
|
|
20876
|
+
parsed.host = new URL('http://' + parsed.host).hostname;
|
|
20824
20877
|
} catch (e) {
|
|
20825
20878
|
parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
|
|
20826
20879
|
}
|