@esri/calcite-components 1.0.0-next.294 → 1.0.0-next.298

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 (561) hide show
  1. package/dist/calcite/assets/calcite-icon/checkExtent16.json +1 -0
  2. package/dist/calcite/assets/calcite-icon/checkExtent24.json +1 -0
  3. package/dist/calcite/assets/calcite-icon/checkExtent32.json +1 -0
  4. package/dist/calcite/assets/calcite-icon/driveTime16.json +1 -0
  5. package/dist/calcite/assets/calcite-icon/driveTime24.json +1 -0
  6. package/dist/calcite/assets/calcite-icon/driveTime32.json +1 -0
  7. package/dist/calcite/assets/calcite-icon/driveTimeLargest16.json +1 -0
  8. package/dist/calcite/assets/calcite-icon/driveTimeLargest24.json +1 -0
  9. package/dist/calcite/assets/calcite-icon/driveTimeLargest32.json +1 -0
  10. package/dist/calcite/assets/calcite-icon/driveTimeSmallest16.json +1 -0
  11. package/dist/calcite/assets/calcite-icon/driveTimeSmallest24.json +1 -0
  12. package/dist/calcite/assets/calcite-icon/driveTimeSmallest32.json +1 -0
  13. package/dist/calcite/assets/calcite-icon/driveTimeXBar16.json +1 -0
  14. package/dist/calcite/assets/calcite-icon/driveTimeXBar24.json +1 -0
  15. package/dist/calcite/assets/calcite-icon/driveTimeXBar32.json +1 -0
  16. package/dist/calcite/assets/calcite-icon/groupItems16.json +1 -0
  17. package/dist/calcite/assets/calcite-icon/groupItems24.json +1 -0
  18. package/dist/calcite/assets/calcite-icon/groupItems32.json +1 -0
  19. package/dist/calcite/assets/calcite-icon/groupLayoutElements16.json +1 -0
  20. package/dist/calcite/assets/calcite-icon/groupLayoutElements24.json +1 -0
  21. package/dist/calcite/assets/calcite-icon/groupLayoutElements32.json +1 -0
  22. package/dist/calcite/assets/calcite-icon/ringsLargest16.json +1 -0
  23. package/dist/calcite/assets/calcite-icon/ringsLargest24.json +1 -0
  24. package/dist/calcite/assets/calcite-icon/ringsLargest32.json +1 -0
  25. package/dist/calcite/assets/calcite-icon/ringsSmallest16.json +1 -0
  26. package/dist/calcite/assets/calcite-icon/ringsSmallest24.json +1 -0
  27. package/dist/calcite/assets/calcite-icon/ringsSmallest32.json +1 -0
  28. package/dist/calcite/assets/calcite-icon/ringsXBar16.json +1 -0
  29. package/dist/calcite/assets/calcite-icon/ringsXBar24.json +1 -0
  30. package/dist/calcite/assets/calcite-icon/ringsXBar32.json +1 -0
  31. package/dist/calcite/assets/calcite-icon/ungroupItems16.json +1 -0
  32. package/dist/calcite/assets/calcite-icon/ungroupItems24.json +1 -0
  33. package/dist/calcite/assets/calcite-icon/ungroupItems32.json +1 -0
  34. package/dist/calcite/assets/calcite-icon/ungroupLayoutElements16.json +1 -0
  35. package/dist/calcite/assets/calcite-icon/ungroupLayoutElements24.json +1 -0
  36. package/dist/calcite/assets/calcite-icon/ungroupLayoutElements32.json +1 -0
  37. package/dist/calcite/calcite.esm.js +1 -1
  38. package/dist/calcite/calcite.js +1 -1
  39. package/dist/calcite/{p-dc99bb00.system.entry.js → p-00716aa8.system.entry.js} +1 -1
  40. package/dist/calcite/{p-413b4857.system.entry.js → p-044d603d.system.entry.js} +1 -1
  41. package/dist/calcite/{p-6621aee1.entry.js → p-05da7439.entry.js} +1 -1
  42. package/dist/calcite/{p-7c37ca39.entry.js → p-08d707c4.entry.js} +1 -1
  43. package/dist/calcite/{p-fba65e4a.system.entry.js → p-10708f87.system.entry.js} +1 -1
  44. package/dist/calcite/p-109049e6.system.entry.js +5 -0
  45. package/dist/calcite/{p-58e98b2d.system.entry.js → p-127e3513.system.entry.js} +1 -1
  46. package/dist/calcite/p-1434e37e.entry.js +5 -0
  47. package/dist/calcite/{p-c8e4117c.system.entry.js → p-15f3a0d7.system.entry.js} +1 -1
  48. package/dist/calcite/{p-de3a04c2.system.entry.js → p-16bb48f6.system.entry.js} +1 -1
  49. package/dist/calcite/{p-c99d8f9e.system.entry.js → p-16f2d814.system.entry.js} +1 -1
  50. package/dist/calcite/p-1942876c.js +5 -0
  51. package/dist/calcite/{p-cca94491.system.entry.js → p-1a1e9057.system.entry.js} +1 -1
  52. package/dist/calcite/p-1a962bdd.js +5 -0
  53. package/dist/calcite/p-1aa89347.system.entry.js +5 -0
  54. package/dist/calcite/{p-a8569c55.system.entry.js → p-1c8fe17f.system.entry.js} +1 -1
  55. package/dist/calcite/{p-6988c6b7.system.entry.js → p-1dd440e6.system.entry.js} +1 -1
  56. package/dist/calcite/{p-7a6c6382.entry.js → p-21c8ac06.entry.js} +1 -1
  57. package/dist/calcite/{p-6c8a562f.system.entry.js → p-243d95ab.system.entry.js} +1 -1
  58. package/dist/calcite/{p-3f1d1bad.entry.js → p-2451da5b.entry.js} +1 -1
  59. package/dist/calcite/p-288bc438.system.js +5 -0
  60. package/dist/calcite/{p-4185db77.entry.js → p-289bc56f.entry.js} +1 -1
  61. package/dist/calcite/{p-9affee61.entry.js → p-29771742.entry.js} +1 -1
  62. package/dist/calcite/{p-8953f712.entry.js → p-2aa3007a.entry.js} +1 -1
  63. package/dist/calcite/p-2d09cc25.js +5 -0
  64. package/dist/calcite/p-2e29554c.js +5 -0
  65. package/dist/calcite/{p-3962cd38.entry.js → p-33802886.entry.js} +1 -1
  66. package/dist/calcite/{p-25a31861.system.js → p-34e5baa7.system.js} +1 -1
  67. package/dist/calcite/p-3a592bf3.system.entry.js +5 -0
  68. package/dist/calcite/p-3dae9da3.js +5 -0
  69. package/dist/calcite/{p-bf8b70a8.entry.js → p-3e6fcede.entry.js} +1 -1
  70. package/dist/calcite/p-3eb1dc0f.entry.js +5 -0
  71. package/dist/calcite/{p-c9ecea64.entry.js → p-48f03121.entry.js} +1 -1
  72. package/dist/calcite/{p-83302e1c.entry.js → p-4acfb654.entry.js} +1 -1
  73. package/dist/calcite/{p-bf25e278.system.entry.js → p-4d11efdb.system.entry.js} +1 -1
  74. package/dist/calcite/{p-b8d040e5.system.entry.js → p-4e16515a.system.entry.js} +1 -1
  75. package/dist/calcite/{p-c60e3a71.entry.js → p-4f1f83d2.entry.js} +1 -1
  76. package/dist/calcite/{p-1e875199.entry.js → p-502ea583.entry.js} +1 -1
  77. package/dist/calcite/p-523bc291.system.js +5 -0
  78. package/dist/calcite/p-54394dfe.system.entry.js +5 -0
  79. package/dist/calcite/p-578509a8.entry.js +5 -0
  80. package/dist/calcite/p-592da79d.system.entry.js +5 -0
  81. package/dist/calcite/p-5c0c29bc.entry.js +5 -0
  82. package/dist/calcite/p-5eee672a.system.entry.js +5 -0
  83. package/dist/calcite/{p-ba1322e6.system.entry.js → p-5f2a9710.system.entry.js} +1 -1
  84. package/dist/calcite/{p-36e5db45.entry.js → p-5f817b79.entry.js} +1 -1
  85. package/dist/calcite/{p-e638ff0e.entry.js → p-6296644b.entry.js} +1 -1
  86. package/dist/calcite/p-63e60894.entry.js +5 -0
  87. package/dist/calcite/{p-daa110fe.system.entry.js → p-6484ffb7.system.entry.js} +1 -1
  88. package/dist/calcite/{p-28261aae.entry.js → p-659898bf.entry.js} +1 -1
  89. package/dist/calcite/{p-d11ad046.system.js → p-6d44b7d9.system.js} +1 -1
  90. package/dist/calcite/p-6f1cca21.system.js +5 -0
  91. package/dist/calcite/{p-e7819705.entry.js → p-714ae4f6.entry.js} +1 -1
  92. package/dist/calcite/{p-3bb30b44.system.entry.js → p-74f390e1.system.entry.js} +1 -1
  93. package/dist/calcite/{p-d4059426.entry.js → p-75264173.entry.js} +1 -1
  94. package/dist/calcite/{p-76ccd204.entry.js → p-765fb8ed.entry.js} +1 -1
  95. package/dist/calcite/p-784e414b.entry.js +5 -0
  96. package/dist/calcite/{p-cacca548.entry.js → p-78d0db7b.entry.js} +1 -1
  97. package/dist/calcite/{p-98789055.system.entry.js → p-7ba971b5.system.entry.js} +1 -1
  98. package/dist/calcite/{p-f281f1e9.entry.js → p-7bb94bfa.entry.js} +1 -1
  99. package/dist/calcite/{p-502736d8.system.entry.js → p-81538774.system.entry.js} +1 -1
  100. package/dist/calcite/p-81ab443c.entry.js +5 -0
  101. package/dist/calcite/p-82139130.entry.js +5 -0
  102. package/dist/calcite/{p-7b869bc5.entry.js → p-82c6cd9a.entry.js} +1 -1
  103. package/dist/calcite/{p-45257edb.js → p-8340b572.js} +1 -1
  104. package/dist/calcite/{p-58716826.system.entry.js → p-840f2937.system.entry.js} +2 -2
  105. package/dist/calcite/p-85032edc.system.entry.js +5 -0
  106. package/dist/calcite/{p-b41deed0.system.entry.js → p-8b2ead09.system.entry.js} +1 -1
  107. package/dist/calcite/p-8baa9ba4.entry.js +5 -0
  108. package/dist/calcite/{p-7ade2294.system.entry.js → p-8fef13ca.system.entry.js} +1 -1
  109. package/dist/calcite/{p-75f714c9.entry.js → p-9338b0bc.entry.js} +1 -1
  110. package/dist/calcite/p-9577dfd9.entry.js +5 -0
  111. package/dist/calcite/{p-c48b4b7e.system.entry.js → p-95b9a0f2.system.entry.js} +1 -1
  112. package/dist/calcite/p-968ea270.entry.js +5 -0
  113. package/dist/calcite/p-99a1c131.entry.js +5 -0
  114. package/dist/calcite/{p-83ccefba.system.entry.js → p-9abbbcbd.system.entry.js} +1 -1
  115. package/dist/calcite/p-9be6633a.entry.js +5 -0
  116. package/dist/calcite/{p-9fc0dc2c.system.entry.js → p-9f240615.system.entry.js} +1 -1
  117. package/dist/calcite/{p-f6f4648e.system.entry.js → p-a5269f14.system.entry.js} +1 -1
  118. package/dist/calcite/{p-684ccd4e.system.entry.js → p-a8dc2982.system.entry.js} +1 -1
  119. package/dist/calcite/{p-0100aeb0.entry.js → p-ace12b8d.entry.js} +1 -1
  120. package/dist/calcite/{p-7dd5c4e4.entry.js → p-aced5f01.entry.js} +1 -1
  121. package/dist/calcite/{p-f32e61bb.system.entry.js → p-aec398f3.system.entry.js} +1 -1
  122. package/dist/calcite/{p-eed43a57.system.entry.js → p-b1351c3e.system.entry.js} +1 -1
  123. package/dist/calcite/p-b1a96c72.system.entry.js +5 -0
  124. package/dist/calcite/{p-8007a0b4.system.entry.js → p-b2bbac37.system.entry.js} +1 -1
  125. package/dist/calcite/{p-3cf93a58.system.entry.js → p-b4b1081f.system.entry.js} +1 -1
  126. package/dist/calcite/p-b94bf8ac.system.entry.js +5 -0
  127. package/dist/calcite/p-c0e35328.entry.js +5 -0
  128. package/dist/calcite/p-c34c4414.system.js +5 -0
  129. package/dist/calcite/{p-a09634e2.entry.js → p-c3ba61ea.entry.js} +1 -1
  130. package/dist/calcite/{p-fe16f05e.system.entry.js → p-c4cb4fab.system.entry.js} +1 -1
  131. package/dist/calcite/p-c87c04a9.entry.js +5 -0
  132. package/dist/calcite/p-ca3bb147.entry.js +5 -0
  133. package/dist/calcite/{p-527146c8.system.entry.js → p-cbe9f1a2.system.entry.js} +1 -1
  134. package/dist/calcite/{p-a7ba0292.system.js → p-cbf6bb04.system.js} +1 -1
  135. package/dist/calcite/p-cc2085c7.system.entry.js +5 -0
  136. package/dist/calcite/{p-507b2cc4.entry.js → p-cc788d2e.entry.js} +1 -1
  137. package/dist/calcite/p-cced5508.system.entry.js +5 -0
  138. package/dist/calcite/{p-dcf30b00.system.entry.js → p-cf03b144.system.entry.js} +1 -1
  139. package/dist/calcite/{p-b018fbbd.entry.js → p-d550ee4d.entry.js} +1 -1
  140. package/dist/calcite/{p-72fa390e.entry.js → p-d6e30c54.entry.js} +1 -1
  141. package/dist/calcite/{p-79cbbf2d.js → p-d6f20229.js} +1 -1
  142. package/dist/calcite/{p-3e438b5b.system.entry.js → p-dabb63b5.system.entry.js} +1 -1
  143. package/dist/calcite/{p-9fa024e6.system.entry.js → p-dd464e44.system.entry.js} +1 -1
  144. package/dist/calcite/{p-38ee7306.system.entry.js → p-deb36fde.system.entry.js} +1 -1
  145. package/dist/calcite/{p-b4e7b593.system.entry.js → p-defcee80.system.entry.js} +1 -1
  146. package/dist/calcite/{p-e35e7216.system.js → p-dff7dc90.system.js} +1 -1
  147. package/dist/calcite/{p-aad45edf.system.js → p-e095517f.system.js} +1 -1
  148. package/dist/calcite/{p-09da1c54.system.entry.js → p-e33fe285.system.entry.js} +1 -1
  149. package/dist/calcite/p-e52495d3.system.entry.js +5 -0
  150. package/dist/calcite/p-e5932886.system.entry.js +5 -0
  151. package/dist/calcite/{p-9fa5e356.entry.js → p-e5e3b591.entry.js} +1 -1
  152. package/dist/calcite/p-e62a9b1d.system.entry.js +5 -0
  153. package/dist/calcite/p-e6c84e63.entry.js +5 -0
  154. package/dist/calcite/{p-a5bfc29d.system.entry.js → p-e6d05ad6.system.entry.js} +1 -1
  155. package/dist/calcite/{p-49d5ee42.system.entry.js → p-e70cb594.system.entry.js} +1 -1
  156. package/dist/calcite/{p-809ddb6a.js → p-e956e279.js} +1 -1
  157. package/dist/calcite/{p-c399cfce.entry.js → p-eada9cef.entry.js} +1 -1
  158. package/dist/calcite/{p-b244a00c.entry.js → p-ecc00ef0.entry.js} +1 -1
  159. package/dist/calcite/p-ed15771f.system.entry.js +5 -0
  160. package/dist/calcite/p-ed453bfb.entry.js +5 -0
  161. package/dist/calcite/{p-f93a7fce.entry.js → p-ef39847e.entry.js} +1 -1
  162. package/dist/calcite/{p-cd41629f.entry.js → p-efb2169a.entry.js} +1 -1
  163. package/dist/calcite/{p-06646eed.system.entry.js → p-f0338acf.system.entry.js} +1 -1
  164. package/dist/calcite/{p-3383d9b4.entry.js → p-f1c5e7cf.entry.js} +1 -1
  165. package/dist/calcite/{p-58eca102.entry.js → p-f278dd53.entry.js} +1 -1
  166. package/dist/calcite/p-f44e01bf.entry.js +5 -0
  167. package/dist/calcite/{p-5efd7297.entry.js → p-f9c46578.entry.js} +1 -1
  168. package/dist/calcite/{p-10de63d7.system.entry.js → p-fc47547f.system.entry.js} +1 -1
  169. package/dist/calcite/p-fc643963.entry.js +5 -0
  170. package/dist/cjs/{CalciteExpandToggle-6a9f9858.js → CalciteExpandToggle-5f60c98b.js} +1 -1
  171. package/dist/cjs/{CalciteHeading-363b0525.js → CalciteHeading-112c19f9.js} +1 -1
  172. package/dist/cjs/calcite-accordion_2.cjs.entry.js +1 -1
  173. package/dist/cjs/calcite-action-bar.cjs.entry.js +2 -2
  174. package/dist/cjs/calcite-action-group.cjs.entry.js +1 -1
  175. package/dist/cjs/calcite-action-menu.cjs.entry.js +1 -1
  176. package/dist/cjs/calcite-action-pad.cjs.entry.js +2 -2
  177. package/dist/cjs/calcite-action.cjs.entry.js +1 -1
  178. package/dist/cjs/calcite-alert.cjs.entry.js +1 -1
  179. package/dist/cjs/calcite-avatar.cjs.entry.js +1 -1
  180. package/dist/cjs/calcite-block_2.cjs.entry.js +2 -2
  181. package/dist/cjs/calcite-button.cjs.entry.js +3 -3
  182. package/dist/cjs/calcite-card.cjs.entry.js +1 -1
  183. package/dist/cjs/calcite-checkbox.cjs.entry.js +36 -85
  184. package/dist/cjs/calcite-chip.cjs.entry.js +1 -1
  185. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +26 -27
  186. package/dist/cjs/calcite-combobox_3.cjs.entry.js +81 -22
  187. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +28 -10
  188. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +1 -1
  189. package/dist/cjs/calcite-fab.cjs.entry.js +1 -1
  190. package/dist/cjs/calcite-filter.cjs.entry.js +34 -8
  191. package/dist/cjs/calcite-flow.cjs.entry.js +1 -1
  192. package/dist/cjs/calcite-graph_2.cjs.entry.js +13 -5
  193. package/dist/cjs/calcite-handle.cjs.entry.js +1 -1
  194. package/dist/cjs/calcite-icon.cjs.entry.js +1 -1
  195. package/dist/cjs/calcite-inline-editable.cjs.entry.js +51 -42
  196. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +68 -15
  197. package/dist/cjs/calcite-input-message.cjs.entry.js +1 -1
  198. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +13 -4
  199. package/dist/cjs/calcite-input.cjs.entry.js +78 -58
  200. package/dist/cjs/calcite-label.cjs.entry.js +1 -1
  201. package/dist/cjs/calcite-link.cjs.entry.js +1 -1
  202. package/dist/cjs/calcite-list_3.cjs.entry.js +3 -3
  203. package/dist/cjs/calcite-loader.cjs.entry.js +1 -1
  204. package/dist/cjs/calcite-modal.cjs.entry.js +1 -1
  205. package/dist/cjs/calcite-notice.cjs.entry.js +1 -1
  206. package/dist/cjs/calcite-option_3.cjs.entry.js +31 -5
  207. package/dist/cjs/calcite-pagination.cjs.entry.js +1 -1
  208. package/dist/cjs/calcite-panel.cjs.entry.js +5 -4
  209. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +3 -3
  210. package/dist/cjs/calcite-popover_2.cjs.entry.js +3 -3
  211. package/dist/cjs/calcite-progress.cjs.entry.js +1 -1
  212. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +1 -1
  213. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +20 -24
  214. package/dist/cjs/calcite-radio_2.cjs.entry.js +81 -75
  215. package/dist/cjs/calcite-rating.cjs.entry.js +13 -4
  216. package/dist/cjs/calcite-scrim.cjs.entry.js +1 -1
  217. package/dist/cjs/calcite-shell_3.cjs.entry.js +5 -4
  218. package/dist/cjs/calcite-sortable-list.cjs.entry.js +1 -1
  219. package/dist/cjs/calcite-split-button.cjs.entry.js +1 -1
  220. package/dist/cjs/calcite-stepper_2.cjs.entry.js +1 -1
  221. package/dist/cjs/calcite-switch.cjs.entry.js +25 -49
  222. package/dist/cjs/calcite-tab_4.cjs.entry.js +1 -1
  223. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +1 -3
  224. package/dist/cjs/calcite-tile.cjs.entry.js +1 -1
  225. package/dist/cjs/calcite-tip_3.cjs.entry.js +2 -2
  226. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +1 -1
  227. package/dist/cjs/calcite-tree_2.cjs.entry.js +16 -9
  228. package/dist/cjs/calcite-value-list_2.cjs.entry.js +2 -2
  229. package/dist/cjs/calcite.cjs.js +2 -2
  230. package/dist/cjs/form-a5b44a1f.js +179 -0
  231. package/dist/cjs/{index-cee0daa9.js → index-6b5d2de5.js} +8 -365
  232. package/dist/cjs/{label-549c3d9d.js → label-8e3552b2.js} +33 -4
  233. package/dist/cjs/loader.cjs.js +2 -2
  234. package/dist/cjs/math-145c80e2.js +21 -0
  235. package/dist/cjs/{resources-38563593.js → resources-3f7b51c8.js} +1 -1
  236. package/dist/cjs/{resources-f9c141d2.js → resources-cd25dbae.js} +1 -1
  237. package/dist/collection/components/calcite-button/calcite-button.css +20 -14
  238. package/dist/collection/components/calcite-checkbox/calcite-checkbox.css +22 -11
  239. package/dist/collection/components/calcite-checkbox/calcite-checkbox.js +63 -112
  240. package/dist/collection/components/calcite-color-picker/calcite-color-picker.js +13 -10
  241. package/dist/collection/components/calcite-color-picker-hex-input/calcite-color-picker-hex-input.js +11 -15
  242. package/dist/collection/components/calcite-combobox/calcite-combobox.css +15 -0
  243. package/dist/collection/components/calcite-combobox/calcite-combobox.js +139 -19
  244. package/dist/collection/components/calcite-date-picker/calcite-date-picker.js +45 -15
  245. package/dist/collection/components/calcite-filter/calcite-filter.js +79 -8
  246. package/dist/collection/components/calcite-icon/assets/calcite-icon/checkExtent16.json +1 -0
  247. package/dist/collection/components/calcite-icon/assets/calcite-icon/checkExtent24.json +1 -0
  248. package/dist/collection/components/calcite-icon/assets/calcite-icon/checkExtent32.json +1 -0
  249. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTime16.json +1 -0
  250. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTime24.json +1 -0
  251. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTime32.json +1 -0
  252. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeLargest16.json +1 -0
  253. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeLargest24.json +1 -0
  254. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeLargest32.json +1 -0
  255. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeSmallest16.json +1 -0
  256. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeSmallest24.json +1 -0
  257. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeSmallest32.json +1 -0
  258. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeXBar16.json +1 -0
  259. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeXBar24.json +1 -0
  260. package/dist/collection/components/calcite-icon/assets/calcite-icon/driveTimeXBar32.json +1 -0
  261. package/dist/collection/components/calcite-icon/assets/calcite-icon/groupItems16.json +1 -0
  262. package/dist/collection/components/calcite-icon/assets/calcite-icon/groupItems24.json +1 -0
  263. package/dist/collection/components/calcite-icon/assets/calcite-icon/groupItems32.json +1 -0
  264. package/dist/collection/components/calcite-icon/assets/calcite-icon/groupLayoutElements16.json +1 -0
  265. package/dist/collection/components/calcite-icon/assets/calcite-icon/groupLayoutElements24.json +1 -0
  266. package/dist/collection/components/calcite-icon/assets/calcite-icon/groupLayoutElements32.json +1 -0
  267. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsLargest16.json +1 -0
  268. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsLargest24.json +1 -0
  269. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsLargest32.json +1 -0
  270. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsSmallest16.json +1 -0
  271. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsSmallest24.json +1 -0
  272. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsSmallest32.json +1 -0
  273. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsXBar16.json +1 -0
  274. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsXBar24.json +1 -0
  275. package/dist/collection/components/calcite-icon/assets/calcite-icon/ringsXBar32.json +1 -0
  276. package/dist/collection/components/calcite-icon/assets/calcite-icon/ungroupItems16.json +1 -0
  277. package/dist/collection/components/calcite-icon/assets/calcite-icon/ungroupItems24.json +1 -0
  278. package/dist/collection/components/calcite-icon/assets/calcite-icon/ungroupItems32.json +1 -0
  279. package/dist/collection/components/calcite-icon/assets/calcite-icon/ungroupLayoutElements16.json +1 -0
  280. package/dist/collection/components/calcite-icon/assets/calcite-icon/ungroupLayoutElements24.json +1 -0
  281. package/dist/collection/components/calcite-icon/assets/calcite-icon/ungroupLayoutElements32.json +1 -0
  282. package/dist/collection/components/calcite-inline-editable/calcite-inline-editable.css +8 -54
  283. package/dist/collection/components/calcite-inline-editable/calcite-inline-editable.js +43 -32
  284. package/dist/collection/components/calcite-inline-editable/resources.js +7 -7
  285. package/dist/collection/components/calcite-input/calcite-input.css +102 -68
  286. package/dist/collection/components/calcite-input/calcite-input.js +107 -56
  287. package/dist/collection/components/calcite-input/resources.js +14 -12
  288. package/dist/collection/components/calcite-input-date-picker/calcite-input-date-picker.css +15 -0
  289. package/dist/collection/components/calcite-input-date-picker/calcite-input-date-picker.js +163 -40
  290. package/dist/collection/components/calcite-input-time-picker/calcite-input-time-picker.css +15 -0
  291. package/dist/collection/components/calcite-input-time-picker/calcite-input-time-picker.js +34 -3
  292. package/dist/collection/components/calcite-list-item/calcite-list-item.css +7 -0
  293. package/dist/collection/components/calcite-panel/calcite-panel.css +10 -4
  294. package/dist/collection/components/calcite-panel/calcite-panel.js +3 -2
  295. package/dist/collection/components/calcite-panel/resources.js +1 -0
  296. package/dist/collection/components/calcite-popover/calcite-popover.css +1 -0
  297. package/dist/collection/components/calcite-radio-button/calcite-radio-button.css +18 -1
  298. package/dist/collection/components/calcite-radio-button/calcite-radio-button.js +83 -84
  299. package/dist/collection/components/calcite-radio-button/resources.js +1 -1
  300. package/dist/collection/components/calcite-radio-group/calcite-radio-group.css +15 -0
  301. package/dist/collection/components/calcite-radio-group/calcite-radio-group.js +58 -22
  302. package/dist/collection/components/calcite-rating/calcite-rating.css +15 -0
  303. package/dist/collection/components/calcite-rating/calcite-rating.js +49 -1
  304. package/dist/collection/components/calcite-select/calcite-select.css +15 -0
  305. package/dist/collection/components/calcite-select/calcite-select.js +89 -3
  306. package/dist/collection/components/calcite-shell/calcite-shell.css +11 -11
  307. package/dist/collection/components/calcite-shell-panel/calcite-shell-panel.css +38 -21
  308. package/dist/collection/components/calcite-shell-panel/calcite-shell-panel.js +2 -2
  309. package/dist/collection/components/calcite-shell-panel/resources.js +1 -0
  310. package/dist/collection/components/calcite-slider/calcite-slider.css +15 -0
  311. package/dist/collection/components/calcite-slider/calcite-slider.js +45 -1
  312. package/dist/collection/components/calcite-switch/calcite-switch.css +15 -0
  313. package/dist/collection/components/calcite-switch/calcite-switch.js +28 -64
  314. package/dist/collection/components/calcite-tile-select/calcite-tile-select.js +4 -7
  315. package/dist/collection/components/calcite-tree-item/calcite-tree-item.js +15 -8
  316. package/dist/collection/utils/form.js +167 -14
  317. package/dist/collection/utils/label.js +33 -4
  318. package/dist/collection/utils/math.js +11 -0
  319. package/dist/components/calcite-button2.js +1 -1
  320. package/dist/components/calcite-checkbox2.js +37 -87
  321. package/dist/components/calcite-color-picker-hex-input2.js +11 -15
  322. package/dist/components/calcite-color-picker.js +13 -10
  323. package/dist/components/calcite-combobox.js +82 -20
  324. package/dist/components/calcite-date-picker2.js +25 -7
  325. package/dist/components/calcite-filter2.js +35 -7
  326. package/dist/components/calcite-inline-editable.js +52 -42
  327. package/dist/components/calcite-input-date-picker.js +68 -12
  328. package/dist/components/calcite-input-time-picker.js +12 -2
  329. package/dist/components/calcite-input2.js +82 -59
  330. package/dist/components/calcite-list-item.js +1 -1
  331. package/dist/components/calcite-panel.js +3 -2
  332. package/dist/components/calcite-popover2.js +1 -1
  333. package/dist/components/calcite-radio-button.js +83 -76
  334. package/dist/components/calcite-radio-group.js +20 -22
  335. package/dist/components/calcite-rating.js +13 -2
  336. package/dist/components/calcite-select.js +32 -3
  337. package/dist/components/calcite-shell-panel.js +4 -3
  338. package/dist/components/calcite-shell.js +1 -1
  339. package/dist/components/calcite-slider.js +12 -2
  340. package/dist/components/calcite-switch2.js +25 -51
  341. package/dist/components/calcite-tile-select.js +1 -3
  342. package/dist/components/calcite-tree-item.js +15 -8
  343. package/dist/components/form.js +169 -15
  344. package/dist/components/label.js +33 -4
  345. package/dist/components/math.js +12 -1
  346. package/dist/custom-elements/index.js +801 -445
  347. package/dist/esm/{CalciteExpandToggle-235a6bfd.js → CalciteExpandToggle-677f2f8b.js} +1 -1
  348. package/dist/esm/{CalciteHeading-dea3bd05.js → CalciteHeading-1d6cd311.js} +1 -1
  349. package/dist/esm/calcite-accordion_2.entry.js +1 -1
  350. package/dist/esm/calcite-action-bar.entry.js +2 -2
  351. package/dist/esm/calcite-action-group.entry.js +1 -1
  352. package/dist/esm/calcite-action-menu.entry.js +1 -1
  353. package/dist/esm/calcite-action-pad.entry.js +2 -2
  354. package/dist/esm/calcite-action.entry.js +1 -1
  355. package/dist/esm/calcite-alert.entry.js +1 -1
  356. package/dist/esm/calcite-avatar.entry.js +1 -1
  357. package/dist/esm/calcite-block_2.entry.js +2 -2
  358. package/dist/esm/calcite-button.entry.js +3 -3
  359. package/dist/esm/calcite-card.entry.js +1 -1
  360. package/dist/esm/calcite-checkbox.entry.js +36 -85
  361. package/dist/esm/calcite-chip.entry.js +1 -1
  362. package/dist/esm/calcite-color-picker_3.entry.js +26 -27
  363. package/dist/esm/calcite-combobox_3.entry.js +81 -22
  364. package/dist/esm/calcite-date-picker_4.entry.js +28 -10
  365. package/dist/esm/calcite-dropdown_3.entry.js +1 -1
  366. package/dist/esm/calcite-fab.entry.js +1 -1
  367. package/dist/esm/calcite-filter.entry.js +34 -8
  368. package/dist/esm/calcite-flow.entry.js +1 -1
  369. package/dist/esm/calcite-graph_2.entry.js +13 -5
  370. package/dist/esm/calcite-handle.entry.js +1 -1
  371. package/dist/esm/calcite-icon.entry.js +1 -1
  372. package/dist/esm/calcite-inline-editable.entry.js +51 -42
  373. package/dist/esm/calcite-input-date-picker.entry.js +68 -15
  374. package/dist/esm/calcite-input-message.entry.js +1 -1
  375. package/dist/esm/calcite-input-time-picker_2.entry.js +13 -4
  376. package/dist/esm/calcite-input.entry.js +79 -59
  377. package/dist/esm/calcite-label.entry.js +1 -1
  378. package/dist/esm/calcite-link.entry.js +1 -1
  379. package/dist/esm/calcite-list_3.entry.js +3 -3
  380. package/dist/esm/calcite-loader.entry.js +1 -1
  381. package/dist/esm/calcite-modal.entry.js +1 -1
  382. package/dist/esm/calcite-notice.entry.js +1 -1
  383. package/dist/esm/calcite-option_3.entry.js +31 -5
  384. package/dist/esm/calcite-pagination.entry.js +1 -1
  385. package/dist/esm/calcite-panel.entry.js +5 -4
  386. package/dist/esm/calcite-pick-list_3.entry.js +3 -3
  387. package/dist/esm/calcite-popover_2.entry.js +3 -3
  388. package/dist/esm/calcite-progress.entry.js +1 -1
  389. package/dist/esm/calcite-radio-button-group.entry.js +1 -1
  390. package/dist/esm/calcite-radio-group_2.entry.js +20 -24
  391. package/dist/esm/calcite-radio_2.entry.js +82 -76
  392. package/dist/esm/calcite-rating.entry.js +13 -4
  393. package/dist/esm/calcite-scrim.entry.js +1 -1
  394. package/dist/esm/calcite-shell_3.entry.js +5 -4
  395. package/dist/esm/calcite-sortable-list.entry.js +1 -1
  396. package/dist/esm/calcite-split-button.entry.js +1 -1
  397. package/dist/esm/calcite-stepper_2.entry.js +1 -1
  398. package/dist/esm/calcite-switch.entry.js +26 -50
  399. package/dist/esm/calcite-tab_4.entry.js +1 -1
  400. package/dist/esm/calcite-tile-select_2.entry.js +1 -3
  401. package/dist/esm/calcite-tile.entry.js +1 -1
  402. package/dist/esm/calcite-tip_3.entry.js +2 -2
  403. package/dist/esm/calcite-tooltip_2.entry.js +1 -1
  404. package/dist/esm/calcite-tree_2.entry.js +16 -9
  405. package/dist/esm/calcite-value-list_2.entry.js +2 -2
  406. package/dist/esm/calcite.js +2 -2
  407. package/dist/esm/form-160b0fb5.js +174 -0
  408. package/dist/esm/{index-66803519.js → index-9de00868.js} +8 -365
  409. package/dist/esm/{label-bb61bdef.js → label-5559055d.js} +33 -4
  410. package/dist/esm/loader.js +2 -2
  411. package/dist/esm/math-456207f5.js +18 -0
  412. package/dist/esm/{resources-8dd80c84.js → resources-16a2a25a.js} +1 -1
  413. package/dist/esm/{resources-c59a1a15.js → resources-bece7a88.js} +1 -1
  414. package/dist/esm-es5/{CalciteExpandToggle-235a6bfd.js → CalciteExpandToggle-677f2f8b.js} +1 -1
  415. package/dist/esm-es5/{CalciteHeading-dea3bd05.js → CalciteHeading-1d6cd311.js} +1 -1
  416. package/dist/esm-es5/calcite-accordion_2.entry.js +1 -1
  417. package/dist/esm-es5/calcite-action-bar.entry.js +1 -1
  418. package/dist/esm-es5/calcite-action-group.entry.js +1 -1
  419. package/dist/esm-es5/calcite-action-menu.entry.js +1 -1
  420. package/dist/esm-es5/calcite-action-pad.entry.js +1 -1
  421. package/dist/esm-es5/calcite-action.entry.js +1 -1
  422. package/dist/esm-es5/calcite-alert.entry.js +1 -1
  423. package/dist/esm-es5/calcite-avatar.entry.js +1 -1
  424. package/dist/esm-es5/calcite-block_2.entry.js +1 -1
  425. package/dist/esm-es5/calcite-button.entry.js +1 -1
  426. package/dist/esm-es5/calcite-card.entry.js +1 -1
  427. package/dist/esm-es5/calcite-checkbox.entry.js +2 -2
  428. package/dist/esm-es5/calcite-chip.entry.js +1 -1
  429. package/dist/esm-es5/calcite-color-picker_3.entry.js +1 -1
  430. package/dist/esm-es5/calcite-combobox_3.entry.js +1 -1
  431. package/dist/esm-es5/calcite-date-picker_4.entry.js +1 -1
  432. package/dist/esm-es5/calcite-dropdown_3.entry.js +1 -1
  433. package/dist/esm-es5/calcite-fab.entry.js +1 -1
  434. package/dist/esm-es5/calcite-filter.entry.js +2 -2
  435. package/dist/esm-es5/calcite-flow.entry.js +1 -1
  436. package/dist/esm-es5/calcite-graph_2.entry.js +1 -1
  437. package/dist/esm-es5/calcite-handle.entry.js +1 -1
  438. package/dist/esm-es5/calcite-icon.entry.js +1 -1
  439. package/dist/esm-es5/calcite-inline-editable.entry.js +2 -2
  440. package/dist/esm-es5/calcite-input-date-picker.entry.js +2 -2
  441. package/dist/esm-es5/calcite-input-message.entry.js +1 -1
  442. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +1 -1
  443. package/dist/esm-es5/calcite-input.entry.js +2 -2
  444. package/dist/esm-es5/calcite-label.entry.js +1 -1
  445. package/dist/esm-es5/calcite-link.entry.js +1 -1
  446. package/dist/esm-es5/calcite-list_3.entry.js +2 -2
  447. package/dist/esm-es5/calcite-loader.entry.js +1 -1
  448. package/dist/esm-es5/calcite-modal.entry.js +1 -1
  449. package/dist/esm-es5/calcite-notice.entry.js +1 -1
  450. package/dist/esm-es5/calcite-option_3.entry.js +2 -2
  451. package/dist/esm-es5/calcite-pagination.entry.js +1 -1
  452. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  453. package/dist/esm-es5/calcite-pick-list_3.entry.js +1 -1
  454. package/dist/esm-es5/calcite-popover_2.entry.js +1 -1
  455. package/dist/esm-es5/calcite-progress.entry.js +1 -1
  456. package/dist/esm-es5/calcite-radio-button-group.entry.js +1 -1
  457. package/dist/esm-es5/calcite-radio-group_2.entry.js +1 -1
  458. package/dist/esm-es5/calcite-radio_2.entry.js +2 -2
  459. package/dist/esm-es5/calcite-rating.entry.js +1 -1
  460. package/dist/esm-es5/calcite-scrim.entry.js +1 -1
  461. package/dist/esm-es5/calcite-shell_3.entry.js +1 -1
  462. package/dist/esm-es5/calcite-sortable-list.entry.js +1 -1
  463. package/dist/esm-es5/calcite-split-button.entry.js +1 -1
  464. package/dist/esm-es5/calcite-stepper_2.entry.js +1 -1
  465. package/dist/esm-es5/calcite-switch.entry.js +2 -2
  466. package/dist/esm-es5/calcite-tab_4.entry.js +1 -1
  467. package/dist/esm-es5/calcite-tile-select_2.entry.js +1 -1
  468. package/dist/esm-es5/calcite-tile.entry.js +1 -1
  469. package/dist/esm-es5/calcite-tip_3.entry.js +1 -1
  470. package/dist/esm-es5/calcite-tooltip_2.entry.js +1 -1
  471. package/dist/esm-es5/calcite-tree_2.entry.js +1 -1
  472. package/dist/esm-es5/calcite-value-list_2.entry.js +1 -1
  473. package/dist/esm-es5/calcite.js +1 -1
  474. package/dist/esm-es5/form-160b0fb5.js +5 -0
  475. package/dist/esm-es5/index-9de00868.js +5 -0
  476. package/dist/esm-es5/label-5559055d.js +5 -0
  477. package/dist/esm-es5/loader.js +1 -1
  478. package/dist/esm-es5/math-456207f5.js +5 -0
  479. package/dist/esm-es5/{resources-8dd80c84.js → resources-16a2a25a.js} +1 -1
  480. package/dist/esm-es5/{resources-c59a1a15.js → resources-bece7a88.js} +1 -1
  481. package/dist/extras/docs-json.json +320 -59
  482. package/dist/types/components/calcite-checkbox/calcite-checkbox.d.ts +22 -23
  483. package/dist/types/components/calcite-color-picker/calcite-color-picker.d.ts +1 -1
  484. package/dist/types/components/calcite-combobox/calcite-combobox.d.ts +21 -3
  485. package/dist/types/components/calcite-date-picker/calcite-date-picker.d.ts +20 -8
  486. package/dist/types/components/calcite-filter/calcite-filter.d.ts +19 -0
  487. package/dist/types/components/calcite-inline-editable/calcite-inline-editable.d.ts +5 -6
  488. package/dist/types/components/calcite-input/calcite-input.d.ts +14 -8
  489. package/dist/types/components/calcite-input/resources.d.ts +2 -0
  490. package/dist/types/components/calcite-input-date-picker/calcite-input-date-picker.d.ts +37 -8
  491. package/dist/types/components/calcite-input-time-picker/calcite-input-time-picker.d.ts +11 -2
  492. package/dist/types/components/calcite-panel/resources.d.ts +1 -0
  493. package/dist/types/components/calcite-radio-button/calcite-radio-button.d.ts +14 -15
  494. package/dist/types/components/calcite-radio-group/calcite-radio-group.d.ts +13 -4
  495. package/dist/types/components/calcite-rating/calcite-rating.d.ts +12 -1
  496. package/dist/types/components/calcite-select/calcite-select.d.ts +19 -1
  497. package/dist/types/components/calcite-shell-panel/resources.d.ts +1 -0
  498. package/dist/types/components/calcite-slider/calcite-slider.d.ts +10 -1
  499. package/dist/types/components/calcite-switch/calcite-switch.d.ts +10 -9
  500. package/dist/types/components/calcite-tile-select/calcite-tile-select.d.ts +1 -1
  501. package/dist/types/components/calcite-tree-item/calcite-tree-item.d.ts +2 -0
  502. package/dist/types/components.d.ts +171 -18
  503. package/dist/types/utils/form.d.ts +112 -1
  504. package/dist/types/utils/label.d.ts +5 -0
  505. package/dist/types/utils/math.d.ts +1 -0
  506. package/hydrate/index.js +827 -455
  507. package/package.json +8 -9
  508. package/readme.md +2 -2
  509. package/CHANGELOG.md +0 -1506
  510. package/dist/calcite/p-05107123.entry.js +0 -5
  511. package/dist/calcite/p-05d1dfc6.js +0 -5
  512. package/dist/calcite/p-0d4e82ab.system.entry.js +0 -5
  513. package/dist/calcite/p-10759c71.system.entry.js +0 -5
  514. package/dist/calcite/p-11113310.entry.js +0 -5
  515. package/dist/calcite/p-12e1c83f.system.entry.js +0 -5
  516. package/dist/calcite/p-1421e818.entry.js +0 -5
  517. package/dist/calcite/p-157d05ce.js +0 -5
  518. package/dist/calcite/p-17e666d6.system.entry.js +0 -5
  519. package/dist/calcite/p-22ecf6df.entry.js +0 -5
  520. package/dist/calcite/p-2418cceb.entry.js +0 -5
  521. package/dist/calcite/p-2ba00b89.js +0 -5
  522. package/dist/calcite/p-2ecafa35.system.entry.js +0 -5
  523. package/dist/calcite/p-329e1831.system.entry.js +0 -5
  524. package/dist/calcite/p-3994ac99.system.entry.js +0 -5
  525. package/dist/calcite/p-42128a12.entry.js +0 -5
  526. package/dist/calcite/p-47313747.system.js +0 -5
  527. package/dist/calcite/p-4c7e3915.system.entry.js +0 -5
  528. package/dist/calcite/p-4ecd0331.entry.js +0 -5
  529. package/dist/calcite/p-5322b333.system.entry.js +0 -5
  530. package/dist/calcite/p-5e6d76dc.entry.js +0 -5
  531. package/dist/calcite/p-777c833f.system.entry.js +0 -5
  532. package/dist/calcite/p-8711a0ae.system.entry.js +0 -5
  533. package/dist/calcite/p-89cdfa96.system.js +0 -5
  534. package/dist/calcite/p-8bc3e126.entry.js +0 -5
  535. package/dist/calcite/p-948aca0d.system.entry.js +0 -5
  536. package/dist/calcite/p-99ff3a2f.entry.js +0 -5
  537. package/dist/calcite/p-9fe349b9.entry.js +0 -5
  538. package/dist/calcite/p-a2cc027e.entry.js +0 -5
  539. package/dist/calcite/p-b42d730f.entry.js +0 -5
  540. package/dist/calcite/p-b4960d06.system.js +0 -5
  541. package/dist/calcite/p-bbe2337b.system.entry.js +0 -5
  542. package/dist/calcite/p-bbedf98c.entry.js +0 -5
  543. package/dist/calcite/p-be52c734.entry.js +0 -5
  544. package/dist/calcite/p-cb7b6425.entry.js +0 -5
  545. package/dist/calcite/p-d35e423d.js +0 -5
  546. package/dist/calcite/p-df9b4b76.entry.js +0 -5
  547. package/dist/calcite/p-e24b6c4a.system.entry.js +0 -5
  548. package/dist/calcite/p-e382c4e9.entry.js +0 -5
  549. package/dist/calcite/p-e40dd6fe.system.entry.js +0 -5
  550. package/dist/calcite/p-e5805bf1.entry.js +0 -5
  551. package/dist/calcite/p-eccb140e.entry.js +0 -5
  552. package/dist/calcite/p-f5bb39bb.js +0 -5
  553. package/dist/calcite/p-fb1da0f5.system.js +0 -5
  554. package/dist/cjs/form-00fb301c.js +0 -22
  555. package/dist/cjs/math-9d44163f.js +0 -9
  556. package/dist/esm/form-cee9f632.js +0 -20
  557. package/dist/esm/math-250d4476.js +0 -7
  558. package/dist/esm-es5/form-cee9f632.js +0 -5
  559. package/dist/esm-es5/index-66803519.js +0 -5
  560. package/dist/esm-es5/label-bb61bdef.js +0 -5
  561. package/dist/esm-es5/math-250d4476.js +0 -5
@@ -45,10 +45,17 @@ export class CalciteTreeItem {
45
45
  // Private Methods
46
46
  //
47
47
  //--------------------------------------------------------------------------
48
+ this.updateParentIsExpanded = (el, expanded) => {
49
+ const items = getSlotted(el, SLOTS.children, {
50
+ all: true,
51
+ selector: "calcite-tree-item"
52
+ });
53
+ items.forEach((item) => (item.parentExpanded = expanded));
54
+ };
48
55
  this.updateAncestorTree = () => {
49
56
  if (this.selected && this.selectionMode === TreeSelectionMode.Ancestors) {
50
57
  const ancestors = [];
51
- let parent = this.el.parentElement.closest("calcite-tree-item");
58
+ let parent = this.parentTreeItem;
52
59
  while (parent) {
53
60
  ancestors.push(parent);
54
61
  parent = parent.parentElement.closest("calcite-tree-item");
@@ -59,11 +66,7 @@ export class CalciteTreeItem {
59
66
  };
60
67
  }
61
68
  expandedHandler(newValue) {
62
- const items = getSlotted(this.el, "children", {
63
- all: true,
64
- selector: "calcite-tree-item"
65
- });
66
- items.forEach((item) => (item.parentExpanded = newValue));
69
+ this.updateParentIsExpanded(this.el, newValue);
67
70
  }
68
71
  //--------------------------------------------------------------------------
69
72
  //
@@ -71,7 +74,11 @@ export class CalciteTreeItem {
71
74
  //
72
75
  //--------------------------------------------------------------------------
73
76
  connectedCallback() {
74
- this.expandedHandler(this.expanded);
77
+ this.parentTreeItem = this.el.parentElement.closest("calcite-tree-item");
78
+ if (this.parentTreeItem) {
79
+ const { expanded } = this.parentTreeItem;
80
+ this.updateParentIsExpanded(this.parentTreeItem, expanded);
81
+ }
75
82
  }
76
83
  componentWillRender() {
77
84
  this.hasChildren = !!this.el.querySelector("calcite-tree");
@@ -191,7 +198,7 @@ export class CalciteTreeItem {
191
198
  break;
192
199
  }
193
200
  // When focus is on a child node that is also either an end node or a closed node, moves focus to its parent node.
194
- const parentItem = this.el.parentElement.closest("calcite-tree-item");
201
+ const parentItem = this.parentTreeItem;
195
202
  if (parentItem && (!this.hasChildren || this.expanded === false)) {
196
203
  parentItem.focus();
197
204
  e.preventDefault();
@@ -2,17 +2,170 @@
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
- export const hiddenInputStyle = `
6
- bottom: 0 !important;
7
- left: 0 !important;
8
- margin: 0 !important;
9
- opacity: 0 !important;
10
- outline: none !important;
11
- padding: 0 !important;
12
- position: absolute !important;
13
- right: 0 !important;
14
- top: 0 !important;
15
- transform: none !important;
16
- -webkit-appearance: none !important;
17
- z-index: -1 !important;
18
- `;
5
+ import { closestElementCrossShadowBoundary } from "./dom";
6
+ import { h } from "@stencil/core";
7
+ /**
8
+ * Exported for testing purposes.
9
+ */
10
+ export const hiddenFormInputSlotName = "hidden-form-input";
11
+ function isCheckable(component) {
12
+ return "checked" in component;
13
+ }
14
+ const onFormResetMap = new WeakMap();
15
+ const formComponentSet = new WeakSet();
16
+ function hasRegisteredFormComponentParent(form, formComponentEl) {
17
+ // we use events as a way to test for nested form-associated components across shadow bounds
18
+ const formComponentRegisterEventName = "calciteInternalFormComponentRegister";
19
+ let hasRegisteredFormComponentParent = false;
20
+ form.addEventListener(formComponentRegisterEventName, (event) => {
21
+ hasRegisteredFormComponentParent = event
22
+ .composedPath()
23
+ .some((element) => formComponentSet.has(element));
24
+ event.stopPropagation();
25
+ }, { once: true });
26
+ formComponentEl.dispatchEvent(new CustomEvent(formComponentRegisterEventName, {
27
+ bubbles: true,
28
+ composed: true
29
+ }));
30
+ return hasRegisteredFormComponentParent;
31
+ }
32
+ /**
33
+ * Helper to set up form interactions on connectedCallback.
34
+ */
35
+ export function connectForm(component) {
36
+ const { el, value } = component;
37
+ const form = closestElementCrossShadowBoundary(el, "form");
38
+ if (!form || hasRegisteredFormComponentParent(form, el)) {
39
+ return;
40
+ }
41
+ component.formEl = form;
42
+ component.defaultValue = value;
43
+ if (isCheckable(component)) {
44
+ component.defaultChecked = component.checked;
45
+ }
46
+ const boundOnFormReset = (component.onFormReset || onFormReset).bind(component);
47
+ form.addEventListener("reset", boundOnFormReset);
48
+ formComponentSet.add(el);
49
+ }
50
+ function onFormReset() {
51
+ if (isCheckable(this)) {
52
+ this.checked = this.defaultChecked;
53
+ return;
54
+ }
55
+ this.value = this.defaultValue;
56
+ }
57
+ /**
58
+ * Helper to tear down form interactions on disconnectedCallback.
59
+ */
60
+ export function disconnectForm(component) {
61
+ const { el, formEl } = component;
62
+ if (!formEl) {
63
+ return;
64
+ }
65
+ const boundOnFormReset = onFormResetMap.get(el);
66
+ formEl.removeEventListener("reset", boundOnFormReset);
67
+ onFormResetMap.delete(el);
68
+ component.formEl = null;
69
+ formComponentSet.delete(el);
70
+ }
71
+ /**
72
+ * Helper for setting the default value on initialization after connectedCallback.
73
+ *
74
+ * Note that this is only needed if the default value cannot be determined on connectedCallback.
75
+ */
76
+ export function afterConnectDefaultValueSet(component, value) {
77
+ component.defaultValue = value;
78
+ }
79
+ /**
80
+ * Helper for maintaining a form-associated's hidden input in sync with the component.
81
+ *
82
+ * Based on Ionic's approach: https://github.com/ionic-team/ionic-framework/blob/e4bf052794af9aac07f887013b9250d2a045eba3/core/src/utils/helpers.ts#L198
83
+ */
84
+ function syncHiddenFormInput(component) {
85
+ const { el, formEl, name, value } = component;
86
+ const { ownerDocument } = el;
87
+ const inputs = el.querySelectorAll(`input[slot="${hiddenFormInputSlotName}"]`);
88
+ if (!formEl || !name) {
89
+ inputs.forEach((input) => input.remove());
90
+ return;
91
+ }
92
+ const values = Array.isArray(value) ? value : [value];
93
+ const extra = [];
94
+ const seen = new Set();
95
+ inputs.forEach((input) => {
96
+ const valueMatch = values.find((val) =>
97
+ /* intentional non-strict equality check */
98
+ val == input.value);
99
+ if (valueMatch != null) {
100
+ seen.add(valueMatch);
101
+ defaultSyncHiddenFormInput(component, input, valueMatch);
102
+ }
103
+ else {
104
+ extra.push(input);
105
+ }
106
+ });
107
+ let docFrag;
108
+ values.forEach((value) => {
109
+ if (seen.has(value)) {
110
+ return;
111
+ }
112
+ let input = extra.pop();
113
+ if (!input) {
114
+ input = ownerDocument.createElement("input");
115
+ input.slot = hiddenFormInputSlotName;
116
+ }
117
+ if (!docFrag) {
118
+ docFrag = ownerDocument.createDocumentFragment();
119
+ }
120
+ docFrag.append(input);
121
+ defaultSyncHiddenFormInput(component, input, value);
122
+ });
123
+ if (docFrag) {
124
+ el.append(docFrag);
125
+ }
126
+ extra.forEach((input) => input.remove());
127
+ }
128
+ function defaultSyncHiddenFormInput(component, input, value) {
129
+ var _a;
130
+ const { defaultValue, disabled, name, required } = component;
131
+ // keep in sync to prevent losing reset value
132
+ input.defaultValue = defaultValue;
133
+ input.disabled = disabled;
134
+ input.name = name;
135
+ input.required = required;
136
+ input.tabIndex = -1;
137
+ if (isCheckable(component)) {
138
+ // keep in sync to prevent losing reset value
139
+ input.defaultChecked = component.defaultChecked;
140
+ // heuristic to support default/on mode from https://html.spec.whatwg.org/multipage/input.html#dom-input-value-default-on
141
+ input.value = component.checked ? value || "on" : "";
142
+ // we disable the component when not checked to avoid having its value submitted
143
+ if (!disabled && !component.checked) {
144
+ input.disabled = true;
145
+ }
146
+ }
147
+ else {
148
+ input.value = value || "";
149
+ }
150
+ (_a = component.syncHiddenFormInput) === null || _a === void 0 ? void 0 : _a.call(component, input);
151
+ }
152
+ /**
153
+ * Helper to render the slot for form-associated component's hidden input.
154
+ *
155
+ * If the component has a default slot, this must be placed at the bottom of the component's root container to ensure it is the last child.
156
+ *
157
+ * render(): VNode {
158
+ * <Host>
159
+ * <div class={CSS.container}>
160
+ * // ...
161
+ * <HiddenFormInputSlot component={this} />
162
+ * </div>
163
+ * </Host>
164
+ * }
165
+ *
166
+ * Note that the hidden-form-input Sass mixin must be added to the component's style to apply specific styles.
167
+ */
168
+ export const HiddenFormInputSlot = ({ component }) => {
169
+ syncHiddenFormInput(component);
170
+ return h("slot", { name: hiddenFormInputSlotName });
171
+ };
@@ -3,14 +3,43 @@
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
5
  import { closestElementCrossShadowBoundary, queryElementRoots } from "./dom";
6
+ /**
7
+ * Exported for testing purposes only
8
+ * @internal
9
+ */
10
+ export const labelClickEvent = "calciteInternalLabelClick";
6
11
  const labelTagName = "calcite-label";
7
- const labelClickEvent = "calciteInternalLabelClick";
8
12
  const onLabelClickMap = new WeakMap();
9
13
  const findLabelForComponent = (componentEl) => {
10
- const id = componentEl.id;
11
- return ((id && queryElementRoots(componentEl, `${labelTagName}[for="${id}"]`)) ||
12
- closestElementCrossShadowBoundary(componentEl, labelTagName));
14
+ const { id } = componentEl;
15
+ const forLabel = id && queryElementRoots(componentEl, `${labelTagName}[for="${id}"]`);
16
+ if (forLabel) {
17
+ return forLabel;
18
+ }
19
+ const parentLabel = closestElementCrossShadowBoundary(componentEl, labelTagName);
20
+ if (!parentLabel ||
21
+ // labelable components within other custom elements are not considered labelable
22
+ hasAncestorCustomElements(parentLabel, componentEl)) {
23
+ return null;
24
+ }
25
+ return parentLabel;
13
26
  };
27
+ function hasAncestorCustomElements(label, componentEl) {
28
+ let traversedElements;
29
+ const customElementAncestorCheckEventType = "custom-element-ancestor-check";
30
+ const listener = (event) => {
31
+ event.stopImmediatePropagation();
32
+ const composedPath = event.composedPath();
33
+ traversedElements = composedPath.slice(composedPath.indexOf(componentEl), composedPath.indexOf(label));
34
+ };
35
+ label.addEventListener(customElementAncestorCheckEventType, listener, { once: true });
36
+ componentEl.dispatchEvent(new CustomEvent(customElementAncestorCheckEventType, { composed: true, bubbles: true }));
37
+ label.removeEventListener(customElementAncestorCheckEventType, listener);
38
+ const ancestorCustomElements = traversedElements
39
+ .filter((el) => el !== componentEl && el !== label)
40
+ .filter((el) => { var _a; return (_a = el.tagName) === null || _a === void 0 ? void 0 : _a.includes("-"); });
41
+ return ancestorCustomElements.length > 0;
42
+ }
14
43
  /**
15
44
  * Helper to set up label interactions on connectedCallback.
16
45
  */
@@ -3,3 +3,14 @@
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
5
  export const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
6
+ export const decimalPlaces = (value) => {
7
+ const match = ("" + value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
8
+ if (!match) {
9
+ return 0;
10
+ }
11
+ return Math.max(0,
12
+ // Number of digits right of decimal point.
13
+ (match[1] ? match[1].length : 0) -
14
+ // Adjust for scientific notation.
15
+ (match[2] ? +match[2] : 0));
16
+ };
@@ -51,7 +51,7 @@ const TEXT = {
51
51
  loading: "Loading"
52
52
  };
53
53
 
54
- const calciteButtonCss = "@-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:300ms}.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}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:inline-block;width:auto;vertical-align:middle}:host([round]){border-radius:50px}:host([round]) a,:host([round]) button{border-radius:50px}:host button,:host a{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}:host button:focus,:host a:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}:host button,:host a{--calcite-button-content-margin:0.5rem;--calcite-button-padding-x:7px;--calcite-button-padding-y:3px;padding:var(--calcite-button-padding-y) var(--calcite-button-padding-x) var(--calcite-button-padding-y) var(--calcite-button-padding-x);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none;width:100%;height:100%;border-radius:0;border-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit;font-weight:var(--calcite-font-weight-normal);-webkit-transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out, -webkit-box-shadow 0.15s ease-in-out}:host button:hover,:host a:hover{text-decoration:none}.content{display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto;margin-left:var(--calcite-button-content-margin);margin-right:var(--calcite-button-content-margin)}:host([scale=m]) button,:host([scale=m]) a{--calcite-button-content-margin:0.75rem}:host([scale=l]) button,:host([scale=l]) a{--calcite-button-content-margin:1rem}:host(:not([icon-start])) .content{margin-left:unset}:host(:not([icon-end])) .content{margin-right:unset}:host([icon-start]:not([icon-end])) .calcite--rtl .content{margin-left:unset;margin-right:var(--calcite-button-content-margin)}:host([icon-end]:not([icon-start])) .calcite--rtl .content{margin-right:unset;margin-left:var(--calcite-button-content-margin)}:host([width=auto]){width:auto}:host([width=half]){width:50%}:host([width=full]){width:100%}:host([alignment=center]:not([width=auto])) a,:host([alignment=center]:not([width=auto])) button{-ms-flex-pack:center;justify-content:center}:host([alignment=start]:not([width=auto])) a,:host([alignment=start]:not([width=auto])) button{-ms-flex-pack:start;justify-content:flex-start}:host([alignment=end]:not([width=auto])) a,:host([alignment=end]:not([width=auto])) button{-ms-flex-pack:end;justify-content:flex-end}:host([alignment*=space-between]:not([width=auto])) a,:host([alignment*=space-between]:not([width=auto])) button{-ms-flex-pack:justify;justify-content:space-between}:host([alignment=icon-start-space-between]:not([width=auto])) .icon--start{margin-right:auto}:host([alignment=icon-start-space-between]:not([width=auto])) a,:host([alignment=icon-start-space-between]:not([width=auto])) button{text-align:unset}:host([alignment=icon-end-space-between]:not([width=auto])) .icon--end{margin-left:auto}:host([alignment=icon-end-space-between]:not([width=auto])) a,:host([alignment=icon-end-space-between]:not([width=auto])) button{text-align:unset}:host([alignment=icon-start-space-between]:not([width=auto])) .calcite--rtl .icon--start{margin-right:unset;margin-left:auto}:host([alignment=icon-end-space-between]:not([width=auto])) .calcite--rtl .icon--end{margin-left:unset;margin-right:auto}:host([alignment=center]) a:not(.content--slotted) .icon--start+.icon--end,:host([alignment=center]) button:not(.content--slotted) .icon--start+.icon--end{margin-left:var(--calcite-button-content-margin)}:host([alignment=center]) a.calcite--rtl:not(.content--slotted) .icon--start+.icon--end,:host([alignment=center]) button.calcite--rtl:not(.content--slotted) .icon--start+.icon--end{margin-left:unset;margin-right:var(--calcite-button-content-margin)}.icon{display:-ms-inline-flexbox;display:inline-flex;position:relative;margin:0;font-weight:var(--calcite-font-weight-normal);line-height:inherit}:host([loading]),:host([disabled]){pointer-events:none}:host([loading]) button,:host([loading]) a,:host([disabled]) button,:host([disabled]) a{pointer-events:none;opacity:var(--calcite-ui-opacity-disabled)}@-webkit-keyframes loader-in{0%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}100%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes loader-in{0%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}100%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes loader-out{0%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}}@keyframes loader-out{0%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}}.calcite-button--loader{display:-ms-flexbox;display:flex}.calcite-button--loader calcite-loader{margin:0;-webkit-transition:width 300ms ease-in-out, opacity 300ms ease-in-out, -webkit-transform 300ms ease-in-out;transition:width 300ms ease-in-out, opacity 300ms ease-in-out, -webkit-transform 300ms ease-in-out;transition:width 300ms ease-in-out, opacity 300ms ease-in-out, transform 300ms ease-in-out;transition:width 300ms ease-in-out, opacity 300ms ease-in-out, transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out}.calcite-button--loader calcite-loader.loading-in{-webkit-animation-name:loader-in;animation-name:loader-in;-webkit-animation-duration:310ms;animation-duration:310ms}.calcite-button--loader calcite-loader.loading-out{-webkit-animation-name:loader-out;animation-name:loader-out;-webkit-animation-duration:310ms;animation-duration:310ms}:host([loading]) button.content--slotted .calcite-button--loader calcite-loader,:host([loading]) a.content--slotted .calcite-button--loader calcite-loader{-webkit-margin-end:var(--calcite-button-content-margin);margin-inline-end:var(--calcite-button-content-margin)}:host([loading]) button:not(.content--slotted) .icon--start,:host([loading]) button:not(.content--slotted) .icon--end,:host([loading]) a:not(.content--slotted) .icon--start,:host([loading]) a:not(.content--slotted) .icon--end{display:none}:host([appearance=solid]) button,:host([appearance=solid]) a{border-width:1px;border-style:solid;border-color:transparent}:host([appearance=solid][color=blue]) button,:host([appearance=solid][color=blue]) a{color:var(--calcite-ui-text-inverse);background-color:var(--calcite-ui-brand)}:host([appearance=solid][color=blue]) button:hover,:host([appearance=solid][color=blue]) button:focus,:host([appearance=solid][color=blue]) a:hover,:host([appearance=solid][color=blue]) a:focus{background-color:var(--calcite-ui-brand-hover)}:host([appearance=solid][color=blue]) button:active,:host([appearance=solid][color=blue]) a:active{background-color:var(--calcite-ui-brand-press)}:host([appearance=solid][color=blue]) button calcite-loader,:host([appearance=solid][color=blue]) a calcite-loader{color:var(--calcite-ui-text-inverse)}:host([appearance=solid][color=red]) button,:host([appearance=solid][color=red]) a{color:var(--calcite-ui-text-inverse);background-color:var(--calcite-ui-danger)}:host([appearance=solid][color=red]) button:hover,:host([appearance=solid][color=red]) button:focus,:host([appearance=solid][color=red]) a:hover,:host([appearance=solid][color=red]) a:focus{background-color:var(--calcite-ui-danger-hover)}:host([appearance=solid][color=red]) button:active,:host([appearance=solid][color=red]) a:active{background-color:var(--calcite-ui-danger-press)}:host([appearance=solid][color=red]) button calcite-loader,:host([appearance=solid][color=red]) a calcite-loader{color:var(--calcite-ui-text-inverse)}:host([appearance=solid][color=neutral]) button,:host([appearance=solid][color=neutral]) a{color:var(--calcite-ui-text-1);background-color:var(--calcite-ui-foreground-3)}:host([appearance=solid][color=neutral]) button:hover,:host([appearance=solid][color=neutral]) button:focus,:host([appearance=solid][color=neutral]) a:hover,:host([appearance=solid][color=neutral]) a:focus{background-color:var(--calcite-ui-foreground-2)}:host([appearance=solid][color=neutral]) button:active,:host([appearance=solid][color=neutral]) a:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=solid][color=neutral]) button calcite-loader,:host([appearance=solid][color=neutral]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=solid][color=inverse]) button,:host([appearance=solid][color=inverse]) a{color:var(--calcite-ui-text-inverse);background-color:var(--calcite-ui-inverse)}:host([appearance=solid][color=inverse]) button:hover,:host([appearance=solid][color=inverse]) button:focus,:host([appearance=solid][color=inverse]) a:hover,:host([appearance=solid][color=inverse]) a:focus{background-color:var(--calcite-ui-inverse-hover)}:host([appearance=solid][color=inverse]) button:active,:host([appearance=solid][color=inverse]) a:active{background-color:var(--calcite-ui-inverse-press)}:host([appearance=solid][color=inverse]) button calcite-loader,:host([appearance=solid][color=inverse]) a calcite-loader{color:var(--calcite-ui-text-inverse)}:host([appearance=outline]) button,:host([appearance=outline]) a{background-color:var(--calcite-ui-foreground-1);border-width:1px;border-style:solid;-webkit-box-shadow:inset 0 0 0 1px transparent;box-shadow:inset 0 0 0 1px transparent}:host([appearance=outline][color=blue]) button,:host([appearance=outline][color=blue]) a{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand)}:host([appearance=outline][color=blue]) button:hover,:host([appearance=outline][color=blue]) a:hover{border-color:var(--calcite-ui-brand-hover);color:var(--calcite-ui-brand-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover)}:host([appearance=outline][color=blue]) button:focus,:host([appearance=outline][color=blue]) a:focus{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}:host([appearance=outline][color=blue]) button:active,:host([appearance=outline][color=blue]) a:active{border-color:var(--calcite-ui-brand-press);color:var(--calcite-ui-brand-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press)}:host([appearance=outline][color=blue]) button calcite-loader,:host([appearance=outline][color=blue]) a calcite-loader{color:var(--calcite-ui-brand)}:host([appearance=outline][color=red]) button,:host([appearance=outline][color=red]) a{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger)}:host([appearance=outline][color=red]) button:hover,:host([appearance=outline][color=red]) a:hover{border-color:var(--calcite-ui-danger-hover);color:var(--calcite-ui-danger-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover)}:host([appearance=outline][color=red]) button:focus,:host([appearance=outline][color=red]) a:focus{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger)}:host([appearance=outline][color=red]) button:active,:host([appearance=outline][color=red]) a:active{border-color:var(--calcite-ui-danger-press);color:var(--calcite-ui-danger-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press)}:host([appearance=outline][color=red]) button calcite-loader,:host([appearance=outline][color=red]) a calcite-loader{color:var(--calcite-ui-danger)}:host([appearance=outline][color=neutral]) button,:host([appearance=outline][color=neutral]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button:hover,:host([appearance=outline][color=neutral]) a:hover{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button:focus,:host([appearance=outline][color=neutral]) a:focus{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button:active,:host([appearance=outline][color=neutral]) a:active{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button calcite-loader,:host([appearance=outline][color=neutral]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=outline][color=inverse]) button,:host([appearance=outline][color=inverse]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-inverse)}:host([appearance=outline][color=inverse]) button:hover,:host([appearance=outline][color=inverse]) a:hover{border-color:var(--calcite-ui-inverse-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover)}:host([appearance=outline][color=inverse]) button:focus,:host([appearance=outline][color=inverse]) a:focus{border-color:var(--calcite-ui-inverse);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse)}:host([appearance=outline][color=inverse]) button:active,:host([appearance=outline][color=inverse]) a:active{border-color:var(--calcite-ui-inverse-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press)}:host([appearance=outline][color=inverse]) button calcite-loader,:host([appearance=outline][color=inverse]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=clear]) button,:host([appearance=clear]) a{background-color:transparent;border-width:1px;border-style:solid;-webkit-box-shadow:inset 0 0 0 1px transparent;box-shadow:inset 0 0 0 1px transparent}:host([appearance=clear][color=blue]) button,:host([appearance=clear][color=blue]) a{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand)}:host([appearance=clear][color=blue]) button:hover,:host([appearance=clear][color=blue]) a:hover{border-color:var(--calcite-ui-brand-hover);color:var(--calcite-ui-brand-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover)}:host([appearance=clear][color=blue]) button:focus,:host([appearance=clear][color=blue]) a:focus{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}:host([appearance=clear][color=blue]) button:active,:host([appearance=clear][color=blue]) a:active{border-color:var(--calcite-ui-brand-press);color:var(--calcite-ui-brand-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press)}:host([appearance=clear][color=blue]) button calcite-loader,:host([appearance=clear][color=blue]) a calcite-loader{color:var(--calcite-ui-brand)}:host([appearance=clear][color=red]) button,:host([appearance=clear][color=red]) a{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger)}:host([appearance=clear][color=red]) button:hover,:host([appearance=clear][color=red]) a:hover{border-color:var(--calcite-ui-danger-hover);color:var(--calcite-ui-danger-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover)}:host([appearance=clear][color=red]) button:focus,:host([appearance=clear][color=red]) a:focus{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger)}:host([appearance=clear][color=red]) button:active,:host([appearance=clear][color=red]) a:active{border-color:var(--calcite-ui-danger-press);color:var(--calcite-ui-danger-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press)}:host([appearance=clear][color=red]) button calcite-loader,:host([appearance=clear][color=red]) a calcite-loader{color:var(--calcite-ui-danger)}:host([appearance=clear][color=neutral]) button,:host([appearance=clear][color=neutral]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button:hover,:host([appearance=clear][color=neutral]) a:hover{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button:focus,:host([appearance=clear][color=neutral]) a:focus{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button:active,:host([appearance=clear][color=neutral]) a:active{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button calcite-loader,:host([appearance=clear][color=neutral]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=clear][color=inverse]) button,:host([appearance=clear][color=inverse]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-inverse)}:host([appearance=clear][color=inverse]) button:hover,:host([appearance=clear][color=inverse]) a:hover{border-color:var(--calcite-ui-inverse-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover)}:host([appearance=clear][color=inverse]) button:focus,:host([appearance=clear][color=inverse]) a:focus{border-color:var(--calcite-ui-inverse);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse)}:host([appearance=clear][color=inverse]) button:active,:host([appearance=clear][color=inverse]) a:active{border-color:var(--calcite-ui-inverse-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press)}:host([appearance=clear][color=inverse]) button calcite-loader,:host([appearance=clear][color=inverse]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=outline][split-child=primary]) button,:host([appearance=clear][split-child=primary]) button{border-right-width:0;border-left-width:1px}:host([appearance=outline][split-child=primary]) button.calcite--rtl,:host([appearance=clear][split-child=primary]) button.calcite--rtl{border-left-width:0;border-right-width:1px}:host([appearance=outline][split-child=secondary]) button,:host([appearance=clear][split-child=secondary]) button{border-left-width:0;border-right-width:1px}:host([appearance=outline][split-child=secondary]) button.calcite--rtl,:host([appearance=clear][split-child=secondary]) button.calcite--rtl{border-right-width:0;border-left-width:1px}:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) button,:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) a{background-color:transparent}:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) button:hover,:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) button:focus,:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) a:hover,:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) a:focus{background-color:var(--calcite-button-transparent-hover)}:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) button:active,:host([appearance=transparent]:not(.calcite-inline-editable__enable-editing-button)) a:active{background-color:var(--calcite-button-transparent-press)}:host([appearance=transparent][color=blue]) button,:host([appearance=transparent][color=blue]) a{color:var(--calcite-ui-brand)}:host([appearance=transparent][color=blue]) button:hover,:host([appearance=transparent][color=blue]) a:hover{color:var(--calcite-ui-brand-hover)}:host([appearance=transparent][color=blue]) button:focus,:host([appearance=transparent][color=blue]) a:focus{color:var(--calcite-ui-brand)}:host([appearance=transparent][color=blue]) button:active,:host([appearance=transparent][color=blue]) a:active{color:var(--calcite-ui-brand-press)}:host([appearance=transparent][color=blue]) button calcite-loader,:host([appearance=transparent][color=blue]) a calcite-loader{color:var(--calcite-ui-brand)}:host([appearance=transparent][color=red]) button,:host([appearance=transparent][color=red]) a{color:var(--calcite-ui-danger)}:host([appearance=transparent][color=red]) button:hover,:host([appearance=transparent][color=red]) a:hover{color:var(--calcite-ui-danger-hover)}:host([appearance=transparent][color=red]) button:focus,:host([appearance=transparent][color=red]) a:focus{color:var(--calcite-ui-danger)}:host([appearance=transparent][color=red]) button:active,:host([appearance=transparent][color=red]) a:active{color:var(--calcite-ui-danger-press)}:host([appearance=transparent][color=red]) button calcite-loader,:host([appearance=transparent][color=red]) a calcite-loader{color:var(--calcite-ui-danger)}:host([appearance=transparent][color=neutral]:not(.calcite-inline-editable__cancel-editing-button)) button,:host([appearance=transparent][color=neutral]:not(.calcite-inline-editable__cancel-editing-button)) a,:host([appearance=transparent][color=neutral]:not(.calcite-inline-editable__cancel-editing-button)) calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=transparent][color=neutral].calcite-inline-editable__cancel-editing-button) button{color:var(--calcite-ui-text-3);border-top-width:1px;border-top-color:var(--calcite-ui-border-input);border-bottom-width:1px;border-bottom-color:var(--calcite-ui-border-input);border-bottom-style:solid;border-top-style:solid}:host([appearance=transparent][color=neutral].calcite-inline-editable__cancel-editing-button) button:not(.content--slotted){--calcite-button-padding-y:0}:host([appearance=transparent][color=neutral].calcite-inline-editable__cancel-editing-button) button:hover{color:var(--calcite-ui-text-1)}:host([appearance=transparent][color=neutral].calcite-inline-editable__enable-editing-button) button{background-color:transparent}:host([appearance=transparent][color=inverse]) button,:host([appearance=transparent][color=inverse]) a,:host([appearance=transparent][color=inverse]) calcite-loader{color:var(--calcite-ui-text-inverse)}:host([scale=s]) button.content--slotted,:host([scale=s]) a.content--slotted{font-size:var(--calcite-font-size--2);line-height:1rem}:host([scale=s][appearance=transparent]) button.content--slotted,:host([scale=s][appearance=transparent]) a.content--slotted{--calcite-button-padding-x:0.5rem;--calcite-button-padding-y:0.25rem}:host([scale=m]) button.content--slotted,:host([scale=m]) a.content--slotted{--calcite-button-padding-x:11px;font-size:var(--calcite-font-size--1);line-height:1rem}:host([scale=m]:not([appearance=transparent])) button.content--slotted,:host([scale=m]:not([appearance=transparent])) a.content--slotted{--calcite-button-padding-y:7px}:host([scale=m][appearance=transparent]) button.content--slotted,:host([scale=m][appearance=transparent]) a.content--slotted{--calcite-button-padding-x:0.75rem;--calcite-button-padding-y:0.5rem}:host([scale=l]) button.content--slotted,:host([scale=l]) a.content--slotted{--calcite-button-padding-x:15px;font-size:var(--calcite-font-size-0);line-height:1.25rem}:host([scale=l]:not([appearance=transparent])) button.content--slotted,:host([scale=l]:not([appearance=transparent])) a.content--slotted{--calcite-button-padding-y:11px}:host([scale=l][appearance=transparent]) button.content--slotted,:host([scale=l][appearance=transparent]) a.content--slotted{--calcite-button-padding-x:1rem;--calcite-button-padding-y:0.75rem}:host([scale=s]) button:not(.content--slotted),:host([scale=s]) a:not(.content--slotted){--calcite-button-padding-x:0.125rem;--calcite-button-padding-y:3px;font-size:var(--calcite-font-size-0);line-height:1.25rem;width:1.5rem;min-height:1.5rem}:host([scale=s][appearance=transparent]) button:not(.content--slotted),:host([scale=s][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-y:0.25rem}:host([scale=m]) button:not(.content--slotted),:host([scale=m]) a:not(.content--slotted){--calcite-button-padding-x:0.125rem;--calcite-button-padding-y:7px;font-size:var(--calcite-font-size-0);line-height:1.25rem;width:2rem;min-height:2rem}:host([scale=m][appearance=transparent]) button:not(.content--slotted),:host([scale=m][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-y:0.5rem}:host([scale=l]) button:not(.content--slotted),:host([scale=l]) a:not(.content--slotted){--calcite-button-padding-x:0.125rem;--calcite-button-padding-y:9px;font-size:var(--calcite-font-size-0);line-height:1.25rem;width:2.75rem;min-height:2.75rem}:host([scale=l][appearance=transparent]) button:not(.content--slotted),:host([scale=l][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-y:0.625rem}:host([scale=s][icon-start][icon-end]) button:not(.content--slotted),:host([scale=s][icon-start][icon-end]) a:not(.content--slotted){--calcite-button-padding-x:23px;font-size:var(--calcite-font-size-0);line-height:1.25rem;height:1.5rem}:host([scale=s][icon-start][icon-end][appearance=transparent]) button:not(.content--slotted),:host([scale=s][icon-start][icon-end][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-x:1.5rem}:host([scale=m][icon-start][icon-end]) button:not(.content--slotted),:host([scale=m][icon-start][icon-end]) a:not(.content--slotted){--calcite-button-padding-x:2rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;height:2rem}:host([scale=m][icon-start][icon-end][appearance=transparent]) button:not(.content--slotted),:host([scale=m][icon-start][icon-end][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-x:33px}:host([scale=l][icon-start][icon-end]) button:not(.content--slotted),:host([scale=l][icon-start][icon-end]) a:not(.content--slotted){--calcite-button-padding-x:43px;font-size:var(--calcite-font-size-0);line-height:1.25rem;height:2.75rem}:host([scale=l][icon-start][icon-end]) button:not(.content--slotted) .icon--start+.icon--end,:host([scale=l][icon-start][icon-end]) a:not(.content--slotted) .icon--start+.icon--end{-webkit-margin-start:1rem;margin-inline-start:1rem}:host([scale=l][icon-start][icon-end][appearance=transparent]) button:not(.content--slotted),:host([scale=l][icon-start][icon-end][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-x:2.75rem}";
54
+ const calciteButtonCss = "@-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:300ms}.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}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:inline-block;width:auto;vertical-align:middle}:host([round]){border-radius:50px}:host([round]) a,:host([round]) button{border-radius:50px}:host button,:host a{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}:host button:focus,:host a:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}:host button,:host a{--calcite-button-content-margin:0.5rem;--calcite-button-padding-x:7px;--calcite-button-padding-y:3px;padding:var(--calcite-button-padding-y) var(--calcite-button-padding-x) var(--calcite-button-padding-y) var(--calcite-button-padding-x);position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none;width:100%;height:100%;border-radius:0;border-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit;font-weight:var(--calcite-font-weight-normal);-webkit-transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out, -webkit-box-shadow 0.15s ease-in-out}:host button:hover,:host a:hover{text-decoration:none}.content{display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto;margin-left:var(--calcite-button-content-margin);margin-right:var(--calcite-button-content-margin)}:host([scale=m]) button,:host([scale=m]) a{--calcite-button-content-margin:0.75rem}:host([scale=l]) button,:host([scale=l]) a{--calcite-button-content-margin:1rem}:host(:not([icon-start])) .content{margin-left:unset}:host(:not([icon-end])) .content{margin-right:unset}:host([icon-start]:not([icon-end])) .calcite--rtl .content{margin-left:unset;margin-right:var(--calcite-button-content-margin)}:host([icon-end]:not([icon-start])) .calcite--rtl .content{margin-right:unset;margin-left:var(--calcite-button-content-margin)}:host([width=auto]){width:auto}:host([width=half]){width:50%}:host([width=full]){width:100%}:host([alignment=center]:not([width=auto])) a,:host([alignment=center]:not([width=auto])) button{-ms-flex-pack:center;justify-content:center}:host([alignment=start]:not([width=auto])) a,:host([alignment=start]:not([width=auto])) button{-ms-flex-pack:start;justify-content:flex-start}:host([alignment=end]:not([width=auto])) a,:host([alignment=end]:not([width=auto])) button{-ms-flex-pack:end;justify-content:flex-end}:host([alignment*=space-between]:not([width=auto])) a,:host([alignment*=space-between]:not([width=auto])) button{-ms-flex-pack:justify;justify-content:space-between}:host([alignment=icon-start-space-between]:not([width=auto])) .icon--start{margin-right:auto}:host([alignment=icon-start-space-between]:not([width=auto])) a,:host([alignment=icon-start-space-between]:not([width=auto])) button{text-align:unset}:host([alignment=icon-end-space-between]:not([width=auto])) .icon--end{margin-left:auto}:host([alignment=icon-end-space-between]:not([width=auto])) a,:host([alignment=icon-end-space-between]:not([width=auto])) button{text-align:unset}:host([alignment=icon-start-space-between]:not([width=auto])) .calcite--rtl .icon--start{margin-right:unset;margin-left:auto}:host([alignment=icon-end-space-between]:not([width=auto])) .calcite--rtl .icon--end{margin-left:unset;margin-right:auto}:host([alignment=center]) a:not(.content--slotted) .icon--start+.icon--end,:host([alignment=center]) button:not(.content--slotted) .icon--start+.icon--end{margin-left:var(--calcite-button-content-margin)}:host([alignment=center]) a.calcite--rtl:not(.content--slotted) .icon--start+.icon--end,:host([alignment=center]) button.calcite--rtl:not(.content--slotted) .icon--start+.icon--end{margin-left:unset;margin-right:var(--calcite-button-content-margin)}.icon{display:-ms-inline-flexbox;display:inline-flex;position:relative;margin:0;font-weight:var(--calcite-font-weight-normal);line-height:inherit}:host([loading]),:host([disabled]){pointer-events:none}:host([loading]) button,:host([loading]) a,:host([disabled]) button,:host([disabled]) a{pointer-events:none;opacity:var(--calcite-ui-opacity-disabled)}@-webkit-keyframes loader-in{0%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}100%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes loader-in{0%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}100%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes loader-out{0%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}}@keyframes loader-out{0%{width:1em;opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{width:0;opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5)}}.calcite-button--loader{display:-ms-flexbox;display:flex}.calcite-button--loader calcite-loader{margin:0;-webkit-transition:width 300ms ease-in-out, opacity 300ms ease-in-out, -webkit-transform 300ms ease-in-out;transition:width 300ms ease-in-out, opacity 300ms ease-in-out, -webkit-transform 300ms ease-in-out;transition:width 300ms ease-in-out, opacity 300ms ease-in-out, transform 300ms ease-in-out;transition:width 300ms ease-in-out, opacity 300ms ease-in-out, transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out}.calcite-button--loader calcite-loader.loading-in{-webkit-animation-name:loader-in;animation-name:loader-in;-webkit-animation-duration:310ms;animation-duration:310ms}.calcite-button--loader calcite-loader.loading-out{-webkit-animation-name:loader-out;animation-name:loader-out;-webkit-animation-duration:310ms;animation-duration:310ms}:host([loading]) button.content--slotted .calcite-button--loader calcite-loader,:host([loading]) a.content--slotted .calcite-button--loader calcite-loader{-webkit-margin-end:var(--calcite-button-content-margin);margin-inline-end:var(--calcite-button-content-margin)}:host([loading]) button:not(.content--slotted) .icon--start,:host([loading]) button:not(.content--slotted) .icon--end,:host([loading]) a:not(.content--slotted) .icon--start,:host([loading]) a:not(.content--slotted) .icon--end{display:none}:host([appearance=solid]) button,:host([appearance=solid]) a{border-width:1px;border-style:solid;border-color:transparent}:host([appearance=solid][color=blue]) button,:host([appearance=solid][color=blue]) a{color:var(--calcite-ui-text-inverse);background-color:var(--calcite-ui-brand)}:host([appearance=solid][color=blue]) button:hover,:host([appearance=solid][color=blue]) button:focus,:host([appearance=solid][color=blue]) a:hover,:host([appearance=solid][color=blue]) a:focus{background-color:var(--calcite-ui-brand-hover)}:host([appearance=solid][color=blue]) button:active,:host([appearance=solid][color=blue]) a:active{background-color:var(--calcite-ui-brand-press)}:host([appearance=solid][color=blue]) button calcite-loader,:host([appearance=solid][color=blue]) a calcite-loader{color:var(--calcite-ui-text-inverse)}:host([appearance=solid][color=red]) button,:host([appearance=solid][color=red]) a{color:var(--calcite-ui-text-inverse);background-color:var(--calcite-ui-danger)}:host([appearance=solid][color=red]) button:hover,:host([appearance=solid][color=red]) button:focus,:host([appearance=solid][color=red]) a:hover,:host([appearance=solid][color=red]) a:focus{background-color:var(--calcite-ui-danger-hover)}:host([appearance=solid][color=red]) button:active,:host([appearance=solid][color=red]) a:active{background-color:var(--calcite-ui-danger-press)}:host([appearance=solid][color=red]) button calcite-loader,:host([appearance=solid][color=red]) a calcite-loader{color:var(--calcite-ui-text-inverse)}:host([appearance=solid][color=neutral]) button,:host([appearance=solid][color=neutral]) a{color:var(--calcite-ui-text-1);background-color:var(--calcite-ui-foreground-3)}:host([appearance=solid][color=neutral]) button:hover,:host([appearance=solid][color=neutral]) button:focus,:host([appearance=solid][color=neutral]) a:hover,:host([appearance=solid][color=neutral]) a:focus{background-color:var(--calcite-ui-foreground-2)}:host([appearance=solid][color=neutral]) button:active,:host([appearance=solid][color=neutral]) a:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=solid][color=neutral]) button calcite-loader,:host([appearance=solid][color=neutral]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=solid][color=inverse]) button,:host([appearance=solid][color=inverse]) a{color:var(--calcite-ui-text-inverse);background-color:var(--calcite-ui-inverse)}:host([appearance=solid][color=inverse]) button:hover,:host([appearance=solid][color=inverse]) button:focus,:host([appearance=solid][color=inverse]) a:hover,:host([appearance=solid][color=inverse]) a:focus{background-color:var(--calcite-ui-inverse-hover)}:host([appearance=solid][color=inverse]) button:active,:host([appearance=solid][color=inverse]) a:active{background-color:var(--calcite-ui-inverse-press)}:host([appearance=solid][color=inverse]) button calcite-loader,:host([appearance=solid][color=inverse]) a calcite-loader{color:var(--calcite-ui-text-inverse)}:host([appearance=outline]) button,:host([appearance=outline]) a{background-color:var(--calcite-ui-foreground-1);border-width:1px;border-style:solid;-webkit-box-shadow:inset 0 0 0 1px transparent;box-shadow:inset 0 0 0 1px transparent}:host([appearance=outline][color=blue]) button,:host([appearance=outline][color=blue]) a{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand)}:host([appearance=outline][color=blue]) button:hover,:host([appearance=outline][color=blue]) a:hover{border-color:var(--calcite-ui-brand-hover);color:var(--calcite-ui-brand-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover)}:host([appearance=outline][color=blue]) button:focus,:host([appearance=outline][color=blue]) a:focus{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}:host([appearance=outline][color=blue]) button:active,:host([appearance=outline][color=blue]) a:active{border-color:var(--calcite-ui-brand-press);color:var(--calcite-ui-brand-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press)}:host([appearance=outline][color=blue]) button calcite-loader,:host([appearance=outline][color=blue]) a calcite-loader{color:var(--calcite-ui-brand)}:host([appearance=outline][color=red]) button,:host([appearance=outline][color=red]) a{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger)}:host([appearance=outline][color=red]) button:hover,:host([appearance=outline][color=red]) a:hover{border-color:var(--calcite-ui-danger-hover);color:var(--calcite-ui-danger-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover)}:host([appearance=outline][color=red]) button:focus,:host([appearance=outline][color=red]) a:focus{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger)}:host([appearance=outline][color=red]) button:active,:host([appearance=outline][color=red]) a:active{border-color:var(--calcite-ui-danger-press);color:var(--calcite-ui-danger-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press)}:host([appearance=outline][color=red]) button calcite-loader,:host([appearance=outline][color=red]) a calcite-loader{color:var(--calcite-ui-danger)}:host([appearance=outline][color=neutral]) button,:host([appearance=outline][color=neutral]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button:hover,:host([appearance=outline][color=neutral]) a:hover{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button:focus,:host([appearance=outline][color=neutral]) a:focus{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button:active,:host([appearance=outline][color=neutral]) a:active{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=outline][color=neutral]) button calcite-loader,:host([appearance=outline][color=neutral]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=outline][color=inverse]) button,:host([appearance=outline][color=inverse]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-inverse)}:host([appearance=outline][color=inverse]) button:hover,:host([appearance=outline][color=inverse]) a:hover{border-color:var(--calcite-ui-inverse-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover)}:host([appearance=outline][color=inverse]) button:focus,:host([appearance=outline][color=inverse]) a:focus{border-color:var(--calcite-ui-inverse);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse)}:host([appearance=outline][color=inverse]) button:active,:host([appearance=outline][color=inverse]) a:active{border-color:var(--calcite-ui-inverse-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press)}:host([appearance=outline][color=inverse]) button calcite-loader,:host([appearance=outline][color=inverse]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=clear]) button,:host([appearance=clear]) a{background-color:transparent;border-width:1px;border-style:solid;-webkit-box-shadow:inset 0 0 0 1px transparent;box-shadow:inset 0 0 0 1px transparent}:host([appearance=clear][color=blue]) button,:host([appearance=clear][color=blue]) a{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand)}:host([appearance=clear][color=blue]) button:hover,:host([appearance=clear][color=blue]) a:hover{border-color:var(--calcite-ui-brand-hover);color:var(--calcite-ui-brand-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand-hover)}:host([appearance=clear][color=blue]) button:focus,:host([appearance=clear][color=blue]) a:focus{border-color:var(--calcite-ui-brand);color:var(--calcite-ui-brand);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}:host([appearance=clear][color=blue]) button:active,:host([appearance=clear][color=blue]) a:active{border-color:var(--calcite-ui-brand-press);color:var(--calcite-ui-brand-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand-press)}:host([appearance=clear][color=blue]) button calcite-loader,:host([appearance=clear][color=blue]) a calcite-loader{color:var(--calcite-ui-brand)}:host([appearance=clear][color=red]) button,:host([appearance=clear][color=red]) a{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger)}:host([appearance=clear][color=red]) button:hover,:host([appearance=clear][color=red]) a:hover{border-color:var(--calcite-ui-danger-hover);color:var(--calcite-ui-danger-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-danger-hover)}:host([appearance=clear][color=red]) button:focus,:host([appearance=clear][color=red]) a:focus{border-color:var(--calcite-ui-danger);color:var(--calcite-ui-danger);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger)}:host([appearance=clear][color=red]) button:active,:host([appearance=clear][color=red]) a:active{border-color:var(--calcite-ui-danger-press);color:var(--calcite-ui-danger-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-danger-press)}:host([appearance=clear][color=red]) button calcite-loader,:host([appearance=clear][color=red]) a calcite-loader{color:var(--calcite-ui-danger)}:host([appearance=clear][color=neutral]) button,:host([appearance=clear][color=neutral]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button:hover,:host([appearance=clear][color=neutral]) a:hover{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 1px var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button:focus,:host([appearance=clear][color=neutral]) a:focus{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button:active,:host([appearance=clear][color=neutral]) a:active{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3);box-shadow:inset 0 0 0 2px var(--calcite-ui-foreground-3)}:host([appearance=clear][color=neutral]) button calcite-loader,:host([appearance=clear][color=neutral]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=clear][color=inverse]) button,:host([appearance=clear][color=inverse]) a{color:var(--calcite-ui-text-1);border-color:var(--calcite-ui-inverse)}:host([appearance=clear][color=inverse]) button:hover,:host([appearance=clear][color=inverse]) a:hover{border-color:var(--calcite-ui-inverse-hover);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover);box-shadow:inset 0 0 0 1px var(--calcite-ui-inverse-hover)}:host([appearance=clear][color=inverse]) button:focus,:host([appearance=clear][color=inverse]) a:focus{border-color:var(--calcite-ui-inverse);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse)}:host([appearance=clear][color=inverse]) button:active,:host([appearance=clear][color=inverse]) a:active{border-color:var(--calcite-ui-inverse-press);-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press);box-shadow:inset 0 0 0 2px var(--calcite-ui-inverse-press)}:host([appearance=clear][color=inverse]) button calcite-loader,:host([appearance=clear][color=inverse]) a calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=outline][split-child=primary]) button,:host([appearance=clear][split-child=primary]) button{border-right-width:0;border-left-width:1px}:host([appearance=outline][split-child=primary]) button.calcite--rtl,:host([appearance=clear][split-child=primary]) button.calcite--rtl{border-left-width:0;border-right-width:1px}:host([appearance=outline][split-child=secondary]) button,:host([appearance=clear][split-child=secondary]) button{border-left-width:0;border-right-width:1px}:host([appearance=outline][split-child=secondary]) button.calcite--rtl,:host([appearance=clear][split-child=secondary]) button.calcite--rtl{border-right-width:0;border-left-width:1px}:host([appearance=transparent]:not(.enable-editing-button)) button,:host([appearance=transparent]:not(.enable-editing-button)) a{background-color:transparent}:host([appearance=transparent]:not(.enable-editing-button)) button:hover,:host([appearance=transparent]:not(.enable-editing-button)) button:focus,:host([appearance=transparent]:not(.enable-editing-button)) a:hover,:host([appearance=transparent]:not(.enable-editing-button)) a:focus{background-color:var(--calcite-button-transparent-hover)}:host([appearance=transparent]:not(.enable-editing-button)) button:active,:host([appearance=transparent]:not(.enable-editing-button)) a:active{background-color:var(--calcite-button-transparent-press)}:host([appearance=transparent][color=blue]) button,:host([appearance=transparent][color=blue]) a{color:var(--calcite-ui-brand)}:host([appearance=transparent][color=blue]) button:hover,:host([appearance=transparent][color=blue]) a:hover{color:var(--calcite-ui-brand-hover)}:host([appearance=transparent][color=blue]) button:focus,:host([appearance=transparent][color=blue]) a:focus{color:var(--calcite-ui-brand)}:host([appearance=transparent][color=blue]) button:active,:host([appearance=transparent][color=blue]) a:active{color:var(--calcite-ui-brand-press)}:host([appearance=transparent][color=blue]) button calcite-loader,:host([appearance=transparent][color=blue]) a calcite-loader{color:var(--calcite-ui-brand)}:host([appearance=transparent][color=red]) button,:host([appearance=transparent][color=red]) a{color:var(--calcite-ui-danger)}:host([appearance=transparent][color=red]) button:hover,:host([appearance=transparent][color=red]) a:hover{color:var(--calcite-ui-danger-hover)}:host([appearance=transparent][color=red]) button:focus,:host([appearance=transparent][color=red]) a:focus{color:var(--calcite-ui-danger)}:host([appearance=transparent][color=red]) button:active,:host([appearance=transparent][color=red]) a:active{color:var(--calcite-ui-danger-press)}:host([appearance=transparent][color=red]) button calcite-loader,:host([appearance=transparent][color=red]) a calcite-loader{color:var(--calcite-ui-danger)}:host([appearance=transparent][color=neutral]:not(.cancel-editing-button)) button,:host([appearance=transparent][color=neutral]:not(.cancel-editing-button)) a,:host([appearance=transparent][color=neutral]:not(.cancel-editing-button)) calcite-loader{color:var(--calcite-ui-text-1)}:host([appearance=transparent][color=neutral].cancel-editing-button) button{color:var(--calcite-ui-text-3);border-top-width:1px;border-top-color:var(--calcite-ui-border-input);border-bottom-width:1px;border-bottom-color:var(--calcite-ui-border-input);border-bottom-style:solid;border-top-style:solid}:host([appearance=transparent][color=neutral].cancel-editing-button) button:not(.content--slotted){--calcite-button-padding-y:0}:host([appearance=transparent][color=neutral].cancel-editing-button) button:hover{color:var(--calcite-ui-text-1)}:host([appearance=transparent][color=neutral].enable-editing-button) button{background-color:transparent}:host(.confirm-changes-button) button:focus,:host(.cancel-editing-button) button:focus,:host(.enable-editing-button) button:focus{outline-offset:-2px}:host([appearance=transparent][color=inverse]) button,:host([appearance=transparent][color=inverse]) a,:host([appearance=transparent][color=inverse]) calcite-loader{color:var(--calcite-ui-text-inverse)}:host([scale=s]) button.content--slotted,:host([scale=s]) a.content--slotted{font-size:var(--calcite-font-size--2);line-height:1rem}:host([scale=s][appearance=transparent]) button.content--slotted,:host([scale=s][appearance=transparent]) a.content--slotted{--calcite-button-padding-x:0.5rem;--calcite-button-padding-y:0.25rem}:host([scale=m]) button.content--slotted,:host([scale=m]) a.content--slotted{--calcite-button-padding-x:11px;font-size:var(--calcite-font-size--1);line-height:1rem}:host([scale=m]:not([appearance=transparent])) button.content--slotted,:host([scale=m]:not([appearance=transparent])) a.content--slotted{--calcite-button-padding-y:7px}:host([scale=m][appearance=transparent]) button.content--slotted,:host([scale=m][appearance=transparent]) a.content--slotted{--calcite-button-padding-x:0.75rem;--calcite-button-padding-y:0.5rem}:host([scale=l]) button.content--slotted,:host([scale=l]) a.content--slotted{--calcite-button-padding-x:15px;font-size:var(--calcite-font-size-0);line-height:1.25rem}:host([scale=l]:not([appearance=transparent])) button.content--slotted,:host([scale=l]:not([appearance=transparent])) a.content--slotted{--calcite-button-padding-y:11px}:host([scale=l][appearance=transparent]) button.content--slotted,:host([scale=l][appearance=transparent]) a.content--slotted{--calcite-button-padding-x:1rem;--calcite-button-padding-y:0.75rem}:host([scale=s]) button:not(.content--slotted),:host([scale=s]) a:not(.content--slotted){--calcite-button-padding-x:0.125rem;--calcite-button-padding-y:3px;font-size:var(--calcite-font-size-0);line-height:1.25rem;width:1.5rem;min-height:1.5rem}:host([scale=s][appearance=transparent]) button:not(.content--slotted),:host([scale=s][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-y:0.25rem}:host([scale=m]) button:not(.content--slotted),:host([scale=m]) a:not(.content--slotted){--calcite-button-padding-x:0.125rem;--calcite-button-padding-y:7px;font-size:var(--calcite-font-size-0);line-height:1.25rem;width:2rem;min-height:2rem}:host([scale=m][appearance=transparent]) button:not(.content--slotted),:host([scale=m][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-y:0.5rem}:host([scale=l]) button:not(.content--slotted),:host([scale=l]) a:not(.content--slotted){--calcite-button-padding-x:0.125rem;--calcite-button-padding-y:9px;font-size:var(--calcite-font-size-0);line-height:1.25rem;width:2.75rem;min-height:2.75rem}:host([scale=l][appearance=transparent]) button:not(.content--slotted),:host([scale=l][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-y:0.625rem}:host([scale=s][icon-start][icon-end]) button:not(.content--slotted),:host([scale=s][icon-start][icon-end]) a:not(.content--slotted){--calcite-button-padding-x:23px;font-size:var(--calcite-font-size-0);line-height:1.25rem;height:1.5rem}:host([scale=s][icon-start][icon-end][appearance=transparent]) button:not(.content--slotted),:host([scale=s][icon-start][icon-end][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-x:1.5rem}:host([scale=m][icon-start][icon-end]) button:not(.content--slotted),:host([scale=m][icon-start][icon-end]) a:not(.content--slotted){--calcite-button-padding-x:2rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;height:2rem}:host([scale=m][icon-start][icon-end][appearance=transparent]) button:not(.content--slotted),:host([scale=m][icon-start][icon-end][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-x:33px}:host([scale=l][icon-start][icon-end]) button:not(.content--slotted),:host([scale=l][icon-start][icon-end]) a:not(.content--slotted){--calcite-button-padding-x:43px;font-size:var(--calcite-font-size-0);line-height:1.25rem;height:2.75rem}:host([scale=l][icon-start][icon-end]) button:not(.content--slotted) .icon--start+.icon--end,:host([scale=l][icon-start][icon-end]) a:not(.content--slotted) .icon--start+.icon--end{-webkit-margin-start:1rem;margin-inline-start:1rem}:host([scale=l][icon-start][icon-end][appearance=transparent]) button:not(.content--slotted),:host([scale=l][icon-start][icon-end][appearance=transparent]) a:not(.content--slotted){--calcite-button-padding-x:2.75rem}";
55
55
 
56
56
  let CalciteButton = class extends HTMLElement {
57
57
  constructor() {
@@ -4,11 +4,10 @@
4
4
  */
5
5
  import { createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { g as guid } from './guid.js';
7
- import { f as focusElement, d as closestElementCrossShadowBoundary } from './dom.js';
8
- import { h as hiddenInputStyle } from './form.js';
9
- import { c as connectLabel, g as getLabelText, d as disconnectLabel } from './label.js';
7
+ import { c as connectForm, d as disconnectForm, H as HiddenFormInputSlot } from './form.js';
8
+ import { c as connectLabel, d as disconnectLabel, g as getLabelText } from './label.js';
10
9
 
11
- const calciteCheckboxCss = "@-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:300ms}.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}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host([scale=s]){--calcite-checkbox-size:0.75rem}:host([scale=m]){--calcite-checkbox-size:var(--calcite-font-size--1)}:host([scale=l]){--calcite-checkbox-size:1rem}:host{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:host .check-svg{overflow:hidden;display:block;background-color:var(--calcite-ui-foreground-1);pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition-property:all;transition-property:all;-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);stroke:currentColor;stroke-width:1;fill:currentColor;width:var(--calcite-checkbox-size);height:var(--calcite-checkbox-size);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);color:var(--calcite-ui-background)}:host ::slotted(input){width:var(--calcite-checkbox-size);height:var(--calcite-checkbox-size)}:host(:hover) .check-svg,:host([hovered]) .check-svg{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}:host([checked]) .check-svg,:host([indeterminate]) .check-svg{background-color:var(--calcite-ui-brand);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand)}:host .focused .check-svg{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);-webkit-transition:150ms ease-in-out;transition:150ms ease-in-out}:host([disabled]){cursor:default;opacity:var(--calcite-ui-opacity-disabled);pointer-events:none}";
10
+ const calciteCheckboxCss = "@-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:300ms}.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}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host([scale=s]){--calcite-checkbox-size:0.75rem}:host([scale=m]){--calcite-checkbox-size:var(--calcite-font-size--1)}:host([scale=l]){--calcite-checkbox-size:1rem}:host{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:host .check-svg{overflow:hidden;display:block;background-color:var(--calcite-ui-foreground-1);pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition-property:all;transition-property:all;-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);stroke:currentColor;stroke-width:1;fill:currentColor;width:var(--calcite-checkbox-size);height:var(--calcite-checkbox-size);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);box-shadow:inset 0 0 0 1px var(--calcite-ui-border-input);color:var(--calcite-ui-background)}:host([checked]) .check-svg,:host([indeterminate]) .check-svg{background-color:var(--calcite-ui-brand);-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand)}:host([hovered]) .toggle .check-svg,:host .toggle:hover .check-svg{-webkit-box-shadow:inset 0 0 0 2px var(--calcite-ui-brand);box-shadow:inset 0 0 0 2px var(--calcite-ui-brand)}:host .toggle:focus .check-svg,:host .toggle:active .check-svg{-webkit-box-shadow:inset 0 0 0 1px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);box-shadow:inset 0 0 0 1px var(--calcite-ui-brand), 0 0 0 2px var(--calcite-ui-foreground-1), 0 0 0 4px var(--calcite-ui-brand);-webkit-transition:150ms ease-in-out;transition:150ms ease-in-out}:host([disabled]){cursor:default;opacity:var(--calcite-ui-opacity-disabled);pointer-events:none}::slotted(input[slot=hidden-form-input]){bottom:0 !important;left:0 !important;margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;right:0 !important;top:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
12
11
 
13
12
  let CalciteCheckbox = class extends HTMLElement {
14
13
  constructor() {
@@ -38,8 +37,12 @@ let CalciteCheckbox = class extends HTMLElement {
38
37
  * https://css-tricks.com/indeterminate-checkboxes/
39
38
  * */
40
39
  this.indeterminate = false;
41
- /** The name of the checkbox input */
42
- this.name = "";
40
+ /**
41
+ * When true, makes the component required for form-submission.
42
+ *
43
+ * @internal
44
+ */
45
+ this.required = false;
43
46
  /** specify the scale of the checkbox, defaults to m */
44
47
  this.scale = "m";
45
48
  //--------------------------------------------------------------------------
@@ -51,13 +54,6 @@ let CalciteCheckbox = class extends HTMLElement {
51
54
  this.indeterminatePath = "M13 8v1H3V8z";
52
55
  //--------------------------------------------------------------------------
53
56
  //
54
- // State
55
- //
56
- //--------------------------------------------------------------------------
57
- /** The focused state of the checkbox. */
58
- this.focused = false;
59
- //--------------------------------------------------------------------------
60
- //
61
57
  // Private Methods
62
58
  //
63
59
  //--------------------------------------------------------------------------
@@ -65,26 +61,34 @@ let CalciteCheckbox = class extends HTMLElement {
65
61
  this.toggle = () => {
66
62
  if (!this.disabled) {
67
63
  this.checked = !this.checked;
68
- focusElement(this.input);
64
+ this.setFocus();
69
65
  this.indeterminate = false;
70
66
  this.calciteCheckboxChange.emit();
71
67
  }
72
68
  };
69
+ this.keyDownHandler = (event) => {
70
+ if (event.key === " " || event.key === "Enter") {
71
+ this.toggle();
72
+ event.preventDefault();
73
+ }
74
+ };
73
75
  this.clickHandler = () => {
74
76
  this.toggle();
75
77
  };
76
- this.formResetHandler = () => {
77
- this.checked = this.initialChecked;
78
+ //--------------------------------------------------------------------------
79
+ //
80
+ // Event Listeners
81
+ //
82
+ //--------------------------------------------------------------------------
83
+ this.onToggleBlur = () => {
84
+ this.calciteInternalCheckboxBlur.emit(false);
85
+ };
86
+ this.onToggleFocus = () => {
87
+ this.calciteInternalCheckboxFocus.emit(true);
88
+ };
89
+ this.onLabelClick = () => {
90
+ this.toggle();
78
91
  };
79
- }
80
- checkedWatcher(newChecked) {
81
- this.input.checked = newChecked;
82
- }
83
- disabledChanged(disabled) {
84
- this.input.disabled = disabled;
85
- }
86
- nameChanged(newName) {
87
- this.input.name = newName;
88
92
  }
89
93
  //--------------------------------------------------------------------------
90
94
  //
@@ -93,29 +97,8 @@ let CalciteCheckbox = class extends HTMLElement {
93
97
  //--------------------------------------------------------------------------
94
98
  /** Sets focus on the component. */
95
99
  async setFocus() {
96
- focusElement(this.input);
97
- }
98
- //--------------------------------------------------------------------------
99
- //
100
- // Event Listeners
101
- //
102
- //--------------------------------------------------------------------------
103
- mouseenter() {
104
- this.hovered = true;
105
- }
106
- mouseleave() {
107
- this.hovered = false;
108
- }
109
- onInputBlur() {
110
- this.focused = false;
111
- this.calciteInternalCheckboxBlur.emit(false);
112
- }
113
- onInputFocus() {
114
- this.focused = true;
115
- this.calciteInternalCheckboxFocus.emit(true);
116
- }
117
- onLabelClick() {
118
- this.toggle();
100
+ var _a;
101
+ (_a = this.toggleEl) === null || _a === void 0 ? void 0 : _a.focus();
119
102
  }
120
103
  //--------------------------------------------------------------------------
121
104
  //
@@ -124,55 +107,22 @@ let CalciteCheckbox = class extends HTMLElement {
124
107
  //--------------------------------------------------------------------------
125
108
  connectedCallback() {
126
109
  this.guid = this.el.id || `calcite-checkbox-${guid()}`;
127
- this.initialChecked = this.checked;
128
- this.renderHiddenCheckboxInput();
129
- const form = closestElementCrossShadowBoundary(this.el, "form");
130
- if (form) {
131
- form.addEventListener("reset", this.formResetHandler);
132
- }
133
110
  connectLabel(this);
134
- }
135
- componentDidLoad() {
136
- this.input.setAttribute("aria-label", getLabelText(this));
111
+ connectForm(this);
137
112
  }
138
113
  disconnectedCallback() {
139
- this.input.parentNode.removeChild(this.input);
140
- const form = closestElementCrossShadowBoundary(this.el, "form");
141
- if (form) {
142
- form.removeEventListener("reset", this.formResetHandler);
143
- }
144
114
  disconnectLabel(this);
115
+ disconnectForm(this);
145
116
  }
146
117
  // --------------------------------------------------------------------------
147
118
  //
148
119
  // Render Methods
149
120
  //
150
121
  // --------------------------------------------------------------------------
151
- renderHiddenCheckboxInput() {
152
- this.input = document.createElement("input");
153
- this.checked && this.input.setAttribute("checked", "");
154
- this.input.disabled = this.disabled;
155
- this.input.id = `${this.guid}-input`;
156
- this.input.name = this.name;
157
- this.input.onblur = this.onInputBlur.bind(this);
158
- this.input.onfocus = this.onInputFocus.bind(this);
159
- this.input.style.cssText = hiddenInputStyle;
160
- this.input.type = "checkbox";
161
- this.input.setAttribute("aria-label", getLabelText(this));
162
- if (this.value) {
163
- this.input.value = this.value != null ? this.value.toString() : "";
164
- }
165
- this.el.appendChild(this.input);
166
- }
167
122
  render() {
168
- return (h(Host, { onClick: this.clickHandler }, h("div", { class: { focused: this.focused } }, h("svg", { class: "check-svg", viewBox: "0 0 16 16" }, h("path", { d: this.getPath() })), h("slot", null))));
123
+ return (h(Host, { onClick: this.clickHandler, onKeyDown: this.keyDownHandler }, h("div", { "aria-checked": this.checked.toString(), "aria-label": getLabelText(this), class: "toggle", onBlur: this.onToggleBlur, onFocus: this.onToggleFocus, ref: (toggleEl) => (this.toggleEl = toggleEl), role: "checkbox", tabIndex: 0 }, h("svg", { class: "check-svg", viewBox: "0 0 16 16" }, h("path", { d: this.getPath() })), h("slot", null)), h(HiddenFormInputSlot, { component: this })));
169
124
  }
170
125
  get el() { return this; }
171
- static get watchers() { return {
172
- "checked": ["checkedWatcher"],
173
- "disabled": ["disabledChanged"],
174
- "name": ["nameChanged"]
175
- }; }
176
126
  static get style() { return calciteCheckboxCss; }
177
127
  };
178
128
  CalciteCheckbox = /*@__PURE__*/ proxyCustomElement(CalciteCheckbox, [1, "calcite-checkbox", {
@@ -182,12 +132,12 @@ CalciteCheckbox = /*@__PURE__*/ proxyCustomElement(CalciteCheckbox, [1, "calcite
182
132
  "hovered": [1540],
183
133
  "indeterminate": [1540],
184
134
  "label": [1],
185
- "name": [513],
135
+ "name": [520],
136
+ "required": [516],
186
137
  "scale": [513],
187
138
  "value": [8],
188
- "focused": [32],
189
139
  "setFocus": [64]
190
- }, [[1, "mouseenter", "mouseenter"], [1, "mouseleave", "mouseleave"]]]);
140
+ }]);
191
141
  function defineCustomElement() {
192
142
  const components = ["calcite-checkbox"];
193
143
  components.forEach(tagName => { switch (tagName) {