@maggioli-design-system/mds-input-tip-item 1.2.3 → 1.4.0

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 (65) hide show
  1. package/dist/cjs/{index-16662754.js → index-8a2658a5.js} +117 -73
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mds-input-tip-item.cjs.entry.js +2 -2
  4. package/dist/cjs/mds-input-tip-item.cjs.js +2 -2
  5. package/dist/collection/collection-manifest.json +1 -1
  6. package/dist/collection/common/floating-controller.js +3 -3
  7. package/dist/collection/common/slot.js +10 -1
  8. package/dist/collection/common/string.js +30 -0
  9. package/dist/collection/components/mds-input-tip-item/mds-input-tip-item.css +131 -29
  10. package/dist/collection/dictionary/keyboard.js +84 -0
  11. package/dist/collection/type/keyboard.js +1 -0
  12. package/dist/components/mds-input-tip-item.js +1 -1
  13. package/dist/documentation.json +19 -3
  14. package/dist/esm/{index-fceb8d31.js → index-597e3999.js} +117 -73
  15. package/dist/esm/loader.js +2 -2
  16. package/dist/esm/mds-input-tip-item.entry.js +2 -2
  17. package/dist/esm/mds-input-tip-item.js +3 -3
  18. package/dist/esm-es5/index-597e3999.js +1 -0
  19. package/dist/esm-es5/loader.js +1 -1
  20. package/dist/esm-es5/mds-input-tip-item.entry.js +2 -2
  21. package/dist/esm-es5/mds-input-tip-item.js +1 -1
  22. package/dist/mds-input-tip-item/mds-input-tip-item.esm.js +1 -1
  23. package/dist/mds-input-tip-item/mds-input-tip-item.js +1 -1
  24. package/dist/mds-input-tip-item/p-195d7fb2.js +2 -0
  25. package/dist/mds-input-tip-item/{p-e268fc79.system.js → p-67a91ec7.system.js} +1 -1
  26. package/dist/mds-input-tip-item/p-b760556f.system.js +2 -0
  27. package/dist/mds-input-tip-item/p-e01947b1.entry.js +6 -0
  28. package/dist/mds-input-tip-item/p-e574ecf3.system.entry.js +6 -0
  29. package/dist/stats.json +57 -33
  30. package/dist/types/common/slot.d.ts +2 -1
  31. package/dist/types/common/string.d.ts +4 -0
  32. package/dist/types/dictionary/keyboard.d.ts +2 -0
  33. package/dist/types/type/keyboard.d.ts +12 -0
  34. package/documentation.json +39 -3
  35. package/package.json +4 -4
  36. package/readme.md +9 -0
  37. package/src/common/floating-controller.ts +6 -6
  38. package/src/common/slot.ts +11 -0
  39. package/src/common/string.ts +42 -0
  40. package/src/components/mds-input-tip-item/css/mds-input-tip-item-pref-animation.css +7 -12
  41. package/src/components/mds-input-tip-item/mds-input-tip-item.css +7 -8
  42. package/src/components/mds-input-tip-item/readme.md +9 -0
  43. package/src/dictionary/keyboard.ts +87 -0
  44. package/src/fixtures/icons.json +18 -1
  45. package/src/meta/keyboard/keys.json +83 -0
  46. package/src/tailwind/components.css +11 -46
  47. package/src/tailwind/fouc.css +118 -0
  48. package/src/tailwind/index.css +4 -0
  49. package/src/type/keyboard.ts +93 -0
  50. package/www/build/mds-input-tip-item.esm.js +1 -1
  51. package/www/build/mds-input-tip-item.js +1 -1
  52. package/www/build/p-195d7fb2.js +2 -0
  53. package/www/build/{p-e268fc79.system.js → p-67a91ec7.system.js} +1 -1
  54. package/www/build/p-b760556f.system.js +2 -0
  55. package/www/build/p-e01947b1.entry.js +6 -0
  56. package/www/build/p-e574ecf3.system.entry.js +6 -0
  57. package/dist/esm-es5/index-fceb8d31.js +0 -1
  58. package/dist/mds-input-tip-item/p-26fe420d.js +0 -2
  59. package/dist/mds-input-tip-item/p-31b9b555.system.entry.js +0 -6
  60. package/dist/mds-input-tip-item/p-7d9ca116.system.js +0 -2
  61. package/dist/mds-input-tip-item/p-8023465c.entry.js +0 -6
  62. package/www/build/p-26fe420d.js +0 -2
  63. package/www/build/p-31b9b555.system.entry.js +0 -6
  64. package/www/build/p-7d9ca116.system.js +0 -2
  65. package/www/build/p-8023465c.entry.js +0 -6
@@ -21,10 +21,10 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'mds-input-tip-item';
24
- const BUILD = /* mds-input-tip-item */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: true, hydratedClass: false, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: false, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
24
+ const BUILD = /* mds-input-tip-item */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, constructableCSS: true, cssAnnotations: true, devTools: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: true, hydratedClass: false, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: false, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
25
25
 
26
26
  /*
27
- Stencil Client Platform v4.25.1 | MIT Licensed | https://stenciljs.com
27
+ Stencil Client Platform v4.27.2 | MIT Licensed | https://stenciljs.com
28
28
  */
29
29
  var __defProp = Object.defineProperty;
30
30
  var __export = (target, all) => {
@@ -33,10 +33,15 @@ var __export = (target, all) => {
33
33
  };
34
34
 
35
35
  // src/client/client-host-ref.ts
36
- var hostRefs = /* @__PURE__ */ new WeakMap();
37
- var getHostRef = (ref) => hostRefs.get(ref);
36
+ var getHostRef = (ref) => {
37
+ if (ref.__stencil__getHostRef) {
38
+ return ref.__stencil__getHostRef();
39
+ }
40
+ return void 0;
41
+ };
38
42
  var registerInstance = (lazyInstance, hostRef) => {
39
- hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
43
+ lazyInstance.__stencil__getHostRef = () => hostRef;
44
+ hostRef.$lazyInstance$ = lazyInstance;
40
45
  };
41
46
  var registerHost = (hostElement, cmpMeta) => {
42
47
  const hostRef = {
@@ -53,7 +58,8 @@ var registerHost = (hostElement, cmpMeta) => {
53
58
  hostElement["s-p"] = [];
54
59
  hostElement["s-rc"] = [];
55
60
  }
56
- const ref = hostRefs.set(hostElement, hostRef);
61
+ const ref = hostRef;
62
+ hostElement.__stencil__getHostRef = () => ref;
57
63
  return ref;
58
64
  };
59
65
  var isMemberInElement = (elm, memberName) => memberName in elm;
@@ -110,7 +116,6 @@ var HYDRATED_STYLE_ID = "sty-id";
110
116
  var HYDRATED_CSS = "{visibility:hidden}[hydrated]{visibility:inherit}";
111
117
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
112
118
  var win = typeof window !== "undefined" ? window : {};
113
- var doc = win.document || { head: {} };
114
119
  var plt = {
115
120
  $flags$: 0,
116
121
  $resourcesUrl$: "",
@@ -170,9 +175,9 @@ var isComplexType = (o) => {
170
175
  };
171
176
 
172
177
  // src/utils/query-nonce-meta-tag-content.ts
173
- function queryNonceMetaTagContent(doc2) {
178
+ function queryNonceMetaTagContent(doc) {
174
179
  var _a, _b, _c;
175
- return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
180
+ return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
176
181
  }
177
182
 
178
183
  // src/utils/result.ts
@@ -338,7 +343,10 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
338
343
  var _a;
339
344
  const scopeId2 = getScopeId(cmpMeta);
340
345
  const style = styles.get(scopeId2);
341
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
346
+ if (!win.document) {
347
+ return scopeId2;
348
+ }
349
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
342
350
  if (style) {
343
351
  if (typeof style === "string") {
344
352
  styleContainerNode = styleContainerNode.head || styleContainerNode;
@@ -349,9 +357,9 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
349
357
  }
350
358
  if (!appliedStyles.has(scopeId2)) {
351
359
  {
352
- styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || doc.createElement("style");
360
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
353
361
  styleElm.innerHTML = style;
354
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
362
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
355
363
  if (nonce != null) {
356
364
  styleElm.setAttribute("nonce", nonce);
357
365
  }
@@ -380,7 +388,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
380
388
  styleContainerNode.append(styleElm);
381
389
  }
382
390
  }
383
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
391
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
384
392
  styleContainerNode.insertBefore(styleElm, null);
385
393
  }
386
394
  }
@@ -405,7 +413,7 @@ var attachStyles = (hostRef) => {
405
413
  const scopeId2 = addStyle(
406
414
  elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
407
415
  cmpMeta);
408
- if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
416
+ if ((flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */ || flags & 128 /* shadowNeedsScopedCss */)) {
409
417
  elm["s-sc"] = scopeId2;
410
418
  elm.classList.add(scopeId2 + "-h");
411
419
  }
@@ -413,50 +421,51 @@ var attachStyles = (hostRef) => {
413
421
  };
414
422
  var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
415
423
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
416
- if (oldValue !== newValue) {
417
- let isProp = isMemberInElement(elm, memberName);
418
- memberName.toLowerCase();
419
- if (memberName === "class") {
420
- const classList = elm.classList;
421
- const oldClasses = parseClassList(oldValue);
422
- let newClasses = parseClassList(newValue);
423
- {
424
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
425
- classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
426
- }
427
- } else if (memberName === "key") ; else {
428
- const isComplex = isComplexType(newValue);
429
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
430
- try {
431
- if (!elm.tagName.includes("-")) {
432
- const n = newValue == null ? "" : newValue;
433
- if (memberName === "list") {
434
- isProp = false;
435
- } else if (oldValue == null || elm[memberName] != n) {
436
- if (typeof elm.__lookupSetter__(memberName) === "function") {
437
- elm[memberName] = n;
438
- } else {
439
- elm.setAttribute(memberName, n);
440
- }
424
+ if (oldValue === newValue) {
425
+ return;
426
+ }
427
+ let isProp = isMemberInElement(elm, memberName);
428
+ memberName.toLowerCase();
429
+ if (memberName === "class") {
430
+ const classList = elm.classList;
431
+ const oldClasses = parseClassList(oldValue);
432
+ let newClasses = parseClassList(newValue);
433
+ {
434
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
435
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
436
+ }
437
+ } else if (memberName === "key") ; else {
438
+ const isComplex = isComplexType(newValue);
439
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
440
+ try {
441
+ if (!elm.tagName.includes("-")) {
442
+ const n = newValue == null ? "" : newValue;
443
+ if (memberName === "list") {
444
+ isProp = false;
445
+ } else if (oldValue == null || elm[memberName] != n) {
446
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
447
+ elm[memberName] = n;
448
+ } else {
449
+ elm.setAttribute(memberName, n);
441
450
  }
442
- } else if (elm[memberName] !== newValue) {
443
- elm[memberName] = newValue;
444
451
  }
445
- } catch (e) {
452
+ } else if (elm[memberName] !== newValue) {
453
+ elm[memberName] = newValue;
446
454
  }
455
+ } catch (e) {
447
456
  }
448
- if (newValue == null || newValue === false) {
449
- if (newValue !== false || elm.getAttribute(memberName) === "") {
450
- {
451
- elm.removeAttribute(memberName);
452
- }
453
- }
454
- } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
455
- newValue = newValue === true ? "" : newValue;
457
+ }
458
+ if (newValue == null || newValue === false) {
459
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
456
460
  {
457
- elm.setAttribute(memberName, newValue);
461
+ elm.removeAttribute(memberName);
458
462
  }
459
463
  }
464
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
465
+ newValue = newValue === true ? "" : newValue;
466
+ {
467
+ elm.setAttribute(memberName, newValue);
468
+ }
460
469
  }
461
470
  }
462
471
  };
@@ -517,9 +526,14 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
517
526
  let elm;
518
527
  let childNode;
519
528
  if (newVNode2.$text$ !== null) {
520
- elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
529
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
521
530
  } else {
522
- elm = newVNode2.$elm$ = doc.createElement(
531
+ if (!win.document) {
532
+ throw new Error(
533
+ "You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component."
534
+ );
535
+ }
536
+ elm = newVNode2.$elm$ = win.document.createElement(
523
537
  !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
524
538
  );
525
539
  {
@@ -664,13 +678,10 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
664
678
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
665
679
  const oldChildren = oldVNode.$children$;
666
680
  const newChildren = newVNode2.$children$;
667
- const tag = newVNode2.$tag$;
668
681
  const text = newVNode2.$text$;
669
682
  if (text === null) {
670
683
  {
671
- if (tag === "slot" && !useNativeShadowDom) ; else {
672
- updateElement(oldVNode, newVNode2, isSvgMode);
673
- }
684
+ updateElement(oldVNode, newVNode2, isSvgMode);
674
685
  }
675
686
  if (oldChildren !== null && newChildren !== null) {
676
687
  updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
@@ -717,7 +728,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
717
728
  rootVnode.$flags$ |= 4 /* isHost */;
718
729
  hostRef.$vnode$ = rootVnode;
719
730
  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
720
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
731
+ useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
721
732
  patch(oldVNode, rootVnode, isInitialLoad);
722
733
  };
723
734
 
@@ -756,9 +767,12 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
756
767
  );
757
768
  }
758
769
  let maybePromise;
759
- {
760
- maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
770
+ if (isInitialLoad) {
771
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
772
+ } else {
773
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
761
774
  }
775
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
762
776
  endSchedule();
763
777
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
764
778
  };
@@ -822,12 +836,15 @@ var postUpdateComponent = (hostRef) => {
822
836
  const tagName = hostRef.$cmpMeta$.$tagName$;
823
837
  const elm = hostRef.$hostElement$;
824
838
  const endPostUpdate = createTime("postUpdate", tagName);
839
+ const instance = hostRef.$lazyInstance$ ;
825
840
  const ancestorComponent = hostRef.$ancestorComponent$;
841
+ safeCall(instance, "componentDidRender", void 0, elm);
826
842
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
827
843
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
828
844
  {
829
845
  addHydratedFlag(elm);
830
846
  }
847
+ safeCall(instance, "componentDidLoad", void 0, elm);
831
848
  endPostUpdate();
832
849
  {
833
850
  hostRef.$onReadyResolve$(elm);
@@ -836,6 +853,7 @@ var postUpdateComponent = (hostRef) => {
836
853
  }
837
854
  }
838
855
  } else {
856
+ safeCall(instance, "componentDidUpdate", void 0, elm);
839
857
  endPostUpdate();
840
858
  }
841
859
  {
@@ -853,9 +871,6 @@ var postUpdateComponent = (hostRef) => {
853
871
  }
854
872
  };
855
873
  var appDidLoad = (who) => {
856
- {
857
- addHydratedFlag(doc.documentElement);
858
- }
859
874
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
860
875
  };
861
876
  var safeCall = (instance, method, arg, elm) => {
@@ -879,7 +894,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
879
894
  const hostRef = getHostRef(ref);
880
895
  if (!hostRef) {
881
896
  throw new Error(
882
- `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`
897
+ `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
883
898
  );
884
899
  }
885
900
  const oldVal = hostRef.$instanceValues$.get(propName);
@@ -892,6 +907,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
892
907
  hostRef.$instanceValues$.set(propName, newVal);
893
908
  if (instance) {
894
909
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
910
+ if (instance.componentShouldUpdate) {
911
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
912
+ return;
913
+ }
914
+ }
895
915
  scheduleUpdate(hostRef, false);
896
916
  }
897
917
  }
@@ -1039,7 +1059,8 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1039
1059
  let Cstr;
1040
1060
  if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1041
1061
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1042
- {
1062
+ const bundleId = cmpMeta.$lazyBundleId$;
1063
+ if (bundleId) {
1043
1064
  const CstrImport = loadModule(cmpMeta, hostRef);
1044
1065
  if (CstrImport && "then" in CstrImport) {
1045
1066
  const endLoad = uniqueTime();
@@ -1068,6 +1089,11 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1068
1089
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
1069
1090
  }
1070
1091
  endNewInstance();
1092
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1093
+ } else {
1094
+ Cstr = elm.constructor;
1095
+ const cmpTag = elm.localName;
1096
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1071
1097
  }
1072
1098
  if (Cstr && Cstr.style) {
1073
1099
  let style;
@@ -1091,6 +1117,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1091
1117
  }
1092
1118
  };
1093
1119
  var fireConnectedCallback = (instance, elm) => {
1120
+ {
1121
+ safeCall(instance, "connectedCallback", void 0, elm);
1122
+ }
1094
1123
  };
1095
1124
 
1096
1125
  // src/runtime/connected-callback.ts
@@ -1123,20 +1152,27 @@ var connectedCallback = (elm) => {
1123
1152
  initializeComponent(elm, hostRef, cmpMeta);
1124
1153
  }
1125
1154
  } else {
1126
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1127
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1155
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1156
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1157
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1158
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1128
1159
  }
1129
1160
  }
1130
1161
  endConnected();
1131
1162
  }
1132
1163
  };
1133
1164
  var disconnectInstance = (instance, elm) => {
1165
+ {
1166
+ safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1167
+ }
1134
1168
  };
1135
1169
  var disconnectedCallback = async (elm) => {
1136
1170
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1137
1171
  const hostRef = getHostRef(elm);
1138
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1139
- hostRef.$onReadyPromise$.then(() => disconnectInstance());
1172
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1173
+ disconnectInstance(hostRef.$lazyInstance$, elm);
1174
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1175
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1140
1176
  }
1141
1177
  }
1142
1178
  if (rootAppliedStyles.has(elm)) {
@@ -1150,18 +1186,22 @@ var disconnectedCallback = async (elm) => {
1150
1186
  // src/runtime/bootstrap-lazy.ts
1151
1187
  var bootstrapLazy = (lazyBundles, options = {}) => {
1152
1188
  var _a;
1189
+ if (!win.document) {
1190
+ console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
1191
+ return;
1192
+ }
1153
1193
  const endBootstrap = createTime();
1154
1194
  const cmpTags = [];
1155
1195
  const exclude = options.exclude || [];
1156
1196
  const customElements2 = win.customElements;
1157
- const head = doc.head;
1197
+ const head = win.document.head;
1158
1198
  const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
1159
- const dataStyles = /* @__PURE__ */ doc.createElement("style");
1199
+ const dataStyles = /* @__PURE__ */ win.document.createElement("style");
1160
1200
  const deferredConnectedCallbacks = [];
1161
1201
  let appLoadFallback;
1162
1202
  let isBootstrapping = true;
1163
1203
  Object.assign(plt, options);
1164
- plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", doc.baseURI).href;
1204
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
1165
1205
  let hasSlotRelocation = false;
1166
1206
  lazyBundles.map((lazyBundle) => {
1167
1207
  lazyBundle[1].map((compactMeta) => {
@@ -1224,6 +1264,10 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1224
1264
  plt.raf(() => {
1225
1265
  var _a3;
1226
1266
  const hostRef = getHostRef(this);
1267
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
1268
+ if (i2 > -1) {
1269
+ deferredConnectedCallbacks.splice(i2, 1);
1270
+ }
1227
1271
  if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
1228
1272
  delete hostRef.$vnode$.$elm$;
1229
1273
  }
@@ -1252,7 +1296,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1252
1296
  }
1253
1297
  if (dataStyles.innerHTML.length) {
1254
1298
  dataStyles.setAttribute("data-styles", "");
1255
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1299
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1256
1300
  if (nonce != null) {
1257
1301
  dataStyles.setAttribute("nonce", nonce);
1258
1302
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-16662754.js');
5
+ const index = require('./index-8a2658a5.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-16662754.js');
5
+ const index = require('./index-8a2658a5.js');
6
6
 
7
7
  const miBaselineDone = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9 16.2L4.8 12l-1.4 1.4L9 19L21 7l-1.4-1.4L9 16.2z"/></svg>`;
8
8
 
@@ -884,7 +884,7 @@ const localeIt = {
884
884
  readonly: readonly
885
885
  };
886
886
 
887
- const mdsInputTipItemCss = "@tailwind components;\n@tailwind utilities;\n\n:host {\n\n --mds-input-tip-item-background: rgb(var(--tone-neutral-01));\n --mds-input-tip-item-color: rgb(var(--tone-neutral));\n --mds-input-tip-item-icon-color: rgb(var(--tone-neutral));\n height: 0.75rem;\n border-radius: 0.375rem;\n -webkit-transition-duration: 300ms;\n transition-duration: 300ms;\n -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n -ms-flex-align: center;\n\n align-items: center;\n background-color: var(--mds-input-tip-item-background);\n color: var(--mds-input-tip-item-color);\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n min-width: 0.75rem;\n padding: 0;\n pointer-events: none;\n position: static;\n text-align: center;\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n -webkit-transition-property: background-color, border-radius, color, padding-left, padding-right, -webkit-transform;\n transition-property: background-color, border-radius, color, padding-left, padding-right, -webkit-transform;\n transition-property: background-color, border-radius, color, padding-left, padding-right, transform;\n transition-property: background-color, border-radius, color, padding-left, padding-right, transform, -webkit-transform;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.content{\n\n height: 0.75rem;\n\n -webkit-transition-duration: 200ms;\n\n transition-duration: 200ms;\n\n -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n display: grid;\n grid-template-columns: 0fr;\n opacity: 0;\n overflow: hidden;\n -webkit-transition-property: grid-template-columns, opacity;\n transition-property: grid-template-columns, opacity;\n transition-property: grid-template-columns, opacity, -ms-grid-columns;\n}\n\n.text {\n line-height: 0.75rem;\n}\n\n.icon{\n\n display: -ms-flexbox;\n\n display: flex;\n}\n\n.icon svg{\n\n aspect-ratio: 1/1;\n\n height: 100%;\n\n width: 100%;\n}\n\n.icon{\n\n height: 0.75rem;\n\n width: 0.75rem;\n\n fill: var(--mds-input-tip-item-icon-color);\n -webkit-transform: translateY(-1px);\n transform: translateY(-1px);\n}\n\n:host([expanded=\"false\"]) {\n color: transparent;\n}\n\n:host([expanded]:not([expanded=\"false\"])){\n\n padding-left: 0.5rem;\n\n padding-right: 0.5rem;\n\n --mds-input-tip-item-color: rgb(var(--tone-neutral));\n}\n\n:host([expanded]:not([expanded=\"false\"])) .content {\n grid-template-columns: 1fr;\n opacity: 1;\n}\n\n:host([variant=\"required\"]) {\n\n --mds-input-tip-item-background: rgb(var(--status-error-05));\n}\n\n:host([variant=\"required-success\"]) {\n\n --mds-input-tip-item-background: rgb(var(--status-success-05));\n}\n\n:host([variant=\"readonly\"]) {\n\n --mds-input-tip-item-background: rgb(var(--status-info-05));\n}\n\n:host([variant=\"disabled\"]) {\n\n --mds-input-tip-item-background: rgb(var(--tone-neutral-05));\n}\n\n:host([variant=\"text\"]) {\n\n --mds-input-tip-item-background: rgb(var(--tone-neutral-03));\n}\n\n@container style(--magma-pref-animation: reduce) {\n :host,\n .content {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n\n@container style(--magma-pref-animation: system) {\n\n @media (prefers-reduced-motion) {\n :host,\n .content {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n }\n}\n\n";
887
+ const mdsInputTipItemCss = "@tailwind components; :host{--mds-input-tip-item-background:rgb(var(--tone-neutral-01));--mds-input-tip-item-color:rgb(var(--tone-neutral));--mds-input-tip-item-icon-color:rgb(var(--tone-neutral));height:0.75rem;border-radius:0.375rem;-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);-ms-flex-align:center;align-items:center;background-color:var(--mds-input-tip-item-background);color:var(--mds-input-tip-item-color);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;min-width:0.75rem;padding:0;pointer-events:none;position:static;text-align:center;-webkit-transform:translate(0, 0);transform:translate(0, 0);-webkit-transition-property:background-color, border-radius, color, padding-left, padding-right, -webkit-transform;transition-property:background-color, border-radius, color, padding-left, padding-right, -webkit-transform;transition-property:background-color, border-radius, color, padding-left, padding-right, transform;transition-property:background-color, border-radius, color, padding-left, padding-right, transform, -webkit-transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content{height:0.75rem;-webkit-transition-duration:200ms;transition-duration:200ms;-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);display:grid;grid-template-columns:0fr;opacity:0;overflow:hidden;-webkit-transition-property:grid-template-columns, opacity;transition-property:grid-template-columns, opacity;transition-property:grid-template-columns, opacity, -ms-grid-columns}.text{line-height:0.75rem}.icon{display:-ms-flexbox;display:flex}.icon svg{aspect-ratio:1/1;height:100%;width:100%}.icon{height:0.75rem;width:0.75rem;fill:var(--mds-input-tip-item-icon-color);-webkit-transform:translateY(-1px);transform:translateY(-1px)}:host([expanded=\"false\"]){color:transparent}:host([expanded]:not([expanded=\"false\"])){padding-left:0.5rem;padding-right:0.5rem;--mds-input-tip-item-color:rgb(var(--tone-neutral))}:host([expanded]:not([expanded=\"false\"])) .content{grid-template-columns:1fr;opacity:1}:host([variant=\"required\"]){--mds-input-tip-item-background:rgb(var(--status-error-05))}:host([variant=\"required-success\"]){--mds-input-tip-item-background:rgb(var(--status-success-05))}:host([variant=\"readonly\"]){--mds-input-tip-item-background:rgb(var(--status-info-05))}:host([variant=\"disabled\"]){--mds-input-tip-item-background:rgb(var(--tone-neutral-05))}:host([variant=\"text\"]){--mds-input-tip-item-background:rgb(var(--tone-neutral-03))}:host-context(.pref-animation-reduce),:host-context(.pref-animation-reduce) .content{-webkit-transition-duration:0s;transition-duration:0s}@media (prefers-reduced-motion){:host-context(.pref-animation-system),:host-context(.pref-animation-system) .content{-webkit-transition-duration:0s;transition-duration:0s}}:host(:not(:is([hydrated],.hydrated))){-webkit-animation-duration:0s;animation-duration:0s;border-color:transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;opacity:0;outline-color:transparent;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s;visibility:hidden}mds-accordion:not(:is([hydrated],.hydrated)),mds-accordion-item:not(:is([hydrated],.hydrated)),mds-accordion-timer:not(:is([hydrated],.hydrated)),mds-accordion-timer-item:not(:is([hydrated],.hydrated)),mds-author:not(:is([hydrated],.hydrated)),mds-avatar:not(:is([hydrated],.hydrated)),mds-badge:not(:is([hydrated],.hydrated)),mds-banner:not(:is([hydrated],.hydrated)),mds-benchmark-bar:not(:is([hydrated],.hydrated)),mds-bibliography:not(:is([hydrated],.hydrated)),mds-breadcrumb:not(:is([hydrated],.hydrated)),mds-breadcrumb-item:not(:is([hydrated],.hydrated)),mds-button:not(:is([hydrated],.hydrated)),mds-card:not(:is([hydrated],.hydrated)),mds-card-content:not(:is([hydrated],.hydrated)),mds-card-footer:not(:is([hydrated],.hydrated)),mds-card-header:not(:is([hydrated],.hydrated)),mds-card-media:not(:is([hydrated],.hydrated)),mds-chip:not(:is([hydrated],.hydrated)),mds-details:not(:is([hydrated],.hydrated)),mds-dropdown:not(:is([hydrated],.hydrated)),mds-entity:not(:is([hydrated],.hydrated)),mds-file:not(:is([hydrated],.hydrated)),mds-file-preview:not(:is([hydrated],.hydrated)),mds-filter:not(:is([hydrated],.hydrated)),mds-filter-item:not(:is([hydrated],.hydrated)),mds-header:not(:is([hydrated],.hydrated)),mds-header-bar:not(:is([hydrated],.hydrated)),mds-help:not(:is([hydrated],.hydrated)),mds-horizontal-scroll:not(:is([hydrated],.hydrated)),mds-hr:not(:is([hydrated],.hydrated)),mds-icon:not(:is([hydrated],.hydrated)),mds-img:not(:is([hydrated],.hydrated)),mds-input:not(:is([hydrated],.hydrated)),mds-input-field:not(:is([hydrated],.hydrated)),mds-input-range:not(:is([hydrated],.hydrated)),mds-input-select:not(:is([hydrated],.hydrated)),mds-input-switch:not(:is([hydrated],.hydrated)),mds-input-tip:not(:is([hydrated],.hydrated)),mds-input-tip-item:not(:is([hydrated],.hydrated)),mds-input-upload:not(:is([hydrated],.hydrated)),mds-keyboard:not(:is([hydrated],.hydrated)),mds-keyboard-key:not(:is([hydrated],.hydrated)),mds-kpi:not(:is([hydrated],.hydrated)),mds-kpi-item:not(:is([hydrated],.hydrated)),mds-label:not(:is([hydrated],.hydrated)),mds-list:not(:is([hydrated],.hydrated)),mds-list-item:not(:is([hydrated],.hydrated)),mds-modal:not(:is([hydrated],.hydrated)),mds-note:not(:is([hydrated],.hydrated)),mds-notification:not(:is([hydrated],.hydrated)),mds-paginator:not(:is([hydrated],.hydrated)),mds-paginator-item:not(:is([hydrated],.hydrated)),mds-pref:not(:is([hydrated],.hydrated)),mds-pref-animation:not(:is([hydrated],.hydrated)),mds-pref-consumption:not(:is([hydrated],.hydrated)),mds-pref-contrast:not(:is([hydrated],.hydrated)),mds-pref-language:not(:is([hydrated],.hydrated)),mds-pref-language-item:not(:is([hydrated],.hydrated)),mds-pref-theme:not(:is([hydrated],.hydrated)),mds-price-table:not(:is([hydrated],.hydrated)),mds-price-table-features:not(:is([hydrated],.hydrated)),mds-price-table-features-cell:not(:is([hydrated],.hydrated)),mds-price-table-features-row:not(:is([hydrated],.hydrated)),mds-price-table-header:not(:is([hydrated],.hydrated)),mds-price-table-list:not(:is([hydrated],.hydrated)),mds-price-table-list-item:not(:is([hydrated],.hydrated)),mds-progress:not(:is([hydrated],.hydrated)),mds-push-notification:not(:is([hydrated],.hydrated)),mds-push-notifications:not(:is([hydrated],.hydrated)),mds-quote:not(:is([hydrated],.hydrated)),mds-separator:not(:is([hydrated],.hydrated)),mds-spinner:not(:is([hydrated],.hydrated)),mds-stepper-bar:not(:is([hydrated],.hydrated)),mds-stepper-bar-item:not(:is([hydrated],.hydrated)),mds-tab:not(:is([hydrated],.hydrated)),mds-tab-bar:not(:is([hydrated],.hydrated)),mds-tab-bar-item:not(:is([hydrated],.hydrated)),mds-tab-item:not(:is([hydrated],.hydrated)),mds-table:not(:is([hydrated],.hydrated)),mds-table-body:not(:is([hydrated],.hydrated)),mds-table-cell:not(:is([hydrated],.hydrated)),mds-table-footer:not(:is([hydrated],.hydrated)),mds-table-header:not(:is([hydrated],.hydrated)),mds-table-header-cell:not(:is([hydrated],.hydrated)),mds-table-row:not(:is([hydrated],.hydrated)),mds-text:not(:is([hydrated],.hydrated)),mds-toast:not(:is([hydrated],.hydrated)),mds-tooltip:not(:is([hydrated],.hydrated)),mds-tree:not(:is([hydrated],.hydrated)),mds-tree-item:not(:is([hydrated],.hydrated)),mds-url-view:not(:is([hydrated],.hydrated)),mds-usage:not(:is([hydrated],.hydrated)),mds-video-wall:not(:is([hydrated],.hydrated)),mds-zero:not(:is([hydrated],.hydrated)){-webkit-animation-duration:0s;animation-duration:0s;border-color:transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;opacity:0;outline-color:transparent;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s;visibility:hidden}";
888
888
  const MdsInputTipItemStyle0 = mdsInputTipItemCss;
889
889
 
890
890
  const MdsInputTipItem = class {
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-16662754.js');
5
+ const index = require('./index-8a2658a5.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
9
- Stencil Client Patch Browser v4.25.1 | MIT Licensed | https://stenciljs.com
9
+ Stencil Client Patch Browser v4.27.2 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  var patchBrowser = () => {
12
12
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('mds-input-tip-item.cjs.js', document.baseURI).href));
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.25.1",
7
+ "version": "4.27.2",
8
8
  "typescriptVersion": "5.5.4"
9
9
  },
10
10
  "collections": [],
@@ -143,12 +143,12 @@ export class FloatingController {
143
143
  }
144
144
  export class Backdrop {
145
145
  constructor(backdropId) {
146
- this.defaultBackdropId = 'mds-backdrop';
146
+ this.defaultBackdropId = 'magma-backdrop';
147
147
  this.backdropBackgroundVisible = 'rgba(var(--magma-backdrop-color, 0 0 0) / var(--magma-backdrop-opacity, 0.1))';
148
148
  this.backdropBackgroundHidden = 'rgba(var(--magma-backdrop-color, 0 0 0) / 0)';
149
149
  this.backdropId = backdropId !== null && backdropId !== void 0 ? backdropId : this.defaultBackdropId;
150
- this.cssBackdropZIndex = `var(--${this.backdropId}-z-index)`;
151
- this.cssBackdropDuration = `var(--${this.backdropId}-duration)`;
150
+ this.cssBackdropZIndex = `var(--${this.backdropId}-z-index, 4000)`;
151
+ this.cssBackdropDuration = `var(--${this.backdropId}-animation-duration, 300ms)`;
152
152
  }
153
153
  attachBackdrop() {
154
154
  if (!this.backdropEl) {
@@ -16,4 +16,13 @@ const hasSlottedNodes = (el, name) => {
16
16
  }
17
17
  return false;
18
18
  };
19
- export { hasSlottedElements, hasSlottedNodes, };
19
+ const hasSlotted = (el, name) => {
20
+ var _a;
21
+ const query = name ? `slot[name="${name}"]` : 'slot:not([name])';
22
+ const slot = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(query);
23
+ if (slot) {
24
+ return slot.assignedNodes().length > 0 || slot.assignedElements().length > 0;
25
+ }
26
+ return false;
27
+ };
28
+ export { hasSlottedElements, hasSlottedNodes, hasSlotted, };
@@ -0,0 +1,30 @@
1
+ const levenshteinDistance = (a, b) => {
2
+ const dp = Array.from({ length: a.length + 1 }, (_, i) =>
3
+ // eslint-disable-next-line no-nested-ternary
4
+ Array.from({ length: b.length + 1 }, (_, j) => (i === 0 ? j : j === 0 ? i : 0)));
5
+ for (let i = 1; i <= a.length; i++) {
6
+ for (let j = 1; j <= b.length; j++) {
7
+ if (a[i - 1] === b[j - 1]) {
8
+ dp[i][j] = dp[i - 1][j - 1];
9
+ }
10
+ else {
11
+ dp[i][j] = 1 + Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]);
12
+ }
13
+ }
14
+ }
15
+ return dp[a.length][b.length];
16
+ };
17
+ const closest = (input, validCodes) => {
18
+ let [closest] = validCodes;
19
+ let minDistance = levenshteinDistance(input, closest);
20
+ for (const code of validCodes) {
21
+ const distance = levenshteinDistance(input, code);
22
+ if (distance < minDistance) {
23
+ minDistance = distance;
24
+ closest = code;
25
+ }
26
+ }
27
+ return closest;
28
+ };
29
+ const firstLetterUppercase = (str) => str.charAt(0).toUpperCase() + str.slice(1);
30
+ export { closest, firstLetterUppercase, levenshteinDistance, };