@esri/calcite-components 1.0.0-beta.74 → 1.0.0-beta.75

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 (501) hide show
  1. package/dist/calcite/calcite.esm.js +1 -1
  2. package/dist/calcite/p-0164361f.system.entry.js +5 -0
  3. package/dist/calcite/{p-e1944963.js → p-01b7adb5.js} +1 -1
  4. package/dist/calcite/{p-f95fb85f.entry.js → p-04bf684c.entry.js} +1 -1
  5. package/dist/calcite/p-06dbe76a.system.entry.js +5 -0
  6. package/dist/calcite/p-06fbc0f2.system.entry.js +5 -0
  7. package/dist/calcite/p-08be120f.entry.js +5 -0
  8. package/dist/calcite/p-0a5d059d.js +5 -0
  9. package/dist/calcite/p-0a85cd8c.system.entry.js +5 -0
  10. package/dist/calcite/{p-8b145872.system.entry.js → p-0b552c00.system.entry.js} +1 -1
  11. package/dist/calcite/{p-e690993e.system.entry.js → p-0cb38659.system.entry.js} +1 -1
  12. package/dist/calcite/{p-a348ffb1.system.entry.js → p-10b1b39a.system.entry.js} +1 -1
  13. package/dist/calcite/{p-99d29b5c.system.entry.js → p-12142a2c.system.entry.js} +1 -1
  14. package/dist/calcite/p-146d8510.entry.js +5 -0
  15. package/dist/calcite/{p-d5d91f34.system.entry.js → p-14ca5cdf.system.entry.js} +1 -1
  16. package/dist/calcite/{p-3d4c34e5.js → p-14e47d1b.js} +1 -1
  17. package/dist/calcite/{p-21f26f77.entry.js → p-1668089f.entry.js} +1 -1
  18. package/dist/calcite/{p-8ebed170.system.entry.js → p-1804c868.system.entry.js} +1 -1
  19. package/dist/calcite/{p-fbcaa23c.system.js → p-1a3a366d.system.js} +1 -1
  20. package/dist/calcite/{p-6515e0a5.entry.js → p-20e3fc50.entry.js} +1 -1
  21. package/dist/calcite/{p-46b63d75.entry.js → p-2218fef5.entry.js} +1 -1
  22. package/dist/calcite/{p-38e64c6b.entry.js → p-2297db38.entry.js} +1 -1
  23. package/dist/calcite/p-243985d8.system.entry.js +5 -0
  24. package/dist/calcite/p-2e324a56.system.entry.js +5 -0
  25. package/dist/calcite/{p-e2094dff.system.entry.js → p-2e351904.system.entry.js} +1 -1
  26. package/dist/calcite/{p-1894562d.system.entry.js → p-32d61433.system.entry.js} +1 -1
  27. package/dist/calcite/p-39d4d1b1.system.entry.js +5 -0
  28. package/dist/calcite/p-3cdf0ad5.system.entry.js +5 -0
  29. package/dist/calcite/{p-897fc280.system.entry.js → p-40c3d7a6.system.entry.js} +1 -1
  30. package/dist/calcite/{p-52871e84.system.js → p-44aa1db4.system.js} +1 -1
  31. package/dist/calcite/{p-16cfe8e8.entry.js → p-49782820.entry.js} +1 -1
  32. package/dist/calcite/p-500300b5.entry.js +5 -0
  33. package/dist/calcite/{p-e0fa3b13.system.entry.js → p-54bb21f5.system.entry.js} +1 -1
  34. package/dist/calcite/{p-4d22b788.entry.js → p-54edaa0d.entry.js} +1 -1
  35. package/dist/calcite/{p-51a85436.entry.js → p-58eb8460.entry.js} +1 -1
  36. package/dist/calcite/p-5a77fd17.entry.js +5 -0
  37. package/dist/calcite/{p-b80ab9ba.entry.js → p-5b8404de.entry.js} +1 -1
  38. package/dist/calcite/{p-f09810e7.entry.js → p-5d12a140.entry.js} +1 -1
  39. package/dist/calcite/{p-f5469b62.system.entry.js → p-5d7da300.system.entry.js} +1 -1
  40. package/dist/calcite/p-5f5bfaa5.entry.js +5 -0
  41. package/dist/calcite/p-617c3f30.system.entry.js +5 -0
  42. package/dist/calcite/p-63f8783a.entry.js +5 -0
  43. package/dist/calcite/p-647d22ef.js +5 -0
  44. package/dist/calcite/p-64a5e88c.entry.js +5 -0
  45. package/dist/calcite/{p-f90b2e7f.entry.js → p-6969dabb.entry.js} +1 -1
  46. package/dist/calcite/p-6afd69dc.system.entry.js +5 -0
  47. package/dist/calcite/p-6fb9fef5.entry.js +5 -0
  48. package/dist/calcite/{p-14ff4cbd.system.js → p-70dd483b.system.js} +1 -1
  49. package/dist/calcite/p-7165e37e.entry.js +5 -0
  50. package/dist/calcite/p-754809de.entry.js +5 -0
  51. package/dist/calcite/{p-02589ad3.system.entry.js → p-7743a8d0.system.entry.js} +1 -1
  52. package/dist/calcite/{p-799f0655.entry.js → p-786b8250.entry.js} +1 -1
  53. package/dist/calcite/p-78725919.entry.js +5 -0
  54. package/dist/calcite/p-7a6c932d.system.entry.js +5 -0
  55. package/dist/calcite/p-7bdeb3ba.system.entry.js +5 -0
  56. package/dist/calcite/{p-e6d14bc5.system.entry.js → p-7d4316a1.system.entry.js} +1 -1
  57. package/dist/calcite/{p-d1794edd.entry.js → p-82491929.entry.js} +1 -1
  58. package/dist/calcite/p-8604c625.system.entry.js +5 -0
  59. package/dist/calcite/{p-436d9f0e.system.entry.js → p-86b63ebb.system.entry.js} +1 -1
  60. package/dist/calcite/{p-10f1a096.system.entry.js → p-8709d314.system.entry.js} +1 -1
  61. package/dist/calcite/p-8ba8a357.system.js +5 -0
  62. package/dist/calcite/{p-bda51610.entry.js → p-8e4aa7f7.entry.js} +1 -1
  63. package/dist/calcite/p-8f2c68f4.system.entry.js +5 -0
  64. package/dist/calcite/p-8f3a3e4e.js +5 -0
  65. package/dist/calcite/{p-7f5bd070.system.entry.js → p-900e18a5.system.entry.js} +1 -1
  66. package/dist/calcite/{p-e606e9ae.system.entry.js → p-92d9b81d.system.entry.js} +1 -1
  67. package/dist/calcite/p-9716c57c.entry.js +5 -0
  68. package/dist/calcite/p-97375cc0.entry.js +5 -0
  69. package/dist/calcite/p-99422223.system.entry.js +5 -0
  70. package/dist/calcite/p-99d32fc3.system.js +1 -1
  71. package/dist/calcite/p-9a7c4812.js +5 -0
  72. package/dist/calcite/{p-45bfe5bf.system.entry.js → p-9ca6c750.system.entry.js} +1 -1
  73. package/dist/calcite/p-9d7102c0.entry.js +5 -0
  74. package/dist/calcite/p-9e2c9752.entry.js +5 -0
  75. package/dist/calcite/p-9f49c4fe.system.entry.js +5 -0
  76. package/dist/calcite/p-a50e52f1.entry.js +5 -0
  77. package/dist/calcite/{p-28dea60a.system.js → p-a99c8ebf.system.js} +1 -1
  78. package/dist/calcite/p-ab14b0a2.system.js +5 -0
  79. package/dist/calcite/p-abe7730b.entry.js +5 -0
  80. package/dist/calcite/{p-db10485b.system.js → p-ac4aec20.system.js} +1 -1
  81. package/dist/calcite/{p-132d55c2.entry.js → p-af669f43.entry.js} +1 -1
  82. package/dist/calcite/{p-8f4ea148.system.entry.js → p-af84fa29.system.entry.js} +1 -1
  83. package/dist/calcite/p-b002b038.entry.js +5 -0
  84. package/dist/calcite/p-b86f0930.system.entry.js +5 -0
  85. package/dist/calcite/p-b9a47a94.system.entry.js +5 -0
  86. package/dist/calcite/p-b9adf89d.system.entry.js +5 -0
  87. package/dist/calcite/{p-eea18662.entry.js → p-baca86e3.entry.js} +1 -1
  88. package/dist/calcite/p-bd576ae0.system.entry.js +5 -0
  89. package/dist/calcite/{p-209f2049.entry.js → p-bde80af8.entry.js} +1 -1
  90. package/dist/calcite/p-be231b84.entry.js +5 -0
  91. package/dist/calcite/{p-51550014.entry.js → p-c1c37da9.entry.js} +1 -1
  92. package/dist/calcite/p-c5463268.system.entry.js +5 -0
  93. package/dist/calcite/p-c5b3d90c.entry.js +5 -0
  94. package/dist/calcite/p-c6cb0aa2.entry.js +5 -0
  95. package/dist/calcite/{p-0b0ce9b2.system.entry.js → p-cd9d106b.system.entry.js} +1 -1
  96. package/dist/calcite/{p-3e9e4992.entry.js → p-d14265f3.entry.js} +1 -1
  97. package/dist/calcite/p-da470de7.entry.js +5 -0
  98. package/dist/calcite/{p-7f32a681.system.entry.js → p-e1491358.system.entry.js} +1 -1
  99. package/dist/calcite/{p-781ebed0.system.js → p-e2047621.system.js} +1 -1
  100. package/dist/calcite/p-e4862fff.entry.js +5 -0
  101. package/dist/calcite/{p-05dc6806.entry.js → p-e5420c67.entry.js} +1 -1
  102. package/dist/calcite/p-e5526c34.entry.js +5 -0
  103. package/dist/calcite/p-e5c2a6eb.entry.js +5 -0
  104. package/dist/calcite/{p-bb9fb183.system.entry.js → p-e83a5fe4.system.entry.js} +1 -1
  105. package/dist/calcite/{p-fcd62e97.js → p-e8e0f3b7.js} +1 -1
  106. package/dist/calcite/p-ea510477.js +5 -0
  107. package/dist/calcite/{p-3a20f93d.system.js → p-ec9bab33.system.js} +1 -1
  108. package/dist/calcite/{p-32f6f7df.entry.js → p-ee14736a.entry.js} +1 -1
  109. package/dist/calcite/{p-41894582.js → p-eeb91710.js} +1 -1
  110. package/dist/calcite/p-f12c35de.system.entry.js +5 -0
  111. package/dist/calcite/p-f1dc4798.entry.js +5 -0
  112. package/dist/calcite/{p-5c256f31.system.entry.js → p-f24ddc56.system.entry.js} +1 -1
  113. package/dist/calcite/{p-088a096d.system.entry.js → p-f4d9c369.system.entry.js} +1 -1
  114. package/dist/calcite/{p-59133b9b.entry.js → p-f7572da7.entry.js} +1 -1
  115. package/dist/calcite/{p-8468ddb0.system.entry.js → p-fbd68dbf.system.entry.js} +1 -1
  116. package/dist/calcite/p-ff04cfb1.system.entry.js +5 -0
  117. package/dist/cjs/{CalciteExpandToggle-65468585.js → CalciteExpandToggle-d24fed0e.js} +1 -1
  118. package/dist/cjs/calcite-accordion_2.cjs.entry.js +1 -1
  119. package/dist/cjs/calcite-action-bar.cjs.entry.js +6 -27
  120. package/dist/cjs/calcite-action-group.cjs.entry.js +14 -1
  121. package/dist/cjs/calcite-action-menu.cjs.entry.js +5 -2
  122. package/dist/cjs/calcite-action-pad.cjs.entry.js +10 -2
  123. package/dist/cjs/calcite-action.cjs.entry.js +2 -2
  124. package/dist/cjs/calcite-alert.cjs.entry.js +16 -10
  125. package/dist/cjs/calcite-avatar.cjs.entry.js +1 -1
  126. package/dist/cjs/calcite-block_2.cjs.entry.js +15 -2
  127. package/dist/cjs/calcite-button.cjs.entry.js +3 -3
  128. package/dist/cjs/calcite-card.cjs.entry.js +17 -6
  129. package/dist/cjs/calcite-checkbox.cjs.entry.js +3 -3
  130. package/dist/cjs/calcite-chip.cjs.entry.js +15 -2
  131. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +16 -1
  132. package/dist/cjs/calcite-combobox_3.cjs.entry.js +35 -21
  133. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +2 -2
  134. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +15 -11
  135. package/dist/cjs/calcite-fab.cjs.entry.js +1 -1
  136. package/dist/cjs/calcite-filter.cjs.entry.js +1 -1
  137. package/dist/cjs/calcite-flow.cjs.entry.js +1 -1
  138. package/dist/cjs/calcite-graph_2.cjs.entry.js +20 -13
  139. package/dist/cjs/calcite-icon.cjs.entry.js +2 -2
  140. package/dist/cjs/calcite-inline-editable.cjs.entry.js +7 -7
  141. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +5 -5
  142. package/dist/cjs/calcite-input-message.cjs.entry.js +1 -1
  143. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +3 -3
  144. package/dist/cjs/calcite-input.cjs.entry.js +99 -39
  145. package/dist/cjs/calcite-link.cjs.entry.js +14 -3
  146. package/dist/cjs/calcite-list_3.cjs.entry.js +14 -1
  147. package/dist/cjs/calcite-modal.cjs.entry.js +7 -4
  148. package/dist/cjs/calcite-notice.cjs.entry.js +9 -1
  149. package/dist/cjs/calcite-option_3.cjs.entry.js +4 -4
  150. package/dist/cjs/calcite-panel.cjs.entry.js +19 -13
  151. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +26 -3
  152. package/dist/cjs/calcite-popover_2.cjs.entry.js +2 -2
  153. package/dist/cjs/calcite-radio-button.cjs.entry.js +3 -3
  154. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +3 -3
  155. package/dist/cjs/calcite-rating.cjs.entry.js +3 -3
  156. package/dist/cjs/calcite-shell_3.cjs.entry.js +36 -8
  157. package/dist/cjs/calcite-sortable-list.cjs.entry.js +1 -1
  158. package/dist/cjs/calcite-stepper_2.cjs.entry.js +1 -1
  159. package/dist/cjs/calcite-switch.cjs.entry.js +3 -3
  160. package/dist/cjs/calcite-tab_4.cjs.entry.js +2 -2
  161. package/dist/cjs/calcite-tile.cjs.entry.js +14 -1
  162. package/dist/cjs/calcite-tip_3.cjs.entry.js +15 -3
  163. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +2 -2
  164. package/dist/cjs/calcite-tree_2.cjs.entry.js +9 -2
  165. package/dist/cjs/calcite-value-list_2.cjs.entry.js +15 -3
  166. package/dist/cjs/calcite.cjs.js +1 -1
  167. package/dist/cjs/conditionalSlot-92505fba.js +43 -0
  168. package/dist/cjs/{dom-0de9fb18.js → dom-f3df220d.js} +13 -10
  169. package/dist/cjs/{form-4b7c317e.js → form-237cf392.js} +1 -1
  170. package/dist/cjs/{label-1bca211b.js → label-6b18ca08.js} +1 -1
  171. package/dist/cjs/loader.cjs.js +1 -1
  172. package/dist/cjs/{observers-41837607.js → observers-79bfb8bc.js} +5 -1
  173. package/dist/cjs/{popper-09105f6f.js → popper-13a2bb46.js} +1 -1
  174. package/dist/cjs/{resources-9f0994fb.js → resources-11763017.js} +4 -3
  175. package/dist/cjs/{resources-405cc2c4.js → resources-95073e41.js} +1 -1
  176. package/dist/collection/components/calcite-action/calcite-action.css +1 -0
  177. package/dist/collection/components/calcite-action-group/calcite-action-group.js +12 -0
  178. package/dist/collection/components/calcite-action-menu/calcite-action-menu.js +3 -0
  179. package/dist/collection/components/calcite-action-pad/calcite-action-pad.js +7 -0
  180. package/dist/collection/components/calcite-alert/calcite-alert.js +15 -9
  181. package/dist/collection/components/calcite-block/calcite-block.js +13 -1
  182. package/dist/collection/components/calcite-card/calcite-card.js +15 -6
  183. package/dist/collection/components/calcite-chip/calcite-chip.js +13 -1
  184. package/dist/collection/components/calcite-combobox/calcite-combobox.js +43 -13
  185. package/dist/collection/components/calcite-combobox/resources.js +3 -0
  186. package/dist/collection/components/calcite-combobox-item/calcite-combobox-item.js +9 -7
  187. package/dist/collection/components/calcite-date-picker/utils.js +4 -3
  188. package/dist/collection/components/calcite-dropdown/calcite-dropdown.css +1 -1
  189. package/dist/collection/components/calcite-dropdown/calcite-dropdown.js +12 -7
  190. package/dist/collection/components/calcite-graph/calcite-graph.css +3 -5
  191. package/dist/collection/components/calcite-graph/calcite-graph.js +13 -42
  192. package/dist/collection/components/calcite-inline-editable/calcite-inline-editable.js +15 -21
  193. package/dist/collection/components/calcite-input/calcite-input.js +96 -36
  194. package/dist/collection/components/calcite-link/calcite-link.js +31 -2
  195. package/dist/collection/components/calcite-list-item/calcite-list-item.js +12 -0
  196. package/dist/collection/components/calcite-modal/calcite-modal.js +5 -2
  197. package/dist/collection/components/calcite-notice/calcite-notice.js +7 -0
  198. package/dist/collection/components/calcite-panel/calcite-panel.js +19 -14
  199. package/dist/collection/components/calcite-pick-list-group/calcite-pick-list-group.js +12 -0
  200. package/dist/collection/components/calcite-pick-list-item/calcite-pick-list-item.js +12 -0
  201. package/dist/collection/components/calcite-shell/calcite-shell.js +14 -2
  202. package/dist/collection/components/calcite-shell-center-row/calcite-shell-center-row.js +13 -1
  203. package/dist/collection/components/calcite-shell-panel/calcite-shell-panel.js +9 -4
  204. package/dist/collection/components/calcite-slider/calcite-slider.css +4 -0
  205. package/dist/collection/components/calcite-slider/calcite-slider.js +3 -4
  206. package/dist/collection/components/calcite-tile/calcite-tile.js +12 -0
  207. package/dist/collection/components/calcite-tip/calcite-tip.js +13 -1
  208. package/dist/collection/components/calcite-tree/calcite-tree.js +2 -1
  209. package/dist/collection/components/calcite-tree-item/calcite-tree-item.js +5 -0
  210. package/dist/collection/components/calcite-value-list-item/calcite-value-list-item.js +12 -0
  211. package/dist/collection/utils/conditionalSlot.js +22 -11
  212. package/dist/collection/utils/dom.js +13 -10
  213. package/dist/collection/utils/globalAttributes.js +59 -0
  214. package/dist/collection/utils/observers.js +5 -1
  215. package/dist/components/calcite-action-bar.js +2 -23
  216. package/dist/components/calcite-action-group2.js +12 -0
  217. package/dist/components/calcite-action-menu2.js +3 -0
  218. package/dist/components/calcite-action-pad.js +7 -0
  219. package/dist/components/calcite-action2.js +1 -1
  220. package/dist/components/calcite-alert.js +15 -9
  221. package/dist/components/calcite-block.js +13 -1
  222. package/dist/components/calcite-card.js +15 -6
  223. package/dist/components/calcite-chip2.js +13 -1
  224. package/dist/components/calcite-color-picker-swatch2.js +15 -0
  225. package/dist/components/calcite-combobox-item.js +8 -6
  226. package/dist/components/calcite-combobox.js +22 -12
  227. package/dist/components/calcite-date-picker2.js +4 -3
  228. package/dist/components/calcite-dropdown2.js +12 -8
  229. package/dist/components/calcite-graph2.js +14 -9
  230. package/dist/components/calcite-inline-editable.js +5 -5
  231. package/dist/components/calcite-input2.js +96 -36
  232. package/dist/components/calcite-link2.js +14 -2
  233. package/dist/components/calcite-list-item.js +12 -0
  234. package/dist/components/calcite-modal.js +5 -2
  235. package/dist/components/calcite-notice.js +7 -0
  236. package/dist/components/calcite-panel.js +17 -12
  237. package/dist/components/calcite-pick-list-group.js +12 -0
  238. package/dist/components/calcite-pick-list-item2.js +12 -0
  239. package/dist/components/calcite-shell-center-row.js +13 -1
  240. package/dist/components/calcite-shell-panel.js +9 -4
  241. package/dist/components/calcite-shell.js +14 -2
  242. package/dist/components/calcite-slider.js +4 -4
  243. package/dist/components/calcite-tile2.js +12 -0
  244. package/dist/components/calcite-tip.js +13 -1
  245. package/dist/components/calcite-tree-item.js +5 -0
  246. package/dist/components/calcite-tree.js +2 -1
  247. package/dist/components/calcite-value-list-item.js +12 -0
  248. package/dist/components/conditionalSlot.js +40 -0
  249. package/dist/components/dom.js +13 -10
  250. package/dist/components/observers.js +5 -1
  251. package/dist/components/utils2.js +4 -1
  252. package/dist/custom-elements/index.js +488 -198
  253. package/dist/esm/{CalciteExpandToggle-48b6e955.js → CalciteExpandToggle-cff030be.js} +1 -1
  254. package/dist/esm/calcite-accordion_2.entry.js +1 -1
  255. package/dist/esm/calcite-action-bar.entry.js +5 -26
  256. package/dist/esm/calcite-action-group.entry.js +14 -1
  257. package/dist/esm/calcite-action-menu.entry.js +5 -2
  258. package/dist/esm/calcite-action-pad.entry.js +10 -2
  259. package/dist/esm/calcite-action.entry.js +2 -2
  260. package/dist/esm/calcite-alert.entry.js +16 -10
  261. package/dist/esm/calcite-avatar.entry.js +1 -1
  262. package/dist/esm/calcite-block_2.entry.js +15 -2
  263. package/dist/esm/calcite-button.entry.js +3 -3
  264. package/dist/esm/calcite-card.entry.js +17 -6
  265. package/dist/esm/calcite-checkbox.entry.js +3 -3
  266. package/dist/esm/calcite-chip.entry.js +15 -2
  267. package/dist/esm/calcite-color-picker_3.entry.js +16 -1
  268. package/dist/esm/calcite-combobox_3.entry.js +35 -21
  269. package/dist/esm/calcite-date-picker_4.entry.js +2 -2
  270. package/dist/esm/calcite-dropdown_3.entry.js +15 -11
  271. package/dist/esm/calcite-fab.entry.js +1 -1
  272. package/dist/esm/calcite-filter.entry.js +1 -1
  273. package/dist/esm/calcite-flow.entry.js +1 -1
  274. package/dist/esm/calcite-graph_2.entry.js +21 -14
  275. package/dist/esm/calcite-icon.entry.js +2 -2
  276. package/dist/esm/calcite-inline-editable.entry.js +7 -7
  277. package/dist/esm/calcite-input-date-picker.entry.js +5 -5
  278. package/dist/esm/calcite-input-message.entry.js +1 -1
  279. package/dist/esm/calcite-input-time-picker_2.entry.js +3 -3
  280. package/dist/esm/calcite-input.entry.js +99 -39
  281. package/dist/esm/calcite-link.entry.js +14 -3
  282. package/dist/esm/calcite-list_3.entry.js +14 -1
  283. package/dist/esm/calcite-modal.entry.js +7 -4
  284. package/dist/esm/calcite-notice.entry.js +9 -1
  285. package/dist/esm/calcite-option_3.entry.js +4 -4
  286. package/dist/esm/calcite-panel.entry.js +19 -13
  287. package/dist/esm/calcite-pick-list_3.entry.js +26 -3
  288. package/dist/esm/calcite-popover_2.entry.js +2 -2
  289. package/dist/esm/calcite-radio-button.entry.js +3 -3
  290. package/dist/esm/calcite-radio-group_2.entry.js +3 -3
  291. package/dist/esm/calcite-rating.entry.js +3 -3
  292. package/dist/esm/calcite-shell_3.entry.js +36 -8
  293. package/dist/esm/calcite-sortable-list.entry.js +1 -1
  294. package/dist/esm/calcite-stepper_2.entry.js +1 -1
  295. package/dist/esm/calcite-switch.entry.js +3 -3
  296. package/dist/esm/calcite-tab_4.entry.js +2 -2
  297. package/dist/esm/calcite-tile.entry.js +14 -1
  298. package/dist/esm/calcite-tip_3.entry.js +15 -3
  299. package/dist/esm/calcite-tooltip_2.entry.js +2 -2
  300. package/dist/esm/calcite-tree_2.entry.js +9 -2
  301. package/dist/esm/calcite-value-list_2.entry.js +15 -3
  302. package/dist/esm/calcite.js +1 -1
  303. package/dist/esm/conditionalSlot-9e7d8609.js +40 -0
  304. package/dist/esm/{dom-037dc374.js → dom-e7fa77b9.js} +13 -10
  305. package/dist/esm/{form-72369b73.js → form-f90706b4.js} +1 -1
  306. package/dist/esm/{label-712646d2.js → label-2bffc9f4.js} +1 -1
  307. package/dist/esm/loader.js +1 -1
  308. package/dist/esm/{observers-8f0bc419.js → observers-46118290.js} +5 -1
  309. package/dist/esm/{popper-7a7fd3b5.js → popper-ae231554.js} +1 -1
  310. package/dist/esm/{resources-03c0a433.js → resources-95c5e8a6.js} +1 -1
  311. package/dist/esm/{resources-90193940.js → resources-c768953c.js} +4 -3
  312. package/dist/esm-es5/{CalciteExpandToggle-48b6e955.js → CalciteExpandToggle-cff030be.js} +1 -1
  313. package/dist/esm-es5/calcite-accordion_2.entry.js +1 -1
  314. package/dist/esm-es5/calcite-action-bar.entry.js +1 -1
  315. package/dist/esm-es5/calcite-action-group.entry.js +1 -1
  316. package/dist/esm-es5/calcite-action-menu.entry.js +2 -2
  317. package/dist/esm-es5/calcite-action-pad.entry.js +2 -2
  318. package/dist/esm-es5/calcite-action.entry.js +1 -1
  319. package/dist/esm-es5/calcite-alert.entry.js +1 -1
  320. package/dist/esm-es5/calcite-avatar.entry.js +1 -1
  321. package/dist/esm-es5/calcite-block_2.entry.js +1 -1
  322. package/dist/esm-es5/calcite-button.entry.js +1 -1
  323. package/dist/esm-es5/calcite-card.entry.js +1 -1
  324. package/dist/esm-es5/calcite-checkbox.entry.js +1 -1
  325. package/dist/esm-es5/calcite-chip.entry.js +2 -2
  326. package/dist/esm-es5/calcite-color-picker_3.entry.js +1 -1
  327. package/dist/esm-es5/calcite-combobox_3.entry.js +2 -2
  328. package/dist/esm-es5/calcite-date-picker_4.entry.js +1 -1
  329. package/dist/esm-es5/calcite-dropdown_3.entry.js +1 -1
  330. package/dist/esm-es5/calcite-fab.entry.js +1 -1
  331. package/dist/esm-es5/calcite-filter.entry.js +1 -1
  332. package/dist/esm-es5/calcite-flow.entry.js +1 -1
  333. package/dist/esm-es5/calcite-graph_2.entry.js +1 -1
  334. package/dist/esm-es5/calcite-icon.entry.js +1 -1
  335. package/dist/esm-es5/calcite-inline-editable.entry.js +2 -2
  336. package/dist/esm-es5/calcite-input-date-picker.entry.js +1 -1
  337. package/dist/esm-es5/calcite-input-message.entry.js +1 -1
  338. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +1 -1
  339. package/dist/esm-es5/calcite-input.entry.js +1 -1
  340. package/dist/esm-es5/calcite-link.entry.js +2 -2
  341. package/dist/esm-es5/calcite-list_3.entry.js +1 -1
  342. package/dist/esm-es5/calcite-modal.entry.js +1 -1
  343. package/dist/esm-es5/calcite-notice.entry.js +2 -2
  344. package/dist/esm-es5/calcite-option_3.entry.js +1 -1
  345. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  346. package/dist/esm-es5/calcite-pick-list_3.entry.js +1 -1
  347. package/dist/esm-es5/calcite-popover_2.entry.js +2 -2
  348. package/dist/esm-es5/calcite-radio-button.entry.js +1 -1
  349. package/dist/esm-es5/calcite-radio-group_2.entry.js +1 -1
  350. package/dist/esm-es5/calcite-rating.entry.js +2 -2
  351. package/dist/esm-es5/calcite-shell_3.entry.js +1 -1
  352. package/dist/esm-es5/calcite-sortable-list.entry.js +1 -1
  353. package/dist/esm-es5/calcite-stepper_2.entry.js +1 -1
  354. package/dist/esm-es5/calcite-switch.entry.js +1 -1
  355. package/dist/esm-es5/calcite-tab_4.entry.js +1 -1
  356. package/dist/esm-es5/calcite-tile.entry.js +1 -1
  357. package/dist/esm-es5/calcite-tip_3.entry.js +1 -1
  358. package/dist/esm-es5/calcite-tooltip_2.entry.js +1 -1
  359. package/dist/esm-es5/calcite-tree_2.entry.js +1 -1
  360. package/dist/esm-es5/calcite-value-list_2.entry.js +1 -1
  361. package/dist/esm-es5/calcite.js +1 -1
  362. package/dist/esm-es5/conditionalSlot-9e7d8609.js +5 -0
  363. package/dist/esm-es5/dom-e7fa77b9.js +5 -0
  364. package/dist/esm-es5/{form-72369b73.js → form-f90706b4.js} +1 -1
  365. package/dist/esm-es5/{label-712646d2.js → label-2bffc9f4.js} +1 -1
  366. package/dist/esm-es5/loader.js +1 -1
  367. package/dist/esm-es5/{observers-8f0bc419.js → observers-46118290.js} +1 -1
  368. package/dist/esm-es5/{popper-7a7fd3b5.js → popper-ae231554.js} +1 -1
  369. package/dist/esm-es5/{resources-03c0a433.js → resources-95c5e8a6.js} +1 -1
  370. package/dist/esm-es5/resources-c768953c.js +5 -0
  371. package/dist/extras/docs-json.json +63 -36
  372. package/dist/types/components/calcite-action-group/calcite-action-group.d.ts +4 -1
  373. package/dist/types/components/calcite-action-menu/calcite-action-menu.d.ts +2 -1
  374. package/dist/types/components/calcite-action-pad/calcite-action-pad.d.ts +4 -1
  375. package/dist/types/components/calcite-alert/calcite-alert.d.ts +2 -0
  376. package/dist/types/components/calcite-block/calcite-block.d.ts +4 -1
  377. package/dist/types/components/calcite-card/calcite-card.d.ts +4 -1
  378. package/dist/types/components/calcite-chip/calcite-chip.d.ts +4 -1
  379. package/dist/types/components/calcite-combobox/calcite-combobox.d.ts +4 -0
  380. package/dist/types/components/calcite-combobox/resources.d.ts +3 -0
  381. package/dist/types/components/calcite-combobox-item/calcite-combobox-item.d.ts +3 -3
  382. package/dist/types/components/calcite-dropdown/calcite-dropdown.d.ts +1 -0
  383. package/dist/types/components/calcite-graph/calcite-graph.d.ts +3 -4
  384. package/dist/types/components/calcite-inline-editable/calcite-inline-editable.d.ts +5 -5
  385. package/dist/types/components/calcite-input/calcite-input.d.ts +6 -1
  386. package/dist/types/components/calcite-link/calcite-link.d.ts +5 -0
  387. package/dist/types/components/calcite-list-item/calcite-list-item.d.ts +4 -1
  388. package/dist/types/components/calcite-modal/calcite-modal.d.ts +2 -1
  389. package/dist/types/components/calcite-notice/calcite-notice.d.ts +4 -1
  390. package/dist/types/components/calcite-panel/calcite-panel.d.ts +5 -6
  391. package/dist/types/components/calcite-pick-list-group/calcite-pick-list-group.d.ts +4 -1
  392. package/dist/types/components/calcite-pick-list-item/calcite-pick-list-item.d.ts +4 -1
  393. package/dist/types/components/calcite-shell/calcite-shell.d.ts +4 -1
  394. package/dist/types/components/calcite-shell-center-row/calcite-shell-center-row.d.ts +4 -1
  395. package/dist/types/components/calcite-shell-panel/calcite-shell-panel.d.ts +3 -1
  396. package/dist/types/components/calcite-tile/calcite-tile.d.ts +4 -1
  397. package/dist/types/components/calcite-tip/calcite-tip.d.ts +4 -1
  398. package/dist/types/components/calcite-tree-item/calcite-tree-item.d.ts +3 -1
  399. package/dist/types/components/calcite-value-list-item/calcite-value-list-item.d.ts +4 -1
  400. package/dist/types/components.d.ts +26 -16
  401. package/dist/types/preact.d.ts +3 -3
  402. package/dist/types/utils/dom.d.ts +1 -0
  403. package/dist/types/utils/globalAttributes.d.ts +35 -0
  404. package/hydrate/index.js +479 -194
  405. package/package.json +12 -13
  406. package/readme.md +2 -32
  407. package/dist/calcite/assets/calcite-icon/checkSquareF16.json +0 -1
  408. package/dist/calcite/assets/calcite-icon/checkSquareF24.json +0 -1
  409. package/dist/calcite/assets/calcite-icon/checkSquareF32.json +0 -1
  410. package/dist/calcite/assets/calcite-icon/lineSolid4.json +0 -1
  411. package/dist/calcite/assets/calcite-icon/squareF16.json +0 -1
  412. package/dist/calcite/assets/calcite-icon/squareF24.json +0 -1
  413. package/dist/calcite/assets/calcite-icon/squareF32.json +0 -1
  414. package/dist/calcite/assets/calcite-icon/xHexagon16.json +0 -1
  415. package/dist/calcite/assets/calcite-icon/xHexagon24.json +0 -1
  416. package/dist/calcite/assets/calcite-icon/xHexagon32.json +0 -1
  417. package/dist/calcite/assets/calcite-icon/xHexagonF16.json +0 -1
  418. package/dist/calcite/assets/calcite-icon/xHexagonF24.json +0 -1
  419. package/dist/calcite/assets/calcite-icon/xHexagonF32.json +0 -1
  420. package/dist/calcite/assets/calcite-icon/xOctagonF16.json +0 -1
  421. package/dist/calcite/assets/calcite-icon/xOctagonF24.json +0 -1
  422. package/dist/calcite/assets/calcite-icon/xOctagonF32.json +0 -1
  423. package/dist/calcite/p-02856c5a.system.entry.js +0 -5
  424. package/dist/calcite/p-0af820bf.entry.js +0 -5
  425. package/dist/calcite/p-0cf878ed.system.entry.js +0 -5
  426. package/dist/calcite/p-1a5dae4a.entry.js +0 -5
  427. package/dist/calcite/p-1b3a66ec.system.entry.js +0 -5
  428. package/dist/calcite/p-1d7a9909.system.entry.js +0 -5
  429. package/dist/calcite/p-20d2db84.entry.js +0 -5
  430. package/dist/calcite/p-244e0b95.entry.js +0 -5
  431. package/dist/calcite/p-253efee4.entry.js +0 -5
  432. package/dist/calcite/p-2618de8a.entry.js +0 -5
  433. package/dist/calcite/p-273cd5ab.entry.js +0 -5
  434. package/dist/calcite/p-28adfebc.entry.js +0 -5
  435. package/dist/calcite/p-2a8938c7.system.entry.js +0 -5
  436. package/dist/calcite/p-2c954eaa.system.entry.js +0 -5
  437. package/dist/calcite/p-325fcd0d.entry.js +0 -5
  438. package/dist/calcite/p-32f7eb32.js +0 -5
  439. package/dist/calcite/p-37bddb73.system.entry.js +0 -5
  440. package/dist/calcite/p-3ab992ff.system.entry.js +0 -5
  441. package/dist/calcite/p-3b73b785.system.entry.js +0 -5
  442. package/dist/calcite/p-3b8f5ab8.system.entry.js +0 -5
  443. package/dist/calcite/p-41e2198b.js +0 -5
  444. package/dist/calcite/p-4659df78.entry.js +0 -5
  445. package/dist/calcite/p-54e271c9.system.entry.js +0 -5
  446. package/dist/calcite/p-57558d4b.entry.js +0 -5
  447. package/dist/calcite/p-5c3b9524.system.entry.js +0 -5
  448. package/dist/calcite/p-5df1936f.entry.js +0 -5
  449. package/dist/calcite/p-698167ac.entry.js +0 -5
  450. package/dist/calcite/p-7a28e833.system.entry.js +0 -5
  451. package/dist/calcite/p-7d355abe.system.entry.js +0 -5
  452. package/dist/calcite/p-85fb7bc0.entry.js +0 -5
  453. package/dist/calcite/p-8d36bc7c.entry.js +0 -5
  454. package/dist/calcite/p-8eafaf3f.entry.js +0 -5
  455. package/dist/calcite/p-9b05c3fd.js +0 -5
  456. package/dist/calcite/p-9d81d229.entry.js +0 -5
  457. package/dist/calcite/p-a0043c61.entry.js +0 -5
  458. package/dist/calcite/p-a1f65f6e.entry.js +0 -5
  459. package/dist/calcite/p-a4dec1f6.system.entry.js +0 -5
  460. package/dist/calcite/p-a9c50960.system.entry.js +0 -5
  461. package/dist/calcite/p-aaed1677.entry.js +0 -5
  462. package/dist/calcite/p-ac778725.system.entry.js +0 -5
  463. package/dist/calcite/p-ac8cf248.entry.js +0 -5
  464. package/dist/calcite/p-b4990fa4.system.entry.js +0 -5
  465. package/dist/calcite/p-b4d3f1c1.entry.js +0 -5
  466. package/dist/calcite/p-c0ed9eff.entry.js +0 -5
  467. package/dist/calcite/p-c56f495f.system.js +0 -5
  468. package/dist/calcite/p-c7b8a068.entry.js +0 -5
  469. package/dist/calcite/p-cb9cd28c.system.entry.js +0 -5
  470. package/dist/calcite/p-d578e568.system.entry.js +0 -5
  471. package/dist/calcite/p-e2ebc089.system.entry.js +0 -5
  472. package/dist/calcite/p-e4acb5a8.js +0 -5
  473. package/dist/calcite/p-e564004a.system.entry.js +0 -5
  474. package/dist/calcite/p-e87980ac.entry.js +0 -5
  475. package/dist/calcite/p-f6fc151d.system.entry.js +0 -5
  476. package/dist/calcite/p-f73124d0.entry.js +0 -5
  477. package/dist/collection/components/calcite-combobox/interfaces.d.js +0 -1
  478. package/dist/collection/components/calcite-icon/assets/calcite-icon/checkSquareF16.json +0 -1
  479. package/dist/collection/components/calcite-icon/assets/calcite-icon/checkSquareF24.json +0 -1
  480. package/dist/collection/components/calcite-icon/assets/calcite-icon/checkSquareF32.json +0 -1
  481. package/dist/collection/components/calcite-icon/assets/calcite-icon/lineSolid4.json +0 -1
  482. package/dist/collection/components/calcite-icon/assets/calcite-icon/squareF16.json +0 -1
  483. package/dist/collection/components/calcite-icon/assets/calcite-icon/squareF24.json +0 -1
  484. package/dist/collection/components/calcite-icon/assets/calcite-icon/squareF32.json +0 -1
  485. package/dist/collection/components/calcite-icon/assets/calcite-icon/xHexagon16.json +0 -1
  486. package/dist/collection/components/calcite-icon/assets/calcite-icon/xHexagon24.json +0 -1
  487. package/dist/collection/components/calcite-icon/assets/calcite-icon/xHexagon32.json +0 -1
  488. package/dist/collection/components/calcite-icon/assets/calcite-icon/xHexagonF16.json +0 -1
  489. package/dist/collection/components/calcite-icon/assets/calcite-icon/xHexagonF24.json +0 -1
  490. package/dist/collection/components/calcite-icon/assets/calcite-icon/xHexagonF32.json +0 -1
  491. package/dist/collection/components/calcite-icon/assets/calcite-icon/xOctagonF16.json +0 -1
  492. package/dist/collection/components/calcite-icon/assets/calcite-icon/xOctagonF24.json +0 -1
  493. package/dist/collection/components/calcite-icon/assets/calcite-icon/xOctagonF32.json +0 -1
  494. package/dist/collection/components/calcite-label/interfaces.js +0 -1
  495. package/dist/collection/demos/_assets/demo-form.js +0 -23
  496. package/dist/collection/demos/_assets/demo-template.js +0 -13
  497. package/dist/collection/demos/_assets/head.js +0 -45
  498. package/dist/collection/demos/_assets/locales.js +0 -223
  499. package/dist/collection/utils/interactive.js +0 -20
  500. package/dist/esm-es5/dom-037dc374.js +0 -5
  501. package/dist/esm-es5/resources-90193940.js +0 -5
@@ -108,6 +108,8 @@ let CalciteInput = class extends HTMLElement {
108
108
  this.value = "";
109
109
  /** keep track of the rendered child type */
110
110
  this.childElType = "input";
111
+ /** whether the value of the input was changed as a result of user typing or not */
112
+ this.internalValueChange = false;
111
113
  //--------------------------------------------------------------------------
112
114
  //
113
115
  // Private Methods
@@ -127,11 +129,15 @@ let CalciteInput = class extends HTMLElement {
127
129
  }
128
130
  };
129
131
  this.clearInputValue = (nativeEvent) => {
130
- this.setValue("", nativeEvent, true);
132
+ this.setValue({
133
+ committing: true,
134
+ nativeEvent,
135
+ value: ""
136
+ });
131
137
  };
132
138
  this.inputBlurHandler = () => {
133
139
  if (this.type === "number") {
134
- this.setLocalizedValue(this.value);
140
+ this.setValue({ value: this.value });
135
141
  }
136
142
  this.calciteInputBlur.emit({
137
143
  element: this.childEl,
@@ -155,7 +161,10 @@ let CalciteInput = class extends HTMLElement {
155
161
  if (this.disabled || this.readOnly) {
156
162
  return;
157
163
  }
158
- this.setValue(nativeEvent.target.value, nativeEvent);
164
+ this.setValue({
165
+ nativeEvent,
166
+ value: nativeEvent.target.value
167
+ });
159
168
  };
160
169
  this.inputKeyDownHandler = (event) => {
161
170
  if (this.disabled || this.readOnly) {
@@ -175,11 +184,17 @@ let CalciteInput = class extends HTMLElement {
175
184
  if (!isValidNumber(delocalizedValue)) {
176
185
  nativeEvent.preventDefault();
177
186
  }
178
- this.setValue(parseNumberString(delocalizedValue), nativeEvent);
187
+ this.setValue({
188
+ nativeEvent,
189
+ value: parseNumberString(delocalizedValue)
190
+ });
179
191
  this.childNumberEl.value = this.localizedValue;
180
192
  }
181
193
  else {
182
- this.setValue(delocalizeNumberString(value, this.locale), nativeEvent);
194
+ this.setValue({
195
+ nativeEvent,
196
+ value: delocalizeNumberString(value, this.locale)
197
+ });
183
198
  }
184
199
  };
185
200
  this.inputNumberKeyDownHandler = (event) => {
@@ -249,6 +264,9 @@ let CalciteInput = class extends HTMLElement {
249
264
  const inputMin = this.minString ? parseFloat(this.minString) : null;
250
265
  const valueNudgeDelayInMs = 100;
251
266
  this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent);
267
+ if (this.nudgeNumberValueIntervalId) {
268
+ window.clearInterval(this.nudgeNumberValueIntervalId);
269
+ }
252
270
  let firstValueNudge = true;
253
271
  this.nudgeNumberValueIntervalId = window.setInterval(() => {
254
272
  if (firstValueNudge) {
@@ -272,18 +290,44 @@ let CalciteInput = class extends HTMLElement {
272
290
  this.setChildNumberElRef = (el) => {
273
291
  this.childNumberEl = el;
274
292
  };
275
- this.setLocalizedValue = (value) => {
276
- this.localizedValue = localizeNumberString(value, this.locale, this.groupSeparator);
293
+ this.setInputValue = (newInputValue) => {
294
+ if (this.type === "text" && !this.childEl) {
295
+ return;
296
+ }
297
+ if (this.type === "number" && !this.childNumberEl) {
298
+ return;
299
+ }
300
+ this[`child${this.type === "number" ? "Number" : ""}El`].value = newInputValue;
301
+ };
302
+ this.setPreviousValue = (newPreviousValue) => {
303
+ this.previousValue =
304
+ this.type === "number"
305
+ ? isValidNumber(newPreviousValue)
306
+ ? newPreviousValue
307
+ : ""
308
+ : newPreviousValue;
277
309
  };
278
- this.setValue = (value, nativeEvent, committing = false) => {
279
- const previousValue = this.value;
310
+ this.setValue = ({ committing = false, nativeEvent, origin = "internal", value }) => {
311
+ const previousLocalizedValue = this.type === "number"
312
+ ? localizeNumberString(this.previousValue, this.locale, this.groupSeparator)
313
+ : "";
314
+ const sanitizedValue = this.type === "number" ? sanitizeNumberString(value) : value;
315
+ const newValue = this.type === "number" && value && !sanitizedValue
316
+ ? isValidNumber(this.previousValue)
317
+ ? this.previousValue
318
+ : ""
319
+ : sanitizedValue;
320
+ const newLocalizedValue = this.type === "number"
321
+ ? localizeNumberString(newValue, this.locale, this.groupSeparator)
322
+ : "";
323
+ this.internalValueChange = origin === "internal";
324
+ this.setPreviousValue(this.value);
325
+ this.value = newValue;
280
326
  if (this.type === "number") {
281
- const sanitizedValue = sanitizeNumberString(value);
282
- this.value = sanitizedValue;
283
- this.setLocalizedValue(sanitizedValue);
327
+ this.localizedValue = newLocalizedValue;
284
328
  }
285
- else {
286
- this.value = value;
329
+ if (origin === "external") {
330
+ this.setInputValue(this.type === "number" ? newLocalizedValue : newValue);
287
331
  }
288
332
  if (nativeEvent) {
289
333
  const calciteInputInputEvent = this.calciteInputInput.emit({
@@ -292,8 +336,8 @@ let CalciteInput = class extends HTMLElement {
292
336
  value: this.value
293
337
  });
294
338
  if (calciteInputInputEvent.defaultPrevented) {
295
- this.value = previousValue;
296
- this.setLocalizedValue(previousValue);
339
+ this.value = this.previousValue;
340
+ this.localizedValue = previousLocalizedValue;
297
341
  }
298
342
  else if (committing) {
299
343
  this.calciteInputChange.emit();
@@ -318,17 +362,20 @@ let CalciteInput = class extends HTMLElement {
318
362
  this.minString = ((_a = this.min) === null || _a === void 0 ? void 0 : _a.toString()) || null;
319
363
  }
320
364
  valueWatcher(newValue) {
321
- if (newValue == null) {
322
- this.value = "";
323
- return;
324
- }
325
- if (this.type === "number" &&
326
- this.localizedValue !== localizeNumberString(newValue, this.locale)) {
327
- this.setLocalizedValue(newValue);
328
- }
329
- else if (this.childEl && this.childEl.value !== newValue) {
330
- this.childEl.value = newValue;
365
+ if (!this.internalValueChange) {
366
+ this.setValue({
367
+ origin: "external",
368
+ value: newValue == null
369
+ ? ""
370
+ : this.type === "number"
371
+ ? isValidNumber(newValue)
372
+ ? newValue
373
+ : this.previousValue || ""
374
+ : newValue
375
+ });
376
+ this.warnAboutInvalidNumberValue(newValue);
331
377
  }
378
+ this.internalValueChange = false;
332
379
  }
333
380
  updateRequestedIcon() {
334
381
  this.requestedIcon = setRequestedIcon(INPUT_TYPE_ICONS, this.icon, this.type);
@@ -351,13 +398,13 @@ let CalciteInput = class extends HTMLElement {
351
398
  if (this.inlineEditableEl) {
352
399
  this.editingEnabled = this.inlineEditableEl.editingEnabled || false;
353
400
  }
354
- if (this.type === "number" && this.value) {
355
- if (isValidNumber(this.value)) {
356
- this.localizedValue = localizeNumberString(this.value, this.locale, this.groupSeparator);
357
- }
358
- else {
359
- this.value = "";
360
- }
401
+ this.setPreviousValue(this.value);
402
+ if (this.type === "number") {
403
+ this.warnAboutInvalidNumberValue(this.value);
404
+ this.setValue({
405
+ origin: "loading",
406
+ value: isValidNumber(this.value) ? this.value : ""
407
+ });
361
408
  }
362
409
  connectLabel(this);
363
410
  connectForm(this);
@@ -379,7 +426,9 @@ let CalciteInput = class extends HTMLElement {
379
426
  }
380
427
  componentShouldUpdate(newValue, oldValue, property) {
381
428
  if (this.type === "number" && property === "value" && newValue && !isValidNumber(newValue)) {
382
- this.value = oldValue;
429
+ this.setValue({
430
+ value: oldValue
431
+ });
383
432
  return false;
384
433
  }
385
434
  return true;
@@ -414,10 +463,16 @@ let CalciteInput = class extends HTMLElement {
414
463
  : nudgedValue;
415
464
  const inputValPlaces = decimalPlaces(inputVal);
416
465
  const inputStepPlaces = decimalPlaces(inputStep);
417
- this.setValue(finalValue.toFixed(Math.max(inputValPlaces, inputStepPlaces)), nativeEvent, true);
466
+ this.setValue({
467
+ committing: true,
468
+ nativeEvent,
469
+ value: finalValue.toFixed(Math.max(inputValPlaces, inputStepPlaces))
470
+ });
418
471
  }
419
472
  onFormReset() {
420
- this.setValue(this.defaultValue);
473
+ this.setValue({
474
+ value: this.defaultValue
475
+ });
421
476
  }
422
477
  syncHiddenFormInput(input) {
423
478
  var _a, _b, _c, _d;
@@ -448,6 +503,11 @@ let CalciteInput = class extends HTMLElement {
448
503
  ? slottedActionEl.setAttribute("disabled", "")
449
504
  : slottedActionEl.removeAttribute("disabled");
450
505
  }
506
+ warnAboutInvalidNumberValue(value) {
507
+ if (this.type === "number" && value && !isValidNumber(value)) {
508
+ console.warn(`The specified value "${value}" cannot be parsed, or is out of range.`);
509
+ }
510
+ }
451
511
  // --------------------------------------------------------------------------
452
512
  //
453
513
  // Render Methods
@@ -20,6 +20,11 @@ let CalciteLink = class extends HTMLElement {
20
20
  //--------------------------------------------------------------------------
21
21
  /** is the link disabled */
22
22
  this.disabled = false;
23
+ /** Prompts the user to save the linked URL instead of navigating to it. Can be used with or without a value:
24
+ * Without a value, the browser will suggest a filename/extension
25
+ * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download
26
+ */
27
+ this.download = false;
23
28
  /** the node type of the rendered child element */
24
29
  this.childElType = "span";
25
30
  //--------------------------------------------------------------------------
@@ -43,13 +48,19 @@ let CalciteLink = class extends HTMLElement {
43
48
  this.childElType = this.href ? "a" : "span";
44
49
  }
45
50
  render() {
46
- const dir = getElementDir(this.el);
51
+ const { download, el } = this;
52
+ const dir = getElementDir(el);
47
53
  const iconStartEl = (h("calcite-icon", { class: "calcite-link--icon icon-start", flipRtl: this.iconFlipRtl === "start" || this.iconFlipRtl === "both", icon: this.iconStart, scale: "s" }));
48
54
  const iconEndEl = (h("calcite-icon", { class: "calcite-link--icon icon-end", flipRtl: this.iconFlipRtl === "end" || this.iconFlipRtl === "both", icon: this.iconEnd, scale: "s" }));
49
55
  const Tag = this.childElType;
50
56
  const role = this.childElType === "span" ? "link" : null;
51
57
  const tabIndex = this.disabled ? -1 : this.childElType === "span" ? 0 : null;
52
- return (h(Host, { role: "presentation" }, h(Tag, { class: { [CSS_UTILITY.rtl]: dir === "rtl" }, href: Tag === "a" && this.href, ref: this.storeTagRef, rel: Tag === "a" && this.rel, role: role, tabIndex: tabIndex, target: Tag === "a" && this.target }, this.iconStart ? iconStartEl : null, h("slot", null), this.iconEnd ? iconEndEl : null)));
58
+ return (h(Host, { role: "presentation" }, h(Tag, { class: { [CSS_UTILITY.rtl]: dir === "rtl" },
59
+ /*
60
+ When the 'download' property of type 'boolean | string' is set to true, the value is "".
61
+ This works around that issue for now.
62
+ */
63
+ download: Tag === "a" && (download === "" || download) ? download : null, href: Tag === "a" && this.href, ref: this.storeTagRef, rel: Tag === "a" && this.rel, role: role, tabIndex: tabIndex, target: Tag === "a" && this.target }, this.iconStart ? iconStartEl : null, h("slot", null), this.iconEnd ? iconEndEl : null)));
53
64
  }
54
65
  //--------------------------------------------------------------------------
55
66
  //
@@ -68,6 +79,7 @@ let CalciteLink = class extends HTMLElement {
68
79
  };
69
80
  CalciteLink = /*@__PURE__*/ proxyCustomElement(CalciteLink, [1, "calcite-link", {
70
81
  "disabled": [516],
82
+ "download": [520],
71
83
  "href": [513],
72
84
  "iconEnd": [513, "icon-end"],
73
85
  "iconFlipRtl": [513, "icon-flip-rtl"],
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { HTMLElement, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { b as getSlotted } from './dom.js';
7
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
7
8
 
8
9
  const CSS = {
9
10
  container: "container",
@@ -48,6 +49,17 @@ let CalciteListItem$1 = class extends HTMLElement {
48
49
  }
49
50
  // --------------------------------------------------------------------------
50
51
  //
52
+ // Lifecycle
53
+ //
54
+ // --------------------------------------------------------------------------
55
+ connectedCallback() {
56
+ connectConditionalSlotComponent(this);
57
+ }
58
+ disconnectedCallback() {
59
+ disconnectConditionalSlotComponent(this);
60
+ }
61
+ // --------------------------------------------------------------------------
62
+ //
51
63
  // Public Methods
52
64
  //
53
65
  // --------------------------------------------------------------------------
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { f as focusElement, b as getSlotted, h as ensureId, i as isCalciteFocusable } from './dom.js';
7
7
  import { c as createObserver } from './observers.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
  import { d as defineCustomElement$4 } from './calcite-icon2.js';
9
10
  import { d as defineCustomElement$3 } from './calcite-loader2.js';
10
11
  import { d as defineCustomElement$2 } from './calcite-scrim2.js';
@@ -244,11 +245,13 @@ let CalciteModal$1 = class extends HTMLElement {
244
245
  var _a;
245
246
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });
246
247
  this.updateFooterVisibility();
248
+ connectConditionalSlotComponent(this);
247
249
  }
248
250
  disconnectedCallback() {
249
251
  var _a;
250
252
  this.removeOverflowHiddenClass();
251
253
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
254
+ disconnectConditionalSlotComponent(this);
252
255
  }
253
256
  render() {
254
257
  return (h(Host, { "aria-describedby": this.contentId, "aria-labelledby": this.titleId, "aria-modal": "true", role: "dialog" }, h("calcite-scrim", { class: CSS.scrim, onClick: this.handleOutsideClose }), this.renderStyle(), h("div", { class: "modal", onTransitionEnd: this.transitionEnd }, h("div", { "data-focus-fence": true, onFocus: this.focusLastElement, tabindex: "0" }), h("div", { class: CSS.header }, this.renderCloseButton(), h("header", { class: CSS.title }, h("slot", { name: CSS.header }))), h("div", { class: {
@@ -258,10 +261,10 @@ let CalciteModal$1 = class extends HTMLElement {
258
261
  }, ref: (el) => (this.modalContent = el) }, h("slot", { name: SLOTS.content })), this.renderFooter(), h("div", { "data-focus-fence": true, onFocus: this.focusFirstElement, tabindex: "0" }))));
259
262
  }
260
263
  renderFooter() {
261
- return this.hasFooter ? (h("div", { class: CSS.footer }, h("span", { class: CSS.back }, h("slot", { name: SLOTS.back })), h("span", { class: CSS.secondary }, h("slot", { name: SLOTS.secondary })), h("span", { class: CSS.primary }, h("slot", { name: SLOTS.primary })))) : null;
264
+ return this.hasFooter ? (h("div", { class: CSS.footer, key: "footer" }, h("span", { class: CSS.back }, h("slot", { name: SLOTS.back })), h("span", { class: CSS.secondary }, h("slot", { name: SLOTS.secondary })), h("span", { class: CSS.primary }, h("slot", { name: SLOTS.primary })))) : null;
262
265
  }
263
266
  renderCloseButton() {
264
- return !this.disableCloseButton ? (h("button", { "aria-label": this.intlClose, class: CSS.close, onClick: this.close, ref: (el) => (this.closeButtonEl = el), title: this.intlClose }, h("calcite-icon", { icon: ICONS.close, scale: this.scale === "s" ? "s" : this.scale === "m" ? "m" : this.scale === "l" ? "l" : null }))) : null;
267
+ return !this.disableCloseButton ? (h("button", { "aria-label": this.intlClose, class: CSS.close, key: "button", onClick: this.close, ref: (el) => (this.closeButtonEl = el), title: this.intlClose }, h("calcite-icon", { icon: ICONS.close, scale: this.scale === "s" ? "s" : this.scale === "m" ? "m" : this.scale === "l" ? "l" : null }))) : null;
265
268
  }
266
269
  renderStyle() {
267
270
  const hasCustomWidth = !isNaN(parseInt(`${this.width}`));
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, createEvent, h, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { S as StatusIcons } from './interfaces.js';
7
7
  import { s as setRequestedIcon, b as getSlotted } from './dom.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
  import { d as defineCustomElement$2 } from './calcite-icon2.js';
9
10
 
10
11
  const TEXT = {
@@ -70,6 +71,12 @@ let CalciteNotice$1 = class extends HTMLElement {
70
71
  // Lifecycle
71
72
  //
72
73
  //--------------------------------------------------------------------------
74
+ connectedCallback() {
75
+ connectConditionalSlotComponent(this);
76
+ }
77
+ disconnectedCallback() {
78
+ disconnectConditionalSlotComponent(this);
79
+ }
73
80
  componentWillLoad() {
74
81
  this.requestedIcon = setRequestedIcon(StatusIcons, this.icon, this.color);
75
82
  }
@@ -6,6 +6,7 @@ import { HTMLElement, createEvent, h, Fragment, proxyCustomElement } from '@sten
6
6
  import { a as getElementDir, b as getSlotted } from './dom.js';
7
7
  import { C as CalciteHeading } from './CalciteHeading.js';
8
8
  import { S as SLOTS$1, d as defineCustomElement$7 } from './calcite-action-menu2.js';
9
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
9
10
  import { d as defineCustomElement$8 } from './calcite-action2.js';
10
11
  import { d as defineCustomElement$6 } from './calcite-icon2.js';
11
12
  import { d as defineCustomElement$5 } from './calcite-loader2.js';
@@ -129,6 +130,17 @@ let CalcitePanel$1 = class extends HTMLElement {
129
130
  }
130
131
  // --------------------------------------------------------------------------
131
132
  //
133
+ // Lifecycle
134
+ //
135
+ // --------------------------------------------------------------------------
136
+ connectedCallback() {
137
+ connectConditionalSlotComponent(this);
138
+ }
139
+ disconnectedCallback() {
140
+ disconnectConditionalSlotComponent(this);
141
+ }
142
+ // --------------------------------------------------------------------------
143
+ //
132
144
  // Methods
133
145
  //
134
146
  // --------------------------------------------------------------------------
@@ -168,7 +180,7 @@ let CalcitePanel$1 = class extends HTMLElement {
168
180
  * Allows user to override the entire header-content node.
169
181
  */
170
182
  renderHeaderSlottedContent() {
171
- return (h("div", { class: CSS.headerContent, key: "header-content" }, h("slot", { name: SLOTS.headerContent })));
183
+ return (h("div", { class: CSS.headerContent, key: "slotted-header-content" }, h("slot", { name: SLOTS.headerContent })));
172
184
  }
173
185
  renderHeaderStartActions() {
174
186
  const { el } = this;
@@ -186,7 +198,7 @@ let CalcitePanel$1 = class extends HTMLElement {
186
198
  renderMenu() {
187
199
  const { el, intlOptions, menuOpen } = this;
188
200
  const hasMenuItems = getSlotted(el, SLOTS.headerMenuActions);
189
- return hasMenuItems ? (h("calcite-action-menu", { flipPlacements: ["top", "bottom"], label: intlOptions || TEXT.options, open: menuOpen, placement: "bottom-end" }, h("calcite-action", { icon: ICONS.menu, slot: SLOTS$1.trigger, text: intlOptions || TEXT.options }), h("slot", { name: SLOTS.headerMenuActions }))) : null;
201
+ return hasMenuItems ? (h("calcite-action-menu", { flipPlacements: ["top", "bottom"], key: "menu", label: intlOptions || TEXT.options, open: menuOpen, placement: "bottom-end" }, h("calcite-action", { icon: ICONS.menu, slot: SLOTS$1.trigger, text: intlOptions || TEXT.options }), h("slot", { name: SLOTS.headerMenuActions }))) : null;
190
202
  }
191
203
  renderHeaderNode() {
192
204
  const { el, showBackButton } = this;
@@ -204,18 +216,11 @@ let CalcitePanel$1 = class extends HTMLElement {
204
216
  headerMenuNode ||
205
217
  showBackButton ? (h("header", { class: CSS.header }, backButtonNode, actionsNodeStart, headerContentNode, actionsNodeEnd, headerMenuNode)) : null;
206
218
  }
207
- /**
208
- * Allows user to override the entire footer node.
209
- */
210
- renderFooterSlottedContent() {
219
+ renderFooterNode() {
211
220
  const { el } = this;
212
221
  const hasFooterSlottedContent = getSlotted(el, SLOTS.footer);
213
- return hasFooterSlottedContent ? (h("footer", { class: CSS.footer }, h("slot", { name: SLOTS.footer }))) : null;
214
- }
215
- renderFooterActions() {
216
- const { el } = this;
217
222
  const hasFooterActions = getSlotted(el, SLOTS.footerActions);
218
- return hasFooterActions ? (h("footer", { class: CSS.footer }, h("slot", { name: SLOTS.footerActions }))) : null;
223
+ return hasFooterSlottedContent || hasFooterActions ? (h("footer", { class: CSS.footer, key: "footer" }, hasFooterSlottedContent ? h("slot", { key: "footer-slot", name: SLOTS.footer }) : null, hasFooterActions ? h("slot", { key: "footer-actions-slot", name: SLOTS.footerActions }) : null)) : null;
219
224
  }
220
225
  renderContent() {
221
226
  const { el } = this;
@@ -227,7 +232,7 @@ let CalcitePanel$1 = class extends HTMLElement {
227
232
  }
228
233
  render() {
229
234
  const { dismissed, disabled, dismissible, loading, panelKeyDownHandler } = this;
230
- const panelNode = (h("article", { "aria-busy": loading.toString(), class: CSS.container, hidden: dismissible && dismissed, onKeyDown: panelKeyDownHandler, ref: this.setContainerRef, tabIndex: dismissible ? 0 : -1 }, this.renderHeaderNode(), this.renderContent(), this.renderFooterSlottedContent() || this.renderFooterActions()));
235
+ const panelNode = (h("article", { "aria-busy": loading.toString(), class: CSS.container, hidden: dismissible && dismissed, onKeyDown: panelKeyDownHandler, ref: this.setContainerRef, tabIndex: dismissible ? 0 : -1 }, this.renderHeaderNode(), this.renderContent(), this.renderFooterNode()));
231
236
  return (h(Fragment, null, loading || disabled ? h("calcite-scrim", { loading: loading }) : null, panelNode));
232
237
  }
233
238
  get el() { return this; }
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, h, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { b as getSlotted } from './dom.js';
7
7
  import { C as CalciteHeading, c as constrainHeadingLevel } from './CalciteHeading.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
 
9
10
  const CSS = {
10
11
  heading: "heading",
@@ -26,6 +27,17 @@ let CalcitePickListGroup$1 = class extends HTMLElement {
26
27
  }
27
28
  // --------------------------------------------------------------------------
28
29
  //
30
+ // Lifecycle
31
+ //
32
+ // --------------------------------------------------------------------------
33
+ connectedCallback() {
34
+ connectConditionalSlotComponent(this);
35
+ }
36
+ disconnectedCallback() {
37
+ disconnectConditionalSlotComponent(this);
38
+ }
39
+ // --------------------------------------------------------------------------
40
+ //
29
41
  // Render Methods
30
42
  //
31
43
  // --------------------------------------------------------------------------
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, createEvent, h, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { I as ICON_TYPES } from './resources3.js';
7
7
  import { b as getSlotted } from './dom.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
  import { d as defineCustomElement$3 } from './calcite-action2.js';
9
10
  import { d as defineCustomElement$2 } from './calcite-icon2.js';
10
11
  import { d as defineCustomElement$1 } from './calcite-loader2.js';
@@ -125,6 +126,17 @@ let CalcitePickListItem = class extends HTMLElement {
125
126
  }
126
127
  // --------------------------------------------------------------------------
127
128
  //
129
+ // Lifecycle
130
+ //
131
+ // --------------------------------------------------------------------------
132
+ connectedCallback() {
133
+ connectConditionalSlotComponent(this);
134
+ }
135
+ disconnectedCallback() {
136
+ disconnectConditionalSlotComponent(this);
137
+ }
138
+ // --------------------------------------------------------------------------
139
+ //
128
140
  // Public Methods
129
141
  //
130
142
  // --------------------------------------------------------------------------
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { HTMLElement, h, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { b as getSlotted } from './dom.js';
7
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
7
8
 
8
9
  const CSS = {
9
10
  actionBarContainer: "action-bar-container",
@@ -40,6 +41,17 @@ let CalciteShellCenterRow$1 = class extends HTMLElement {
40
41
  }
41
42
  // --------------------------------------------------------------------------
42
43
  //
44
+ // Lifecycle
45
+ //
46
+ // --------------------------------------------------------------------------
47
+ connectedCallback() {
48
+ connectConditionalSlotComponent(this);
49
+ }
50
+ disconnectedCallback() {
51
+ disconnectConditionalSlotComponent(this);
52
+ }
53
+ // --------------------------------------------------------------------------
54
+ //
43
55
  // Render Methods
44
56
  //
45
57
  // --------------------------------------------------------------------------
@@ -47,7 +59,7 @@ let CalciteShellCenterRow$1 = class extends HTMLElement {
47
59
  const { el } = this;
48
60
  const contentNode = (h("div", { class: CSS.content }, h("slot", null)));
49
61
  const actionBar = getSlotted(el, SLOTS.actionBar);
50
- const actionBarNode = actionBar ? (h("div", { class: CSS.actionBarContainer }, h("slot", { name: SLOTS.actionBar }))) : null;
62
+ const actionBarNode = actionBar ? (h("div", { class: CSS.actionBarContainer, key: "action-bar" }, h("slot", { name: SLOTS.actionBar }))) : null;
51
63
  const children = [actionBarNode, contentNode];
52
64
  if ((actionBar === null || actionBar === void 0 ? void 0 : actionBar.position) === "end") {
53
65
  children.reverse();
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, createEvent, h, forceUpdate, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { a as getElementDir, b as getSlotted } from './dom.js';
7
7
  import { c as clamp } from './math.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
 
9
10
  const CSS = {
10
11
  container: "container",
@@ -169,7 +170,11 @@ let CalciteShellPanel$1 = class extends HTMLElement {
169
170
  // Lifecycle
170
171
  //
171
172
  //--------------------------------------------------------------------------
173
+ connectedCallback() {
174
+ connectConditionalSlotComponent(this);
175
+ }
172
176
  disconnectedCallback() {
177
+ disconnectConditionalSlotComponent(this);
173
178
  this.disconnectSeparator();
174
179
  }
175
180
  componentDidLoad() {
@@ -183,14 +188,14 @@ let CalciteShellPanel$1 = class extends HTMLElement {
183
188
  renderHeader() {
184
189
  const { el } = this;
185
190
  const hasHeader = getSlotted(el, SLOTS.header);
186
- return hasHeader ? (h("div", { class: CSS.contentHeader }, h("slot", { name: SLOTS.header }))) : null;
191
+ return hasHeader ? (h("div", { class: CSS.contentHeader, key: "header" }, h("slot", { name: SLOTS.header }))) : null;
187
192
  }
188
193
  render() {
189
194
  const { collapsed, detached, position, initialContentWidth, contentWidth, contentWidthMax, contentWidthMin, intlResize, resizable } = this;
190
195
  const allowResizing = !detached && resizable;
191
- const contentNode = (h("div", { class: { [CSS.content]: true, [CSS.contentDetached]: detached }, hidden: collapsed, ref: this.storeContentEl, style: allowResizing && contentWidth ? { width: `${contentWidth}px` } : null }, this.renderHeader(), h("div", { class: CSS.contentBody }, h("slot", null))));
192
- const separatorNode = allowResizing ? (h("div", { "aria-label": intlResize, "aria-orientation": "horizontal", "aria-valuemax": contentWidthMax, "aria-valuemin": contentWidthMin, "aria-valuenow": contentWidth !== null && contentWidth !== void 0 ? contentWidth : initialContentWidth, class: CSS.separator, onKeyDown: this.separatorKeyDown, ref: this.connectSeparator, role: "separator", tabIndex: 0, "touch-action": "none" })) : null;
193
- const actionBarNode = h("slot", { name: SLOTS.actionBar });
196
+ const contentNode = (h("div", { class: { [CSS.content]: true, [CSS.contentDetached]: detached }, hidden: collapsed, key: "content", ref: this.storeContentEl, style: allowResizing && contentWidth ? { width: `${contentWidth}px` } : null }, this.renderHeader(), h("div", { class: CSS.contentBody }, h("slot", null))));
197
+ const separatorNode = allowResizing ? (h("div", { "aria-label": intlResize, "aria-orientation": "horizontal", "aria-valuemax": contentWidthMax, "aria-valuemin": contentWidthMin, "aria-valuenow": contentWidth !== null && contentWidth !== void 0 ? contentWidth : initialContentWidth, class: CSS.separator, key: "separator", onKeyDown: this.separatorKeyDown, ref: this.connectSeparator, role: "separator", tabIndex: 0, "touch-action": "none" })) : null;
198
+ const actionBarNode = h("slot", { key: "action-bar", name: SLOTS.actionBar });
194
199
  const mainNodes = [actionBarNode, contentNode, separatorNode];
195
200
  if (position === "end") {
196
201
  mainNodes.reverse();
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { HTMLElement, h, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { b as getSlotted } from './dom.js';
7
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
7
8
 
8
9
  const CSS = {
9
10
  main: "main",
@@ -39,12 +40,23 @@ let CalciteShell$1 = class extends HTMLElement {
39
40
  }
40
41
  // --------------------------------------------------------------------------
41
42
  //
43
+ // Lifecycle
44
+ //
45
+ // --------------------------------------------------------------------------
46
+ connectedCallback() {
47
+ connectConditionalSlotComponent(this);
48
+ }
49
+ disconnectedCallback() {
50
+ disconnectConditionalSlotComponent(this);
51
+ }
52
+ // --------------------------------------------------------------------------
53
+ //
42
54
  // Render Methods
43
55
  //
44
56
  // --------------------------------------------------------------------------
45
57
  renderHeader() {
46
58
  const hasHeader = !!getSlotted(this.el, SLOTS.header);
47
- return hasHeader ? h("slot", { name: SLOTS.header }) : null;
59
+ return hasHeader ? h("slot", { key: "header", name: SLOTS.header }) : null;
48
60
  }
49
61
  renderContent() {
50
62
  const content = !!this.contentBehind
@@ -62,7 +74,7 @@ let CalciteShell$1 = class extends HTMLElement {
62
74
  }
63
75
  renderFooter() {
64
76
  const hasFooter = !!getSlotted(this.el, SLOTS.footer);
65
- return hasFooter ? (h("div", { class: CSS.footer }, h("slot", { name: SLOTS.footer }))) : null;
77
+ return hasFooter ? (h("div", { class: CSS.footer, key: "footer" }, h("slot", { name: SLOTS.footer }))) : null;
66
78
  }
67
79
  renderMain() {
68
80
  const primaryPanel = getSlotted(this.el, SLOTS.primaryPanel);