@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 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.id = randomString.createRandomString();
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: 'f01c9a3786bfb88bbf4450fc4b96f48385e50cc2', 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.id }));
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.7";
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.7";
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.7" !==
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.7"
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.7",
18753
+ version: "19.2.8",
18754
18754
  rendererPackageName: "react-dom",
18755
18755
  currentDispatcherRef: ReactSharedInternals,
18756
- reconcilerVersion: "19.2.7"
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.7";
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 resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
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.domainToASCII(parsed.host.toLowerCase());
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
  }