@maggioli-design-system/mds-input-select 3.1.1 → 3.3.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.
- package/dist/cjs/{index-74d0a660.js → index-648a2952.js} +133 -90
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mds-input-select.cjs.entry.js +2 -2
- package/dist/cjs/mds-input-select.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/common/floating-controller.js +3 -3
- package/dist/collection/common/slot.js +10 -1
- package/dist/collection/common/string.js +30 -0
- package/dist/collection/components/mds-input-select/mds-input-select.css +167 -85
- package/dist/collection/dictionary/keyboard.js +84 -0
- package/dist/collection/type/keyboard.js +1 -0
- package/dist/components/mds-input-select.js +1 -1
- package/dist/documentation.json +2 -2
- package/dist/esm/{index-5182e090.js → index-e1f2fe2a.js} +133 -90
- package/dist/esm/loader.js +2 -2
- package/dist/esm/mds-input-select.entry.js +2 -2
- package/dist/esm/mds-input-select.js +3 -3
- package/dist/esm-es5/index-e1f2fe2a.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mds-input-select.entry.js +1 -1
- package/dist/esm-es5/mds-input-select.js +1 -1
- package/dist/mds-input-select/mds-input-select.esm.js +1 -1
- package/dist/mds-input-select/mds-input-select.js +1 -1
- package/dist/mds-input-select/p-0a2b93c3.system.entry.js +1 -0
- package/dist/mds-input-select/p-48d4babb.entry.js +1 -0
- package/dist/mds-input-select/p-5f2a815f.system.js +1 -0
- package/dist/mds-input-select/p-bf3133aa.js +2 -0
- package/dist/mds-input-select/p-cbce7086.system.js +2 -0
- package/dist/stats.json +38 -33
- package/dist/types/common/slot.d.ts +2 -1
- package/dist/types/common/string.d.ts +4 -0
- package/dist/types/dictionary/keyboard.d.ts +2 -0
- package/dist/types/type/keyboard.d.ts +12 -0
- package/documentation.json +22 -2
- package/package.json +4 -4
- package/src/common/floating-controller.ts +6 -6
- package/src/common/slot.ts +11 -0
- package/src/common/string.ts +42 -0
- package/src/components/mds-input-select/css/mds-input-select-pref-animation.css +13 -18
- package/src/components/mds-input-select/css/mds-input-select-pref-contrast.css +9 -19
- package/src/components/mds-input-select/css/mds-input-select-pref-theme.css +15 -24
- package/src/components/mds-input-select/css/mds-input-select-variant.css +14 -26
- package/src/components/mds-input-select/mds-input-select.css +1 -2
- package/src/dictionary/keyboard.ts +87 -0
- package/src/fixtures/icons.json +18 -1
- package/src/meta/keyboard/keys.json +83 -0
- package/src/tailwind/components.css +11 -46
- package/src/tailwind/fouc.css +118 -0
- package/src/tailwind/index.css +4 -0
- package/src/type/keyboard.ts +93 -0
- package/www/build/mds-input-select.esm.js +1 -1
- package/www/build/mds-input-select.js +1 -1
- package/www/build/p-0a2b93c3.system.entry.js +1 -0
- package/www/build/p-48d4babb.entry.js +1 -0
- package/www/build/p-5f2a815f.system.js +1 -0
- package/www/build/p-bf3133aa.js +2 -0
- package/www/build/p-cbce7086.system.js +2 -0
- package/dist/esm-es5/index-5182e090.js +0 -1
- package/dist/mds-input-select/p-0a525bf3.entry.js +0 -1
- package/dist/mds-input-select/p-595037e8.system.js +0 -1
- package/dist/mds-input-select/p-792c07a9.system.entry.js +0 -1
- package/dist/mds-input-select/p-a2eea2c4.system.js +0 -2
- package/dist/mds-input-select/p-ff420541.js +0 -2
- package/www/build/p-0a525bf3.entry.js +0 -1
- package/www/build/p-595037e8.system.js +0 -1
- package/www/build/p-792c07a9.system.entry.js +0 -1
- package/www/build/p-a2eea2c4.system.js +0 -2
- package/www/build/p-ff420541.js +0 -2
|
@@ -21,10 +21,10 @@ function _interopNamespace(e) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const NAMESPACE = 'mds-input-select';
|
|
24
|
-
const BUILD = /* mds-input-select */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false,
|
|
24
|
+
const BUILD = /* mds-input-select */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, constructableCSS: true, cssAnnotations: true, devTools: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, 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: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, 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: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
|
|
25
25
|
|
|
26
26
|
/*
|
|
27
|
-
Stencil Client Platform v4.
|
|
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
|
|
37
|
-
|
|
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
|
-
|
|
43
|
+
lazyInstance.__stencil__getHostRef = () => hostRef;
|
|
44
|
+
hostRef.$lazyInstance$ = lazyInstance;
|
|
40
45
|
};
|
|
41
46
|
var registerHost = (hostElement, cmpMeta) => {
|
|
42
47
|
const hostRef = {
|
|
@@ -50,7 +55,8 @@ var registerHost = (hostElement, cmpMeta) => {
|
|
|
50
55
|
hostElement["s-p"] = [];
|
|
51
56
|
hostElement["s-rc"] = [];
|
|
52
57
|
}
|
|
53
|
-
const ref =
|
|
58
|
+
const ref = hostRef;
|
|
59
|
+
hostElement.__stencil__getHostRef = () => ref;
|
|
54
60
|
return ref;
|
|
55
61
|
};
|
|
56
62
|
var isMemberInElement = (elm, memberName) => memberName in elm;
|
|
@@ -113,7 +119,6 @@ var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [
|
|
|
113
119
|
"formStateRestoreCallback"
|
|
114
120
|
];
|
|
115
121
|
var win = typeof window !== "undefined" ? window : {};
|
|
116
|
-
var doc = win.document || { head: {} };
|
|
117
122
|
var plt = {
|
|
118
123
|
$flags$: 0,
|
|
119
124
|
$resourcesUrl$: "",
|
|
@@ -173,9 +178,9 @@ var isComplexType = (o) => {
|
|
|
173
178
|
};
|
|
174
179
|
|
|
175
180
|
// src/utils/query-nonce-meta-tag-content.ts
|
|
176
|
-
function queryNonceMetaTagContent(
|
|
181
|
+
function queryNonceMetaTagContent(doc) {
|
|
177
182
|
var _a, _b, _c;
|
|
178
|
-
return (_c = (_b = (_a =
|
|
183
|
+
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;
|
|
179
184
|
}
|
|
180
185
|
|
|
181
186
|
// src/utils/result.ts
|
|
@@ -359,7 +364,10 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
359
364
|
var _a;
|
|
360
365
|
const scopeId2 = getScopeId(cmpMeta);
|
|
361
366
|
const style = styles.get(scopeId2);
|
|
362
|
-
|
|
367
|
+
if (!win.document) {
|
|
368
|
+
return scopeId2;
|
|
369
|
+
}
|
|
370
|
+
styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
|
|
363
371
|
if (style) {
|
|
364
372
|
if (typeof style === "string") {
|
|
365
373
|
styleContainerNode = styleContainerNode.head || styleContainerNode;
|
|
@@ -370,9 +378,9 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
370
378
|
}
|
|
371
379
|
if (!appliedStyles.has(scopeId2)) {
|
|
372
380
|
{
|
|
373
|
-
styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) ||
|
|
381
|
+
styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
|
|
374
382
|
styleElm.innerHTML = style;
|
|
375
|
-
const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(
|
|
383
|
+
const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
|
|
376
384
|
if (nonce != null) {
|
|
377
385
|
styleElm.setAttribute("nonce", nonce);
|
|
378
386
|
}
|
|
@@ -401,7 +409,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
401
409
|
styleContainerNode.append(styleElm);
|
|
402
410
|
}
|
|
403
411
|
}
|
|
404
|
-
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */
|
|
412
|
+
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
|
|
405
413
|
styleContainerNode.insertBefore(styleElm, null);
|
|
406
414
|
}
|
|
407
415
|
}
|
|
@@ -426,7 +434,7 @@ var attachStyles = (hostRef) => {
|
|
|
426
434
|
const scopeId2 = addStyle(
|
|
427
435
|
elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
|
|
428
436
|
cmpMeta);
|
|
429
|
-
if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
|
|
437
|
+
if ((flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */ || flags & 128 /* shadowNeedsScopedCss */)) {
|
|
430
438
|
elm["s-sc"] = scopeId2;
|
|
431
439
|
elm.classList.add(scopeId2 + "-h");
|
|
432
440
|
}
|
|
@@ -434,68 +442,69 @@ var attachStyles = (hostRef) => {
|
|
|
434
442
|
};
|
|
435
443
|
var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
|
|
436
444
|
var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
|
|
437
|
-
if (oldValue
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
445
|
+
if (oldValue === newValue) {
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
let isProp = isMemberInElement(elm, memberName);
|
|
449
|
+
let ln = memberName.toLowerCase();
|
|
450
|
+
if (memberName === "class") {
|
|
451
|
+
const classList = elm.classList;
|
|
452
|
+
const oldClasses = parseClassList(oldValue);
|
|
453
|
+
let newClasses = parseClassList(newValue);
|
|
454
|
+
{
|
|
455
|
+
classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
|
|
456
|
+
classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
|
|
457
|
+
}
|
|
458
|
+
} else if (memberName === "key") ; else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
|
|
459
|
+
if (memberName[2] === "-") {
|
|
460
|
+
memberName = memberName.slice(3);
|
|
461
|
+
} else if (isMemberInElement(win, ln)) {
|
|
462
|
+
memberName = ln.slice(2);
|
|
463
|
+
} else {
|
|
464
|
+
memberName = ln[2] + memberName.slice(3);
|
|
465
|
+
}
|
|
466
|
+
if (oldValue || newValue) {
|
|
467
|
+
const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
|
|
468
|
+
memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
|
|
469
|
+
if (oldValue) {
|
|
470
|
+
plt.rel(elm, memberName, oldValue, capture);
|
|
455
471
|
}
|
|
456
|
-
if (
|
|
457
|
-
|
|
458
|
-
memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
|
|
459
|
-
if (oldValue) {
|
|
460
|
-
plt.rel(elm, memberName, oldValue, capture);
|
|
461
|
-
}
|
|
462
|
-
if (newValue) {
|
|
463
|
-
plt.ael(elm, memberName, newValue, capture);
|
|
464
|
-
}
|
|
472
|
+
if (newValue) {
|
|
473
|
+
plt.ael(elm, memberName, newValue, capture);
|
|
465
474
|
}
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
475
|
+
}
|
|
476
|
+
} else {
|
|
477
|
+
const isComplex = isComplexType(newValue);
|
|
478
|
+
if ((isProp || isComplex && newValue !== null) && !isSvg) {
|
|
479
|
+
try {
|
|
480
|
+
if (!elm.tagName.includes("-")) {
|
|
481
|
+
const n = newValue == null ? "" : newValue;
|
|
482
|
+
if (memberName === "list") {
|
|
483
|
+
isProp = false;
|
|
484
|
+
} else if (oldValue == null || elm[memberName] != n) {
|
|
485
|
+
if (typeof elm.__lookupSetter__(memberName) === "function") {
|
|
486
|
+
elm[memberName] = n;
|
|
487
|
+
} else {
|
|
488
|
+
elm.setAttribute(memberName, n);
|
|
480
489
|
}
|
|
481
|
-
} else if (elm[memberName] !== newValue) {
|
|
482
|
-
elm[memberName] = newValue;
|
|
483
490
|
}
|
|
484
|
-
}
|
|
491
|
+
} else if (elm[memberName] !== newValue) {
|
|
492
|
+
elm[memberName] = newValue;
|
|
485
493
|
}
|
|
494
|
+
} catch (e) {
|
|
486
495
|
}
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
elm.removeAttribute(memberName);
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
} else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
|
|
494
|
-
newValue = newValue === true ? "" : newValue;
|
|
496
|
+
}
|
|
497
|
+
if (newValue == null || newValue === false) {
|
|
498
|
+
if (newValue !== false || elm.getAttribute(memberName) === "") {
|
|
495
499
|
{
|
|
496
|
-
elm.
|
|
500
|
+
elm.removeAttribute(memberName);
|
|
497
501
|
}
|
|
498
502
|
}
|
|
503
|
+
} else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
|
|
504
|
+
newValue = newValue === true ? "" : newValue;
|
|
505
|
+
{
|
|
506
|
+
elm.setAttribute(memberName, newValue);
|
|
507
|
+
}
|
|
499
508
|
}
|
|
500
509
|
}
|
|
501
510
|
};
|
|
@@ -558,9 +567,14 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
558
567
|
let elm;
|
|
559
568
|
let childNode;
|
|
560
569
|
if (newVNode2.$text$ !== null) {
|
|
561
|
-
elm = newVNode2.$elm$ =
|
|
570
|
+
elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
|
|
562
571
|
} else {
|
|
563
|
-
|
|
572
|
+
if (!win.document) {
|
|
573
|
+
throw new Error(
|
|
574
|
+
"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."
|
|
575
|
+
);
|
|
576
|
+
}
|
|
577
|
+
elm = newVNode2.$elm$ = win.document.createElement(
|
|
564
578
|
!useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
|
|
565
579
|
);
|
|
566
580
|
{
|
|
@@ -705,13 +719,10 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
|
|
|
705
719
|
const elm = newVNode2.$elm$ = oldVNode.$elm$;
|
|
706
720
|
const oldChildren = oldVNode.$children$;
|
|
707
721
|
const newChildren = newVNode2.$children$;
|
|
708
|
-
const tag = newVNode2.$tag$;
|
|
709
722
|
const text = newVNode2.$text$;
|
|
710
723
|
if (text === null) {
|
|
711
724
|
{
|
|
712
|
-
|
|
713
|
-
updateElement(oldVNode, newVNode2, isSvgMode);
|
|
714
|
-
}
|
|
725
|
+
updateElement(oldVNode, newVNode2, isSvgMode);
|
|
715
726
|
}
|
|
716
727
|
if (oldChildren !== null && newChildren !== null) {
|
|
717
728
|
updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
|
|
@@ -758,7 +769,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
|
758
769
|
rootVnode.$flags$ |= 4 /* isHost */;
|
|
759
770
|
hostRef.$vnode$ = rootVnode;
|
|
760
771
|
rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
|
|
761
|
-
useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)
|
|
772
|
+
useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
|
|
762
773
|
patch(oldVNode, rootVnode, isInitialLoad);
|
|
763
774
|
};
|
|
764
775
|
|
|
@@ -797,6 +808,12 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
797
808
|
);
|
|
798
809
|
}
|
|
799
810
|
let maybePromise;
|
|
811
|
+
if (isInitialLoad) {
|
|
812
|
+
maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
|
|
813
|
+
} else {
|
|
814
|
+
maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
|
|
815
|
+
}
|
|
816
|
+
maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
|
|
800
817
|
endSchedule();
|
|
801
818
|
return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
802
819
|
};
|
|
@@ -862,14 +879,13 @@ var postUpdateComponent = (hostRef) => {
|
|
|
862
879
|
const endPostUpdate = createTime("postUpdate", tagName);
|
|
863
880
|
const instance = hostRef.$lazyInstance$ ;
|
|
864
881
|
const ancestorComponent = hostRef.$ancestorComponent$;
|
|
882
|
+
safeCall(instance, "componentDidRender", void 0, elm);
|
|
865
883
|
if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
|
|
866
884
|
hostRef.$flags$ |= 64 /* hasLoadedComponent */;
|
|
867
885
|
{
|
|
868
886
|
addHydratedFlag(elm);
|
|
869
887
|
}
|
|
870
|
-
|
|
871
|
-
safeCall(instance, "componentDidLoad", void 0, elm);
|
|
872
|
-
}
|
|
888
|
+
safeCall(instance, "componentDidLoad", void 0, elm);
|
|
873
889
|
endPostUpdate();
|
|
874
890
|
{
|
|
875
891
|
hostRef.$onReadyResolve$(elm);
|
|
@@ -878,6 +894,7 @@ var postUpdateComponent = (hostRef) => {
|
|
|
878
894
|
}
|
|
879
895
|
}
|
|
880
896
|
} else {
|
|
897
|
+
safeCall(instance, "componentDidUpdate", void 0, elm);
|
|
881
898
|
endPostUpdate();
|
|
882
899
|
}
|
|
883
900
|
{
|
|
@@ -892,9 +909,6 @@ var postUpdateComponent = (hostRef) => {
|
|
|
892
909
|
}
|
|
893
910
|
};
|
|
894
911
|
var appDidLoad = (who) => {
|
|
895
|
-
{
|
|
896
|
-
addHydratedFlag(doc.documentElement);
|
|
897
|
-
}
|
|
898
912
|
nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
|
|
899
913
|
};
|
|
900
914
|
var safeCall = (instance, method, arg, elm) => {
|
|
@@ -918,7 +932,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
918
932
|
const hostRef = getHostRef(ref);
|
|
919
933
|
if (!hostRef) {
|
|
920
934
|
throw new Error(
|
|
921
|
-
`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/
|
|
935
|
+
`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).`
|
|
922
936
|
);
|
|
923
937
|
}
|
|
924
938
|
const elm = hostRef.$hostElement$ ;
|
|
@@ -944,6 +958,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
944
958
|
}
|
|
945
959
|
}
|
|
946
960
|
if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
|
|
961
|
+
if (instance.componentShouldUpdate) {
|
|
962
|
+
if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
|
|
963
|
+
return;
|
|
964
|
+
}
|
|
965
|
+
}
|
|
947
966
|
scheduleUpdate(hostRef, false);
|
|
948
967
|
}
|
|
949
968
|
}
|
|
@@ -1102,7 +1121,8 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1102
1121
|
let Cstr;
|
|
1103
1122
|
if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
|
|
1104
1123
|
hostRef.$flags$ |= 32 /* hasInitializedComponent */;
|
|
1105
|
-
|
|
1124
|
+
const bundleId = cmpMeta.$lazyBundleId$;
|
|
1125
|
+
if (bundleId) {
|
|
1106
1126
|
const CstrImport = loadModule(cmpMeta, hostRef);
|
|
1107
1127
|
if (CstrImport && "then" in CstrImport) {
|
|
1108
1128
|
const endLoad = uniqueTime();
|
|
@@ -1137,6 +1157,11 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1137
1157
|
hostRef.$flags$ |= 128 /* isWatchReady */;
|
|
1138
1158
|
}
|
|
1139
1159
|
endNewInstance();
|
|
1160
|
+
fireConnectedCallback(hostRef.$lazyInstance$, elm);
|
|
1161
|
+
} else {
|
|
1162
|
+
Cstr = elm.constructor;
|
|
1163
|
+
const cmpTag = elm.localName;
|
|
1164
|
+
customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
|
|
1140
1165
|
}
|
|
1141
1166
|
if (Cstr && Cstr.style) {
|
|
1142
1167
|
let style;
|
|
@@ -1160,6 +1185,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1160
1185
|
}
|
|
1161
1186
|
};
|
|
1162
1187
|
var fireConnectedCallback = (instance, elm) => {
|
|
1188
|
+
{
|
|
1189
|
+
safeCall(instance, "connectedCallback", void 0, elm);
|
|
1190
|
+
}
|
|
1163
1191
|
};
|
|
1164
1192
|
|
|
1165
1193
|
// src/runtime/connected-callback.ts
|
|
@@ -1192,20 +1220,27 @@ var connectedCallback = (elm) => {
|
|
|
1192
1220
|
initializeComponent(elm, hostRef, cmpMeta);
|
|
1193
1221
|
}
|
|
1194
1222
|
} else {
|
|
1195
|
-
if (hostRef == null ? void 0 : hostRef.$lazyInstance$)
|
|
1196
|
-
hostRef.$
|
|
1223
|
+
if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
|
|
1224
|
+
fireConnectedCallback(hostRef.$lazyInstance$, elm);
|
|
1225
|
+
} else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
|
|
1226
|
+
hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
|
|
1197
1227
|
}
|
|
1198
1228
|
}
|
|
1199
1229
|
endConnected();
|
|
1200
1230
|
}
|
|
1201
1231
|
};
|
|
1202
1232
|
var disconnectInstance = (instance, elm) => {
|
|
1233
|
+
{
|
|
1234
|
+
safeCall(instance, "disconnectedCallback", void 0, elm || instance);
|
|
1235
|
+
}
|
|
1203
1236
|
};
|
|
1204
1237
|
var disconnectedCallback = async (elm) => {
|
|
1205
1238
|
if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
|
|
1206
1239
|
const hostRef = getHostRef(elm);
|
|
1207
|
-
if (hostRef == null ? void 0 : hostRef.$lazyInstance$)
|
|
1208
|
-
hostRef.$
|
|
1240
|
+
if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
|
|
1241
|
+
disconnectInstance(hostRef.$lazyInstance$, elm);
|
|
1242
|
+
} else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
|
|
1243
|
+
hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
|
|
1209
1244
|
}
|
|
1210
1245
|
}
|
|
1211
1246
|
if (rootAppliedStyles.has(elm)) {
|
|
@@ -1219,18 +1254,22 @@ var disconnectedCallback = async (elm) => {
|
|
|
1219
1254
|
// src/runtime/bootstrap-lazy.ts
|
|
1220
1255
|
var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1221
1256
|
var _a;
|
|
1257
|
+
if (!win.document) {
|
|
1258
|
+
console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
|
|
1259
|
+
return;
|
|
1260
|
+
}
|
|
1222
1261
|
const endBootstrap = createTime();
|
|
1223
1262
|
const cmpTags = [];
|
|
1224
1263
|
const exclude = options.exclude || [];
|
|
1225
1264
|
const customElements2 = win.customElements;
|
|
1226
|
-
const head =
|
|
1265
|
+
const head = win.document.head;
|
|
1227
1266
|
const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
|
|
1228
|
-
const dataStyles = /* @__PURE__ */
|
|
1267
|
+
const dataStyles = /* @__PURE__ */ win.document.createElement("style");
|
|
1229
1268
|
const deferredConnectedCallbacks = [];
|
|
1230
1269
|
let appLoadFallback;
|
|
1231
1270
|
let isBootstrapping = true;
|
|
1232
1271
|
Object.assign(plt, options);
|
|
1233
|
-
plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./",
|
|
1272
|
+
plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
|
|
1234
1273
|
let hasSlotRelocation = false;
|
|
1235
1274
|
lazyBundles.map((lazyBundle) => {
|
|
1236
1275
|
lazyBundle[1].map((compactMeta) => {
|
|
@@ -1297,6 +1336,10 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1297
1336
|
plt.raf(() => {
|
|
1298
1337
|
var _a3;
|
|
1299
1338
|
const hostRef = getHostRef(this);
|
|
1339
|
+
const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
|
|
1340
|
+
if (i2 > -1) {
|
|
1341
|
+
deferredConnectedCallbacks.splice(i2, 1);
|
|
1342
|
+
}
|
|
1300
1343
|
if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
|
|
1301
1344
|
delete hostRef.$vnode$.$elm$;
|
|
1302
1345
|
}
|
|
@@ -1328,7 +1371,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1328
1371
|
}
|
|
1329
1372
|
if (dataStyles.innerHTML.length) {
|
|
1330
1373
|
dataStyles.setAttribute("data-styles", "");
|
|
1331
|
-
const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(
|
|
1374
|
+
const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
|
|
1332
1375
|
if (nonce != null) {
|
|
1333
1376
|
dataStyles.setAttribute("nonce", nonce);
|
|
1334
1377
|
}
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-648a2952.js');
|
|
6
6
|
const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
7
7
|
|
|
8
8
|
const defineCustomElements = async (win, options) => {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-648a2952.js');
|
|
6
6
|
|
|
7
7
|
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
8
8
|
|
|
9
9
|
const miBaselineKeyboardArrowDown = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6l-6-6l1.41-1.41z"/></svg>`;
|
|
10
10
|
|
|
11
|
-
const mdsInputSelectCss = "@tailwind components;\n@tailwind utilities;\n\n\n:host{\n\n min-height: 1.5rem;\n\n font-family: Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n font-size: 1rem;\n\n line-height: 1.5rem;\n\n -webkit-font-smoothing: antialiased;\n\n -moz-osx-font-smoothing: grayscale;\n\n --mds-input-select-variant-color: var(--tone-neutral-01);\n --mds-input-select-ring: 0 0 0 1px rgb(var(--mds-input-select-variant-color) / 0.1);\n --mds-input-select-shadow: 0 1px 3px 0 rgb(var(--mds-input-select-variant-color) / 0.1), 0 1px 2px 0 rgb(var(--mds-input-select-variant-color) / 0.06);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: transparent;\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color) / 0.5);\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color) / 0.5);\n --mds-input-select-arrow-icon-hover-color: rgb(var(--mds-input-select-variant-color));\n\n color: rgb(var(--tone-neutral-02));\n display: -ms-flexbox;\n display: flex;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n:host([required]:not([required=\"false\"]):focus-within) .icon {\n -webkit-transform: translate(0.375rem, 0.375rem);\n transform: translate(0.375rem, 0.375rem);\n}\n\n:host(:hover),\n:host(:focus-within) {\n\n --mds-input-select-variant-color: var(--variant-primary-03);\n --mds-input-select-ring: 0 0 0 3px rgb(var(--mds-input-select-variant-color) / 1);\n --mds-input-select-shadow: 0 4px 6px -1px rgb(var(--mds-input-select-variant-color) / 0.1), 0 2px 4px -1px rgb(var(--mds-input-select-variant-color) / 0.06);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-hover-background-color);\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-hover-color);\n}\n\n.input{\n\n font-family: Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n font-size: 1rem;\n\n line-height: 1.5rem;\n\n -webkit-font-smoothing: antialiased;\n\n -moz-osx-font-smoothing: grayscale;\n\n margin: 0rem;\n\n min-height: 3rem;\n\n width: 100%;\n\n border-radius: 0.5rem;\n\n padding-top: 0.75rem;\n\n padding-bottom: 0.75rem;\n\n padding-left: 1rem;\n\n padding-right: 3rem;\n\n -webkit-transition-duration: 300ms;\n\n transition-duration: 300ms;\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 -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n background-color: rgb(var(--tone-neutral));\n border: 0;\n -webkit-box-shadow: var(--mds-input-select-ring), var(--mds-input-select-shadow);\n box-shadow: var(--mds-input-select-ring), var(--mds-input-select-shadow);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: rgb(var(--tone-neutral-05));\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-transition-property: background-color, border-color, color, fill, -webkit-box-shadow;\n transition-property: background-color, border-color, color, fill, -webkit-box-shadow;\n transition-property: background-color, border-color, box-shadow, color, fill;\n transition-property: background-color, border-color, box-shadow, color, fill, -webkit-box-shadow;\n}\n\n.input:hover,\n.input:focus{\n\n outline: 2px solid transparent;\n\n outline-offset: 2px;\n\n -webkit-transition-duration: 300ms;\n\n transition-duration: 300ms;\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 color: rgb(var(--tone-neutral-03));\n}\n\n:host([value]:not([value=\"\"])) .input {\n color: rgb(var(--tone-neutral-03));\n}\n\n.input--mds-input-select-selected {\n color: rgb(var(--tone-neutral-02));\n}\n\n.input:disabled {\n background-color: rgb(var(--tone-neutral-09));\n opacity: 1;\n}\n\n:host([disabled]:not([disabled=\"false\"])) {\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) .input {\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) .icon {\n fill: rgb(var(--tone-neutral-06));\n -webkit-transform: translate(0.625rem, 0.5rem);\n transform: translate(0.625rem, 0.5rem);\n}\n\n.icon-container{\n\n right: 1rem;\n\n height: 3rem;\n\n -ms-flex-align: center;\n\n align-items: center;\n color: inherit;\n display: -ms-flexbox;\n display: flex;\n pointer-events: none;\n position: absolute;\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 border-radius: 9999px;\n\n -webkit-transition-duration: 200ms;\n\n transition-duration: 200ms;\n\n background-color: var(--mds-input-select-arrow-icon-background-color, rgb(var(--variant-primary-09)));\n fill: var(--mds-input-select-arrow-icon-color, rgb(var(--variant-primary-04)));\n -webkit-transition-property: background-color, fill;\n transition-property: background-color, fill;\n}\n\n.option-container {\n display: none;\n}\n\n@container (max-width: 210px) {\n :host .tip__content,\n :host(:focus-within) .tip__content {\n grid-template-columns: 0fr;\n opacity: 0;\n }\n\n :host .tip {\n padding-left: 0;\n padding-right: 0;\n }\n\n :host {\n\n --mds-input-select-background: rgb(var(--variant-primary-07));\n }\n}\n\n@tailwind utilities;\n\n:host {\n\n --mds-input-select-icon-color: var(--variant-primary-03);\n --mds-input-select-variant-color: 0 0 0;\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--variant-primary-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--variant-primary-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--variant-primary-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--variant-primary-04));\n}\n\n:host( :hover ),\n:host( :focus-within ) {\n\n --mds-input-select-variant-color: var(--variant-primary-04);\n}\n\n:host( [variant=\"info\"] ) {\n\n --mds-input-select-icon-color: var(--status-info-05);\n --mds-input-select-tip-background: var(--status-info-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-info-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-info-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-info-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-info-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"info\"]:hover ),\n:host( [variant=\"info\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-info-04);\n --mds-input-select-variant-color: var(--status-info-05);\n}\n\n:host( [variant=\"success\"] ) {\n\n --mds-input-select-icon-color: var(--status-success-05);\n --mds-input-select-tip-background: var(--status-success-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-success-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-success-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-success-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-success-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"success\"]:hover ),\n:host( [variant=\"success\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-success-04);\n --mds-input-select-variant-color: var(--status-success-05);\n}\n\n:host( [variant=\"warning\"] ) {\n\n --mds-input-select-icon-color: var(--status-warning-05);\n --mds-input-select-tip-background: var(--status-warning-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-warning-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-warning-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-warning-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-warning-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"warning\"]:hover ),\n:host( [variant=\"warning\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-warning-04);\n --mds-input-select-variant-color: var(--status-warning-05);\n}\n\n:host( [variant=\"error\"] ) {\n\n --mds-input-select-icon-color: var(--status-error-05);\n --mds-input-select-tip-background: var(--status-error-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-error-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-error-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-error-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-error-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host( [variant=\"error\"]:hover ),\n:host( [variant=\"error\"]:focus-within ) {\n\n --mds-input-select-icon-color: var(--status-error-04);\n --mds-input-select-variant-color: var(--status-error-05);\n}\n\n@container style(--magma-pref-animation: reduce) {\n :host,\n .input,\n .input:hover,\n .input:focus,\n .icon {\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 .input,\n .input:hover,\n .input:focus,\n .icon {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n }\n}\n\n@tailwind utilities;\n\n@container style(--magma-pref-theme: dark) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.3);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--variant-primary-05));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--tone-neutral-10));\n }\n\n .input {\n color: rgb(var(--tone-neutral-03));\n }\n}\n\n@container style(--magma-pref-theme: system) {\n\n @media (prefers-color-scheme: dark) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.3);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--variant-primary-05));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--tone-neutral-10));\n }\n\n .input {\n color: rgb(var(--tone-neutral-03));\n }\n }\n}\n\n@container style(--magma-pref-contrast: more) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.6);\n }\n\n .input {\n color: rgb(var(--tone-neutral-01));\n }\n}\n\n@container style(--magma-pref-contrast: system) {\n\n @media (prefers-contrast: more) {\n :host {\n\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.6);\n }\n\n .input {\n color: rgb(var(--tone-neutral-01));\n }\n }\n}\n\n\n";
|
|
11
|
+
const mdsInputSelectCss = "@tailwind components;\n\n\n:host{\n\n min-height: 1.5rem;\n\n font-family: Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n font-size: 1rem;\n\n line-height: 1.5rem;\n\n -webkit-font-smoothing: antialiased;\n\n -moz-osx-font-smoothing: grayscale;\n\n --mds-input-select-variant-color: var(--tone-neutral-01);\n --mds-input-select-ring: 0 0 0 1px rgb(var(--mds-input-select-variant-color) / 0.1);\n --mds-input-select-shadow: 0 1px 3px 0 rgb(var(--mds-input-select-variant-color) / 0.1), 0 1px 2px 0 rgb(var(--mds-input-select-variant-color) / 0.06);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: transparent;\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color) / 0.5);\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color) / 0.5);\n --mds-input-select-arrow-icon-hover-color: rgb(var(--mds-input-select-variant-color));\n\n color: rgb(var(--tone-neutral-02));\n display: -ms-flexbox;\n display: flex;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n:host([required]:not([required=\"false\"]):focus-within) .icon {\n -webkit-transform: translate(0.375rem, 0.375rem);\n transform: translate(0.375rem, 0.375rem);\n}\n\n:host(:hover),\n:host(:focus-within) {\n --mds-input-select-variant-color: var(--variant-primary-03);\n --mds-input-select-ring: 0 0 0 3px rgb(var(--mds-input-select-variant-color) / 1);\n --mds-input-select-shadow: 0 4px 6px -1px rgb(var(--mds-input-select-variant-color) / 0.1), 0 2px 4px -1px rgb(var(--mds-input-select-variant-color) / 0.06);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-hover-background-color);\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-hover-color);\n}\n\n.input{\n\n font-family: Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n font-size: 1rem;\n\n line-height: 1.5rem;\n\n -webkit-font-smoothing: antialiased;\n\n -moz-osx-font-smoothing: grayscale;\n\n margin: 0rem;\n\n min-height: 3rem;\n\n width: 100%;\n\n border-radius: 0.5rem;\n\n padding-top: 0.75rem;\n\n padding-bottom: 0.75rem;\n\n padding-left: 1rem;\n\n padding-right: 3rem;\n\n -webkit-transition-duration: 300ms;\n\n transition-duration: 300ms;\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 -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n background-color: rgb(var(--tone-neutral));\n border: 0;\n -webkit-box-shadow: var(--mds-input-select-ring), var(--mds-input-select-shadow);\n box-shadow: var(--mds-input-select-ring), var(--mds-input-select-shadow);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: rgb(var(--tone-neutral-05));\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-transition-property: background-color, border-color, color, fill, -webkit-box-shadow;\n transition-property: background-color, border-color, color, fill, -webkit-box-shadow;\n transition-property: background-color, border-color, box-shadow, color, fill;\n transition-property: background-color, border-color, box-shadow, color, fill, -webkit-box-shadow;\n}\n\n.input:hover,\n.input:focus{\n\n outline: 2px solid transparent;\n\n outline-offset: 2px;\n\n -webkit-transition-duration: 300ms;\n\n transition-duration: 300ms;\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 color: rgb(var(--tone-neutral-03));\n}\n\n:host([value]:not([value=\"\"])) .input {\n color: rgb(var(--tone-neutral-03));\n}\n\n.input--mds-input-select-selected {\n color: rgb(var(--tone-neutral-02));\n}\n\n.input:disabled {\n background-color: rgb(var(--tone-neutral-09));\n opacity: 1;\n}\n\n:host([disabled]:not([disabled=\"false\"])) {\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) .input {\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) .icon {\n fill: rgb(var(--tone-neutral-06));\n -webkit-transform: translate(0.625rem, 0.5rem);\n transform: translate(0.625rem, 0.5rem);\n}\n\n.icon-container{\n\n right: 1rem;\n\n height: 3rem;\n\n -ms-flex-align: center;\n\n align-items: center;\n color: inherit;\n display: -ms-flexbox;\n display: flex;\n pointer-events: none;\n position: absolute;\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 border-radius: 9999px;\n\n -webkit-transition-duration: 200ms;\n\n transition-duration: 200ms;\n\n background-color: var(--mds-input-select-arrow-icon-background-color, rgb(var(--variant-primary-09)));\n fill: var(--mds-input-select-arrow-icon-color, rgb(var(--variant-primary-04)));\n -webkit-transition-property: background-color, fill;\n transition-property: background-color, fill;\n}\n\n.option-container {\n display: none;\n}\n\n@container (max-width: 210px) {\n :host .tip__content,\n :host(:focus-within) .tip__content {\n grid-template-columns: 0fr;\n opacity: 0;\n }\n\n :host .tip {\n padding-left: 0;\n padding-right: 0;\n }\n\n :host {\n --mds-input-select-background: rgb(var(--variant-primary-07));\n }\n}\n\n:host {\n --mds-input-select-icon-color: var(--variant-primary-03);\n --mds-input-select-variant-color: 0 0 0;\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--variant-primary-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--variant-primary-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--variant-primary-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--variant-primary-04));\n}\n\n:host(:hover),\n:host(:focus-within) {\n --mds-input-select-variant-color: var(--variant-primary-04);\n}\n\n:host([variant=\"info\"]) {\n --mds-input-select-icon-color: var(--status-info-05);\n --mds-input-select-tip-background: var(--status-info-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-info-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-info-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-info-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-info-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host([variant=\"info\"]:hover),\n:host([variant=\"info\"]:focus-within) {\n --mds-input-select-icon-color: var(--status-info-04);\n --mds-input-select-variant-color: var(--status-info-05);\n}\n\n:host([variant=\"success\"]) {\n --mds-input-select-icon-color: var(--status-success-05);\n --mds-input-select-tip-background: var(--status-success-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-success-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-success-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-success-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-success-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host([variant=\"success\"]:hover),\n:host([variant=\"success\"]:focus-within) {\n --mds-input-select-icon-color: var(--status-success-04);\n --mds-input-select-variant-color: var(--status-success-05);\n}\n\n:host([variant=\"warning\"]) {\n --mds-input-select-icon-color: var(--status-warning-05);\n --mds-input-select-tip-background: var(--status-warning-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-warning-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-warning-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-warning-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-warning-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host([variant=\"warning\"]:hover),\n:host([variant=\"warning\"]:focus-within) {\n --mds-input-select-icon-color: var(--status-warning-04);\n --mds-input-select-variant-color: var(--status-warning-05);\n}\n\n:host([variant=\"error\"]) {\n --mds-input-select-icon-color: var(--status-error-05);\n --mds-input-select-tip-background: var(--status-error-05);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--status-error-09));\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--status-error-08));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--status-error-06));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--status-error-04));\n --mds-input-select-variant-color: 0 0 0;\n}\n\n:host([variant=\"error\"]:hover),\n:host([variant=\"error\"]:focus-within) {\n --mds-input-select-icon-color: var(--status-error-04);\n --mds-input-select-variant-color: var(--status-error-05);\n}\n\n:host-context(.pref-animation-reduce),\n:host-context(.pref-animation-reduce) .input,\n:host-context(.pref-animation-reduce) .input:hover,\n:host-context(.pref-animation-reduce) .input:focus,\n:host-context(.pref-animation-reduce) .icon {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n}\n\n@media (prefers-reduced-motion) {\n :host-context(.pref-animation-system),\n :host-context(.pref-animation-system) .input,\n :host-context(.pref-animation-system) .input:hover,\n :host-context(.pref-animation-system) .input:focus,\n :host-context(.pref-animation-system) .icon {\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n\n:host-context(.pref-theme-dark) {\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.3);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--variant-primary-05));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--tone-neutral-10));\n}\n\n:host-context(.pref-theme-dark) .input {\n color: rgb(var(--tone-neutral-03));\n}\n\n@media (prefers-color-scheme: dark) {\n :host-context(.pref-theme-system) {\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.3);\n --mds-input-select-arrow-icon-background-color: var(--mds-input-select-arrow-icon-blur-background-color);\n --mds-input-select-arrow-icon-blur-background-color: rgb(var(--variant-primary-05));\n --mds-input-select-arrow-icon-blur-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-color: var(--mds-input-select-arrow-icon-blur-color);\n --mds-input-select-arrow-icon-hover-background-color: rgb(var(--mds-input-select-variant-color));\n --mds-input-select-arrow-icon-hover-color: rgb(var(--tone-neutral-10));\n }\n\n :host-context(.pref-theme-system) .input {\n color: rgb(var(--tone-neutral-03));\n }\n}\n\n:host-context(.pref-contrast-more) {\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.6);\n}\n\n:host-context(.pref-contrast-more) .input {\n color: rgb(var(--tone-neutral-01));\n}\n\n@media (prefers-contrast: more) {\n :host-context(.pref-contrast-system) {\n --mds-input-select-ring: 0 0 0 2px rgb(var(--tone-neutral-01) / 0.6);\n }\n\n :host-context(.pref-contrast-system) .input {\n color: rgb(var(--tone-neutral-01));\n }\n}\n\n:host(:not(:is([hydrated], .hydrated))) {\n -webkit-animation-duration: 0s;\n animation-duration: 0s;\n border-color: transparent;\n -webkit-box-shadow: 0 0 0 transparent;\n box-shadow: 0 0 0 transparent;\n opacity: 0;\n outline-color: transparent;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n visibility: hidden;\n}\n\n/* TODO refact(stencil): Uses only used selector from parent shadowDOM component */\n\nmds-accordion:not(:is([hydrated], .hydrated)),\nmds-accordion-item:not(:is([hydrated], .hydrated)),\nmds-accordion-timer:not(:is([hydrated], .hydrated)),\nmds-accordion-timer-item:not(:is([hydrated], .hydrated)),\nmds-author:not(:is([hydrated], .hydrated)),\nmds-avatar:not(:is([hydrated], .hydrated)),\nmds-badge:not(:is([hydrated], .hydrated)),\nmds-banner:not(:is([hydrated], .hydrated)),\nmds-benchmark-bar:not(:is([hydrated], .hydrated)),\nmds-bibliography:not(:is([hydrated], .hydrated)),\nmds-breadcrumb:not(:is([hydrated], .hydrated)),\nmds-breadcrumb-item:not(:is([hydrated], .hydrated)),\nmds-button:not(:is([hydrated], .hydrated)),\nmds-card:not(:is([hydrated], .hydrated)),\nmds-card-content:not(:is([hydrated], .hydrated)),\nmds-card-footer:not(:is([hydrated], .hydrated)),\nmds-card-header:not(:is([hydrated], .hydrated)),\nmds-card-media:not(:is([hydrated], .hydrated)),\nmds-chip:not(:is([hydrated], .hydrated)),\nmds-details:not(:is([hydrated], .hydrated)),\nmds-dropdown:not(:is([hydrated], .hydrated)),\nmds-entity:not(:is([hydrated], .hydrated)),\nmds-file:not(:is([hydrated], .hydrated)),\nmds-file-preview:not(:is([hydrated], .hydrated)),\nmds-filter:not(:is([hydrated], .hydrated)),\nmds-filter-item:not(:is([hydrated], .hydrated)),\nmds-header:not(:is([hydrated], .hydrated)),\nmds-header-bar:not(:is([hydrated], .hydrated)),\nmds-help:not(:is([hydrated], .hydrated)),\nmds-horizontal-scroll:not(:is([hydrated], .hydrated)),\nmds-hr:not(:is([hydrated], .hydrated)),\nmds-icon:not(:is([hydrated], .hydrated)),\nmds-img:not(:is([hydrated], .hydrated)),\nmds-input:not(:is([hydrated], .hydrated)),\nmds-input-field:not(:is([hydrated], .hydrated)),\nmds-input-range:not(:is([hydrated], .hydrated)),\nmds-input-select:not(:is([hydrated], .hydrated)),\nmds-input-switch:not(:is([hydrated], .hydrated)),\nmds-input-tip:not(:is([hydrated], .hydrated)),\nmds-input-tip-item:not(:is([hydrated], .hydrated)),\nmds-input-upload:not(:is([hydrated], .hydrated)),\nmds-keyboard:not(:is([hydrated], .hydrated)),\nmds-keyboard-key:not(:is([hydrated], .hydrated)),\nmds-kpi:not(:is([hydrated], .hydrated)),\nmds-kpi-item:not(:is([hydrated], .hydrated)),\nmds-label:not(:is([hydrated], .hydrated)),\nmds-list:not(:is([hydrated], .hydrated)),\nmds-list-item:not(:is([hydrated], .hydrated)),\nmds-modal:not(:is([hydrated], .hydrated)),\nmds-note:not(:is([hydrated], .hydrated)),\nmds-notification:not(:is([hydrated], .hydrated)),\nmds-paginator:not(:is([hydrated], .hydrated)),\nmds-paginator-item:not(:is([hydrated], .hydrated)),\nmds-pref:not(:is([hydrated], .hydrated)),\nmds-pref-animation:not(:is([hydrated], .hydrated)),\nmds-pref-consumption:not(:is([hydrated], .hydrated)),\nmds-pref-contrast:not(:is([hydrated], .hydrated)),\nmds-pref-language:not(:is([hydrated], .hydrated)),\nmds-pref-language-item:not(:is([hydrated], .hydrated)),\nmds-pref-theme:not(:is([hydrated], .hydrated)),\nmds-price-table:not(:is([hydrated], .hydrated)),\nmds-price-table-features:not(:is([hydrated], .hydrated)),\nmds-price-table-features-cell:not(:is([hydrated], .hydrated)),\nmds-price-table-features-row:not(:is([hydrated], .hydrated)),\nmds-price-table-header:not(:is([hydrated], .hydrated)),\nmds-price-table-list:not(:is([hydrated], .hydrated)),\nmds-price-table-list-item:not(:is([hydrated], .hydrated)),\nmds-progress:not(:is([hydrated], .hydrated)),\nmds-push-notification:not(:is([hydrated], .hydrated)),\nmds-push-notifications:not(:is([hydrated], .hydrated)),\nmds-quote:not(:is([hydrated], .hydrated)),\nmds-separator:not(:is([hydrated], .hydrated)),\nmds-spinner:not(:is([hydrated], .hydrated)),\nmds-stepper-bar:not(:is([hydrated], .hydrated)),\nmds-stepper-bar-item:not(:is([hydrated], .hydrated)),\nmds-tab:not(:is([hydrated], .hydrated)),\nmds-tab-bar:not(:is([hydrated], .hydrated)),\nmds-tab-bar-item:not(:is([hydrated], .hydrated)),\nmds-tab-item:not(:is([hydrated], .hydrated)),\nmds-table:not(:is([hydrated], .hydrated)),\nmds-table-body:not(:is([hydrated], .hydrated)),\nmds-table-cell:not(:is([hydrated], .hydrated)),\nmds-table-footer:not(:is([hydrated], .hydrated)),\nmds-table-header:not(:is([hydrated], .hydrated)),\nmds-table-header-cell:not(:is([hydrated], .hydrated)),\nmds-table-row:not(:is([hydrated], .hydrated)),\nmds-text:not(:is([hydrated], .hydrated)),\nmds-toast:not(:is([hydrated], .hydrated)),\nmds-tooltip:not(:is([hydrated], .hydrated)),\nmds-tree:not(:is([hydrated], .hydrated)),\nmds-tree-item:not(:is([hydrated], .hydrated)),\nmds-url-view:not(:is([hydrated], .hydrated)),\nmds-usage:not(:is([hydrated], .hydrated)),\nmds-video-wall:not(:is([hydrated], .hydrated)),\nmds-zero:not(:is([hydrated], .hydrated))\n{\n -webkit-animation-duration: 0s;\n animation-duration: 0s;\n border-color: transparent;\n -webkit-box-shadow: 0 0 0 transparent;\n box-shadow: 0 0 0 transparent;\n opacity: 0;\n outline-color: transparent;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n visibility: hidden;\n}\n\n";
|
|
12
12
|
const MdsInputSelectStyle0 = mdsInputSelectCss;
|
|
13
13
|
|
|
14
14
|
const MdsInputSelect = class {
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-648a2952.js');
|
|
6
6
|
const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
7
7
|
|
|
8
8
|
/*
|
|
9
|
-
Stencil Client Patch Browser v4.
|
|
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-select.cjs.js', document.baseURI).href));
|
|
@@ -143,12 +143,12 @@ export class FloatingController {
|
|
|
143
143
|
}
|
|
144
144
|
export class Backdrop {
|
|
145
145
|
constructor(backdropId) {
|
|
146
|
-
this.defaultBackdropId = '
|
|
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
|
-
|
|
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, };
|