@esri/calcite-components 1.0.0-next.412 → 1.0.0-next.415

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 (492) hide show
  1. package/dist/calcite/assets/icon/clockForward16.json +1 -0
  2. package/dist/calcite/assets/icon/clockForward24.json +1 -0
  3. package/dist/calcite/assets/icon/clockForward32.json +1 -0
  4. package/dist/calcite/assets/icon/contingentValues16.json +1 -0
  5. package/dist/calcite/assets/icon/contingentValues24.json +1 -0
  6. package/dist/calcite/assets/icon/contingentValues32.json +1 -0
  7. package/dist/calcite/assets/icon/creditCard16.json +1 -0
  8. package/dist/calcite/assets/icon/creditCard24.json +1 -0
  9. package/dist/calcite/assets/icon/creditCard32.json +1 -0
  10. package/dist/calcite/assets/icon/credits16.json +1 -1
  11. package/dist/calcite/assets/icon/credits24.json +1 -1
  12. package/dist/calcite/assets/icon/credits32.json +1 -1
  13. package/dist/calcite/assets/icon/keyboard16.json +1 -0
  14. package/dist/calcite/assets/icon/keyboard24.json +1 -0
  15. package/dist/calcite/assets/icon/keyboard32.json +1 -0
  16. package/dist/calcite/assets/icon/premiumContentUserCredit24.json +1 -1
  17. package/dist/calcite/assets/icon/premiumContentUserCredit32.json +1 -1
  18. package/dist/calcite/assets/icon/select16.json +1 -1
  19. package/dist/calcite/assets/icon/select24.json +1 -1
  20. package/dist/calcite/assets/icon/select32.json +1 -1
  21. package/dist/calcite/assets/icon/userDown16.json +1 -0
  22. package/dist/calcite/assets/icon/userDown24.json +1 -0
  23. package/dist/calcite/assets/icon/userDown32.json +1 -0
  24. package/dist/calcite/assets/icon/userKey16.json +1 -0
  25. package/dist/calcite/assets/icon/userKey24.json +1 -0
  26. package/dist/calcite/assets/icon/userKey32.json +1 -0
  27. package/dist/calcite/assets/icon/userMinus16.json +1 -0
  28. package/dist/calcite/assets/icon/userMinus24.json +1 -0
  29. package/dist/calcite/assets/icon/userMinus32.json +1 -0
  30. package/dist/calcite/assets/icon/userUp16.json +1 -0
  31. package/dist/calcite/assets/icon/userUp24.json +1 -0
  32. package/dist/calcite/assets/icon/userUp32.json +1 -0
  33. package/dist/calcite/assets/icon/userX16.json +1 -0
  34. package/dist/calcite/assets/icon/userX24.json +1 -0
  35. package/dist/calcite/assets/icon/userX32.json +1 -0
  36. package/dist/calcite/assets/icon/utilityNetworkTrace16.json +1 -0
  37. package/dist/calcite/assets/icon/utilityNetworkTrace24.json +1 -0
  38. package/dist/calcite/assets/icon/utilityNetworkTrace32.json +1 -0
  39. package/dist/calcite/calcite.esm.js +1 -1
  40. package/dist/calcite/p-00009c01.system.entry.js +5 -0
  41. package/dist/calcite/p-01f877b3.entry.js +5 -0
  42. package/dist/calcite/p-04708565.system.entry.js +5 -0
  43. package/dist/calcite/p-04859cc3.entry.js +5 -0
  44. package/dist/calcite/p-0a565a2a.entry.js +5 -0
  45. package/dist/calcite/p-18d1b401.system.entry.js +5 -0
  46. package/dist/calcite/p-18ea4373.system.js +5 -0
  47. package/dist/calcite/p-190e3d04.entry.js +5 -0
  48. package/dist/calcite/p-1984c1b1.system.entry.js +5 -0
  49. package/dist/calcite/p-1ff6776b.entry.js +5 -0
  50. package/dist/calcite/p-22cef177.entry.js +5 -0
  51. package/dist/calcite/p-24e1de98.entry.js +5 -0
  52. package/dist/calcite/p-2f20293c.system.entry.js +5 -0
  53. package/dist/calcite/p-2fcab9f8.entry.js +5 -0
  54. package/dist/calcite/p-3119ffce.system.js +5 -0
  55. package/dist/calcite/p-31c3b490.system.entry.js +5 -0
  56. package/dist/calcite/p-38b1f6b5.entry.js +5 -0
  57. package/dist/calcite/p-42d258d4.system.entry.js +5 -0
  58. package/dist/calcite/p-4392cf25.system.entry.js +5 -0
  59. package/dist/calcite/p-44032496.system.entry.js +5 -0
  60. package/dist/calcite/p-45dce037.system.entry.js +5 -0
  61. package/dist/calcite/p-467318a0.system.entry.js +5 -0
  62. package/dist/calcite/p-46741fa4.entry.js +5 -0
  63. package/dist/calcite/p-46c177ec.system.entry.js +5 -0
  64. package/dist/calcite/p-4a3a1b46.entry.js +5 -0
  65. package/dist/calcite/p-5653a345.entry.js +5 -0
  66. package/dist/calcite/p-58274475.system.entry.js +5 -0
  67. package/dist/calcite/p-5be670bf.system.entry.js +5 -0
  68. package/dist/calcite/p-5c237680.entry.js +5 -0
  69. package/dist/calcite/p-5d1c8466.entry.js +5 -0
  70. package/dist/calcite/p-614d8925.js +5 -0
  71. package/dist/calcite/p-66a7bd24.system.entry.js +5 -0
  72. package/dist/calcite/p-7375cf4f.system.entry.js +5 -0
  73. package/dist/calcite/p-78bb06e5.system.entry.js +5 -0
  74. package/dist/calcite/p-7ab80118.entry.js +5 -0
  75. package/dist/calcite/p-807e32d8.entry.js +5 -0
  76. package/dist/calcite/p-88f949f4.entry.js +5 -0
  77. package/dist/calcite/p-8afbcf9e.entry.js +5 -0
  78. package/dist/calcite/p-8bb762f9.system.entry.js +5 -0
  79. package/dist/calcite/p-8dbb756d.entry.js +5 -0
  80. package/dist/calcite/p-8e198935.entry.js +5 -0
  81. package/dist/calcite/p-8f93be14.system.js +1 -1
  82. package/dist/calcite/p-9127d01c.entry.js +5 -0
  83. package/dist/calcite/p-93d9d3e7.entry.js +5 -0
  84. package/dist/calcite/p-98962bd9.entry.js +5 -0
  85. package/dist/calcite/p-9a69d12a.system.entry.js +5 -0
  86. package/dist/calcite/p-9b514f77.entry.js +5 -0
  87. package/dist/calcite/p-9e56f30f.system.entry.js +5 -0
  88. package/dist/calcite/p-a400f6dc.system.entry.js +5 -0
  89. package/dist/calcite/p-a72718b5.system.entry.js +5 -0
  90. package/dist/calcite/p-b5afe88b.system.entry.js +5 -0
  91. package/dist/calcite/p-b84e5b34.entry.js +5 -0
  92. package/dist/calcite/p-bce112c4.system.entry.js +5 -0
  93. package/dist/calcite/p-bd38ff21.js +5 -0
  94. package/dist/calcite/p-c5086019.system.entry.js +5 -0
  95. package/dist/calcite/p-c7f36800.system.entry.js +5 -0
  96. package/dist/calcite/p-c82c4418.entry.js +5 -0
  97. package/dist/calcite/p-c908ce40.system.entry.js +5 -0
  98. package/dist/calcite/p-cfb7be80.system.entry.js +5 -0
  99. package/dist/calcite/p-d74ca1cf.system.entry.js +5 -0
  100. package/dist/calcite/p-d74e933c.entry.js +5 -0
  101. package/dist/calcite/p-daf5f04c.system.js +5 -0
  102. package/dist/calcite/p-db73225f.system.entry.js +5 -0
  103. package/dist/calcite/p-e01879bf.js +5 -0
  104. package/dist/calcite/p-e33d149d.system.entry.js +5 -0
  105. package/dist/calcite/p-e8f17533.entry.js +5 -0
  106. package/dist/calcite/p-ea32a5ac.system.entry.js +5 -0
  107. package/dist/calcite/p-eaf79f20.entry.js +5 -0
  108. package/dist/calcite/p-f2433871.entry.js +5 -0
  109. package/dist/calcite/p-f71b551d.entry.js +5 -0
  110. package/dist/calcite/p-fa078a42.entry.js +5 -0
  111. package/dist/cjs/calcite-action.cjs.entry.js +5 -1
  112. package/dist/cjs/calcite-block_2.cjs.entry.js +14 -5
  113. package/dist/cjs/calcite-button.cjs.entry.js +6 -2
  114. package/dist/cjs/calcite-checkbox.cjs.entry.js +6 -2
  115. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +15 -2
  116. package/dist/cjs/calcite-combobox_3.cjs.entry.js +18 -3
  117. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +9 -2
  118. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +22 -6
  119. package/dist/cjs/calcite-fab.cjs.entry.js +10 -1
  120. package/dist/cjs/calcite-filter.cjs.entry.js +36 -3
  121. package/dist/cjs/calcite-graph_2.cjs.entry.js +4 -2
  122. package/dist/cjs/calcite-inline-editable.cjs.entry.js +11 -9
  123. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +21 -4
  124. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +19 -3
  125. package/dist/cjs/calcite-input.cjs.entry.js +6 -2
  126. package/dist/cjs/calcite-label.cjs.entry.js +15 -2
  127. package/dist/cjs/calcite-link.cjs.entry.js +6 -2
  128. package/dist/cjs/calcite-list_3.cjs.entry.js +28 -2
  129. package/dist/cjs/calcite-option_3.cjs.entry.js +6 -2
  130. package/dist/cjs/calcite-panel.cjs.entry.js +12 -3
  131. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +10 -6
  132. package/dist/cjs/calcite-radio-button.cjs.entry.js +6 -2
  133. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +7 -3
  134. package/dist/cjs/calcite-rating.cjs.entry.js +11 -5
  135. package/dist/cjs/calcite-sortable-list.cjs.entry.js +5 -1
  136. package/dist/cjs/calcite-split-button.cjs.entry.js +25 -2
  137. package/dist/cjs/calcite-stepper_2.cjs.entry.js +6 -2
  138. package/dist/cjs/calcite-switch.cjs.entry.js +6 -9
  139. package/dist/cjs/calcite-tab_4.cjs.entry.js +6 -3
  140. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +17 -2
  141. package/dist/cjs/calcite-tile.cjs.entry.js +5 -1
  142. package/dist/cjs/calcite-value-list_2.cjs.entry.js +12 -7
  143. package/dist/cjs/calcite.cjs.js +1 -1
  144. package/dist/cjs/interactive-87406231.js +44 -0
  145. package/dist/cjs/{label-6b18ca08.js → label-980508de.js} +40 -6
  146. package/dist/cjs/loader.cjs.js +1 -1
  147. package/dist/cjs/{resources-415f797b.js → resources-65327c4a.js} +33 -8
  148. package/dist/collection/components/action/action.css +9 -0
  149. package/dist/collection/components/action/action.js +4 -0
  150. package/dist/collection/components/block/block.css +13 -9
  151. package/dist/collection/components/block/block.js +13 -4
  152. package/dist/collection/components/button/button.css +15 -2
  153. package/dist/collection/components/button/button.js +4 -0
  154. package/dist/collection/components/checkbox/checkbox.css +7 -0
  155. package/dist/collection/components/checkbox/checkbox.js +4 -0
  156. package/dist/collection/components/color-picker/color-picker.css +13 -0
  157. package/dist/collection/components/color-picker/color-picker.js +32 -1
  158. package/dist/collection/components/combobox/combobox.css +7 -1
  159. package/dist/collection/components/combobox/combobox.js +14 -0
  160. package/dist/collection/components/combobox-item/combobox-item.css +13 -0
  161. package/dist/collection/components/combobox-item/combobox-item.js +4 -0
  162. package/dist/collection/components/date-picker-day/date-picker-day.css +13 -5
  163. package/dist/collection/components/date-picker-day/date-picker-day.js +8 -1
  164. package/dist/collection/components/dropdown/dropdown.css +8 -0
  165. package/dist/collection/components/dropdown/dropdown.js +23 -5
  166. package/dist/collection/components/fab/fab.css +13 -0
  167. package/dist/collection/components/fab/fab.js +9 -0
  168. package/dist/collection/components/filter/filter.css +13 -0
  169. package/dist/collection/components/filter/filter.js +41 -7
  170. package/dist/collection/components/icon/assets/icon/clockForward16.json +1 -0
  171. package/dist/collection/components/icon/assets/icon/clockForward24.json +1 -0
  172. package/dist/collection/components/icon/assets/icon/clockForward32.json +1 -0
  173. package/dist/collection/components/icon/assets/icon/contingentValues16.json +1 -0
  174. package/dist/collection/components/icon/assets/icon/contingentValues24.json +1 -0
  175. package/dist/collection/components/icon/assets/icon/contingentValues32.json +1 -0
  176. package/dist/collection/components/icon/assets/icon/creditCard16.json +1 -0
  177. package/dist/collection/components/icon/assets/icon/creditCard24.json +1 -0
  178. package/dist/collection/components/icon/assets/icon/creditCard32.json +1 -0
  179. package/dist/collection/components/icon/assets/icon/credits16.json +1 -1
  180. package/dist/collection/components/icon/assets/icon/credits24.json +1 -1
  181. package/dist/collection/components/icon/assets/icon/credits32.json +1 -1
  182. package/dist/collection/components/icon/assets/icon/keyboard16.json +1 -0
  183. package/dist/collection/components/icon/assets/icon/keyboard24.json +1 -0
  184. package/dist/collection/components/icon/assets/icon/keyboard32.json +1 -0
  185. package/dist/collection/components/icon/assets/icon/premiumContentUserCredit24.json +1 -1
  186. package/dist/collection/components/icon/assets/icon/premiumContentUserCredit32.json +1 -1
  187. package/dist/collection/components/icon/assets/icon/select16.json +1 -1
  188. package/dist/collection/components/icon/assets/icon/select24.json +1 -1
  189. package/dist/collection/components/icon/assets/icon/select32.json +1 -1
  190. package/dist/collection/components/icon/assets/icon/userDown16.json +1 -0
  191. package/dist/collection/components/icon/assets/icon/userDown24.json +1 -0
  192. package/dist/collection/components/icon/assets/icon/userDown32.json +1 -0
  193. package/dist/collection/components/icon/assets/icon/userKey16.json +1 -0
  194. package/dist/collection/components/icon/assets/icon/userKey24.json +1 -0
  195. package/dist/collection/components/icon/assets/icon/userKey32.json +1 -0
  196. package/dist/collection/components/icon/assets/icon/userMinus16.json +1 -0
  197. package/dist/collection/components/icon/assets/icon/userMinus24.json +1 -0
  198. package/dist/collection/components/icon/assets/icon/userMinus32.json +1 -0
  199. package/dist/collection/components/icon/assets/icon/userUp16.json +1 -0
  200. package/dist/collection/components/icon/assets/icon/userUp24.json +1 -0
  201. package/dist/collection/components/icon/assets/icon/userUp32.json +1 -0
  202. package/dist/collection/components/icon/assets/icon/userX16.json +1 -0
  203. package/dist/collection/components/icon/assets/icon/userX24.json +1 -0
  204. package/dist/collection/components/icon/assets/icon/userX32.json +1 -0
  205. package/dist/collection/components/icon/assets/icon/utilityNetworkTrace16.json +1 -0
  206. package/dist/collection/components/icon/assets/icon/utilityNetworkTrace24.json +1 -0
  207. package/dist/collection/components/icon/assets/icon/utilityNetworkTrace32.json +1 -0
  208. package/dist/collection/components/inline-editable/inline-editable.css +12 -0
  209. package/dist/collection/components/inline-editable/inline-editable.js +9 -7
  210. package/dist/collection/components/input/input.css +8 -7
  211. package/dist/collection/components/input/input.js +4 -0
  212. package/dist/collection/components/input-date-picker/input-date-picker.css +64 -27
  213. package/dist/collection/components/input-date-picker/input-date-picker.js +21 -2
  214. package/dist/collection/components/input-time-picker/input-time-picker.css +13 -0
  215. package/dist/collection/components/input-time-picker/input-time-picker.js +21 -1
  216. package/dist/collection/components/label/label.css +12 -0
  217. package/dist/collection/components/label/label.js +16 -2
  218. package/dist/collection/components/link/link.css +13 -8
  219. package/dist/collection/components/link/link.js +5 -1
  220. package/dist/collection/components/list/list.css +13 -0
  221. package/dist/collection/components/list/list.js +38 -0
  222. package/dist/collection/components/list-item/list-item.css +8 -0
  223. package/dist/collection/components/list-item/list-item.js +9 -0
  224. package/dist/collection/components/panel/panel.css +13 -0
  225. package/dist/collection/components/panel/panel.js +11 -2
  226. package/dist/collection/components/pick-list/pick-list.css +13 -0
  227. package/dist/collection/components/pick-list/pick-list.js +4 -0
  228. package/dist/collection/components/pick-list/shared-list-logic.js +30 -6
  229. package/dist/collection/components/pick-list/shared-list-render.js +2 -2
  230. package/dist/collection/components/pick-list-item/pick-list-item.css +13 -0
  231. package/dist/collection/components/pick-list-item/pick-list-item.js +5 -4
  232. package/dist/collection/components/radio-button/radio-button.css +10 -1
  233. package/dist/collection/components/radio-button/radio-button.js +4 -0
  234. package/dist/collection/components/radio-group/radio-group.css +13 -5
  235. package/dist/collection/components/radio-group/radio-group.js +5 -1
  236. package/dist/collection/components/rating/rating.css +13 -5
  237. package/dist/collection/components/rating/rating.js +9 -3
  238. package/dist/collection/components/select/select.css +13 -7
  239. package/dist/collection/components/select/select.js +4 -0
  240. package/dist/collection/components/slider/slider.css +8 -0
  241. package/dist/collection/components/slider/slider.js +2 -0
  242. package/dist/collection/components/sortable-list/sortable-list.css +13 -0
  243. package/dist/collection/components/sortable-list/sortable-list.js +4 -0
  244. package/dist/collection/components/split-button/split-button.css +12 -0
  245. package/dist/collection/components/split-button/split-button.js +29 -3
  246. package/dist/collection/components/stepper-item/stepper-item.css +8 -4
  247. package/dist/collection/components/stepper-item/stepper-item.js +6 -2
  248. package/dist/collection/components/switch/switch.css +7 -0
  249. package/dist/collection/components/switch/switch.js +5 -13
  250. package/dist/collection/components/tab-title/tab-title.css +9 -0
  251. package/dist/collection/components/tab-title/tab-title.js +6 -3
  252. package/dist/collection/components/tile/tile.css +17 -1
  253. package/dist/collection/components/tile/tile.js +4 -0
  254. package/dist/collection/components/tile-select/tile-select.css +9 -1
  255. package/dist/collection/components/tile-select/tile-select.js +4 -0
  256. package/dist/collection/components/tile-select-group/tile-select-group.css +13 -0
  257. package/dist/collection/components/tile-select-group/tile-select-group.js +31 -1
  258. package/dist/collection/components/value-list/value-list.css +13 -0
  259. package/dist/collection/components/value-list/value-list.js +6 -5
  260. package/dist/collection/components/value-list-item/value-list-item.css +13 -0
  261. package/dist/collection/components/value-list-item/value-list-item.js +5 -1
  262. package/dist/collection/utils/interactive.js +42 -0
  263. package/dist/collection/utils/label.js +38 -6
  264. package/dist/components/action.js +5 -1
  265. package/dist/components/button.js +5 -1
  266. package/dist/components/calcite-block.js +14 -5
  267. package/dist/components/calcite-color-picker.js +16 -2
  268. package/dist/components/calcite-combobox-item.js +5 -1
  269. package/dist/components/calcite-combobox.js +13 -1
  270. package/dist/components/calcite-fab.js +10 -1
  271. package/dist/components/calcite-inline-editable.js +10 -8
  272. package/dist/components/calcite-input-date-picker.js +20 -3
  273. package/dist/components/calcite-input-time-picker.js +18 -2
  274. package/dist/components/calcite-list-item.js +10 -1
  275. package/dist/components/calcite-list.js +20 -1
  276. package/dist/components/calcite-panel.js +12 -3
  277. package/dist/components/calcite-pick-list.js +5 -1
  278. package/dist/components/calcite-radio-button.js +5 -1
  279. package/dist/components/calcite-radio-group.js +6 -2
  280. package/dist/components/calcite-rating.js +10 -4
  281. package/dist/components/calcite-select.js +5 -1
  282. package/dist/components/calcite-slider.js +3 -1
  283. package/dist/components/calcite-sortable-list.js +5 -1
  284. package/dist/components/calcite-split-button.js +26 -3
  285. package/dist/components/calcite-stepper-item.js +7 -3
  286. package/dist/components/calcite-tile-select-group.js +14 -1
  287. package/dist/components/calcite-tile-select.js +5 -1
  288. package/dist/components/calcite-value-list-item.js +5 -1
  289. package/dist/components/calcite-value-list.js +7 -6
  290. package/dist/components/checkbox.js +5 -1
  291. package/dist/components/date-picker-day.js +9 -2
  292. package/dist/components/dropdown.js +22 -6
  293. package/dist/components/filter.js +42 -21
  294. package/dist/components/input.js +5 -1
  295. package/dist/components/interactive.js +42 -0
  296. package/dist/components/label.js +39 -7
  297. package/dist/components/label2.js +13 -2
  298. package/dist/components/link.js +6 -2
  299. package/dist/components/pick-list-item.js +5 -4
  300. package/dist/components/shared-list-render.js +33 -9
  301. package/dist/components/switch.js +5 -9
  302. package/dist/components/tab-title.js +6 -3
  303. package/dist/components/tile.js +5 -1
  304. package/dist/custom-elements/index.js +448 -105
  305. package/dist/esm/calcite-action.entry.js +5 -1
  306. package/dist/esm/calcite-block_2.entry.js +14 -5
  307. package/dist/esm/calcite-button.entry.js +6 -2
  308. package/dist/esm/calcite-checkbox.entry.js +6 -2
  309. package/dist/esm/calcite-color-picker_3.entry.js +15 -2
  310. package/dist/esm/calcite-combobox_3.entry.js +18 -3
  311. package/dist/esm/calcite-date-picker_4.entry.js +9 -2
  312. package/dist/esm/calcite-dropdown_3.entry.js +22 -6
  313. package/dist/esm/calcite-fab.entry.js +10 -1
  314. package/dist/esm/calcite-filter.entry.js +36 -3
  315. package/dist/esm/calcite-graph_2.entry.js +4 -2
  316. package/dist/esm/calcite-inline-editable.entry.js +11 -9
  317. package/dist/esm/calcite-input-date-picker.entry.js +21 -4
  318. package/dist/esm/calcite-input-time-picker_2.entry.js +19 -3
  319. package/dist/esm/calcite-input.entry.js +6 -2
  320. package/dist/esm/calcite-label.entry.js +15 -2
  321. package/dist/esm/calcite-link.entry.js +6 -2
  322. package/dist/esm/calcite-list_3.entry.js +28 -2
  323. package/dist/esm/calcite-option_3.entry.js +6 -2
  324. package/dist/esm/calcite-panel.entry.js +12 -3
  325. package/dist/esm/calcite-pick-list_3.entry.js +10 -6
  326. package/dist/esm/calcite-radio-button.entry.js +6 -2
  327. package/dist/esm/calcite-radio-group_2.entry.js +7 -3
  328. package/dist/esm/calcite-rating.entry.js +11 -5
  329. package/dist/esm/calcite-sortable-list.entry.js +5 -1
  330. package/dist/esm/calcite-split-button.entry.js +25 -2
  331. package/dist/esm/calcite-stepper_2.entry.js +6 -2
  332. package/dist/esm/calcite-switch.entry.js +6 -9
  333. package/dist/esm/calcite-tab_4.entry.js +6 -3
  334. package/dist/esm/calcite-tile-select_2.entry.js +17 -2
  335. package/dist/esm/calcite-tile.entry.js +5 -1
  336. package/dist/esm/calcite-value-list_2.entry.js +12 -7
  337. package/dist/esm/calcite.js +1 -1
  338. package/dist/esm/interactive-48b5cc0f.js +42 -0
  339. package/dist/esm/{label-2bffc9f4.js → label-68f22660.js} +39 -7
  340. package/dist/esm/loader.js +1 -1
  341. package/dist/esm/{resources-999109fa.js → resources-77c12cea.js} +33 -9
  342. package/dist/esm-es5/calcite-action.entry.js +1 -1
  343. package/dist/esm-es5/calcite-block_2.entry.js +1 -1
  344. package/dist/esm-es5/calcite-button.entry.js +1 -1
  345. package/dist/esm-es5/calcite-checkbox.entry.js +1 -1
  346. package/dist/esm-es5/calcite-color-picker_3.entry.js +1 -1
  347. package/dist/esm-es5/calcite-combobox_3.entry.js +1 -1
  348. package/dist/esm-es5/calcite-date-picker_4.entry.js +1 -1
  349. package/dist/esm-es5/calcite-dropdown_3.entry.js +1 -1
  350. package/dist/esm-es5/calcite-fab.entry.js +2 -2
  351. package/dist/esm-es5/calcite-filter.entry.js +1 -1
  352. package/dist/esm-es5/calcite-graph_2.entry.js +1 -1
  353. package/dist/esm-es5/calcite-inline-editable.entry.js +1 -1
  354. package/dist/esm-es5/calcite-input-date-picker.entry.js +1 -1
  355. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +2 -2
  356. package/dist/esm-es5/calcite-input.entry.js +1 -1
  357. package/dist/esm-es5/calcite-label.entry.js +1 -1
  358. package/dist/esm-es5/calcite-link.entry.js +2 -2
  359. package/dist/esm-es5/calcite-list_3.entry.js +2 -2
  360. package/dist/esm-es5/calcite-option_3.entry.js +2 -2
  361. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  362. package/dist/esm-es5/calcite-pick-list_3.entry.js +2 -2
  363. package/dist/esm-es5/calcite-radio-button.entry.js +1 -1
  364. package/dist/esm-es5/calcite-radio-group_2.entry.js +1 -1
  365. package/dist/esm-es5/calcite-rating.entry.js +2 -2
  366. package/dist/esm-es5/calcite-sortable-list.entry.js +1 -1
  367. package/dist/esm-es5/calcite-split-button.entry.js +1 -1
  368. package/dist/esm-es5/calcite-stepper_2.entry.js +1 -1
  369. package/dist/esm-es5/calcite-switch.entry.js +1 -1
  370. package/dist/esm-es5/calcite-tab_4.entry.js +2 -2
  371. package/dist/esm-es5/calcite-tile-select_2.entry.js +2 -2
  372. package/dist/esm-es5/calcite-tile.entry.js +1 -1
  373. package/dist/esm-es5/calcite-value-list_2.entry.js +1 -1
  374. package/dist/esm-es5/calcite.js +1 -1
  375. package/dist/esm-es5/interactive-48b5cc0f.js +5 -0
  376. package/dist/esm-es5/label-68f22660.js +5 -0
  377. package/dist/esm-es5/loader.js +1 -1
  378. package/dist/esm-es5/resources-77c12cea.js +5 -0
  379. package/dist/extras/docs-json.json +72 -24
  380. package/dist/types/components/action/action.d.ts +3 -1
  381. package/dist/types/components/block/block.d.ts +3 -1
  382. package/dist/types/components/button/button.d.ts +3 -1
  383. package/dist/types/components/checkbox/checkbox.d.ts +3 -1
  384. package/dist/types/components/color-picker/color-picker.d.ts +9 -1
  385. package/dist/types/components/combobox/combobox.d.ts +3 -1
  386. package/dist/types/components/combobox-item/combobox-item.d.ts +3 -1
  387. package/dist/types/components/date-picker-day/date-picker-day.d.ts +4 -1
  388. package/dist/types/components/dropdown/dropdown.d.ts +4 -1
  389. package/dist/types/components/fab/fab.d.ts +3 -1
  390. package/dist/types/components/filter/filter.d.ts +5 -2
  391. package/dist/types/components/inline-editable/inline-editable.d.ts +4 -1
  392. package/dist/types/components/input/input.d.ts +3 -1
  393. package/dist/types/components/input-date-picker/input-date-picker.d.ts +4 -1
  394. package/dist/types/components/input-time-picker/input-time-picker.d.ts +5 -1
  395. package/dist/types/components/label/label.d.ts +7 -1
  396. package/dist/types/components/link/link.d.ts +3 -1
  397. package/dist/types/components/list/list.d.ts +7 -1
  398. package/dist/types/components/list-item/list-item.d.ts +3 -1
  399. package/dist/types/components/panel/panel.d.ts +3 -1
  400. package/dist/types/components/pick-list/pick-list.d.ts +3 -1
  401. package/dist/types/components/pick-list/shared-list-logic.d.ts +1 -0
  402. package/dist/types/components/pick-list-item/pick-list-item.d.ts +4 -2
  403. package/dist/types/components/radio-button/radio-button.d.ts +3 -1
  404. package/dist/types/components/radio-group/radio-group.d.ts +3 -1
  405. package/dist/types/components/rating/rating.d.ts +3 -1
  406. package/dist/types/components/select/select.d.ts +3 -1
  407. package/dist/types/components/slider/slider.d.ts +2 -1
  408. package/dist/types/components/sortable-list/sortable-list.d.ts +3 -1
  409. package/dist/types/components/split-button/split-button.d.ts +5 -1
  410. package/dist/types/components/stepper-item/stepper-item.d.ts +3 -1
  411. package/dist/types/components/switch/switch.d.ts +3 -4
  412. package/dist/types/components/tab-title/tab-title.d.ts +3 -1
  413. package/dist/types/components/tile/tile.d.ts +3 -1
  414. package/dist/types/components/tile-select/tile-select.d.ts +3 -1
  415. package/dist/types/components/tile-select-group/tile-select-group.d.ts +6 -1
  416. package/dist/types/components/value-list/value-list.d.ts +3 -1
  417. package/dist/types/components/value-list-item/value-list-item.d.ts +4 -2
  418. package/dist/types/components.d.ts +30 -4
  419. package/dist/types/utils/interactive.d.ts +28 -0
  420. package/dist/types/utils/label.d.ts +3 -1
  421. package/hydrate/index.js +451 -106
  422. package/package.json +6 -7
  423. package/dist/calcite/p-00d4b36e.entry.js +0 -5
  424. package/dist/calcite/p-02a3ad67.entry.js +0 -5
  425. package/dist/calcite/p-02cc50b9.entry.js +0 -5
  426. package/dist/calcite/p-11413626.system.entry.js +0 -5
  427. package/dist/calcite/p-12a4eac6.system.entry.js +0 -5
  428. package/dist/calcite/p-13e36552.system.entry.js +0 -5
  429. package/dist/calcite/p-1a34e1df.system.entry.js +0 -5
  430. package/dist/calcite/p-1a3a366d.system.js +0 -5
  431. package/dist/calcite/p-1fe5a777.entry.js +0 -5
  432. package/dist/calcite/p-2a3d08b7.entry.js +0 -5
  433. package/dist/calcite/p-2fbc2a9b.system.entry.js +0 -5
  434. package/dist/calcite/p-313fa6fa.system.entry.js +0 -5
  435. package/dist/calcite/p-322195bf.system.entry.js +0 -5
  436. package/dist/calcite/p-35461165.system.entry.js +0 -5
  437. package/dist/calcite/p-383b48a0.system.entry.js +0 -5
  438. package/dist/calcite/p-3a7606c8.entry.js +0 -5
  439. package/dist/calcite/p-417c7d5d.entry.js +0 -5
  440. package/dist/calcite/p-43ec3d32.system.entry.js +0 -5
  441. package/dist/calcite/p-458933db.system.entry.js +0 -5
  442. package/dist/calcite/p-4cd8449b.system.entry.js +0 -5
  443. package/dist/calcite/p-5a4b0056.system.entry.js +0 -5
  444. package/dist/calcite/p-5a7b1bd1.system.entry.js +0 -5
  445. package/dist/calcite/p-5c425028.entry.js +0 -5
  446. package/dist/calcite/p-5ecd3b72.system.entry.js +0 -5
  447. package/dist/calcite/p-633a2c7f.entry.js +0 -5
  448. package/dist/calcite/p-673a3cd9.entry.js +0 -5
  449. package/dist/calcite/p-743597e4.entry.js +0 -5
  450. package/dist/calcite/p-783bfba1.entry.js +0 -5
  451. package/dist/calcite/p-7863deb5.entry.js +0 -5
  452. package/dist/calcite/p-793659d0.entry.js +0 -5
  453. package/dist/calcite/p-7a0e8fab.system.entry.js +0 -5
  454. package/dist/calcite/p-7ccf6273.entry.js +0 -5
  455. package/dist/calcite/p-7dfe915f.entry.js +0 -5
  456. package/dist/calcite/p-802a05a2.entry.js +0 -5
  457. package/dist/calcite/p-818b3ac7.entry.js +0 -5
  458. package/dist/calcite/p-81a3de30.system.entry.js +0 -5
  459. package/dist/calcite/p-81f7b919.entry.js +0 -5
  460. package/dist/calcite/p-82c142d8.entry.js +0 -5
  461. package/dist/calcite/p-874ac36f.entry.js +0 -5
  462. package/dist/calcite/p-93bf2f70.entry.js +0 -5
  463. package/dist/calcite/p-99da584e.system.entry.js +0 -5
  464. package/dist/calcite/p-9a7c4812.js +0 -5
  465. package/dist/calcite/p-9cfa3928.entry.js +0 -5
  466. package/dist/calcite/p-9d102b23.system.entry.js +0 -5
  467. package/dist/calcite/p-9f2e3d1e.entry.js +0 -5
  468. package/dist/calcite/p-ad7fbabd.entry.js +0 -5
  469. package/dist/calcite/p-b03b03d5.entry.js +0 -5
  470. package/dist/calcite/p-b76ee102.system.entry.js +0 -5
  471. package/dist/calcite/p-bfaed65e.entry.js +0 -5
  472. package/dist/calcite/p-c6851d0b.system.entry.js +0 -5
  473. package/dist/calcite/p-d08d1450.entry.js +0 -5
  474. package/dist/calcite/p-d359def7.system.entry.js +0 -5
  475. package/dist/calcite/p-d7395b71.system.entry.js +0 -5
  476. package/dist/calcite/p-da78fbb6.system.entry.js +0 -5
  477. package/dist/calcite/p-dc9ff95e.system.entry.js +0 -5
  478. package/dist/calcite/p-dcf17450.system.entry.js +0 -5
  479. package/dist/calcite/p-de562f92.system.js +0 -5
  480. package/dist/calcite/p-e7dd0a9f.entry.js +0 -5
  481. package/dist/calcite/p-e88fd904.system.entry.js +0 -5
  482. package/dist/calcite/p-e9460f3c.js +0 -5
  483. package/dist/calcite/p-eb43eb28.system.entry.js +0 -5
  484. package/dist/calcite/p-efb21590.system.entry.js +0 -5
  485. package/dist/calcite/p-f20b0a41.system.entry.js +0 -5
  486. package/dist/calcite/p-f31de031.system.entry.js +0 -5
  487. package/dist/calcite/p-f542ba26.entry.js +0 -5
  488. package/dist/calcite/p-f9d1a58e.entry.js +0 -5
  489. package/dist/calcite/p-fad60503.entry.js +0 -5
  490. package/dist/calcite/p-fd0d5d44.system.entry.js +0 -5
  491. package/dist/esm-es5/label-2bffc9f4.js +0 -5
  492. package/dist/esm-es5/resources-999109fa.js +0 -5
@@ -2,10 +2,11 @@
2
2
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
- import { Component, Element, Event, h, Host, Method, Prop, State, Watch } from "@stencil/core";
5
+ import { Component, Element, Event, h, Host, Method, Prop, Watch } from "@stencil/core";
6
6
  import { focusElement } from "../../utils/dom";
7
7
  import { connectLabel, disconnectLabel, getLabelText } from "../../utils/label";
8
8
  import { connectForm, disconnectForm, HiddenFormInputSlot } from "../../utils/form";
9
+ import { updateHostInteraction } from "../../utils/interactive";
9
10
  export class Switch {
10
11
  constructor() {
11
12
  //--------------------------------------------------------------------------
@@ -41,9 +42,6 @@ export class Switch {
41
42
  this.switchEl = el;
42
43
  };
43
44
  }
44
- disabledWatcher(newDisabled) {
45
- this.tabindex = newDisabled ? -1 : 0;
46
- }
47
45
  switchedWatcher(switched) {
48
46
  this.checked = switched;
49
47
  }
@@ -88,8 +86,8 @@ export class Switch {
88
86
  disconnectLabel(this);
89
87
  disconnectForm(this);
90
88
  }
91
- componentWillLoad() {
92
- this.tabindex = this.el.getAttribute("tabindex") || this.disabled ? -1 : 0;
89
+ componentDidRender() {
90
+ updateHostInteraction(this);
93
91
  }
94
92
  // --------------------------------------------------------------------------
95
93
  //
@@ -98,7 +96,7 @@ export class Switch {
98
96
  // --------------------------------------------------------------------------
99
97
  render() {
100
98
  return (h(Host, { onKeyDown: this.keyDownHandler },
101
- h("div", { "aria-checked": this.checked.toString(), "aria-label": getLabelText(this), class: "container", onClick: this.clickHandler, ref: this.setSwitchEl, role: "switch", tabindex: this.tabindex },
99
+ h("div", { "aria-checked": this.checked.toString(), "aria-label": getLabelText(this), class: "container", onClick: this.clickHandler, ref: this.setSwitchEl, role: "switch", tabIndex: 0 },
102
100
  h("div", { class: "track" },
103
101
  h("div", { class: "handle" })),
104
102
  h(HiddenFormInputSlot, { component: this }))));
@@ -244,9 +242,6 @@ export class Switch {
244
242
  "reflect": false
245
243
  }
246
244
  }; }
247
- static get states() { return {
248
- "tabindex": {}
249
- }; }
250
245
  static get events() { return [{
251
246
  "method": "calciteSwitchChange",
252
247
  "name": "calciteSwitchChange",
@@ -283,9 +278,6 @@ export class Switch {
283
278
  }; }
284
279
  static get elementRef() { return "el"; }
285
280
  static get watchers() { return [{
286
- "propName": "disabled",
287
- "methodName": "disabledWatcher"
288
- }, {
289
281
  "propName": "switched",
290
282
  "methodName": "switchedWatcher"
291
283
  }]; }
@@ -129,11 +129,20 @@
129
129
 
130
130
  :host([disabled]) {
131
131
  pointer-events: none;
132
+ cursor: default;
133
+ -webkit-user-select: none;
134
+ user-select: none;
135
+ opacity: var(--calcite-ui-opacity-disabled);
132
136
  }
133
137
  :host([disabled]) span, :host([disabled]) a {
134
138
  pointer-events: none;
135
139
  opacity: 0.5;
136
140
  }
141
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
142
+ :host([disabled]) [calcite-hydrated][disabled] {
143
+ /* prevent opacity stacking */
144
+ opacity: 1;
145
+ }
137
146
 
138
147
  :host([scale=s]) {
139
148
  margin-inline-end: 1rem;
@@ -6,6 +6,7 @@ import { Component, Prop, Event, Listen, Element, Method, h, Host, State, Build,
6
6
  import { guid } from "../../utils/guid";
7
7
  import { getElementProp, getElementDir } from "../../utils/dom";
8
8
  import { createObserver } from "../../utils/observers";
9
+ import { updateHostInteraction } from "../../utils/interactive";
9
10
  /**
10
11
  * @slot - A slot for adding text.
11
12
  */
@@ -82,12 +83,11 @@ export class TabTitle {
82
83
  }
83
84
  render() {
84
85
  const id = this.el.id || this.guid;
85
- const Tag = this.disabled ? "span" : "a";
86
86
  const showSideBorders = this.bordered && !this.disabled && this.layout !== "center";
87
87
  const iconStartEl = (h("calcite-icon", { class: "calcite-tab-title--icon icon-start", flipRtl: this.iconFlipRtl === "start" || this.iconFlipRtl === "both", icon: this.iconStart, scale: "s" }));
88
88
  const iconEndEl = (h("calcite-icon", { class: "calcite-tab-title--icon icon-end", flipRtl: this.iconFlipRtl === "end" || this.iconFlipRtl === "both", icon: this.iconEnd, scale: "s" }));
89
- return (h(Host, { "aria-controls": this.controls, "aria-expanded": this.active.toString(), id: id, role: "tab", tabindex: this.disabled ? "-1" : "0" },
90
- h(Tag, { class: {
89
+ return (h(Host, { "aria-controls": this.controls, "aria-expanded": this.active.toString(), id: id, role: "tab" },
90
+ h("a", { class: {
91
91
  container: true,
92
92
  "container--has-text": this.hasText
93
93
  }, style: showSideBorders && { width: `${this.parentTabNavEl.indicatorWidth}px` } },
@@ -98,6 +98,9 @@ export class TabTitle {
98
98
  async componentDidLoad() {
99
99
  this.calciteTabTitleRegister.emit(await this.getTabIdentifier());
100
100
  }
101
+ componentDidRender() {
102
+ updateHostInteraction(this, true);
103
+ }
101
104
  //--------------------------------------------------------------------------
102
105
  //
103
106
  // Event Listeners
@@ -174,9 +174,25 @@
174
174
  padding: 0px;
175
175
  }
176
176
 
177
+ :host([icon][heading]:not([description])) .icon {
178
+ display: flex;
179
+ justify-content: center;
180
+ }
181
+ :host([icon][heading]:not([description])) .large-visual {
182
+ text-align: center;
183
+ }
184
+
177
185
  :host([disabled]) {
178
- opacity: var(--calcite-ui-opacity-disabled);
179
186
  pointer-events: none;
187
+ cursor: default;
188
+ -webkit-user-select: none;
189
+ user-select: none;
190
+ opacity: var(--calcite-ui-opacity-disabled);
191
+ }
192
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
193
+ :host([disabled]) [calcite-hydrated][disabled] {
194
+ /* prevent opacity stacking */
195
+ opacity: 1;
180
196
  }
181
197
 
182
198
  :host(:hover) .heading, :host([active]) .heading {
@@ -6,6 +6,7 @@ import { Component, Element, Fragment, h, Prop } from "@stencil/core";
6
6
  import { SLOTS } from "./resources";
7
7
  import { getSlotted } from "../../utils/dom";
8
8
  import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
9
+ import { updateHostInteraction } from "../../utils/interactive";
9
10
  /**
10
11
  * @slot content-start - A slot for adding non-actionable elements before the tile content.
11
12
  * @slot content-end - A slot for adding non-actionable elements after the tile content.
@@ -44,6 +45,9 @@ export class Tile {
44
45
  disconnectedCallback() {
45
46
  disconnectConditionalSlotComponent(this);
46
47
  }
48
+ componentDidRender() {
49
+ updateHostInteraction(this);
50
+ }
47
51
  // --------------------------------------------------------------------------
48
52
  //
49
53
  // Render Methods
@@ -174,6 +174,14 @@
174
174
  }
175
175
 
176
176
  :host([disabled]) {
177
- opacity: var(--calcite-ui-opacity-disabled);
178
177
  pointer-events: none;
178
+ cursor: default;
179
+ -webkit-user-select: none;
180
+ user-select: none;
181
+ opacity: var(--calcite-ui-opacity-disabled);
182
+ }
183
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
184
+ :host([disabled]) [calcite-hydrated][disabled] {
185
+ /* prevent opacity stacking */
186
+ opacity: 1;
179
187
  }
@@ -5,6 +5,7 @@
5
5
  import { Component, Element, Event, h, Prop, Listen, Watch, State, Method } from "@stencil/core";
6
6
  import { guid } from "../../utils/guid";
7
7
  import { CSS } from "./resources";
8
+ import { updateHostInteraction } from "../../utils/interactive";
8
9
  /**
9
10
  * @slot - A slot for adding custom content.
10
11
  */
@@ -129,6 +130,9 @@ export class TileSelect {
129
130
  disconnectedCallback() {
130
131
  this.input.parentNode.removeChild(this.input);
131
132
  }
133
+ componentDidRender() {
134
+ updateHostInteraction(this);
135
+ }
132
136
  // --------------------------------------------------------------------------
133
137
  //
134
138
  // Render Methods
@@ -89,4 +89,17 @@
89
89
 
90
90
  :host([layout=vertical]) {
91
91
  flex-direction: column;
92
+ }
93
+
94
+ :host([disabled]) {
95
+ pointer-events: none;
96
+ cursor: default;
97
+ -webkit-user-select: none;
98
+ user-select: none;
99
+ opacity: var(--calcite-ui-opacity-disabled);
100
+ }
101
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
102
+ :host([disabled]) [calcite-hydrated][disabled] {
103
+ /* prevent opacity stacking */
104
+ opacity: 1;
92
105
  }
@@ -2,7 +2,8 @@
2
2
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
4
  */
5
- import { Component, h, Prop } from "@stencil/core";
5
+ import { Component, h, Prop, Element } from "@stencil/core";
6
+ import { updateHostInteraction } from "../../utils/interactive";
6
7
  /**
7
8
  * @slot - A slot for adding `calcite-tile-select`s.
8
9
  */
@@ -13,9 +14,19 @@ export class TileSelectGroup {
13
14
  // Properties
14
15
  //
15
16
  //--------------------------------------------------------------------------
17
+ /** The disabled state of the tile select. */
18
+ this.disabled = false;
16
19
  /** Tiles by default move horizontally, stacking with each row, vertical allows single-column layouts */
17
20
  this.layout = "horizontal";
18
21
  }
22
+ //--------------------------------------------------------------------------
23
+ //
24
+ // Lifecycle
25
+ //
26
+ //--------------------------------------------------------------------------
27
+ componentDidRender() {
28
+ updateHostInteraction(this);
29
+ }
19
30
  render() {
20
31
  return h("slot", null);
21
32
  }
@@ -28,6 +39,24 @@ export class TileSelectGroup {
28
39
  "$": ["tile-select-group.css"]
29
40
  }; }
30
41
  static get properties() { return {
42
+ "disabled": {
43
+ "type": "boolean",
44
+ "mutable": false,
45
+ "complexType": {
46
+ "original": "boolean",
47
+ "resolved": "boolean",
48
+ "references": {}
49
+ },
50
+ "required": false,
51
+ "optional": false,
52
+ "docs": {
53
+ "tags": [],
54
+ "text": "The disabled state of the tile select."
55
+ },
56
+ "attribute": "disabled",
57
+ "reflect": true,
58
+ "defaultValue": "false"
59
+ },
31
60
  "layout": {
32
61
  "type": "string",
33
62
  "mutable": false,
@@ -52,4 +81,5 @@ export class TileSelectGroup {
52
81
  "defaultValue": "\"horizontal\""
53
82
  }
54
83
  }; }
84
+ static get elementRef() { return "el"; }
55
85
  }
@@ -94,6 +94,19 @@
94
94
  box-sizing: border-box;
95
95
  }
96
96
 
97
+ :host([disabled]) {
98
+ pointer-events: none;
99
+ cursor: default;
100
+ -webkit-user-select: none;
101
+ user-select: none;
102
+ opacity: var(--calcite-ui-opacity-disabled);
103
+ }
104
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
105
+ :host([disabled]) [calcite-hydrated][disabled] {
106
+ /* prevent opacity stacking */
107
+ opacity: 1;
108
+ }
109
+
97
110
  calcite-value-list-item:last-of-type {
98
111
  --tw-shadow: 0 0 #0000;
99
112
  --tw-shadow-colored: 0 0 #0000;
@@ -5,10 +5,10 @@
5
5
  import Sortable from "sortablejs";
6
6
  import { Component, Element, Event, h, Listen, Method, Prop, State } from "@stencil/core";
7
7
  import { CSS, ICON_TYPES } from "./resources";
8
- import { calciteListFocusOutHandler, calciteListItemChangeHandler, calciteListItemValueChangeHandler, cleanUpObserver, deselectSiblingItems, deselectRemovedItems, getItemData, handleFilter, initialize, initializeObserver, keyDownHandler, mutationObserverCallback, removeItem, selectSiblings, setFocus, setUpItems } from "../pick-list/shared-list-logic";
8
+ import { calciteListFocusOutHandler, calciteListItemChangeHandler, calciteListItemValueChangeHandler, cleanUpObserver, deselectSiblingItems, deselectRemovedItems, getItemData, handleFilter, initialize, initializeObserver, keyDownHandler, mutationObserverCallback, removeItem, selectSiblings, setFocus, setUpItems, moveItemIndex } from "../pick-list/shared-list-logic";
9
9
  import List from "../pick-list/shared-list-render";
10
- import { getRoundRobinIndex } from "../../utils/array";
11
10
  import { createObserver } from "../../utils/observers";
11
+ import { updateHostInteraction } from "../../utils/interactive";
12
12
  /**
13
13
  * @slot - A slot for adding `calcite-value-list-item` elements. Items are displayed as a vertical list.
14
14
  * @slot menu-actions - A slot for adding a button + menu combo for performing actions like sorting.
@@ -82,9 +82,7 @@ export class ValueList {
82
82
  }
83
83
  event.preventDefault();
84
84
  const { el } = this;
85
- const moveOffset = event.key === "ArrowDown" ? 1 : -1;
86
- const currentIndex = items.indexOf(item);
87
- const nextIndex = getRoundRobinIndex(currentIndex + moveOffset, items.length);
85
+ const nextIndex = moveItemIndex(this, item, event.key === "ArrowUp" ? "up" : "down");
88
86
  if (nextIndex === items.length - 1) {
89
87
  el.appendChild(item);
90
88
  }
@@ -113,6 +111,9 @@ export class ValueList {
113
111
  componentDidLoad() {
114
112
  this.setUpDragAndDrop();
115
113
  }
114
+ componentDidRender() {
115
+ updateHostInteraction(this);
116
+ }
116
117
  disconnectedCallback() {
117
118
  cleanUpObserver.call(this);
118
119
  this.cleanUpDragAndDrop();
@@ -140,4 +140,17 @@ calcite-pick-list-item {
140
140
  }
141
141
  .handle calcite-icon {
142
142
  color: inherit;
143
+ }
144
+
145
+ :host([disabled]) {
146
+ pointer-events: none;
147
+ cursor: default;
148
+ -webkit-user-select: none;
149
+ user-select: none;
150
+ opacity: var(--calcite-ui-opacity-disabled);
151
+ }
152
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
153
+ :host([disabled]) [calcite-hydrated][disabled] {
154
+ /* prevent opacity stacking */
155
+ opacity: 1;
143
156
  }
@@ -10,6 +10,7 @@ import { ICONS, SLOTS } from "./resources";
10
10
  import { SLOTS as PICK_LIST_SLOTS } from "../pick-list-item/resources";
11
11
  import { getSlotted } from "../../utils/dom";
12
12
  import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
13
+ import { updateHostInteraction } from "../../utils/interactive";
13
14
  /**
14
15
  * @slot actions-end - A slot for adding actions or content to the end side of the item.
15
16
  * @slot actions-start - A slot for adding actions or content to the start side of the item.
@@ -76,6 +77,9 @@ export class ValueListItem {
76
77
  disconnectedCallback() {
77
78
  disconnectConditionalSlotComponent(this);
78
79
  }
80
+ componentDidRender() {
81
+ updateHostInteraction(this, this.el.closest("calcite-value-list") ? "managed" : false);
82
+ }
79
83
  // --------------------------------------------------------------------------
80
84
  //
81
85
  // Public Methods
@@ -164,7 +168,7 @@ export class ValueListItem {
164
168
  "references": {}
165
169
  },
166
170
  "required": false,
167
- "optional": true,
171
+ "optional": false,
168
172
  "docs": {
169
173
  "tags": [],
170
174
  "text": "When true, the item cannot be clicked and is visually muted"
@@ -0,0 +1,42 @@
1
+ /*!
2
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
4
+ */
5
+ function noopClick() {
6
+ /** noop **/
7
+ }
8
+ /**
9
+ * This helper updates the host element to prevent keyboard interaction on its subtree and sets the appropriate aria attribute for accessibility.
10
+ *
11
+ * This should be used in the `componentDidRender` lifecycle hook.
12
+ *
13
+ * **Notes**
14
+ *
15
+ * * this util is not needed for simple components whose root element or elements are an interactive component (custom element or native control). For those cases, set the `disabled` props on the root components instead.
16
+ * * technically, users can override `tabindex` and restore keyboard navigation, but this will be considered user error
17
+ */
18
+ export function updateHostInteraction(component, hostIsTabbable = false) {
19
+ if (component.disabled) {
20
+ component.el.setAttribute("tabindex", "-1");
21
+ component.el.setAttribute("aria-disabled", "true");
22
+ if (component.el.contains(document.activeElement)) {
23
+ document.activeElement.blur();
24
+ }
25
+ component.el.click = noopClick;
26
+ return;
27
+ }
28
+ component.el.click = HTMLElement.prototype.click;
29
+ if (typeof hostIsTabbable === "function") {
30
+ component.el.setAttribute("tabindex", hostIsTabbable.call(component) ? "0" : "-1");
31
+ }
32
+ else if (hostIsTabbable === true) {
33
+ component.el.setAttribute("tabindex", "0");
34
+ }
35
+ else if (hostIsTabbable === false) {
36
+ component.el.removeAttribute("tabindex");
37
+ }
38
+ else {
39
+ // noop for "managed" as owning component will manage its tab index
40
+ }
41
+ component.el.removeAttribute("aria-disabled");
42
+ }
@@ -8,8 +8,11 @@ import { closestElementCrossShadowBoundary, queryElementRoots } from "./dom";
8
8
  * @internal
9
9
  */
10
10
  export const labelClickEvent = "calciteInternalLabelClick";
11
+ export const labelConnectedEvent = "calciteInternalLabelConnected";
12
+ export const labelDisconnectedEvent = "calciteInternaLabelDisconnected";
11
13
  const labelTagName = "calcite-label";
12
14
  const onLabelClickMap = new WeakMap();
15
+ const unlabeledComponents = new Set();
13
16
  const findLabelForComponent = (componentEl) => {
14
17
  const { id } = componentEl;
15
18
  const forLabel = id && queryElementRoots(componentEl, { selector: `${labelTagName}[for="${id}"]` });
@@ -45,18 +48,37 @@ function hasAncestorCustomElements(label, componentEl) {
45
48
  */
46
49
  export function connectLabel(component) {
47
50
  const labelEl = findLabelForComponent(component.el);
48
- if (!labelEl || onLabelClickMap.has(labelEl)) {
51
+ if (onLabelClickMap.has(labelEl)) {
49
52
  return;
50
53
  }
51
- component.labelEl = labelEl;
52
- const boundOnLabelClick = onLabelClick.bind(component);
53
- onLabelClickMap.set(component.labelEl, boundOnLabelClick);
54
- component.labelEl.addEventListener(labelClickEvent, boundOnLabelClick);
54
+ const boundOnLabelConnected = onLabelConnected.bind(component);
55
+ const boundOnLabelDisconnected = onLabelDisconnected.bind(component);
56
+ if (labelEl) {
57
+ const addClickEventListenerToComponentLabel = () => {
58
+ component.labelEl = labelEl;
59
+ const boundOnLabelClick = onLabelClick.bind(component);
60
+ onLabelClickMap.set(component.labelEl, boundOnLabelClick);
61
+ component.labelEl.addEventListener(labelClickEvent, boundOnLabelClick);
62
+ };
63
+ addClickEventListenerToComponentLabel();
64
+ unlabeledComponents.delete(component);
65
+ document.removeEventListener(labelConnectedEvent, boundOnLabelConnected);
66
+ document.addEventListener(labelDisconnectedEvent, boundOnLabelDisconnected);
67
+ }
68
+ else if (!labelEl && !unlabeledComponents.has(component)) {
69
+ boundOnLabelDisconnected();
70
+ document.removeEventListener(labelDisconnectedEvent, boundOnLabelDisconnected);
71
+ }
55
72
  }
56
73
  /**
57
- * Helper to tear down label interactions on disconnectedCallback.
74
+ * Helper to tear down label interactions on disconnectedCallback on labelable components.
58
75
  */
59
76
  export function disconnectLabel(component) {
77
+ const boundOnLabelConnected = onLabelConnected.bind(component);
78
+ const boundOnLabelDisconnected = onLabelDisconnected.bind(component);
79
+ unlabeledComponents.delete(component);
80
+ document.removeEventListener(labelConnectedEvent, boundOnLabelConnected);
81
+ document.removeEventListener(labelDisconnectedEvent, boundOnLabelDisconnected);
60
82
  if (!component.labelEl) {
61
83
  return;
62
84
  }
@@ -81,3 +103,13 @@ function onLabelClick(event) {
81
103
  }
82
104
  this.onLabelClick(event);
83
105
  }
106
+ function onLabelConnected() {
107
+ if (unlabeledComponents.has(this)) {
108
+ connectLabel(this);
109
+ }
110
+ }
111
+ function onLabelDisconnected() {
112
+ unlabeledComponents.add(this);
113
+ const boundOnLabelConnected = onLabelConnected.bind(this);
114
+ document.addEventListener(labelConnectedEvent, boundOnLabelConnected);
115
+ }
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { HTMLElement, createEvent, forceUpdate, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
6
6
  import { c as createObserver } from './observers.js';
7
+ import { u as updateHostInteraction } from './interactive.js';
7
8
  import { d as defineCustomElement$2 } from './icon.js';
8
9
  import { d as defineCustomElement$1 } from './loader.js';
9
10
 
@@ -21,7 +22,7 @@ const TEXT = {
21
22
  loading: "Loading"
22
23
  };
23
24
 
24
- const actionCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:host{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;background-color:transparent}:host([disabled]){pointer-events:none}.button{position:relative;margin:0px;display:-ms-flexbox;display:flex;width:auto;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;border-style:none;background-color:var(--calcite-ui-foreground-1);fill:var(--calcite-ui-text-3);font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-3);outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;text-align:unset;-ms-flex:1 0 auto;flex:1 0 auto}.button:hover{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}.button:focus{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1);outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.button:active{background-color:var(--calcite-ui-foreground-3)}.button .icon-container{pointer-events:none;margin:0px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:1rem;min-height:1rem}.button .text-container{margin:0px;width:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1rem;opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:margin;transition-property:margin;-webkit-transition-property:width;transition-property:width}.button .text-container--visible{width:auto;-ms-flex:1 1 auto;flex:1 1 auto;opacity:1}:host([scale=s]) .button{padding:0.5rem;font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=s]) .button--text-visible .icon-container{-webkit-margin-end:0.5rem;margin-inline-end:0.5rem}:host([scale=m]) .button{padding:1rem;font-size:var(--calcite-font-size--1);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=m]) .button--text-visible .icon-container{-webkit-margin-end:0.75rem;margin-inline-end:0.75rem}:host([scale=l]) .button{padding:1.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=l]) .button--text-visible .icon-container{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([alignment=center]) .button{-ms-flex-pack:center;justify-content:center}:host([alignment=end]) .button{-ms-flex-pack:end;justify-content:flex-end}:host([alignment=center]) .button .text-container--visible,:host([alignment=end]) .button .text-container--visible{-ms-flex:0 1 auto;flex:0 1 auto}:host([scale=s][compact]) .button,:host([scale=m][compact]) .button,:host([scale=l][compact]) .button{padding-left:0px;padding-right:0px}.slot-container{display:-ms-flexbox;display:flex}.slot-container--hidden{display:none}.button--text-visible{width:100%}:host([active]) .button,:host([active]) .button:hover,:host([active]) .button:focus,:host([active][loading]) .button{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([active]) .button:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=clear]) .button{background-color:transparent;-webkit-transition-property:-webkit-box-shadow;transition-property:-webkit-box-shadow;transition-property:box-shadow;transition-property:box-shadow, -webkit-box-shadow;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}:host([appearance=clear]) .button:hover,:host([appearance=clear]) .button:focus{background-color:transparent;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset;box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset}:host([active][appearance=clear]) .button,:host([active][appearance=clear]) .button:hover,:host([active][appearance=clear]) .button:focus{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([appearance=clear][loading]) .button,:host([appearance=clear][disabled]) .button{background-color:transparent}:host([loading]) .button,:host([loading]) .button:hover,:host([loading]) .button:focus{background-color:var(--calcite-ui-foreground-1)}:host([loading]) .button .text-container,:host([loading]) .button:hover .text-container,:host([loading]) .button:focus .text-container{opacity:var(--calcite-ui-opacity-disabled)}:host([loading]) calcite-loader[inline]{margin-right:0px;color:var(--calcite-ui-text-3)}:host([disabled]) .button,:host([disabled]) .button:hover,:host([disabled]) .button:focus{cursor:default;background-color:var(--calcite-ui-foreground-1);opacity:var(--calcite-ui-opacity-disabled)}:host([disabled][active]) .button,:host([disabled][active]) .button:hover,:host([disabled][active]) .button:focus{background-color:var(--calcite-ui-foreground-3);opacity:var(--calcite-ui-opacity-disabled)}:host([indicator]) .button::after{content:\"\";position:absolute;z-index:10;height:0.5rem;width:0.5rem;border-radius:9999px;border-width:2px;background-color:var(--calcite-ui-brand);border-color:var(--calcite-ui-foreground-1);inset-block-end:0.75rem;inset-inline-end:0.75rem}:host([indicator]) .button--text-visible::after{inset-block-end:auto}:host([indicator]) .button--text-visible .text-container--visible{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([indicator]) .button:hover::after,:host([indicator]) .button:focus::after{border-color:var(--calcite-ui-foreground-1)}:host([indicator][scale=s]) .button::after{inset-block-end:0.25rem;inset-inline-end:0.25rem}:host([indicator][scale=s]) .button--text-visible::after{inset-block-end:auto;inset-inline-end:0.5rem}:host([indicator][active]) .button::after{border-color:var(--calcite-ui-foreground-3)}";
25
+ const actionCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:host{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;background-color:transparent}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.button{position:relative;margin:0px;display:-ms-flexbox;display:flex;width:auto;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;border-style:none;background-color:var(--calcite-ui-foreground-1);fill:var(--calcite-ui-text-3);font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-3);outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;text-align:unset;-ms-flex:1 0 auto;flex:1 0 auto}.button:hover{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}.button:focus{background-color:var(--calcite-ui-foreground-2);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1);outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.button:active{background-color:var(--calcite-ui-foreground-3)}.button .icon-container{pointer-events:none;margin:0px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:1rem;min-height:1rem}.button .text-container{margin:0px;width:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1rem;opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-property:margin;transition-property:margin;-webkit-transition-property:width;transition-property:width}.button .text-container--visible{width:auto;-ms-flex:1 1 auto;flex:1 1 auto;opacity:1}:host([scale=s]) .button{padding:0.5rem;font-size:var(--calcite-font-size--2);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=s]) .button--text-visible .icon-container{-webkit-margin-end:0.5rem;margin-inline-end:0.5rem}:host([scale=m]) .button{padding:1rem;font-size:var(--calcite-font-size--1);line-height:1rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=m]) .button--text-visible .icon-container{-webkit-margin-end:0.75rem;margin-inline-end:0.75rem}:host([scale=l]) .button{padding:1.25rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;font-weight:var(--calcite-font-weight-normal)}:host([scale=l]) .button--text-visible .icon-container{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([alignment=center]) .button{-ms-flex-pack:center;justify-content:center}:host([alignment=end]) .button{-ms-flex-pack:end;justify-content:flex-end}:host([alignment=center]) .button .text-container--visible,:host([alignment=end]) .button .text-container--visible{-ms-flex:0 1 auto;flex:0 1 auto}:host([scale=s][compact]) .button,:host([scale=m][compact]) .button,:host([scale=l][compact]) .button{padding-left:0px;padding-right:0px}.slot-container{display:-ms-flexbox;display:flex}.slot-container--hidden{display:none}.button--text-visible{width:100%}:host([active]) .button,:host([active]) .button:hover,:host([active]) .button:focus,:host([active][loading]) .button{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([active]) .button:active{background-color:var(--calcite-ui-foreground-1)}:host([appearance=clear]) .button{background-color:transparent;-webkit-transition-property:-webkit-box-shadow;transition-property:-webkit-box-shadow;transition-property:box-shadow;transition-property:box-shadow, -webkit-box-shadow;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}:host([appearance=clear]) .button:hover,:host([appearance=clear]) .button:focus{background-color:transparent;-webkit-box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset;box-shadow:0 0 0 2px var(--calcite-ui-border-1) inset}:host([active][appearance=clear]) .button,:host([active][appearance=clear]) .button:hover,:host([active][appearance=clear]) .button:focus{background-color:var(--calcite-ui-foreground-3);fill:var(--calcite-ui-text-1);color:var(--calcite-ui-text-1)}:host([appearance=clear][loading]) .button,:host([appearance=clear][disabled]) .button{background-color:transparent}:host([loading]) .button,:host([loading]) .button:hover,:host([loading]) .button:focus{background-color:var(--calcite-ui-foreground-1)}:host([loading]) .button .text-container,:host([loading]) .button:hover .text-container,:host([loading]) .button:focus .text-container{opacity:var(--calcite-ui-opacity-disabled)}:host([loading]) calcite-loader[inline]{margin-right:0px;color:var(--calcite-ui-text-3)}:host([disabled]) .button,:host([disabled]) .button:hover,:host([disabled]) .button:focus{cursor:default;background-color:var(--calcite-ui-foreground-1);opacity:var(--calcite-ui-opacity-disabled)}:host([disabled][active]) .button,:host([disabled][active]) .button:hover,:host([disabled][active]) .button:focus{background-color:var(--calcite-ui-foreground-3);opacity:var(--calcite-ui-opacity-disabled)}:host([indicator]) .button::after{content:\"\";position:absolute;z-index:10;height:0.5rem;width:0.5rem;border-radius:9999px;border-width:2px;background-color:var(--calcite-ui-brand);border-color:var(--calcite-ui-foreground-1);inset-block-end:0.75rem;inset-inline-end:0.75rem}:host([indicator]) .button--text-visible::after{inset-block-end:auto}:host([indicator]) .button--text-visible .text-container--visible{-webkit-margin-end:1rem;margin-inline-end:1rem}:host([indicator]) .button:hover::after,:host([indicator]) .button:focus::after{border-color:var(--calcite-ui-foreground-1)}:host([indicator][scale=s]) .button::after{inset-block-end:0.25rem;inset-inline-end:0.25rem}:host([indicator][scale=s]) .button--text-visible::after{inset-block-end:auto;inset-inline-end:0.5rem}:host([indicator][active]) .button::after{border-color:var(--calcite-ui-foreground-3)}";
25
26
 
26
27
  let Action = class extends HTMLElement {
27
28
  constructor() {
@@ -93,6 +94,9 @@ let Action = class extends HTMLElement {
93
94
  var _a;
94
95
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
95
96
  }
97
+ componentDidRender() {
98
+ updateHostInteraction(this);
99
+ }
96
100
  // --------------------------------------------------------------------------
97
101
  //
98
102
  // Methods