@esri/calcite-components 1.0.0-next.414 → 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 (403) hide show
  1. package/dist/calcite/calcite.esm.js +1 -1
  2. package/dist/calcite/p-00009c01.system.entry.js +5 -0
  3. package/dist/calcite/p-01f877b3.entry.js +5 -0
  4. package/dist/calcite/p-04708565.system.entry.js +5 -0
  5. package/dist/calcite/p-04859cc3.entry.js +5 -0
  6. package/dist/calcite/p-0a565a2a.entry.js +5 -0
  7. package/dist/calcite/p-18d1b401.system.entry.js +5 -0
  8. package/dist/calcite/p-18ea4373.system.js +5 -0
  9. package/dist/calcite/p-190e3d04.entry.js +5 -0
  10. package/dist/calcite/p-1984c1b1.system.entry.js +5 -0
  11. package/dist/calcite/p-1ff6776b.entry.js +5 -0
  12. package/dist/calcite/p-22cef177.entry.js +5 -0
  13. package/dist/calcite/p-24e1de98.entry.js +5 -0
  14. package/dist/calcite/p-2f20293c.system.entry.js +5 -0
  15. package/dist/calcite/p-2fcab9f8.entry.js +5 -0
  16. package/dist/calcite/p-3119ffce.system.js +5 -0
  17. package/dist/calcite/p-31c3b490.system.entry.js +5 -0
  18. package/dist/calcite/p-38b1f6b5.entry.js +5 -0
  19. package/dist/calcite/p-42d258d4.system.entry.js +5 -0
  20. package/dist/calcite/p-4392cf25.system.entry.js +5 -0
  21. package/dist/calcite/p-44032496.system.entry.js +5 -0
  22. package/dist/calcite/p-45dce037.system.entry.js +5 -0
  23. package/dist/calcite/p-467318a0.system.entry.js +5 -0
  24. package/dist/calcite/p-46741fa4.entry.js +5 -0
  25. package/dist/calcite/p-46c177ec.system.entry.js +5 -0
  26. package/dist/calcite/p-4a3a1b46.entry.js +5 -0
  27. package/dist/calcite/p-5653a345.entry.js +5 -0
  28. package/dist/calcite/p-58274475.system.entry.js +5 -0
  29. package/dist/calcite/p-5be670bf.system.entry.js +5 -0
  30. package/dist/calcite/p-5c237680.entry.js +5 -0
  31. package/dist/calcite/p-5d1c8466.entry.js +5 -0
  32. package/dist/calcite/p-66a7bd24.system.entry.js +5 -0
  33. package/dist/calcite/p-7375cf4f.system.entry.js +5 -0
  34. package/dist/calcite/p-78bb06e5.system.entry.js +5 -0
  35. package/dist/calcite/p-7ab80118.entry.js +5 -0
  36. package/dist/calcite/p-807e32d8.entry.js +5 -0
  37. package/dist/calcite/p-88f949f4.entry.js +5 -0
  38. package/dist/calcite/p-8afbcf9e.entry.js +5 -0
  39. package/dist/calcite/p-8bb762f9.system.entry.js +5 -0
  40. package/dist/calcite/p-8dbb756d.entry.js +5 -0
  41. package/dist/calcite/p-8e198935.entry.js +5 -0
  42. package/dist/calcite/p-8f93be14.system.js +1 -1
  43. package/dist/calcite/p-9127d01c.entry.js +5 -0
  44. package/dist/calcite/p-93d9d3e7.entry.js +5 -0
  45. package/dist/calcite/p-98962bd9.entry.js +5 -0
  46. package/dist/calcite/p-9a69d12a.system.entry.js +5 -0
  47. package/dist/calcite/{p-fda8b94b.entry.js → p-9b514f77.entry.js} +1 -1
  48. package/dist/calcite/p-9e56f30f.system.entry.js +5 -0
  49. package/dist/calcite/p-a400f6dc.system.entry.js +5 -0
  50. package/dist/calcite/p-a72718b5.system.entry.js +5 -0
  51. package/dist/calcite/p-b5afe88b.system.entry.js +5 -0
  52. package/dist/calcite/p-b84e5b34.entry.js +5 -0
  53. package/dist/calcite/p-bce112c4.system.entry.js +5 -0
  54. package/dist/calcite/p-bd38ff21.js +5 -0
  55. package/dist/calcite/p-c5086019.system.entry.js +5 -0
  56. package/dist/calcite/p-c7f36800.system.entry.js +5 -0
  57. package/dist/calcite/p-c82c4418.entry.js +5 -0
  58. package/dist/calcite/{p-bcd705be.system.entry.js → p-c908ce40.system.entry.js} +1 -1
  59. package/dist/calcite/p-cfb7be80.system.entry.js +5 -0
  60. package/dist/calcite/p-d74ca1cf.system.entry.js +5 -0
  61. package/dist/calcite/p-d74e933c.entry.js +5 -0
  62. package/dist/calcite/p-db73225f.system.entry.js +5 -0
  63. package/dist/calcite/p-e01879bf.js +5 -0
  64. package/dist/calcite/p-e33d149d.system.entry.js +5 -0
  65. package/dist/calcite/p-e8f17533.entry.js +5 -0
  66. package/dist/calcite/p-ea32a5ac.system.entry.js +5 -0
  67. package/dist/calcite/p-eaf79f20.entry.js +5 -0
  68. package/dist/calcite/p-f2433871.entry.js +5 -0
  69. package/dist/calcite/p-f71b551d.entry.js +5 -0
  70. package/dist/calcite/p-fa078a42.entry.js +5 -0
  71. package/dist/cjs/calcite-action.cjs.entry.js +5 -1
  72. package/dist/cjs/calcite-block_2.cjs.entry.js +14 -5
  73. package/dist/cjs/calcite-button.cjs.entry.js +5 -1
  74. package/dist/cjs/calcite-checkbox.cjs.entry.js +5 -1
  75. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +15 -2
  76. package/dist/cjs/calcite-combobox_3.cjs.entry.js +17 -2
  77. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +9 -2
  78. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +22 -6
  79. package/dist/cjs/calcite-fab.cjs.entry.js +10 -1
  80. package/dist/cjs/calcite-filter.cjs.entry.js +12 -3
  81. package/dist/cjs/calcite-graph_2.cjs.entry.js +3 -1
  82. package/dist/cjs/calcite-inline-editable.cjs.entry.js +10 -8
  83. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +20 -3
  84. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +18 -2
  85. package/dist/cjs/calcite-input.cjs.entry.js +5 -1
  86. package/dist/cjs/calcite-label.cjs.entry.js +6 -2
  87. package/dist/cjs/calcite-link.cjs.entry.js +6 -2
  88. package/dist/cjs/calcite-list_3.cjs.entry.js +28 -2
  89. package/dist/cjs/calcite-option_3.cjs.entry.js +5 -1
  90. package/dist/cjs/calcite-panel.cjs.entry.js +12 -3
  91. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +10 -6
  92. package/dist/cjs/calcite-radio-button.cjs.entry.js +5 -1
  93. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +6 -2
  94. package/dist/cjs/calcite-rating.cjs.entry.js +10 -4
  95. package/dist/cjs/calcite-sortable-list.cjs.entry.js +5 -1
  96. package/dist/cjs/calcite-split-button.cjs.entry.js +25 -2
  97. package/dist/cjs/calcite-stepper_2.cjs.entry.js +6 -2
  98. package/dist/cjs/calcite-switch.cjs.entry.js +5 -8
  99. package/dist/cjs/calcite-tab_4.cjs.entry.js +6 -3
  100. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +17 -2
  101. package/dist/cjs/calcite-tile.cjs.entry.js +5 -1
  102. package/dist/cjs/calcite-value-list_2.cjs.entry.js +12 -7
  103. package/dist/cjs/calcite.cjs.js +1 -1
  104. package/dist/cjs/interactive-87406231.js +44 -0
  105. package/dist/cjs/loader.cjs.js +1 -1
  106. package/dist/cjs/{resources-415f797b.js → resources-65327c4a.js} +33 -8
  107. package/dist/collection/components/action/action.css +9 -0
  108. package/dist/collection/components/action/action.js +4 -0
  109. package/dist/collection/components/block/block.css +13 -9
  110. package/dist/collection/components/block/block.js +13 -4
  111. package/dist/collection/components/button/button.css +15 -2
  112. package/dist/collection/components/button/button.js +4 -0
  113. package/dist/collection/components/checkbox/checkbox.css +7 -0
  114. package/dist/collection/components/checkbox/checkbox.js +4 -0
  115. package/dist/collection/components/color-picker/color-picker.css +13 -0
  116. package/dist/collection/components/color-picker/color-picker.js +32 -1
  117. package/dist/collection/components/combobox/combobox.css +7 -1
  118. package/dist/collection/components/combobox/combobox.js +14 -0
  119. package/dist/collection/components/combobox-item/combobox-item.css +13 -0
  120. package/dist/collection/components/combobox-item/combobox-item.js +4 -0
  121. package/dist/collection/components/date-picker-day/date-picker-day.css +13 -5
  122. package/dist/collection/components/date-picker-day/date-picker-day.js +8 -1
  123. package/dist/collection/components/dropdown/dropdown.css +8 -0
  124. package/dist/collection/components/dropdown/dropdown.js +23 -5
  125. package/dist/collection/components/fab/fab.css +13 -0
  126. package/dist/collection/components/fab/fab.js +9 -0
  127. package/dist/collection/components/filter/filter.css +13 -0
  128. package/dist/collection/components/filter/filter.js +11 -3
  129. package/dist/collection/components/inline-editable/inline-editable.css +12 -0
  130. package/dist/collection/components/inline-editable/inline-editable.js +9 -7
  131. package/dist/collection/components/input/input.css +8 -7
  132. package/dist/collection/components/input/input.js +4 -0
  133. package/dist/collection/components/input-date-picker/input-date-picker.css +64 -27
  134. package/dist/collection/components/input-date-picker/input-date-picker.js +21 -2
  135. package/dist/collection/components/input-time-picker/input-time-picker.css +13 -0
  136. package/dist/collection/components/input-time-picker/input-time-picker.js +21 -1
  137. package/dist/collection/components/label/label.css +12 -0
  138. package/dist/collection/components/label/label.js +9 -2
  139. package/dist/collection/components/link/link.css +13 -8
  140. package/dist/collection/components/link/link.js +5 -1
  141. package/dist/collection/components/list/list.css +13 -0
  142. package/dist/collection/components/list/list.js +38 -0
  143. package/dist/collection/components/list-item/list-item.css +8 -0
  144. package/dist/collection/components/list-item/list-item.js +9 -0
  145. package/dist/collection/components/panel/panel.css +13 -0
  146. package/dist/collection/components/panel/panel.js +11 -2
  147. package/dist/collection/components/pick-list/pick-list.css +13 -0
  148. package/dist/collection/components/pick-list/pick-list.js +4 -0
  149. package/dist/collection/components/pick-list/shared-list-logic.js +30 -6
  150. package/dist/collection/components/pick-list/shared-list-render.js +2 -2
  151. package/dist/collection/components/pick-list-item/pick-list-item.css +13 -0
  152. package/dist/collection/components/pick-list-item/pick-list-item.js +5 -4
  153. package/dist/collection/components/radio-button/radio-button.css +10 -1
  154. package/dist/collection/components/radio-button/radio-button.js +4 -0
  155. package/dist/collection/components/radio-group/radio-group.css +13 -5
  156. package/dist/collection/components/radio-group/radio-group.js +5 -1
  157. package/dist/collection/components/rating/rating.css +13 -5
  158. package/dist/collection/components/rating/rating.js +9 -3
  159. package/dist/collection/components/select/select.css +13 -7
  160. package/dist/collection/components/select/select.js +4 -0
  161. package/dist/collection/components/slider/slider.css +8 -0
  162. package/dist/collection/components/slider/slider.js +2 -0
  163. package/dist/collection/components/sortable-list/sortable-list.css +13 -0
  164. package/dist/collection/components/sortable-list/sortable-list.js +4 -0
  165. package/dist/collection/components/split-button/split-button.css +12 -0
  166. package/dist/collection/components/split-button/split-button.js +29 -3
  167. package/dist/collection/components/stepper-item/stepper-item.css +8 -4
  168. package/dist/collection/components/stepper-item/stepper-item.js +6 -2
  169. package/dist/collection/components/switch/switch.css +7 -0
  170. package/dist/collection/components/switch/switch.js +5 -13
  171. package/dist/collection/components/tab-title/tab-title.css +9 -0
  172. package/dist/collection/components/tab-title/tab-title.js +6 -3
  173. package/dist/collection/components/tile/tile.css +17 -1
  174. package/dist/collection/components/tile/tile.js +4 -0
  175. package/dist/collection/components/tile-select/tile-select.css +9 -1
  176. package/dist/collection/components/tile-select/tile-select.js +4 -0
  177. package/dist/collection/components/tile-select-group/tile-select-group.css +13 -0
  178. package/dist/collection/components/tile-select-group/tile-select-group.js +31 -1
  179. package/dist/collection/components/value-list/value-list.css +13 -0
  180. package/dist/collection/components/value-list/value-list.js +6 -5
  181. package/dist/collection/components/value-list-item/value-list-item.css +13 -0
  182. package/dist/collection/components/value-list-item/value-list-item.js +5 -1
  183. package/dist/collection/utils/interactive.js +42 -0
  184. package/dist/components/action.js +5 -1
  185. package/dist/components/button.js +5 -1
  186. package/dist/components/calcite-block.js +14 -5
  187. package/dist/components/calcite-color-picker.js +16 -2
  188. package/dist/components/calcite-combobox-item.js +5 -1
  189. package/dist/components/calcite-combobox.js +13 -1
  190. package/dist/components/calcite-fab.js +10 -1
  191. package/dist/components/calcite-inline-editable.js +10 -8
  192. package/dist/components/calcite-input-date-picker.js +20 -3
  193. package/dist/components/calcite-input-time-picker.js +18 -2
  194. package/dist/components/calcite-list-item.js +10 -1
  195. package/dist/components/calcite-list.js +20 -1
  196. package/dist/components/calcite-panel.js +12 -3
  197. package/dist/components/calcite-pick-list.js +5 -1
  198. package/dist/components/calcite-radio-button.js +5 -1
  199. package/dist/components/calcite-radio-group.js +6 -2
  200. package/dist/components/calcite-rating.js +10 -4
  201. package/dist/components/calcite-select.js +5 -1
  202. package/dist/components/calcite-slider.js +3 -1
  203. package/dist/components/calcite-sortable-list.js +5 -1
  204. package/dist/components/calcite-split-button.js +26 -3
  205. package/dist/components/calcite-stepper-item.js +7 -3
  206. package/dist/components/calcite-tile-select-group.js +14 -1
  207. package/dist/components/calcite-tile-select.js +5 -1
  208. package/dist/components/calcite-value-list-item.js +5 -1
  209. package/dist/components/calcite-value-list.js +7 -6
  210. package/dist/components/checkbox.js +5 -1
  211. package/dist/components/date-picker-day.js +9 -2
  212. package/dist/components/dropdown.js +22 -6
  213. package/dist/components/filter.js +18 -21
  214. package/dist/components/input.js +5 -1
  215. package/dist/components/interactive.js +42 -0
  216. package/dist/components/label2.js +6 -2
  217. package/dist/components/link.js +6 -2
  218. package/dist/components/pick-list-item.js +5 -4
  219. package/dist/components/shared-list-render.js +33 -9
  220. package/dist/components/switch.js +5 -9
  221. package/dist/components/tab-title.js +6 -3
  222. package/dist/components/tile.js +5 -1
  223. package/dist/custom-elements/index.js +380 -99
  224. package/dist/esm/calcite-action.entry.js +5 -1
  225. package/dist/esm/calcite-block_2.entry.js +14 -5
  226. package/dist/esm/calcite-button.entry.js +5 -1
  227. package/dist/esm/calcite-checkbox.entry.js +5 -1
  228. package/dist/esm/calcite-color-picker_3.entry.js +15 -2
  229. package/dist/esm/calcite-combobox_3.entry.js +17 -2
  230. package/dist/esm/calcite-date-picker_4.entry.js +9 -2
  231. package/dist/esm/calcite-dropdown_3.entry.js +22 -6
  232. package/dist/esm/calcite-fab.entry.js +10 -1
  233. package/dist/esm/calcite-filter.entry.js +12 -3
  234. package/dist/esm/calcite-graph_2.entry.js +3 -1
  235. package/dist/esm/calcite-inline-editable.entry.js +10 -8
  236. package/dist/esm/calcite-input-date-picker.entry.js +20 -3
  237. package/dist/esm/calcite-input-time-picker_2.entry.js +18 -2
  238. package/dist/esm/calcite-input.entry.js +5 -1
  239. package/dist/esm/calcite-label.entry.js +6 -2
  240. package/dist/esm/calcite-link.entry.js +6 -2
  241. package/dist/esm/calcite-list_3.entry.js +28 -2
  242. package/dist/esm/calcite-option_3.entry.js +5 -1
  243. package/dist/esm/calcite-panel.entry.js +12 -3
  244. package/dist/esm/calcite-pick-list_3.entry.js +10 -6
  245. package/dist/esm/calcite-radio-button.entry.js +5 -1
  246. package/dist/esm/calcite-radio-group_2.entry.js +6 -2
  247. package/dist/esm/calcite-rating.entry.js +10 -4
  248. package/dist/esm/calcite-sortable-list.entry.js +5 -1
  249. package/dist/esm/calcite-split-button.entry.js +25 -2
  250. package/dist/esm/calcite-stepper_2.entry.js +6 -2
  251. package/dist/esm/calcite-switch.entry.js +5 -8
  252. package/dist/esm/calcite-tab_4.entry.js +6 -3
  253. package/dist/esm/calcite-tile-select_2.entry.js +17 -2
  254. package/dist/esm/calcite-tile.entry.js +5 -1
  255. package/dist/esm/calcite-value-list_2.entry.js +12 -7
  256. package/dist/esm/calcite.js +1 -1
  257. package/dist/esm/interactive-48b5cc0f.js +42 -0
  258. package/dist/esm/loader.js +1 -1
  259. package/dist/esm/{resources-999109fa.js → resources-77c12cea.js} +33 -9
  260. package/dist/esm-es5/calcite-action.entry.js +1 -1
  261. package/dist/esm-es5/calcite-block_2.entry.js +1 -1
  262. package/dist/esm-es5/calcite-button.entry.js +1 -1
  263. package/dist/esm-es5/calcite-checkbox.entry.js +1 -1
  264. package/dist/esm-es5/calcite-color-picker_3.entry.js +1 -1
  265. package/dist/esm-es5/calcite-combobox_3.entry.js +1 -1
  266. package/dist/esm-es5/calcite-date-picker_4.entry.js +1 -1
  267. package/dist/esm-es5/calcite-dropdown_3.entry.js +1 -1
  268. package/dist/esm-es5/calcite-fab.entry.js +2 -2
  269. package/dist/esm-es5/calcite-filter.entry.js +1 -1
  270. package/dist/esm-es5/calcite-graph_2.entry.js +1 -1
  271. package/dist/esm-es5/calcite-inline-editable.entry.js +1 -1
  272. package/dist/esm-es5/calcite-input-date-picker.entry.js +1 -1
  273. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +2 -2
  274. package/dist/esm-es5/calcite-input.entry.js +1 -1
  275. package/dist/esm-es5/calcite-label.entry.js +1 -1
  276. package/dist/esm-es5/calcite-link.entry.js +2 -2
  277. package/dist/esm-es5/calcite-list_3.entry.js +2 -2
  278. package/dist/esm-es5/calcite-option_3.entry.js +2 -2
  279. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  280. package/dist/esm-es5/calcite-pick-list_3.entry.js +2 -2
  281. package/dist/esm-es5/calcite-radio-button.entry.js +1 -1
  282. package/dist/esm-es5/calcite-radio-group_2.entry.js +1 -1
  283. package/dist/esm-es5/calcite-rating.entry.js +2 -2
  284. package/dist/esm-es5/calcite-sortable-list.entry.js +1 -1
  285. package/dist/esm-es5/calcite-split-button.entry.js +1 -1
  286. package/dist/esm-es5/calcite-stepper_2.entry.js +1 -1
  287. package/dist/esm-es5/calcite-switch.entry.js +1 -1
  288. package/dist/esm-es5/calcite-tab_4.entry.js +2 -2
  289. package/dist/esm-es5/calcite-tile-select_2.entry.js +2 -2
  290. package/dist/esm-es5/calcite-tile.entry.js +1 -1
  291. package/dist/esm-es5/calcite-value-list_2.entry.js +1 -1
  292. package/dist/esm-es5/calcite.js +1 -1
  293. package/dist/esm-es5/interactive-48b5cc0f.js +5 -0
  294. package/dist/esm-es5/loader.js +1 -1
  295. package/dist/esm-es5/resources-77c12cea.js +5 -0
  296. package/dist/extras/docs-json.json +68 -22
  297. package/dist/types/components/action/action.d.ts +3 -1
  298. package/dist/types/components/block/block.d.ts +3 -1
  299. package/dist/types/components/button/button.d.ts +3 -1
  300. package/dist/types/components/checkbox/checkbox.d.ts +3 -1
  301. package/dist/types/components/color-picker/color-picker.d.ts +9 -1
  302. package/dist/types/components/combobox/combobox.d.ts +3 -1
  303. package/dist/types/components/combobox-item/combobox-item.d.ts +3 -1
  304. package/dist/types/components/date-picker-day/date-picker-day.d.ts +4 -1
  305. package/dist/types/components/dropdown/dropdown.d.ts +4 -1
  306. package/dist/types/components/fab/fab.d.ts +3 -1
  307. package/dist/types/components/filter/filter.d.ts +3 -1
  308. package/dist/types/components/inline-editable/inline-editable.d.ts +4 -1
  309. package/dist/types/components/input/input.d.ts +3 -1
  310. package/dist/types/components/input-date-picker/input-date-picker.d.ts +4 -1
  311. package/dist/types/components/input-time-picker/input-time-picker.d.ts +5 -1
  312. package/dist/types/components/label/label.d.ts +5 -1
  313. package/dist/types/components/link/link.d.ts +3 -1
  314. package/dist/types/components/list/list.d.ts +7 -1
  315. package/dist/types/components/list-item/list-item.d.ts +3 -1
  316. package/dist/types/components/panel/panel.d.ts +3 -1
  317. package/dist/types/components/pick-list/pick-list.d.ts +3 -1
  318. package/dist/types/components/pick-list/shared-list-logic.d.ts +1 -0
  319. package/dist/types/components/pick-list-item/pick-list-item.d.ts +4 -2
  320. package/dist/types/components/radio-button/radio-button.d.ts +3 -1
  321. package/dist/types/components/radio-group/radio-group.d.ts +3 -1
  322. package/dist/types/components/rating/rating.d.ts +3 -1
  323. package/dist/types/components/select/select.d.ts +3 -1
  324. package/dist/types/components/slider/slider.d.ts +2 -1
  325. package/dist/types/components/sortable-list/sortable-list.d.ts +3 -1
  326. package/dist/types/components/split-button/split-button.d.ts +5 -1
  327. package/dist/types/components/stepper-item/stepper-item.d.ts +3 -1
  328. package/dist/types/components/switch/switch.d.ts +3 -4
  329. package/dist/types/components/tab-title/tab-title.d.ts +3 -1
  330. package/dist/types/components/tile/tile.d.ts +3 -1
  331. package/dist/types/components/tile-select/tile-select.d.ts +3 -1
  332. package/dist/types/components/tile-select-group/tile-select-group.d.ts +6 -1
  333. package/dist/types/components/value-list/value-list.d.ts +3 -1
  334. package/dist/types/components/value-list-item/value-list-item.d.ts +4 -2
  335. package/dist/types/components.d.ts +28 -2
  336. package/dist/types/utils/interactive.d.ts +28 -0
  337. package/hydrate/index.js +383 -100
  338. package/package.json +1 -1
  339. package/dist/calcite/p-02cc50b9.entry.js +0 -5
  340. package/dist/calcite/p-0aee798e.entry.js +0 -5
  341. package/dist/calcite/p-0d09d73b.system.entry.js +0 -5
  342. package/dist/calcite/p-11413626.system.entry.js +0 -5
  343. package/dist/calcite/p-125c9edc.entry.js +0 -5
  344. package/dist/calcite/p-12a4eac6.system.entry.js +0 -5
  345. package/dist/calcite/p-1a34e1df.system.entry.js +0 -5
  346. package/dist/calcite/p-1c1ad353.system.entry.js +0 -5
  347. package/dist/calcite/p-236b8f2e.system.entry.js +0 -5
  348. package/dist/calcite/p-322195bf.system.entry.js +0 -5
  349. package/dist/calcite/p-35461165.system.entry.js +0 -5
  350. package/dist/calcite/p-38c5a816.system.entry.js +0 -5
  351. package/dist/calcite/p-43ec3d32.system.entry.js +0 -5
  352. package/dist/calcite/p-4cd8449b.system.entry.js +0 -5
  353. package/dist/calcite/p-5079ec88.entry.js +0 -5
  354. package/dist/calcite/p-514f6d94.system.entry.js +0 -5
  355. package/dist/calcite/p-563bce5c.entry.js +0 -5
  356. package/dist/calcite/p-57186636.system.entry.js +0 -5
  357. package/dist/calcite/p-5a7b1bd1.system.entry.js +0 -5
  358. package/dist/calcite/p-5c425028.entry.js +0 -5
  359. package/dist/calcite/p-5ecd3b72.system.entry.js +0 -5
  360. package/dist/calcite/p-633a2c7f.entry.js +0 -5
  361. package/dist/calcite/p-640a1577.system.entry.js +0 -5
  362. package/dist/calcite/p-673a3cd9.entry.js +0 -5
  363. package/dist/calcite/p-743597e4.entry.js +0 -5
  364. package/dist/calcite/p-74b8f15f.entry.js +0 -5
  365. package/dist/calcite/p-77564c0d.entry.js +0 -5
  366. package/dist/calcite/p-793659d0.entry.js +0 -5
  367. package/dist/calcite/p-7a0e8fab.system.entry.js +0 -5
  368. package/dist/calcite/p-7ccf6273.entry.js +0 -5
  369. package/dist/calcite/p-7dfe915f.entry.js +0 -5
  370. package/dist/calcite/p-802a05a2.entry.js +0 -5
  371. package/dist/calcite/p-8046175f.entry.js +0 -5
  372. package/dist/calcite/p-818b3ac7.entry.js +0 -5
  373. package/dist/calcite/p-81a3de30.system.entry.js +0 -5
  374. package/dist/calcite/p-82c142d8.entry.js +0 -5
  375. package/dist/calcite/p-8683663f.entry.js +0 -5
  376. package/dist/calcite/p-8c59090d.entry.js +0 -5
  377. package/dist/calcite/p-91b23d79.system.entry.js +0 -5
  378. package/dist/calcite/p-949a2fcd.entry.js +0 -5
  379. package/dist/calcite/p-99da584e.system.entry.js +0 -5
  380. package/dist/calcite/p-9d102b23.system.entry.js +0 -5
  381. package/dist/calcite/p-a0ffad45.entry.js +0 -5
  382. package/dist/calcite/p-a6686c30.system.entry.js +0 -5
  383. package/dist/calcite/p-ad7fbabd.entry.js +0 -5
  384. package/dist/calcite/p-adfa48bc.entry.js +0 -5
  385. package/dist/calcite/p-b03b03d5.entry.js +0 -5
  386. package/dist/calcite/p-b88fa028.system.entry.js +0 -5
  387. package/dist/calcite/p-b8ce64ec.entry.js +0 -5
  388. package/dist/calcite/p-badc48d2.entry.js +0 -5
  389. package/dist/calcite/p-bfaed65e.entry.js +0 -5
  390. package/dist/calcite/p-c1018bb4.system.entry.js +0 -5
  391. package/dist/calcite/p-cfe2e6ee.system.entry.js +0 -5
  392. package/dist/calcite/p-d08d1450.entry.js +0 -5
  393. package/dist/calcite/p-d359def7.system.entry.js +0 -5
  394. package/dist/calcite/p-dcf17450.system.entry.js +0 -5
  395. package/dist/calcite/p-de562f92.system.js +0 -5
  396. package/dist/calcite/p-e9460f3c.js +0 -5
  397. package/dist/calcite/p-efb21590.system.entry.js +0 -5
  398. package/dist/calcite/p-f20b0a41.system.entry.js +0 -5
  399. package/dist/calcite/p-f542ba26.entry.js +0 -5
  400. package/dist/calcite/p-f9d1a58e.entry.js +0 -5
  401. package/dist/calcite/p-fbbf933d.system.entry.js +0 -5
  402. package/dist/calcite/p-fc11382c.system.entry.js +0 -5
  403. package/dist/esm-es5/resources-999109fa.js +0 -5
@@ -84,6 +84,19 @@
84
84
  user-select: none;
85
85
  }
86
86
 
87
+ :host([disabled]) {
88
+ pointer-events: none;
89
+ cursor: default;
90
+ -webkit-user-select: none;
91
+ user-select: none;
92
+ opacity: var(--calcite-ui-opacity-disabled);
93
+ }
94
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
95
+ :host([disabled]) [calcite-hydrated][disabled] {
96
+ /* prevent opacity stacking */
97
+ opacity: 1;
98
+ }
99
+
87
100
  ::slotted(input[slot=hidden-form-input]) {
88
101
  bottom: 0 !important;
89
102
  left: 0 !important;
@@ -7,6 +7,7 @@ import { guid } from "../../utils/guid";
7
7
  import { formatTimeString, isValidTime, localizeTimeString } from "../../utils/time";
8
8
  import { connectLabel, disconnectLabel, getLabelText } from "../../utils/label";
9
9
  import { connectForm, disconnectForm, HiddenFormInputSlot } from "../../utils/form";
10
+ import { updateHostInteraction } from "../../utils/interactive";
10
11
  export class InputTimePicker {
11
12
  constructor() {
12
13
  //--------------------------------------------------------------------------
@@ -115,6 +116,16 @@ export class InputTimePicker {
115
116
  }
116
117
  };
117
118
  }
119
+ activeHandler() {
120
+ if (this.disabled) {
121
+ this.active = false;
122
+ }
123
+ }
124
+ handleDisabledChange(value) {
125
+ if (!value) {
126
+ this.active = false;
127
+ }
128
+ }
118
129
  localeWatcher(newLocale) {
119
130
  this.setInputValue(localizeTimeString(this.value, newLocale, this.shouldIncludeSeconds()));
120
131
  }
@@ -184,6 +195,9 @@ export class InputTimePicker {
184
195
  disconnectLabel(this);
185
196
  disconnectForm(this);
186
197
  }
198
+ componentDidRender() {
199
+ updateHostInteraction(this);
200
+ }
187
201
  // --------------------------------------------------------------------------
188
202
  //
189
203
  // Render Methods
@@ -194,7 +208,7 @@ export class InputTimePicker {
194
208
  return (h(Host, null,
195
209
  h("div", { "aria-controls": popoverId, "aria-haspopup": "dialog", "aria-label": this.name, "aria-owns": popoverId, id: this.referenceElementId, role: "combobox" },
196
210
  h("calcite-input", { disabled: this.disabled, icon: "clock", label: getLabelText(this), onCalciteInputBlur: this.calciteInputBlurHandler, onCalciteInputFocus: this.calciteInputFocusHandler, onCalciteInputInput: this.calciteInputInputHandler, ref: this.setCalciteInputEl, scale: this.scale, step: this.step })),
197
- h("calcite-popover", { id: popoverId, label: "Time Picker", open: this.active || false, referenceElement: this.referenceElementId },
211
+ h("calcite-popover", { id: popoverId, label: "Time Picker", open: this.active, referenceElement: this.referenceElementId },
198
212
  h("calcite-time-picker", { intlHour: this.intlHour, intlHourDown: this.intlHourDown, intlHourUp: this.intlHourUp, intlMeridiem: this.intlMeridiem, intlMeridiemDown: this.intlMeridiemDown, intlMeridiemUp: this.intlMeridiemUp, intlMinute: this.intlMinute, intlMinuteDown: this.intlMinuteDown, intlMinuteUp: this.intlMinuteUp, intlSecond: this.intlSecond, intlSecondDown: this.intlSecondDown, intlSecondUp: this.intlSecondUp, lang: this.locale, onCalciteTimePickerChange: this.timePickerChangeHandler, ref: this.setCalciteTimePickerEl, scale: this.scale, step: this.step, value: this.value })),
199
213
  h(HiddenFormInputSlot, { component: this })));
200
214
  }
@@ -605,6 +619,12 @@ export class InputTimePicker {
605
619
  }; }
606
620
  static get elementRef() { return "el"; }
607
621
  static get watchers() { return [{
622
+ "propName": "active",
623
+ "methodName": "activeHandler"
624
+ }, {
625
+ "propName": "disabled",
626
+ "methodName": "handleDisabledChange"
627
+ }, {
608
628
  "propName": "locale",
609
629
  "methodName": "localeWatcher"
610
630
  }, {
@@ -142,6 +142,13 @@
142
142
  justify-content: space-between;
143
143
  }
144
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
+ }
145
152
  :host([disabled]) > .container {
146
153
  pointer-events: none;
147
154
  opacity: var(--calcite-ui-opacity-disabled);
@@ -155,6 +162,11 @@
155
162
  :host([disabled]) ::slotted(calcite-input-message:not([active])) {
156
163
  --tw-bg-opacity: 0;
157
164
  }
165
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
166
+ :host([disabled]) [calcite-hydrated][disabled] {
167
+ /* prevent opacity stacking */
168
+ opacity: 1;
169
+ }
158
170
 
159
171
  :host([disable-spacing]) .container {
160
172
  margin: 0px;
@@ -28,7 +28,11 @@ export class Label {
28
28
  this.layout = "default";
29
29
  /** eliminates any space around the label */
30
30
  this.disableSpacing = false;
31
- /** is the label disabled */
31
+ /**
32
+ * is the label disabled
33
+ *
34
+ * @deprecated use the `disabled` property on the interactive components instead
35
+ */
32
36
  this.disabled = false;
33
37
  //--------------------------------------------------------------------------
34
38
  //
@@ -202,7 +206,10 @@ export class Label {
202
206
  "required": false,
203
207
  "optional": false,
204
208
  "docs": {
205
- "tags": [],
209
+ "tags": [{
210
+ "name": "deprecated",
211
+ "text": "use the `disabled` property on the interactive components instead"
212
+ }],
206
213
  "text": "is the label disabled"
207
214
  },
208
215
  "attribute": "disabled",
@@ -131,14 +131,6 @@ calcite-icon {
131
131
  margin-top: 0.125rem;
132
132
  }
133
133
 
134
- :host([disabled]) {
135
- pointer-events: none;
136
- }
137
- :host([disabled]) span, :host([disabled]) a {
138
- pointer-events: none;
139
- opacity: var(--calcite-ui-opacity-disabled);
140
- }
141
-
142
134
  :host .calcite-link--icon.icon-start {
143
135
  margin-inline-end: 0.5rem;
144
136
  }
@@ -177,4 +169,17 @@ calcite-icon {
177
169
  :host span.calcite--rtl,
178
170
  :host a.calcite--rtl {
179
171
  background-position: 100% 100%, 100% 100%;
172
+ }
173
+
174
+ :host([disabled]) {
175
+ pointer-events: none;
176
+ cursor: default;
177
+ -webkit-user-select: none;
178
+ user-select: none;
179
+ opacity: var(--calcite-ui-opacity-disabled);
180
+ }
181
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
182
+ :host([disabled]) [calcite-hydrated][disabled] {
183
+ /* prevent opacity stacking */
184
+ opacity: 1;
180
185
  }
@@ -5,6 +5,7 @@
5
5
  import { Component, Element, h, Host, Method, Prop } from "@stencil/core";
6
6
  import { focusElement, getElementDir } from "../../utils/dom";
7
7
  import { CSS_UTILITY } from "../../utils/resources";
8
+ import { updateHostInteraction } from "../../utils/interactive";
8
9
  /** Any attributes placed on <calcite-link> component will propagate to the rendered child */
9
10
  /** Passing a 'href' will render an anchor link, instead of a span. Role will be set to link, or link, depending on this. */
10
11
  /** It is the consumers responsibility to add aria information, rel, target, for links, and any link attributes for form submission */
@@ -37,6 +38,9 @@ export class Link {
37
38
  // Lifecycle
38
39
  //
39
40
  //--------------------------------------------------------------------------
41
+ componentDidRender() {
42
+ updateHostInteraction(this);
43
+ }
40
44
  render() {
41
45
  const { download, el } = this;
42
46
  const dir = getElementDir(el);
@@ -45,7 +49,7 @@ export class Link {
45
49
  const iconEndEl = (h("calcite-icon", { class: "calcite-link--icon icon-end", flipRtl: this.iconFlipRtl === "end" || this.iconFlipRtl === "both", icon: this.iconEnd, scale: "s" }));
46
50
  const Tag = childElType;
47
51
  const role = childElType === "span" ? "link" : null;
48
- const tabIndex = this.disabled ? -1 : childElType === "span" ? 0 : null;
52
+ const tabIndex = childElType === "span" ? 0 : null;
49
53
  return (h(Host, { role: "presentation" },
50
54
  h(Tag, { class: { [CSS_UTILITY.rtl]: dir === "rtl" },
51
55
  /*
@@ -82,6 +82,19 @@
82
82
  display: block;
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
  box-sizing: border-box;
87
100
  display: flex;
@@ -4,11 +4,31 @@
4
4
  */
5
5
  import { Component, Element, h, Host, Prop, Method } from "@stencil/core";
6
6
  import { CSS } from "./resources";
7
+ import { updateHostInteraction } from "../../utils/interactive";
7
8
  /**
8
9
  * A general purpose list that enables users to construct list items that conform to Calcite styling.
9
10
  * @slot - A slot for adding `calcite-list-item` elements.
10
11
  */
11
12
  export class List {
13
+ constructor() {
14
+ // --------------------------------------------------------------------------
15
+ //
16
+ // Properties
17
+ //
18
+ // --------------------------------------------------------------------------
19
+ /**
20
+ * When true, disabled prevents user interaction.
21
+ */
22
+ this.disabled = false;
23
+ }
24
+ //--------------------------------------------------------------------------
25
+ //
26
+ // Lifecycle
27
+ //
28
+ //--------------------------------------------------------------------------
29
+ componentDidRender() {
30
+ updateHostInteraction(this);
31
+ }
12
32
  // --------------------------------------------------------------------------
13
33
  //
14
34
  // Public Methods
@@ -38,6 +58,24 @@ export class List {
38
58
  "$": ["list.css"]
39
59
  }; }
40
60
  static get properties() { return {
61
+ "disabled": {
62
+ "type": "boolean",
63
+ "mutable": false,
64
+ "complexType": {
65
+ "original": "boolean",
66
+ "resolved": "boolean",
67
+ "references": {}
68
+ },
69
+ "required": false,
70
+ "optional": false,
71
+ "docs": {
72
+ "tags": [],
73
+ "text": "When true, disabled prevents user interaction."
74
+ },
75
+ "attribute": "disabled",
76
+ "reflect": true,
77
+ "defaultValue": "false"
78
+ },
41
79
  "headingLevel": {
42
80
  "type": "number",
43
81
  "mutable": false,
@@ -86,6 +86,14 @@
86
86
  :host([disabled]) {
87
87
  pointer-events: none;
88
88
  cursor: default;
89
+ -webkit-user-select: none;
90
+ user-select: none;
91
+ opacity: var(--calcite-ui-opacity-disabled);
92
+ }
93
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
94
+ :host([disabled]) [calcite-hydrated][disabled] {
95
+ /* prevent opacity stacking */
96
+ opacity: 1;
89
97
  }
90
98
 
91
99
  .container {
@@ -6,6 +6,7 @@ import { Component, Element, Prop, h, Host, Method } from "@stencil/core";
6
6
  import { SLOTS, CSS } 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 - A slot for adding `calcite-list-item` and `calcite-list-item-group` elements.
11
12
  * @slot actions-start - A slot for adding actionable `calcite-action` elements before the content of the list item.
@@ -29,6 +30,14 @@ export class ListItem {
29
30
  */
30
31
  this.disabled = false;
31
32
  }
33
+ //--------------------------------------------------------------------------
34
+ //
35
+ // Lifecycle
36
+ //
37
+ //--------------------------------------------------------------------------
38
+ componentDidRender() {
39
+ updateHostInteraction(this);
40
+ }
32
41
  // --------------------------------------------------------------------------
33
42
  //
34
43
  // Lifecycle
@@ -111,6 +111,19 @@
111
111
  --calcite-panel-max-width: unset;
112
112
  }
113
113
 
114
+ :host([disabled]) {
115
+ pointer-events: none;
116
+ cursor: default;
117
+ -webkit-user-select: none;
118
+ user-select: none;
119
+ opacity: var(--calcite-ui-opacity-disabled);
120
+ }
121
+ :host([disabled]) ::slotted([calcite-hydrated][disabled]),
122
+ :host([disabled]) [calcite-hydrated][disabled] {
123
+ /* prevent opacity stacking */
124
+ opacity: 1;
125
+ }
126
+
114
127
  /* Shared styles for header elements */
115
128
  .header {
116
129
  margin: 0px;
@@ -8,6 +8,7 @@ import { getElementDir, getSlotted } from "../../utils/dom";
8
8
  import { Heading } from "../functional/Heading";
9
9
  import { SLOTS as ACTION_MENU_SLOTS } from "../action-menu/resources";
10
10
  import { connectConditionalSlotComponent, disconnectConditionalSlotComponent } from "../../utils/conditionalSlot";
11
+ import { updateHostInteraction } from "../../utils/interactive";
11
12
  /**
12
13
  * @slot - A slot for adding custom content.
13
14
  * @slot header-actions-start - A slot for adding actions or content to the start side of the panel header.
@@ -81,6 +82,14 @@ export class Panel {
81
82
  dismissedHandler() {
82
83
  this.calcitePanelDismissedChange.emit();
83
84
  }
85
+ //--------------------------------------------------------------------------
86
+ //
87
+ // Lifecycle
88
+ //
89
+ //--------------------------------------------------------------------------
90
+ componentDidRender() {
91
+ updateHostInteraction(this);
92
+ }
84
93
  // --------------------------------------------------------------------------
85
94
  //
86
95
  // Lifecycle
@@ -218,13 +227,13 @@ export class Panel {
218
227
  h("slot", { name: SLOTS.fab })));
219
228
  }
220
229
  render() {
221
- const { dismissed, disabled, dismissible, loading, panelKeyDownHandler } = this;
230
+ const { dismissed, dismissible, loading, panelKeyDownHandler } = this;
222
231
  const panelNode = (h("article", { "aria-busy": loading.toString(), class: CSS.container, hidden: dismissible && dismissed, onKeyDown: panelKeyDownHandler, ref: this.setContainerRef, tabIndex: dismissible ? 0 : -1 },
223
232
  this.renderHeaderNode(),
224
233
  this.renderContent(),
225
234
  this.renderFooterNode()));
226
235
  return (h(Fragment, null,
227
- loading || disabled ? h("calcite-scrim", { loading: loading }) : null,
236
+ loading ? h("calcite-scrim", { loading: loading }) : null,
228
237
  panelNode));
229
238
  }
230
239
  static get is() { return "calcite-panel"; }
@@ -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
  }