@esri/calcite-components 5.2.0-next.7 → 5.2.0-next.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/cdn/{GQSSPVYH.js → 2PCDKHNU.js} +1 -1
  2. package/dist/cdn/{BZR7SCVQ.js → 32HRHHRX.js} +1 -1
  3. package/dist/cdn/{JQA4RU76.js → 3AX7UM5A.js} +1 -1
  4. package/dist/cdn/{UJRRKIO7.js → 3CAYEDHP.js} +1 -1
  5. package/dist/cdn/{AE4FA7FY.js → 3MJDOH54.js} +1 -1
  6. package/dist/cdn/{NFDSCUC7.js → 3XDAO3IB.js} +1 -1
  7. package/dist/cdn/{4SXYANKI.js → 4GUCA5VW.js} +1 -1
  8. package/dist/cdn/{O2QQXYDW.js → 4J5EUBOH.js} +1 -1
  9. package/dist/cdn/{N2LGKOPB.js → 4P2OE44V.js} +1 -1
  10. package/dist/cdn/{FJWV33EJ.js → 4R5MK3EP.js} +1 -1
  11. package/dist/cdn/57ZDHXI4.js +2 -0
  12. package/dist/cdn/{5HP5FZAB.js → 5AHC27D5.js} +1 -1
  13. package/dist/cdn/{HCQ73WZV.js → 5FZ727SF.js} +1 -1
  14. package/dist/cdn/{NCAFX2IU.js → 5KSATHUR.js} +1 -1
  15. package/dist/cdn/{VPVCIXE2.js → 5P2SRXLZ.js} +1 -1
  16. package/dist/cdn/{6C54IW5E.js → 65MCX76T.js} +1 -1
  17. package/dist/cdn/{M5GCKYUY.js → 66IICIZU.js} +1 -1
  18. package/dist/cdn/{45ZL6S2L.js → 6GNKIJWX.js} +1 -1
  19. package/dist/cdn/{SRGRHGJ5.js → 6HQNDEVR.js} +1 -1
  20. package/dist/cdn/{S5YU36AW.js → 6NPFTW3Q.js} +1 -1
  21. package/dist/cdn/{2ZLARVHZ.js → 6VXVPYGH.js} +1 -1
  22. package/dist/cdn/{ET5QQ6ZE.js → 76GLXQ5B.js} +1 -1
  23. package/dist/cdn/{EHGKLR2I.js → 7ACVBHZP.js} +1 -1
  24. package/dist/cdn/{HXT7NOOV.js → 7DVZQWM3.js} +1 -1
  25. package/dist/cdn/{Z3UI7HPY.js → 7PFXSTZM.js} +1 -1
  26. package/dist/cdn/{ZPQZYGS3.js → 7SKEXAJJ.js} +1 -1
  27. package/dist/cdn/{EIG5UNV3.js → 7UBNBTZN.js} +1 -1
  28. package/dist/cdn/{HEIJ72GT.js → AHKECUMA.js} +1 -1
  29. package/dist/cdn/{RYR7RCAB.js → AITC5CK4.js} +1 -1
  30. package/dist/cdn/{MWHL3FGX.js → AMM2IHJA.js} +1 -1
  31. package/dist/cdn/{MEPDW4WV.js → APL3IIPM.js} +2 -2
  32. package/dist/cdn/{U5NEBHS5.js → B6U5ABAB.js} +1 -1
  33. package/dist/cdn/{GZNLRM76.js → BLYCHAU5.js} +1 -1
  34. package/dist/cdn/{6VGI37NE.js → BNZULFPY.js} +1 -1
  35. package/dist/cdn/{3IMK322V.js → BV3EPEJB.js} +1 -1
  36. package/dist/cdn/{F5S74A6J.js → C2UEEF3A.js} +1 -1
  37. package/dist/cdn/{HBLG43FI.js → C5MC4M5A.js} +1 -1
  38. package/dist/cdn/{TOJCGSWL.js → CJGUA7GJ.js} +1 -1
  39. package/dist/cdn/{KV4UMXMD.js → CLH63HHU.js} +1 -1
  40. package/dist/cdn/{WYOJIAFW.js → CQU733L2.js} +1 -1
  41. package/dist/cdn/{XZJNARMG.js → CSG4RQSS.js} +1 -1
  42. package/dist/cdn/CTIOBBTK.js +2 -0
  43. package/dist/cdn/{Q5CRHYT4.js → D552FOM2.js} +1 -1
  44. package/dist/cdn/{CA6ESPGD.js → DTDSGZIT.js} +1 -1
  45. package/dist/cdn/{22N7ARV7.js → DTQHKAII.js} +1 -1
  46. package/dist/cdn/{WSZFROTG.js → EAJYT2GY.js} +1 -1
  47. package/dist/cdn/{7BIEHNBN.js → EHTMXNCT.js} +1 -1
  48. package/dist/cdn/{IHPU7EWA.js → EI5MHL2I.js} +1 -1
  49. package/dist/cdn/{OINOBLBC.js → ELX74UPR.js} +1 -1
  50. package/dist/cdn/{OFDHYKQN.js → FCILGSU6.js} +1 -1
  51. package/dist/cdn/{HMXCTTUK.js → FNEMMKLX.js} +1 -1
  52. package/dist/cdn/{SBWEXBSU.js → FYHORRAJ.js} +1 -1
  53. package/dist/cdn/{SU7BYFW3.js → G5NMLWQF.js} +1 -1
  54. package/dist/cdn/{YHD7HKDX.js → GHDKS4TD.js} +1 -1
  55. package/dist/cdn/{WEXOUBDS.js → GVLNM6YT.js} +1 -1
  56. package/dist/cdn/{KCL3KOWK.js → H6ORBSSJ.js} +1 -1
  57. package/dist/cdn/{AEUGG6UI.js → HGLO6UQ7.js} +1 -1
  58. package/dist/cdn/HPYIWN5L.js +2 -0
  59. package/dist/cdn/{QLNBJ3D2.js → HRPZLB3H.js} +1 -1
  60. package/dist/cdn/{DHCG4KMO.js → HWKHSD2W.js} +1 -1
  61. package/dist/cdn/{YZHTEJRH.js → I6AOCT5U.js} +1 -1
  62. package/dist/cdn/{XJ36MZLC.js → IFG3O2VD.js} +1 -1
  63. package/dist/cdn/{37C2BTJH.js → IG2AOCFM.js} +1 -1
  64. package/dist/cdn/{UOHGU4YY.js → IHCWOOEI.js} +1 -1
  65. package/dist/cdn/{D4HPNC3L.js → IXGCDFHB.js} +1 -1
  66. package/dist/cdn/{2DVSDS5W.js → J4WDGTIL.js} +1 -1
  67. package/dist/cdn/{WF6BMZT7.js → J53VB44F.js} +1 -1
  68. package/dist/cdn/{MO5PWDHH.js → JA4H65CI.js} +1 -1
  69. package/dist/cdn/{BM7PKEQF.js → JINCIV5T.js} +1 -1
  70. package/dist/cdn/{R35E6X4J.js → JJQWSD7D.js} +1 -1
  71. package/dist/cdn/{EEHC75BT.js → JLCWEJ3U.js} +1 -1
  72. package/dist/cdn/{4ZQOFYGA.js → JN3BACQZ.js} +1 -1
  73. package/dist/cdn/{3DZCTGTX.js → JUWC6SJS.js} +1 -1
  74. package/dist/cdn/{6MJP7OIJ.js → JXNRSCSL.js} +1 -1
  75. package/dist/cdn/{NRYSWYNK.js → JZEAZX7S.js} +1 -1
  76. package/dist/cdn/{2X6QZRGI.js → KFB5OQRC.js} +1 -1
  77. package/dist/cdn/{PQLUXN7R.js → KMH3CUSE.js} +1 -1
  78. package/dist/cdn/{WYAVJAPT.js → KUECMCRZ.js} +1 -1
  79. package/dist/cdn/{C5A7GGD4.js → KY3Z6LFR.js} +1 -1
  80. package/dist/cdn/L32VTN2T.js +2 -0
  81. package/dist/cdn/{FHFQFLLV.js → LBDQOE43.js} +1 -1
  82. package/dist/cdn/{MDMDAT7S.js → LMWCOUAT.js} +1 -1
  83. package/dist/cdn/{DS5VHI4Z.js → LQSAQMQP.js} +1 -1
  84. package/dist/cdn/{4HQGPAC7.js → LTW5573E.js} +1 -1
  85. package/dist/cdn/{ZMVMH3BK.js → LZ3WOLOW.js} +1 -1
  86. package/dist/cdn/MJJRRMGW.js +2 -0
  87. package/dist/cdn/{PQK6ETUC.js → MMR6VAEO.js} +1 -1
  88. package/dist/cdn/{NXUFQ4YS.js → MODCSYEV.js} +1 -1
  89. package/dist/cdn/{J7FC6ZPY.js → NKWLAGHG.js} +1 -1
  90. package/dist/cdn/{GMEB4FUQ.js → NPNDCMUJ.js} +1 -1
  91. package/dist/cdn/{5BBXVTVC.js → NQRGT4BD.js} +1 -1
  92. package/dist/cdn/{BDRBFTUJ.js → NYFPK3N5.js} +1 -1
  93. package/dist/cdn/{3ND6JJU2.js → O3FUKLCJ.js} +1 -1
  94. package/dist/cdn/{FQGP2TF4.js → O5OJMJOR.js} +1 -1
  95. package/dist/cdn/{ORKUIIJK.js → OBUBNTS6.js} +1 -1
  96. package/dist/cdn/{QENJY6C7.js → OCEW22IC.js} +1 -1
  97. package/dist/cdn/OIO5CL6R.js +2 -0
  98. package/dist/cdn/{2W5AIJ3P.js → OWGW352X.js} +1 -1
  99. package/dist/cdn/{6A6DR3VH.js → OWQDDAXI.js} +1 -1
  100. package/dist/cdn/{I5C2XC5I.js → P5E4K2YU.js} +1 -1
  101. package/dist/cdn/{Q67TFS2A.js → PC7UYFK6.js} +1 -1
  102. package/dist/cdn/{NU72X3HS.js → PCBREZ5F.js} +1 -1
  103. package/dist/cdn/{EM2QRJCP.js → PMKS3CJ7.js} +1 -1
  104. package/dist/cdn/{AQOHIR7I.js → PWFGK3QY.js} +1 -1
  105. package/dist/cdn/{ZHL36WFZ.js → PXDG27HC.js} +1 -1
  106. package/dist/cdn/{2B5SK2B4.js → QAHUQT5F.js} +1 -1
  107. package/dist/cdn/{BE7SWPCI.js → QERUF5RK.js} +1 -1
  108. package/dist/cdn/{RBSWNTNU.js → QFK5ME5Z.js} +1 -1
  109. package/dist/cdn/{JI2XHUUM.js → QNOZ63FP.js} +1 -1
  110. package/dist/cdn/QQDQTFWB.js +2 -0
  111. package/dist/cdn/{IJAMTOKN.js → QRUQ3Y7U.js} +1 -1
  112. package/dist/cdn/{FQU67QYY.js → R3OSHNDM.js} +1 -1
  113. package/dist/cdn/{YXRKYXM3.js → R57JPZER.js} +1 -1
  114. package/dist/cdn/{MLDTAC4V.js → ROGMJHKU.js} +1 -1
  115. package/dist/cdn/{67HJME4D.js → RPREBNVY.js} +1 -1
  116. package/dist/cdn/{H7UZS446.js → RZ3GJBY6.js} +1 -1
  117. package/dist/cdn/{5L75WHPS.js → RZ6SBZPQ.js} +1 -1
  118. package/dist/cdn/{NEBN6Q6V.js → SIEL6HRX.js} +1 -1
  119. package/dist/cdn/{GGJZTKGX.js → SNBBVALR.js} +1 -1
  120. package/dist/cdn/{JB4DSSHG.js → SNJTYZLP.js} +1 -1
  121. package/dist/cdn/{X37OGDUE.js → ST67VUYZ.js} +1 -1
  122. package/dist/cdn/{QJF5YGPY.js → STX4LEMH.js} +1 -1
  123. package/dist/cdn/{B5M6XZPQ.js → SUBBGJAK.js} +1 -1
  124. package/dist/cdn/{4RYFAF65.js → T5X4EEDP.js} +1 -1
  125. package/dist/cdn/{CJMUF6Z7.js → TAZSSQI7.js} +1 -1
  126. package/dist/cdn/{V6FHFWKX.js → TGUBQOWL.js} +1 -1
  127. package/dist/cdn/TQOLPPTT.js +2 -0
  128. package/dist/cdn/{5W44MDZE.js → TU2AXOK6.js} +1 -1
  129. package/dist/cdn/UEDQR5UF.js +2 -0
  130. package/dist/cdn/{FL5AI52A.js → V267AT5D.js} +1 -1
  131. package/dist/cdn/VDL7FPJ3.js +2 -0
  132. package/dist/cdn/{744TBMM3.js → VKRVGNXO.js} +1 -1
  133. package/dist/cdn/{AFLT7NPW.js → VNNBBA7C.js} +1 -1
  134. package/dist/cdn/{SVJV6P4P.js → W5TCW6UN.js} +1 -1
  135. package/dist/cdn/{UES5LGVM.js → W6WQMLK6.js} +1 -1
  136. package/dist/cdn/{6TCERT23.js → W727ZWWW.js} +1 -1
  137. package/dist/cdn/{DU34ZRAK.js → WEQ4CMES.js} +1 -1
  138. package/dist/cdn/{JCW6IR2I.js → WMB5327X.js} +1 -1
  139. package/dist/cdn/{N3XTOHD4.js → WTFLYVXB.js} +1 -1
  140. package/dist/cdn/XAHTR7P5.js +2 -0
  141. package/dist/cdn/{ZEDBMSXG.js → XN6H52R2.js} +1 -1
  142. package/dist/cdn/Y7FECB4D.js +2 -0
  143. package/dist/cdn/YJPIZ6DX.js +2 -0
  144. package/dist/cdn/{C3EMHXIX.js → YMZYQC75.js} +1 -1
  145. package/dist/cdn/{TSXOSLFT.js → YW3IRTRW.js} +1 -1
  146. package/dist/cdn/{RDBTAJCH.js → ZCTXSJY4.js} +1 -1
  147. package/dist/cdn/{NFHPGWE3.js → ZDKVZJ7E.js} +1 -1
  148. package/dist/cdn/{JPRBZLNY.js → ZOFKAKM6.js} +1 -1
  149. package/dist/cdn/{D3VMRWYN.js → ZWRXPRED.js} +1 -1
  150. package/dist/cdn/{3FM74CVY.js → ZXAGTTHP.js} +1 -1
  151. package/dist/cdn/assets/icon/userSave16.json +1 -0
  152. package/dist/cdn/assets/icon/userSave24.json +1 -0
  153. package/dist/cdn/assets/icon/userSave32.json +1 -0
  154. package/dist/cdn/assets/icon/weatherRadar16.json +1 -0
  155. package/dist/cdn/assets/icon/weatherRadar24.json +1 -0
  156. package/dist/cdn/assets/icon/weatherRadar32.json +1 -0
  157. package/dist/cdn/index.js +1 -1
  158. package/dist/chunks/date.js +9 -6
  159. package/dist/chunks/dom.js +3 -2
  160. package/dist/chunks/math.js +1 -1
  161. package/dist/chunks/responsive.js +1 -1
  162. package/dist/chunks/runtime.js +4 -4
  163. package/dist/chunks/useTime.js +24 -24
  164. package/dist/chunks/utils.js +3 -3
  165. package/dist/chunks/utils3.js +1 -1
  166. package/dist/components/calcite-carousel/customElement.js +1 -1
  167. package/dist/components/calcite-combobox/customElement.js +6 -6
  168. package/dist/components/calcite-date-picker/customElement.d.ts +10 -10
  169. package/dist/components/calcite-date-picker/customElement.js +18 -18
  170. package/dist/components/calcite-date-picker-day/customElement.js +2 -2
  171. package/dist/components/calcite-date-picker-month/customElement.d.ts +4 -4
  172. package/dist/components/calcite-date-picker-month/customElement.js +19 -14
  173. package/dist/components/calcite-date-picker-month-header/customElement.js +14 -9
  174. package/dist/components/calcite-dialog/customElement.d.ts +8 -8
  175. package/dist/components/calcite-dialog/customElement.js +5 -6
  176. package/dist/components/calcite-dropdown/customElement.d.ts +3 -3
  177. package/dist/components/calcite-dropdown/customElement.js +9 -6
  178. package/dist/components/calcite-dropdown-group/customElement.d.ts +1 -1
  179. package/dist/components/calcite-dropdown-group/customElement.js +1 -1
  180. package/dist/components/calcite-dropdown-item/customElement.d.ts +7 -7
  181. package/dist/components/calcite-dropdown-item/customElement.js +3 -3
  182. package/dist/components/calcite-input-date-picker/customElement.js +16 -16
  183. package/dist/components/calcite-input-time-picker/customElement.js +4 -4
  184. package/dist/components/calcite-input-time-zone/customElement.js +2 -2
  185. package/dist/components/calcite-pagination/customElement.js +1 -1
  186. package/dist/components/calcite-rating/customElement.js +1 -1
  187. package/dist/components/calcite-tab-nav/customElement.js +1 -1
  188. package/dist/components/calcite-time-picker/customElement.js +4 -4
  189. package/dist/docs/api.json +1 -1
  190. package/dist/docs/docs.json +1 -1
  191. package/dist/docs/web-types.json +1 -1
  192. package/dist/utils/date.d.ts +2 -2
  193. package/package.json +3 -3
  194. package/dist/cdn/255CJNBQ.js +0 -2
  195. package/dist/cdn/7HMML2DR.js +0 -2
  196. package/dist/cdn/7KVOA3RG.js +0 -2
  197. package/dist/cdn/7QSFRDV5.js +0 -2
  198. package/dist/cdn/GZTMMGCJ.js +0 -2
  199. package/dist/cdn/HKIP6O5B.js +0 -2
  200. package/dist/cdn/LKEGNPWV.js +0 -2
  201. package/dist/cdn/NMBCJCCO.js +0 -2
  202. package/dist/cdn/OR55DZMS.js +0 -2
  203. package/dist/cdn/QVYX2WRU.js +0 -2
  204. package/dist/cdn/SEHJ4RKZ.js +0 -2
  205. package/dist/cdn/UL7L5FJO.js +0 -2
  206. package/dist/cdn/XG27KSRC.js +0 -2
@@ -55,12 +55,12 @@ class DatePicker extends LitElement {
55
55
  const minSource = getMinMaxSource(changes, "min");
56
56
  const maxSource = getMinMaxSource(changes, "max");
57
57
  if (minSource === "min") {
58
- this.minAsDate = dateFromISO(this.min);
58
+ this.minAsDate = this.min ? dateFromISO(this.min) : void 0;
59
59
  } else if (minSource === "minAsDate") {
60
60
  this.minAsDate = dateFromISO(dateToISO(this.minAsDate));
61
61
  }
62
62
  if (maxSource === "max") {
63
- this.maxAsDate = dateFromISO(this.max);
63
+ this.maxAsDate = this.max ? dateFromISO(this.max) : void 0;
64
64
  } else if (maxSource === "maxAsDate") {
65
65
  this.maxAsDate = dateFromISO(dateToISO(this.maxAsDate));
66
66
  }
@@ -142,7 +142,7 @@ class DatePicker extends LitElement {
142
142
  this.activeDate = date;
143
143
  } else {
144
144
  const month = date.getMonth();
145
- const isDateOutOfCurrentRange = month !== this.activeStartDate.getMonth() && (this.calendars === 1 || month !== nextMonth(this.activeStartDate).getMonth());
145
+ const isDateOutOfCurrentRange = month !== this.activeStartDate?.getMonth() && (this.calendars === 1 || (this.activeStartDate ? month !== nextMonth(this.activeStartDate).getMonth() : false));
146
146
  if (this.activeRange === "end") {
147
147
  if (!this.activeEndDate || this.activeStartDate && isDateOutOfCurrentRange) {
148
148
  this.activeEndDate = date;
@@ -163,8 +163,8 @@ class DatePicker extends LitElement {
163
163
  return;
164
164
  }
165
165
  const { valueAsDate } = this;
166
- const start = Array.isArray(valueAsDate) && valueAsDate[0];
167
- const end = Array.isArray(valueAsDate) && valueAsDate[1];
166
+ const start = Array.isArray(valueAsDate) ? valueAsDate[0] : void 0;
167
+ const end = Array.isArray(valueAsDate) ? valueAsDate[1] : void 0;
168
168
  const date = new Date(event.detail);
169
169
  this.hoverRange = {
170
170
  focused: this.activeRange || "start",
@@ -172,10 +172,10 @@ class DatePicker extends LitElement {
172
172
  end
173
173
  };
174
174
  if (this.proximitySelectionDisabled) {
175
- if (end && start || !end && date >= start) {
175
+ if (end && start || !end && start && date >= start) {
176
176
  this.hoverRange.focused = "end";
177
177
  this.hoverRange.end = date;
178
- } else if (!end && date < start) {
178
+ } else if (!end && start && date < start) {
179
179
  this.hoverRange = {
180
180
  focused: "start",
181
181
  start: date,
@@ -185,7 +185,7 @@ class DatePicker extends LitElement {
185
185
  this.hoverRange = void 0;
186
186
  }
187
187
  } else {
188
- if (this.activeRange) {
188
+ if (this.activeRange && this.hoverRange) {
189
189
  if (this.activeRange === "end") {
190
190
  this.hoverRange.end = date;
191
191
  this.hoverRange.focused = "end";
@@ -262,7 +262,7 @@ class DatePicker extends LitElement {
262
262
  }
263
263
  }
264
264
  getStartDate() {
265
- return Array.isArray(this.valueAsDate) && this.valueAsDate[0];
265
+ return Array.isArray(this.valueAsDate) && this.valueAsDate[0] || void 0;
266
266
  }
267
267
  setStartDate(date, emit = true) {
268
268
  const endDate = this.getEndDate();
@@ -281,8 +281,8 @@ class DatePicker extends LitElement {
281
281
  }
282
282
  if (!this.range) {
283
283
  this.value = isoDate || "";
284
- this.valueAsDate = date || null;
285
- this.activeDate = date || null;
284
+ this.valueAsDate = date || void 0;
285
+ this.activeDate = date || void 0;
286
286
  this.calciteDatePickerChange.emit();
287
287
  return;
288
288
  }
@@ -302,7 +302,7 @@ class DatePicker extends LitElement {
302
302
  } else {
303
303
  if (this.proximitySelectionDisabled) {
304
304
  this.setStartDate(date, false);
305
- this.setEndDate(null, false);
305
+ this.setEndDate(void 0, false);
306
306
  this.calciteDatePickerRangeChange.emit();
307
307
  } else {
308
308
  if (this.activeRange) {
@@ -310,8 +310,8 @@ class DatePicker extends LitElement {
310
310
  this.setEndDate(date);
311
311
  } else {
312
312
  if (date > end) {
313
- this.setEndDate(null, false);
314
- this.activeEndDate = null;
313
+ this.setEndDate(void 0, false);
314
+ this.activeEndDate = void 0;
315
315
  }
316
316
  this.setStartDate(date);
317
317
  }
@@ -343,12 +343,12 @@ class DatePicker extends LitElement {
343
343
  setActiveStartAndEndDates() {
344
344
  if (this.range) {
345
345
  const startDate = dateFromRange(Array.isArray(this.valueAsDate) ? this.valueAsDate[0] : this.valueAsDate, this.minAsDate, this.maxAsDate);
346
- const endDate = dateFromRange(Array.isArray(this.valueAsDate) ? this.valueAsDate[1] : null, this.minAsDate, this.maxAsDate);
346
+ const endDate = dateFromRange(Array.isArray(this.valueAsDate) ? this.valueAsDate[1] : void 0, this.minAsDate, this.maxAsDate);
347
347
  this.activeStartDate = this.getActiveDate(startDate, this.minAsDate, this.maxAsDate);
348
348
  this.activeEndDate = this.getActiveEndDate(endDate, this.minAsDate, this.maxAsDate);
349
349
  if (sameDate(this.activeStartDate, this.activeEndDate)) {
350
- const previousMonthActiveDate = getFirstValidDateInMonth(prevMonth(this.activeEndDate), this.minAsDate, this.maxAsDate);
351
- const nextMonthActiveDate = nextMonth(this.activeEndDate);
350
+ const previousMonthActiveDate = getFirstValidDateInMonth(this.activeEndDate ? prevMonth(this.activeEndDate) : void 0, this.minAsDate, this.maxAsDate);
351
+ const nextMonthActiveDate = this.activeEndDate ? nextMonth(this.activeEndDate) : void 0;
352
352
  if (inRange(previousMonthActiveDate, this.minAsDate, this.maxAsDate)) {
353
353
  this.activeStartDate = previousMonthActiveDate;
354
354
  } else if (inRange(nextMonthActiveDate, this.minAsDate, this.maxAsDate)) {
@@ -360,7 +360,7 @@ class DatePicker extends LitElement {
360
360
  render() {
361
361
  const date = dateFromRange(this.range && Array.isArray(this.valueAsDate) ? this.valueAsDate[0] : this.valueAsDate, this.minAsDate, this.maxAsDate);
362
362
  const activeDate = this.getActiveDate(date, this.minAsDate, this.maxAsDate);
363
- const endDate = this.range && Array.isArray(this.valueAsDate) ? dateFromRange(this.valueAsDate[1], this.minAsDate, this.maxAsDate) : null;
363
+ const endDate = this.range && Array.isArray(this.valueAsDate) ? dateFromRange(this.valueAsDate[1], this.minAsDate, this.maxAsDate) : void 0;
364
364
  const minDate = this.range && this.activeRange ? this.activeRange === "start" ? this.minAsDate : date : this.minAsDate;
365
365
  const startCalendarActiveDate = this.range ? this.activeStartDate : activeDate;
366
366
  return html`<div aria-hidden class=${safeClassMap(CSS.container)} tabindex=-1>${this.renderMonth(startCalendarActiveDate, this.maxAsDate, minDate, date, endDate)}</div>`;
@@ -45,7 +45,7 @@ class DatePickerDay extends LitElement {
45
45
  return this.focusSetter(() => this.el, options);
46
46
  }
47
47
  load() {
48
- this.parentDatePickerEl = closestElementCrossShadowBoundary(this.el, "calcite-date-picker");
48
+ this.parentDatePickerEl = closestElementCrossShadowBoundary(this.el, "calcite-date-picker") ?? void 0;
49
49
  }
50
50
  onClick() {
51
51
  if (this.disabled) {
@@ -78,7 +78,7 @@ class DatePickerDay extends LitElement {
78
78
  };
79
79
  }
80
80
  const formattedDay = numberStringFormatter.localize(String(this.day));
81
- const dayLabel = this.dateTimeFormat.format(this.value);
81
+ const dayLabel = this.dateTimeFormat.format(this.value) ?? null;
82
82
  this.el.ariaLabel = dayLabel;
83
83
  this.el.ariaSelected = toAriaBoolean(this.active);
84
84
  setAttribute(this.el, "id", dayId);
@@ -18,11 +18,11 @@ export abstract class DatePickerMonth extends LitElement {
18
18
  /** Specifies the heading level number of the component's `heading` for proper document structure, without affecting visual styling. */
19
19
  accessor headingLevel: HeadingLevel;
20
20
  /** The range of dates currently being hovered. */
21
- accessor hoverRange: HoverRange;
21
+ accessor hoverRange: HoverRange | undefined;
22
22
  /** Specifies the latest allowed date (`"yyyy-mm-dd"`). */
23
- accessor max: Date;
23
+ accessor max: Date | undefined;
24
24
  /** Specifies the earliest allowed date (`"yyyy-mm-dd"`). */
25
- accessor min: Date;
25
+ accessor min: Date | undefined;
26
26
  /** Specifies the monthStyle used by the component. */
27
27
  accessor monthStyle: "abbreviated" | "wide";
28
28
  /**
@@ -34,7 +34,7 @@ export abstract class DatePickerMonth extends LitElement {
34
34
  /** Specifies the size of the component. */
35
35
  accessor scale: Scale;
36
36
  /** Already selected date. */
37
- accessor selectedDate: Date;
37
+ accessor selectedDate: Date | undefined;
38
38
  /** Start date currently active. */
39
39
  accessor startDate: Date | undefined;
40
40
  }
@@ -24,6 +24,7 @@ const NUM_DAYS_TO_DISPLAY = 42;
24
24
  class DatePickerMonth extends LitElement {
25
25
  constructor() {
26
26
  super();
27
+ this.activeFocus = false;
27
28
  this.storeDayRef = (el) => {
28
29
  if (el?.active && this.activeFocus) {
29
30
  el.setFocus();
@@ -204,13 +205,13 @@ class DatePickerMonth extends LitElement {
204
205
  }
205
206
  const { start, end } = this.hoverRange;
206
207
  const isStartFocused = this.isFocusedOnStart();
207
- const isEndAfterStart = this.startDate && end > this.startDate;
208
- const isEndBeforeEnd = this.endDate && end < this.endDate;
209
- const isStartAfterStart = this.startDate && start > this.startDate;
210
- const isStartBeforeEnd = this.endDate && start < this.endDate;
208
+ const isEndAfterStart = this.startDate && end && end > this.startDate;
209
+ const isEndBeforeEnd = this.endDate && end && end < this.endDate;
210
+ const isStartAfterStart = this.startDate && start && start > this.startDate;
211
+ const isStartBeforeEnd = this.endDate && start && start < this.endDate;
211
212
  const isEndDateAfterStartAndBeforeEnd = !isStartFocused && this.startDate && isEndAfterStart && (!this.endDate || isEndBeforeEnd);
212
213
  const isStartDateBeforeEndAndAfterStart = isStartFocused && this.startDate && isStartAfterStart && isStartBeforeEnd;
213
- return isEndDateAfterStartAndBeforeEnd || isStartDateBeforeEndAndAfterStart;
214
+ return !!(isEndDateAfterStartAndBeforeEnd || isStartDateBeforeEndAndAfterStart);
214
215
  }
215
216
  isRangeHover(date) {
216
217
  if (!this.hoverRange) {
@@ -219,16 +220,16 @@ class DatePickerMonth extends LitElement {
219
220
  const { start, end } = this.hoverRange;
220
221
  const isStartFocused = this.isFocusedOnStart();
221
222
  const insideRange = this.isHoverInRange();
222
- const isDateBeforeStartDateAndAfterStart = date > start && date < this.startDate;
223
- const isDateAfterEndDateAndBeforeEnd = date < end && date > this.endDate;
224
- const isDateBeforeEndDateAndAfterEnd = date > end && date < this.endDate;
225
- const isDateAfterStartDateAndBeforeStart = date < start && date > this.startDate;
226
- const isDateAfterStartDateAndBeforeEnd = date < end && date > this.startDate;
227
- const isDateBeforeEndDateAndAfterStart = date > start && date < this.endDate;
223
+ const isDateBeforeStartDateAndAfterStart = !!(start && date > start && this.startDate && date < this.startDate);
224
+ const isDateAfterEndDateAndBeforeEnd = !!(end && date < end && this.endDate && date > this.endDate);
225
+ const isDateBeforeEndDateAndAfterEnd = !!(end && date > end && this.endDate && date < this.endDate);
226
+ const isDateAfterStartDateAndBeforeStart = !!(start && date < start && this.startDate && date > this.startDate);
227
+ const isDateAfterStartDateAndBeforeEnd = !!(end && date < end && this.startDate && date > this.startDate);
228
+ const isDateBeforeEndDateAndAfterStart = !!(start && date > start && this.endDate && date < this.endDate);
228
229
  const hasBothStartAndEndDate = this.startDate && this.endDate;
229
230
  if (insideRange) {
230
231
  if (hasBothStartAndEndDate) {
231
- return isStartFocused ? date < this.endDate && (isDateAfterStartDateAndBeforeStart || isDateBeforeStartDateAndAfterStart) : isDateBeforeEndDateAndAfterEnd || isDateAfterEndDateAndBeforeEnd;
232
+ return isStartFocused ? !!(this.endDate && date < this.endDate) && (isDateAfterStartDateAndBeforeStart || isDateBeforeStartDateAndAfterStart) : isDateBeforeEndDateAndAfterEnd || isDateAfterEndDateAndBeforeEnd;
232
233
  } else if (this.startDate && !this.endDate) {
233
234
  return isStartFocused ? isDateBeforeStartDateAndAfterStart : isDateAfterStartDateAndBeforeEnd;
234
235
  } else if (!this.startDate && this.endDate) {
@@ -239,6 +240,7 @@ class DatePickerMonth extends LitElement {
239
240
  return isStartFocused ? isDateBeforeStartDateAndAfterStart : isDateAfterEndDateAndBeforeEnd;
240
241
  }
241
242
  }
243
+ return false;
242
244
  }
243
245
  getDays(prevMonthDays, currMonthDays, nextMonthDays, position = "start") {
244
246
  let month = this.activeDate.getMonth();
@@ -300,7 +302,10 @@ class DatePickerMonth extends LitElement {
300
302
  const startOfWeek = this.localeData.weekStart % 7;
301
303
  const { abbreviated, short, narrow } = this.localeData.days;
302
304
  const weekDays = this.scale === "s" ? narrow || short || abbreviated : short || abbreviated || narrow;
303
- const adjustedWeekDays = [...weekDays.slice(startOfWeek, 7), ...weekDays.slice(0, startOfWeek)];
305
+ const adjustedWeekDays = [
306
+ ...weekDays.slice(startOfWeek, 7),
307
+ ...weekDays.slice(0, startOfWeek)
308
+ ];
304
309
  const curMonDays = this.getCurrentMonthDays(month, year);
305
310
  const prevMonDays = this.getPreviousMonthDays(month, year, startOfWeek);
306
311
  const nextMonDays = this.getNextMonthDays(month, year, startOfWeek);
@@ -330,7 +335,7 @@ class DatePickerMonth extends LitElement {
330
335
  return html`<div class=${safeClassMap({
331
336
  [CSS.calendar]: true,
332
337
  [CSS.calendarStart]: !isEndCalendar
333
- })}><calcite-date-picker-month-header .activeDate=${isEndCalendar ? nextMonth(this.activeDate) : this.activeDate} .headingLevel=${this.headingLevel} .localeData=${this.localeData} .max=${this.max} .messages=${this.messages} .min=${this.min} .monthStyle=${this.monthStyle} @calciteInternalDatePickerMonthHeaderSelectChange=${this.monthHeaderSelectChange} .position=${isEndCalendar ? "end" : this.range && this.calendars === 2 ? "start" : null} .scale=${this.scale} .selectedDate=${this.selectedDate}></calcite-date-picker-month-header>${this.renderMonthCalendar(weekDays, days, isEndCalendar)}</div>`;
338
+ })}><calcite-date-picker-month-header .activeDate=${isEndCalendar ? nextMonth(this.activeDate) : this.activeDate} .headingLevel=${this.headingLevel} .localeData=${this.localeData} .max=${this.max} .messages=${this.messages} .min=${this.min} .monthStyle=${this.monthStyle} @calciteInternalDatePickerMonthHeaderSelectChange=${this.monthHeaderSelectChange} .position=${isEndCalendar ? "end" : this.range && this.calendars === 2 ? "start" : void 0} .scale=${this.scale} .selectedDate=${this.selectedDate}></calcite-date-picker-month-header>${this.renderMonthCalendar(weekDays, days, isEndCalendar)}</div>`;
334
339
  }
335
340
  renderMonthCalendar(weekDays, days, isEndCalendar = false) {
336
341
  const endCalendarStartIndex = 50;
@@ -46,7 +46,7 @@ class DatePickerMonthHeader extends LitElement {
46
46
  this.setNextPrevMonthDates();
47
47
  }
48
48
  load() {
49
- this.parentDatePickerEl = closestElementCrossShadowBoundary(this.el, "calcite-date-picker");
49
+ this.parentDatePickerEl = closestElementCrossShadowBoundary(this.el, "calcite-date-picker") ?? void 0;
50
50
  }
51
51
  willUpdate(changes) {
52
52
  if (this.hasUpdated && (changes.has("activeDate") || changes.has("localeData"))) {
@@ -100,7 +100,9 @@ class DatePickerMonthHeader extends LitElement {
100
100
  });
101
101
  }
102
102
  prevMonthClick(event) {
103
- this.handleArrowClick(event, this.prevMonthDate);
103
+ if (this.prevMonthDate) {
104
+ this.handleArrowClick(event, this.prevMonthDate);
105
+ }
104
106
  }
105
107
  prevMonthKeydown(event) {
106
108
  if (isActivationKey(event.key)) {
@@ -108,7 +110,9 @@ class DatePickerMonthHeader extends LitElement {
108
110
  }
109
111
  }
110
112
  nextMonthClick(event) {
111
- this.handleArrowClick(event, this.nextMonthDate);
113
+ if (this.nextMonthDate) {
114
+ this.handleArrowClick(event, this.nextMonthDate);
115
+ }
112
116
  }
113
117
  nextMonthKeydown(event) {
114
118
  if (isActivationKey(event.key)) {
@@ -143,6 +147,7 @@ class DatePickerMonthHeader extends LitElement {
143
147
  nextDate.setFullYear(year);
144
148
  return dateFromRange(nextDate, min, max);
145
149
  }
150
+ return void 0;
146
151
  }
147
152
  setYear({ localizedYear, commit = true, offset = 0 }) {
148
153
  const { yearInputRef, activeDate } = this;
@@ -150,12 +155,12 @@ class DatePickerMonthHeader extends LitElement {
150
155
  if (inRangeDate) {
151
156
  this.calciteInternalDatePickerMonthHeaderSelectChange.emit(inRangeDate);
152
157
  }
153
- if (commit) {
158
+ if (commit && yearInputRef.value) {
154
159
  yearInputRef.value.value = this.formatCalendarYear((inRangeDate || activeDate).getFullYear());
155
160
  }
156
161
  }
157
162
  setYearSelectWidthOffset() {
158
- this.yearSelectWidthOffset = ICON_WIDTH_M + 3 * parseInt(this.getYearSelectPadding());
163
+ this.yearSelectWidthOffset = ICON_WIDTH_M + 3 * parseInt(this.getYearSelectPadding(), 10);
159
164
  this.setYearSelectMenuWidth();
160
165
  }
161
166
  setYearSelectMenuWidth() {
@@ -177,19 +182,19 @@ class DatePickerMonthHeader extends LitElement {
177
182
  if (!this.min && !this.max || inRange(newActiveDate, this.min, this.max)) {
178
183
  return true;
179
184
  }
180
- return hasSameMonthAndYear(newActiveDate, this.max) || hasSameMonthAndYear(newActiveDate, this.min);
185
+ return !!(this.max && hasSameMonthAndYear(newActiveDate, this.max) || this.min && hasSameMonthAndYear(newActiveDate, this.min));
181
186
  }
182
187
  async handlePenultimateValidMonth(event) {
183
188
  const target = event.target;
184
189
  const direction = target.getAttribute("data-direction");
185
190
  const isDirectionLeft = direction === "left";
186
- let isTargetLastValidMonth;
191
+ let isTargetLastValidMonth = false;
187
192
  if (isDirectionLeft && this.min) {
188
193
  const prevMonthDate = dateFromRange(prevMonth(this.activeDate), this.min, this.max);
189
- isTargetLastValidMonth = hasSameMonthAndYear(prevMonthDate, this.min);
194
+ isTargetLastValidMonth = prevMonthDate ? hasSameMonthAndYear(prevMonthDate, this.min) : false;
190
195
  } else if (this.max) {
191
196
  const nextMonthDate = dateFromRange(nextMonth(this.activeDate), this.min, this.max);
192
- isTargetLastValidMonth = hasSameMonthAndYear(nextMonthDate, this.max);
197
+ isTargetLastValidMonth = nextMonthDate ? hasSameMonthAndYear(nextMonthDate, this.max) : false;
193
198
  }
194
199
  if (isTargetLastValidMonth) {
195
200
  if (!this.position) {
@@ -57,7 +57,7 @@ import type { DialogPlacement } from "./interfaces.js";
57
57
  */
58
58
  export abstract class Dialog extends LitElement {
59
59
  /** Specifies a function to run before the component closes. */
60
- accessor beforeClose: () => Promise<void>;
60
+ accessor beforeClose: (() => Promise<void>) | undefined;
61
61
  /**
62
62
  * When `true`, disables the component's close button.
63
63
  *
@@ -65,7 +65,7 @@ export abstract class Dialog extends LitElement {
65
65
  */
66
66
  accessor closeDisabled: boolean;
67
67
  /** Specifies the component's description. */
68
- accessor description: string;
68
+ accessor description: string | undefined;
69
69
  /**
70
70
  * When `true`, the component is draggable.
71
71
  *
@@ -96,7 +96,7 @@ export abstract class Dialog extends LitElement {
96
96
  * `"extraContainers"` specifies additional focusable elements external to the trap, such as 3rd-party components appending elements to the document body, and
97
97
  * `"setReturnFocus"` customizes the element to which focus is returned when the trap is deactivated. Return `false` to prevent focus return, or `undefined` to use the default behavior (returning focus to the element focused before activation).
98
98
  */
99
- accessor focusTrapOptions: Partial<FocusTrapOptions>;
99
+ accessor focusTrapOptions: Partial<FocusTrapOptions> | undefined;
100
100
  /**
101
101
  * When `true`, the component will not display at fullscreen, which may be desired in limited display areas, such as mobile devices.
102
102
  *
@@ -104,11 +104,11 @@ export abstract class Dialog extends LitElement {
104
104
  */
105
105
  accessor fullscreenDisabled: boolean;
106
106
  /** Specifies the component's heading text. */
107
- accessor heading: string;
107
+ accessor heading: string | undefined;
108
108
  /** Specifies the heading level number of the component's `heading` for proper document structure, without affecting visual styling. */
109
- accessor headingLevel: HeadingLevel;
109
+ accessor headingLevel: HeadingLevel | undefined;
110
110
  /** Specifies an icon to display. */
111
- accessor icon: IconName;
111
+ accessor icon: IconName | undefined;
112
112
  /**
113
113
  * When `true` and the element direction is right-to-left (`"rtl"`), flips the component`s `icon`.
114
114
  *
@@ -116,7 +116,7 @@ export abstract class Dialog extends LitElement {
116
116
  */
117
117
  accessor iconFlipRtl: boolean;
118
118
  /** Specifies the component's kind, which determines the top border styling. */
119
- accessor kind: Extract<"brand" | "danger" | "info" | "success" | "warning", Kind>;
119
+ accessor kind: Extract<"brand" | "danger" | "info" | "success" | "warning", Kind> | undefined;
120
120
  /**
121
121
  * When `true`, a busy indicator is displayed.
122
122
  *
@@ -189,7 +189,7 @@ export abstract class Dialog extends LitElement {
189
189
  */
190
190
  accessor topLayerDisabled: boolean;
191
191
  /** Specifies the component's width. */
192
- accessor width: Extract<Width, Scale>;
192
+ accessor width: Extract<Width, Scale> | undefined;
193
193
  /**
194
194
  * Specifies the component's width.
195
195
  *
@@ -41,8 +41,8 @@ const SLOTS = {
41
41
  footerStart: "footer-start",
42
42
  footerEnd: "footer-end"
43
43
  };
44
- const initialDragPosition = { x: null, y: null };
45
- const initialResizePosition = { top: null, right: null, bottom: null, left: null };
44
+ const initialDragPosition = { x: 0, y: 0 };
45
+ const initialResizePosition = { top: 0, right: 0, bottom: 0, left: 0 };
46
46
  const styles = css`:host{--calcite-dialog-scrim-background-color: rgba(0, 0, 0, .85);pointer-events:none;inset:0;display:flex;--calcite-internal-dialog-animation-offset: 20px}:host([top-layer-disabled]),:host([top-layer-disabled]) .container,:host([embedded]),.container--embedded{z-index:var(--calcite-z-index-overlay)}:host([embedded][modal]){position:absolute}.container{pointer-events:auto;position:fixed;inset:0;display:flex;block-size:100%;inline-size:100%;align-items:center;justify-content:center;overflow:hidden;color:var(--calcite-color-text-2);opacity:0;visibility:hidden;transition:visibility 0ms linear var(--calcite-internal-animation-timing-slow),opacity var(--calcite-internal-animation-timing-slow) ease-in-out}:host([placement=top]) .container{align-items:flex-start;justify-content:center}:host([placement=top-start]) .container{align-items:flex-start;justify-content:flex-start}:host([placement=top-end]) .container{align-items:flex-start;justify-content:flex-end}:host([placement=bottom]) .container{align-items:flex-end;justify-content:center}:host([placement=bottom-start]) .container{align-items:flex-end;justify-content:flex-start}:host([placement=bottom-end]) .container{align-items:flex-end;justify-content:flex-end}:host(:not([modal])) .container{pointer-events:none}:host([scale=s]){--calcite-internal-dialog-content-padding: var(--calcite-dialog-content-space, var(--calcite-spacing-sm));--calcite-internal-dialog-min-size-x: 198px;--calcite-internal-dialog-min-size-y: 140px}:host([scale=m]){--calcite-internal-dialog-content-padding: var(--calcite-dialog-content-space, var(--calcite-spacing-md));--calcite-internal-dialog-min-size-x: 288px;--calcite-internal-dialog-min-size-y: 180px}:host([scale=l]){--calcite-internal-dialog-content-padding: var(--calcite-dialog-content-space, var(--calcite-spacing-md-plus));--calcite-internal-dialog-min-size-x: 388px;--calcite-internal-dialog-min-size-y: 220px}.scrim{--calcite-scrim-background: var(--calcite-dialog-scrim-background-color, var(--calcite-color-transparent-scrim));--calcite-scrim-background-color: var( --calcite-dialog-scrim-background-color, var(--calcite-color-transparent-scrim) );position:fixed;inset:0;display:flex;overflow-y:hidden;z-index:calc(var(--calcite-z-index) * -1)}:host([top-layer-disabled]) .scrim{z-index:unset}calcite-panel{--calcite-panel-content-space: var(--calcite-dialog-content-space, var(--calcite-internal-dialog-content-padding));--calcite-panel-content-top-space: var( --calcite-dialog-content-top-space, var(--calcite-internal-dialog-content-padding) );--calcite-panel-content-bottom-space: var( --calcite-dialog-content-bottom-space, var(--calcite-internal-dialog-content-padding) );--calcite-panel-footer-space: var(--calcite-dialog-footer-space);--calcite-panel-border-color: var(--calcite-dialog-border-color);--calcite-panel-background-color: var(--calcite-dialog-background-color, var(--calcite-color-foreground-1));--calcite-panel-icon-color: var(--calcite-dialog-icon-color);--calcite-panel-heading-text-color: var(--calcite-dialog-heading-text-color);--calcite-panel-description-text-color: var(--calcite-dialog-description-text-color);--calcite-panel-header-background-color: var(--calcite-dialog-header-background-color);--calcite-panel-header-action-background-color: var(--calcite-dialog-header-action-background-color);--calcite-panel-header-action-background-color-hover: var(--calcite-dialog-header-action-background-color-hover);--calcite-panel-header-action-background-color-press: var(--calcite-dialog-header-action-background-color-press);--calcite-panel-header-action-text-color: var(--calcite-dialog-header-action-text-color);--calcite-panel-header-action-text-color-press: var(--calcite-dialog-header-action-text-color-press);--calcite-panel-footer-background-color: var(--calcite-dialog-footer-background-color);--calcite-panel-space: var(--calcite-dialog-space, var(--calcite-internal-dialog-content-padding));--calcite-panel-header-content-space: var(--calcite-dialog-header-content-space, var(--calcite-dialog-content-space));--calcite-popover-border-color: var(--calcite-dialog-action-menu-border-color, var(--calcite-color-border-1));--calcite-panel-corner-radius: var(--calcite-dialog-corner-radius)}:host([kind=brand]) calcite-panel{--calcite-panel-icon-color: var(--calcite-dialog-icon-color, var(--calcite-color-brand))}:host([kind=danger]) calcite-panel{--calcite-panel-icon-color: var(--calcite-dialog-icon-color, var(--calcite-color-status-danger))}:host([kind=info]) calcite-panel{--calcite-panel-icon-color: var(--calcite-dialog-icon-color, var(--calcite-color-status-info))}:host([kind=success]) calcite-panel{--calcite-panel-icon-color: var(--calcite-dialog-icon-color, var(--calcite-color-status-success))}:host([kind=warning]) calcite-panel{--calcite-panel-icon-color: var(--calcite-dialog-icon-color, var(--calcite-color-status-warning))}::slotted(*){--calcite-panel-background-color: initial}[popover]{padding:0;border:none;background-color:transparent;position:fixed;display:flex}[popover]:popover-open{display:flex}.dialog{pointer-events:none;position:relative;margin:1.5rem;box-sizing:border-box;display:flex;inline-size:100%;flex-direction:column;opacity:0;box-shadow:var(--calcite-shadow-md);-webkit-overflow-scrolling:touch;visibility:hidden;transition:inset-block-start var(--calcite-internal-animation-timing-slow) ease-in-out allow-discrete,opacity var(--calcite-internal-animation-timing-slow) ease-in-out;border-radius:var(--calcite-dialog-corner-radius, var(--calcite-corner-radius-sm));min-inline-size:var(--calcite-dialog-min-size-x, var(--calcite-internal-dialog-min-size-x));max-inline-size:var(--calcite-dialog-max-size-x, 100%);min-block-size:var(--calcite-dialog-min-size-y, var(--calcite-internal-dialog-min-size-y));max-block-size:var(--calcite-dialog-max-size-y, 100%);--calcite-internal-dialog-hidden-position: calc( var(--calcite-dialog-offset-y, 0px) + var(--calcite-internal-dialog-animation-offset) );--calcite-internal-dialog-shown-position: var(--calcite-dialog-offset-y, 0);inset-inline-start:var(--calcite-dialog-offset-x, 0);inset-block-start:var(--calcite-internal-dialog-hidden-position)}:host([top-layer-disabled]) .dialog,:host([embedded]) .dialog{z-index:var(--calcite-z-index-modal)}:host([menu-open]) .dialog{transition:visibility 0ms linear var(--calcite-internal-animation-timing-slow),opacity var(--calcite-internal-animation-timing-slow) ease-in-out}.panel{visibility:hidden;opacity:0;border-radius:var(--calcite-dialog-corner-radius, var(--calcite-corner-radius-sm));transition:visibility 0ms linear var(--calcite-internal-animation-timing-slow),opacity var(--calcite-internal-animation-timing-slow) ease-in-out}.container--open .panel{visibility:visible;opacity:1;transition:visibility 0ms linear,opacity var(--calcite-internal-animation-timing-slow) ease-in-out}.container--open{opacity:1;visibility:visible;transition-delay:0ms}.container--open .dialog{pointer-events:auto;visibility:visible;opacity:1;transition:inset-block-start var(--calcite-internal-animation-timing-slow) ease-in-out allow-discrete,opacity var(--calcite-internal-animation-timing-slow) ease-in-out;transition-delay:0ms}.width-s{inline-size:auto;inline-size:var(--calcite-dialog-size-x, 32rem);block-size:var(--calcite-dialog-size-y, auto)}@media screen and (max-width:35rem){:host(:not([fullscreen-disabled])) .width-s{margin:0;block-size:100%;max-block-size:100%;inline-size:100%;max-inline-size:100%;inset-inline-start:0;inset-block-start:var(--calcite-internal-dialog-animation-offset)}}.width-m{inline-size:var(--calcite-dialog-size-x, 48rem);block-size:var(--calcite-dialog-size-y, auto)}@media screen and (max-width:51rem){:host(:not([fullscreen-disabled])) .width-m{margin:0;block-size:100%;max-block-size:100%;inline-size:100%;max-inline-size:100%;inset-inline-start:0;inset-block-start:var(--calcite-internal-dialog-animation-offset)}}.width-l{inline-size:var(--calcite-dialog-size-x, 94rem);block-size:var(--calcite-dialog-size-y, auto)}@media screen and (max-width:97rem){:host(:not([fullscreen-disabled])) .width-l{margin:0;block-size:100%;max-block-size:100%;inline-size:100%;max-inline-size:100%;inset-inline-start:0;inset-block-start:var(--calcite-internal-dialog-animation-offset)}}:host([placement=cover]) .dialog{margin:0;block-size:100%;max-block-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0}:host([placement=cover]) .panel{border-radius:0}:host([kind]) .panel{border-start-start-radius:0px;border-start-end-radius:0px}:host([kind]) .dialog{overflow:hidden}:host([kind=brand]) .dialog{border-color:var(--calcite-color-brand)}:host([kind=danger]) .dialog{border-color:var(--calcite-dialog-accent-color, var(--calcite-color-status-danger))}:host([kind=info]) .dialog{border-color:var(--calcite-dialog-accent-color, var(--calcite-color-status-info))}:host([kind=success]) .dialog{border-color:var(--calcite-dialog-accent-color, var(--calcite-color-status-success))}:host([kind=warning]) .dialog{border-color:var(--calcite-dialog-accent-color, var(--calcite-color-status-warning))}:host([open]) .dialog{inset-block-start:var(--calcite-internal-dialog-shown-position)}@starting-style{:host([open]) .dialog{inset-block-start:var(--calcite-internal-dialog-hidden-position);opacity:0}}:host([kind=brand][open]) .dialog,:host([kind=danger][open]) .dialog,:host([kind=info][open]) .dialog,:host([kind=success][open]) .dialog,:host([kind=warning][open]) .dialog{border-width:0px;border-block-start-width:4px;border-style:solid}.container--embedded{position:absolute;pointer-events:auto}.container--embedded calcite-scrim{position:absolute}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host([hidden]){display:none}[hidden]{display:none}`;
47
47
  class Dialog extends LitElement {
48
48
  constructor() {
@@ -70,7 +70,6 @@ class Dialog extends LitElement {
70
70
  this.panelRef = createRef();
71
71
  this.popoverRef = createRef();
72
72
  this.resizePosition = { ...initialResizePosition };
73
- this.transitionEl = null;
74
73
  this.messages = useT9n();
75
74
  this.focusSetter = useSetFocus()(this);
76
75
  this.sizeOverride = useSizeOverride({
@@ -327,13 +326,13 @@ class Dialog extends LitElement {
327
326
  return;
328
327
  }
329
328
  if (!dragEnabled && !resizable) {
330
- transitionEl.style.transform = null;
329
+ transitionEl.style.transform = "";
331
330
  return;
332
331
  }
333
332
  const { top, right, bottom, left } = this.getAdjustedResizePosition(resizePosition);
334
333
  const translateX = Math.round(x + left + right);
335
334
  const translateY = Math.round(y + top + bottom);
336
- this.transitionEl.style.transform = translateX || translateY ? `translate(${translateX}px, ${translateY}px)` : null;
335
+ this.transitionEl.style.transform = translateX || translateY ? `translate(${translateX}px, ${translateY}px)` : "";
337
336
  }
338
337
  cleanUpInteractions() {
339
338
  this.interaction?.unset();
@@ -491,7 +490,7 @@ class Dialog extends LitElement {
491
490
  [CSS.container]: true,
492
491
  [CSS.containerOpen]: opened,
493
492
  [CSS.containerEmbedded]: this.embedded
494
- })} .popover=${!this.embedded ? "manual" : null} role=dialog ${ref(this.popoverRef)}>${this.modal ? html`<calcite-scrim class=${safeClassMap(CSS.scrim)} @click=${this.handleOutsideClose}></calcite-scrim>` : null}<div class=${safeClassMap({
493
+ })} .popover=${!this.embedded ? "manual" : void 0} role=dialog ${ref(this.popoverRef)}>${this.modal ? html`<calcite-scrim class=${safeClassMap(CSS.scrim)} @click=${this.handleOutsideClose}></calcite-scrim>` : null}<div class=${safeClassMap({
495
494
  [CSS.dialog]: true,
496
495
  [getDimensionClass("width", this.width, this.widthScale)]: !!(this.width || this.widthScale)
497
496
  })} @keydown=${this.handleKeyDown} ${ref(this.setTransitionEl)}>${assistiveText ? keyed("assistive-text", html`<div aria-live=polite class=${safeClassMap(CSS.assistiveText)}>${assistiveText}</div>`) : null}<slot name=${SLOTS.customContent}><calcite-panel class=${safeClassMap(CSS.panel)} .closable=${!this.closeDisabled} .description=${description} .heading=${heading} .headingLevel=${this.headingLevel} .hidden=${!this.opened} .icon=${icon} .iconFlipRtl=${iconFlipRtl} .loading=${this.loading} .menuOpen=${this.menuOpen} .messageOverrides=${this.messageOverrides} @calcitePanelClose=${this.handleInternalPanelCloseClick} @calcitePanelScroll=${this.handleInternalPanelScroll} @keydown=${this.handlePanelKeyDown} .overlayPositioning=${this.overlayPositioning} .scale=${this.scale} .topLayerDisabled=${this.topLayerDisabled} ${ref(this.panelRef)}><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></slot></div></div>`;
@@ -27,7 +27,7 @@ export abstract class Dropdown extends LitElement {
27
27
  */
28
28
  accessor disabled: boolean;
29
29
  /** Specifies the component's fallback `placement` for slotted `calcite-dropdown-item`s when its initial or specified `placement` has insufficient space available. */
30
- accessor flipPlacements: FlipPlacement[];
30
+ accessor flipPlacements: FlipPlacement[] | undefined;
31
31
  /**
32
32
  * Specifies the maximum number of `calcite-dropdown-item`s to display before showing a scrollbar.
33
33
  * Value must be greater than `0`, and does not include `groupTitle`s from `calcite-dropdown-group`.
@@ -101,13 +101,13 @@ export abstract class Dropdown extends LitElement {
101
101
  */
102
102
  accessor type: "hover" | "click";
103
103
  /** Specifies the component's width. */
104
- accessor width: Extract<Width, Scale>;
104
+ accessor width: Extract<Width, Scale> | undefined;
105
105
  /**
106
106
  * Specifies the component's width.
107
107
  *
108
108
  * @deprecated in v3.0.0, removal target v6.0.0 - Use the `width` property instead.
109
109
  */
110
- accessor widthScale: Scale;
110
+ accessor widthScale: Scale | undefined;
111
111
  /**
112
112
  * Updates the component's position.
113
113
  *
@@ -75,7 +75,7 @@ class Dropdown extends LitElement {
75
75
  this.styles = styles;
76
76
  }
77
77
  get referenceElementType() {
78
- return this.referenceElement ? this.type : null;
78
+ return this.referenceElement ? this.type : void 0;
79
79
  }
80
80
  async reposition(delayed = false) {
81
81
  const { filteredFlipPlacements, floatingEl, offsetDistance, offsetSkidding, overlayPositioning, placement, referenceEl } = this;
@@ -198,7 +198,7 @@ class Dropdown extends LitElement {
198
198
  }
199
199
  setFilteredPlacements() {
200
200
  const { el, flipPlacements } = this;
201
- this.filteredFlipPlacements = flipPlacements ? filterValidFlipPlacements(flipPlacements, el) : null;
201
+ this.filteredFlipPlacements = flipPlacements ? filterValidFlipPlacements(flipPlacements, el) : void 0;
202
202
  }
203
203
  updateItems() {
204
204
  this.items = this.groups.map((group) => Array.from(group?.querySelectorAll("calcite-dropdown-item"))).reduce((previousValue, currentValue) => [...previousValue, ...currentValue], []);
@@ -266,8 +266,8 @@ class Dropdown extends LitElement {
266
266
  this.topLayer.hide();
267
267
  }
268
268
  setReferenceEl(el) {
269
- const previousReferenceEl = this.referenceEl instanceof HTMLElement ? this.referenceEl : null;
270
- const nextReferenceEl = el instanceof HTMLElement ? el : null;
269
+ const previousReferenceEl = this.referenceEl instanceof HTMLElement ? this.referenceEl : void 0;
270
+ const nextReferenceEl = el instanceof HTMLElement ? el : void 0;
271
271
  updateRefObserver(this.resizeObserver, previousReferenceEl, nextReferenceEl);
272
272
  if (this.referenceElementType || !nextReferenceEl) {
273
273
  return;
@@ -339,6 +339,9 @@ class Dropdown extends LitElement {
339
339
  this.selectedItems = this.items.filter((item) => item.selected);
340
340
  }
341
341
  getYDistanceFromScroller(last) {
342
+ if (!last) {
343
+ return NaN;
344
+ }
342
345
  const style = last.getBoundingClientRect();
343
346
  return last.offsetTop + style.height;
344
347
  }
@@ -380,7 +383,7 @@ class Dropdown extends LitElement {
380
383
  this.items.forEach((item) => {
381
384
  item.activeDescendant = item === activeItem;
382
385
  });
383
- this.activeDescendantElement = activeItem ?? null;
386
+ this.activeDescendantElement = activeItem ?? void 0;
384
387
  }
385
388
  navigateActiveItem(direction) {
386
389
  const traversableItems = this.getTraversableItems();
@@ -446,7 +449,7 @@ class Dropdown extends LitElement {
446
449
  }
447
450
  render() {
448
451
  const { open } = this;
449
- return this.interactiveContainer({ disabled: this.disabled, children: html`${!this.referenceElementType ? html`<div class=${safeClassMap(CSS.triggerContainer)} @click=${this.toggleClickDropdown} @focusin=${this.openHoverDropdown} @focusout=${this.closeHoverDropdown} @keydown=${this.keyDownHandler} ${ref(this.setReferenceEl)}><slot .ariaActiveDescendantElement=${this.activeDescendantElement ?? null} .ariaControlsElements=${this.scrollerEl ? [this.scrollerEl] : void 0} .ariaExpanded=${open} aria-haspopup=menu name=${SLOTS.trigger}></slot></div>` : null}<div class=${safeClassMap({
452
+ return this.interactiveContainer({ disabled: this.disabled, children: html`${!this.referenceElementType ? html`<div class=${safeClassMap(CSS.triggerContainer)} @click=${this.toggleClickDropdown} @focusin=${this.openHoverDropdown} @focusout=${this.closeHoverDropdown} @keydown=${this.keyDownHandler} ${ref(this.setReferenceEl)}><slot .ariaActiveDescendantElement=${this.activeDescendantElement ?? void 0} .ariaControlsElements=${this.scrollerEl ? [this.scrollerEl] : void 0} .ariaExpanded=${open} aria-haspopup=menu name=${SLOTS.trigger}></slot></div>` : null}<div class=${safeClassMap({
450
453
  [CSS.wrapper]: true,
451
454
  [getDimensionClass("width", this.width, this.widthScale)]: !!(this.width || this.widthScale)
452
455
  })} .inert=${!open} popover=manual ${ref(this.setFloatingEl)}><div .ariaLabelledByElements=${this.referenceEl instanceof HTMLElement ? [this.referenceEl] : void 0} class=${safeClassMap({
@@ -9,7 +9,7 @@ import type { SelectionMode } from "../interfaces.js";
9
9
  */
10
10
  export abstract class DropdownGroup extends LitElement {
11
11
  /** When specified, displays a group title. */
12
- accessor groupTitle: string;
12
+ accessor groupTitle: string | undefined;
13
13
  /**
14
14
  * The position of the group in the dropdown menu.
15
15
  *
@@ -57,7 +57,7 @@ class DropdownGroup extends LitElement {
57
57
  render() {
58
58
  const groupTitle = this.groupTitle ? html`<span aria-hidden=true class=${safeClassMap({ [CSS.title]: true, [CSS.firstTitle]: this.position === 0 })}>${this.groupTitle}</span>` : null;
59
59
  const dropdownSeparator = this.position > 0 ? html`<div class=${safeClassMap(CSS.separator)} role=separator></div>` : null;
60
- this.el.ariaLabel = this.groupTitle;
60
+ this.el.ariaLabel = this.groupTitle ?? null;
61
61
  this.el.role = "group";
62
62
  return html`<div class=${safeClassMap({
63
63
  [CSS$1.container]: true
@@ -24,17 +24,17 @@ export abstract class DropdownItem extends LitElement {
24
24
  *
25
25
  * Determines if the component will render as an anchor.
26
26
  */
27
- accessor href: string;
27
+ accessor href: string | undefined;
28
28
  /** Specifies an icon to display at the end of the component. */
29
- accessor iconEnd: IconName;
29
+ accessor iconEnd: IconName | undefined;
30
30
  /** When the element direction is right-to-left (`"rtl"`), flips the component's `iconStart` and/or `iconEnd`. */
31
- accessor iconFlipRtl: FlipContext;
31
+ accessor iconFlipRtl: FlipContext | undefined;
32
32
  /** Specifies an icon to display at the start of the component. */
33
- accessor iconStart: IconName;
33
+ accessor iconStart: IconName | undefined;
34
34
  /** Specifies an accessible label for the component. */
35
- accessor label: string;
35
+ accessor label: string | undefined;
36
36
  /** Specifies the relationship to the linked resource defined in `href`. */
37
- accessor rel: string;
37
+ accessor rel: string | undefined;
38
38
  /**
39
39
  * When `true`, the component is selected.
40
40
  *
@@ -42,7 +42,7 @@ export abstract class DropdownItem extends LitElement {
42
42
  */
43
43
  accessor selected: boolean;
44
44
  /** Specifies the frame or window to open the linked resource. */
45
- accessor target: string;
45
+ accessor target: string | undefined;
46
46
  /**
47
47
  * Sets focus on the component.
48
48
  *
@@ -55,7 +55,7 @@ class DropdownItem extends LitElement {
55
55
  this.emitRequestedItem();
56
56
  }
57
57
  updateActiveItemOnChange(event) {
58
- const parentEmittedChange = event.composedPath().includes(this.parentDropdownGroupEl);
58
+ const parentEmittedChange = this.parentDropdownGroupEl && event.composedPath().includes(this.parentDropdownGroupEl);
59
59
  if (parentEmittedChange) {
60
60
  this.requestedDropdownGroup = event.detail.requestedDropdownGroup;
61
61
  this.requestedDropdownItem = event.detail.requestedDropdownItem;
@@ -64,7 +64,7 @@ class DropdownItem extends LitElement {
64
64
  event.stopPropagation();
65
65
  }
66
66
  initialize() {
67
- this.parentDropdownGroupEl = this.el.closest("calcite-dropdown-group");
67
+ this.parentDropdownGroupEl = this.el.closest("calcite-dropdown-group") ?? void 0;
68
68
  if (this.selectionMode === "none") {
69
69
  this.selected = false;
70
70
  }
@@ -106,7 +106,7 @@ class DropdownItem extends LitElement {
106
106
  const itemAria = selectionMode !== "none" ? toAriaBoolean(this.selected) : null;
107
107
  const { disabled } = this;
108
108
  this.el.ariaChecked = itemAria;
109
- this.el.ariaLabel = !href ? label : "";
109
+ this.el.ariaLabel = !href ? label ?? null : "";
110
110
  this.el.role = itemRole;
111
111
  setAttribute(this.el, "tabIndex", -1);
112
112
  return this.interactiveContainer({ disabled, children: html`<div class=${safeClassMap({