@esri/calcite-components 5.1.1-next.4 → 5.1.1-next.6
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/cdn/{6URRYJJC.js → 25SUELBY.js} +1 -1
- package/dist/cdn/{UWYNYTMN.js → 27MK2V4G.js} +1 -1
- package/dist/cdn/2MRL4RKW.js +2 -0
- package/dist/cdn/{FAXETKEB.js → 2PEF7GQE.js} +1 -1
- package/dist/cdn/{3E5HT7WV.js → 2VL3OCAZ.js} +1 -1
- package/dist/cdn/{WG6S2XJI.js → 32QFEQZS.js} +1 -1
- package/dist/cdn/{GZLUCGFN.js → 34WAUXUE.js} +1 -1
- package/dist/cdn/{DT2W5XTJ.js → 3BUDIEL3.js} +1 -1
- package/dist/cdn/{JV3HNXO4.js → 3H6RVKMN.js} +1 -1
- package/dist/cdn/{WKGWLLC5.js → 3NNR2AZU.js} +1 -1
- package/dist/cdn/{SCWOG2PF.js → 3VNZC64N.js} +1 -1
- package/dist/cdn/{ICR6VGXW.js → 3XFDQDVC.js} +1 -1
- package/dist/cdn/{NUAG24SD.js → 3XMNPYNB.js} +1 -1
- package/dist/cdn/{ACTDFQ7A.js → 45C4ENM6.js} +1 -1
- package/dist/cdn/{4ZPAVVYJ.js → 4NYY44U4.js} +1 -1
- package/dist/cdn/{EZMKINVL.js → 4Q7PL2KY.js} +1 -1
- package/dist/cdn/{KCOVOOEW.js → 5CBFI2KM.js} +1 -1
- package/dist/cdn/{SAP7K723.js → 5JIKOOZ6.js} +1 -1
- package/dist/cdn/{TB6QF6QC.js → 5L5RJCKK.js} +1 -1
- package/dist/cdn/{ZNN7Y3Q2.js → 5N32D533.js} +1 -1
- package/dist/cdn/{CQYUSMYI.js → 5QXKHC54.js} +1 -1
- package/dist/cdn/{7TRR6NS7.js → 5RJTKL4J.js} +1 -1
- package/dist/cdn/{TNBTRBEH.js → 5SYOHCLD.js} +1 -1
- package/dist/cdn/{TXPXLQUH.js → 5WFJNGXP.js} +1 -1
- package/dist/cdn/5X2CR2NN.js +2 -0
- package/dist/cdn/{M4N5KK5H.js → 6MUZLYOR.js} +1 -1
- package/dist/cdn/{2ESXTULI.js → 6N246L5H.js} +1 -1
- package/dist/cdn/{H3KW6SFE.js → 6UM5PQBD.js} +1 -1
- package/dist/cdn/6W4CWLXH.js +2 -0
- package/dist/cdn/{BAK72T45.js → 72EJ64LI.js} +1 -1
- package/dist/cdn/{6TAMH7YM.js → 72XY7IDN.js} +1 -1
- package/dist/cdn/{QMKT34NA.js → 73EQ5TEB.js} +1 -1
- package/dist/cdn/74CLXGQH.js +2 -0
- package/dist/cdn/{YZYPUE3P.js → 74UIHSVE.js} +1 -1
- package/dist/cdn/{AVEA3JYC.js → 773VWCGD.js} +1 -1
- package/dist/cdn/{54FANYIK.js → 7AOQ4FPG.js} +1 -1
- package/dist/cdn/{YVAWGS4S.js → 7M4ANW77.js} +1 -1
- package/dist/cdn/{B4XZL24D.js → 7YNDWV76.js} +1 -1
- package/dist/cdn/{2IBAD62X.js → A332WZ6V.js} +1 -1
- package/dist/cdn/ATWAUE4R.js +2 -0
- package/dist/cdn/{WC7KZ5RN.js → BTSHRUHD.js} +1 -1
- package/dist/cdn/BZJYGCDK.js +2 -0
- package/dist/cdn/{ZC4LZHSU.js → C2BK5CUC.js} +1 -1
- package/dist/cdn/{H36BMH7D.js → C4DX6ZIA.js} +1 -1
- package/dist/cdn/{3WYNE4QF.js → C4PPQBLW.js} +1 -1
- package/dist/cdn/{UEXXVM6G.js → CBUNIAKL.js} +1 -1
- package/dist/cdn/{FJHS7DDZ.js → CDGEWGDD.js} +1 -1
- package/dist/cdn/{AFDMIMYJ.js → CQYI4Z2Z.js} +1 -1
- package/dist/cdn/{SUKQDR3P.js → CUSR767T.js} +1 -1
- package/dist/cdn/{JSEQVKIC.js → CUTXFNYN.js} +1 -1
- package/dist/cdn/{GUV5FMJI.js → CZPSEMDH.js} +1 -1
- package/dist/cdn/{GLXEUJPR.js → D2HPEC7F.js} +1 -1
- package/dist/cdn/{KY6BBDSF.js → DAXLXKIY.js} +1 -1
- package/dist/cdn/{IFEFYG7Y.js → DEQNFOAS.js} +1 -1
- package/dist/cdn/{DPV2S2W4.js → DJMAPSDY.js} +1 -1
- package/dist/cdn/{UZZ34E4T.js → DZSC3TJX.js} +1 -1
- package/dist/cdn/{VNENCDEM.js → E4MGJ47Y.js} +1 -1
- package/dist/cdn/{6334DHXU.js → EHS7L663.js} +1 -1
- package/dist/cdn/{JJ2XXUYL.js → EJUEMY56.js} +1 -1
- package/dist/cdn/{ACJ3OWNF.js → ERBKUSSX.js} +1 -1
- package/dist/cdn/{7Y3634W2.js → F3E7QPPC.js} +1 -1
- package/dist/cdn/{GVWCR74G.js → F5MS5PBN.js} +1 -1
- package/dist/cdn/{B6TEVZWE.js → F7RQCNJ4.js} +1 -1
- package/dist/cdn/{KN2YMMJU.js → FE3TGEP7.js} +1 -1
- package/dist/cdn/{4KMJ4MXD.js → FKPCRFUW.js} +1 -1
- package/dist/cdn/{WRN5WBB6.js → FKX46Z6K.js} +1 -1
- package/dist/cdn/{7UDR7DFA.js → FZTLSQJL.js} +1 -1
- package/dist/cdn/{7HNSFXSY.js → G62VTWNT.js} +1 -1
- package/dist/cdn/{LNQQJUF3.js → GEKASHNF.js} +1 -1
- package/dist/cdn/{IONE557M.js → GYYFBZS2.js} +1 -1
- package/dist/cdn/{N32WSYSG.js → HQHM5NWX.js} +1 -1
- package/dist/cdn/{XKBIB37X.js → I2DNOFC6.js} +1 -1
- package/dist/cdn/{CKKHWLPH.js → I5HZNPIE.js} +1 -1
- package/dist/cdn/{ACPUOOSS.js → IHGSINVA.js} +1 -1
- package/dist/cdn/{LZFQODN7.js → IRDSJTUK.js} +1 -1
- package/dist/cdn/{62HI5T32.js → IXQQO6HC.js} +1 -1
- package/dist/cdn/{6QHKZ6N2.js → JDAOWOTY.js} +1 -1
- package/dist/cdn/{WVRMCTHV.js → JMKB4CRU.js} +1 -1
- package/dist/cdn/JQIHTMWX.js +2 -0
- package/dist/cdn/{B6JI7EFV.js → KB2WIMAL.js} +1 -1
- package/dist/cdn/{EPDFNXOA.js → KCENWQ6Z.js} +1 -1
- package/dist/cdn/KJNTF66K.js +2 -0
- package/dist/cdn/{M7L5IJNX.js → KQGUXAM6.js} +1 -1
- package/dist/cdn/M2TFDONT.js +2 -0
- package/dist/cdn/{H7USABMA.js → MD2UCHOX.js} +1 -1
- package/dist/cdn/{HCDCLO25.js → MRRVOAJL.js} +1 -1
- package/dist/cdn/{ZQZPGG2I.js → MWMTHMMN.js} +1 -1
- package/dist/cdn/{WF3KH3KX.js → N3YQ6P66.js} +1 -1
- package/dist/cdn/{D53MEGF3.js → N6V2UT62.js} +1 -1
- package/dist/cdn/{KZII5LW7.js → NAJTDRNC.js} +1 -1
- package/dist/cdn/{ISATMK3J.js → ND7KY7GE.js} +1 -1
- package/dist/cdn/{HRXTLTVO.js → NDVX6CLP.js} +1 -1
- package/dist/cdn/{RCL7WVWK.js → O6PZKJ7R.js} +1 -1
- package/dist/cdn/OB3Z74X6.js +2 -0
- package/dist/cdn/{S6Y5KXTC.js → OGNY6ZIB.js} +1 -1
- package/dist/cdn/{WGTXCQ3O.js → OJO5NPP3.js} +1 -1
- package/dist/cdn/{EILZPSBO.js → OWJYARYV.js} +1 -1
- package/dist/cdn/{NKHYGAEA.js → OXKGEAUB.js} +1 -1
- package/dist/cdn/{YVL6U4S3.js → PJSI5N6F.js} +1 -1
- package/dist/cdn/{H5AJS6TE.js → PW2XM5HR.js} +1 -1
- package/dist/cdn/{LNTMBB4T.js → QABVNEOF.js} +1 -1
- package/dist/cdn/{PJFK6R25.js → QN4XN67Z.js} +1 -1
- package/dist/cdn/QXPWDVC2.js +2 -0
- package/dist/cdn/{ADNBYFDU.js → R4C3WA5S.js} +1 -1
- package/dist/cdn/{J7AXA5LK.js → RDOHAXOA.js} +1 -1
- package/dist/cdn/{SJCVYBDF.js → REW7C42W.js} +1 -1
- package/dist/cdn/{GS6RPTCF.js → RIEKXKB2.js} +1 -1
- package/dist/cdn/{ROZCUEUS.js → ROY5CHB3.js} +1 -1
- package/dist/cdn/{MGC2TVCO.js → RUNWK23I.js} +1 -1
- package/dist/cdn/{SGRN6ZVC.js → RVXZUGJA.js} +1 -1
- package/dist/cdn/{ID36ZNWO.js → RZR44QGM.js} +1 -1
- package/dist/cdn/{X5NQ6JCY.js → SBQVCX2M.js} +1 -1
- package/dist/cdn/{54YEESGE.js → SGZ3IG5W.js} +1 -1
- package/dist/cdn/{4KKONFB4.js → SH7DQCS7.js} +1 -1
- package/dist/cdn/SS4J7QES.js +2 -0
- package/dist/cdn/{JPLDIX5B.js → TFTS26NS.js} +1 -1
- package/dist/cdn/{2URTQOMI.js → TMWGSGAP.js} +1 -1
- package/dist/cdn/{VRXZT4W2.js → TPML2DIA.js} +1 -1
- package/dist/cdn/{2DULJTZM.js → TQJK5WF5.js} +1 -1
- package/dist/cdn/{W3RFQNTS.js → TRN7FUFM.js} +1 -1
- package/dist/cdn/U6NA5WAH.js +2 -0
- package/dist/cdn/{D2VHXI3B.js → UE4QYUAU.js} +1 -1
- package/dist/cdn/{OVLA6XSV.js → UIFHJ5IO.js} +1 -1
- package/dist/cdn/UOSSQPFY.js +2 -0
- package/dist/cdn/{XPPVR4JK.js → VCDOY22T.js} +1 -1
- package/dist/cdn/{GMX26I6Z.js → VVJGLEIA.js} +1 -1
- package/dist/cdn/{HOII54SV.js → VWQPK5JA.js} +1 -1
- package/dist/cdn/{OKQZCFIY.js → VYXKMJSU.js} +1 -1
- package/dist/cdn/{MVD7UGWN.js → VYZ6WAWT.js} +1 -1
- package/dist/cdn/W3N2DKPC.js +2 -0
- package/dist/cdn/{IHAUCNQX.js → WAXTXFBL.js} +1 -1
- package/dist/cdn/{3ZONR255.js → WRQD4O6A.js} +1 -1
- package/dist/cdn/{FO5JD4B6.js → WUBPEGFV.js} +1 -1
- package/dist/cdn/{PHXN4HLP.js → WVJUNLFN.js} +1 -1
- package/dist/cdn/{GBZSLSHZ.js → WYGNUS2B.js} +1 -1
- package/dist/cdn/{KDQ3UZH7.js → XCNAJ4XA.js} +1 -1
- package/dist/cdn/{KVFTDPP2.js → XTGDCTQE.js} +1 -1
- package/dist/cdn/{FBWOZGYD.js → Y44WJ7Z2.js} +1 -1
- package/dist/cdn/{UZDC6JVX.js → Y6WCKCHJ.js} +1 -1
- package/dist/cdn/{BIBFBRJ4.js → YBFI2FQL.js} +1 -1
- package/dist/cdn/{ORWPOYLO.js → YFUBBPNI.js} +1 -1
- package/dist/cdn/{LJBIF6OV.js → YI3ZMHS5.js} +1 -1
- package/dist/cdn/{GMC5U6MT.js → YNG6JO67.js} +1 -1
- package/dist/cdn/{5DZK4XYB.js → Z2GSU7Q2.js} +1 -1
- package/dist/cdn/{X433YAPN.js → Z7NNDJEN.js} +1 -1
- package/dist/cdn/{TWFY346Z.js → ZBN5LXKS.js} +1 -1
- package/dist/cdn/{YQWYH3MV.js → ZEEFJOPQ.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/date.js +3 -3
- package/dist/chunks/dom.js +15 -3
- package/dist/chunks/floating-ui.js +1 -1
- package/dist/chunks/label.js +6 -6
- package/dist/chunks/locale.js +3 -6
- package/dist/chunks/runtime.js +4 -4
- package/dist/chunks/useForm.js +10 -4
- package/dist/chunks/useTime.js +40 -45
- package/dist/components/calcite-card/customElement.d.ts +1 -1
- package/dist/components/calcite-carousel/customElement.js +5 -6
- package/dist/components/calcite-checkbox/customElement.d.ts +4 -4
- package/dist/components/calcite-chip-group/customElement.js +1 -1
- package/dist/components/calcite-color-picker/customElement.js +1 -1
- package/dist/components/calcite-color-picker-hex-input/customElement.js +1 -1
- package/dist/components/calcite-combobox/customElement.js +11 -6
- package/dist/components/calcite-flow/customElement.d.ts +2 -2
- package/dist/components/calcite-flow/customElement.js +1 -1
- package/dist/components/calcite-flow-item/customElement.js +1 -1
- package/dist/components/calcite-input/customElement.js +4 -6
- package/dist/components/calcite-input-text/customElement.js +1 -1
- package/dist/components/calcite-list/customElement.d.ts +4 -4
- package/dist/components/calcite-list/customElement.js +4 -5
- package/dist/components/calcite-list-item/customElement.d.ts +6 -6
- package/dist/components/calcite-list-item/customElement.js +17 -16
- package/dist/components/calcite-list-item-group/customElement.d.ts +1 -1
- package/dist/components/calcite-loader/customElement.js +3 -3
- package/dist/components/calcite-radio-button/customElement.d.ts +5 -5
- package/dist/components/calcite-radio-button/customElement.js +1 -1
- package/dist/components/calcite-radio-button-group/customElement.d.ts +4 -4
- package/dist/components/calcite-radio-button-group/customElement.js +3 -3
- package/dist/components/calcite-rating/customElement.d.ts +7 -7
- package/dist/components/calcite-rating/customElement.js +13 -9
- package/dist/components/calcite-tab/customElement.d.ts +1 -1
- package/dist/components/calcite-tab/customElement.js +2 -1
- package/dist/components/calcite-tab-nav/customElement.d.ts +3 -3
- package/dist/components/calcite-tab-nav/customElement.js +12 -7
- package/dist/components/calcite-tab-title/customElement.d.ts +3 -3
- package/dist/components/calcite-tab-title/customElement.js +2 -0
- package/dist/components/calcite-table/customElement.js +22 -14
- package/dist/components/calcite-table-cell/customElement.d.ts +2 -2
- package/dist/components/calcite-table-cell/customElement.js +6 -0
- package/dist/components/calcite-table-header/customElement.d.ts +4 -4
- package/dist/components/calcite-table-header/customElement.js +2 -0
- package/dist/components/calcite-table-row/customElement.js +5 -3
- package/dist/components/calcite-tabs/customElement.js +3 -2
- package/dist/components/calcite-text-area/customElement.d.ts +12 -12
- package/dist/components/calcite-text-area/customElement.js +5 -3
- package/dist/components/calcite-tile/customElement.d.ts +6 -6
- package/dist/components/calcite-time-picker/customElement.d.ts +1 -1
- package/dist/components/calcite-time-picker/customElement.js +35 -15
- package/dist/components/calcite-tooltip/customElement.d.ts +2 -2
- package/dist/components/calcite-tooltip/customElement.js +1 -1
- package/dist/components/calcite-tree/customElement.js +7 -6
- package/dist/components/calcite-tree-item/customElement.d.ts +3 -3
- package/dist/components/calcite-tree-item/customElement.js +12 -6
- package/dist/controllers/useSortable.d.ts +2 -2
- package/dist/controllers/useTime.d.ts +20 -20
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/supported-browsers.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/utils/dom.d.ts +1 -1
- package/package.json +4 -4
- package/dist/cdn/2MWPMRNJ.js +0 -2
- package/dist/cdn/5ZXYOEVA.js +0 -2
- package/dist/cdn/AO2HCAIF.js +0 -2
- package/dist/cdn/AP2LDRUV.js +0 -2
- package/dist/cdn/BAKFDEYB.js +0 -2
- package/dist/cdn/BTML4MEJ.js +0 -2
- package/dist/cdn/GZU4L4YE.js +0 -2
- package/dist/cdn/IVJ5CA2B.js +0 -2
- package/dist/cdn/RW3PY4A7.js +0 -2
- package/dist/cdn/SB3DKUEP.js +0 -2
- package/dist/cdn/T7EQTOMC.js +0 -2
- package/dist/cdn/UWZCA674.js +0 -2
- package/dist/cdn/VYRAJF74.js +0 -2
- package/dist/cdn/ZWWMN3TM.js +0 -2
- package/dist/cdn/ZXAA7KJS.js +0 -2
package/dist/chunks/runtime.js
CHANGED
|
@@ -60,9 +60,9 @@ function getConfig() {
|
|
|
60
60
|
}
|
|
61
61
|
return effectiveConfig;
|
|
62
62
|
}
|
|
63
|
-
const version = "5.1.1-next.
|
|
64
|
-
const buildDate = "2026-06-
|
|
65
|
-
const revision = "
|
|
63
|
+
const version = "5.1.1-next.6";
|
|
64
|
+
const buildDate = "2026-06-08";
|
|
65
|
+
const revision = "ffb6800bd";
|
|
66
66
|
function stampVersion() {
|
|
67
67
|
const config = getConfig();
|
|
68
68
|
if (config && config.version) {
|
|
@@ -85,7 +85,7 @@ if (!isServer) {
|
|
|
85
85
|
if (process.env.NODE_ENV !== "test") {
|
|
86
86
|
queueMicrotask(stampVersion);
|
|
87
87
|
}
|
|
88
|
-
const runtime = makeRuntime({ defaultAssetPath: "https://cdn.jsdelivr.net/npm/@esri/calcite-components@5.1.1-next.
|
|
88
|
+
const runtime = makeRuntime({ defaultAssetPath: "https://cdn.jsdelivr.net/npm/@esri/calcite-components@5.1.1-next.6/dist/cdn/", hydratedAttribute: "calcite-hydrated" });
|
|
89
89
|
const { customElement, getAssetPath, setAssetPath } = runtime;
|
|
90
90
|
export {
|
|
91
91
|
CSS_UTILITY as C,
|
package/dist/chunks/useForm.js
CHANGED
|
@@ -97,8 +97,12 @@ function validate({
|
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
function validateValue(inputDelegate, valueToValidate) {
|
|
100
|
-
inputDelegate.
|
|
101
|
-
|
|
100
|
+
if (inputDelegate.type === "file") {
|
|
101
|
+
inputDelegate.value = "";
|
|
102
|
+
const isMissingValue = !valueToValidate || valueToValidate instanceof FileList && valueToValidate.length === 0;
|
|
103
|
+
return !inputDelegate.required || !isMissingValue;
|
|
104
|
+
}
|
|
105
|
+
inputDelegate.value = valueToValidate == null ? "" : String(valueToValidate);
|
|
102
106
|
return inputDelegate.validity.valid;
|
|
103
107
|
}
|
|
104
108
|
function getValidityFlags(validityState) {
|
|
@@ -304,9 +308,11 @@ const useForm = (options) => {
|
|
|
304
308
|
}
|
|
305
309
|
function getFormValue() {
|
|
306
310
|
const value = getComponentValue();
|
|
307
|
-
if (Array.isArray(value)) {
|
|
311
|
+
if (Array.isArray(value) || value instanceof FileList) {
|
|
308
312
|
const formData = new FormData();
|
|
309
|
-
|
|
313
|
+
for (const item of value) {
|
|
314
|
+
formData.append(component.name, item);
|
|
315
|
+
}
|
|
310
316
|
return formData;
|
|
311
317
|
}
|
|
312
318
|
if (isCheckable(component)) {
|
package/dist/chunks/useTime.js
CHANGED
|
@@ -128,23 +128,28 @@ function getLocalizedTimePart(part, parts, locale = "en") {
|
|
|
128
128
|
return null;
|
|
129
129
|
}
|
|
130
130
|
if (part === "hourSuffix") {
|
|
131
|
-
const
|
|
132
|
-
const
|
|
131
|
+
const hourPart = parts.find(({ type }) => type === "hour");
|
|
132
|
+
const minutePart = parts.find(({ type }) => type === "minute");
|
|
133
|
+
const hourIndex = hourPart ? parts.indexOf(hourPart) : -1;
|
|
134
|
+
const minuteIndex = minutePart ? parts.indexOf(minutePart) : -1;
|
|
133
135
|
const hourSuffix = parts[hourIndex + 1];
|
|
134
136
|
return hourSuffix?.type === "literal" && minuteIndex - hourIndex === 2 ? hourSuffix.value || null : null;
|
|
135
137
|
}
|
|
136
138
|
if (part === "minuteSuffix") {
|
|
137
|
-
const
|
|
139
|
+
const minutePart = parts.find(({ type }) => type === "minute");
|
|
140
|
+
const minuteIndex = minutePart ? parts.indexOf(minutePart) : -1;
|
|
138
141
|
const minuteSuffix = parts[minuteIndex + 1];
|
|
139
142
|
return minuteSuffix?.type === "literal" ? minuteSuffix.value || null : null;
|
|
140
143
|
}
|
|
141
144
|
if (part === "secondSuffix") {
|
|
142
145
|
let secondSuffixPart;
|
|
143
|
-
const
|
|
146
|
+
const fractionalSecondPart = parts.find(({ type }) => type === "fractionalSecond");
|
|
147
|
+
const fractionalSecondIndex = fractionalSecondPart ? parts.indexOf(fractionalSecondPart) : -1;
|
|
144
148
|
if (fractionalSecondIndex !== -1) {
|
|
145
149
|
secondSuffixPart = parts[fractionalSecondIndex + 1];
|
|
146
150
|
} else {
|
|
147
|
-
const
|
|
151
|
+
const secondPart = parts.find(({ type }) => type === "second");
|
|
152
|
+
const secondIndex = secondPart ? parts.indexOf(secondPart) : -1;
|
|
148
153
|
secondSuffixPart = parts[secondIndex + 1];
|
|
149
154
|
}
|
|
150
155
|
return secondSuffixPart?.type === "literal" && secondSuffixPart.value || null;
|
|
@@ -152,7 +157,7 @@ function getLocalizedTimePart(part, parts, locale = "en") {
|
|
|
152
157
|
if (part === "meridiem") {
|
|
153
158
|
const meridiemFromBrowser = parts.find(({ type }) => type === "dayPeriod")?.value || null;
|
|
154
159
|
if (meridiemFromBrowser) {
|
|
155
|
-
return getLocalizedMeridiem({ locale, parts });
|
|
160
|
+
return getLocalizedMeridiem({ locale, parts }) ?? null;
|
|
156
161
|
}
|
|
157
162
|
}
|
|
158
163
|
return parts.find(({ type }) => type === part)?.value || null;
|
|
@@ -192,14 +197,11 @@ function isValidTime(value) {
|
|
|
192
197
|
}
|
|
193
198
|
const hourAsNumber = parseInt(hour);
|
|
194
199
|
const minuteAsNumber = parseInt(minute);
|
|
195
|
-
const secondAsNumber = parseInt(second);
|
|
200
|
+
const secondAsNumber = parseInt(second ?? "");
|
|
196
201
|
const hourValid = isValidNumber(hour) && hourAsNumber >= 0 && hourAsNumber < 24;
|
|
197
202
|
const minuteValid = isValidNumber(minute) && minuteAsNumber >= 0 && minuteAsNumber < 60;
|
|
198
203
|
const secondValid = isValidNumber(second) && secondAsNumber >= 0 && secondAsNumber < 60;
|
|
199
|
-
|
|
200
|
-
return true;
|
|
201
|
-
}
|
|
202
|
-
return false;
|
|
204
|
+
return hourValid && minuteValid && (!second || secondValid);
|
|
203
205
|
}
|
|
204
206
|
function isValidTimePart(value, part) {
|
|
205
207
|
if (part === "meridiem") {
|
|
@@ -208,7 +210,8 @@ function isValidTimePart(value, part) {
|
|
|
208
210
|
if (!isValidNumber(value)) {
|
|
209
211
|
return false;
|
|
210
212
|
}
|
|
211
|
-
const
|
|
213
|
+
const valueAsString = value;
|
|
214
|
+
const valueAsNumber = Number(valueAsString);
|
|
212
215
|
const isZeroOrGreater = valueAsNumber >= 0;
|
|
213
216
|
const isLessThanMaxHour = valueAsNumber < 24;
|
|
214
217
|
const isLessThanMaxSecond = valueAsNumber < 60;
|
|
@@ -290,8 +293,8 @@ function localizeTimeString({
|
|
|
290
293
|
0,
|
|
291
294
|
parseInt(hour),
|
|
292
295
|
parseInt(minute),
|
|
293
|
-
includeSeconds && parseInt(second),
|
|
294
|
-
includeSeconds && fractionalSecond
|
|
296
|
+
includeSeconds && typeof second === "string" ? parseInt(second) : 0,
|
|
297
|
+
includeSeconds && fractionalSecond ? fractionalSecondPartToMilliseconds(fractionalSecond) : 0
|
|
295
298
|
)
|
|
296
299
|
);
|
|
297
300
|
const formatter = createLocaleDateTimeFormatter({
|
|
@@ -311,7 +314,7 @@ function localizeTimeString({
|
|
|
311
314
|
second: getLocalizedTimePart("second", parts),
|
|
312
315
|
decimalSeparator: getLocalizedDecimalSeparator(locale, numberingSystem),
|
|
313
316
|
fractionalSecond: getLocalizedTimePart("fractionalSecond", parts),
|
|
314
|
-
secondSuffix: locale !== "bg"
|
|
317
|
+
secondSuffix: locale !== "bg" ? getLocalizedTimePart("secondSuffix", parts) : null,
|
|
315
318
|
meridiem: getLocalizedTimePart("meridiem", parts, locale)
|
|
316
319
|
};
|
|
317
320
|
} else {
|
|
@@ -341,7 +344,7 @@ function parseTimeString(value, step) {
|
|
|
341
344
|
if (secondDecimal?.includes(".")) {
|
|
342
345
|
[second, fractionalSecond] = secondDecimal.split(".");
|
|
343
346
|
}
|
|
344
|
-
if (step) {
|
|
347
|
+
if (step && typeof fractionalSecond === "string") {
|
|
345
348
|
fractionalSecond = formatFractionalSecond(fractionalSecond, step);
|
|
346
349
|
}
|
|
347
350
|
return {
|
|
@@ -422,7 +425,7 @@ class TimeController extends GenericController {
|
|
|
422
425
|
case "Backspace":
|
|
423
426
|
case "Delete":
|
|
424
427
|
event.preventDefault();
|
|
425
|
-
this.setValuePart("hour",
|
|
428
|
+
this.setValuePart("hour", void 0);
|
|
426
429
|
break;
|
|
427
430
|
case "ArrowDown":
|
|
428
431
|
event.preventDefault();
|
|
@@ -444,7 +447,7 @@ class TimeController extends GenericController {
|
|
|
444
447
|
if (numberKeys.includes(key)) {
|
|
445
448
|
const keyAsNumber = parseInt(key);
|
|
446
449
|
let newMinute;
|
|
447
|
-
if (isValidNumber(this.minute) && this.minute.startsWith("0")) {
|
|
450
|
+
if (typeof this.minute === "string" && isValidNumber(this.minute) && this.minute.startsWith("0")) {
|
|
448
451
|
const minuteAsNumber = parseInt(this.minute);
|
|
449
452
|
newMinute = minuteAsNumber > maxTenthForMinuteAndSecond ? keyAsNumber : `${minuteAsNumber}${keyAsNumber}`;
|
|
450
453
|
} else {
|
|
@@ -456,7 +459,7 @@ class TimeController extends GenericController {
|
|
|
456
459
|
case "Backspace":
|
|
457
460
|
case "Delete":
|
|
458
461
|
event.preventDefault();
|
|
459
|
-
this.setValuePart("minute",
|
|
462
|
+
this.setValuePart("minute", void 0);
|
|
460
463
|
break;
|
|
461
464
|
case "ArrowDown":
|
|
462
465
|
event.preventDefault();
|
|
@@ -478,7 +481,7 @@ class TimeController extends GenericController {
|
|
|
478
481
|
if (numberKeys.includes(key)) {
|
|
479
482
|
const keyAsNumber = parseInt(key);
|
|
480
483
|
let newSecond;
|
|
481
|
-
if (isValidNumber(this.second) && this.second.startsWith("0")) {
|
|
484
|
+
if (typeof this.second === "string" && isValidNumber(this.second) && this.second.startsWith("0")) {
|
|
482
485
|
const secondAsNumber = parseInt(this.second);
|
|
483
486
|
newSecond = secondAsNumber > maxTenthForMinuteAndSecond ? keyAsNumber : `${secondAsNumber}${keyAsNumber}`;
|
|
484
487
|
} else {
|
|
@@ -490,7 +493,7 @@ class TimeController extends GenericController {
|
|
|
490
493
|
case "Backspace":
|
|
491
494
|
case "Delete":
|
|
492
495
|
event.preventDefault();
|
|
493
|
-
this.setValuePart("second",
|
|
496
|
+
this.setValuePart("second", void 0);
|
|
494
497
|
break;
|
|
495
498
|
case "ArrowDown":
|
|
496
499
|
event.preventDefault();
|
|
@@ -525,7 +528,7 @@ class TimeController extends GenericController {
|
|
|
525
528
|
case "Backspace":
|
|
526
529
|
case "Delete":
|
|
527
530
|
event.preventDefault();
|
|
528
|
-
this.setValuePart("fractionalSecond",
|
|
531
|
+
this.setValuePart("fractionalSecond", void 0);
|
|
529
532
|
break;
|
|
530
533
|
case "ArrowDown":
|
|
531
534
|
event.preventDefault();
|
|
@@ -583,7 +586,7 @@ class TimeController extends GenericController {
|
|
|
583
586
|
this.decrementMinuteOrSecond("second");
|
|
584
587
|
}
|
|
585
588
|
incrementHour() {
|
|
586
|
-
const newHour = isValidNumber(this.hour) ? this.hour === "23" ? 0 : parseInt(this.hour) + 1 : 1;
|
|
589
|
+
const newHour = typeof this.hour === "string" && isValidNumber(this.hour) ? this.hour === "23" ? 0 : parseInt(this.hour) + 1 : 1;
|
|
587
590
|
this.setValuePart("hour", newHour);
|
|
588
591
|
}
|
|
589
592
|
incrementMinute() {
|
|
@@ -694,17 +697,7 @@ class TimeController extends GenericController {
|
|
|
694
697
|
const newValue = toISOTimeString(value, step);
|
|
695
698
|
if (isValidTime(value)) {
|
|
696
699
|
const { hour, minute, second, fractionalSecond } = parseTimeString(newValue, step);
|
|
697
|
-
const {
|
|
698
|
-
hour: localizedHour,
|
|
699
|
-
hourSuffix: localizedHourSuffix,
|
|
700
|
-
minute: localizedMinute,
|
|
701
|
-
minuteSuffix: localizedMinuteSuffix,
|
|
702
|
-
second: localizedSecond,
|
|
703
|
-
secondSuffix: localizedSecondSuffix,
|
|
704
|
-
decimalSeparator: localizedDecimalSeparator,
|
|
705
|
-
fractionalSecond: localizedFractionalSecond,
|
|
706
|
-
meridiem: localizedMeridiem
|
|
707
|
-
} = localizeTimeString({
|
|
700
|
+
const localized = localizeTimeString({
|
|
708
701
|
hour12,
|
|
709
702
|
locale,
|
|
710
703
|
numberingSystem,
|
|
@@ -716,17 +709,19 @@ class TimeController extends GenericController {
|
|
|
716
709
|
this.minute = minute;
|
|
717
710
|
this.second = second;
|
|
718
711
|
this.fractionalSecond = fractionalSecond;
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
712
|
+
if (localized) {
|
|
713
|
+
this.localizedHour = localized.hour;
|
|
714
|
+
this.localizedHourSuffix = localized.hourSuffix;
|
|
715
|
+
this.localizedMinute = localized.minute;
|
|
716
|
+
this.localizedMinuteSuffix = localized.minuteSuffix;
|
|
717
|
+
this.localizedSecond = localized.second;
|
|
718
|
+
this.localizedDecimalSeparator = localized.decimalSeparator;
|
|
719
|
+
this.localizedFractionalSecond = localized.fractionalSecond;
|
|
720
|
+
this.localizedSecondSuffix = localized.secondSuffix;
|
|
721
|
+
if (localized.meridiem) {
|
|
722
|
+
this.meridiem = getMeridiem(this.hour);
|
|
723
|
+
this.localizedMeridiem = localized.meridiem;
|
|
724
|
+
}
|
|
730
725
|
}
|
|
731
726
|
} else {
|
|
732
727
|
this.hour = null;
|
|
@@ -30,7 +30,7 @@ export abstract class Card extends LitElement {
|
|
|
30
30
|
*/
|
|
31
31
|
accessor disabled: boolean;
|
|
32
32
|
/** Specifies an accessible label for the component. */
|
|
33
|
-
accessor label: string;
|
|
33
|
+
accessor label: string | undefined;
|
|
34
34
|
/**
|
|
35
35
|
* When `true`, a busy indicator is displayed.
|
|
36
36
|
*
|
|
@@ -70,8 +70,6 @@ class Carousel extends LitElement {
|
|
|
70
70
|
this.setMaxItemsToBreakpoint(width);
|
|
71
71
|
};
|
|
72
72
|
this.resizeObserver = createObserver("resize", (entries) => entries.forEach(this.resizeHandler));
|
|
73
|
-
this.slideDurationInterval = null;
|
|
74
|
-
this.slideInterval = null;
|
|
75
73
|
this.tabListRef = createRef();
|
|
76
74
|
this.timer = () => {
|
|
77
75
|
let time = this.slideDurationRemaining;
|
|
@@ -97,6 +95,7 @@ class Carousel extends LitElement {
|
|
|
97
95
|
this.items = [];
|
|
98
96
|
this.maxItems = centerItemsByBreakpoint.xxsmall;
|
|
99
97
|
this.playing = false;
|
|
98
|
+
this.selectedIndex = 0;
|
|
100
99
|
this.slideDurationRemaining = 1;
|
|
101
100
|
this.suspendedDueToFocus = false;
|
|
102
101
|
this.suspendedDueToHover = false;
|
|
@@ -122,7 +121,7 @@ class Carousel extends LitElement {
|
|
|
122
121
|
this.styles = styles;
|
|
123
122
|
}
|
|
124
123
|
async play() {
|
|
125
|
-
if (this.playing || !this.hasMultiple || this.autoplay !== "" &&
|
|
124
|
+
if (this.playing || !this.hasMultiple || this.autoplay !== "" && this.autoplay !== true && this.autoplay !== "paused") {
|
|
126
125
|
return;
|
|
127
126
|
}
|
|
128
127
|
this.handlePlay(true);
|
|
@@ -287,7 +286,7 @@ class Carousel extends LitElement {
|
|
|
287
286
|
}
|
|
288
287
|
}
|
|
289
288
|
handleItemSelection(event) {
|
|
290
|
-
const item = event.
|
|
289
|
+
const item = event.currentTarget;
|
|
291
290
|
const requestedPosition = parseInt(item.dataset.index);
|
|
292
291
|
if (requestedPosition === this.selectedIndex) {
|
|
293
292
|
return;
|
|
@@ -355,7 +354,7 @@ class Carousel extends LitElement {
|
|
|
355
354
|
case " ":
|
|
356
355
|
case "Enter":
|
|
357
356
|
event.preventDefault();
|
|
358
|
-
if (this.autoplay === "" || this.autoplay || this.autoplay === "paused") {
|
|
357
|
+
if (this.autoplay === "" || this.autoplay === true || this.autoplay === "paused") {
|
|
359
358
|
this.toggleRotation();
|
|
360
359
|
}
|
|
361
360
|
break;
|
|
@@ -425,7 +424,7 @@ class Carousel extends LitElement {
|
|
|
425
424
|
return html`<div class=${safeClassMap({
|
|
426
425
|
[CSS.pagination]: true,
|
|
427
426
|
[CSS.containerOverlaid]: this.controlOverlay
|
|
428
|
-
})} @keydown=${this.tabListKeyDownHandler} ${ref(this.tabListRef)}>${(this.playing || this.autoplay === "" || this.autoplay || this.autoplay === "paused") && this.hasMultiple && this.renderRotationControl() || ""}${this.arrowType === "inline" && this.hasMultiple && this.renderArrow("previous") || ""}${this.paginationDisabled ? this.renderPaginationAriaLive() : this.renderPaginationItems()}${this.arrowType === "inline" && this.hasMultiple && this.renderArrow("next") || ""}</div>`;
|
|
427
|
+
})} @keydown=${this.tabListKeyDownHandler} ${ref(this.tabListRef)}>${(this.playing || this.autoplay === "" || this.autoplay === true || this.autoplay === "paused") && this.hasMultiple && this.renderRotationControl() || ""}${this.arrowType === "inline" && this.hasMultiple && this.renderArrow("previous") || ""}${this.paginationDisabled ? this.renderPaginationAriaLive() : this.renderPaginationItems()}${this.arrowType === "inline" && this.hasMultiple && this.renderArrow("next") || ""}</div>`;
|
|
429
428
|
}
|
|
430
429
|
renderPaginationItems() {
|
|
431
430
|
const { selectedIndex, maxItems, items, label, handleItemSelection } = this;
|
|
@@ -27,7 +27,7 @@ export abstract class Checkbox extends LitElement {
|
|
|
27
27
|
*
|
|
28
28
|
* When not set, the component is associated with its ancestor form element, if one exists.
|
|
29
29
|
*/
|
|
30
|
-
accessor form: string;
|
|
30
|
+
accessor form: string | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* When `true`, the component is initially indeterminate, which is independent from its `checked` value.
|
|
33
33
|
*
|
|
@@ -38,13 +38,13 @@ export abstract class Checkbox extends LitElement {
|
|
|
38
38
|
*/
|
|
39
39
|
accessor indeterminate: boolean;
|
|
40
40
|
/** Specifies an accessible label for the component. */
|
|
41
|
-
accessor label: string;
|
|
41
|
+
accessor label: string | undefined;
|
|
42
42
|
/** Specifies the component's label text. */
|
|
43
|
-
accessor labelText: string;
|
|
43
|
+
accessor labelText: string | undefined;
|
|
44
44
|
/** Overrides individual strings used by the component. */
|
|
45
45
|
accessor messageOverrides: { required?: string; };
|
|
46
46
|
/** Specifies the name of the component. Required to pass the component's `value` on form submission. */
|
|
47
|
-
accessor name: string;
|
|
47
|
+
accessor name: string | undefined;
|
|
48
48
|
/**
|
|
49
49
|
* When `true` and the component resides in a form,
|
|
50
50
|
* the component must have a value in order for the form to submit.
|
|
@@ -91,7 +91,7 @@ class ChipGroup extends LitElement {
|
|
|
91
91
|
event.stopPropagation();
|
|
92
92
|
}
|
|
93
93
|
updateItems(event) {
|
|
94
|
-
const itemsFromSlot = this.slotRef.value?.assignedElements({ flatten: true }).filter((el) => el?.matches("calcite-chip"));
|
|
94
|
+
const itemsFromSlot = this.slotRef.value?.assignedElements({ flatten: true }).filter((el) => el?.matches("calcite-chip")) || [];
|
|
95
95
|
this.items = !event ? itemsFromSlot : slotChangeGetAssignedElements(event);
|
|
96
96
|
if (this.items?.length < 1) {
|
|
97
97
|
return;
|
|
@@ -879,7 +879,7 @@ class ColorPicker extends LitElement {
|
|
|
879
879
|
})}</div></calcite-tab>`);
|
|
880
880
|
}
|
|
881
881
|
renderChannel(value, index, ariaLabel, direction, suffix) {
|
|
882
|
-
return keyed(index, html`<calcite-input-number class=${safeClassMap(CSS.channel)} data-channel-index=${index ?? nothing} dir=${direction ?? nothing} .label=${ariaLabel} lang=${this.messages._lang ?? nothing} number-button-type=none .numberingSystem=${this.numberingSystem} @
|
|
882
|
+
return keyed(index, html`<calcite-input-number class=${safeClassMap(CSS.channel)} data-channel-index=${index ?? nothing} dir=${direction ?? nothing} .label=${ariaLabel} lang=${this.messages._lang ?? nothing} number-button-type=none .numberingSystem=${this.numberingSystem} @calciteInputNumberChange=${this.handleChannelChange} @calciteInputNumberInput=${this.handleChannelInput} @calciteInternalInputNumberBlur=${this.handleChannelBlur} @calciteInternalInputNumberFocus=${this.handleChannelFocus} @keydown=${this.handleKeyDown} .scale=${this.scale === "l" ? "m" : "s"} style=${safeStyleMap({
|
|
883
883
|
marginLeft: index > 0 && !(this.scale === "s" && this.alphaChannel && index === 3) ? "-1px" : ""
|
|
884
884
|
})} .suffixText=${suffix} .value=${value?.toString()}></calcite-input-number>`);
|
|
885
885
|
}
|
|
@@ -223,7 +223,7 @@ class ColorPickerHexInput extends LitElement {
|
|
|
223
223
|
const hexInputValue = this.formatHexForInternalInput(value);
|
|
224
224
|
const opacityInputValue = this.formatOpacityForInternalInput(internalColor);
|
|
225
225
|
const inputScale = scale === "l" ? "m" : "s";
|
|
226
|
-
return html`<div class=${safeClassMap(CSS.container)}><calcite-input-text class=${safeClassMap(CSS.hexInput)} .label=${messages?.hex || hexLabel} .maxLength=${this.alphaChannel ? 8 : 6} @
|
|
226
|
+
return html`<div class=${safeClassMap(CSS.container)}><calcite-input-text class=${safeClassMap(CSS.hexInput)} .label=${messages?.hex || hexLabel} .maxLength=${this.alphaChannel ? 8 : 6} @calciteInputTextChange=${this.onHexInputChange} @calciteInputTextInput=${this.onHexInputInput} @calciteInternalInputTextBlur=${this.onHexInputBlur} @calciteInternalInputTextFocus=${this.onInputFocus} @keydown=${this.onInputKeyDown} @paste=${this.onHexInputPaste} prefix-text=# .scale=${inputScale} .value=${hexInputValue} ${ref(this.hexInputRef)}></calcite-input-text>${alphaChannel ? keyed("opacity-input", html`<calcite-input-number class=${safeClassMap(CSS.opacityInput)} .label=${messages?.opacity} .max=${OPACITY_LIMITS.max} max-length=3 .min=${OPACITY_LIMITS.min} number-button-type=none .numberingSystem=${this.numberingSystem} @calciteInputNumberInput=${this.onOpacityInputInput} @calciteInternalInputNumberBlur=${this.onOpacityInputBlur} @calciteInternalInputNumberFocus=${this.onInputFocus} @keydown=${this.onInputKeyDown} .scale=${inputScale} suffix-text=% .value=${opacityInputValue} ${ref(this.opacityInputRef)}></calcite-input-number>`) : null}</div>`;
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
customElement("calcite-color-picker-hex-input", ColorPickerHexInput);
|
|
@@ -484,9 +484,9 @@ class Combobox extends LitElement {
|
|
|
484
484
|
break;
|
|
485
485
|
case " ":
|
|
486
486
|
if (!this.textInputRef.value.value && !event.defaultPrevented) {
|
|
487
|
-
if (!this.open) {
|
|
487
|
+
if (!this.open && this.keyboardNavItems.length) {
|
|
488
488
|
this.open = true;
|
|
489
|
-
this.
|
|
489
|
+
this.ensureRecentSelectedItemIsActive();
|
|
490
490
|
}
|
|
491
491
|
event.preventDefault();
|
|
492
492
|
}
|
|
@@ -566,7 +566,7 @@ class Combobox extends LitElement {
|
|
|
566
566
|
this.topLayer.show();
|
|
567
567
|
this.reposition();
|
|
568
568
|
this.calciteComboboxBeforeOpen.emit();
|
|
569
|
-
setTimeout(() => this.scrollToActiveOrSelectedItem(
|
|
569
|
+
setTimeout(() => this.scrollToActiveOrSelectedItem(this.activeItemIndex < 0), 0);
|
|
570
570
|
}
|
|
571
571
|
onOpen() {
|
|
572
572
|
this.calciteComboboxOpen.emit();
|
|
@@ -615,9 +615,14 @@ class Combobox extends LitElement {
|
|
|
615
615
|
this.ensureRecentSelectedItemIsActive();
|
|
616
616
|
}
|
|
617
617
|
ensureRecentSelectedItemIsActive() {
|
|
618
|
-
const { selectedItems } = this;
|
|
619
|
-
|
|
620
|
-
|
|
618
|
+
const { activeItemIndex, selectedItems, keyboardNavItems } = this;
|
|
619
|
+
if (activeItemIndex > -1 && keyboardNavItems[activeItemIndex]) {
|
|
620
|
+
this.updateActiveItemIndex(activeItemIndex);
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
const selectedItem = selectedItems[selectedItems.length - 1];
|
|
624
|
+
const targetIndex = selectedItem ? keyboardNavItems.indexOf(selectedItem) : keyboardNavItems.length ? 0 : -1;
|
|
625
|
+
this.updateActiveItemIndex(targetIndex > -1 ? targetIndex : keyboardNavItems.length ? 0 : -1);
|
|
621
626
|
}
|
|
622
627
|
hideChip(chipEl) {
|
|
623
628
|
chipEl.classList.add(CSS.chipInvisible);
|
|
@@ -11,9 +11,9 @@ export abstract class Flow extends LitElement {
|
|
|
11
11
|
/**
|
|
12
12
|
* Removes selection of the currently active `calcite-flow-item`.
|
|
13
13
|
*
|
|
14
|
-
* @returns Promise<HTMLCalciteFlowItemElement | FlowItemLikeElement>
|
|
14
|
+
* @returns Promise<HTMLCalciteFlowItemElement | FlowItemLikeElement | undefined>
|
|
15
15
|
*/
|
|
16
|
-
back(): Promise<FlowItem | FlowItemLikeElement>;
|
|
16
|
+
back(): Promise<FlowItem | FlowItemLikeElement | undefined>;
|
|
17
17
|
/**
|
|
18
18
|
* Sets focus on the component.
|
|
19
19
|
*
|
|
@@ -122,7 +122,7 @@ class Flow extends LitElement {
|
|
|
122
122
|
}
|
|
123
123
|
findSelectedFlowItemIndex(items) {
|
|
124
124
|
const selectedItem = items.slice(0).reverse().find((item) => !!item.selected);
|
|
125
|
-
return items.indexOf(selectedItem);
|
|
125
|
+
return selectedItem ? items.indexOf(selectedItem) : -1;
|
|
126
126
|
}
|
|
127
127
|
ensureSelectedFlowItemExists() {
|
|
128
128
|
const { items } = this;
|
|
@@ -123,7 +123,7 @@ class FlowItem extends LitElement {
|
|
|
123
123
|
}
|
|
124
124
|
render() {
|
|
125
125
|
const { collapsed, collapseDirection, collapsible, closable, closed, description, disabled, heading, headingLevel, loading, menuOpen, messageOverrides, overlayPositioning, beforeClose, icon, iconFlipRtl } = this;
|
|
126
|
-
return this.interactiveContainer({ disabled, children: html`<calcite-panel .beforeClose=${beforeClose} .closable=${closable} .closed=${closed} .
|
|
126
|
+
return this.interactiveContainer({ disabled, children: html`<calcite-panel .beforeClose=${beforeClose} .closable=${closable} .closed=${closed} .collapsed=${collapsed} .collapseDirection=${collapseDirection} .collapsible=${collapsible} .description=${description} .disabled=${disabled} .heading=${heading} .headingLevel=${headingLevel} .icon=${icon} .iconFlipRtl=${iconFlipRtl} .loading=${loading} .menuOpen=${menuOpen} .messageOverrides=${messageOverrides} @calcitePanelClose=${this.handleInternalPanelClose} @calcitePanelScroll=${this.handleInternalPanelScroll} @calcitePanelToggle=${this.handleInternalPanelToggle} .overlayPositioning=${overlayPositioning} .scale=${this.scale} .topLayerDisabled=${this.topLayerDisabled} ${ref(this.containerRef)}>${this.renderBackButton()}<slot name=${SLOTS.actionBar} slot=${SLOTS$1.actionBar}></slot><slot name=${SLOTS.alerts} slot=${SLOTS$1.alerts}></slot><slot name=${SLOTS.headerActionsStart} slot=${SLOTS$1.headerActionsStart}></slot><slot name=${SLOTS.headerActionsEnd} slot=${SLOTS$1.headerActionsEnd}></slot><slot name=${SLOTS.description} slot=${SLOTS$1.description}></slot><slot name=${SLOTS.heading} slot=${SLOTS$1.heading}></slot><slot name=${SLOTS.headerContent} slot=${SLOTS$1.headerContent}></slot><slot name=${SLOTS.headerMenuActions} slot=${SLOTS$1.headerMenuActions}></slot><slot name=${SLOTS.fab} slot=${SLOTS$1.fab}></slot><slot name=${SLOTS.contentTop} slot=${SLOTS$1.contentTop}></slot><slot name=${SLOTS.contentBottom} slot=${SLOTS$1.contentBottom}></slot><slot name=${SLOTS.footerStart} slot=${SLOTS$1.footerStart}></slot><slot name=${SLOTS.footer} slot=${SLOTS$1.footer}></slot><slot name=${SLOTS.footerEnd} slot=${SLOTS$1.footerEnd}></slot><slot></slot></calcite-panel>` });
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
customElement("calcite-flow-item", FlowItem);
|
|
@@ -68,7 +68,8 @@ class Input extends LitElement {
|
|
|
68
68
|
this.childNumberRef = createRef();
|
|
69
69
|
this.direction = useDirection();
|
|
70
70
|
this.formSupport = useForm({
|
|
71
|
-
inputType: "text"
|
|
71
|
+
inputType: "text",
|
|
72
|
+
getValue: () => this.type === "file" ? this.childRef.value?.files ?? null : this.value
|
|
72
73
|
})(this);
|
|
73
74
|
this.inputWrapperRef = createRef();
|
|
74
75
|
this.previousValueOrigin = "initial";
|
|
@@ -511,14 +512,11 @@ class Input extends LitElement {
|
|
|
511
512
|
const autofocus = this.el.autofocus;
|
|
512
513
|
const enterKeyHint = this.el.enterKeyHint;
|
|
513
514
|
const inputMode = this.el.inputMode;
|
|
514
|
-
const localeNumberInput = this.type === "number" ? keyed("localized-input", html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} value=${this.defaultValue ?? nothing} .disabled=${this.disabled
|
|
515
|
+
const localeNumberInput = this.type === "number" ? keyed("localized-input", html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} name=${nothing} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} type=text .value=${live(this.displayedValue ?? "")} ${ref(this.childNumberRef)}>`) : null;
|
|
515
516
|
const childEl = this.type !== "number" ? html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} class=${safeClassMap({
|
|
516
517
|
[CSS.editingEnabled]: this.editingEnabled,
|
|
517
518
|
[CSS.inlineChild]: !!this.inlineEditableEl
|
|
518
|
-
})} value=${this.defaultValue ?? nothing} .disabled=${this.disabled
|
|
519
|
-
this.childRef
|
|
520
|
-
/* using unknown to workaround Lumina dynamic ref type issue */
|
|
521
|
-
)}>` : null;
|
|
519
|
+
})} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} max=${this.maxString ?? nothing} maxlength=${this.maxLength ?? nothing} min=${this.minString ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} name=${this.name ?? nothing} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputInputHandler} @keydown=${this.inputKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} step=${this.step ?? nothing} tabindex=${(this.disabled || this.inlineEditableEl && !this.editingEnabled ? -1 : null) ?? nothing} type=${this.type ?? nothing} .value=${live(this.value ?? "")} ${ref(this.childRef)}>` : null;
|
|
522
520
|
return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div class=${safeClassMap({
|
|
523
521
|
[CSS.inputWrapper]: true,
|
|
524
522
|
[CSS_UTILITY.rtl]: dir === "rtl",
|
|
@@ -246,7 +246,7 @@ class InputText extends LitElement {
|
|
|
246
246
|
const childEl = html`<input aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${this.el.autofocus} class=${safeClassMap({
|
|
247
247
|
[CSS.editingEnabled]: this.editingEnabled,
|
|
248
248
|
[CSS.inlineChild]: !!this.inlineEditableEl
|
|
249
|
-
})} value=${this.defaultValue ?? nothing} .disabled=${this.disabled
|
|
249
|
+
})} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${this.el.enterKeyHint ?? nothing} inputmode=${this.el.inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} name=${this.name ?? nothing} @blur=${this.inputTextBlurHandler} @focus=${this.inputTextFocusHandler} @input=${this.inputTextInputHandler} @keydown=${this.inputTextKeyDownHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} tabindex=${(this.disabled || this.inlineEditableEl && !this.editingEnabled ? -1 : null) ?? nothing} type=text .value=${live(this.value ?? "")} ${ref(this.childRef)}>`;
|
|
250
250
|
return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div class=${safeClassMap({
|
|
251
251
|
[CSS.inputWrapper]: true,
|
|
252
252
|
[CSS_UTILITY.rtl]: dir === "rtl",
|
|
@@ -57,9 +57,9 @@ export abstract class List extends LitElement {
|
|
|
57
57
|
*/
|
|
58
58
|
accessor filterEnabled: boolean;
|
|
59
59
|
/** Specifies an accessible name for the filter input field. */
|
|
60
|
-
accessor filterLabel: string;
|
|
60
|
+
accessor filterLabel: string | undefined;
|
|
61
61
|
/** Specifies placeholder text for the component's filter input field. */
|
|
62
|
-
accessor filterPlaceholder: string;
|
|
62
|
+
accessor filterPlaceholder: string | undefined;
|
|
63
63
|
/**
|
|
64
64
|
* Specifies a function to handle filtering.
|
|
65
65
|
*
|
|
@@ -71,7 +71,7 @@ export abstract class List extends LitElement {
|
|
|
71
71
|
*/
|
|
72
72
|
accessor filterPredicate: ((item: ListItem) => boolean) | undefined;
|
|
73
73
|
/** Specifies the properties to match against when filtering. If not set, all properties will be matched (`description`, `label`, `metadata`, and the `calcite-list-item-group`'s `heading`). */
|
|
74
|
-
accessor filterProps: string[];
|
|
74
|
+
accessor filterProps: string[] | undefined;
|
|
75
75
|
/**
|
|
76
76
|
* Text for the component's filter input field.
|
|
77
77
|
*
|
|
@@ -116,7 +116,7 @@ export abstract class List extends LitElement {
|
|
|
116
116
|
total?: string;
|
|
117
117
|
};
|
|
118
118
|
/** Specifies the Unicode numeral system used by the component for localization. */
|
|
119
|
-
accessor numberingSystem: NumberingSystem;
|
|
119
|
+
accessor numberingSystem: NumberingSystem | undefined;
|
|
120
120
|
/**
|
|
121
121
|
* Specifies the size of the component.
|
|
122
122
|
*
|
|
@@ -111,13 +111,13 @@ class List extends LitElement {
|
|
|
111
111
|
this.styles = styles;
|
|
112
112
|
}
|
|
113
113
|
get hasActiveFilter() {
|
|
114
|
-
return this.filterEnabled && this.filterText && this.filteredItems.length !== this.visibleItems.length;
|
|
114
|
+
return !!(this.filterEnabled && this.filterText && this.filteredItems.length !== this.visibleItems.length);
|
|
115
115
|
}
|
|
116
116
|
get showEmptyContentContainer() {
|
|
117
117
|
return !this.hasContent && this.hasEmptyContent;
|
|
118
118
|
}
|
|
119
119
|
get showNoResultsContainer() {
|
|
120
|
-
return this.filterEnabled && this.filterText && this.hasFilterNoResults && this.visibleItems.length && !this.filteredItems.length;
|
|
120
|
+
return !!(this.filterEnabled && this.filterText && this.hasFilterNoResults && this.visibleItems.length && !this.filteredItems.length);
|
|
121
121
|
}
|
|
122
122
|
get effectiveFilterProps() {
|
|
123
123
|
if (!this.filterProps) {
|
|
@@ -366,7 +366,7 @@ class List extends LitElement {
|
|
|
366
366
|
this.calciteListOrderChange.emit(detail);
|
|
367
367
|
}
|
|
368
368
|
setParentList() {
|
|
369
|
-
this.parentListEl = this.el.parentElement?.closest(listSelector);
|
|
369
|
+
this.parentListEl = this.el.parentElement?.closest(listSelector) || void 0;
|
|
370
370
|
}
|
|
371
371
|
handleDefaultSlotChange(event) {
|
|
372
372
|
if (this.parentListEl) {
|
|
@@ -493,8 +493,7 @@ class List extends LitElement {
|
|
|
493
493
|
}));
|
|
494
494
|
}
|
|
495
495
|
getGroupHeading(item) {
|
|
496
|
-
|
|
497
|
-
return heading;
|
|
496
|
+
return this.listItemGroups.filter((group) => group.contains(item) && group.heading).map((group) => group.heading);
|
|
498
497
|
}
|
|
499
498
|
updateGroupItems() {
|
|
500
499
|
const { el, group, scale } = this;
|
|
@@ -35,7 +35,7 @@ export abstract class ListItem extends LitElement {
|
|
|
35
35
|
*/
|
|
36
36
|
accessor closed: boolean;
|
|
37
37
|
/** Specifies a description for the component. Displays below the `label`. */
|
|
38
|
-
accessor description: string;
|
|
38
|
+
accessor description: string | undefined;
|
|
39
39
|
/**
|
|
40
40
|
* When `true`, interaction is prevented and the component is displayed with lower opacity.
|
|
41
41
|
*
|
|
@@ -55,13 +55,13 @@ export abstract class ListItem extends LitElement {
|
|
|
55
55
|
*/
|
|
56
56
|
accessor expanded: boolean;
|
|
57
57
|
/** Specifies an icon to display at the end of the component. */
|
|
58
|
-
accessor iconEnd: IconName;
|
|
58
|
+
accessor iconEnd: IconName | undefined;
|
|
59
59
|
/** Displays the `iconStart` and/or `iconEnd` as flipped when the element direction is right-to-left (`"rtl"`). */
|
|
60
|
-
accessor iconFlipRtl: FlipContext;
|
|
60
|
+
accessor iconFlipRtl: FlipContext | undefined;
|
|
61
61
|
/** Specifies an icon to display at the start of the component. */
|
|
62
|
-
accessor iconStart: IconName;
|
|
62
|
+
accessor iconStart: IconName | undefined;
|
|
63
63
|
/** Specifies an accessible label for the component, displays above the `description`. */
|
|
64
|
-
accessor label: string;
|
|
64
|
+
accessor label: string | undefined;
|
|
65
65
|
/** Overrides individual strings used by the component. */
|
|
66
66
|
accessor messageOverrides: {
|
|
67
67
|
close?: string;
|
|
@@ -69,7 +69,7 @@ export abstract class ListItem extends LitElement {
|
|
|
69
69
|
collapse?: string;
|
|
70
70
|
};
|
|
71
71
|
/** Provides additional metadata to the component. Primary use is for a filter on the parent `calcite-list`. */
|
|
72
|
-
accessor metadata: Record<string, unknown
|
|
72
|
+
accessor metadata: Record<string, unknown> | undefined;
|
|
73
73
|
/**
|
|
74
74
|
* When `true`, the item is open to show child components.
|
|
75
75
|
*
|