@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
@@ -95,6 +95,19 @@
95
95
  box-sizing: border-box;
96
96
  }
97
97
 
98
+ :host([disabled]) {
99
+ pointer-events: none;
100
+ cursor: default;
101
+ -webkit-user-select: none;
102
+ user-select: none;
103
+ opacity: var(--calcite-ui-opacity-disabled);
104
+ }
105
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
106
+ :host([disabled]) [calcite-hydrated][disabled] {
107
+ /* prevent opacity stacking */
108
+ opacity: 1;
109
+ }
110
+
98
111
  :host([filter-enabled]) header {
99
112
  margin-bottom: 0.25rem;
100
113
  display: flex;
@@ -7,6 +7,7 @@ import { ICON_TYPES } from "./resources";
7
7
  import { calciteListItemChangeHandler, calciteListItemValueChangeHandler, cleanUpObserver, deselectSiblingItems, deselectRemovedItems, getItemData, handleFilter, calciteListFocusOutHandler, initialize, initializeObserver, mutationObserverCallback, selectSiblings, setUpItems, keyDownHandler, setFocus, removeItem } from "./shared-list-logic";
8
8
  import List from "./shared-list-render";
9
9
  import { createObserver } from "../../utils/observers";
10
+ import { updateHostInteraction } from "../../utils/interactive";
10
11
  /**
11
12
  * @slot - A slot for adding `calcite-pick-list-item` elements or `calcite-pick-list-group` elements. Items are displayed as a vertical list.
12
13
  * @slot menu-actions - A slot for adding a button + menu combo for performing actions like sorting.
@@ -72,6 +73,9 @@ export class PickList {
72
73
  disconnectedCallback() {
73
74
  cleanUpObserver.call(this);
74
75
  }
76
+ componentDidRender() {
77
+ updateHostInteraction(this);
78
+ }
75
79
  calciteListItemRemoveHandler(event) {
76
80
  removeItem.call(this, event);
77
81
  }
@@ -88,7 +88,7 @@ export function calciteListFocusOutHandler(event) {
88
88
  if (focusedInside) {
89
89
  return;
90
90
  }
91
- items.forEach((item) => {
91
+ filterOutDisabled(items).forEach((item) => {
92
92
  toggleSingleSelectItemTabbing(item, selectedValues.size === 0 ? item.contains(event.target) || event.target === item : item.selected);
93
93
  });
94
94
  }
@@ -104,7 +104,7 @@ export function keyDownHandler(event) {
104
104
  return;
105
105
  }
106
106
  event.preventDefault();
107
- const index = getRoundRobinIndex(currentIndex + (key === "ArrowUp" ? -1 : 1), totalItems);
107
+ const index = moveItemIndex(this, target, key === "ArrowUp" ? "up" : "down");
108
108
  const item = items[index];
109
109
  items.forEach((i) => toggleSingleSelectItemTabbing(i, i === item));
110
110
  if (!multiple && selectionFollowsFocus) {
@@ -112,6 +112,25 @@ export function keyDownHandler(event) {
112
112
  }
113
113
  focusElement(item);
114
114
  }
115
+ export function moveItemIndex(list, item, direction) {
116
+ const { items } = list;
117
+ const { length: totalItems } = items;
118
+ const currentIndex = items.indexOf(item);
119
+ const directionFactor = direction === "up" ? -1 : 1;
120
+ let moveOffset = 1;
121
+ let index = getRoundRobinIndex(currentIndex + directionFactor * moveOffset++, totalItems);
122
+ const firstMovedIndex = index;
123
+ while (items[index].disabled) {
124
+ index = getRoundRobinIndex(currentIndex + directionFactor * moveOffset++, totalItems);
125
+ if (index === firstMovedIndex) {
126
+ break;
127
+ }
128
+ }
129
+ return index;
130
+ }
131
+ function filterOutDisabled(items) {
132
+ return items.filter((item) => !item.disabled);
133
+ }
115
134
  export function internalCalciteListChangeEvent() {
116
135
  this.calciteListChange.emit(this.selectedValues);
117
136
  }
@@ -132,6 +151,9 @@ export function removeItem(event) {
132
151
  this.emitCalciteListChange();
133
152
  }
134
153
  function toggleSingleSelectItemTabbing(item, selectable) {
154
+ if (item.disabled) {
155
+ return;
156
+ }
135
157
  // using attribute intentionally
136
158
  if (selectable) {
137
159
  item.removeAttribute("tabindex");
@@ -141,6 +163,7 @@ function toggleSingleSelectItemTabbing(item, selectable) {
141
163
  }
142
164
  }
143
165
  export async function setFocus(focusId) {
166
+ var _a;
144
167
  if (this.filterEnabled && focusId === "filter") {
145
168
  await focusElement(this.filterEl);
146
169
  return;
@@ -150,10 +173,11 @@ export async function setFocus(focusId) {
150
173
  return;
151
174
  }
152
175
  if (multiple) {
153
- return items[0].setFocus();
176
+ return (_a = filterOutDisabled(items)[0]) === null || _a === void 0 ? void 0 : _a.setFocus();
154
177
  }
155
- const focusTarget = items.find((item) => item.selected) || items[0];
156
- if (selectionFollowsFocus) {
178
+ const filtered = filterOutDisabled(items);
179
+ const focusTarget = filtered.find((item) => item.selected) || filtered[0];
180
+ if (selectionFollowsFocus && focusTarget) {
157
181
  focusTarget.selected = true;
158
182
  }
159
183
  return focusTarget.setFocus();
@@ -175,7 +199,7 @@ export function setUpItems(tagName) {
175
199
  }
176
200
  });
177
201
  const [first] = items;
178
- if (!hasSelected && first) {
202
+ if (!hasSelected && first && !first.disabled) {
179
203
  toggleSingleSelectItemTabbing(first, true);
180
204
  }
181
205
  }
@@ -18,12 +18,12 @@ import { CSS, SLOTS } from "./resources";
18
18
  export const List = (_a) => {
19
19
  var { props: { disabled, loading, filterEnabled, dataForFilter, handleFilter, filterPlaceholder, setFilterEl } } = _a, rest = __rest(_a, ["props"]);
20
20
  const defaultSlot = h("slot", null);
21
- return (h(Host, Object.assign({ "aria-busy": loading.toString(), "aria-disabled": disabled.toString(), role: "menu" }, rest),
21
+ return (h(Host, Object.assign({ "aria-busy": loading.toString(), role: "menu" }, rest),
22
22
  h("section", null,
23
23
  h("header", { class: { [CSS.sticky]: true } },
24
24
  filterEnabled ? (h("calcite-filter", { "aria-label": filterPlaceholder, disabled: loading || disabled, items: dataForFilter, onCalciteFilterChange: handleFilter, placeholder: filterPlaceholder, ref: setFilterEl })) : null,
25
25
  h("slot", { name: SLOTS.menuActions })),
26
- loading || disabled ? h("calcite-scrim", { loading: loading }) : null,
26
+ loading ? h("calcite-scrim", { loading: loading }) : null,
27
27
  defaultSlot)));
28
28
  };
29
29
  export default List;
@@ -198,4 +198,17 @@
198
198
 
199
199
  .actions--start ~ .label {
200
200
  padding-inline-start: 0.25rem;
201
+ }
202
+
203
+ :host([disabled]){
204
+ pointer-events: none;
205
+ cursor: default;
206
+ -webkit-user-select: none;
207
+ user-select: none;
208
+ opacity: var(--calcite-ui-opacity-disabled);
209
+ }
210
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
211
+ :host([disabled]) [calcite-hydrated][disabled] {
212
+ /* prevent opacity stacking */
213
+ opacity: 1;
201
214
  }
@@ -7,6 +7,7 @@ import { CSS, ICONS, SLOTS, TEXT } from "./resources";
7
7
  import { ICON_TYPES } from "../pick-list/resources";
8
8
  import { getSlotted } from "../../utils/dom";
9
9
  import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
10
+ import { updateHostInteraction } from "../../utils/interactive";
10
11
  /**
11
12
  * @slot actions-end - a slot for adding actions or content to the end side of the item.
12
13
  * @slot actions-start - a slot for adding actions or content to the start side of the item.
@@ -100,6 +101,9 @@ export class PickListItem {
100
101
  disconnectedCallback() {
101
102
  disconnectConditionalSlotComponent(this);
102
103
  }
104
+ componentDidRender() {
105
+ updateHostInteraction(this, this.el.closest("calcite-pick-list") ? "managed" : false);
106
+ }
103
107
  // --------------------------------------------------------------------------
104
108
  //
105
109
  // Public Methods
@@ -110,9 +114,6 @@ export class PickListItem {
110
114
  * The first argument allows the value to be coerced, rather than swapping values.
111
115
  */
112
116
  async toggleSelected(coerce) {
113
- if (this.disabled) {
114
- return;
115
- }
116
117
  this.selected = typeof coerce === "boolean" ? coerce : !this.selected;
117
118
  }
118
119
  /** Sets focus on the component. */
@@ -197,7 +198,7 @@ export class PickListItem {
197
198
  "references": {}
198
199
  },
199
200
  "required": false,
200
- "optional": true,
201
+ "optional": false,
201
202
  "docs": {
202
203
  "tags": [],
203
204
  "text": "When true, the item cannot be clicked and is visually muted."
@@ -103,12 +103,21 @@
103
103
  }
104
104
 
105
105
  :host([disabled]) {
106
- cursor: pointer;
106
+ pointer-events: none;
107
+ cursor: default;
108
+ -webkit-user-select: none;
109
+ user-select: none;
110
+ opacity: var(--calcite-ui-opacity-disabled);
107
111
  }
108
112
  :host([disabled]) .radio {
109
113
  cursor: default;
110
114
  opacity: var(--calcite-ui-opacity-disabled);
111
115
  }
116
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
117
+ :host([disabled]) [calcite-hydrated][disabled] {
118
+ /* prevent opacity stacking */
119
+ opacity: 1;
120
+ }
112
121
 
113
122
  :host([hovered][disabled]) .radio {
114
123
  box-shadow: inset 0 0 0 1px var(--calcite-ui-border-input);
@@ -9,6 +9,7 @@ import { connectLabel, disconnectLabel, getLabelText } from "../../utils/label";
9
9
  import { HiddenFormInputSlot, connectForm, disconnectForm } from "../../utils/form";
10
10
  import { CSS } from "./resources";
11
11
  import { getRoundRobinIndex } from "../../utils/array";
12
+ import { updateHostInteraction } from "../../utils/interactive";
12
13
  export class RadioButton {
13
14
  constructor() {
14
15
  //--------------------------------------------------------------------------
@@ -232,6 +233,9 @@ export class RadioButton {
232
233
  disconnectLabel(this);
233
234
  disconnectForm(this);
234
235
  }
236
+ componentDidRender() {
237
+ updateHostInteraction(this);
238
+ }
235
239
  // --------------------------------------------------------------------------
236
240
  //
237
241
  // Render Methods
@@ -87,6 +87,19 @@
87
87
  outline-offset: -1px;
88
88
  }
89
89
 
90
+ :host([disabled]) {
91
+ pointer-events: none;
92
+ cursor: default;
93
+ -webkit-user-select: none;
94
+ user-select: none;
95
+ opacity: var(--calcite-ui-opacity-disabled);
96
+ }
97
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
98
+ :host([disabled]) [calcite-hydrated][disabled] {
99
+ /* prevent opacity stacking */
100
+ opacity: 1;
101
+ }
102
+
90
103
  :host([layout=vertical]) {
91
104
  flex-direction: column;
92
105
  align-items: flex-start;
@@ -110,11 +123,6 @@
110
123
  z-index: 0;
111
124
  }
112
125
 
113
- :host([disabled]) {
114
- pointer-events: none;
115
- opacity: var(--calcite-ui-opacity-disabled);
116
- }
117
-
118
126
  ::slotted(input[slot=hidden-form-input]) {
119
127
  bottom: 0 !important;
120
128
  left: 0 !important;
@@ -6,6 +6,7 @@ import { Component, Event, h, Listen, Element, Prop, Watch, Host, Build, Method
6
6
  import { getElementDir } from "../../utils/dom";
7
7
  import { connectLabel, disconnectLabel } from "../../utils/label";
8
8
  import { connectForm, disconnectForm, HiddenFormInputSlot } from "../../utils/form";
9
+ import { updateHostInteraction } from "../../utils/interactive";
9
10
  /**
10
11
  * @slot - A slot for adding `calcite-radio-group-item`s.
11
12
  */
@@ -90,8 +91,11 @@ export class RadioGroup {
90
91
  disconnectLabel(this);
91
92
  disconnectForm(this);
92
93
  }
94
+ componentDidRender() {
95
+ updateHostInteraction(this);
96
+ }
93
97
  render() {
94
- return (h(Host, { onClick: this.handleClick, role: "radiogroup", tabIndex: this.disabled ? -1 : null },
98
+ return (h(Host, { onClick: this.handleClick, role: "radiogroup" },
95
99
  h("slot", null),
96
100
  h(HiddenFormInputSlot, { component: this })));
97
101
  }
@@ -93,6 +93,19 @@
93
93
  width: fit-content;
94
94
  }
95
95
 
96
+ :host([disabled]) {
97
+ pointer-events: none;
98
+ cursor: default;
99
+ -webkit-user-select: none;
100
+ user-select: none;
101
+ opacity: var(--calcite-ui-opacity-disabled);
102
+ }
103
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
104
+ :host([disabled]) [calcite-hydrated][disabled] {
105
+ /* prevent opacity stacking */
106
+ opacity: 1;
107
+ }
108
+
96
109
  :host([scale=s]) {
97
110
  height: 1.5rem;
98
111
  --calcite-rating-spacing-unit: 0.25rem;
@@ -108,11 +121,6 @@
108
121
  --calcite-rating-spacing-unit: 0.75rem;
109
122
  }
110
123
 
111
- :host([disabled]) {
112
- pointer-events: none;
113
- opacity: 0.5;
114
- }
115
-
116
124
  :host([read-only]) {
117
125
  pointer-events: none;
118
126
  }
@@ -7,6 +7,7 @@ import { guid } from "../../utils/guid";
7
7
  import { connectLabel, disconnectLabel } from "../../utils/label";
8
8
  import { connectForm, disconnectForm, HiddenFormInputSlot } from "../../utils/form";
9
9
  import { TEXT } from "./resources";
10
+ import { updateHostInteraction } from "../../utils/interactive";
10
11
  export class Rating {
11
12
  constructor() {
12
13
  // --------------------------------------------------------------------------
@@ -53,6 +54,9 @@ export class Rating {
53
54
  disconnectLabel(this);
54
55
  disconnectForm(this);
55
56
  }
57
+ componentDidRender() {
58
+ updateHostInteraction(this);
59
+ }
56
60
  //--------------------------------------------------------------------------
57
61
  //
58
62
  // Event Listeners
@@ -82,16 +86,18 @@ export class Rating {
82
86
  partial && (h("div", { class: "fraction", style: { width: `${fraction * 100}%` } },
83
87
  h("calcite-icon", { icon: "star-f", scale: this.scale }))),
84
88
  h("span", { class: "visually-hidden" }, this.intlStars.replace("${num}", `${i}`))),
85
- h("input", { checked: i === this.value, class: "visually-hidden", disabled: this.disabled || this.readOnly, id: `${this.guid}-${i}`, name: this.guid, onChange: () => this.updateValue(i), onFocus: () => {
89
+ h("input", { checked: i === this.value, class: "visually-hidden", disabled: this.disabled || this.readOnly, id: `${this.guid}-${i}`, name: this.guid, onChange: () => this.updateValue(i), onClick: (event) =>
90
+ // click is fired from the the component's label, so we treat this as an internal event
91
+ event.stopPropagation(), onFocus: () => {
86
92
  this.hasFocus = true;
87
93
  this.focusValue = i;
88
94
  }, ref: (el) => (i === 1 || i === this.value) && (this.inputFocusRef = el), type: "radio", value: i })));
89
95
  });
90
96
  }
91
97
  render() {
92
- const { intlRating, showChip, scale, count, average } = this;
98
+ const { disabled, intlRating, showChip, scale, count, average } = this;
93
99
  return (h(Fragment, null,
94
- h("fieldset", { class: "fieldset", onBlur: () => (this.hoverValue = null), onMouseLeave: () => (this.hoverValue = null), onTouchEnd: () => (this.hoverValue = null) },
100
+ h("fieldset", { class: "fieldset", disabled: disabled, onBlur: () => (this.hoverValue = null), onMouseLeave: () => (this.hoverValue = null), onTouchEnd: () => (this.hoverValue = null) },
95
101
  h("legend", { class: "visually-hidden" }, intlRating),
96
102
  this.renderStars()),
97
103
  (count || average) && showChip ? (h("calcite-chip", { scale: scale, value: count === null || count === void 0 ? void 0 : count.toString() },
@@ -109,6 +109,19 @@
109
109
  width: var(--select-width);
110
110
  }
111
111
 
112
+ :host([disabled]) {
113
+ pointer-events: none;
114
+ cursor: default;
115
+ -webkit-user-select: none;
116
+ user-select: none;
117
+ opacity: var(--calcite-ui-opacity-disabled);
118
+ }
119
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
120
+ :host([disabled]) [calcite-hydrated][disabled] {
121
+ /* prevent opacity stacking */
122
+ opacity: 1;
123
+ }
124
+
112
125
  :host([scale=s]) {
113
126
  height: 1.5rem;
114
127
  --calcite-select-font-size: var(--calcite-font-size--2);
@@ -188,13 +201,6 @@ select:disabled {
188
201
  --tw-bg-opacity: 1;
189
202
  }
190
203
 
191
- :host([disabled]) {
192
- pointer-events: none;
193
- -webkit-user-select: none;
194
- user-select: none;
195
- opacity: var(--calcite-ui-opacity-disabled);
196
- }
197
-
198
204
  .icon-container {
199
205
  pointer-events: none;
200
206
  position: absolute;
@@ -8,6 +8,7 @@ import { connectLabel, disconnectLabel } from "../../utils/label";
8
8
  import { afterConnectDefaultValueSet, connectForm, disconnectForm, HiddenFormInputSlot } from "../../utils/form";
9
9
  import { CSS } from "./resources";
10
10
  import { createObserver } from "../../utils/observers";
11
+ import { updateHostInteraction } from "../../utils/interactive";
11
12
  function isOption(optionOrGroup) {
12
13
  return optionOrGroup.tagName === "CALCITE-OPTION";
13
14
  }
@@ -98,6 +99,9 @@ export class Select {
98
99
  var _a, _b;
99
100
  afterConnectDefaultValueSet(this, (_b = (_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "");
100
101
  }
102
+ componentDidRender() {
103
+ updateHostInteraction(this);
104
+ }
101
105
  //--------------------------------------------------------------------------
102
106
  //
103
107
  // Public Methods
@@ -128,12 +128,20 @@
128
128
 
129
129
  :host([disabled]){
130
130
  pointer-events: none;
131
+ cursor: default;
132
+ -webkit-user-select: none;
133
+ user-select: none;
131
134
  opacity: var(--calcite-ui-opacity-disabled);
132
135
  }
133
136
  :host([disabled]) .track__range,
134
137
  :host([disabled]) .tick--active {
135
138
  background-color: var(--calcite-ui-text-3);
136
139
  }
140
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
141
+ :host([disabled]) [calcite-hydrated][disabled] {
142
+ /* prevent opacity stacking */
143
+ opacity: 1;
144
+ }
137
145
 
138
146
  .scale--s .thumb:not(.thumb--precise) {
139
147
  --calcite-slider-thumb-y-offset: -6px;
@@ -8,6 +8,7 @@ import { intersects } from "../../utils/dom";
8
8
  import { clamp, decimalPlaces } from "../../utils/math";
9
9
  import { connectLabel, disconnectLabel } from "../../utils/label";
10
10
  import { afterConnectDefaultValueSet, connectForm, disconnectForm, HiddenFormInputSlot } from "../../utils/form";
11
+ import { updateHostInteraction } from "../../utils/interactive";
11
12
  export class Slider {
12
13
  constructor() {
13
14
  //--------------------------------------------------------------------------
@@ -143,6 +144,7 @@ export class Slider {
143
144
  }
144
145
  }
145
146
  this.hideObscuredBoundingTickLabels();
147
+ updateHostInteraction(this);
146
148
  }
147
149
  render() {
148
150
  const id = this.el.id || this.guid;
@@ -82,6 +82,19 @@
82
82
  display: flex;
83
83
  }
84
84
 
85
+ :host([disabled]) {
86
+ pointer-events: none;
87
+ cursor: default;
88
+ -webkit-user-select: none;
89
+ user-select: none;
90
+ opacity: var(--calcite-ui-opacity-disabled);
91
+ }
92
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
93
+ :host([disabled]) [calcite-hydrated][disabled] {
94
+ /* prevent opacity stacking */
95
+ opacity: 1;
96
+ }
97
+
85
98
  .container {
86
99
  display: flex;
87
100
  flex: 1 1 auto;
@@ -6,6 +6,7 @@ import Sortable from "sortablejs";
6
6
  import { Component, Element, Event, Listen, Prop, State, h } from "@stencil/core";
7
7
  import { createObserver } from "../../utils/observers";
8
8
  import { CSS } from "./resources";
9
+ import { updateHostInteraction } from "../../utils/interactive";
9
10
  /**
10
11
  * @slot - A slot for adding sortable items.
11
12
  */
@@ -50,6 +51,9 @@ export class SortableList {
50
51
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
51
52
  this.cleanUpDragAndDrop();
52
53
  }
54
+ componentDidRender() {
55
+ updateHostInteraction(this);
56
+ }
53
57
  calciteHandleNudgeHandler(event) {
54
58
  var _a;
55
59
  const sortItem = this.items.find((item) => {
@@ -206,9 +206,21 @@
206
206
  background-color: var(--calcite-split-button-divider);
207
207
  }
208
208
 
209
+ :host([disabled]) {
210
+ pointer-events: none;
211
+ cursor: default;
212
+ -webkit-user-select: none;
213
+ user-select: none;
214
+ opacity: var(--calcite-ui-opacity-disabled);
215
+ }
209
216
  :host([disabled]) .split-button__divider-container {
210
217
  opacity: var(--calcite-ui-opacity-disabled);
211
218
  }
212
219
  :host([disabled]) calcite-dropdown > calcite-button {
213
220
  pointer-events: none;
221
+ }
222
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
223
+ :host([disabled]) [calcite-hydrated][disabled] {
224
+ /* prevent opacity stacking */
225
+ opacity: 1;
214
226
  }
@@ -2,8 +2,9 @@
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, Prop } from "@stencil/core";
5
+ import { Component, Element, Event, h, Prop, Watch } from "@stencil/core";
6
6
  import { CSS } from "./resources";
7
+ import { updateHostInteraction } from "../../utils/interactive";
7
8
  /**
8
9
  * @slot - A slot for adding `calcite-dropdown` content.
9
10
  */
@@ -34,6 +35,24 @@ export class SplitButton {
34
35
  this.calciteSplitButtonPrimaryClickHandler = (e) => this.calciteSplitButtonPrimaryClick.emit(e);
35
36
  this.calciteSplitButtonSecondaryClickHandler = (e) => this.calciteSplitButtonSecondaryClick.emit(e);
36
37
  }
38
+ handleDisabledChange(value) {
39
+ if (!value) {
40
+ this.active = false;
41
+ }
42
+ }
43
+ activeHandler() {
44
+ if (this.disabled) {
45
+ this.active = false;
46
+ }
47
+ }
48
+ //--------------------------------------------------------------------------
49
+ //
50
+ // Lifecycle
51
+ //
52
+ //--------------------------------------------------------------------------
53
+ componentDidRender() {
54
+ updateHostInteraction(this);
55
+ }
37
56
  render() {
38
57
  const widthClasses = {
39
58
  [CSS.container]: true,
@@ -46,7 +65,7 @@ export class SplitButton {
46
65
  h("calcite-button", { appearance: this.appearance, color: this.color, disabled: this.disabled, "icon-end": this.primaryIconEnd ? this.primaryIconEnd : null, "icon-start": this.primaryIconStart ? this.primaryIconStart : null, iconFlipRtl: this.primaryIconFlipRtl ? this.primaryIconFlipRtl : null, label: this.primaryLabel, loading: this.loading, onClick: this.calciteSplitButtonPrimaryClickHandler, scale: this.scale, splitChild: "primary", type: "button", width: buttonWidth }, this.primaryText),
47
66
  h("div", { class: CSS.dividerContainer },
48
67
  h("div", { class: CSS.divider })),
49
- h("calcite-dropdown", { active: this.active, onClick: this.calciteSplitButtonSecondaryClickHandler, overlayPositioning: this.overlayPositioning, placement: "bottom-trailing", scale: this.scale, width: this.scale },
68
+ h("calcite-dropdown", { active: this.active, disabled: this.disabled, onClick: this.calciteSplitButtonSecondaryClickHandler, overlayPositioning: this.overlayPositioning, placement: "bottom-trailing", scale: this.scale, width: this.scale },
50
69
  h("calcite-button", { appearance: this.appearance, color: this.color, disabled: this.disabled, "icon-start": this.dropdownIcon, label: this.dropdownLabel, scale: this.scale, slot: "dropdown-trigger", splitChild: "secondary", type: "button" }),
51
70
  h("slot", null))));
52
71
  }
@@ -134,7 +153,7 @@ export class SplitButton {
134
153
  },
135
154
  "active": {
136
155
  "type": "boolean",
137
- "mutable": false,
156
+ "mutable": true,
138
157
  "complexType": {
139
158
  "original": "boolean",
140
159
  "resolved": "boolean",
@@ -403,4 +422,11 @@ export class SplitButton {
403
422
  }
404
423
  }]; }
405
424
  static get elementRef() { return "el"; }
425
+ static get watchers() { return [{
426
+ "propName": "disabled",
427
+ "methodName": "handleDisabledChange"
428
+ }, {
429
+ "propName": "active",
430
+ "methodName": "activeHandler"
431
+ }]; }
406
432
  }
@@ -227,12 +227,16 @@
227
227
  }
228
228
 
229
229
  :host([disabled]) {
230
+ pointer-events: none;
231
+ cursor: default;
232
+ -webkit-user-select: none;
233
+ user-select: none;
230
234
  opacity: var(--calcite-ui-opacity-disabled);
231
235
  }
232
-
233
- :host([disabled]), :host([disabled]) * {
234
- pointer-events: auto;
235
- cursor: not-allowed;
236
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
237
+ :host([disabled]) [calcite-hydrated][disabled] {
238
+ /* prevent opacity stacking */
239
+ opacity: 1;
236
240
  }
237
241
 
238
242
  :host([complete]) .container {
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { Component, Element, Event, h, Host, Listen, Prop, Watch } from "@stencil/core";
6
6
  import { getElementProp } from "../../utils/dom";
7
+ import { updateHostInteraction } from "../../utils/interactive";
7
8
  /**
8
9
  * @slot - A slot for adding custom content.
9
10
  */
@@ -61,8 +62,11 @@ export class StepperItem {
61
62
  this.emitRequestedItem();
62
63
  }
63
64
  }
65
+ componentDidRender() {
66
+ updateHostInteraction(this, true);
67
+ }
64
68
  render() {
65
- return (h(Host, { "aria-expanded": this.active.toString(), onClick: () => this.emitRequestedItem(), tabindex: this.disabled ? null : 0 },
69
+ return (h(Host, { "aria-expanded": this.active.toString(), onClick: () => this.emitRequestedItem() },
66
70
  h("div", { class: "container" },
67
71
  h("div", { class: "stepper-item-header" },
68
72
  this.icon ? this.renderIcon() : null,
@@ -228,7 +232,7 @@ export class StepperItem {
228
232
  "text": "is the step disabled and not navigable to by a user"
229
233
  },
230
234
  "attribute": "disabled",
231
- "reflect": false,
235
+ "reflect": true,
232
236
  "defaultValue": "false"
233
237
  },
234
238
  "itemTitle": {
@@ -128,8 +128,15 @@
128
128
  :host([disabled]) {
129
129
  pointer-events: none;
130
130
  cursor: default;
131
+ -webkit-user-select: none;
132
+ user-select: none;
131
133
  opacity: var(--calcite-ui-opacity-disabled);
132
134
  }
135
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
136
+ :host([disabled]) [calcite-hydrated][disabled] {
137
+ /* prevent opacity stacking */
138
+ opacity: 1;
139
+ }
133
140
 
134
141
  :host {
135
142
  width: auto;