@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
@@ -315,8 +315,7 @@ export class CalciteSlider {
315
315
  h(HiddenFormInputSlot, { component: this })))));
316
316
  }
317
317
  renderGraph() {
318
- return this.histogram ? (h("div", { class: "graph" },
319
- h("calcite-graph", { colorStops: this.histogramStops, data: this.histogram, "data-style": "slider-histogram", height: 48, highlightMax: this.isRange ? this.maxValue : this.value, highlightMin: this.isRange ? this.minValue : this.min, max: this.max, min: this.min, width: 300 }))) : null;
318
+ return this.histogram ? (h("calcite-graph", { class: "graph", colorStops: this.histogramStops, data: this.histogram, highlightMax: this.isRange ? this.maxValue : this.value, highlightMin: this.isRange ? this.minValue : this.min, max: this.max, min: this.min })) : null;
320
319
  }
321
320
  renderTickLabel(tick) {
322
321
  const isMinTickLabel = tick === this.min;
@@ -625,7 +624,7 @@ export class CalciteSlider {
625
624
  const hyphenLabel = leftValueLabel;
626
625
  const labelOffset = labelFontSize / 2;
627
626
  if (labelTransformedOverlap > 0) {
628
- hyphenLabel.classList.add("hyphen");
627
+ hyphenLabel.classList.add("hyphen", "hyphen--wrap");
629
628
  if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
630
629
  // Neither handle overlaps the host boundary
631
630
  let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
@@ -671,7 +670,7 @@ export class CalciteSlider {
671
670
  }
672
671
  }
673
672
  else {
674
- hyphenLabel.classList.remove("hyphen");
673
+ hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
675
674
  leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
676
675
  leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
677
676
  rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
@@ -5,6 +5,7 @@
5
5
  import { Component, Element, Fragment, h, Prop } from "@stencil/core";
6
6
  import { SLOTS } from "./resources";
7
7
  import { getSlotted } from "../../utils/dom";
8
+ import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
8
9
  /**
9
10
  * @slot content-start - A slot for adding non-actionable elements before the tile content.
10
11
  * @slot content-end - A slot for adding non-actionable elements after the tile content.
@@ -34,6 +35,17 @@ export class CalciteTile {
34
35
  }
35
36
  // --------------------------------------------------------------------------
36
37
  //
38
+ // Lifecycle
39
+ //
40
+ // --------------------------------------------------------------------------
41
+ connectedCallback() {
42
+ connectConditionalSlotComponent(this);
43
+ }
44
+ disconnectedCallback() {
45
+ disconnectConditionalSlotComponent(this);
46
+ }
47
+ // --------------------------------------------------------------------------
48
+ //
37
49
  // Render Methods
38
50
  //
39
51
  // --------------------------------------------------------------------------
@@ -6,6 +6,7 @@ import { Component, Element, Event, Prop, h, Fragment } from "@stencil/core";
6
6
  import { CSS, ICONS, SLOTS, TEXT, HEADING_LEVEL } from "./resources";
7
7
  import { getSlotted } from "../../utils/dom";
8
8
  import { CalciteHeading, constrainHeadingLevel } from "../functional/CalciteHeading";
9
+ import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
9
10
  /**
10
11
  * @slot - A slot for adding text and a hyperlink.
11
12
  * @slot thumbnail - A slot for adding an HTML image element to the tip.
@@ -41,6 +42,17 @@ export class CalciteTip {
41
42
  }
42
43
  // --------------------------------------------------------------------------
43
44
  //
45
+ // Lifecycle
46
+ //
47
+ // --------------------------------------------------------------------------
48
+ connectedCallback() {
49
+ connectConditionalSlotComponent(this);
50
+ }
51
+ disconnectedCallback() {
52
+ disconnectConditionalSlotComponent(this);
53
+ }
54
+ // --------------------------------------------------------------------------
55
+ //
44
56
  // Render Methods
45
57
  //
46
58
  // --------------------------------------------------------------------------
@@ -60,7 +72,7 @@ export class CalciteTip {
60
72
  }
61
73
  renderImageFrame() {
62
74
  const { el } = this;
63
- return getSlotted(el, SLOTS.thumbnail) ? (h("div", { class: CSS.imageFrame },
75
+ return getSlotted(el, SLOTS.thumbnail) ? (h("div", { class: CSS.imageFrame, key: "thumbnail" },
64
76
  h("slot", { name: SLOTS.thumbnail }))) : null;
65
77
  }
66
78
  renderInfoNode() {
@@ -61,7 +61,8 @@ export class CalciteTree {
61
61
  onFocusIn(event) {
62
62
  const focusedFromRootOrOutsideTree = event.relatedTarget === this.el || !this.el.contains(event.relatedTarget);
63
63
  if (focusedFromRootOrOutsideTree) {
64
- this.el.tabIndex = -1;
64
+ // gives user the ability to tab into external elements (modifying tabindex property will not work in firefox)
65
+ this.el.removeAttribute("tabindex");
65
66
  }
66
67
  }
67
68
  onFocusOut(event) {
@@ -7,6 +7,7 @@ import { TreeSelectionMode } from "../calcite-tree/interfaces";
7
7
  import { nodeListToArray, getElementDir, filterDirectChildren, getSlotted } from "../../utils/dom";
8
8
  import { CSS, SLOTS, ICONS } from "./resources";
9
9
  import { CSS_UTILITY } from "../../utils/resources";
10
+ import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
10
11
  /**
11
12
  * @slot - A slot for adding content to the item.
12
13
  * @slot children - A slot for adding nested `calcite-tree` elements.
@@ -78,6 +79,10 @@ export class CalciteTreeItem {
78
79
  const { expanded } = this.parentTreeItem;
79
80
  this.updateParentIsExpanded(this.parentTreeItem, expanded);
80
81
  }
82
+ connectConditionalSlotComponent(this);
83
+ }
84
+ disconnectedCallback() {
85
+ disconnectConditionalSlotComponent(this);
81
86
  }
82
87
  componentWillRender() {
83
88
  this.hasChildren = !!this.el.querySelector("calcite-tree");
@@ -9,6 +9,7 @@ import { CSS } from "../calcite-pick-list-item/resources";
9
9
  import { ICONS, SLOTS } from "./resources";
10
10
  import { SLOTS as PICK_LIST_SLOTS } from "../calcite-pick-list-item/resources";
11
11
  import { getSlotted } from "../../utils/dom";
12
+ import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
12
13
  /**
13
14
  * @slot actions-end - A slot for adding actions or content to the end side of the item.
14
15
  * @slot actions-start - A slot for adding actions or content to the start side of the item.
@@ -66,6 +67,17 @@ export class CalciteValueListItem {
66
67
  }
67
68
  // --------------------------------------------------------------------------
68
69
  //
70
+ // Lifecycle
71
+ //
72
+ // --------------------------------------------------------------------------
73
+ connectedCallback() {
74
+ connectConditionalSlotComponent(this);
75
+ }
76
+ disconnectedCallback() {
77
+ disconnectConditionalSlotComponent(this);
78
+ }
79
+ // --------------------------------------------------------------------------
80
+ //
69
81
  // Public Methods
70
82
  //
71
83
  // --------------------------------------------------------------------------
@@ -3,24 +3,35 @@
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
5
  import { forceUpdate } from "@stencil/core";
6
- const slotChangedMap = new WeakMap();
7
- function onSlotChange() {
8
- forceUpdate(this);
9
- }
10
- const eventType = "slotchange";
6
+ import { createObserver } from "./observers";
7
+ const observed = new Set();
8
+ let mutationObserver;
9
+ const observerOptions = { childList: true };
11
10
  /**
12
11
  * Helper to set up a conditional slot component on connectedCallback.
13
12
  */
14
13
  export function connectConditionalSlotComponent(component) {
15
- const boundSlotChange = onSlotChange.bind(component);
16
- component.el.shadowRoot.addEventListener(eventType, boundSlotChange);
17
- slotChangedMap.set(component, boundSlotChange);
14
+ if (!mutationObserver) {
15
+ mutationObserver = createObserver("mutation", processMutations);
16
+ }
17
+ mutationObserver.observe(component.el, observerOptions);
18
18
  }
19
19
  /**
20
20
  * Helper to tear down a conditional slot component on disconnectedCallback.
21
21
  */
22
22
  export function disconnectConditionalSlotComponent(component) {
23
- const boundSlotChange = slotChangedMap.get(component);
24
- component.el.shadowRoot.removeEventListener(eventType, boundSlotChange);
25
- slotChangedMap.delete(component);
23
+ observed.delete(component.el);
24
+ // we explicitly process queued mutations and disconnect and reconnect
25
+ // the observer until MutationObserver gets an `unobserve` method
26
+ // see https://github.com/whatwg/dom/issues/126
27
+ processMutations(mutationObserver.takeRecords());
28
+ mutationObserver.disconnect();
29
+ for (const [element] of observed.entries()) {
30
+ mutationObserver.observe(element, observerOptions);
31
+ }
32
+ }
33
+ function processMutations(mutations) {
34
+ mutations.forEach(({ target }) => {
35
+ forceUpdate(target);
36
+ });
26
37
  }
@@ -109,9 +109,9 @@ export async function focusElement(el) {
109
109
  }
110
110
  return isCalciteFocusable(el) ? el.setFocus() : el.focus();
111
111
  }
112
- const defaultSlotSelector = "> :not([slot])";
112
+ const defaultSlotSelector = ":not([slot])";
113
113
  export function getSlotted(element, slotName, options) {
114
- if (!Array.isArray(slotName) && typeof slotName !== "string") {
114
+ if (slotName && !Array.isArray(slotName) && typeof slotName !== "string") {
115
115
  options = slotName;
116
116
  slotName = null;
117
117
  }
@@ -125,12 +125,15 @@ export function getSlotted(element, slotName, options) {
125
125
  }
126
126
  return querySingle(element, slotSelector, options);
127
127
  }
128
+ function getDirectChildren(el, selector) {
129
+ return el ? Array.from(el.children || []).filter((child) => child === null || child === void 0 ? void 0 : child.matches(selector)) : [];
130
+ }
128
131
  function queryMultiple(element, slotSelector, options) {
129
- let matches = Array.from(element.querySelectorAll(slotSelector));
132
+ let matches = slotSelector === defaultSlotSelector
133
+ ? getDirectChildren(element, defaultSlotSelector)
134
+ : Array.from(element.querySelectorAll(slotSelector));
130
135
  matches = options && options.direct === false ? matches : matches.filter((el) => el.parentElement === element);
131
- if (slotSelector === defaultSlotSelector) {
132
- matches = matches.filter((match) => match === null || match === void 0 ? void 0 : match.assignedSlot);
133
- }
136
+ matches = (options === null || options === void 0 ? void 0 : options.matches) ? matches.filter((el) => el === null || el === void 0 ? void 0 : el.matches(options.matches)) : matches;
134
137
  const selector = options === null || options === void 0 ? void 0 : options.selector;
135
138
  return selector
136
139
  ? matches
@@ -140,11 +143,11 @@ function queryMultiple(element, slotSelector, options) {
140
143
  : matches;
141
144
  }
142
145
  function querySingle(element, slotSelector, options) {
143
- let match = element.querySelector(slotSelector);
144
- if (slotSelector === defaultSlotSelector) {
145
- match = (match === null || match === void 0 ? void 0 : match.assignedSlot) ? match : null;
146
- }
146
+ let match = slotSelector === defaultSlotSelector
147
+ ? getDirectChildren(element, defaultSlotSelector)[0] || null
148
+ : element.querySelector(slotSelector);
147
149
  match = options && options.direct === false ? match : (match === null || match === void 0 ? void 0 : match.parentElement) === element ? match : null;
150
+ match = (options === null || options === void 0 ? void 0 : options.matches) ? ((match === null || match === void 0 ? void 0 : match.matches(options.matches)) ? match : null) : match;
148
151
  const selector = options === null || options === void 0 ? void 0 : options.selector;
149
152
  return selector ? match === null || match === void 0 ? void 0 : match.querySelector(selector) : match;
150
153
  }
@@ -0,0 +1,59 @@
1
+ /*!
2
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
+ */
5
+ import { createObserver } from "./observers";
6
+ const allowedGlobalAttributes = ["lang"];
7
+ const elementToComponentAndObserverOptionsMap = new Map();
8
+ let mutationObserver;
9
+ function updateGlobalAttributes(component, attributeFilter) {
10
+ const { el } = component;
11
+ const updatedAttributes = {};
12
+ attributeFilter
13
+ .filter((attr) => !!allowedGlobalAttributes.includes(attr) && !!el.hasAttribute(attr))
14
+ .forEach((attr) => {
15
+ const value = el.getAttribute(attr);
16
+ if (value !== null) {
17
+ updatedAttributes[attr] = value;
18
+ }
19
+ });
20
+ component.globalAttributes = updatedAttributes;
21
+ }
22
+ function processMutations(mutations) {
23
+ mutations.forEach(({ target }) => {
24
+ const [component, options] = elementToComponentAndObserverOptionsMap.get(target);
25
+ updateGlobalAttributes(component, options.attributeFilter);
26
+ });
27
+ }
28
+ /**
29
+ * Helper to set up listening for changes to global attributes.
30
+ *
31
+ * render(): VNode {
32
+ * const lang = this.inheritedAttributes['lang'] ?? 'en';
33
+ * return <div>My lang is {lang}</div>;
34
+ * }
35
+ */
36
+ export function watchGlobalAttributes(component, attributeFilter) {
37
+ const { el } = component;
38
+ const observerOptions = { attributeFilter };
39
+ elementToComponentAndObserverOptionsMap.set(el, [component, observerOptions]);
40
+ updateGlobalAttributes(component, attributeFilter);
41
+ if (!mutationObserver) {
42
+ mutationObserver = createObserver("mutation", processMutations);
43
+ }
44
+ mutationObserver.observe(el, observerOptions);
45
+ }
46
+ /**
47
+ * Helper remove listening for changes to inherited attributes.
48
+ */
49
+ export function unwatchGlobalAttributes(component) {
50
+ elementToComponentAndObserverOptionsMap.delete(component.el);
51
+ // we explicitly process queued mutations and disconnect and reconnect
52
+ // the observer until MutationObserver gets an `unobserve` method
53
+ // see https://github.com/whatwg/dom/issues/126
54
+ processMutations(mutationObserver.takeRecords());
55
+ mutationObserver.disconnect();
56
+ for (const [element, [, observerOptions]] of elementToComponentAndObserverOptionsMap.entries()) {
57
+ mutationObserver.observe(element, observerOptions);
58
+ }
59
+ }
@@ -15,5 +15,9 @@ export function createObserver(type, callback, options) {
15
15
  return Build.isBrowser ? new Observer(callback, options) : undefined;
16
16
  }
17
17
  function getObserver(type) {
18
- return (type === "intersection" ? IntersectionObserver : type === "mutation" ? MutationObserver : ResizeObserver);
18
+ return (type === "intersection"
19
+ ? window.IntersectionObserver
20
+ : type === "mutation"
21
+ ? window.MutationObserver
22
+ : window.ResizeObserver);
19
23
  }
@@ -2,10 +2,11 @@
2
2
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
- import { forceUpdate, HTMLElement, createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
5
+ import { HTMLElement, createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { t as toggleChildActionText, C as CalciteExpandToggle, o as overflowActionsDebounceInMs, q as queryActions, a as overflowActions, g as getOverflowCount } from './CalciteExpandToggle.js';
7
7
  import { f as focusElement, b as getSlotted } from './dom.js';
8
8
  import { c as createObserver } from './observers.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$7 } from './calcite-action-group2.js';
11
12
  import { d as defineCustomElement$6 } from './calcite-action-menu2.js';
@@ -27,28 +28,6 @@ const TEXT = {
27
28
  collapse: "Collapse"
28
29
  };
29
30
 
30
- const slotChangedMap = new WeakMap();
31
- function onSlotChange() {
32
- forceUpdate(this);
33
- }
34
- const eventType = "slotchange";
35
- /**
36
- * Helper to set up a conditional slot component on connectedCallback.
37
- */
38
- function connectConditionalSlotComponent(component) {
39
- const boundSlotChange = onSlotChange.bind(component);
40
- component.el.shadowRoot.addEventListener(eventType, boundSlotChange);
41
- slotChangedMap.set(component, boundSlotChange);
42
- }
43
- /**
44
- * Helper to tear down a conditional slot component on disconnectedCallback.
45
- */
46
- function disconnectConditionalSlotComponent(component) {
47
- const boundSlotChange = slotChangedMap.get(component);
48
- component.el.shadowRoot.removeEventListener(eventType, boundSlotChange);
49
- slotChangedMap.delete(component);
50
- }
51
-
52
31
  const calciteActionBarCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:host{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{pointer-events:auto;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch;max-width:15vw}:host([overflow-actions-disabled]){overflow-y:auto}:host([expanded]){max-width:20vw}::slotted(calcite-action-group){border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3)}::slotted(calcite-action-group:last-child){border-bottom-width:0px}.action-group--bottom{-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:end;justify-content:flex-end;padding-bottom:0px}";
53
32
 
54
33
  let CalciteActionBar$1 = class extends HTMLElement {
@@ -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 { S as SLOTS$1, d as defineCustomElement$5 } from './calcite-action-menu2.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
  import { d as defineCustomElement$6 } from './calcite-action2.js';
9
10
  import { d as defineCustomElement$4 } from './calcite-icon2.js';
10
11
  import { d as defineCustomElement$3 } from './calcite-loader2.js';
@@ -60,6 +61,17 @@ let CalciteActionGroup = class extends HTMLElement {
60
61
  }
61
62
  // --------------------------------------------------------------------------
62
63
  //
64
+ // Lifecycle
65
+ //
66
+ // --------------------------------------------------------------------------
67
+ connectedCallback() {
68
+ connectConditionalSlotComponent(this);
69
+ }
70
+ disconnectedCallback() {
71
+ disconnectConditionalSlotComponent(this);
72
+ }
73
+ // --------------------------------------------------------------------------
74
+ //
63
75
  // Component Methods
64
76
  //
65
77
  // --------------------------------------------------------------------------
@@ -7,6 +7,7 @@ import { b as getSlotted, f as focusElement } from './dom.js';
7
7
  import { g as getRoundRobinIndex } from './array.js';
8
8
  import { g as guid } from './guid.js';
9
9
  import { c as createObserver } from './observers.js';
10
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
10
11
  import { d as defineCustomElement$5 } from './calcite-action2.js';
11
12
  import { d as defineCustomElement$4 } from './calcite-icon2.js';
12
13
  import { d as defineCustomElement$3 } from './calcite-loader2.js';
@@ -237,11 +238,13 @@ let CalciteActionMenu = class extends HTMLElement {
237
238
  var _a;
238
239
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });
239
240
  this.getActions();
241
+ connectConditionalSlotComponent(this);
240
242
  }
241
243
  disconnectedCallback() {
242
244
  var _a;
243
245
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
244
246
  this.disconnectMenuButtonEl();
247
+ disconnectConditionalSlotComponent(this);
245
248
  }
246
249
  expandedHandler() {
247
250
  this.open = false;
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { t as toggleChildActionText, C as CalciteExpandToggle } from './CalciteExpandToggle.js';
7
7
  import { f as focusElement, b as getSlotted } from './dom.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
  import { d as defineCustomElement$8 } from './calcite-action2.js';
9
10
  import { d as defineCustomElement$7 } from './calcite-action-group2.js';
10
11
  import { d as defineCustomElement$6 } from './calcite-action-menu2.js';
@@ -88,6 +89,12 @@ let CalciteActionPad$1 = class extends HTMLElement {
88
89
  // Lifecycle
89
90
  //
90
91
  // --------------------------------------------------------------------------
92
+ connectedCallback() {
93
+ connectConditionalSlotComponent(this);
94
+ }
95
+ disconnectedCallback() {
96
+ disconnectConditionalSlotComponent(this);
97
+ }
91
98
  componentWillLoad() {
92
99
  const { el, expandDisabled, expanded } = this;
93
100
  if (!expandDisabled) {
@@ -21,7 +21,7 @@ const TEXT = {
21
21
  loading: "Loading"
22
22
  };
23
23
 
24
- const calciteActionCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:host{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;background-color:transparent}:host([disabled]){pointer-events:none}.button{position:relative;margin:0px;display:-ms-flexbox;display:flex;width:auto;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;border-style:none;background-color:var(--calcite-ui-foreground-1);fill:var(--calcite-ui-text-3);font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-3);outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;font-family:inherit;text-align:unset}.button:hover{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}.button:focus{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1);outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.button:active{background-color:var(--calcite-ui-foreground-3)}.button .icon-container{pointer-events:none;margin:0px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:1rem;min-height:1rem}.button .text-container{margin:0px;width:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1rem;opacity:0;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:width;transition-property:width}.button .text-container--visible{width:auto;-ms-flex:1 1 auto;flex:1 1 auto;opacity:1}:host([scale=s]) .button{padding:0.5rem;font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=s]) .button--text-visible .icon-container{-webkit-margin-end:0.5rem;margin-inline-end:0.5rem}:host([scale=m]) .button{padding:1rem;font-size:var(--calcite-font-size--1);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=m]) .button--text-visible .icon-container{-webkit-margin-end:0.75rem;margin-inline-end:0.75rem}:host([scale=l]) .button{padding:1.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=l]) .button--text-visible .icon-container{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([alignment=center]) .button{-ms-flex-pack:center;justify-content:center}:host([alignment=end]) .button{-ms-flex-pack:end;justify-content:flex-end}:host([alignment=center]) .button .text-container--visible,:host([alignment=end]) .button .text-container--visible{-ms-flex:0 1 auto;flex:0 1 auto}:host([scale=s][compact]) .button,:host([scale=m][compact]) .button,:host([scale=l][compact]) .button{padding-left:0px;padding-right:0px}.slot-container{display:-ms-flexbox;display:flex}.slot-container--hidden{display:none}.button--text-visible{width:100%}:host([active]) .button,:host([active]) .button:hover,:host([active]) .button:focus,:host([active][loading]) .button{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([active]) .button:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=clear]) .button{background-color:transparent;-webkit-transition-property:-webkit-box-shadow;transition-property:-webkit-box-shadow;transition-property:box-shadow;transition-property:box-shadow, -webkit-box-shadow;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}:host([appearance=clear]) .button:hover,:host([appearance=clear]) .button:focus{background-color:transparent;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset;box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset}:host([active][appearance=clear]) .button,:host([active][appearance=clear]) .button:hover,:host([active][appearance=clear]) .button:focus{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([appearance=clear][loading]) .button,:host([appearance=clear][disabled]) .button{background-color:transparent}:host([loading]) .button,:host([loading]) .button:hover,:host([loading]) .button:focus{background-color:var(--calcite-ui-foreground-1)}:host([loading]) .button .text-container,:host([loading]) .button:hover .text-container,:host([loading]) .button:focus .text-container{opacity:var(--calcite-ui-opacity-disabled)}:host([loading]) calcite-loader[inline]{margin-right:0px;color:var(--calcite-ui-text-3)}:host([disabled]) .button,:host([disabled]) .button:hover,:host([disabled]) .button:focus{cursor:default;background-color:var(--calcite-ui-foreground-1);opacity:var(--calcite-ui-opacity-disabled)}:host([disabled][active]) .button,:host([disabled][active]) .button:hover,:host([disabled][active]) .button:focus{background-color:var(--calcite-ui-foreground-3);opacity:var(--calcite-ui-opacity-disabled)}:host([indicator]) .button::after{content:\"\";position:absolute;z-index:10;height:0.5rem;width:0.5rem;border-radius:9999px;border-width:2px;background-color:var(--calcite-ui-brand);border-color:var(--calcite-ui-foreground-1);inset-block-end:0.75rem;inset-inline-end:0.75rem}:host([indicator]) .button--text-visible::after{inset-block-end:auto}:host([indicator]) .button--text-visible .text-container--visible{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([indicator]) .button:hover::after,:host([indicator]) .button:focus::after{border-color:var(--calcite-ui-foreground-1)}:host([indicator][scale=s]) .button::after{inset-block-end:0.25rem;inset-inline-end:0.25rem}:host([indicator][scale=s]) .button--text-visible::after{inset-block-end:auto;inset-inline-end:0.5rem}:host([indicator][active]) .button::after{border-color:var(--calcite-ui-foreground-3)}";
24
+ const calciteActionCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:host{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;background-color:transparent}:host([disabled]){pointer-events:none}.button{position:relative;margin:0px;display:-ms-flexbox;display:flex;width:auto;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;border-style:none;background-color:var(--calcite-ui-foreground-1);fill:var(--calcite-ui-text-3);font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-3);outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;font-family:inherit;text-align:unset;-ms-flex:1 0 auto;flex:1 0 auto}.button:hover{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}.button:focus{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1);outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.button:active{background-color:var(--calcite-ui-foreground-3)}.button .icon-container{pointer-events:none;margin:0px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:1rem;min-height:1rem}.button .text-container{margin:0px;width:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1rem;opacity:0;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:width;transition-property:width}.button .text-container--visible{width:auto;-ms-flex:1 1 auto;flex:1 1 auto;opacity:1}:host([scale=s]) .button{padding:0.5rem;font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=s]) .button--text-visible .icon-container{-webkit-margin-end:0.5rem;margin-inline-end:0.5rem}:host([scale=m]) .button{padding:1rem;font-size:var(--calcite-font-size--1);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=m]) .button--text-visible .icon-container{-webkit-margin-end:0.75rem;margin-inline-end:0.75rem}:host([scale=l]) .button{padding:1.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=l]) .button--text-visible .icon-container{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([alignment=center]) .button{-ms-flex-pack:center;justify-content:center}:host([alignment=end]) .button{-ms-flex-pack:end;justify-content:flex-end}:host([alignment=center]) .button .text-container--visible,:host([alignment=end]) .button .text-container--visible{-ms-flex:0 1 auto;flex:0 1 auto}:host([scale=s][compact]) .button,:host([scale=m][compact]) .button,:host([scale=l][compact]) .button{padding-left:0px;padding-right:0px}.slot-container{display:-ms-flexbox;display:flex}.slot-container--hidden{display:none}.button--text-visible{width:100%}:host([active]) .button,:host([active]) .button:hover,:host([active]) .button:focus,:host([active][loading]) .button{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([active]) .button:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=clear]) .button{background-color:transparent;-webkit-transition-property:-webkit-box-shadow;transition-property:-webkit-box-shadow;transition-property:box-shadow;transition-property:box-shadow, -webkit-box-shadow;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}:host([appearance=clear]) .button:hover,:host([appearance=clear]) .button:focus{background-color:transparent;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset;box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset}:host([active][appearance=clear]) .button,:host([active][appearance=clear]) .button:hover,:host([active][appearance=clear]) .button:focus{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([appearance=clear][loading]) .button,:host([appearance=clear][disabled]) .button{background-color:transparent}:host([loading]) .button,:host([loading]) .button:hover,:host([loading]) .button:focus{background-color:var(--calcite-ui-foreground-1)}:host([loading]) .button .text-container,:host([loading]) .button:hover .text-container,:host([loading]) .button:focus .text-container{opacity:var(--calcite-ui-opacity-disabled)}:host([loading]) calcite-loader[inline]{margin-right:0px;color:var(--calcite-ui-text-3)}:host([disabled]) .button,:host([disabled]) .button:hover,:host([disabled]) .button:focus{cursor:default;background-color:var(--calcite-ui-foreground-1);opacity:var(--calcite-ui-opacity-disabled)}:host([disabled][active]) .button,:host([disabled][active]) .button:hover,:host([disabled][active]) .button:focus{background-color:var(--calcite-ui-foreground-3);opacity:var(--calcite-ui-opacity-disabled)}:host([indicator]) .button::after{content:\"\";position:absolute;z-index:10;height:0.5rem;width:0.5rem;border-radius:9999px;border-width:2px;background-color:var(--calcite-ui-brand);border-color:var(--calcite-ui-foreground-1);inset-block-end:0.75rem;inset-inline-end:0.75rem}:host([indicator]) .button--text-visible::after{inset-block-end:auto}:host([indicator]) .button--text-visible .text-container--visible{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([indicator]) .button:hover::after,:host([indicator]) .button:focus::after{border-color:var(--calcite-ui-foreground-1)}:host([indicator][scale=s]) .button::after{inset-block-end:0.25rem;inset-inline-end:0.25rem}:host([indicator][scale=s]) .button--text-visible::after{inset-block-end:auto;inset-inline-end:0.5rem}:host([indicator][active]) .button::after{border-color:var(--calcite-ui-foreground-3)}";
25
25
 
26
26
  let CalciteAction = class extends HTMLElement {
27
27
  constructor() {
@@ -67,6 +67,7 @@ let CalciteAlert$1 = class extends HTMLElement {
67
67
  this.queued = false;
68
68
  this.autoDismissTimeoutId = null;
69
69
  this.trackTimer = Date.now();
70
+ this.activeTransitionProp = "opacity";
70
71
  /** close and emit the closed alert and the queue */
71
72
  this.closeAlert = () => {
72
73
  this.autoDismissTimeoutId = null;
@@ -75,10 +76,19 @@ let CalciteAlert$1 = class extends HTMLElement {
75
76
  this.queue = this.queue.filter((e) => e !== this.el);
76
77
  this.determineActiveAlert();
77
78
  this.calciteAlertSync.emit({ queue: this.queue });
78
- this.calciteAlertClose.emit({
79
- el: this.el,
80
- queue: this.queue
81
- });
79
+ };
80
+ this.transitionEnd = (event) => {
81
+ if (event.propertyName === this.activeTransitionProp) {
82
+ this.active
83
+ ? this.calciteAlertOpen.emit({
84
+ el: this.el,
85
+ queue: this.queue
86
+ })
87
+ : this.calciteAlertClose.emit({
88
+ el: this.el,
89
+ queue: this.queue
90
+ });
91
+ }
82
92
  };
83
93
  }
84
94
  watchActive() {
@@ -129,7 +139,7 @@ let CalciteAlert$1 = class extends HTMLElement {
129
139
  container: true,
130
140
  queued,
131
141
  [placement]: true
132
- } }, requestedIcon ? (h("div", { class: "alert-icon" }, h("calcite-icon", { icon: requestedIcon, scale: this.scale === "l" ? "m" : "s" }))) : null, h("div", { class: "alert-content" }, h("slot", { name: SLOTS.title }), h("slot", { name: SLOTS.message }), h("slot", { name: SLOTS.link })), queueCount, !autoDismiss ? closeButton : null, active && !queued && autoDismiss ? h("div", { class: "alert-dismiss-progress" }) : null)));
142
+ }, onTransitionEnd: this.transitionEnd }, requestedIcon ? (h("div", { class: "alert-icon" }, h("calcite-icon", { icon: requestedIcon, scale: this.scale === "l" ? "m" : "s" }))) : null, h("div", { class: "alert-content" }, h("slot", { name: SLOTS.title }), h("slot", { name: SLOTS.message }), h("slot", { name: SLOTS.link })), queueCount, !autoDismiss ? closeButton : null, active && !queued && autoDismiss ? h("div", { class: "alert-dismiss-progress" }) : null)));
133
143
  }
134
144
  // when an alert is opened or closed, update queue and determine active alert
135
145
  alertSync(event) {
@@ -188,10 +198,6 @@ let CalciteAlert$1 = class extends HTMLElement {
188
198
  openAlert() {
189
199
  window.clearTimeout(this.queueTimeout);
190
200
  this.queueTimeout = window.setTimeout(() => (this.queued = false), 300);
191
- this.calciteAlertOpen.emit({
192
- el: this.el,
193
- queue: this.queue
194
- });
195
201
  }
196
202
  get el() { return this; }
197
203
  static get watchers() { return {
@@ -5,6 +5,7 @@
5
5
  import { HTMLElement, createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { b as getSlotted } from './dom.js';
7
7
  import { C as CalciteHeading } from './CalciteHeading.js';
8
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
8
9
  import { d as defineCustomElement$9 } from './calcite-action2.js';
9
10
  import { d as defineCustomElement$8 } from './calcite-action-menu2.js';
10
11
  import { d as defineCustomElement$7 } from './calcite-handle2.js';
@@ -105,6 +106,17 @@ let CalciteBlock$1 = class extends HTMLElement {
105
106
  }
106
107
  // --------------------------------------------------------------------------
107
108
  //
109
+ // Lifecycle
110
+ //
111
+ // --------------------------------------------------------------------------
112
+ connectedCallback() {
113
+ connectConditionalSlotComponent(this);
114
+ }
115
+ disconnectedCallback() {
116
+ disconnectConditionalSlotComponent(this);
117
+ }
118
+ // --------------------------------------------------------------------------
119
+ //
108
120
  // Render Methods
109
121
  //
110
122
  // --------------------------------------------------------------------------
@@ -118,7 +130,7 @@ let CalciteBlock$1 = class extends HTMLElement {
118
130
  const showingLoadingStatus = this.loading && !this.open;
119
131
  const statusIcon = showingLoadingStatus ? ICONS.refresh : ICONS[status];
120
132
  const hasIcon = getSlotted(el, SLOTS.icon) || statusIcon;
121
- const iconEl = !statusIcon ? (h("slot", { name: SLOTS.icon })) : (h("calcite-icon", { class: {
133
+ const iconEl = !statusIcon ? (h("slot", { key: "icon-slot", name: SLOTS.icon })) : (h("calcite-icon", { class: {
122
134
  [CSS.statusIcon]: true,
123
135
  [CSS.valid]: status == "valid",
124
136
  [CSS.invalid]: status == "invalid",
@@ -3,6 +3,8 @@
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
5
  import { HTMLElement, createEvent, h, proxyCustomElement } from '@stencil/core/internal/client';
6
+ import { b as getSlotted } from './dom.js';
7
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot.js';
6
8
  import { d as defineCustomElement$4 } from './calcite-checkbox2.js';
7
9
  import { d as defineCustomElement$3 } from './calcite-label2.js';
8
10
  import { d as defineCustomElement$2 } from './calcite-loader2.js';
@@ -88,6 +90,12 @@ let CalciteCard$1 = class extends HTMLElement {
88
90
  // Lifecycle
89
91
  //
90
92
  // --------------------------------------------------------------------------
93
+ connectedCallback() {
94
+ connectConditionalSlotComponent(this);
95
+ }
96
+ disonnectedCallback() {
97
+ disconnectConditionalSlotComponent(this);
98
+ }
91
99
  render() {
92
100
  return (h("div", { class: "calcite-card-container" }, this.loading ? (h("div", { class: "calcite-card-loader-container" }, h("calcite-loader", { active: true, label: this.intlLoading }))) : null, h("section", { "aria-busy": this.loading.toString(), class: { [CSS.container]: true } }, this.selectable ? this.renderCheckbox() : null, this.renderThumbnail(), this.renderHeader(), h("div", { class: "card-content" }, h("slot", null)), this.renderFooter())));
93
101
  }
@@ -96,22 +104,23 @@ let CalciteCard$1 = class extends HTMLElement {
96
104
  this.calciteCardSelect.emit();
97
105
  }
98
106
  renderThumbnail() {
99
- const hasThumbnail = this.el.querySelector(`[slot=${SLOTS.thumbnail}]`);
100
- return hasThumbnail ? (h("div", { class: CSS.thumbnailWrapper }, h("slot", { name: SLOTS.thumbnail }))) : null;
107
+ return getSlotted(this.el, SLOTS.thumbnail) ? (h("div", { class: CSS.thumbnailWrapper, key: "thumbnail-wrapper" }, h("slot", { name: SLOTS.thumbnail }))) : null;
101
108
  }
102
109
  renderCheckbox() {
103
110
  const checkboxLabel = this.selected ? this.intlDeselect : this.intlSelect;
104
111
  return (h("calcite-label", { class: CSS.checkboxWrapper, onClick: this.cardSelectClick, onKeyDown: this.cardSelectKeyDown }, h("calcite-checkbox", { checked: this.selected, label: checkboxLabel })));
105
112
  }
106
113
  renderHeader() {
107
- const title = this.el.querySelector(`[slot=${SLOTS.title}]`);
108
- const subtitle = this.el.querySelector(`[slot=${SLOTS.subtitle}]`);
114
+ const { el } = this;
115
+ const title = getSlotted(el, SLOTS.title);
116
+ const subtitle = getSlotted(el, SLOTS.subtitle);
109
117
  const hasHeader = title || subtitle;
110
118
  return hasHeader ? (h("header", { class: CSS.header }, h("slot", { name: SLOTS.title }), h("slot", { name: SLOTS.subtitle }))) : null;
111
119
  }
112
120
  renderFooter() {
113
- const leadingFooter = this.el.querySelector(`[slot=${SLOTS.footerLeading}]`);
114
- const trailingFooter = this.el.querySelector(`[slot=${SLOTS.footerTrailing}]`);
121
+ const { el } = this;
122
+ const leadingFooter = getSlotted(el, SLOTS.footerLeading);
123
+ const trailingFooter = getSlotted(el, SLOTS.footerTrailing);
115
124
  const hasFooter = leadingFooter || trailingFooter;
116
125
  return hasFooter ? (h("footer", { class: CSS.footer }, h("slot", { name: SLOTS.footerLeading }), h("slot", { name: SLOTS.footerTrailing }))) : null;
117
126
  }