@esri/calcite-components 1.0.0-beta.90 → 1.0.0-beta.93

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 (1369) hide show
  1. package/LICENSE.md +13 -13
  2. package/dist/calcite/assets/date-picker/nls/ar.json +45 -45
  3. package/dist/calcite/assets/date-picker/nls/bg.json +31 -31
  4. package/dist/calcite/assets/date-picker/nls/bs.json +32 -32
  5. package/dist/calcite/assets/date-picker/nls/ca.json +32 -32
  6. package/dist/calcite/assets/date-picker/nls/cs.json +32 -32
  7. package/dist/calcite/assets/date-picker/nls/da.json +32 -32
  8. package/dist/calcite/assets/date-picker/nls/de-CH.json +29 -29
  9. package/dist/calcite/assets/date-picker/nls/de.json +32 -32
  10. package/dist/calcite/assets/date-picker/nls/el.json +32 -32
  11. package/dist/calcite/assets/date-picker/nls/en-AU.json +30 -30
  12. package/dist/calcite/assets/date-picker/nls/en-CA.json +14 -14
  13. package/dist/calcite/assets/date-picker/nls/en-GB.json +29 -29
  14. package/dist/calcite/assets/date-picker/nls/en.json +31 -31
  15. package/dist/calcite/assets/date-picker/nls/es-MX.json +29 -29
  16. package/dist/calcite/assets/date-picker/nls/es.json +32 -32
  17. package/dist/calcite/assets/date-picker/nls/et.json +32 -32
  18. package/dist/calcite/assets/date-picker/nls/fi.json +45 -45
  19. package/dist/calcite/assets/date-picker/nls/fr-CH.json +32 -32
  20. package/dist/calcite/assets/date-picker/nls/fr.json +32 -32
  21. package/dist/calcite/assets/date-picker/nls/he.json +19 -19
  22. package/dist/calcite/assets/date-picker/nls/hi.json +32 -32
  23. package/dist/calcite/assets/date-picker/nls/hr.json +32 -32
  24. package/dist/calcite/assets/date-picker/nls/hu.json +32 -32
  25. package/dist/calcite/assets/date-picker/nls/id.json +32 -32
  26. package/dist/calcite/assets/date-picker/nls/it-CH.json +32 -32
  27. package/dist/calcite/assets/date-picker/nls/it.json +32 -32
  28. package/dist/calcite/assets/date-picker/nls/ja.json +22 -22
  29. package/dist/calcite/assets/date-picker/nls/ko.json +22 -22
  30. package/dist/calcite/assets/date-picker/nls/lt.json +53 -53
  31. package/dist/calcite/assets/date-picker/nls/lv.json +45 -45
  32. package/dist/calcite/assets/date-picker/nls/mk.json +32 -32
  33. package/dist/calcite/assets/date-picker/nls/nb.json +32 -32
  34. package/dist/calcite/assets/date-picker/nls/nl.json +32 -32
  35. package/dist/calcite/assets/date-picker/nls/pl.json +32 -32
  36. package/dist/calcite/assets/date-picker/nls/pt-BR.json +31 -31
  37. package/dist/calcite/assets/date-picker/nls/pt-PT.json +32 -31
  38. package/dist/calcite/assets/date-picker/nls/pt.json +31 -31
  39. package/dist/calcite/assets/date-picker/nls/ro.json +32 -32
  40. package/dist/calcite/assets/date-picker/nls/ru.json +32 -32
  41. package/dist/calcite/assets/date-picker/nls/sk.json +32 -32
  42. package/dist/calcite/assets/date-picker/nls/sl.json +32 -32
  43. package/dist/calcite/assets/date-picker/nls/sr.json +32 -32
  44. package/dist/calcite/assets/date-picker/nls/sv.json +32 -32
  45. package/dist/calcite/assets/date-picker/nls/th.json +32 -32
  46. package/dist/calcite/assets/date-picker/nls/tr.json +32 -32
  47. package/dist/calcite/assets/date-picker/nls/uk.json +32 -32
  48. package/dist/calcite/assets/date-picker/nls/vi.json +45 -45
  49. package/dist/calcite/assets/date-picker/nls/zh-CN.json +22 -22
  50. package/dist/calcite/assets/date-picker/nls/zh-HK.json +22 -22
  51. package/dist/calcite/assets/date-picker/nls/zh-TW.json +22 -22
  52. package/dist/calcite/assets/icon/changeDetection16.json +1 -1
  53. package/dist/calcite/assets/icon/changeDetection24.json +1 -1
  54. package/dist/calcite/assets/icon/changeDetection32.json +1 -1
  55. package/dist/calcite/assets/icon/chartMagnifyingGlass16.json +1 -0
  56. package/dist/calcite/assets/icon/chartMagnifyingGlass24.json +1 -0
  57. package/dist/calcite/assets/icon/chartMagnifyingGlass32.json +1 -0
  58. package/dist/calcite/assets/icon/collaboration16.json +1 -0
  59. package/dist/calcite/assets/icon/collaboration24.json +1 -0
  60. package/dist/calcite/assets/icon/collaboration32.json +1 -0
  61. package/dist/calcite/assets/icon/collaborationDistributed16.json +1 -0
  62. package/dist/calcite/assets/icon/collaborationDistributed24.json +1 -0
  63. package/dist/calcite/assets/icon/collaborationDistributed32.json +1 -0
  64. package/dist/calcite/assets/icon/flip16.json +1 -0
  65. package/dist/calcite/assets/icon/flip24.json +1 -0
  66. package/dist/calcite/assets/icon/flip32.json +1 -0
  67. package/dist/calcite/assets/icon/security16.json +1 -1
  68. package/dist/calcite/assets/icon/security24.json +1 -1
  69. package/dist/calcite/assets/icon/security32.json +1 -1
  70. package/dist/calcite/assets/icon/sheildCoin16.json +1 -0
  71. package/dist/calcite/assets/icon/sheildCoin24.json +1 -0
  72. package/dist/calcite/assets/icon/sheildCoin32.json +1 -0
  73. package/dist/calcite/assets/icon/shieldCoin16.json +1 -0
  74. package/dist/calcite/assets/icon/shieldCoin24.json +1 -0
  75. package/dist/calcite/assets/icon/shieldCoin32.json +1 -0
  76. package/dist/calcite/assets/icon/unpin16.json +1 -0
  77. package/dist/calcite/assets/icon/unpin24.json +1 -0
  78. package/dist/calcite/assets/icon/unpin32.json +1 -0
  79. package/dist/calcite/calcite.esm.js +2 -2
  80. package/dist/calcite/calcite.js +1 -1
  81. package/dist/calcite/index.esm.js +1 -1
  82. package/dist/calcite/p-00cbb85f.system.entry.js +6 -0
  83. package/dist/calcite/{p-6b971467.entry.js → p-00d150f2.entry.js} +2 -2
  84. package/dist/calcite/p-01870de6.entry.js +6 -0
  85. package/dist/calcite/p-01b676af.entry.js +6 -0
  86. package/dist/calcite/p-01d3953d.system.entry.js +6 -0
  87. package/dist/calcite/p-02e0b722.system.js +6 -0
  88. package/dist/calcite/p-03562da5.system.entry.js +6 -0
  89. package/dist/calcite/p-04685fe4.entry.js +6 -0
  90. package/dist/calcite/p-0509ca3a.entry.js +6 -0
  91. package/dist/calcite/p-05db8259.system.entry.js +6 -0
  92. package/dist/calcite/p-07d3d6e5.entry.js +6 -0
  93. package/dist/calcite/p-089d8461.system.entry.js +6 -0
  94. package/dist/calcite/p-090c6537.entry.js +6 -0
  95. package/dist/calcite/p-0a861972.js +6 -0
  96. package/dist/calcite/{p-579c853a.system.js → p-0afb3088.system.js} +1 -1
  97. package/dist/calcite/p-0b5a943b.js +6 -0
  98. package/dist/calcite/p-0cea6bab.entry.js +6 -0
  99. package/dist/calcite/{p-b1b63d8f.system.entry.js → p-0d647626.system.entry.js} +2 -2
  100. package/dist/calcite/{p-27e72e42.system.js → p-10a45595.system.js} +1 -1
  101. package/dist/calcite/{p-5a6073a2.system.js → p-113cc2b0.system.js} +1 -1
  102. package/dist/calcite/p-11467d5d.system.entry.js +6 -0
  103. package/dist/calcite/{p-2cfdb770.system.js → p-11d5321f.system.js} +1 -1
  104. package/dist/calcite/p-1232824e.entry.js +6 -0
  105. package/dist/calcite/p-1240d47f.entry.js +6 -0
  106. package/dist/calcite/p-127d3f16.entry.js +6 -0
  107. package/dist/calcite/p-16eec3a7.entry.js +6 -0
  108. package/dist/calcite/p-18702b23.system.entry.js +6 -0
  109. package/dist/calcite/{p-659a15e3.system.js → p-196a0d1b.system.js} +2 -2
  110. package/dist/calcite/p-1ab0054e.system.js +6 -0
  111. package/dist/calcite/p-1aba2bce.entry.js +6 -0
  112. package/dist/calcite/{p-01cd253c.system.js → p-1bbf8efc.system.js} +1 -1
  113. package/dist/calcite/p-1d4c06fd.system.entry.js +6 -0
  114. package/dist/calcite/{p-0490bbfe.js → p-1df64778.js} +2 -2
  115. package/dist/calcite/{p-a07fbcff.system.js → p-21ed0b89.system.js} +2 -2
  116. package/dist/calcite/{p-6072f4ab.js → p-2312e382.js} +1 -1
  117. package/dist/calcite/{p-03079a67.js → p-25296b9e.js} +2 -2
  118. package/dist/calcite/p-254a69f9.system.entry.js +6 -0
  119. package/dist/calcite/p-28868ccc.system.entry.js +6 -0
  120. package/dist/calcite/p-29ddc4d7.entry.js +6 -0
  121. package/dist/calcite/p-2ac00999.entry.js +6 -0
  122. package/dist/calcite/p-2fdc6ff5.system.entry.js +6 -0
  123. package/dist/calcite/{p-01e752f7.js → p-302a8139.js} +1 -1
  124. package/dist/calcite/{p-4b5d0a42.system.js → p-31f60e7d.system.js} +1 -1
  125. package/dist/calcite/{p-93370d01.system.js → p-33ab1a35.system.js} +2 -2
  126. package/dist/calcite/p-33e1889f.entry.js +6 -0
  127. package/dist/calcite/p-35132009.system.entry.js +6 -0
  128. package/dist/calcite/{p-e96e6a73.js → p-360ec63a.js} +1 -1
  129. package/dist/calcite/{p-495a7226.system.js → p-3a3f2dde.system.js} +1 -1
  130. package/dist/calcite/{p-0c5ffab1.system.js → p-3bce6cd7.system.js} +1 -1
  131. package/dist/calcite/p-3c2009db.entry.js +6 -0
  132. package/dist/calcite/p-3d71bca9.entry.js +6 -0
  133. package/dist/calcite/p-3e5be22f.system.js +6 -0
  134. package/dist/calcite/p-4184afaf.entry.js +6 -0
  135. package/dist/calcite/p-4375cecb.system.entry.js +6 -0
  136. package/dist/calcite/{p-67c1c5d8.entry.js → p-445fd0b8.entry.js} +2 -2
  137. package/dist/calcite/p-44d879aa.js +6 -0
  138. package/dist/calcite/p-454f91d4.system.entry.js +6 -0
  139. package/dist/calcite/p-45710abc.entry.js +6 -0
  140. package/dist/calcite/p-45cd83d2.system.entry.js +6 -0
  141. package/dist/calcite/p-45f36f89.entry.js +6 -0
  142. package/dist/calcite/p-467908eb.system.entry.js +6 -0
  143. package/dist/calcite/p-4753bb58.entry.js +6 -0
  144. package/dist/calcite/p-495f772b.system.entry.js +6 -0
  145. package/dist/calcite/p-49f3a191.entry.js +6 -0
  146. package/dist/calcite/p-4c13c20f.entry.js +6 -0
  147. package/dist/calcite/{p-485e8d2e.system.js → p-4ee4c07e.system.js} +2 -2
  148. package/dist/calcite/{p-b4f4164f.entry.js → p-5167e918.entry.js} +2 -2
  149. package/dist/calcite/{p-eaf4b4e0.js → p-53545a85.js} +2 -2
  150. package/dist/calcite/p-537f656a.system.entry.js +6 -0
  151. package/dist/calcite/p-53a863e2.entry.js +6 -0
  152. package/dist/calcite/{p-4827d22a.system.entry.js → p-568ccb90.system.entry.js} +2 -2
  153. package/dist/calcite/p-587604fa.system.entry.js +6 -0
  154. package/dist/calcite/{p-cc769a35.system.entry.js → p-589f38b8.system.entry.js} +2 -2
  155. package/dist/calcite/{p-d9a0e8d9.js → p-58c1c8b0.js} +1 -1
  156. package/dist/calcite/p-58e988aa.js +6 -0
  157. package/dist/calcite/{p-308ddc30.system.js → p-59275123.system.js} +2 -2
  158. package/dist/calcite/{p-4d99711e.js → p-59b92fb4.js} +1 -1
  159. package/dist/calcite/p-5a4d4d43.system.entry.js +6 -0
  160. package/dist/calcite/p-5fc43c5c.system.js +6 -0
  161. package/dist/calcite/{p-e8db06af.system.entry.js → p-610e044b.system.entry.js} +2 -2
  162. package/dist/calcite/{p-9d51f0ee.js → p-6320bdc5.js} +1 -1
  163. package/dist/calcite/p-654c3208.entry.js +6 -0
  164. package/dist/calcite/{p-7fdef884.js → p-67eebd3a.js} +1 -1
  165. package/dist/calcite/p-6a5ab57f.system.entry.js +6 -0
  166. package/dist/calcite/p-6b4b9ea4.system.entry.js +6 -0
  167. package/dist/calcite/p-6ccca35c.entry.js +6 -0
  168. package/dist/calcite/p-6d372a75.system.entry.js +6 -0
  169. package/dist/calcite/p-74d32319.system.entry.js +6 -0
  170. package/dist/calcite/p-784f4ca9.entry.js +6 -0
  171. package/dist/calcite/p-7bccad75.entry.js +6 -0
  172. package/dist/calcite/p-7bcde78a.system.entry.js +6 -0
  173. package/dist/calcite/{p-177015f7.system.js → p-7c4514cc.system.js} +1 -1
  174. package/dist/calcite/p-7ccad3e7.entry.js +6 -0
  175. package/dist/calcite/p-7ef212bf.entry.js +6 -0
  176. package/dist/calcite/{p-de3ab3bb.js → p-7f70c6f8.js} +1 -1
  177. package/dist/calcite/p-83b22271.entry.js +6 -0
  178. package/dist/calcite/p-84383868.system.entry.js +6 -0
  179. package/dist/calcite/p-84a50b2f.system.entry.js +6 -0
  180. package/dist/calcite/{p-62ff4f74.system.js → p-880e859d.system.js} +1 -1
  181. package/dist/calcite/p-89810d95.js +6 -0
  182. package/dist/calcite/{p-da921532.js → p-8c1287d7.js} +1 -1
  183. package/dist/calcite/p-8c700fb6.system.entry.js +6 -0
  184. package/dist/calcite/p-8c9b4208.entry.js +6 -0
  185. package/dist/calcite/p-8d52ae3c.system.entry.js +6 -0
  186. package/dist/calcite/{p-06f79335.system.js → p-9119080a.system.js} +1 -1
  187. package/dist/calcite/p-93130f18.system.entry.js +6 -0
  188. package/dist/calcite/p-934b07d1.entry.js +6 -0
  189. package/dist/calcite/{p-00940666.js → p-93721054.js} +1 -1
  190. package/dist/calcite/p-94ed6cd7.system.entry.js +6 -0
  191. package/dist/calcite/p-974d4f34.entry.js +6 -0
  192. package/dist/calcite/{p-323d70d2.system.js → p-97967de4.system.js} +1 -1
  193. package/dist/calcite/p-9804887e.system.entry.js +6 -0
  194. package/dist/calcite/p-982f6b1a.system.js +6 -0
  195. package/dist/calcite/p-992b971e.system.entry.js +6 -0
  196. package/dist/calcite/p-9aefc997.system.entry.js +6 -0
  197. package/dist/calcite/p-9c3c8126.entry.js +6 -0
  198. package/dist/calcite/p-9d3bf0ce.system.entry.js +6 -0
  199. package/dist/calcite/p-9fc4c30d.system.js +6 -0
  200. package/dist/calcite/{p-3a59b5a1.entry.js → p-a2b155f6.entry.js} +2 -2
  201. package/dist/calcite/p-a330d0c1.entry.js +6 -0
  202. package/dist/calcite/p-a56c5b03.entry.js +6 -0
  203. package/dist/calcite/p-a59ca5f3.system.entry.js +6 -0
  204. package/dist/calcite/p-a5d8c321.entry.js +6 -0
  205. package/dist/calcite/p-a5ecb224.system.entry.js +6 -0
  206. package/dist/calcite/p-a9e281b4.system.entry.js +6 -0
  207. package/dist/calcite/p-aa65ad4a.entry.js +6 -0
  208. package/dist/calcite/p-aa8a1302.system.entry.js +6 -0
  209. package/dist/calcite/p-aaaeb247.entry.js +6 -0
  210. package/dist/calcite/p-ad8c9b35.system.entry.js +6 -0
  211. package/dist/calcite/p-adb4021c.system.entry.js +6 -0
  212. package/dist/calcite/p-add0fbd7.js +6 -0
  213. package/dist/calcite/{p-31c650e4.system.js → p-afdabbeb.system.js} +2 -2
  214. package/dist/calcite/p-b1aa6019.entry.js +6 -0
  215. package/dist/calcite/p-b1de8d4e.system.entry.js +6 -0
  216. package/dist/calcite/p-b1ec30df.entry.js +6 -0
  217. package/dist/calcite/p-b70b80e1.entry.js +6 -0
  218. package/dist/calcite/{p-176427a9.js → p-b75e6c78.js} +1 -1
  219. package/dist/calcite/{p-be20f015.js → p-baa2ee9c.js} +1 -1
  220. package/dist/calcite/{p-33fa3953.js → p-bb532b22.js} +2 -2
  221. package/dist/calcite/p-bb752e62.entry.js +6 -0
  222. package/dist/calcite/p-bc2cbb09.system.entry.js +6 -0
  223. package/dist/calcite/p-bce8deed.system.entry.js +6 -0
  224. package/dist/calcite/p-bf4f542a.system.entry.js +6 -0
  225. package/dist/calcite/{p-8811f227.entry.js → p-c043b29e.entry.js} +2 -2
  226. package/dist/calcite/p-c2e2ad0c.js +6 -0
  227. package/dist/calcite/{p-b1d099f2.entry.js → p-c3104419.entry.js} +2 -2
  228. package/dist/calcite/p-c4b33e5d.entry.js +6 -0
  229. package/dist/calcite/{p-d5b92e1d.system.entry.js → p-c5d36f8c.system.entry.js} +2 -2
  230. package/dist/calcite/p-c6793ba1.entry.js +6 -0
  231. package/dist/calcite/{p-d233312f.entry.js → p-c6c679ac.entry.js} +2 -2
  232. package/dist/calcite/{p-759b254c.system.js → p-c7b2f167.system.js} +1 -1
  233. package/dist/calcite/p-c99ed5a2.system.entry.js +6 -0
  234. package/dist/calcite/{p-b2c115ab.system.js → p-cab7fa23.system.js} +2 -2
  235. package/dist/calcite/p-cb93db8b.entry.js +6 -0
  236. package/dist/calcite/{p-e66da40a.js → p-d049fa40.js} +2 -2
  237. package/dist/calcite/p-d4009ffe.entry.js +6 -0
  238. package/dist/calcite/{p-97448516.js → p-d525a08c.js} +1 -1
  239. package/dist/calcite/p-da4cde84.system.entry.js +6 -0
  240. package/dist/calcite/{p-1531228a.js → p-dcd7b5d1.js} +2 -2
  241. package/dist/calcite/p-dd5f0609.system.entry.js +6 -0
  242. package/dist/calcite/{p-e3449d19.system.js → p-dfe35d4e.system.js} +2 -2
  243. package/dist/calcite/{p-85061f09.entry.js → p-e890a9ac.entry.js} +2 -2
  244. package/dist/calcite/p-e8930b74.entry.js +6 -0
  245. package/dist/calcite/{p-320e8c6b.system.entry.js → p-e9c4ca11.system.entry.js} +2 -2
  246. package/dist/calcite/{p-e991a73f.system.js → p-ee06e1aa.system.js} +1 -1
  247. package/dist/calcite/{p-7251b953.system.entry.js → p-ef4789a9.system.entry.js} +2 -2
  248. package/dist/calcite/p-f1039359.js +6 -0
  249. package/dist/calcite/{p-e67e6121.system.entry.js → p-f142aed3.entry.js} +3 -3
  250. package/dist/calcite/p-f2ba7c96.entry.js +6 -0
  251. package/dist/calcite/p-f308fd4e.system.entry.js +6 -0
  252. package/dist/calcite/p-f36909dc.system.entry.js +6 -0
  253. package/dist/calcite/p-f5d8aeee.system.js +6 -0
  254. package/dist/calcite/p-fb162793.system.entry.js +6 -0
  255. package/dist/calcite/p-fe94ce7b.system.entry.js +6 -0
  256. package/dist/cjs/{ExpandToggle-0e8197f5.js → ExpandToggle-b2290d64.js} +90 -90
  257. package/dist/cjs/{Heading-81ea78ba.js → Heading-de69eb01.js} +9 -9
  258. package/dist/cjs/app-globals-8c97cac1.js +55 -0
  259. package/dist/cjs/{array-181fe80c.js → array-34ec294e.js} +3 -3
  260. package/dist/cjs/calcite-accordion_2.cjs.entry.js +319 -316
  261. package/dist/cjs/calcite-action-bar.cjs.entry.js +200 -199
  262. package/dist/cjs/calcite-action-group.cjs.entry.js +75 -74
  263. package/dist/cjs/calcite-action-menu.cjs.entry.js +282 -268
  264. package/dist/cjs/calcite-action-pad.cjs.entry.js +121 -120
  265. package/dist/cjs/calcite-action.cjs.entry.js +143 -142
  266. package/dist/cjs/calcite-alert.cjs.entry.js +224 -217
  267. package/dist/cjs/calcite-avatar.cjs.entry.js +136 -135
  268. package/dist/cjs/calcite-block_2.cjs.entry.js +277 -275
  269. package/dist/cjs/calcite-button.cjs.entry.js +163 -162
  270. package/dist/cjs/calcite-card.cjs.entry.js +128 -127
  271. package/dist/cjs/calcite-checkbox.cjs.entry.js +126 -124
  272. package/dist/cjs/calcite-chip.cjs.entry.js +122 -105
  273. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +1169 -1161
  274. package/dist/cjs/calcite-combobox_3.cjs.entry.js +1014 -994
  275. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +937 -936
  276. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +682 -637
  277. package/dist/cjs/calcite-fab.cjs.entry.js +81 -80
  278. package/dist/cjs/calcite-filter.cjs.entry.js +133 -131
  279. package/dist/cjs/calcite-flow.cjs.entry.js +106 -106
  280. package/dist/cjs/calcite-graph_2.cjs.entry.js +979 -979
  281. package/dist/cjs/calcite-handle.cjs.entry.js +78 -75
  282. package/dist/cjs/calcite-icon.cjs.entry.js +157 -156
  283. package/dist/cjs/calcite-inline-editable.cjs.entry.js +231 -227
  284. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +540 -537
  285. package/dist/cjs/calcite-input-message.cjs.entry.js +58 -57
  286. package/dist/cjs/calcite-input-number.cjs.entry.js +524 -510
  287. package/dist/cjs/calcite-input-text.cjs.entry.js +344 -0
  288. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +1090 -1076
  289. package/dist/cjs/calcite-input.cjs.entry.js +628 -608
  290. package/dist/cjs/calcite-label.cjs.entry.js +68 -67
  291. package/dist/cjs/calcite-link.cjs.entry.js +66 -65
  292. package/dist/cjs/calcite-list_3.cjs.entry.js +180 -179
  293. package/dist/cjs/calcite-loader.cjs.entry.js +81 -81
  294. package/dist/cjs/calcite-modal.cjs.entry.js +324 -298
  295. package/dist/cjs/calcite-notice.cjs.entry.js +145 -130
  296. package/dist/cjs/calcite-option_3.cjs.entry.js +317 -316
  297. package/dist/cjs/calcite-pagination.cjs.entry.js +245 -245
  298. package/dist/cjs/calcite-panel.cjs.entry.js +318 -316
  299. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +334 -333
  300. package/dist/cjs/calcite-popover_2.cjs.entry.js +465 -450
  301. package/dist/cjs/calcite-progress.cjs.entry.js +24 -24
  302. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +96 -96
  303. package/dist/cjs/calcite-radio-button.cjs.entry.js +261 -259
  304. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +244 -243
  305. package/dist/cjs/calcite-rating.cjs.entry.js +139 -138
  306. package/dist/cjs/calcite-scrim.cjs.entry.js +42 -43
  307. package/dist/cjs/calcite-shell_3.cjs.entry.js +376 -375
  308. package/dist/cjs/calcite-sortable-list.cjs.entry.js +158 -158
  309. package/dist/cjs/calcite-split-button.cjs.entry.js +91 -87
  310. package/dist/cjs/calcite-stepper_2.cjs.entry.js +411 -379
  311. package/dist/cjs/calcite-switch.cjs.entry.js +106 -105
  312. package/dist/cjs/calcite-tab_4.cjs.entry.js +682 -637
  313. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +220 -220
  314. package/dist/cjs/calcite-tile.cjs.entry.js +71 -70
  315. package/dist/cjs/calcite-tip_3.cjs.entry.js +291 -290
  316. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +358 -350
  317. package/dist/cjs/calcite-tree_2.cjs.entry.js +480 -474
  318. package/dist/cjs/calcite-value-list_2.cjs.entry.js +409 -405
  319. package/dist/cjs/calcite.cjs.js +6 -3
  320. package/dist/cjs/{conditionalSlot-c88c5ae4.js → conditionalSlot-06657c5b.js} +37 -37
  321. package/dist/cjs/{debounce-5f743c00.js → debounce-d1724c1b.js} +1 -1
  322. package/dist/cjs/{dom-6e05c46f.js → dom-9d34fe95.js} +166 -179
  323. package/dist/cjs/{filter-7d4f5286.js → filter-34f3ce30.js} +34 -34
  324. package/dist/cjs/{floating-ui-6a55f508.js → floating-ui-9ea3748d.js} +236 -185
  325. package/dist/cjs/{form-69a13bb5.js → form-753af7bf.js} +215 -201
  326. package/dist/cjs/{guid-be70cd59.js → guid-d157229c.js} +12 -12
  327. package/dist/cjs/{index-161c312d.js → index-afcc8e68.js} +1 -1
  328. package/dist/cjs/index.cjs.js +1 -1
  329. package/dist/cjs/{interactive-5b50d1dc.js → interactive-4157d28f.js} +39 -39
  330. package/dist/cjs/{interfaces-b292f344.js → interfaces-d0082310.js} +7 -7
  331. package/dist/cjs/{key-e2ce3429.js → key-7da11b52.js} +4 -4
  332. package/dist/cjs/{label-7a2d25cf.js → label-c5d6d6f9.js} +118 -118
  333. package/dist/cjs/loader.cjs.js +6 -3
  334. package/dist/cjs/{locale-2df33b41.js → locale-e3ec67bd.js} +244 -244
  335. package/dist/cjs/{math-c7b453a3.js → math-95aadcfc.js} +12 -12
  336. package/dist/cjs/{observers-4af8e9eb.js → observers-70ca1a5f.js} +18 -18
  337. package/dist/cjs/openCloseComponent-a2beb5f0.js +54 -0
  338. package/dist/cjs/{resources-0ec45064.js → resources-2de8b619.js} +10 -10
  339. package/dist/cjs/{resources-fb2d094b.js → resources-4b7ed703.js} +11 -11
  340. package/dist/cjs/{resources-e57d36f7.js → resources-8cb481ad.js} +251 -251
  341. package/dist/cjs/resources-96e885bd.js +24 -0
  342. package/dist/cjs/{resources-f790112f.js → resources-abf1b91c.js} +348 -348
  343. package/dist/cjs/{sortable.esm-542390e8.js → sortable.esm-e44756d6.js} +1 -1
  344. package/dist/cjs/{utils-7ac530dd.js → utils-06b85079.js} +107 -107
  345. package/dist/collection/collection-manifest.json +3 -1
  346. package/dist/collection/components/accordion/accordion.js +305 -303
  347. package/dist/collection/components/accordion/interfaces.js +2 -2
  348. package/dist/collection/components/accordion-item/accordion-item.js +416 -416
  349. package/dist/collection/components/accordion-item/interfaces.js +2 -2
  350. package/dist/collection/components/accordion-item/resources.js +17 -17
  351. package/dist/collection/components/action/action.css +12 -5
  352. package/dist/collection/components/action/action.js +434 -434
  353. package/dist/collection/components/action/resources.js +14 -14
  354. package/dist/collection/components/action-bar/action-bar.js +431 -431
  355. package/dist/collection/components/action-bar/resources.js +12 -12
  356. package/dist/collection/components/action-bar/utils.js +53 -53
  357. package/dist/collection/components/action-group/action-group.js +213 -213
  358. package/dist/collection/components/action-group/resources.js +11 -11
  359. package/dist/collection/components/action-menu/action-menu.css +1 -1
  360. package/dist/collection/components/action-menu/action-menu.js +499 -485
  361. package/dist/collection/components/action-menu/resources.js +12 -12
  362. package/dist/collection/components/action-pad/action-pad.js +305 -305
  363. package/dist/collection/components/action-pad/resources.js +12 -12
  364. package/dist/collection/components/alert/alert.css +5 -7
  365. package/dist/collection/components/alert/alert.js +589 -560
  366. package/dist/collection/components/alert/interfaces.js +8 -8
  367. package/dist/collection/components/alert/resources.js +17 -17
  368. package/dist/collection/components/avatar/avatar.js +183 -183
  369. package/dist/collection/components/avatar/utils.js +58 -58
  370. package/dist/collection/components/block/block.css +0 -21
  371. package/dist/collection/components/block/block.js +482 -482
  372. package/dist/collection/components/block/resources.js +39 -39
  373. package/dist/collection/components/block-section/block-section.js +228 -227
  374. package/dist/collection/components/block-section/interfaces.js +2 -2
  375. package/dist/collection/components/block-section/resources.js +24 -24
  376. package/dist/collection/components/button/button.css +111 -59
  377. package/dist/collection/components/button/button.js +576 -576
  378. package/dist/collection/components/button/interfaces.js +2 -2
  379. package/dist/collection/components/button/resources.js +16 -16
  380. package/dist/collection/components/card/card.css +2 -2
  381. package/dist/collection/components/card/card.js +297 -297
  382. package/dist/collection/components/card/resources.js +22 -22
  383. package/dist/collection/components/checkbox/checkbox.js +397 -396
  384. package/dist/collection/components/chip/chip.css +34 -20
  385. package/dist/collection/components/chip/chip.js +368 -349
  386. package/dist/collection/components/chip/interfaces.js +2 -2
  387. package/dist/collection/components/chip/resources.js +17 -17
  388. package/dist/collection/components/color-picker/color-picker.js +1587 -1587
  389. package/dist/collection/components/color-picker/interfaces.js +2 -2
  390. package/dist/collection/components/color-picker/resources.js +102 -102
  391. package/dist/collection/components/color-picker/utils.js +108 -108
  392. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.css +0 -1
  393. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +365 -358
  394. package/dist/collection/components/color-picker-hex-input/resources.js +6 -6
  395. package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +119 -119
  396. package/dist/collection/components/color-picker-swatch/resources.js +9 -9
  397. package/dist/collection/components/combobox/combobox.css +12 -6
  398. package/dist/collection/components/combobox/combobox.js +1381 -1362
  399. package/dist/collection/components/combobox/interfaces.js +2 -2
  400. package/dist/collection/components/combobox/resources.js +12 -12
  401. package/dist/collection/components/combobox/utils.js +28 -28
  402. package/dist/collection/components/combobox-item/combobox-item.js +365 -365
  403. package/dist/collection/components/combobox-item/resources.js +13 -13
  404. package/dist/collection/components/combobox-item-group/combobox-item-group.js +85 -85
  405. package/dist/collection/components/combobox-item-group/resources.js +6 -6
  406. package/dist/collection/components/date-picker/assets/date-picker/nls/ar.json +45 -45
  407. package/dist/collection/components/date-picker/assets/date-picker/nls/bg.json +31 -31
  408. package/dist/collection/components/date-picker/assets/date-picker/nls/bs.json +32 -32
  409. package/dist/collection/components/date-picker/assets/date-picker/nls/ca.json +32 -32
  410. package/dist/collection/components/date-picker/assets/date-picker/nls/cs.json +32 -32
  411. package/dist/collection/components/date-picker/assets/date-picker/nls/da.json +32 -32
  412. package/dist/collection/components/date-picker/assets/date-picker/nls/de-CH.json +29 -29
  413. package/dist/collection/components/date-picker/assets/date-picker/nls/de.json +32 -32
  414. package/dist/collection/components/date-picker/assets/date-picker/nls/el.json +32 -32
  415. package/dist/collection/components/date-picker/assets/date-picker/nls/en-AU.json +30 -30
  416. package/dist/collection/components/date-picker/assets/date-picker/nls/en-CA.json +14 -14
  417. package/dist/collection/components/date-picker/assets/date-picker/nls/en-GB.json +29 -29
  418. package/dist/collection/components/date-picker/assets/date-picker/nls/en.json +31 -31
  419. package/dist/collection/components/date-picker/assets/date-picker/nls/es-MX.json +29 -29
  420. package/dist/collection/components/date-picker/assets/date-picker/nls/es.json +32 -32
  421. package/dist/collection/components/date-picker/assets/date-picker/nls/et.json +32 -32
  422. package/dist/collection/components/date-picker/assets/date-picker/nls/fi.json +45 -45
  423. package/dist/collection/components/date-picker/assets/date-picker/nls/fr-CH.json +32 -32
  424. package/dist/collection/components/date-picker/assets/date-picker/nls/fr.json +32 -32
  425. package/dist/collection/components/date-picker/assets/date-picker/nls/he.json +19 -19
  426. package/dist/collection/components/date-picker/assets/date-picker/nls/hi.json +32 -32
  427. package/dist/collection/components/date-picker/assets/date-picker/nls/hr.json +32 -32
  428. package/dist/collection/components/date-picker/assets/date-picker/nls/hu.json +32 -32
  429. package/dist/collection/components/date-picker/assets/date-picker/nls/id.json +32 -32
  430. package/dist/collection/components/date-picker/assets/date-picker/nls/it-CH.json +32 -32
  431. package/dist/collection/components/date-picker/assets/date-picker/nls/it.json +32 -32
  432. package/dist/collection/components/date-picker/assets/date-picker/nls/ja.json +22 -22
  433. package/dist/collection/components/date-picker/assets/date-picker/nls/ko.json +22 -22
  434. package/dist/collection/components/date-picker/assets/date-picker/nls/lt.json +53 -53
  435. package/dist/collection/components/date-picker/assets/date-picker/nls/lv.json +45 -45
  436. package/dist/collection/components/date-picker/assets/date-picker/nls/mk.json +32 -32
  437. package/dist/collection/components/date-picker/assets/date-picker/nls/nb.json +32 -32
  438. package/dist/collection/components/date-picker/assets/date-picker/nls/nl.json +32 -32
  439. package/dist/collection/components/date-picker/assets/date-picker/nls/pl.json +32 -32
  440. package/dist/collection/components/date-picker/assets/date-picker/nls/pt-BR.json +31 -31
  441. package/dist/collection/components/date-picker/assets/date-picker/nls/pt-PT.json +32 -31
  442. package/dist/collection/components/date-picker/assets/date-picker/nls/pt.json +31 -31
  443. package/dist/collection/components/date-picker/assets/date-picker/nls/ro.json +32 -32
  444. package/dist/collection/components/date-picker/assets/date-picker/nls/ru.json +32 -32
  445. package/dist/collection/components/date-picker/assets/date-picker/nls/sk.json +32 -32
  446. package/dist/collection/components/date-picker/assets/date-picker/nls/sl.json +32 -32
  447. package/dist/collection/components/date-picker/assets/date-picker/nls/sr.json +32 -32
  448. package/dist/collection/components/date-picker/assets/date-picker/nls/sv.json +32 -32
  449. package/dist/collection/components/date-picker/assets/date-picker/nls/th.json +32 -32
  450. package/dist/collection/components/date-picker/assets/date-picker/nls/tr.json +32 -32
  451. package/dist/collection/components/date-picker/assets/date-picker/nls/uk.json +32 -32
  452. package/dist/collection/components/date-picker/assets/date-picker/nls/vi.json +45 -45
  453. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-CN.json +22 -22
  454. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-HK.json +22 -22
  455. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-TW.json +22 -22
  456. package/dist/collection/components/date-picker/date-picker.js +862 -862
  457. package/dist/collection/components/date-picker/interfaces.js +2 -2
  458. package/dist/collection/components/date-picker/resources.js +7 -7
  459. package/dist/collection/components/date-picker/utils.js +60 -60
  460. package/dist/collection/components/date-picker-day/date-picker-day.css +0 -3
  461. package/dist/collection/components/date-picker-day/date-picker-day.js +360 -359
  462. package/dist/collection/components/date-picker-month/date-picker-month.js +576 -573
  463. package/dist/collection/components/date-picker-month-header/date-picker-month-header.css +0 -1
  464. package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +412 -414
  465. package/dist/collection/components/date-picker-month-header/resources.js +2 -2
  466. package/dist/collection/components/dropdown/dropdown.css +9 -5
  467. package/dist/collection/components/dropdown/dropdown.js +859 -832
  468. package/dist/collection/components/dropdown/interfaces.js +2 -2
  469. package/dist/collection/components/dropdown/resources.js +7 -7
  470. package/dist/collection/components/dropdown-group/dropdown-group.js +164 -164
  471. package/dist/collection/components/dropdown-group/interfaces.js +2 -2
  472. package/dist/collection/components/dropdown-group/resources.js +6 -6
  473. package/dist/collection/components/dropdown-item/dropdown-item.css +6 -6
  474. package/dist/collection/components/dropdown-item/dropdown-item.js +456 -411
  475. package/dist/collection/components/dropdown-item/resources.js +10 -10
  476. package/dist/collection/components/fab/fab.js +283 -283
  477. package/dist/collection/components/fab/resources.js +7 -7
  478. package/dist/collection/components/filter/filter.js +313 -312
  479. package/dist/collection/components/filter/resources.js +14 -14
  480. package/dist/collection/components/flow/flow.js +147 -147
  481. package/dist/collection/components/flow/interfaces.js +2 -2
  482. package/dist/collection/components/flow/resources.js +6 -6
  483. package/dist/collection/components/functional/ExpandToggle.js +43 -43
  484. package/dist/collection/components/functional/Heading.js +10 -10
  485. package/dist/collection/components/graph/graph.js +214 -214
  486. package/dist/collection/components/graph/interfaces.js +2 -2
  487. package/dist/collection/components/graph/util.js +127 -127
  488. package/dist/collection/components/handle/handle.js +158 -156
  489. package/dist/collection/components/handle/resources.js +8 -8
  490. package/dist/collection/components/icon/assets/icon/changeDetection16.json +1 -1
  491. package/dist/collection/components/icon/assets/icon/changeDetection24.json +1 -1
  492. package/dist/collection/components/icon/assets/icon/changeDetection32.json +1 -1
  493. package/dist/collection/components/icon/assets/icon/chartMagnifyingGlass16.json +1 -0
  494. package/dist/collection/components/icon/assets/icon/chartMagnifyingGlass24.json +1 -0
  495. package/dist/collection/components/icon/assets/icon/chartMagnifyingGlass32.json +1 -0
  496. package/dist/collection/components/icon/assets/icon/collaboration16.json +1 -0
  497. package/dist/collection/components/icon/assets/icon/collaboration24.json +1 -0
  498. package/dist/collection/components/icon/assets/icon/collaboration32.json +1 -0
  499. package/dist/collection/components/icon/assets/icon/collaborationDistributed16.json +1 -0
  500. package/dist/collection/components/icon/assets/icon/collaborationDistributed24.json +1 -0
  501. package/dist/collection/components/icon/assets/icon/collaborationDistributed32.json +1 -0
  502. package/dist/collection/components/icon/assets/icon/flip16.json +1 -0
  503. package/dist/collection/components/icon/assets/icon/flip24.json +1 -0
  504. package/dist/collection/components/icon/assets/icon/flip32.json +1 -0
  505. package/dist/collection/components/icon/assets/icon/security16.json +1 -1
  506. package/dist/collection/components/icon/assets/icon/security24.json +1 -1
  507. package/dist/collection/components/icon/assets/icon/security32.json +1 -1
  508. package/dist/collection/components/icon/assets/icon/sheildCoin16.json +1 -0
  509. package/dist/collection/components/icon/assets/icon/sheildCoin24.json +1 -0
  510. package/dist/collection/components/icon/assets/icon/sheildCoin32.json +1 -0
  511. package/dist/collection/components/icon/assets/icon/shieldCoin16.json +1 -0
  512. package/dist/collection/components/icon/assets/icon/shieldCoin24.json +1 -0
  513. package/dist/collection/components/icon/assets/icon/shieldCoin32.json +1 -0
  514. package/dist/collection/components/icon/assets/icon/unpin16.json +1 -0
  515. package/dist/collection/components/icon/assets/icon/unpin24.json +1 -0
  516. package/dist/collection/components/icon/assets/icon/unpin32.json +1 -0
  517. package/dist/collection/components/icon/icon.js +186 -186
  518. package/dist/collection/components/icon/resources.js +5 -5
  519. package/dist/collection/components/icon/utils.js +64 -64
  520. package/dist/collection/components/inline-editable/inline-editable.js +485 -482
  521. package/dist/collection/components/inline-editable/resources.js +15 -15
  522. package/dist/collection/components/input/input.css +0 -2
  523. package/dist/collection/components/input/input.js +1397 -1378
  524. package/dist/collection/components/input/interfaces.js +2 -2
  525. package/dist/collection/components/input/resources.js +31 -31
  526. package/dist/collection/components/input-date-picker/input-date-picker.css +12 -3
  527. package/dist/collection/components/input-date-picker/input-date-picker.js +1313 -1311
  528. package/dist/collection/components/input-date-picker/resources.js +5 -5
  529. package/dist/collection/components/input-message/input-message.js +170 -170
  530. package/dist/collection/components/input-message/interfaces.js +7 -7
  531. package/dist/collection/components/input-number/input-number.css +0 -2
  532. package/dist/collection/components/input-number/input-number.js +1259 -1246
  533. package/dist/collection/components/input-number/interfaces.js +2 -2
  534. package/dist/collection/components/input-number/resources.js +23 -23
  535. package/dist/collection/components/input-text/input-text.css +398 -0
  536. package/dist/collection/components/input-text/input-text.js +912 -0
  537. package/dist/collection/components/input-text/resources.js +24 -0
  538. package/dist/collection/components/input-time-picker/input-time-picker.js +755 -751
  539. package/dist/collection/components/interfaces.js +2 -2
  540. package/dist/collection/components/label/label.js +249 -249
  541. package/dist/collection/components/label/resources.js +4 -4
  542. package/dist/collection/components/link/link.js +243 -243
  543. package/dist/collection/components/list/list.js +122 -122
  544. package/dist/collection/components/list/resources.js +4 -4
  545. package/dist/collection/components/list-item/list-item.js +208 -208
  546. package/dist/collection/components/list-item/resources.js +21 -21
  547. package/dist/collection/components/list-item-group/list-item-group.js +76 -76
  548. package/dist/collection/components/list-item-group/resources.js +6 -6
  549. package/dist/collection/components/loader/loader.js +249 -249
  550. package/dist/collection/components/modal/interfaces.js +2 -2
  551. package/dist/collection/components/modal/modal.css +24 -20
  552. package/dist/collection/components/modal/modal.js +766 -748
  553. package/dist/collection/components/modal/resources.js +33 -25
  554. package/dist/collection/components/notice/notice.js +402 -384
  555. package/dist/collection/components/notice/resources.js +17 -17
  556. package/dist/collection/components/option/option.js +181 -181
  557. package/dist/collection/components/option-group/option-group.js +102 -102
  558. package/dist/collection/components/pagination/pagination.js +391 -391
  559. package/dist/collection/components/pagination/resources.js +15 -15
  560. package/dist/collection/components/panel/panel.css +2 -30
  561. package/dist/collection/components/panel/panel.js +778 -777
  562. package/dist/collection/components/panel/resources.js +44 -44
  563. package/dist/collection/components/pick-list/pick-list.js +385 -385
  564. package/dist/collection/components/pick-list/resources.js +16 -16
  565. package/dist/collection/components/pick-list/shared-list-logic.js +300 -300
  566. package/dist/collection/components/pick-list/shared-list-render.js +16 -16
  567. package/dist/collection/components/pick-list-group/pick-list-group.css +3 -22
  568. package/dist/collection/components/pick-list-group/pick-list-group.js +96 -96
  569. package/dist/collection/components/pick-list-group/resources.js +10 -10
  570. package/dist/collection/components/pick-list-item/pick-list-item.js +518 -518
  571. package/dist/collection/components/pick-list-item/resources.js +27 -27
  572. package/dist/collection/components/popover/PopoverManager.js +70 -70
  573. package/dist/collection/components/popover/popover.css +1 -1
  574. package/dist/collection/components/popover/popover.js +844 -826
  575. package/dist/collection/components/popover/resources.js +20 -20
  576. package/dist/collection/components/popover-manager/popover-manager.js +115 -115
  577. package/dist/collection/components/progress/progress.css +2 -2
  578. package/dist/collection/components/progress/progress.js +123 -123
  579. package/dist/collection/components/radio-button/radio-button.js +598 -597
  580. package/dist/collection/components/radio-button/resources.js +4 -4
  581. package/dist/collection/components/radio-button-group/radio-button-group.js +255 -255
  582. package/dist/collection/components/radio-group/interfaces.js +2 -2
  583. package/dist/collection/components/radio-group/radio-group.css +0 -5
  584. package/dist/collection/components/radio-group/radio-group.js +452 -452
  585. package/dist/collection/components/radio-group-item/radio-group-item.js +168 -168
  586. package/dist/collection/components/radio-group-item/resources.js +7 -7
  587. package/dist/collection/components/rating/rating.css +1 -1
  588. package/dist/collection/components/rating/rating.js +413 -413
  589. package/dist/collection/components/rating/resources.js +5 -5
  590. package/dist/collection/components/scrim/resources.js +8 -8
  591. package/dist/collection/components/scrim/scrim.css +1 -1
  592. package/dist/collection/components/scrim/scrim.js +90 -91
  593. package/dist/collection/components/select/resources.js +6 -6
  594. package/dist/collection/components/select/select.css +2 -2
  595. package/dist/collection/components/select/select.js +432 -432
  596. package/dist/collection/components/shell/resources.js +17 -17
  597. package/dist/collection/components/shell/shell.css +3 -3
  598. package/dist/collection/components/shell/shell.js +120 -120
  599. package/dist/collection/components/shell-center-row/resources.js +8 -8
  600. package/dist/collection/components/shell-center-row/shell-center-row.js +134 -134
  601. package/dist/collection/components/shell-panel/resources.js +16 -16
  602. package/dist/collection/components/shell-panel/shell-panel.css +0 -1
  603. package/dist/collection/components/shell-panel/shell-panel.js +402 -402
  604. package/dist/collection/components/slider/slider.js +1328 -1335
  605. package/dist/collection/components/sortable-list/resources.js +7 -7
  606. package/dist/collection/components/sortable-list/sortable-list.js +303 -303
  607. package/dist/collection/components/split-button/resources.js +9 -9
  608. package/dist/collection/components/split-button/split-button.css +16 -10
  609. package/dist/collection/components/split-button/split-button.js +446 -442
  610. package/dist/collection/components/stepper/interfaces.js +2 -2
  611. package/dist/collection/components/stepper/stepper.css +2 -1
  612. package/dist/collection/components/stepper/stepper.js +471 -471
  613. package/dist/collection/components/stepper-item/stepper-item.css +34 -34
  614. package/dist/collection/components/stepper-item/stepper-item.js +600 -546
  615. package/dist/collection/components/switch/switch.js +287 -287
  616. package/dist/collection/components/tab/interfaces.js +2 -2
  617. package/dist/collection/components/tab/tab.css +2 -2
  618. package/dist/collection/components/tab/tab.js +299 -253
  619. package/dist/collection/components/tab-nav/tab-nav.css +4 -0
  620. package/dist/collection/components/tab-nav/tab-nav.js +479 -480
  621. package/dist/collection/components/tab-title/tab-title.css +31 -43
  622. package/dist/collection/components/tab-title/tab-title.js +668 -621
  623. package/dist/collection/components/tabs/interfaces.js +2 -2
  624. package/dist/collection/components/tabs/resources.js +4 -4
  625. package/dist/collection/components/tabs/tabs.js +284 -284
  626. package/dist/collection/components/tile/resources.js +5 -5
  627. package/dist/collection/components/tile/tile.js +250 -250
  628. package/dist/collection/components/tile-select/interfaces.js +2 -2
  629. package/dist/collection/components/tile-select/resources.js +17 -17
  630. package/dist/collection/components/tile-select/tile-select.css +0 -8
  631. package/dist/collection/components/tile-select/tile-select.js +525 -525
  632. package/dist/collection/components/tile-select-group/interfaces.js +2 -2
  633. package/dist/collection/components/tile-select-group/tile-select-group.js +82 -82
  634. package/dist/collection/components/time-picker/resources.js +44 -44
  635. package/dist/collection/components/time-picker/time-picker.js +1109 -1102
  636. package/dist/collection/components/tip/resources.js +21 -21
  637. package/dist/collection/components/tip/tip.css +2 -21
  638. package/dist/collection/components/tip/tip.js +228 -228
  639. package/dist/collection/components/tip-group/tip-group.js +37 -37
  640. package/dist/collection/components/tip-manager/resources.js +27 -27
  641. package/dist/collection/components/tip-manager/tip-manager.css +1 -22
  642. package/dist/collection/components/tip-manager/tip-manager.js +384 -384
  643. package/dist/collection/components/tooltip/TooltipManager.js +157 -157
  644. package/dist/collection/components/tooltip/resources.js +7 -7
  645. package/dist/collection/components/tooltip/tooltip.css +1 -1
  646. package/dist/collection/components/tooltip/tooltip.js +386 -379
  647. package/dist/collection/components/tooltip-manager/tooltip-manager.js +60 -60
  648. package/dist/collection/components/tree/interfaces.js +10 -9
  649. package/dist/collection/components/tree/tree.js +428 -425
  650. package/dist/collection/components/tree-item/interfaces.js +2 -2
  651. package/dist/collection/components/tree-item/resources.js +19 -18
  652. package/dist/collection/components/tree-item/tree-item.css +6 -2
  653. package/dist/collection/components/tree-item/tree-item.js +480 -480
  654. package/dist/collection/components/value-list/interfaces.js +2 -2
  655. package/dist/collection/components/value-list/resources.js +12 -12
  656. package/dist/collection/components/value-list/utils.js +45 -45
  657. package/dist/collection/components/value-list/value-list.css +1 -1
  658. package/dist/collection/components/value-list/value-list.js +577 -574
  659. package/dist/collection/components/value-list-item/resources.js +8 -8
  660. package/dist/collection/components/value-list-item/value-list-item.js +422 -423
  661. package/dist/collection/demos/_assets/demo-dom-swapper.js +45 -0
  662. package/dist/collection/demos/_assets/demo-form.js +22 -0
  663. package/dist/collection/demos/_assets/demo-spacer.js +17 -0
  664. package/dist/collection/demos/_assets/demo-template.js +24 -0
  665. package/dist/collection/demos/_assets/head.js +48 -0
  666. package/dist/collection/demos/_assets/locales.js +223 -0
  667. package/dist/collection/utils/array.js +4 -4
  668. package/dist/collection/utils/conditionalSlot.js +38 -38
  669. package/dist/collection/utils/date.js +189 -189
  670. package/dist/collection/utils/dom.js +166 -166
  671. package/dist/collection/utils/filter.js +35 -35
  672. package/dist/collection/utils/floating-ui.js +227 -225
  673. package/dist/collection/utils/form.js +216 -202
  674. package/dist/collection/utils/globalAttributes.js +61 -61
  675. package/dist/collection/utils/globalScript.js +22 -0
  676. package/dist/collection/utils/guid.js +13 -13
  677. package/dist/collection/utils/interactive.js +42 -42
  678. package/dist/collection/utils/key.js +33 -33
  679. package/dist/collection/utils/label.js +119 -119
  680. package/dist/collection/utils/locale.js +119 -119
  681. package/dist/collection/utils/math.js +13 -13
  682. package/dist/collection/utils/number.js +130 -130
  683. package/dist/collection/utils/observers.js +20 -20
  684. package/dist/collection/utils/openCloseComponent.js +45 -2
  685. package/dist/collection/utils/popper.js +121 -0
  686. package/dist/collection/utils/resources.js +27 -27
  687. package/dist/collection/utils/theme.js +31 -0
  688. package/dist/collection/utils/time.js +177 -177
  689. package/dist/components/ExpandToggle.js +87 -87
  690. package/dist/components/Heading.js +9 -9
  691. package/dist/components/action-group.js +125 -125
  692. package/dist/components/action-menu.js +335 -321
  693. package/dist/components/action.js +179 -179
  694. package/dist/components/array.js +3 -3
  695. package/dist/components/button.js +206 -206
  696. package/dist/components/calcite-accordion-item.js +202 -201
  697. package/dist/components/calcite-accordion.js +167 -165
  698. package/dist/components/calcite-action-bar.js +248 -248
  699. package/dist/components/calcite-action-group.js +1 -1
  700. package/dist/components/calcite-action-menu.js +1 -1
  701. package/dist/components/calcite-action-pad.js +168 -168
  702. package/dist/components/calcite-action.js +1 -1
  703. package/dist/components/calcite-alert.js +262 -255
  704. package/dist/components/calcite-avatar.js +160 -160
  705. package/dist/components/calcite-block-section.js +129 -128
  706. package/dist/components/calcite-block.js +243 -243
  707. package/dist/components/calcite-button.js +1 -1
  708. package/dist/components/calcite-card.js +162 -162
  709. package/dist/components/calcite-checkbox.js +1 -1
  710. package/dist/components/calcite-chip.js +1 -1
  711. package/dist/components/calcite-color-picker-hex-input.js +1 -1
  712. package/dist/components/calcite-color-picker-swatch.js +1 -1
  713. package/dist/components/calcite-color-picker.js +936 -936
  714. package/dist/components/calcite-combobox-item-group.js +52 -52
  715. package/dist/components/calcite-combobox-item.js +157 -157
  716. package/dist/components/calcite-combobox.js +879 -860
  717. package/dist/components/calcite-date-picker-day.js +1 -1
  718. package/dist/components/calcite-date-picker-month-header.js +1 -1
  719. package/dist/components/calcite-date-picker-month.js +1 -1
  720. package/dist/components/calcite-date-picker.js +1 -1
  721. package/dist/components/calcite-dropdown-group.js +78 -78
  722. package/dist/components/calcite-dropdown-item.js +214 -192
  723. package/dist/components/calcite-dropdown.js +1 -1
  724. package/dist/components/calcite-fab.js +119 -119
  725. package/dist/components/calcite-filter.js +1 -1
  726. package/dist/components/calcite-flow.js +126 -126
  727. package/dist/components/calcite-graph.js +1 -1
  728. package/dist/components/calcite-handle.js +1 -1
  729. package/dist/components/calcite-icon.js +1 -1
  730. package/dist/components/calcite-inline-editable.js +267 -264
  731. package/dist/components/calcite-input-date-picker.js +617 -615
  732. package/dist/components/calcite-input-message.js +82 -82
  733. package/dist/components/calcite-input-number.js +577 -563
  734. package/dist/components/calcite-input-text.d.ts +11 -0
  735. package/dist/components/calcite-input-text.js +396 -0
  736. package/dist/components/calcite-input-time-picker.js +328 -322
  737. package/dist/components/calcite-input.js +1 -1
  738. package/dist/components/calcite-label.js +1 -1
  739. package/dist/components/calcite-link.js +1 -1
  740. package/dist/components/calcite-list-item-group.js +44 -44
  741. package/dist/components/calcite-list-item.js +129 -129
  742. package/dist/components/calcite-list.js +65 -65
  743. package/dist/components/calcite-loader.js +1 -1
  744. package/dist/components/calcite-modal.js +370 -344
  745. package/dist/components/calcite-notice.js +171 -157
  746. package/dist/components/calcite-option-group.js +51 -51
  747. package/dist/components/calcite-option.js +98 -98
  748. package/dist/components/calcite-pagination.js +273 -273
  749. package/dist/components/calcite-panel.js +377 -376
  750. package/dist/components/calcite-pick-list-group.js +59 -59
  751. package/dist/components/calcite-pick-list-item.js +1 -1
  752. package/dist/components/calcite-pick-list.js +187 -187
  753. package/dist/components/calcite-popover-manager.js +80 -80
  754. package/dist/components/calcite-popover.js +1 -1
  755. package/dist/components/calcite-progress.js +1 -1
  756. package/dist/components/calcite-radio-button-group.js +118 -118
  757. package/dist/components/calcite-radio-button.js +284 -283
  758. package/dist/components/calcite-radio-group-item.js +72 -72
  759. package/dist/components/calcite-radio-group.js +222 -222
  760. package/dist/components/calcite-rating.js +174 -174
  761. package/dist/components/calcite-scrim.js +1 -1
  762. package/dist/components/calcite-select.js +236 -236
  763. package/dist/components/calcite-shell-center-row.js +78 -78
  764. package/dist/components/calcite-shell-panel.js +256 -256
  765. package/dist/components/calcite-shell.js +103 -103
  766. package/dist/components/calcite-slider.js +811 -812
  767. package/dist/components/calcite-sortable-list.js +179 -179
  768. package/dist/components/calcite-split-button.js +142 -138
  769. package/dist/components/calcite-stepper-item.js +229 -197
  770. package/dist/components/calcite-stepper.js +242 -242
  771. package/dist/components/calcite-switch.js +1 -1
  772. package/dist/components/calcite-tab-nav.js +1 -1
  773. package/dist/components/calcite-tab-title.js +1 -1
  774. package/dist/components/calcite-tab.js +1 -1
  775. package/dist/components/calcite-tabs.js +1 -1
  776. package/dist/components/calcite-tile-select-group.js +47 -47
  777. package/dist/components/calcite-tile-select.js +238 -238
  778. package/dist/components/calcite-tile.js +1 -1
  779. package/dist/components/calcite-time-picker.js +1 -1
  780. package/dist/components/calcite-tip-group.js +28 -28
  781. package/dist/components/calcite-tip-manager.js +205 -205
  782. package/dist/components/calcite-tip.js +135 -135
  783. package/dist/components/calcite-tooltip-manager.js +44 -44
  784. package/dist/components/calcite-tooltip.js +357 -350
  785. package/dist/components/calcite-tree-item.js +260 -258
  786. package/dist/components/calcite-tree.js +271 -268
  787. package/dist/components/calcite-value-list-item.js +179 -179
  788. package/dist/components/calcite-value-list.js +336 -333
  789. package/dist/components/checkbox.js +148 -147
  790. package/dist/components/chip.js +150 -134
  791. package/dist/components/color-picker-hex-input.js +336 -329
  792. package/dist/components/color-picker-swatch.js +70 -70
  793. package/dist/components/conditionalSlot.js +36 -36
  794. package/dist/components/date-picker-day.js +98 -96
  795. package/dist/components/date-picker-month-header.js +189 -191
  796. package/dist/components/date-picker-month.js +332 -329
  797. package/dist/components/date-picker.js +541 -541
  798. package/dist/components/date.js +188 -188
  799. package/dist/components/debounce.js +1 -1
  800. package/dist/components/dom.js +165 -177
  801. package/dist/components/dropdown.js +470 -447
  802. package/dist/components/filter.js +33 -33
  803. package/dist/components/filter2.js +168 -167
  804. package/dist/components/floating-ui.js +235 -184
  805. package/dist/components/form.js +214 -200
  806. package/dist/components/graph.js +235 -235
  807. package/dist/components/guid.js +12 -12
  808. package/dist/components/handle.js +100 -98
  809. package/dist/components/icon.js +176 -176
  810. package/dist/components/index.js +50 -2
  811. package/dist/components/input.js +683 -663
  812. package/dist/components/interactive.js +39 -39
  813. package/dist/components/interfaces.js +7 -7
  814. package/dist/components/interfaces2.js +9 -8
  815. package/dist/components/key.js +4 -4
  816. package/dist/components/label.js +117 -117
  817. package/dist/components/label2.js +88 -88
  818. package/dist/components/link.js +95 -94
  819. package/dist/components/loader.js +105 -105
  820. package/dist/components/locale.js +243 -243
  821. package/dist/components/math.js +12 -12
  822. package/dist/components/observers.js +19 -19
  823. package/dist/components/openCloseComponent.js +51 -0
  824. package/dist/components/pick-list-item.js +232 -232
  825. package/dist/components/popover.js +454 -440
  826. package/dist/components/progress.js +46 -46
  827. package/dist/components/resources.js +13 -13
  828. package/dist/components/resources2.js +13 -10
  829. package/dist/components/resources3.js +11 -28
  830. package/dist/components/resources4.js +33 -0
  831. package/dist/components/scrim.js +66 -67
  832. package/dist/components/shared-list-render.js +303 -303
  833. package/dist/components/sortable.esm.js +1 -1
  834. package/dist/components/switch.js +125 -125
  835. package/dist/components/tab-nav.js +227 -228
  836. package/dist/components/tab-title.js +253 -228
  837. package/dist/components/tab.js +140 -118
  838. package/dist/components/tabs.js +176 -176
  839. package/dist/components/tile.js +101 -101
  840. package/dist/components/time-picker.js +885 -878
  841. package/dist/components/utils.js +107 -107
  842. package/dist/components/utils2.js +30 -30
  843. package/dist/custom-elements/index.d.ts +6 -0
  844. package/dist/custom-elements/index.js +22884 -22102
  845. package/dist/esm/{ExpandToggle-32403ce8.js → ExpandToggle-87ab4f71.js} +90 -90
  846. package/dist/esm/{Heading-a9ab89d5.js → Heading-102fe57b.js} +9 -9
  847. package/dist/esm/app-globals-67426734.js +53 -0
  848. package/dist/esm/{array-d75bd72e.js → array-f5e4a1f6.js} +3 -3
  849. package/dist/esm/calcite-accordion_2.entry.js +319 -316
  850. package/dist/esm/calcite-action-bar.entry.js +200 -199
  851. package/dist/esm/calcite-action-group.entry.js +75 -74
  852. package/dist/esm/calcite-action-menu.entry.js +282 -268
  853. package/dist/esm/calcite-action-pad.entry.js +121 -120
  854. package/dist/esm/calcite-action.entry.js +143 -142
  855. package/dist/esm/calcite-alert.entry.js +224 -217
  856. package/dist/esm/calcite-avatar.entry.js +136 -135
  857. package/dist/esm/calcite-block_2.entry.js +277 -275
  858. package/dist/esm/calcite-button.entry.js +163 -162
  859. package/dist/esm/calcite-card.entry.js +128 -127
  860. package/dist/esm/calcite-checkbox.entry.js +126 -124
  861. package/dist/esm/calcite-chip.entry.js +122 -105
  862. package/dist/esm/calcite-color-picker_3.entry.js +1169 -1161
  863. package/dist/esm/calcite-combobox_3.entry.js +1014 -994
  864. package/dist/esm/calcite-date-picker_4.entry.js +937 -936
  865. package/dist/esm/calcite-dropdown_3.entry.js +682 -637
  866. package/dist/esm/calcite-fab.entry.js +81 -80
  867. package/dist/esm/calcite-filter.entry.js +133 -131
  868. package/dist/esm/calcite-flow.entry.js +106 -106
  869. package/dist/esm/calcite-graph_2.entry.js +979 -979
  870. package/dist/esm/calcite-handle.entry.js +78 -75
  871. package/dist/esm/calcite-icon.entry.js +157 -156
  872. package/dist/esm/calcite-inline-editable.entry.js +231 -227
  873. package/dist/esm/calcite-input-date-picker.entry.js +540 -537
  874. package/dist/esm/calcite-input-message.entry.js +58 -57
  875. package/dist/esm/calcite-input-number.entry.js +524 -510
  876. package/dist/esm/calcite-input-text.entry.js +340 -0
  877. package/dist/esm/calcite-input-time-picker_2.entry.js +1090 -1076
  878. package/dist/esm/calcite-input.entry.js +628 -608
  879. package/dist/esm/calcite-label.entry.js +68 -67
  880. package/dist/esm/calcite-link.entry.js +66 -65
  881. package/dist/esm/calcite-list_3.entry.js +180 -179
  882. package/dist/esm/calcite-loader.entry.js +81 -81
  883. package/dist/esm/calcite-modal.entry.js +324 -298
  884. package/dist/esm/calcite-notice.entry.js +145 -130
  885. package/dist/esm/calcite-option_3.entry.js +317 -316
  886. package/dist/esm/calcite-pagination.entry.js +245 -245
  887. package/dist/esm/calcite-panel.entry.js +318 -316
  888. package/dist/esm/calcite-pick-list_3.entry.js +334 -333
  889. package/dist/esm/calcite-popover_2.entry.js +465 -450
  890. package/dist/esm/calcite-progress.entry.js +24 -24
  891. package/dist/esm/calcite-radio-button-group.entry.js +96 -96
  892. package/dist/esm/calcite-radio-button.entry.js +261 -259
  893. package/dist/esm/calcite-radio-group_2.entry.js +244 -243
  894. package/dist/esm/calcite-rating.entry.js +139 -138
  895. package/dist/esm/calcite-scrim.entry.js +42 -43
  896. package/dist/esm/calcite-shell_3.entry.js +376 -375
  897. package/dist/esm/calcite-sortable-list.entry.js +158 -158
  898. package/dist/esm/calcite-split-button.entry.js +91 -87
  899. package/dist/esm/calcite-stepper_2.entry.js +411 -379
  900. package/dist/esm/calcite-switch.entry.js +106 -105
  901. package/dist/esm/calcite-tab_4.entry.js +682 -637
  902. package/dist/esm/calcite-tile-select_2.entry.js +220 -220
  903. package/dist/esm/calcite-tile.entry.js +71 -70
  904. package/dist/esm/calcite-tip_3.entry.js +291 -290
  905. package/dist/esm/calcite-tooltip_2.entry.js +358 -350
  906. package/dist/esm/calcite-tree_2.entry.js +480 -474
  907. package/dist/esm/calcite-value-list_2.entry.js +409 -405
  908. package/dist/esm/calcite.js +6 -3
  909. package/dist/esm/{conditionalSlot-1bf8fa95.js → conditionalSlot-9def1428.js} +37 -37
  910. package/dist/esm/{debounce-7fbb2181.js → debounce-d7adb5b5.js} +1 -1
  911. package/dist/esm/{dom-796bedfe.js → dom-a762d6de.js} +166 -178
  912. package/dist/esm/{filter-03334acb.js → filter-3357418b.js} +34 -34
  913. package/dist/esm/{floating-ui-e347c202.js → floating-ui-ae7423f2.js} +236 -185
  914. package/dist/esm/{form-4ca0d7b1.js → form-e49dd288.js} +215 -201
  915. package/dist/esm/{guid-b66e2624.js → guid-979aa261.js} +12 -12
  916. package/dist/esm/{index-125082eb.js → index-ebacd58f.js} +1 -1
  917. package/dist/esm/index.js +1 -1
  918. package/dist/esm/{interactive-010acdfb.js → interactive-ee876f5b.js} +39 -39
  919. package/dist/esm/{interfaces-b69e1ef5.js → interfaces-d6e9d230.js} +7 -7
  920. package/dist/esm/{key-44ba709a.js → key-efdd4e0d.js} +4 -4
  921. package/dist/esm/{label-a26004cb.js → label-d3d802aa.js} +118 -118
  922. package/dist/esm/loader.js +6 -3
  923. package/dist/esm/{locale-8e785c01.js → locale-6759d954.js} +244 -244
  924. package/dist/esm/{math-06b7ae0e.js → math-bb630b76.js} +12 -12
  925. package/dist/esm/{observers-20a0920e.js → observers-78730da1.js} +18 -18
  926. package/dist/esm/openCloseComponent-424d53d5.js +51 -0
  927. package/dist/esm/polyfills/core-js.js +0 -0
  928. package/dist/esm/polyfills/dom.js +0 -0
  929. package/dist/esm/polyfills/es5-html-element.js +0 -0
  930. package/dist/esm/polyfills/index.js +0 -0
  931. package/dist/esm/polyfills/system.js +0 -0
  932. package/dist/esm/{resources-41e347a4.js → resources-2468fbf7.js} +348 -348
  933. package/dist/esm/{resources-1f5c1d91.js → resources-323d7370.js} +11 -11
  934. package/dist/esm/resources-3f24d3fc.js +19 -0
  935. package/dist/esm/{resources-1370200e.js → resources-5e0eb8be.js} +10 -10
  936. package/dist/esm/{resources-379daa10.js → resources-9409c7c7.js} +251 -251
  937. package/dist/esm/{sortable.esm-ceaf31d6.js → sortable.esm-a7eceaf1.js} +1 -1
  938. package/dist/esm/{utils-dafc2a36.js → utils-923ae7f9.js} +107 -107
  939. package/dist/esm-es5/{ExpandToggle-32403ce8.js → ExpandToggle-87ab4f71.js} +2 -2
  940. package/dist/esm-es5/Heading-102fe57b.js +6 -0
  941. package/dist/esm-es5/app-globals-67426734.js +6 -0
  942. package/dist/esm-es5/{array-d75bd72e.js → array-f5e4a1f6.js} +1 -1
  943. package/dist/esm-es5/calcite-accordion_2.entry.js +2 -2
  944. package/dist/esm-es5/calcite-action-bar.entry.js +3 -3
  945. package/dist/esm-es5/calcite-action-group.entry.js +2 -2
  946. package/dist/esm-es5/calcite-action-menu.entry.js +2 -2
  947. package/dist/esm-es5/calcite-action-pad.entry.js +2 -2
  948. package/dist/esm-es5/calcite-action.entry.js +3 -3
  949. package/dist/esm-es5/calcite-alert.entry.js +3 -3
  950. package/dist/esm-es5/calcite-avatar.entry.js +2 -2
  951. package/dist/esm-es5/calcite-block_2.entry.js +2 -2
  952. package/dist/esm-es5/calcite-button.entry.js +2 -2
  953. package/dist/esm-es5/calcite-card.entry.js +2 -2
  954. package/dist/esm-es5/calcite-checkbox.entry.js +3 -3
  955. package/dist/esm-es5/calcite-chip.entry.js +3 -3
  956. package/dist/esm-es5/calcite-color-picker_3.entry.js +2 -2
  957. package/dist/esm-es5/calcite-combobox_3.entry.js +2 -2
  958. package/dist/esm-es5/calcite-date-picker_4.entry.js +2 -2
  959. package/dist/esm-es5/calcite-dropdown_3.entry.js +3 -3
  960. package/dist/esm-es5/calcite-fab.entry.js +3 -3
  961. package/dist/esm-es5/calcite-filter.entry.js +2 -2
  962. package/dist/esm-es5/calcite-flow.entry.js +2 -2
  963. package/dist/esm-es5/calcite-graph_2.entry.js +2 -2
  964. package/dist/esm-es5/calcite-handle.entry.js +2 -2
  965. package/dist/esm-es5/calcite-icon.entry.js +2 -2
  966. package/dist/esm-es5/calcite-inline-editable.entry.js +2 -2
  967. package/dist/esm-es5/calcite-input-date-picker.entry.js +2 -2
  968. package/dist/esm-es5/calcite-input-message.entry.js +2 -2
  969. package/dist/esm-es5/calcite-input-number.entry.js +2 -2
  970. package/dist/esm-es5/calcite-input-text.entry.js +6 -0
  971. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +2 -2
  972. package/dist/esm-es5/calcite-input.entry.js +2 -2
  973. package/dist/esm-es5/calcite-label.entry.js +2 -2
  974. package/dist/esm-es5/calcite-link.entry.js +3 -3
  975. package/dist/esm-es5/calcite-list_3.entry.js +2 -2
  976. package/dist/esm-es5/calcite-loader.entry.js +2 -2
  977. package/dist/esm-es5/calcite-modal.entry.js +3 -3
  978. package/dist/esm-es5/calcite-notice.entry.js +3 -3
  979. package/dist/esm-es5/calcite-option_3.entry.js +2 -2
  980. package/dist/esm-es5/calcite-pagination.entry.js +2 -2
  981. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  982. package/dist/esm-es5/calcite-pick-list_3.entry.js +2 -2
  983. package/dist/esm-es5/calcite-popover_2.entry.js +3 -3
  984. package/dist/esm-es5/calcite-progress.entry.js +2 -2
  985. package/dist/esm-es5/calcite-radio-button-group.entry.js +2 -2
  986. package/dist/esm-es5/calcite-radio-button.entry.js +2 -2
  987. package/dist/esm-es5/calcite-radio-group_2.entry.js +3 -3
  988. package/dist/esm-es5/calcite-rating.entry.js +2 -2
  989. package/dist/esm-es5/calcite-scrim.entry.js +2 -2
  990. package/dist/esm-es5/calcite-shell_3.entry.js +2 -2
  991. package/dist/esm-es5/calcite-sortable-list.entry.js +2 -2
  992. package/dist/esm-es5/calcite-split-button.entry.js +2 -2
  993. package/dist/esm-es5/calcite-stepper_2.entry.js +3 -3
  994. package/dist/esm-es5/calcite-switch.entry.js +3 -3
  995. package/dist/esm-es5/calcite-tab_4.entry.js +3 -3
  996. package/dist/esm-es5/calcite-tile-select_2.entry.js +2 -2
  997. package/dist/esm-es5/calcite-tile.entry.js +2 -2
  998. package/dist/esm-es5/calcite-tip_3.entry.js +3 -3
  999. package/dist/esm-es5/calcite-tooltip_2.entry.js +2 -2
  1000. package/dist/esm-es5/calcite-tree_2.entry.js +2 -2
  1001. package/dist/esm-es5/calcite-value-list_2.entry.js +2 -2
  1002. package/dist/esm-es5/calcite.js +2 -2
  1003. package/dist/esm-es5/{conditionalSlot-1bf8fa95.js → conditionalSlot-9def1428.js} +2 -2
  1004. package/dist/esm-es5/{debounce-7fbb2181.js → debounce-d7adb5b5.js} +1 -1
  1005. package/dist/esm-es5/dom-a762d6de.js +6 -0
  1006. package/dist/esm-es5/{filter-03334acb.js → filter-3357418b.js} +2 -2
  1007. package/dist/esm-es5/floating-ui-ae7423f2.js +6 -0
  1008. package/dist/esm-es5/form-e49dd288.js +6 -0
  1009. package/dist/esm-es5/{guid-b66e2624.js → guid-979aa261.js} +1 -1
  1010. package/dist/esm-es5/{index-125082eb.js → index-ebacd58f.js} +1 -1
  1011. package/dist/esm-es5/index.js +1 -1
  1012. package/dist/esm-es5/{interactive-010acdfb.js → interactive-ee876f5b.js} +1 -1
  1013. package/dist/esm-es5/{interfaces-b69e1ef5.js → interfaces-d6e9d230.js} +1 -1
  1014. package/dist/esm-es5/{key-44ba709a.js → key-efdd4e0d.js} +1 -1
  1015. package/dist/esm-es5/{label-a26004cb.js → label-d3d802aa.js} +2 -2
  1016. package/dist/esm-es5/loader.js +2 -2
  1017. package/dist/esm-es5/{locale-8e785c01.js → locale-6759d954.js} +2 -2
  1018. package/dist/esm-es5/{math-06b7ae0e.js → math-bb630b76.js} +1 -1
  1019. package/dist/esm-es5/{observers-20a0920e.js → observers-78730da1.js} +1 -1
  1020. package/dist/esm-es5/openCloseComponent-424d53d5.js +6 -0
  1021. package/dist/esm-es5/{resources-41e347a4.js → resources-2468fbf7.js} +2 -2
  1022. package/dist/esm-es5/{resources-1f5c1d91.js → resources-323d7370.js} +1 -1
  1023. package/dist/esm-es5/resources-3f24d3fc.js +6 -0
  1024. package/dist/esm-es5/{resources-1370200e.js → resources-5e0eb8be.js} +1 -1
  1025. package/dist/esm-es5/{resources-379daa10.js → resources-9409c7c7.js} +2 -2
  1026. package/dist/esm-es5/{sortable.esm-ceaf31d6.js → sortable.esm-a7eceaf1.js} +1 -1
  1027. package/dist/esm-es5/{utils-dafc2a36.js → utils-923ae7f9.js} +1 -1
  1028. package/dist/extras/docs-json.json +1282 -598
  1029. package/dist/loader/cdn.js +1 -1
  1030. package/dist/loader/index.cjs.js +1 -1
  1031. package/dist/loader/index.es2017.js +1 -1
  1032. package/dist/loader/index.js +1 -1
  1033. package/dist/types/components/accordion/accordion.d.ts +44 -44
  1034. package/dist/types/components/accordion/interfaces.d.ts +4 -4
  1035. package/dist/types/components/accordion-item/accordion-item.d.ts +78 -78
  1036. package/dist/types/components/accordion-item/interfaces.d.ts +11 -11
  1037. package/dist/types/components/accordion-item/resources.d.ts +16 -16
  1038. package/dist/types/components/action/action.d.ts +76 -76
  1039. package/dist/types/components/action/resources.d.ts +13 -13
  1040. package/dist/types/components/action-bar/action-bar.d.ts +81 -81
  1041. package/dist/types/components/action-bar/resources.d.ts +11 -11
  1042. package/dist/types/components/action-bar/utils.d.ts +21 -21
  1043. package/dist/types/components/action-group/action-group.d.ts +43 -43
  1044. package/dist/types/components/action-group/resources.d.ts +10 -10
  1045. package/dist/types/components/action-menu/action-menu.d.ts +87 -84
  1046. package/dist/types/components/action-menu/resources.d.ts +11 -11
  1047. package/dist/types/components/action-pad/action-pad.d.ts +58 -58
  1048. package/dist/types/components/action-pad/resources.d.ts +11 -11
  1049. package/dist/types/components/alert/alert.d.ts +105 -100
  1050. package/dist/types/components/alert/interfaces.d.ts +12 -12
  1051. package/dist/types/components/alert/resources.d.ts +16 -16
  1052. package/dist/types/components/avatar/avatar.d.ts +26 -26
  1053. package/dist/types/components/avatar/utils.d.ts +20 -20
  1054. package/dist/types/components/block/block.d.ts +97 -97
  1055. package/dist/types/components/block/resources.d.ts +38 -38
  1056. package/dist/types/components/block-section/block-section.d.ts +44 -44
  1057. package/dist/types/components/block-section/interfaces.d.ts +1 -1
  1058. package/dist/types/components/block-section/resources.d.ts +23 -23
  1059. package/dist/types/components/button/button.d.ts +83 -83
  1060. package/dist/types/components/button/interfaces.d.ts +4 -4
  1061. package/dist/types/components/button/resources.d.ts +15 -15
  1062. package/dist/types/components/card/card.d.ts +55 -55
  1063. package/dist/types/components/card/resources.d.ts +21 -21
  1064. package/dist/types/components/checkbox/checkbox.d.ts +78 -78
  1065. package/dist/types/components/chip/chip.d.ts +56 -54
  1066. package/dist/types/components/chip/interfaces.d.ts +1 -1
  1067. package/dist/types/components/chip/resources.d.ts +16 -16
  1068. package/dist/types/components/color-picker/color-picker.d.ts +275 -275
  1069. package/dist/types/components/color-picker/interfaces.d.ts +27 -27
  1070. package/dist/types/components/color-picker/resources.d.ts +101 -101
  1071. package/dist/types/components/color-picker/utils.d.ts +33 -33
  1072. package/dist/types/components/color-picker-hex-input/color-picker-hex-input.d.ts +58 -57
  1073. package/dist/types/components/color-picker-hex-input/resources.d.ts +5 -5
  1074. package/dist/types/components/color-picker-swatch/color-picker-swatch.d.ts +23 -23
  1075. package/dist/types/components/color-picker-swatch/resources.d.ts +8 -8
  1076. package/dist/types/components/combobox/combobox.d.ts +211 -206
  1077. package/dist/types/components/combobox/interfaces.d.ts +6 -6
  1078. package/dist/types/components/combobox/resources.d.ts +11 -11
  1079. package/dist/types/components/combobox/utils.d.ts +6 -6
  1080. package/dist/types/components/combobox-item/combobox-item.d.ts +60 -60
  1081. package/dist/types/components/combobox-item/resources.d.ts +12 -12
  1082. package/dist/types/components/combobox-item-group/combobox-item-group.d.ts +17 -17
  1083. package/dist/types/components/combobox-item-group/resources.d.ts +5 -5
  1084. package/dist/types/components/date-picker/date-picker.d.ts +161 -161
  1085. package/dist/types/components/date-picker/interfaces.d.ts +4 -4
  1086. package/dist/types/components/date-picker/resources.d.ts +6 -6
  1087. package/dist/types/components/date-picker/utils.d.ts +48 -48
  1088. package/dist/types/components/date-picker-day/date-picker-day.d.ts +49 -49
  1089. package/dist/types/components/date-picker-month/date-picker-month.d.ts +125 -125
  1090. package/dist/types/components/date-picker-month-header/date-picker-month-header.d.ts +68 -68
  1091. package/dist/types/components/date-picker-month-header/resources.d.ts +1 -1
  1092. package/dist/types/components/dropdown/dropdown.d.ts +136 -128
  1093. package/dist/types/components/dropdown/interfaces.d.ts +9 -3
  1094. package/dist/types/components/dropdown/resources.d.ts +6 -6
  1095. package/dist/types/components/dropdown-group/dropdown-group.d.ts +34 -34
  1096. package/dist/types/components/dropdown-group/interfaces.d.ts +5 -5
  1097. package/dist/types/components/dropdown-group/resources.d.ts +5 -5
  1098. package/dist/types/components/dropdown-item/dropdown-item.d.ts +63 -55
  1099. package/dist/types/components/dropdown-item/resources.d.ts +9 -9
  1100. package/dist/types/components/fab/fab.d.ts +50 -50
  1101. package/dist/types/components/fab/resources.d.ts +6 -6
  1102. package/dist/types/components/filter/filter.d.ts +59 -59
  1103. package/dist/types/components/filter/resources.d.ts +13 -13
  1104. package/dist/types/components/flow/flow.d.ts +22 -22
  1105. package/dist/types/components/flow/interfaces.d.ts +1 -1
  1106. package/dist/types/components/flow/resources.d.ts +5 -5
  1107. package/dist/types/components/functional/ExpandToggle.d.ts +19 -19
  1108. package/dist/types/components/functional/Heading.d.ts +9 -9
  1109. package/dist/types/components/graph/graph.d.ts +28 -28
  1110. package/dist/types/components/graph/interfaces.d.ts +27 -27
  1111. package/dist/types/components/graph/util.d.ts +29 -29
  1112. package/dist/types/components/handle/handle.d.ts +25 -25
  1113. package/dist/types/components/handle/resources.d.ts +7 -7
  1114. package/dist/types/components/icon/icon.d.ts +32 -32
  1115. package/dist/types/components/icon/resources.d.ts +4 -4
  1116. package/dist/types/components/icon/utils.d.ts +30 -30
  1117. package/dist/types/components/inline-editable/inline-editable.d.ts +79 -79
  1118. package/dist/types/components/inline-editable/resources.d.ts +14 -14
  1119. package/dist/types/components/input/input.d.ts +239 -238
  1120. package/dist/types/components/input/interfaces.d.ts +1 -1
  1121. package/dist/types/components/input/resources.d.ts +30 -30
  1122. package/dist/types/components/input-date-picker/input-date-picker.d.ts +234 -231
  1123. package/dist/types/components/input-date-picker/resources.d.ts +4 -4
  1124. package/dist/types/components/input-message/input-message.d.ts +31 -31
  1125. package/dist/types/components/input-message/interfaces.d.ts +5 -5
  1126. package/dist/types/components/input-number/input-number.d.ts +219 -218
  1127. package/dist/types/components/input-number/interfaces.d.ts +1 -1
  1128. package/dist/types/components/input-number/resources.d.ts +22 -22
  1129. package/dist/types/components/input-text/input-text.d.ts +171 -0
  1130. package/dist/types/components/input-text/resources.d.ts +19 -0
  1131. package/dist/types/components/input-time-picker/input-time-picker.d.ts +112 -112
  1132. package/dist/types/components/interfaces.d.ts +13 -13
  1133. package/dist/types/components/label/label.d.ts +44 -44
  1134. package/dist/types/components/label/resources.d.ts +3 -3
  1135. package/dist/types/components/link/link.d.ts +37 -37
  1136. package/dist/types/components/list/list.d.ts +23 -23
  1137. package/dist/types/components/list/resources.d.ts +3 -3
  1138. package/dist/types/components/list-item/list-item.d.ts +42 -42
  1139. package/dist/types/components/list-item/resources.d.ts +20 -20
  1140. package/dist/types/components/list-item-group/list-item-group.d.ts +18 -18
  1141. package/dist/types/components/list-item-group/resources.d.ts +5 -5
  1142. package/dist/types/components/loader/loader.d.ts +33 -33
  1143. package/dist/types/components/modal/interfaces.d.ts +1 -1
  1144. package/dist/types/components/modal/modal.d.ts +125 -120
  1145. package/dist/types/components/modal/resources.d.ts +30 -24
  1146. package/dist/types/components/notice/notice.d.ts +72 -70
  1147. package/dist/types/components/notice/resources.d.ts +16 -16
  1148. package/dist/types/components/option/option.d.ts +32 -32
  1149. package/dist/types/components/option-group/option-group.d.ts +20 -20
  1150. package/dist/types/components/pagination/pagination.d.ts +61 -61
  1151. package/dist/types/components/pagination/resources.d.ts +14 -14
  1152. package/dist/types/components/panel/panel.d.ts +163 -163
  1153. package/dist/types/components/panel/resources.d.ts +43 -43
  1154. package/dist/types/components/pick-list/pick-list.d.ts +81 -81
  1155. package/dist/types/components/pick-list/resources.d.ts +14 -14
  1156. package/dist/types/components/pick-list/shared-list-logic.d.ts +33 -33
  1157. package/dist/types/components/pick-list/shared-list-render.d.ts +20 -20
  1158. package/dist/types/components/pick-list-group/pick-list-group.d.ts +21 -21
  1159. package/dist/types/components/pick-list-group/resources.d.ts +9 -9
  1160. package/dist/types/components/pick-list-item/pick-list-item.d.ts +114 -114
  1161. package/dist/types/components/pick-list-item/resources.d.ts +26 -26
  1162. package/dist/types/components/popover/PopoverManager.d.ts +13 -13
  1163. package/dist/types/components/popover/popover.d.ts +150 -145
  1164. package/dist/types/components/popover/resources.d.ts +19 -19
  1165. package/dist/types/components/popover-manager/popover-manager.d.ts +24 -24
  1166. package/dist/types/components/progress/progress.d.ts +15 -15
  1167. package/dist/types/components/radio-button/radio-button.d.ts +101 -101
  1168. package/dist/types/components/radio-button/resources.d.ts +3 -3
  1169. package/dist/types/components/radio-button-group/radio-button-group.d.ts +34 -34
  1170. package/dist/types/components/radio-group/interfaces.d.ts +1 -1
  1171. package/dist/types/components/radio-group/radio-group.d.ts +61 -61
  1172. package/dist/types/components/radio-group-item/radio-group-item.d.ts +25 -25
  1173. package/dist/types/components/radio-group-item/resources.d.ts +6 -6
  1174. package/dist/types/components/rating/rating.d.ts +68 -68
  1175. package/dist/types/components/rating/resources.d.ts +4 -4
  1176. package/dist/types/components/scrim/resources.d.ts +7 -7
  1177. package/dist/types/components/scrim/scrim.d.ts +18 -19
  1178. package/dist/types/components/select/resources.d.ts +5 -5
  1179. package/dist/types/components/select/select.d.ts +77 -77
  1180. package/dist/types/components/shell/resources.d.ts +16 -16
  1181. package/dist/types/components/shell/shell.d.ts +26 -26
  1182. package/dist/types/components/shell-center-row/resources.d.ts +7 -7
  1183. package/dist/types/components/shell-center-row/shell-center-row.d.ts +25 -25
  1184. package/dist/types/components/shell-panel/resources.d.ts +15 -15
  1185. package/dist/types/components/shell-panel/shell-panel.d.ts +72 -72
  1186. package/dist/types/components/slider/slider.d.ts +218 -216
  1187. package/dist/types/components/sortable-list/resources.d.ts +6 -6
  1188. package/dist/types/components/sortable-list/sortable-list.d.ts +52 -52
  1189. package/dist/types/components/split-button/resources.d.ts +8 -8
  1190. package/dist/types/components/split-button/split-button.d.ts +71 -67
  1191. package/dist/types/components/stepper/interfaces.d.ts +9 -9
  1192. package/dist/types/components/stepper/stepper.d.ts +64 -64
  1193. package/dist/types/components/stepper-item/stepper-item.d.ts +94 -83
  1194. package/dist/types/components/switch/switch.d.ts +49 -49
  1195. package/dist/types/components/tab/interfaces.d.ts +6 -6
  1196. package/dist/types/components/tab/tab.d.ts +53 -45
  1197. package/dist/types/components/tab-nav/tab-nav.d.ts +87 -87
  1198. package/dist/types/components/tab-title/tab-title.d.ts +112 -103
  1199. package/dist/types/components/tabs/interfaces.d.ts +3 -3
  1200. package/dist/types/components/tabs/resources.d.ts +3 -3
  1201. package/dist/types/components/tabs/tabs.d.ts +67 -67
  1202. package/dist/types/components/tile/resources.d.ts +4 -4
  1203. package/dist/types/components/tile/tile.d.ts +39 -39
  1204. package/dist/types/components/tile-select/interfaces.d.ts +1 -1
  1205. package/dist/types/components/tile-select/resources.d.ts +16 -16
  1206. package/dist/types/components/tile-select/tile-select.d.ts +59 -59
  1207. package/dist/types/components/tile-select-group/interfaces.d.ts +1 -1
  1208. package/dist/types/components/tile-select-group/tile-select-group.d.ts +15 -15
  1209. package/dist/types/components/time-picker/resources.d.ts +43 -43
  1210. package/dist/types/components/time-picker/time-picker.d.ts +165 -165
  1211. package/dist/types/components/tip/resources.d.ts +20 -20
  1212. package/dist/types/components/tip/tip.d.ts +47 -47
  1213. package/dist/types/components/tip-group/tip-group.d.ts +12 -12
  1214. package/dist/types/components/tip-manager/resources.d.ts +26 -26
  1215. package/dist/types/components/tip-manager/tip-manager.d.ts +71 -71
  1216. package/dist/types/components/tooltip/TooltipManager.d.ts +28 -28
  1217. package/dist/types/components/tooltip/resources.d.ts +6 -6
  1218. package/dist/types/components/tooltip/tooltip.d.ts +64 -59
  1219. package/dist/types/components/tooltip-manager/tooltip-manager.d.ts +14 -14
  1220. package/dist/types/components/tree/interfaces.d.ts +11 -10
  1221. package/dist/types/components/tree/tree.d.ts +46 -46
  1222. package/dist/types/components/tree-item/interfaces.d.ts +10 -10
  1223. package/dist/types/components/tree-item/resources.d.ts +18 -17
  1224. package/dist/types/components/tree-item/tree-item.d.ts +74 -74
  1225. package/dist/types/components/value-list/interfaces.d.ts +1 -1
  1226. package/dist/types/components/value-list/resources.d.ts +10 -10
  1227. package/dist/types/components/value-list/utils.d.ts +8 -8
  1228. package/dist/types/components/value-list/value-list.d.ts +126 -126
  1229. package/dist/types/components/value-list-item/resources.d.ts +7 -7
  1230. package/dist/types/components/value-list-item/value-list-item.d.ts +84 -84
  1231. package/dist/types/components.d.ts +592 -308
  1232. package/dist/types/preact.d.ts +7 -0
  1233. package/dist/types/utils/array.d.ts +1 -1
  1234. package/dist/types/utils/conditionalSlot.d.ts +21 -21
  1235. package/dist/types/utils/date.d.ts +102 -102
  1236. package/dist/types/utils/dom.d.ts +62 -62
  1237. package/dist/types/utils/filter.d.ts +1 -1
  1238. package/dist/types/utils/floating-ui.d.ts +117 -109
  1239. package/dist/types/utils/form.d.ts +140 -139
  1240. package/dist/types/utils/globalAttributes.d.ts +40 -40
  1241. package/dist/types/utils/globalScript.d.ts +6 -0
  1242. package/dist/types/utils/guid.d.ts +1 -1
  1243. package/dist/types/utils/interactive.d.ts +31 -31
  1244. package/dist/types/utils/key.d.ts +3 -3
  1245. package/dist/types/utils/label.d.ts +48 -48
  1246. package/dist/types/utils/locale.d.ts +7 -7
  1247. package/dist/types/utils/math.d.ts +2 -2
  1248. package/dist/types/utils/number.d.ts +23 -23
  1249. package/dist/types/utils/observers.d.ts +13 -13
  1250. package/dist/types/utils/openCloseComponent.d.ts +50 -26
  1251. package/dist/types/utils/resources.d.ts +18 -16
  1252. package/dist/types/utils/theme.d.ts +4 -0
  1253. package/dist/types/utils/time.d.ts +29 -29
  1254. package/hydrate/index.js +24487 -23665
  1255. package/package.json +23 -21
  1256. package/readme.md +2 -2
  1257. package/dist/calcite/p-07ad31ba.system.entry.js +0 -6
  1258. package/dist/calcite/p-090e40a5.entry.js +0 -6
  1259. package/dist/calcite/p-0b2b216f.system.js +0 -6
  1260. package/dist/calcite/p-0b820f23.system.js +0 -6
  1261. package/dist/calcite/p-120db58f.entry.js +0 -6
  1262. package/dist/calcite/p-144ec6fc.system.entry.js +0 -6
  1263. package/dist/calcite/p-16d386ca.entry.js +0 -6
  1264. package/dist/calcite/p-18a96208.entry.js +0 -6
  1265. package/dist/calcite/p-18c5dc4f.system.entry.js +0 -6
  1266. package/dist/calcite/p-18d50ab7.js +0 -6
  1267. package/dist/calcite/p-1fb18408.entry.js +0 -6
  1268. package/dist/calcite/p-21cf30f0.system.entry.js +0 -6
  1269. package/dist/calcite/p-227b1cb4.system.entry.js +0 -6
  1270. package/dist/calcite/p-247ec4be.system.entry.js +0 -6
  1271. package/dist/calcite/p-27b71366.entry.js +0 -6
  1272. package/dist/calcite/p-289898d5.entry.js +0 -6
  1273. package/dist/calcite/p-29a33d2f.system.entry.js +0 -6
  1274. package/dist/calcite/p-2c2ec74f.entry.js +0 -6
  1275. package/dist/calcite/p-302eb239.entry.js +0 -6
  1276. package/dist/calcite/p-30be3391.system.entry.js +0 -6
  1277. package/dist/calcite/p-30dbdcbf.entry.js +0 -6
  1278. package/dist/calcite/p-32949a93.system.entry.js +0 -6
  1279. package/dist/calcite/p-3905ddf3.system.entry.js +0 -6
  1280. package/dist/calcite/p-3a7f7a68.system.entry.js +0 -6
  1281. package/dist/calcite/p-3ea7d99a.system.entry.js +0 -6
  1282. package/dist/calcite/p-4072948a.entry.js +0 -6
  1283. package/dist/calcite/p-40b6fe5e.system.entry.js +0 -6
  1284. package/dist/calcite/p-46892cf3.entry.js +0 -6
  1285. package/dist/calcite/p-4a49edc5.entry.js +0 -6
  1286. package/dist/calcite/p-4c6d2b3a.system.entry.js +0 -6
  1287. package/dist/calcite/p-4d9cb2c7.system.entry.js +0 -6
  1288. package/dist/calcite/p-4dbc4763.system.entry.js +0 -6
  1289. package/dist/calcite/p-50bb7a81.system.entry.js +0 -6
  1290. package/dist/calcite/p-56deb86e.system.entry.js +0 -6
  1291. package/dist/calcite/p-599897dd.entry.js +0 -6
  1292. package/dist/calcite/p-5b92d6f9.system.entry.js +0 -6
  1293. package/dist/calcite/p-5cf12919.entry.js +0 -6
  1294. package/dist/calcite/p-5dc08c33.entry.js +0 -6
  1295. package/dist/calcite/p-5e0365ce.entry.js +0 -6
  1296. package/dist/calcite/p-5e455a89.entry.js +0 -6
  1297. package/dist/calcite/p-5f6e8d64.entry.js +0 -6
  1298. package/dist/calcite/p-60db8925.entry.js +0 -6
  1299. package/dist/calcite/p-61b480c8.system.entry.js +0 -6
  1300. package/dist/calcite/p-630f3586.system.entry.js +0 -6
  1301. package/dist/calcite/p-6a59012e.entry.js +0 -6
  1302. package/dist/calcite/p-6a69ad9d.entry.js +0 -6
  1303. package/dist/calcite/p-6b35a0af.system.entry.js +0 -6
  1304. package/dist/calcite/p-749ecd38.system.entry.js +0 -6
  1305. package/dist/calcite/p-7515efd0.entry.js +0 -6
  1306. package/dist/calcite/p-751c3908.entry.js +0 -6
  1307. package/dist/calcite/p-751d41dc.js +0 -6
  1308. package/dist/calcite/p-756c53b3.system.entry.js +0 -6
  1309. package/dist/calcite/p-766ad7af.system.entry.js +0 -6
  1310. package/dist/calcite/p-7984de31.system.entry.js +0 -6
  1311. package/dist/calcite/p-7ae271f6.system.entry.js +0 -6
  1312. package/dist/calcite/p-7b3b8b2b.entry.js +0 -6
  1313. package/dist/calcite/p-7c923e16.entry.js +0 -6
  1314. package/dist/calcite/p-7c95a2c8.entry.js +0 -6
  1315. package/dist/calcite/p-7ced0a89.entry.js +0 -6
  1316. package/dist/calcite/p-7fd9edfb.system.entry.js +0 -6
  1317. package/dist/calcite/p-81f3c8b0.system.entry.js +0 -6
  1318. package/dist/calcite/p-857f115c.entry.js +0 -6
  1319. package/dist/calcite/p-85fe33c3.entry.js +0 -6
  1320. package/dist/calcite/p-865fc8c9.system.js +0 -6
  1321. package/dist/calcite/p-8b18f06c.entry.js +0 -6
  1322. package/dist/calcite/p-8c827e5b.system.js +0 -6
  1323. package/dist/calcite/p-8df656ff.system.entry.js +0 -6
  1324. package/dist/calcite/p-8f2098be.entry.js +0 -6
  1325. package/dist/calcite/p-94fe3d6e.system.entry.js +0 -6
  1326. package/dist/calcite/p-96927e88.system.entry.js +0 -6
  1327. package/dist/calcite/p-99528159.entry.js +0 -6
  1328. package/dist/calcite/p-9c96f19a.system.entry.js +0 -6
  1329. package/dist/calcite/p-9ea447b7.system.entry.js +0 -6
  1330. package/dist/calcite/p-9f1ae644.entry.js +0 -6
  1331. package/dist/calcite/p-a13a90cc.js +0 -6
  1332. package/dist/calcite/p-a522ae1f.entry.js +0 -6
  1333. package/dist/calcite/p-add22ccd.entry.js +0 -6
  1334. package/dist/calcite/p-aeaa724b.system.entry.js +0 -6
  1335. package/dist/calcite/p-aecb7f5f.js +0 -6
  1336. package/dist/calcite/p-b1d55cbe.entry.js +0 -6
  1337. package/dist/calcite/p-b3b9f8f2.system.entry.js +0 -6
  1338. package/dist/calcite/p-b4bc2ba2.system.entry.js +0 -6
  1339. package/dist/calcite/p-b9c0cc97.entry.js +0 -6
  1340. package/dist/calcite/p-bb958d57.entry.js +0 -6
  1341. package/dist/calcite/p-bfe4a296.js +0 -6
  1342. package/dist/calcite/p-c09cd0ff.system.entry.js +0 -6
  1343. package/dist/calcite/p-c3a6ab2b.entry.js +0 -6
  1344. package/dist/calcite/p-c5df45de.entry.js +0 -6
  1345. package/dist/calcite/p-ca3425b9.entry.js +0 -6
  1346. package/dist/calcite/p-cbea5d0d.system.entry.js +0 -6
  1347. package/dist/calcite/p-cec0b647.system.entry.js +0 -6
  1348. package/dist/calcite/p-d5046ede.entry.js +0 -6
  1349. package/dist/calcite/p-d825626c.system.entry.js +0 -6
  1350. package/dist/calcite/p-d8e35501.system.entry.js +0 -6
  1351. package/dist/calcite/p-d91629e3.system.entry.js +0 -6
  1352. package/dist/calcite/p-dbe09fe1.system.entry.js +0 -6
  1353. package/dist/calcite/p-ddaf278a.system.entry.js +0 -6
  1354. package/dist/calcite/p-de1770bb.system.entry.js +0 -6
  1355. package/dist/calcite/p-df0f9934.system.entry.js +0 -6
  1356. package/dist/calcite/p-e31a217b.entry.js +0 -6
  1357. package/dist/calcite/p-e32e2227.entry.js +0 -6
  1358. package/dist/calcite/p-e684050d.system.entry.js +0 -6
  1359. package/dist/calcite/p-e972d854.entry.js +0 -6
  1360. package/dist/calcite/p-ea84499f.system.entry.js +0 -6
  1361. package/dist/calcite/p-ec57a76a.entry.js +0 -6
  1362. package/dist/calcite/p-f2aa0ebb.entry.js +0 -6
  1363. package/dist/calcite/p-f4ba73c4.entry.js +0 -6
  1364. package/dist/calcite/p-f82b2ab0.entry.js +0 -6
  1365. package/dist/calcite/p-fc8525a0.system.entry.js +0 -6
  1366. package/dist/esm-es5/Heading-a9ab89d5.js +0 -6
  1367. package/dist/esm-es5/dom-796bedfe.js +0 -6
  1368. package/dist/esm-es5/floating-ui-e347c202.js +0 -6
  1369. package/dist/esm-es5/form-4ca0d7b1.js +0 -6
@@ -1,1591 +1,1591 @@
1
1
  /*!
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
- * v1.0.0-beta.90
4
+ * v1.0.0-beta.93
5
5
  */
6
- import { Component, Element, Event, h, Listen, Method, Prop, State, Watch } from "@stencil/core";
7
- import Color from "color";
8
- import { CSS, DEFAULT_COLOR, DEFAULT_STORAGE_KEY_PREFIX, DIMENSIONS, HSV_LIMITS, RGB_LIMITS, TEXT } from "./resources";
9
- import { focusElement, getElementDir } from "../../utils/dom";
10
- import { colorEqual, CSSColorMode, normalizeHex, parseMode } from "./utils";
11
- import { throttle } from "lodash-es";
12
- import { clamp } from "../../utils/math";
13
- import { updateHostInteraction } from "../../utils/interactive";
14
- const throttleFor60FpsInMs = 16;
15
- const defaultValue = normalizeHex(DEFAULT_COLOR.hex());
16
- const defaultFormat = "auto";
17
- export class ColorPicker {
18
- constructor() {
19
- //--------------------------------------------------------------------------
20
- //
21
- // Public properties
22
- //
23
- //--------------------------------------------------------------------------
24
- /**
25
- * When false, empty color (null) will be allowed as a value. Otherwise, a color value is always enforced by the component.
26
- *
27
- * When true, clearing the input and blurring will restore the last valid color set. When false, it will set it to empty.
28
- */
29
- this.allowEmpty = false;
30
- /** specify the appearance - default (containing border), or minimal (no containing border) */
31
- this.appearance = "default";
32
- /**
33
- * Internal prop for advanced use-cases.
34
- *
35
- * @internal
36
- */
37
- this.color = DEFAULT_COLOR;
38
- /**
39
- * When true, disabled prevents user interaction.
40
- */
41
- this.disabled = false;
42
- /**
43
- * The format of the value property.
44
- *
45
- * When "auto", the format will be inferred from `value` when set.
46
- *
47
- * @default "auto"
48
- */
49
- this.format = defaultFormat;
50
- /** When true, hides the hex input */
51
- this.hideHex = false;
52
- /** When true, hides the RGB/HSV channel inputs */
53
- this.hideChannels = false;
54
- /** When true, hides the saved colors section */
55
- this.hideSaved = false;
56
- /**
57
- * Label used for the blue channel
58
- *
59
- * @default "B"
60
- */
61
- this.intlB = TEXT.b;
62
- /**
63
- * Label used for the blue channel description
64
- *
65
- * @default "Blue"
66
- */
67
- this.intlBlue = TEXT.blue;
68
- /**
69
- * Label used for the delete color button.
70
- *
71
- * @default "Delete color"
72
- */
73
- this.intlDeleteColor = TEXT.deleteColor;
74
- /**
75
- * Label used for the green channel
76
- *
77
- * @default "G"
78
- */
79
- this.intlG = TEXT.g;
80
- /**
81
- * Label used for the green channel description
82
- *
83
- * @default "Green"
84
- */
85
- this.intlGreen = TEXT.green;
86
- /**
87
- * Label used for the hue channel
88
- *
89
- * @default "H"
90
- */
91
- this.intlH = TEXT.h;
92
- /**
93
- * Label used for the HSV mode
94
- *
95
- * @default "HSV"
96
- */
97
- this.intlHsv = TEXT.hsv;
98
- /**
99
- * Label used for the hex input
100
- *
101
- * @default "Hex"
102
- */
103
- this.intlHex = TEXT.hex;
104
- /**
105
- * Label used for the hue channel description
106
- *
107
- * @default "Hue"
108
- */
109
- this.intlHue = TEXT.hue;
110
- /**
111
- * Label used for the hex input when there is no color selected.
112
- *
113
- * @default "No color"
114
- */
115
- this.intlNoColor = TEXT.noColor;
116
- /**
117
- * Label used for the red channel
118
- *
119
- * @default "R"
120
- */
121
- this.intlR = TEXT.r;
122
- /**
123
- * Label used for the red channel description
124
- *
125
- * @default "Red"
126
- */
127
- this.intlRed = TEXT.red;
128
- /**
129
- * Label used for the RGB mode
130
- *
131
- * @default "RGB"
132
- */
133
- this.intlRgb = TEXT.rgb;
134
- /**
135
- * Label used for the saturation channel
136
- *
137
- * @default "S"
138
- */
139
- this.intlS = TEXT.s;
140
- /**
141
- * Label used for the saturation channel description
142
- *
143
- * @default "Saturation"
144
- */
145
- this.intlSaturation = TEXT.saturation;
146
- /**
147
- * Label used for the save color button.
148
- *
149
- * @default "Save color"
150
- */
151
- this.intlSaveColor = TEXT.saveColor;
152
- /**
153
- * Label used for the saved colors section
154
- *
155
- * @default "Saved"
156
- */
157
- this.intlSaved = TEXT.saved;
158
- /**
159
- * Label used for the value channel
160
- *
161
- * @default "V"
162
- */
163
- this.intlV = TEXT.v;
164
- /**
165
- * Label used for the
166
- *
167
- * @default "Value"
168
- */
169
- this.intlValue = TEXT.value;
170
- /**
171
- * The scale of the color picker.
172
- */
173
- this.scale = "m";
174
- /**
175
- * The color value.
176
- *
177
- * This value can be either a {@link https://developer.mozilla.org/en-US/docs/Web/CSS/color|CSS string}
178
- * a RGB, HSL or HSV object.
179
- *
180
- * The type will be preserved as the color is updated.
181
- *
182
- * @default "#007ac2"
183
- * @see [ColorValue](https://github.com/Esri/calcite-components/blob/master/src/components/color-picker/interfaces.ts#L10)
184
- */
185
- this.value = defaultValue;
186
- this.colorFieldAndSliderHovered = false;
187
- this.hueThumbState = "idle";
188
- this.internalColorUpdateContext = null;
189
- this.mode = CSSColorMode.HEX;
190
- this.shiftKeyChannelAdjustment = 0;
191
- this.sliderThumbState = "idle";
192
- this.colorFieldAndSliderInteractive = false;
193
- this.channelMode = "rgb";
194
- this.channels = this.toChannels(DEFAULT_COLOR);
195
- this.dimensions = DIMENSIONS.m;
196
- this.savedColors = [];
197
- this.handleTabActivate = (event) => {
198
- this.channelMode = event.currentTarget.getAttribute("data-color-mode");
199
- this.updateChannelsFromColor(this.color);
200
- };
201
- this.handleColorFieldScopeKeyDown = (event) => {
202
- const key = event.key;
203
- const arrowKeyToXYOffset = {
204
- ArrowUp: { x: 0, y: -10 },
205
- ArrowRight: { x: 10, y: 0 },
206
- ArrowDown: { x: 0, y: 10 },
207
- ArrowLeft: { x: -10, y: 0 }
208
- };
209
- if (arrowKeyToXYOffset[key]) {
210
- event.preventDefault();
211
- this.scopeOrientation = key === "ArrowDown" || key === "ArrowUp" ? "vertical" : "horizontal";
212
- this.captureColorFieldColor(this.colorFieldScopeLeft + arrowKeyToXYOffset[key].x || 0, this.colorFieldScopeTop + arrowKeyToXYOffset[key].y || 0, false);
213
- }
214
- };
215
- this.handleHueScopeKeyDown = (event) => {
216
- const modifier = event.shiftKey ? 10 : 1;
217
- const key = event.key;
218
- const arrowKeyToXOffset = {
219
- ArrowUp: 1,
220
- ArrowRight: 1,
221
- ArrowDown: -1,
222
- ArrowLeft: -1
223
- };
224
- if (arrowKeyToXOffset[key]) {
225
- event.preventDefault();
226
- const delta = arrowKeyToXOffset[key] * modifier;
227
- const hue = this.baseColorFieldColor.hue();
228
- const color = this.baseColorFieldColor.hue(hue + delta);
229
- this.internalColorSet(color, false);
230
- }
231
- };
232
- this.handleHexInputChange = (event) => {
233
- event.stopPropagation();
234
- const { allowEmpty, color } = this;
235
- const input = event.target;
236
- const hex = input.value;
237
- if (allowEmpty && !hex) {
238
- this.internalColorSet(null);
239
- return;
240
- }
241
- const normalizedHex = color && normalizeHex(color.hex());
242
- if (hex !== normalizedHex) {
243
- this.internalColorSet(Color(hex));
244
- }
245
- };
246
- this.handleSavedColorSelect = (event) => {
247
- const swatch = event.currentTarget;
248
- this.internalColorSet(Color(swatch.color));
249
- };
250
- this.handleChannelInput = (event) => {
251
- const input = event.currentTarget;
252
- const internalInput = event.detail.nativeEvent.target;
253
- const channelIndex = Number(input.getAttribute("data-channel-index"));
254
- const limit = this.channelMode === "rgb"
255
- ? RGB_LIMITS[Object.keys(RGB_LIMITS)[channelIndex]]
256
- : HSV_LIMITS[Object.keys(HSV_LIMITS)[channelIndex]];
257
- let inputValue;
258
- if (this.allowEmpty && !input.value) {
259
- inputValue = "";
260
- }
261
- else {
262
- const value = Number(input.value) + this.shiftKeyChannelAdjustment;
263
- const clamped = clamp(value, 0, limit);
264
- inputValue = clamped.toString();
265
- }
266
- input.value = inputValue;
267
- internalInput.value = inputValue;
268
- };
269
- this.handleChannelChange = (event) => {
270
- const input = event.currentTarget;
271
- const channelIndex = Number(input.getAttribute("data-channel-index"));
272
- const channels = [...this.channels];
273
- const shouldClearChannels = this.allowEmpty && !input.value;
274
- if (shouldClearChannels) {
275
- this.channels = [null, null, null];
276
- this.internalColorSet(null);
277
- return;
278
- }
279
- channels[channelIndex] = Number(input.value);
280
- this.updateColorFromChannels(channels);
281
- };
282
- this.handleSavedColorKeyDown = (event) => {
283
- if (event.key === " " || event.key === "Enter") {
284
- event.preventDefault();
285
- event.stopPropagation();
286
- this.handleSavedColorSelect(event);
287
- }
288
- };
289
- this.handleColorFieldAndSliderPointerLeave = () => {
290
- this.colorFieldAndSliderInteractive = false;
291
- this.colorFieldAndSliderHovered = false;
292
- if (this.sliderThumbState !== "drag" && this.hueThumbState !== "drag") {
293
- this.hueThumbState = "idle";
294
- this.sliderThumbState = "idle";
295
- this.drawColorFieldAndSlider();
296
- }
297
- };
298
- this.handleColorFieldAndSliderPointerDown = (event) => {
299
- var _a, _b;
300
- const { offsetX, offsetY } = event;
301
- const region = this.getCanvasRegion(offsetY);
302
- if (region === "color-field") {
303
- this.hueThumbState = "drag";
304
- this.captureColorFieldColor(offsetX, offsetY);
305
- (_a = this.colorFieldScopeNode) === null || _a === void 0 ? void 0 : _a.focus();
306
- }
307
- else if (region === "slider") {
308
- this.sliderThumbState = "drag";
309
- this.captureHueSliderColor(offsetX);
310
- (_b = this.hueScopeNode) === null || _b === void 0 ? void 0 : _b.focus();
311
- }
312
- // prevent text selection outside of color field & slider area
313
- event.preventDefault();
314
- document.addEventListener("pointermove", this.globalPointerMoveHandler);
315
- document.addEventListener("pointerup", this.globalPointerUpHandler, { once: true });
316
- this.activeColorFieldAndSliderRect =
317
- this.fieldAndSliderRenderingContext.canvas.getBoundingClientRect();
318
- };
319
- this.globalPointerUpHandler = () => {
320
- const previouslyDragging = this.sliderThumbState === "drag" || this.hueThumbState === "drag";
321
- this.hueThumbState = "idle";
322
- this.sliderThumbState = "idle";
323
- this.activeColorFieldAndSliderRect = null;
324
- this.drawColorFieldAndSlider();
325
- if (previouslyDragging) {
326
- this.calciteColorPickerChange.emit();
327
- }
328
- };
329
- this.globalPointerMoveHandler = (event) => {
330
- const { el, dimensions } = this;
331
- const sliderThumbDragging = this.sliderThumbState === "drag";
332
- const hueThumbDragging = this.hueThumbState === "drag";
333
- if (!el.isConnected || (!sliderThumbDragging && !hueThumbDragging)) {
334
- return;
335
- }
336
- let samplingX;
337
- let samplingY;
338
- const colorFieldAndSliderRect = this.activeColorFieldAndSliderRect;
339
- const { clientX, clientY } = event;
340
- if (this.colorFieldAndSliderHovered) {
341
- samplingX = clientX - colorFieldAndSliderRect.x;
342
- samplingY = clientY - colorFieldAndSliderRect.y;
343
- }
344
- else {
345
- const colorFieldWidth = dimensions.colorField.width;
346
- const colorFieldHeight = dimensions.colorField.height;
347
- const hueSliderHeight = dimensions.slider.height;
348
- if (clientX < colorFieldAndSliderRect.x + colorFieldWidth &&
349
- clientX > colorFieldAndSliderRect.x) {
350
- samplingX = clientX - colorFieldAndSliderRect.x;
351
- }
352
- else if (clientX < colorFieldAndSliderRect.x) {
353
- samplingX = 0;
354
- }
355
- else {
356
- samplingX = colorFieldWidth - 1;
357
- }
358
- if (clientY < colorFieldAndSliderRect.y + colorFieldHeight + hueSliderHeight &&
359
- clientY > colorFieldAndSliderRect.y) {
360
- samplingY = clientY - colorFieldAndSliderRect.y;
361
- }
362
- else if (clientY < colorFieldAndSliderRect.y) {
363
- samplingY = 0;
364
- }
365
- else {
366
- samplingY = colorFieldHeight + hueSliderHeight;
367
- }
368
- }
369
- if (hueThumbDragging) {
370
- this.captureColorFieldColor(samplingX, samplingY, false);
371
- }
372
- else {
373
- this.captureHueSliderColor(samplingX);
374
- }
375
- };
376
- this.handleColorFieldAndSliderPointerEnterOrMove = ({ offsetX, offsetY }) => {
377
- const { dimensions: { colorField, slider, thumb } } = this;
378
- this.colorFieldAndSliderInteractive = offsetY <= colorField.height + slider.height;
379
- this.colorFieldAndSliderHovered = true;
380
- const region = this.getCanvasRegion(offsetY);
381
- if (region === "color-field") {
382
- const prevHueThumbState = this.hueThumbState;
383
- const color = this.baseColorFieldColor.hsv();
384
- const centerX = Math.round(color.saturationv() / (HSV_LIMITS.s / colorField.width));
385
- const centerY = Math.round(colorField.height - color.value() / (HSV_LIMITS.v / colorField.height));
386
- const hoveringThumb = this.containsPoint(offsetX, offsetY, centerX, centerY, thumb.radius);
387
- let transitionedBetweenHoverAndIdle = false;
388
- if (prevHueThumbState === "idle" && hoveringThumb) {
389
- this.hueThumbState = "hover";
390
- transitionedBetweenHoverAndIdle = true;
391
- }
392
- else if (prevHueThumbState === "hover" && !hoveringThumb) {
393
- this.hueThumbState = "idle";
394
- transitionedBetweenHoverAndIdle = true;
395
- }
396
- if (this.hueThumbState !== "drag") {
397
- if (transitionedBetweenHoverAndIdle) {
398
- // refresh since we won't update color and thus no redraw
399
- this.drawColorFieldAndSlider();
400
- }
401
- }
402
- }
403
- else if (region === "slider") {
404
- const sliderThumbColor = this.baseColorFieldColor.hsv().saturationv(100).value(100);
405
- const prevSliderThumbState = this.sliderThumbState;
406
- const sliderThumbCenterX = Math.round(sliderThumbColor.hue() / (360 / slider.width));
407
- const sliderThumbCenterY = Math.round((slider.height + this.getSliderCapSpacing()) / 2) + colorField.height;
408
- const hoveringSliderThumb = this.containsPoint(offsetX, offsetY, sliderThumbCenterX, sliderThumbCenterY, thumb.radius);
409
- let sliderThumbTransitionedBetweenHoverAndIdle = false;
410
- if (prevSliderThumbState === "idle" && hoveringSliderThumb) {
411
- this.sliderThumbState = "hover";
412
- sliderThumbTransitionedBetweenHoverAndIdle = true;
413
- }
414
- else if (prevSliderThumbState === "hover" && !hoveringSliderThumb) {
415
- this.sliderThumbState = "idle";
416
- sliderThumbTransitionedBetweenHoverAndIdle = true;
417
- }
418
- if (this.sliderThumbState !== "drag") {
419
- if (sliderThumbTransitionedBetweenHoverAndIdle) {
420
- // refresh since we won't update color and thus no redraw
421
- this.drawColorFieldAndSlider();
422
- }
423
- }
424
- }
425
- };
426
- this.storeColorFieldScope = (node) => {
427
- this.colorFieldScopeNode = node;
428
- };
429
- this.storeHueScope = (node) => {
430
- this.hueScopeNode = node;
431
- };
432
- this.renderChannelsTabTitle = (channelMode) => {
433
- const { channelMode: activeChannelMode, intlRgb, intlHsv } = this;
434
- const active = channelMode === activeChannelMode;
435
- const label = channelMode === "rgb" ? intlRgb : intlHsv;
436
- return (h("calcite-tab-title", { active: active, class: CSS.colorMode, "data-color-mode": channelMode, key: channelMode, onCalciteTabsActivate: this.handleTabActivate }, label));
437
- };
438
- this.renderChannelsTab = (channelMode) => {
439
- const { channelMode: activeChannelMode, channels, intlB, intlBlue, intlG, intlGreen, intlH, intlHue, intlR, intlRed, intlS, intlSaturation, intlV, intlValue } = this;
440
- const active = channelMode === activeChannelMode;
441
- const isRgb = channelMode === "rgb";
442
- const channelLabels = isRgb ? [intlR, intlG, intlB] : [intlH, intlS, intlV];
443
- const channelAriaLabels = isRgb
444
- ? [intlRed, intlGreen, intlBlue]
445
- : [intlHue, intlSaturation, intlValue];
446
- const direction = getElementDir(this.el);
447
- return (h("calcite-tab", { active: active, class: CSS.control, key: channelMode },
448
- h("div", { class: CSS.channels, dir: "ltr" }, channels.map((channel, index) =>
449
- /* the channel container is ltr, so we apply the host's direction */
450
- this.renderChannel(channel, index, channelLabels[index], channelAriaLabels[index], direction)))));
451
- };
452
- this.renderChannel = (value, index, label, ariaLabel, direction) => (h("calcite-input", { class: CSS.channel, "data-channel-index": index, dir: direction, label: ariaLabel, numberButtonType: "none", numberingSystem: this.numberingSystem, onCalciteInputChange: this.handleChannelChange, onCalciteInputInput: this.handleChannelInput, onKeyDown: this.handleKeyDown, prefixText: label, scale: this.scale === "l" ? "m" : "s", type: "number", value: value === null || value === void 0 ? void 0 : value.toString() }));
453
- this.deleteColor = () => {
454
- const colorToDelete = this.color.hex();
455
- const inStorage = this.savedColors.indexOf(colorToDelete) > -1;
456
- if (!inStorage) {
457
- return;
458
- }
459
- const savedColors = this.savedColors.filter((color) => color !== colorToDelete);
460
- this.savedColors = savedColors;
461
- const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${this.storageId}`;
462
- if (this.storageId) {
463
- localStorage.setItem(storageKey, JSON.stringify(savedColors));
464
- }
465
- };
466
- this.saveColor = () => {
467
- const colorToSave = this.color.hex();
468
- const alreadySaved = this.savedColors.indexOf(colorToSave) > -1;
469
- if (alreadySaved) {
470
- return;
471
- }
472
- const savedColors = [...this.savedColors, colorToSave];
473
- this.savedColors = savedColors;
474
- const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${this.storageId}`;
475
- if (this.storageId) {
476
- localStorage.setItem(storageKey, JSON.stringify(savedColors));
477
- }
478
- };
479
- this.drawColorFieldAndSlider = throttle(() => {
480
- if (!this.fieldAndSliderRenderingContext) {
481
- return;
482
- }
483
- this.drawColorField();
484
- this.drawHueSlider();
485
- }, throttleFor60FpsInMs);
486
- this.captureColorFieldColor = (x, y, skipEqual = true) => {
487
- const { dimensions: { colorField: { height, width } } } = this;
488
- const saturation = Math.round((HSV_LIMITS.s / width) * x);
489
- const value = Math.round((HSV_LIMITS.v / height) * (height - y));
490
- this.internalColorSet(this.baseColorFieldColor.hsv().saturationv(saturation).value(value), skipEqual);
491
- };
492
- this.initColorFieldAndSlider = (canvas) => {
493
- this.fieldAndSliderRenderingContext = canvas.getContext("2d");
494
- this.updateCanvasSize(canvas);
495
- };
496
- }
497
- handleColorChange(color, oldColor) {
498
- this.drawColorFieldAndSlider();
499
- this.updateChannelsFromColor(color);
500
- this.previousColor = oldColor;
501
- }
502
- handleFormatChange(format) {
503
- this.setMode(format);
504
- this.internalColorSet(this.color, false, "internal");
505
- }
506
- handleScaleChange(scale = "m") {
507
- var _a;
508
- this.updateDimensions(scale);
509
- this.updateCanvasSize((_a = this.fieldAndSliderRenderingContext) === null || _a === void 0 ? void 0 : _a.canvas);
510
- }
511
- handleValueChange(value, oldValue) {
512
- const { allowEmpty, format } = this;
513
- const checkMode = !allowEmpty || value;
514
- let modeChanged = false;
515
- if (checkMode) {
516
- const nextMode = parseMode(value);
517
- if (!nextMode || (format !== "auto" && nextMode !== format)) {
518
- this.showIncompatibleColorWarning(value, format);
519
- this.value = oldValue;
520
- return;
521
- }
522
- modeChanged = this.mode !== nextMode;
523
- this.setMode(nextMode);
524
- }
525
- const dragging = this.sliderThumbState === "drag" || this.hueThumbState === "drag";
526
- if (this.internalColorUpdateContext === "initial") {
527
- return;
528
- }
529
- if (this.internalColorUpdateContext === "user-interaction") {
530
- this.calciteColorPickerInput.emit();
531
- if (!dragging) {
532
- this.calciteColorPickerChange.emit();
533
- }
534
- return;
535
- }
536
- const color = allowEmpty && !value ? null : Color(value);
537
- const colorChanged = !colorEqual(color, this.color);
538
- if (modeChanged || colorChanged) {
539
- this.internalColorSet(color, true, "internal");
540
- }
541
- }
542
- //--------------------------------------------------------------------------
543
- //
544
- // Internal State/Props
545
- //
546
- //--------------------------------------------------------------------------
547
- get baseColorFieldColor() {
548
- return this.color || this.previousColor || DEFAULT_COLOR;
549
- }
550
- // using @Listen as a workaround for VDOM listener not firing
551
- handleChannelKeyUpOrDown(event) {
552
- this.shiftKeyChannelAdjustment = 0;
553
- const key = event.key;
554
- if ((key !== "ArrowUp" && key !== "ArrowDown") ||
555
- !event.composedPath().some((node) => { var _a; return (_a = node.classList) === null || _a === void 0 ? void 0 : _a.contains(CSS.channel); })) {
556
- return;
557
- }
558
- const { shiftKey } = event;
559
- event.preventDefault();
560
- if (!this.color) {
561
- this.internalColorSet(this.previousColor);
562
- event.stopPropagation();
563
- return;
564
- }
565
- // this gets applied to the input's up/down arrow increment/decrement
566
- const complementaryBump = 9;
567
- this.shiftKeyChannelAdjustment =
568
- key === "ArrowUp" && shiftKey
569
- ? complementaryBump
570
- : key === "ArrowDown" && shiftKey
571
- ? -complementaryBump
572
- : 0;
573
- }
574
- //--------------------------------------------------------------------------
575
- //
576
- // Public Methods
577
- //
578
- //--------------------------------------------------------------------------
579
- /** Sets focus on the component. */
580
- async setFocus() {
581
- return focusElement(this.colorFieldScopeNode);
582
- }
583
- //--------------------------------------------------------------------------
584
- //
585
- // Lifecycle
586
- //
587
- //--------------------------------------------------------------------------
588
- componentWillLoad() {
589
- const { allowEmpty, color, format, value } = this;
590
- const willSetNoColor = allowEmpty && !value;
591
- const parsedMode = parseMode(value);
592
- const valueIsCompatible = willSetNoColor || (format === "auto" && parsedMode) || format === parsedMode;
593
- const initialColor = willSetNoColor ? null : valueIsCompatible ? Color(value) : color;
594
- if (!valueIsCompatible) {
595
- this.showIncompatibleColorWarning(value, format);
596
- }
597
- this.setMode(format);
598
- this.internalColorSet(initialColor, false, "initial");
599
- this.updateDimensions(this.scale);
600
- const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${this.storageId}`;
601
- if (this.storageId && localStorage.getItem(storageKey)) {
602
- this.savedColors = JSON.parse(localStorage.getItem(storageKey));
603
- }
604
- }
605
- disconnectedCallback() {
606
- document.removeEventListener("pointermove", this.globalPointerMoveHandler);
607
- document.removeEventListener("pointerup", this.globalPointerUpHandler);
608
- }
609
- componentDidRender() {
610
- updateHostInteraction(this);
611
- }
612
- //--------------------------------------------------------------------------
613
- //
614
- // Render Methods
615
- //
616
- //--------------------------------------------------------------------------
617
- render() {
618
- const { allowEmpty, color, intlDeleteColor, hideHex, hideChannels, hideSaved, intlHex, intlSaved, intlSaveColor, savedColors, scale } = this;
619
- const selectedColorInHex = color ? color.hex() : null;
620
- const hexInputScale = scale === "l" ? "m" : "s";
621
- const { colorFieldAndSliderInteractive, colorFieldScopeTop, colorFieldScopeLeft, hueScopeLeft, hueScopeTop, scopeOrientation, dimensions: { colorField: { height: colorFieldHeight, width: colorFieldWidth }, slider: { height: sliderHeight } } } = this;
622
- const hueTop = hueScopeTop !== null && hueScopeTop !== void 0 ? hueScopeTop : sliderHeight / 2 + colorFieldHeight;
623
- const hueLeft = hueScopeLeft !== null && hueScopeLeft !== void 0 ? hueScopeLeft : (colorFieldWidth * DEFAULT_COLOR.hue()) / HSV_LIMITS.h;
624
- const noColor = color === null;
625
- const vertical = scopeOrientation === "vertical";
626
- return (h("div", { class: CSS.container },
627
- h("div", { class: CSS.colorFieldAndSliderWrap },
628
- h("canvas", { class: {
629
- [CSS.colorFieldAndSlider]: true,
630
- [CSS.colorFieldAndSliderInteractive]: colorFieldAndSliderInteractive
631
- }, onPointerDown: this.handleColorFieldAndSliderPointerDown, onPointerEnter: this.handleColorFieldAndSliderPointerEnterOrMove, onPointerLeave: this.handleColorFieldAndSliderPointerLeave, onPointerMove: this.handleColorFieldAndSliderPointerEnterOrMove, ref: this.initColorFieldAndSlider }),
632
- h("div", { "aria-label": vertical ? this.intlValue : this.intlSaturation, "aria-valuemax": vertical ? HSV_LIMITS.v : HSV_LIMITS.s, "aria-valuemin": "0", "aria-valuenow": (vertical ? color === null || color === void 0 ? void 0 : color.saturationv() : color === null || color === void 0 ? void 0 : color.value()) || "0", class: { [CSS.scope]: true, [CSS.colorFieldScope]: true }, onKeyDown: this.handleColorFieldScopeKeyDown, ref: this.storeColorFieldScope, role: "slider", style: { top: `${colorFieldScopeTop || 0}px`, left: `${colorFieldScopeLeft || 0}px` }, tabindex: "0" }),
633
- h("div", { "aria-label": this.intlHue, "aria-valuemax": HSV_LIMITS.h, "aria-valuemin": "0", "aria-valuenow": (color === null || color === void 0 ? void 0 : color.round().hue()) || DEFAULT_COLOR.round().hue(), class: { [CSS.scope]: true, [CSS.hueScope]: true }, onKeyDown: this.handleHueScopeKeyDown, ref: this.storeHueScope, role: "slider", style: { top: `${hueTop}px`, left: `${hueLeft}px` }, tabindex: "0" })),
634
- hideHex && hideChannels ? null : (h("div", { class: {
635
- [CSS.controlSection]: true,
636
- [CSS.section]: true
637
- } },
638
- hideHex ? null : (h("div", { class: CSS.hexOptions },
639
- h("span", { class: {
640
- [CSS.header]: true,
641
- [CSS.headerHex]: true
642
- } }, intlHex),
643
- h("calcite-color-picker-hex-input", { allowEmpty: allowEmpty, class: CSS.control, numberingSystem: this.numberingSystem, onCalciteColorPickerHexInputChange: this.handleHexInputChange, scale: hexInputScale, value: selectedColorInHex }))),
644
- hideChannels ? null : (h("calcite-tabs", { class: {
645
- [CSS.colorModeContainer]: true,
646
- [CSS.splitSection]: true
647
- }, scale: hexInputScale },
648
- h("calcite-tab-nav", { slot: "tab-nav" },
649
- this.renderChannelsTabTitle("rgb"),
650
- this.renderChannelsTabTitle("hsv")),
651
- this.renderChannelsTab("rgb"),
652
- this.renderChannelsTab("hsv"))))),
653
- hideSaved ? null : (h("div", { class: { [CSS.savedColorsSection]: true, [CSS.section]: true } },
654
- h("div", { class: CSS.header },
655
- h("label", null, intlSaved),
656
- h("div", { class: CSS.savedColorsButtons },
657
- h("calcite-button", { appearance: "transparent", class: CSS.deleteColor, color: "neutral", disabled: noColor, iconStart: "minus", label: intlDeleteColor, onClick: this.deleteColor, scale: hexInputScale, type: "button" }),
658
- h("calcite-button", { appearance: "transparent", class: CSS.saveColor, color: "neutral", disabled: noColor, iconStart: "plus", label: intlSaveColor, onClick: this.saveColor, scale: hexInputScale, type: "button" }))),
659
- savedColors.length > 0 ? (h("div", { class: CSS.savedColors }, [
660
- ...savedColors.map((color) => (h("calcite-color-picker-swatch", { active: selectedColorInHex === color, class: CSS.savedColor, color: color, key: color, onClick: this.handleSavedColorSelect, onKeyDown: this.handleSavedColorKeyDown, scale: scale, tabIndex: 0 })))
661
- ])) : null))));
662
- }
663
- // --------------------------------------------------------------------------
664
- //
665
- // Private Methods
666
- //
667
- //--------------------------------------------------------------------------
668
- handleKeyDown(event) {
669
- if (event.key === "Enter") {
670
- event.preventDefault();
671
- }
672
- }
673
- showIncompatibleColorWarning(value, format) {
674
- console.warn(`ignoring color value (${value}) as it is not compatible with the current format (${format})`);
675
- }
676
- setMode(format) {
677
- this.mode = format === "auto" ? this.mode : format;
678
- }
679
- captureHueSliderColor(x) {
680
- const { dimensions: { slider: { width } } } = this;
681
- const hue = (360 / width) * x;
682
- this.internalColorSet(this.baseColorFieldColor.hue(hue), false);
683
- }
684
- getCanvasRegion(y) {
685
- const { dimensions: { colorField: { height: colorFieldHeight }, slider: { height: sliderHeight } } } = this;
686
- if (y <= colorFieldHeight) {
687
- return "color-field";
688
- }
689
- if (y <= colorFieldHeight + sliderHeight) {
690
- return "slider";
691
- }
692
- return "none";
693
- }
694
- internalColorSet(color, skipEqual = true, context = "user-interaction") {
695
- if (skipEqual && colorEqual(color, this.color)) {
696
- return;
697
- }
698
- this.internalColorUpdateContext = context;
699
- this.color = color;
700
- this.value = this.toValue(color);
701
- this.internalColorUpdateContext = null;
702
- }
703
- toValue(color, format = this.mode) {
704
- if (!color) {
705
- return null;
706
- }
707
- const hexMode = "hex";
708
- if (format.includes(hexMode)) {
709
- return normalizeHex(color.round()[hexMode]());
710
- }
711
- if (format.includes("-css")) {
712
- return color[format.replace("-css", "").replace("a", "")]().round().string();
713
- }
714
- const colorObject = color[format]().round().object();
715
- if (format.endsWith("a")) {
716
- // normalize alpha prop
717
- colorObject.a = colorObject.alpha;
718
- delete colorObject.alpha;
719
- }
720
- return colorObject;
721
- }
722
- getSliderCapSpacing() {
723
- const { dimensions: { slider: { height }, thumb: { radius } } } = this;
724
- return radius * 2 - height;
725
- }
726
- updateDimensions(scale = "m") {
727
- this.dimensions = DIMENSIONS[scale];
728
- }
729
- drawColorField() {
730
- const context = this.fieldAndSliderRenderingContext;
731
- const { dimensions: { colorField: { height, width } } } = this;
732
- context.fillStyle = this.baseColorFieldColor.hsv().saturationv(100).value(100).string();
733
- context.fillRect(0, 0, width, height);
734
- const whiteGradient = context.createLinearGradient(0, 0, width, 0);
735
- whiteGradient.addColorStop(0, "rgba(255,255,255,1)");
736
- whiteGradient.addColorStop(1, "rgba(255,255,255,0)");
737
- context.fillStyle = whiteGradient;
738
- context.fillRect(0, 0, width, height);
739
- const blackGradient = context.createLinearGradient(0, 0, 0, height);
740
- blackGradient.addColorStop(0, "rgba(0,0,0,0)");
741
- blackGradient.addColorStop(1, "rgba(0,0,0,1)");
742
- context.fillStyle = blackGradient;
743
- context.fillRect(0, 0, width, height);
744
- this.drawActiveColorFieldColor();
745
- }
746
- setCanvasContextSize(canvas, { height, width }) {
747
- const devicePixelRatio = window.devicePixelRatio || 1;
748
- canvas.width = width * devicePixelRatio;
749
- canvas.height = height * devicePixelRatio;
750
- canvas.style.height = `${height}px`;
751
- canvas.style.width = `${width}px`;
752
- const context = canvas.getContext("2d");
753
- context.scale(devicePixelRatio, devicePixelRatio);
754
- }
755
- updateCanvasSize(canvas) {
756
- if (!canvas) {
757
- return;
758
- }
759
- this.setCanvasContextSize(canvas, {
760
- width: this.dimensions.colorField.width,
761
- height: this.dimensions.colorField.height +
762
- this.dimensions.slider.height +
763
- this.getSliderCapSpacing() * 2
764
- });
765
- this.drawColorFieldAndSlider();
766
- }
767
- containsPoint(testPointX, testPointY, boundsX, boundsY, boundsRadius) {
768
- return (Math.pow(testPointX - boundsX, 2) + Math.pow(testPointY - boundsY, 2) <=
769
- Math.pow(boundsRadius, 2));
770
- }
771
- drawActiveColorFieldColor() {
772
- const { color } = this;
773
- if (!color) {
774
- return;
775
- }
776
- const hsvColor = color.hsv();
777
- const { dimensions: { colorField: { height, width }, thumb: { radius } } } = this;
778
- const x = hsvColor.saturationv() / (HSV_LIMITS.s / width);
779
- const y = height - hsvColor.value() / (HSV_LIMITS.v / height);
780
- requestAnimationFrame(() => {
781
- this.colorFieldScopeLeft = x;
782
- this.colorFieldScopeTop = y;
783
- });
784
- this.drawThumb(this.fieldAndSliderRenderingContext, radius, x, y, hsvColor, this.hueThumbState);
785
- }
786
- drawThumb(context, radius, x, y, color, state) {
787
- const startAngle = 0;
788
- const endAngle = 2 * Math.PI;
789
- context.beginPath();
790
- context.arc(x, y, radius, startAngle, endAngle);
791
- context.shadowBlur = state === "hover" ? 32 : 16;
792
- context.shadowColor = `rgba(0, 0, 0, ${state === "drag" ? 0.32 : 0.16})`;
793
- context.fillStyle = "#fff";
794
- context.fill();
795
- context.beginPath();
796
- context.arc(x, y, radius - 3, startAngle, endAngle);
797
- context.shadowBlur = 0;
798
- context.shadowColor = "transparent";
799
- context.fillStyle = color.rgb().string();
800
- context.fill();
801
- }
802
- drawActiveHueSliderColor() {
803
- const { color } = this;
804
- if (!color) {
805
- return;
806
- }
807
- const hsvColor = color.hsv().saturationv(100).value(100);
808
- const { dimensions: { colorField: { height: colorFieldHeight }, slider: { height, width }, thumb: { radius } } } = this;
809
- const x = hsvColor.hue() / (360 / width);
810
- const y = height / 2 + colorFieldHeight;
811
- requestAnimationFrame(() => {
812
- this.hueScopeLeft = x;
813
- this.hueScopeTop = y;
814
- });
815
- this.drawThumb(this.fieldAndSliderRenderingContext, radius, x, y, hsvColor, this.sliderThumbState);
816
- }
817
- drawHueSlider() {
818
- const context = this.fieldAndSliderRenderingContext;
819
- const { dimensions: { colorField: { height: colorFieldHeight }, slider: { height, width } } } = this;
820
- const gradient = context.createLinearGradient(0, 0, width, 0);
821
- const hueSliderColorStopKeywords = ["red", "yellow", "lime", "cyan", "blue", "magenta", "red"];
822
- const offset = 1 / (hueSliderColorStopKeywords.length - 1);
823
- let currentOffset = 0;
824
- hueSliderColorStopKeywords.forEach((keyword) => {
825
- gradient.addColorStop(currentOffset, Color(keyword).string());
826
- currentOffset += offset;
827
- });
828
- context.fillStyle = gradient;
829
- context.clearRect(0, colorFieldHeight, width, height + this.getSliderCapSpacing() * 2);
830
- context.fillRect(0, colorFieldHeight, width, height);
831
- this.drawActiveHueSliderColor();
832
- }
833
- updateColorFromChannels(channels) {
834
- this.internalColorSet(Color(channels, this.channelMode));
835
- }
836
- updateChannelsFromColor(color) {
837
- this.channels = color ? this.toChannels(color) : [null, null, null];
838
- }
839
- toChannels(color) {
840
- const { channelMode } = this;
841
- return color[channelMode]()
842
- .array()
843
- .map((value) => Math.floor(value));
844
- }
845
- static get is() { return "calcite-color-picker"; }
846
- static get encapsulation() { return "shadow"; }
847
- static get originalStyleUrls() { return {
848
- "$": ["color-picker.scss"]
849
- }; }
850
- static get styleUrls() { return {
851
- "$": ["color-picker.css"]
852
- }; }
853
- static get properties() { return {
854
- "allowEmpty": {
855
- "type": "boolean",
856
- "mutable": false,
857
- "complexType": {
858
- "original": "boolean",
859
- "resolved": "boolean",
860
- "references": {}
861
- },
862
- "required": false,
863
- "optional": false,
864
- "docs": {
865
- "tags": [],
866
- "text": "When false, empty color (null) will be allowed as a value. Otherwise, a color value is always enforced by the component.\n\nWhen true, clearing the input and blurring will restore the last valid color set. When false, it will set it to empty."
867
- },
868
- "attribute": "allow-empty",
869
- "reflect": false,
870
- "defaultValue": "false"
871
- },
872
- "appearance": {
873
- "type": "string",
874
- "mutable": false,
875
- "complexType": {
876
- "original": "ColorAppearance",
877
- "resolved": "\"default\" | \"minimal\"",
878
- "references": {
879
- "ColorAppearance": {
880
- "location": "import",
881
- "path": "./interfaces"
882
- }
883
- }
884
- },
885
- "required": false,
886
- "optional": false,
887
- "docs": {
888
- "tags": [],
889
- "text": "specify the appearance - default (containing border), or minimal (no containing border)"
890
- },
891
- "attribute": "appearance",
892
- "reflect": true,
893
- "defaultValue": "\"default\""
894
- },
895
- "color": {
896
- "type": "unknown",
897
- "mutable": true,
898
- "complexType": {
899
- "original": "InternalColor | null",
900
- "resolved": "Color<ColorParam>",
901
- "references": {
902
- "InternalColor": {
903
- "location": "import",
904
- "path": "./interfaces"
905
- }
906
- }
907
- },
908
- "required": false,
909
- "optional": false,
910
- "docs": {
911
- "tags": [{
912
- "name": "internal",
913
- "text": undefined
914
- }],
915
- "text": "Internal prop for advanced use-cases."
916
- },
917
- "defaultValue": "DEFAULT_COLOR"
918
- },
919
- "disabled": {
920
- "type": "boolean",
921
- "mutable": false,
922
- "complexType": {
923
- "original": "boolean",
924
- "resolved": "boolean",
925
- "references": {}
926
- },
927
- "required": false,
928
- "optional": false,
929
- "docs": {
930
- "tags": [],
931
- "text": "When true, disabled prevents user interaction."
932
- },
933
- "attribute": "disabled",
934
- "reflect": true,
935
- "defaultValue": "false"
936
- },
937
- "format": {
938
- "type": "string",
939
- "mutable": false,
940
- "complexType": {
941
- "original": "Format",
942
- "resolved": "\"auto\" | \"hex\" | \"hexa\" | \"hsl\" | \"hsl-css\" | \"hsla\" | \"hsla-css\" | \"hsv\" | \"hsva\" | \"rgb\" | \"rgb-css\" | \"rgba\" | \"rgba-css\"",
943
- "references": {
944
- "Format": {
945
- "location": "import",
946
- "path": "./utils"
947
- }
948
- }
949
- },
950
- "required": false,
951
- "optional": false,
952
- "docs": {
953
- "tags": [{
954
- "name": "default",
955
- "text": "\"auto\""
956
- }],
957
- "text": "The format of the value property.\n\nWhen \"auto\", the format will be inferred from `value` when set."
958
- },
959
- "attribute": "format",
960
- "reflect": false,
961
- "defaultValue": "defaultFormat"
962
- },
963
- "hideHex": {
964
- "type": "boolean",
965
- "mutable": false,
966
- "complexType": {
967
- "original": "boolean",
968
- "resolved": "boolean",
969
- "references": {}
970
- },
971
- "required": false,
972
- "optional": false,
973
- "docs": {
974
- "tags": [],
975
- "text": "When true, hides the hex input"
976
- },
977
- "attribute": "hide-hex",
978
- "reflect": false,
979
- "defaultValue": "false"
980
- },
981
- "hideChannels": {
982
- "type": "boolean",
983
- "mutable": false,
984
- "complexType": {
985
- "original": "boolean",
986
- "resolved": "boolean",
987
- "references": {}
988
- },
989
- "required": false,
990
- "optional": false,
991
- "docs": {
992
- "tags": [],
993
- "text": "When true, hides the RGB/HSV channel inputs"
994
- },
995
- "attribute": "hide-channels",
996
- "reflect": false,
997
- "defaultValue": "false"
998
- },
999
- "hideSaved": {
1000
- "type": "boolean",
1001
- "mutable": false,
1002
- "complexType": {
1003
- "original": "boolean",
1004
- "resolved": "boolean",
1005
- "references": {}
1006
- },
1007
- "required": false,
1008
- "optional": false,
1009
- "docs": {
1010
- "tags": [],
1011
- "text": "When true, hides the saved colors section"
1012
- },
1013
- "attribute": "hide-saved",
1014
- "reflect": false,
1015
- "defaultValue": "false"
1016
- },
1017
- "intlB": {
1018
- "type": "string",
1019
- "mutable": false,
1020
- "complexType": {
1021
- "original": "string",
1022
- "resolved": "string",
1023
- "references": {}
1024
- },
1025
- "required": false,
1026
- "optional": false,
1027
- "docs": {
1028
- "tags": [{
1029
- "name": "default",
1030
- "text": "\"B\""
1031
- }],
1032
- "text": "Label used for the blue channel"
1033
- },
1034
- "attribute": "intl-b",
1035
- "reflect": false,
1036
- "defaultValue": "TEXT.b"
1037
- },
1038
- "intlBlue": {
1039
- "type": "string",
1040
- "mutable": false,
1041
- "complexType": {
1042
- "original": "string",
1043
- "resolved": "string",
1044
- "references": {}
1045
- },
1046
- "required": false,
1047
- "optional": false,
1048
- "docs": {
1049
- "tags": [{
1050
- "name": "default",
1051
- "text": "\"Blue\""
1052
- }],
1053
- "text": "Label used for the blue channel description"
1054
- },
1055
- "attribute": "intl-blue",
1056
- "reflect": false,
1057
- "defaultValue": "TEXT.blue"
1058
- },
1059
- "intlDeleteColor": {
1060
- "type": "string",
1061
- "mutable": false,
1062
- "complexType": {
1063
- "original": "string",
1064
- "resolved": "string",
1065
- "references": {}
1066
- },
1067
- "required": false,
1068
- "optional": false,
1069
- "docs": {
1070
- "tags": [{
1071
- "name": "default",
1072
- "text": "\"Delete color\""
1073
- }],
1074
- "text": "Label used for the delete color button."
1075
- },
1076
- "attribute": "intl-delete-color",
1077
- "reflect": false,
1078
- "defaultValue": "TEXT.deleteColor"
1079
- },
1080
- "intlG": {
1081
- "type": "string",
1082
- "mutable": false,
1083
- "complexType": {
1084
- "original": "string",
1085
- "resolved": "string",
1086
- "references": {}
1087
- },
1088
- "required": false,
1089
- "optional": false,
1090
- "docs": {
1091
- "tags": [{
1092
- "name": "default",
1093
- "text": "\"G\""
1094
- }],
1095
- "text": "Label used for the green channel"
1096
- },
1097
- "attribute": "intl-g",
1098
- "reflect": false,
1099
- "defaultValue": "TEXT.g"
1100
- },
1101
- "intlGreen": {
1102
- "type": "string",
1103
- "mutable": false,
1104
- "complexType": {
1105
- "original": "string",
1106
- "resolved": "string",
1107
- "references": {}
1108
- },
1109
- "required": false,
1110
- "optional": false,
1111
- "docs": {
1112
- "tags": [{
1113
- "name": "default",
1114
- "text": "\"Green\""
1115
- }],
1116
- "text": "Label used for the green channel description"
1117
- },
1118
- "attribute": "intl-green",
1119
- "reflect": false,
1120
- "defaultValue": "TEXT.green"
1121
- },
1122
- "intlH": {
1123
- "type": "string",
1124
- "mutable": false,
1125
- "complexType": {
1126
- "original": "string",
1127
- "resolved": "string",
1128
- "references": {}
1129
- },
1130
- "required": false,
1131
- "optional": false,
1132
- "docs": {
1133
- "tags": [{
1134
- "name": "default",
1135
- "text": "\"H\""
1136
- }],
1137
- "text": "Label used for the hue channel"
1138
- },
1139
- "attribute": "intl-h",
1140
- "reflect": false,
1141
- "defaultValue": "TEXT.h"
1142
- },
1143
- "intlHsv": {
1144
- "type": "string",
1145
- "mutable": false,
1146
- "complexType": {
1147
- "original": "string",
1148
- "resolved": "string",
1149
- "references": {}
1150
- },
1151
- "required": false,
1152
- "optional": false,
1153
- "docs": {
1154
- "tags": [{
1155
- "name": "default",
1156
- "text": "\"HSV\""
1157
- }],
1158
- "text": "Label used for the HSV mode"
1159
- },
1160
- "attribute": "intl-hsv",
1161
- "reflect": false,
1162
- "defaultValue": "TEXT.hsv"
1163
- },
1164
- "intlHex": {
1165
- "type": "string",
1166
- "mutable": false,
1167
- "complexType": {
1168
- "original": "string",
1169
- "resolved": "string",
1170
- "references": {}
1171
- },
1172
- "required": false,
1173
- "optional": false,
1174
- "docs": {
1175
- "tags": [{
1176
- "name": "default",
1177
- "text": "\"Hex\""
1178
- }],
1179
- "text": "Label used for the hex input"
1180
- },
1181
- "attribute": "intl-hex",
1182
- "reflect": false,
1183
- "defaultValue": "TEXT.hex"
1184
- },
1185
- "intlHue": {
1186
- "type": "string",
1187
- "mutable": false,
1188
- "complexType": {
1189
- "original": "string",
1190
- "resolved": "string",
1191
- "references": {}
1192
- },
1193
- "required": false,
1194
- "optional": false,
1195
- "docs": {
1196
- "tags": [{
1197
- "name": "default",
1198
- "text": "\"Hue\""
1199
- }],
1200
- "text": "Label used for the hue channel description"
1201
- },
1202
- "attribute": "intl-hue",
1203
- "reflect": false,
1204
- "defaultValue": "TEXT.hue"
1205
- },
1206
- "intlNoColor": {
1207
- "type": "string",
1208
- "mutable": false,
1209
- "complexType": {
1210
- "original": "string",
1211
- "resolved": "string",
1212
- "references": {}
1213
- },
1214
- "required": false,
1215
- "optional": false,
1216
- "docs": {
1217
- "tags": [{
1218
- "name": "default",
1219
- "text": "\"No color\""
1220
- }],
1221
- "text": "Label used for the hex input when there is no color selected."
1222
- },
1223
- "attribute": "intl-no-color",
1224
- "reflect": false,
1225
- "defaultValue": "TEXT.noColor"
1226
- },
1227
- "intlR": {
1228
- "type": "string",
1229
- "mutable": false,
1230
- "complexType": {
1231
- "original": "string",
1232
- "resolved": "string",
1233
- "references": {}
1234
- },
1235
- "required": false,
1236
- "optional": false,
1237
- "docs": {
1238
- "tags": [{
1239
- "name": "default",
1240
- "text": "\"R\""
1241
- }],
1242
- "text": "Label used for the red channel"
1243
- },
1244
- "attribute": "intl-r",
1245
- "reflect": false,
1246
- "defaultValue": "TEXT.r"
1247
- },
1248
- "intlRed": {
1249
- "type": "string",
1250
- "mutable": false,
1251
- "complexType": {
1252
- "original": "string",
1253
- "resolved": "string",
1254
- "references": {}
1255
- },
1256
- "required": false,
1257
- "optional": false,
1258
- "docs": {
1259
- "tags": [{
1260
- "name": "default",
1261
- "text": "\"Red\""
1262
- }],
1263
- "text": "Label used for the red channel description"
1264
- },
1265
- "attribute": "intl-red",
1266
- "reflect": false,
1267
- "defaultValue": "TEXT.red"
1268
- },
1269
- "intlRgb": {
1270
- "type": "string",
1271
- "mutable": false,
1272
- "complexType": {
1273
- "original": "string",
1274
- "resolved": "string",
1275
- "references": {}
1276
- },
1277
- "required": false,
1278
- "optional": false,
1279
- "docs": {
1280
- "tags": [{
1281
- "name": "default",
1282
- "text": "\"RGB\""
1283
- }],
1284
- "text": "Label used for the RGB mode"
1285
- },
1286
- "attribute": "intl-rgb",
1287
- "reflect": false,
1288
- "defaultValue": "TEXT.rgb"
1289
- },
1290
- "intlS": {
1291
- "type": "string",
1292
- "mutable": false,
1293
- "complexType": {
1294
- "original": "string",
1295
- "resolved": "string",
1296
- "references": {}
1297
- },
1298
- "required": false,
1299
- "optional": false,
1300
- "docs": {
1301
- "tags": [{
1302
- "name": "default",
1303
- "text": "\"S\""
1304
- }],
1305
- "text": "Label used for the saturation channel"
1306
- },
1307
- "attribute": "intl-s",
1308
- "reflect": false,
1309
- "defaultValue": "TEXT.s"
1310
- },
1311
- "intlSaturation": {
1312
- "type": "string",
1313
- "mutable": false,
1314
- "complexType": {
1315
- "original": "string",
1316
- "resolved": "string",
1317
- "references": {}
1318
- },
1319
- "required": false,
1320
- "optional": false,
1321
- "docs": {
1322
- "tags": [{
1323
- "name": "default",
1324
- "text": "\"Saturation\""
1325
- }],
1326
- "text": "Label used for the saturation channel description"
1327
- },
1328
- "attribute": "intl-saturation",
1329
- "reflect": false,
1330
- "defaultValue": "TEXT.saturation"
1331
- },
1332
- "intlSaveColor": {
1333
- "type": "string",
1334
- "mutable": false,
1335
- "complexType": {
1336
- "original": "string",
1337
- "resolved": "string",
1338
- "references": {}
1339
- },
1340
- "required": false,
1341
- "optional": false,
1342
- "docs": {
1343
- "tags": [{
1344
- "name": "default",
1345
- "text": "\"Save color\""
1346
- }],
1347
- "text": "Label used for the save color button."
1348
- },
1349
- "attribute": "intl-save-color",
1350
- "reflect": false,
1351
- "defaultValue": "TEXT.saveColor"
1352
- },
1353
- "intlSaved": {
1354
- "type": "string",
1355
- "mutable": false,
1356
- "complexType": {
1357
- "original": "string",
1358
- "resolved": "string",
1359
- "references": {}
1360
- },
1361
- "required": false,
1362
- "optional": false,
1363
- "docs": {
1364
- "tags": [{
1365
- "name": "default",
1366
- "text": "\"Saved\""
1367
- }],
1368
- "text": "Label used for the saved colors section"
1369
- },
1370
- "attribute": "intl-saved",
1371
- "reflect": false,
1372
- "defaultValue": "TEXT.saved"
1373
- },
1374
- "intlV": {
1375
- "type": "string",
1376
- "mutable": false,
1377
- "complexType": {
1378
- "original": "string",
1379
- "resolved": "string",
1380
- "references": {}
1381
- },
1382
- "required": false,
1383
- "optional": false,
1384
- "docs": {
1385
- "tags": [{
1386
- "name": "default",
1387
- "text": "\"V\""
1388
- }],
1389
- "text": "Label used for the value channel"
1390
- },
1391
- "attribute": "intl-v",
1392
- "reflect": false,
1393
- "defaultValue": "TEXT.v"
1394
- },
1395
- "intlValue": {
1396
- "type": "string",
1397
- "mutable": false,
1398
- "complexType": {
1399
- "original": "string",
1400
- "resolved": "string",
1401
- "references": {}
1402
- },
1403
- "required": false,
1404
- "optional": false,
1405
- "docs": {
1406
- "tags": [{
1407
- "name": "default",
1408
- "text": "\"Value\""
1409
- }],
1410
- "text": "Label used for the"
1411
- },
1412
- "attribute": "intl-value",
1413
- "reflect": false,
1414
- "defaultValue": "TEXT.value"
1415
- },
1416
- "scale": {
1417
- "type": "string",
1418
- "mutable": false,
1419
- "complexType": {
1420
- "original": "Scale",
1421
- "resolved": "\"l\" | \"m\" | \"s\"",
1422
- "references": {
1423
- "Scale": {
1424
- "location": "import",
1425
- "path": "../interfaces"
1426
- }
1427
- }
1428
- },
1429
- "required": false,
1430
- "optional": false,
1431
- "docs": {
1432
- "tags": [],
1433
- "text": "The scale of the color picker."
1434
- },
1435
- "attribute": "scale",
1436
- "reflect": true,
1437
- "defaultValue": "\"m\""
1438
- },
1439
- "storageId": {
1440
- "type": "string",
1441
- "mutable": false,
1442
- "complexType": {
1443
- "original": "string",
1444
- "resolved": "string",
1445
- "references": {}
1446
- },
1447
- "required": false,
1448
- "optional": false,
1449
- "docs": {
1450
- "tags": [],
1451
- "text": "Storage ID for colors."
1452
- },
1453
- "attribute": "storage-id",
1454
- "reflect": false
1455
- },
1456
- "numberingSystem": {
1457
- "type": "string",
1458
- "mutable": false,
1459
- "complexType": {
1460
- "original": "string",
1461
- "resolved": "string",
1462
- "references": {}
1463
- },
1464
- "required": false,
1465
- "optional": true,
1466
- "docs": {
1467
- "tags": [],
1468
- "text": "standard UniCode numeral system tag for localization"
1469
- },
1470
- "attribute": "numbering-system",
1471
- "reflect": false
1472
- },
1473
- "value": {
1474
- "type": "string",
1475
- "mutable": true,
1476
- "complexType": {
1477
- "original": "ColorValue | null",
1478
- "resolved": "HSL | HSL & ObjectWithAlpha | HSV | HSV & ObjectWithAlpha | RGB | RGB & ObjectWithAlpha | string",
1479
- "references": {
1480
- "ColorValue": {
1481
- "location": "import",
1482
- "path": "./interfaces"
1483
- }
1484
- }
1485
- },
1486
- "required": false,
1487
- "optional": false,
1488
- "docs": {
1489
- "tags": [{
1490
- "name": "default",
1491
- "text": "\"#007ac2\""
1492
- }, {
1493
- "name": "see",
1494
- "text": "[ColorValue](https://github.com/Esri/calcite-components/blob/master/src/components/color-picker/interfaces.ts#L10)"
1495
- }],
1496
- "text": "The color value.\n\nThis value can be either a {@link https ://developer.mozilla.org/en-US/docs/Web/CSS/color|CSS string}\na RGB, HSL or HSV object.\n\nThe type will be preserved as the color is updated."
1497
- },
1498
- "attribute": "value",
1499
- "reflect": false,
1500
- "defaultValue": "defaultValue"
1501
- }
1502
- }; }
1503
- static get states() { return {
1504
- "colorFieldAndSliderInteractive": {},
1505
- "channelMode": {},
1506
- "channels": {},
1507
- "dimensions": {},
1508
- "savedColors": {},
1509
- "colorFieldScopeTop": {},
1510
- "colorFieldScopeLeft": {},
1511
- "scopeOrientation": {},
1512
- "hueScopeLeft": {},
1513
- "hueScopeTop": {}
1514
- }; }
1515
- static get events() { return [{
1516
- "method": "calciteColorPickerChange",
1517
- "name": "calciteColorPickerChange",
1518
- "bubbles": true,
1519
- "cancelable": true,
1520
- "composed": true,
1521
- "docs": {
1522
- "tags": [],
1523
- "text": "Fires when the color value has changed."
1524
- },
1525
- "complexType": {
1526
- "original": "void",
1527
- "resolved": "void",
1528
- "references": {}
1529
- }
1530
- }, {
1531
- "method": "calciteColorPickerInput",
1532
- "name": "calciteColorPickerInput",
1533
- "bubbles": true,
1534
- "cancelable": true,
1535
- "composed": true,
1536
- "docs": {
1537
- "tags": [],
1538
- "text": "Fires as the color value changes.\n\nThis is similar to the change event with the exception of dragging. When dragging the color field or hue slider thumb, this event fires as the thumb is moved."
1539
- },
1540
- "complexType": {
1541
- "original": "void",
1542
- "resolved": "void",
1543
- "references": {}
1544
- }
1545
- }]; }
1546
- static get methods() { return {
1547
- "setFocus": {
1548
- "complexType": {
1549
- "signature": "() => Promise<void>",
1550
- "parameters": [],
1551
- "references": {
1552
- "Promise": {
1553
- "location": "global"
1554
- }
1555
- },
1556
- "return": "Promise<void>"
1557
- },
1558
- "docs": {
1559
- "text": "Sets focus on the component.",
1560
- "tags": []
1561
- }
1562
- }
1563
- }; }
1564
- static get elementRef() { return "el"; }
1565
- static get watchers() { return [{
1566
- "propName": "color",
1567
- "methodName": "handleColorChange"
1568
- }, {
1569
- "propName": "format",
1570
- "methodName": "handleFormatChange"
1571
- }, {
1572
- "propName": "scale",
1573
- "methodName": "handleScaleChange"
1574
- }, {
1575
- "propName": "value",
1576
- "methodName": "handleValueChange"
1577
- }]; }
1578
- static get listeners() { return [{
1579
- "name": "keydown",
1580
- "method": "handleChannelKeyUpOrDown",
1581
- "target": undefined,
1582
- "capture": true,
1583
- "passive": false
1584
- }, {
1585
- "name": "keyup",
1586
- "method": "handleChannelKeyUpOrDown",
1587
- "target": undefined,
1588
- "capture": true,
1589
- "passive": false
1590
- }]; }
1591
- }
6
+ import { Component, Element, Event, h, Listen, Method, Prop, State, Watch } from "@stencil/core";
7
+ import Color from "color";
8
+ import { CSS, DEFAULT_COLOR, DEFAULT_STORAGE_KEY_PREFIX, DIMENSIONS, HSV_LIMITS, RGB_LIMITS, TEXT } from "./resources";
9
+ import { focusElement, getElementDir } from "../../utils/dom";
10
+ import { colorEqual, CSSColorMode, normalizeHex, parseMode } from "./utils";
11
+ import { throttle } from "lodash-es";
12
+ import { clamp } from "../../utils/math";
13
+ import { updateHostInteraction } from "../../utils/interactive";
14
+ import { isActivationKey } from "../../utils/key";
15
+ const throttleFor60FpsInMs = 16;
16
+ const defaultValue = normalizeHex(DEFAULT_COLOR.hex());
17
+ const defaultFormat = "auto";
18
+ export class ColorPicker {
19
+ constructor() {
20
+ //--------------------------------------------------------------------------
21
+ //
22
+ // Public properties
23
+ //
24
+ //--------------------------------------------------------------------------
25
+ /**
26
+ * When false, empty color (null) will be allowed as a value. Otherwise, a color value is always enforced by the component.
27
+ *
28
+ * When true, clearing the input and blurring will restore the last valid color set. When false, it will set it to empty.
29
+ */
30
+ this.allowEmpty = false;
31
+ /** specify the appearance - solid (containing border), or minimal (no containing border) */
32
+ this.appearance = "solid";
33
+ /**
34
+ * Internal prop for advanced use-cases.
35
+ *
36
+ * @internal
37
+ */
38
+ this.color = DEFAULT_COLOR;
39
+ /**
40
+ * When true, disabled prevents user interaction.
41
+ */
42
+ this.disabled = false;
43
+ /**
44
+ * The format of the value property.
45
+ *
46
+ * When "auto", the format will be inferred from `value` when set.
47
+ *
48
+ * @default "auto"
49
+ */
50
+ this.format = defaultFormat;
51
+ /** When true, hides the hex input */
52
+ this.hideHex = false;
53
+ /** When true, hides the RGB/HSV channel inputs */
54
+ this.hideChannels = false;
55
+ /** When true, hides the saved colors section */
56
+ this.hideSaved = false;
57
+ /**
58
+ * Label used for the blue channel
59
+ *
60
+ * @default "B"
61
+ */
62
+ this.intlB = TEXT.b;
63
+ /**
64
+ * Label used for the blue channel description
65
+ *
66
+ * @default "Blue"
67
+ */
68
+ this.intlBlue = TEXT.blue;
69
+ /**
70
+ * Label used for the delete color button.
71
+ *
72
+ * @default "Delete color"
73
+ */
74
+ this.intlDeleteColor = TEXT.deleteColor;
75
+ /**
76
+ * Label used for the green channel
77
+ *
78
+ * @default "G"
79
+ */
80
+ this.intlG = TEXT.g;
81
+ /**
82
+ * Label used for the green channel description
83
+ *
84
+ * @default "Green"
85
+ */
86
+ this.intlGreen = TEXT.green;
87
+ /**
88
+ * Label used for the hue channel
89
+ *
90
+ * @default "H"
91
+ */
92
+ this.intlH = TEXT.h;
93
+ /**
94
+ * Label used for the HSV mode
95
+ *
96
+ * @default "HSV"
97
+ */
98
+ this.intlHsv = TEXT.hsv;
99
+ /**
100
+ * Label used for the hex input
101
+ *
102
+ * @default "Hex"
103
+ */
104
+ this.intlHex = TEXT.hex;
105
+ /**
106
+ * Label used for the hue channel description
107
+ *
108
+ * @default "Hue"
109
+ */
110
+ this.intlHue = TEXT.hue;
111
+ /**
112
+ * Label used for the hex input when there is no color selected.
113
+ *
114
+ * @default "No color"
115
+ */
116
+ this.intlNoColor = TEXT.noColor;
117
+ /**
118
+ * Label used for the red channel
119
+ *
120
+ * @default "R"
121
+ */
122
+ this.intlR = TEXT.r;
123
+ /**
124
+ * Label used for the red channel description
125
+ *
126
+ * @default "Red"
127
+ */
128
+ this.intlRed = TEXT.red;
129
+ /**
130
+ * Label used for the RGB mode
131
+ *
132
+ * @default "RGB"
133
+ */
134
+ this.intlRgb = TEXT.rgb;
135
+ /**
136
+ * Label used for the saturation channel
137
+ *
138
+ * @default "S"
139
+ */
140
+ this.intlS = TEXT.s;
141
+ /**
142
+ * Label used for the saturation channel description
143
+ *
144
+ * @default "Saturation"
145
+ */
146
+ this.intlSaturation = TEXT.saturation;
147
+ /**
148
+ * Label used for the save color button.
149
+ *
150
+ * @default "Save color"
151
+ */
152
+ this.intlSaveColor = TEXT.saveColor;
153
+ /**
154
+ * Label used for the saved colors section
155
+ *
156
+ * @default "Saved"
157
+ */
158
+ this.intlSaved = TEXT.saved;
159
+ /**
160
+ * Label used for the value channel
161
+ *
162
+ * @default "V"
163
+ */
164
+ this.intlV = TEXT.v;
165
+ /**
166
+ * Label used for the
167
+ *
168
+ * @default "Value"
169
+ */
170
+ this.intlValue = TEXT.value;
171
+ /**
172
+ * The scale of the color picker.
173
+ */
174
+ this.scale = "m";
175
+ /**
176
+ * The color value.
177
+ *
178
+ * This value can be either a {@link https://developer.mozilla.org/en-US/docs/Web/CSS/color|CSS string}
179
+ * a RGB, HSL or HSV object.
180
+ *
181
+ * The type will be preserved as the color is updated.
182
+ *
183
+ * @default "#007ac2"
184
+ * @see [ColorValue](https://github.com/Esri/calcite-components/blob/master/src/components/color-picker/interfaces.ts#L10)
185
+ */
186
+ this.value = defaultValue;
187
+ this.colorFieldAndSliderHovered = false;
188
+ this.hueThumbState = "idle";
189
+ this.internalColorUpdateContext = null;
190
+ this.mode = CSSColorMode.HEX;
191
+ this.shiftKeyChannelAdjustment = 0;
192
+ this.sliderThumbState = "idle";
193
+ this.colorFieldAndSliderInteractive = false;
194
+ this.channelMode = "rgb";
195
+ this.channels = this.toChannels(DEFAULT_COLOR);
196
+ this.dimensions = DIMENSIONS.m;
197
+ this.savedColors = [];
198
+ this.handleTabActivate = (event) => {
199
+ this.channelMode = event.currentTarget.getAttribute("data-color-mode");
200
+ this.updateChannelsFromColor(this.color);
201
+ };
202
+ this.handleColorFieldScopeKeyDown = (event) => {
203
+ const { key } = event;
204
+ const arrowKeyToXYOffset = {
205
+ ArrowUp: { x: 0, y: -10 },
206
+ ArrowRight: { x: 10, y: 0 },
207
+ ArrowDown: { x: 0, y: 10 },
208
+ ArrowLeft: { x: -10, y: 0 }
209
+ };
210
+ if (arrowKeyToXYOffset[key]) {
211
+ event.preventDefault();
212
+ this.scopeOrientation = key === "ArrowDown" || key === "ArrowUp" ? "vertical" : "horizontal";
213
+ this.captureColorFieldColor(this.colorFieldScopeLeft + arrowKeyToXYOffset[key].x || 0, this.colorFieldScopeTop + arrowKeyToXYOffset[key].y || 0, false);
214
+ }
215
+ };
216
+ this.handleHueScopeKeyDown = (event) => {
217
+ const modifier = event.shiftKey ? 10 : 1;
218
+ const { key } = event;
219
+ const arrowKeyToXOffset = {
220
+ ArrowUp: 1,
221
+ ArrowRight: 1,
222
+ ArrowDown: -1,
223
+ ArrowLeft: -1
224
+ };
225
+ if (arrowKeyToXOffset[key]) {
226
+ event.preventDefault();
227
+ const delta = arrowKeyToXOffset[key] * modifier;
228
+ const hue = this.baseColorFieldColor.hue();
229
+ const color = this.baseColorFieldColor.hue(hue + delta);
230
+ this.internalColorSet(color, false);
231
+ }
232
+ };
233
+ this.handleHexInputChange = (event) => {
234
+ event.stopPropagation();
235
+ const { allowEmpty, color } = this;
236
+ const input = event.target;
237
+ const hex = input.value;
238
+ if (allowEmpty && !hex) {
239
+ this.internalColorSet(null);
240
+ return;
241
+ }
242
+ const normalizedHex = color && normalizeHex(color.hex());
243
+ if (hex !== normalizedHex) {
244
+ this.internalColorSet(Color(hex));
245
+ }
246
+ };
247
+ this.handleSavedColorSelect = (event) => {
248
+ const swatch = event.currentTarget;
249
+ this.internalColorSet(Color(swatch.color));
250
+ };
251
+ this.handleChannelInput = (event) => {
252
+ const input = event.currentTarget;
253
+ const internalInput = event.detail.nativeEvent.target;
254
+ const channelIndex = Number(input.getAttribute("data-channel-index"));
255
+ const limit = this.channelMode === "rgb"
256
+ ? RGB_LIMITS[Object.keys(RGB_LIMITS)[channelIndex]]
257
+ : HSV_LIMITS[Object.keys(HSV_LIMITS)[channelIndex]];
258
+ let inputValue;
259
+ if (this.allowEmpty && !input.value) {
260
+ inputValue = "";
261
+ }
262
+ else {
263
+ const value = Number(input.value) + this.shiftKeyChannelAdjustment;
264
+ const clamped = clamp(value, 0, limit);
265
+ inputValue = clamped.toString();
266
+ }
267
+ input.value = inputValue;
268
+ internalInput.value = inputValue;
269
+ };
270
+ this.handleChannelChange = (event) => {
271
+ const input = event.currentTarget;
272
+ const channelIndex = Number(input.getAttribute("data-channel-index"));
273
+ const channels = [...this.channels];
274
+ const shouldClearChannels = this.allowEmpty && !input.value;
275
+ if (shouldClearChannels) {
276
+ this.channels = [null, null, null];
277
+ this.internalColorSet(null);
278
+ return;
279
+ }
280
+ channels[channelIndex] = Number(input.value);
281
+ this.updateColorFromChannels(channels);
282
+ };
283
+ this.handleSavedColorKeyDown = (event) => {
284
+ if (isActivationKey(event.key)) {
285
+ event.preventDefault();
286
+ this.handleSavedColorSelect(event);
287
+ }
288
+ };
289
+ this.handleColorFieldAndSliderPointerLeave = () => {
290
+ this.colorFieldAndSliderInteractive = false;
291
+ this.colorFieldAndSliderHovered = false;
292
+ if (this.sliderThumbState !== "drag" && this.hueThumbState !== "drag") {
293
+ this.hueThumbState = "idle";
294
+ this.sliderThumbState = "idle";
295
+ this.drawColorFieldAndSlider();
296
+ }
297
+ };
298
+ this.handleColorFieldAndSliderPointerDown = (event) => {
299
+ var _a, _b;
300
+ const { offsetX, offsetY } = event;
301
+ const region = this.getCanvasRegion(offsetY);
302
+ if (region === "color-field") {
303
+ this.hueThumbState = "drag";
304
+ this.captureColorFieldColor(offsetX, offsetY);
305
+ (_a = this.colorFieldScopeNode) === null || _a === void 0 ? void 0 : _a.focus();
306
+ }
307
+ else if (region === "slider") {
308
+ this.sliderThumbState = "drag";
309
+ this.captureHueSliderColor(offsetX);
310
+ (_b = this.hueScopeNode) === null || _b === void 0 ? void 0 : _b.focus();
311
+ }
312
+ // prevent text selection outside of color field & slider area
313
+ event.preventDefault();
314
+ document.addEventListener("pointermove", this.globalPointerMoveHandler);
315
+ document.addEventListener("pointerup", this.globalPointerUpHandler, { once: true });
316
+ this.activeColorFieldAndSliderRect =
317
+ this.fieldAndSliderRenderingContext.canvas.getBoundingClientRect();
318
+ };
319
+ this.globalPointerUpHandler = () => {
320
+ const previouslyDragging = this.sliderThumbState === "drag" || this.hueThumbState === "drag";
321
+ this.hueThumbState = "idle";
322
+ this.sliderThumbState = "idle";
323
+ this.activeColorFieldAndSliderRect = null;
324
+ this.drawColorFieldAndSlider();
325
+ if (previouslyDragging) {
326
+ this.calciteColorPickerChange.emit();
327
+ }
328
+ };
329
+ this.globalPointerMoveHandler = (event) => {
330
+ const { el, dimensions } = this;
331
+ const sliderThumbDragging = this.sliderThumbState === "drag";
332
+ const hueThumbDragging = this.hueThumbState === "drag";
333
+ if (!el.isConnected || (!sliderThumbDragging && !hueThumbDragging)) {
334
+ return;
335
+ }
336
+ let samplingX;
337
+ let samplingY;
338
+ const colorFieldAndSliderRect = this.activeColorFieldAndSliderRect;
339
+ const { clientX, clientY } = event;
340
+ if (this.colorFieldAndSliderHovered) {
341
+ samplingX = clientX - colorFieldAndSliderRect.x;
342
+ samplingY = clientY - colorFieldAndSliderRect.y;
343
+ }
344
+ else {
345
+ const colorFieldWidth = dimensions.colorField.width;
346
+ const colorFieldHeight = dimensions.colorField.height;
347
+ const hueSliderHeight = dimensions.slider.height;
348
+ if (clientX < colorFieldAndSliderRect.x + colorFieldWidth &&
349
+ clientX > colorFieldAndSliderRect.x) {
350
+ samplingX = clientX - colorFieldAndSliderRect.x;
351
+ }
352
+ else if (clientX < colorFieldAndSliderRect.x) {
353
+ samplingX = 0;
354
+ }
355
+ else {
356
+ samplingX = colorFieldWidth - 1;
357
+ }
358
+ if (clientY < colorFieldAndSliderRect.y + colorFieldHeight + hueSliderHeight &&
359
+ clientY > colorFieldAndSliderRect.y) {
360
+ samplingY = clientY - colorFieldAndSliderRect.y;
361
+ }
362
+ else if (clientY < colorFieldAndSliderRect.y) {
363
+ samplingY = 0;
364
+ }
365
+ else {
366
+ samplingY = colorFieldHeight + hueSliderHeight;
367
+ }
368
+ }
369
+ if (hueThumbDragging) {
370
+ this.captureColorFieldColor(samplingX, samplingY, false);
371
+ }
372
+ else {
373
+ this.captureHueSliderColor(samplingX);
374
+ }
375
+ };
376
+ this.handleColorFieldAndSliderPointerEnterOrMove = ({ offsetX, offsetY }) => {
377
+ const { dimensions: { colorField, slider, thumb } } = this;
378
+ this.colorFieldAndSliderInteractive = offsetY <= colorField.height + slider.height;
379
+ this.colorFieldAndSliderHovered = true;
380
+ const region = this.getCanvasRegion(offsetY);
381
+ if (region === "color-field") {
382
+ const prevHueThumbState = this.hueThumbState;
383
+ const color = this.baseColorFieldColor.hsv();
384
+ const centerX = Math.round(color.saturationv() / (HSV_LIMITS.s / colorField.width));
385
+ const centerY = Math.round(colorField.height - color.value() / (HSV_LIMITS.v / colorField.height));
386
+ const hoveringThumb = this.containsPoint(offsetX, offsetY, centerX, centerY, thumb.radius);
387
+ let transitionedBetweenHoverAndIdle = false;
388
+ if (prevHueThumbState === "idle" && hoveringThumb) {
389
+ this.hueThumbState = "hover";
390
+ transitionedBetweenHoverAndIdle = true;
391
+ }
392
+ else if (prevHueThumbState === "hover" && !hoveringThumb) {
393
+ this.hueThumbState = "idle";
394
+ transitionedBetweenHoverAndIdle = true;
395
+ }
396
+ if (this.hueThumbState !== "drag") {
397
+ if (transitionedBetweenHoverAndIdle) {
398
+ // refresh since we won't update color and thus no redraw
399
+ this.drawColorFieldAndSlider();
400
+ }
401
+ }
402
+ }
403
+ else if (region === "slider") {
404
+ const sliderThumbColor = this.baseColorFieldColor.hsv().saturationv(100).value(100);
405
+ const prevSliderThumbState = this.sliderThumbState;
406
+ const sliderThumbCenterX = Math.round(sliderThumbColor.hue() / (360 / slider.width));
407
+ const sliderThumbCenterY = Math.round((slider.height + this.getSliderCapSpacing()) / 2) + colorField.height;
408
+ const hoveringSliderThumb = this.containsPoint(offsetX, offsetY, sliderThumbCenterX, sliderThumbCenterY, thumb.radius);
409
+ let sliderThumbTransitionedBetweenHoverAndIdle = false;
410
+ if (prevSliderThumbState === "idle" && hoveringSliderThumb) {
411
+ this.sliderThumbState = "hover";
412
+ sliderThumbTransitionedBetweenHoverAndIdle = true;
413
+ }
414
+ else if (prevSliderThumbState === "hover" && !hoveringSliderThumb) {
415
+ this.sliderThumbState = "idle";
416
+ sliderThumbTransitionedBetweenHoverAndIdle = true;
417
+ }
418
+ if (this.sliderThumbState !== "drag") {
419
+ if (sliderThumbTransitionedBetweenHoverAndIdle) {
420
+ // refresh since we won't update color and thus no redraw
421
+ this.drawColorFieldAndSlider();
422
+ }
423
+ }
424
+ }
425
+ };
426
+ this.storeColorFieldScope = (node) => {
427
+ this.colorFieldScopeNode = node;
428
+ };
429
+ this.storeHueScope = (node) => {
430
+ this.hueScopeNode = node;
431
+ };
432
+ this.renderChannelsTabTitle = (channelMode) => {
433
+ const { channelMode: activeChannelMode, intlRgb, intlHsv } = this;
434
+ const active = channelMode === activeChannelMode;
435
+ const label = channelMode === "rgb" ? intlRgb : intlHsv;
436
+ return (h("calcite-tab-title", { active: active, class: CSS.colorMode, "data-color-mode": channelMode, key: channelMode, onCalciteTabsActivate: this.handleTabActivate }, label));
437
+ };
438
+ this.renderChannelsTab = (channelMode) => {
439
+ const { channelMode: activeChannelMode, channels, intlB, intlBlue, intlG, intlGreen, intlH, intlHue, intlR, intlRed, intlS, intlSaturation, intlV, intlValue } = this;
440
+ const active = channelMode === activeChannelMode;
441
+ const isRgb = channelMode === "rgb";
442
+ const channelLabels = isRgb ? [intlR, intlG, intlB] : [intlH, intlS, intlV];
443
+ const channelAriaLabels = isRgb
444
+ ? [intlRed, intlGreen, intlBlue]
445
+ : [intlHue, intlSaturation, intlValue];
446
+ const direction = getElementDir(this.el);
447
+ return (h("calcite-tab", { active: active, class: CSS.control, key: channelMode },
448
+ h("div", { class: CSS.channels, dir: "ltr" }, channels.map((channel, index) =>
449
+ /* the channel container is ltr, so we apply the host's direction */
450
+ this.renderChannel(channel, index, channelLabels[index], channelAriaLabels[index], direction)))));
451
+ };
452
+ this.renderChannel = (value, index, label, ariaLabel, direction) => (h("calcite-input", { class: CSS.channel, "data-channel-index": index, dir: direction, label: ariaLabel, numberButtonType: "none", numberingSystem: this.numberingSystem, onCalciteInputChange: this.handleChannelChange, onCalciteInputInput: this.handleChannelInput, onKeyDown: this.handleKeyDown, prefixText: label, scale: this.scale === "l" ? "m" : "s", type: "number", value: value === null || value === void 0 ? void 0 : value.toString() }));
453
+ this.deleteColor = () => {
454
+ const colorToDelete = this.color.hex();
455
+ const inStorage = this.savedColors.indexOf(colorToDelete) > -1;
456
+ if (!inStorage) {
457
+ return;
458
+ }
459
+ const savedColors = this.savedColors.filter((color) => color !== colorToDelete);
460
+ this.savedColors = savedColors;
461
+ const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${this.storageId}`;
462
+ if (this.storageId) {
463
+ localStorage.setItem(storageKey, JSON.stringify(savedColors));
464
+ }
465
+ };
466
+ this.saveColor = () => {
467
+ const colorToSave = this.color.hex();
468
+ const alreadySaved = this.savedColors.indexOf(colorToSave) > -1;
469
+ if (alreadySaved) {
470
+ return;
471
+ }
472
+ const savedColors = [...this.savedColors, colorToSave];
473
+ this.savedColors = savedColors;
474
+ const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${this.storageId}`;
475
+ if (this.storageId) {
476
+ localStorage.setItem(storageKey, JSON.stringify(savedColors));
477
+ }
478
+ };
479
+ this.drawColorFieldAndSlider = throttle(() => {
480
+ if (!this.fieldAndSliderRenderingContext) {
481
+ return;
482
+ }
483
+ this.drawColorField();
484
+ this.drawHueSlider();
485
+ }, throttleFor60FpsInMs);
486
+ this.captureColorFieldColor = (x, y, skipEqual = true) => {
487
+ const { dimensions: { colorField: { height, width } } } = this;
488
+ const saturation = Math.round((HSV_LIMITS.s / width) * x);
489
+ const value = Math.round((HSV_LIMITS.v / height) * (height - y));
490
+ this.internalColorSet(this.baseColorFieldColor.hsv().saturationv(saturation).value(value), skipEqual);
491
+ };
492
+ this.initColorFieldAndSlider = (canvas) => {
493
+ this.fieldAndSliderRenderingContext = canvas.getContext("2d");
494
+ this.updateCanvasSize(canvas);
495
+ };
496
+ }
497
+ handleColorChange(color, oldColor) {
498
+ this.drawColorFieldAndSlider();
499
+ this.updateChannelsFromColor(color);
500
+ this.previousColor = oldColor;
501
+ }
502
+ handleFormatChange(format) {
503
+ this.setMode(format);
504
+ this.internalColorSet(this.color, false, "internal");
505
+ }
506
+ handleScaleChange(scale = "m") {
507
+ var _a;
508
+ this.updateDimensions(scale);
509
+ this.updateCanvasSize((_a = this.fieldAndSliderRenderingContext) === null || _a === void 0 ? void 0 : _a.canvas);
510
+ }
511
+ handleValueChange(value, oldValue) {
512
+ const { allowEmpty, format } = this;
513
+ const checkMode = !allowEmpty || value;
514
+ let modeChanged = false;
515
+ if (checkMode) {
516
+ const nextMode = parseMode(value);
517
+ if (!nextMode || (format !== "auto" && nextMode !== format)) {
518
+ this.showIncompatibleColorWarning(value, format);
519
+ this.value = oldValue;
520
+ return;
521
+ }
522
+ modeChanged = this.mode !== nextMode;
523
+ this.setMode(nextMode);
524
+ }
525
+ const dragging = this.sliderThumbState === "drag" || this.hueThumbState === "drag";
526
+ if (this.internalColorUpdateContext === "initial") {
527
+ return;
528
+ }
529
+ if (this.internalColorUpdateContext === "user-interaction") {
530
+ this.calciteColorPickerInput.emit();
531
+ if (!dragging) {
532
+ this.calciteColorPickerChange.emit();
533
+ }
534
+ return;
535
+ }
536
+ const color = allowEmpty && !value ? null : Color(value);
537
+ const colorChanged = !colorEqual(color, this.color);
538
+ if (modeChanged || colorChanged) {
539
+ this.internalColorSet(color, true, "internal");
540
+ }
541
+ }
542
+ //--------------------------------------------------------------------------
543
+ //
544
+ // Internal State/Props
545
+ //
546
+ //--------------------------------------------------------------------------
547
+ get baseColorFieldColor() {
548
+ return this.color || this.previousColor || DEFAULT_COLOR;
549
+ }
550
+ // using @Listen as a workaround for VDOM listener not firing
551
+ handleChannelKeyUpOrDown(event) {
552
+ this.shiftKeyChannelAdjustment = 0;
553
+ const { key } = event;
554
+ if ((key !== "ArrowUp" && key !== "ArrowDown") ||
555
+ !event.composedPath().some((node) => { var _a; return (_a = node.classList) === null || _a === void 0 ? void 0 : _a.contains(CSS.channel); })) {
556
+ return;
557
+ }
558
+ const { shiftKey } = event;
559
+ event.preventDefault();
560
+ if (!this.color) {
561
+ this.internalColorSet(this.previousColor);
562
+ event.stopPropagation();
563
+ return;
564
+ }
565
+ // this gets applied to the input's up/down arrow increment/decrement
566
+ const complementaryBump = 9;
567
+ this.shiftKeyChannelAdjustment =
568
+ key === "ArrowUp" && shiftKey
569
+ ? complementaryBump
570
+ : key === "ArrowDown" && shiftKey
571
+ ? -complementaryBump
572
+ : 0;
573
+ }
574
+ //--------------------------------------------------------------------------
575
+ //
576
+ // Public Methods
577
+ //
578
+ //--------------------------------------------------------------------------
579
+ /** Sets focus on the component. */
580
+ async setFocus() {
581
+ return focusElement(this.colorFieldScopeNode);
582
+ }
583
+ //--------------------------------------------------------------------------
584
+ //
585
+ // Lifecycle
586
+ //
587
+ //--------------------------------------------------------------------------
588
+ componentWillLoad() {
589
+ const { allowEmpty, color, format, value } = this;
590
+ const willSetNoColor = allowEmpty && !value;
591
+ const parsedMode = parseMode(value);
592
+ const valueIsCompatible = willSetNoColor || (format === "auto" && parsedMode) || format === parsedMode;
593
+ const initialColor = willSetNoColor ? null : valueIsCompatible ? Color(value) : color;
594
+ if (!valueIsCompatible) {
595
+ this.showIncompatibleColorWarning(value, format);
596
+ }
597
+ this.setMode(format);
598
+ this.internalColorSet(initialColor, false, "initial");
599
+ this.updateDimensions(this.scale);
600
+ const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${this.storageId}`;
601
+ if (this.storageId && localStorage.getItem(storageKey)) {
602
+ this.savedColors = JSON.parse(localStorage.getItem(storageKey));
603
+ }
604
+ }
605
+ disconnectedCallback() {
606
+ document.removeEventListener("pointermove", this.globalPointerMoveHandler);
607
+ document.removeEventListener("pointerup", this.globalPointerUpHandler);
608
+ }
609
+ componentDidRender() {
610
+ updateHostInteraction(this);
611
+ }
612
+ //--------------------------------------------------------------------------
613
+ //
614
+ // Render Methods
615
+ //
616
+ //--------------------------------------------------------------------------
617
+ render() {
618
+ const { allowEmpty, color, intlDeleteColor, hideHex, hideChannels, hideSaved, intlHex, intlSaved, intlSaveColor, savedColors, scale } = this;
619
+ const selectedColorInHex = color ? color.hex() : null;
620
+ const hexInputScale = scale === "l" ? "m" : "s";
621
+ const { colorFieldAndSliderInteractive, colorFieldScopeTop, colorFieldScopeLeft, hueScopeLeft, hueScopeTop, scopeOrientation, dimensions: { colorField: { height: colorFieldHeight, width: colorFieldWidth }, slider: { height: sliderHeight } } } = this;
622
+ const hueTop = hueScopeTop !== null && hueScopeTop !== void 0 ? hueScopeTop : sliderHeight / 2 + colorFieldHeight;
623
+ const hueLeft = hueScopeLeft !== null && hueScopeLeft !== void 0 ? hueScopeLeft : (colorFieldWidth * DEFAULT_COLOR.hue()) / HSV_LIMITS.h;
624
+ const noColor = color === null;
625
+ const vertical = scopeOrientation === "vertical";
626
+ return (h("div", { class: CSS.container },
627
+ h("div", { class: CSS.colorFieldAndSliderWrap },
628
+ h("canvas", { class: {
629
+ [CSS.colorFieldAndSlider]: true,
630
+ [CSS.colorFieldAndSliderInteractive]: colorFieldAndSliderInteractive
631
+ }, onPointerDown: this.handleColorFieldAndSliderPointerDown, onPointerEnter: this.handleColorFieldAndSliderPointerEnterOrMove, onPointerLeave: this.handleColorFieldAndSliderPointerLeave, onPointerMove: this.handleColorFieldAndSliderPointerEnterOrMove, ref: this.initColorFieldAndSlider }),
632
+ h("div", { "aria-label": vertical ? this.intlValue : this.intlSaturation, "aria-valuemax": vertical ? HSV_LIMITS.v : HSV_LIMITS.s, "aria-valuemin": "0", "aria-valuenow": (vertical ? color === null || color === void 0 ? void 0 : color.saturationv() : color === null || color === void 0 ? void 0 : color.value()) || "0", class: { [CSS.scope]: true, [CSS.colorFieldScope]: true }, onKeyDown: this.handleColorFieldScopeKeyDown, ref: this.storeColorFieldScope, role: "slider", style: { top: `${colorFieldScopeTop || 0}px`, left: `${colorFieldScopeLeft || 0}px` }, tabindex: "0" }),
633
+ h("div", { "aria-label": this.intlHue, "aria-valuemax": HSV_LIMITS.h, "aria-valuemin": "0", "aria-valuenow": (color === null || color === void 0 ? void 0 : color.round().hue()) || DEFAULT_COLOR.round().hue(), class: { [CSS.scope]: true, [CSS.hueScope]: true }, onKeyDown: this.handleHueScopeKeyDown, ref: this.storeHueScope, role: "slider", style: { top: `${hueTop}px`, left: `${hueLeft}px` }, tabindex: "0" })),
634
+ hideHex && hideChannels ? null : (h("div", { class: {
635
+ [CSS.controlSection]: true,
636
+ [CSS.section]: true
637
+ } },
638
+ hideHex ? null : (h("div", { class: CSS.hexOptions },
639
+ h("span", { class: {
640
+ [CSS.header]: true,
641
+ [CSS.headerHex]: true
642
+ } }, intlHex),
643
+ h("calcite-color-picker-hex-input", { allowEmpty: allowEmpty, class: CSS.control, numberingSystem: this.numberingSystem, onCalciteColorPickerHexInputChange: this.handleHexInputChange, scale: hexInputScale, value: selectedColorInHex }))),
644
+ hideChannels ? null : (h("calcite-tabs", { class: {
645
+ [CSS.colorModeContainer]: true,
646
+ [CSS.splitSection]: true
647
+ }, scale: hexInputScale },
648
+ h("calcite-tab-nav", { slot: "tab-nav" },
649
+ this.renderChannelsTabTitle("rgb"),
650
+ this.renderChannelsTabTitle("hsv")),
651
+ this.renderChannelsTab("rgb"),
652
+ this.renderChannelsTab("hsv"))))),
653
+ hideSaved ? null : (h("div", { class: { [CSS.savedColorsSection]: true, [CSS.section]: true } },
654
+ h("div", { class: CSS.header },
655
+ h("label", null, intlSaved),
656
+ h("div", { class: CSS.savedColorsButtons },
657
+ h("calcite-button", { appearance: "transparent", class: CSS.deleteColor, color: "neutral", disabled: noColor, iconStart: "minus", label: intlDeleteColor, onClick: this.deleteColor, scale: hexInputScale, type: "button" }),
658
+ h("calcite-button", { appearance: "transparent", class: CSS.saveColor, color: "neutral", disabled: noColor, iconStart: "plus", label: intlSaveColor, onClick: this.saveColor, scale: hexInputScale, type: "button" }))),
659
+ savedColors.length > 0 ? (h("div", { class: CSS.savedColors }, [
660
+ ...savedColors.map((color) => (h("calcite-color-picker-swatch", { active: selectedColorInHex === color, class: CSS.savedColor, color: color, key: color, onClick: this.handleSavedColorSelect, onKeyDown: this.handleSavedColorKeyDown, scale: scale, tabIndex: 0 })))
661
+ ])) : null))));
662
+ }
663
+ // --------------------------------------------------------------------------
664
+ //
665
+ // Private Methods
666
+ //
667
+ //--------------------------------------------------------------------------
668
+ handleKeyDown(event) {
669
+ if (event.key === "Enter") {
670
+ event.preventDefault();
671
+ }
672
+ }
673
+ showIncompatibleColorWarning(value, format) {
674
+ console.warn(`ignoring color value (${value}) as it is not compatible with the current format (${format})`);
675
+ }
676
+ setMode(format) {
677
+ this.mode = format === "auto" ? this.mode : format;
678
+ }
679
+ captureHueSliderColor(x) {
680
+ const { dimensions: { slider: { width } } } = this;
681
+ const hue = (360 / width) * x;
682
+ this.internalColorSet(this.baseColorFieldColor.hue(hue), false);
683
+ }
684
+ getCanvasRegion(y) {
685
+ const { dimensions: { colorField: { height: colorFieldHeight }, slider: { height: sliderHeight } } } = this;
686
+ if (y <= colorFieldHeight) {
687
+ return "color-field";
688
+ }
689
+ if (y <= colorFieldHeight + sliderHeight) {
690
+ return "slider";
691
+ }
692
+ return "none";
693
+ }
694
+ internalColorSet(color, skipEqual = true, context = "user-interaction") {
695
+ if (skipEqual && colorEqual(color, this.color)) {
696
+ return;
697
+ }
698
+ this.internalColorUpdateContext = context;
699
+ this.color = color;
700
+ this.value = this.toValue(color);
701
+ this.internalColorUpdateContext = null;
702
+ }
703
+ toValue(color, format = this.mode) {
704
+ if (!color) {
705
+ return null;
706
+ }
707
+ const hexMode = "hex";
708
+ if (format.includes(hexMode)) {
709
+ return normalizeHex(color.round()[hexMode]());
710
+ }
711
+ if (format.includes("-css")) {
712
+ return color[format.replace("-css", "").replace("a", "")]().round().string();
713
+ }
714
+ const colorObject = color[format]().round().object();
715
+ if (format.endsWith("a")) {
716
+ // normalize alpha prop
717
+ colorObject.a = colorObject.alpha;
718
+ delete colorObject.alpha;
719
+ }
720
+ return colorObject;
721
+ }
722
+ getSliderCapSpacing() {
723
+ const { dimensions: { slider: { height }, thumb: { radius } } } = this;
724
+ return radius * 2 - height;
725
+ }
726
+ updateDimensions(scale = "m") {
727
+ this.dimensions = DIMENSIONS[scale];
728
+ }
729
+ drawColorField() {
730
+ const context = this.fieldAndSliderRenderingContext;
731
+ const { dimensions: { colorField: { height, width } } } = this;
732
+ context.fillStyle = this.baseColorFieldColor.hsv().saturationv(100).value(100).string();
733
+ context.fillRect(0, 0, width, height);
734
+ const whiteGradient = context.createLinearGradient(0, 0, width, 0);
735
+ whiteGradient.addColorStop(0, "rgba(255,255,255,1)");
736
+ whiteGradient.addColorStop(1, "rgba(255,255,255,0)");
737
+ context.fillStyle = whiteGradient;
738
+ context.fillRect(0, 0, width, height);
739
+ const blackGradient = context.createLinearGradient(0, 0, 0, height);
740
+ blackGradient.addColorStop(0, "rgba(0,0,0,0)");
741
+ blackGradient.addColorStop(1, "rgba(0,0,0,1)");
742
+ context.fillStyle = blackGradient;
743
+ context.fillRect(0, 0, width, height);
744
+ this.drawActiveColorFieldColor();
745
+ }
746
+ setCanvasContextSize(canvas, { height, width }) {
747
+ const devicePixelRatio = window.devicePixelRatio || 1;
748
+ canvas.width = width * devicePixelRatio;
749
+ canvas.height = height * devicePixelRatio;
750
+ canvas.style.height = `${height}px`;
751
+ canvas.style.width = `${width}px`;
752
+ const context = canvas.getContext("2d");
753
+ context.scale(devicePixelRatio, devicePixelRatio);
754
+ }
755
+ updateCanvasSize(canvas) {
756
+ if (!canvas) {
757
+ return;
758
+ }
759
+ this.setCanvasContextSize(canvas, {
760
+ width: this.dimensions.colorField.width,
761
+ height: this.dimensions.colorField.height +
762
+ this.dimensions.slider.height +
763
+ this.getSliderCapSpacing() * 2
764
+ });
765
+ this.drawColorFieldAndSlider();
766
+ }
767
+ containsPoint(testPointX, testPointY, boundsX, boundsY, boundsRadius) {
768
+ return (Math.pow(testPointX - boundsX, 2) + Math.pow(testPointY - boundsY, 2) <=
769
+ Math.pow(boundsRadius, 2));
770
+ }
771
+ drawActiveColorFieldColor() {
772
+ const { color } = this;
773
+ if (!color) {
774
+ return;
775
+ }
776
+ const hsvColor = color.hsv();
777
+ const { dimensions: { colorField: { height, width }, thumb: { radius } } } = this;
778
+ const x = hsvColor.saturationv() / (HSV_LIMITS.s / width);
779
+ const y = height - hsvColor.value() / (HSV_LIMITS.v / height);
780
+ requestAnimationFrame(() => {
781
+ this.colorFieldScopeLeft = x;
782
+ this.colorFieldScopeTop = y;
783
+ });
784
+ this.drawThumb(this.fieldAndSliderRenderingContext, radius, x, y, hsvColor, this.hueThumbState);
785
+ }
786
+ drawThumb(context, radius, x, y, color, state) {
787
+ const startAngle = 0;
788
+ const endAngle = 2 * Math.PI;
789
+ context.beginPath();
790
+ context.arc(x, y, radius, startAngle, endAngle);
791
+ context.shadowBlur = state === "hover" ? 32 : 16;
792
+ context.shadowColor = `rgba(0, 0, 0, ${state === "drag" ? 0.32 : 0.16})`;
793
+ context.fillStyle = "#fff";
794
+ context.fill();
795
+ context.beginPath();
796
+ context.arc(x, y, radius - 3, startAngle, endAngle);
797
+ context.shadowBlur = 0;
798
+ context.shadowColor = "transparent";
799
+ context.fillStyle = color.rgb().string();
800
+ context.fill();
801
+ }
802
+ drawActiveHueSliderColor() {
803
+ const { color } = this;
804
+ if (!color) {
805
+ return;
806
+ }
807
+ const hsvColor = color.hsv().saturationv(100).value(100);
808
+ const { dimensions: { colorField: { height: colorFieldHeight }, slider: { height, width }, thumb: { radius } } } = this;
809
+ const x = hsvColor.hue() / (360 / width);
810
+ const y = height / 2 + colorFieldHeight;
811
+ requestAnimationFrame(() => {
812
+ this.hueScopeLeft = x;
813
+ this.hueScopeTop = y;
814
+ });
815
+ this.drawThumb(this.fieldAndSliderRenderingContext, radius, x, y, hsvColor, this.sliderThumbState);
816
+ }
817
+ drawHueSlider() {
818
+ const context = this.fieldAndSliderRenderingContext;
819
+ const { dimensions: { colorField: { height: colorFieldHeight }, slider: { height, width } } } = this;
820
+ const gradient = context.createLinearGradient(0, 0, width, 0);
821
+ const hueSliderColorStopKeywords = ["red", "yellow", "lime", "cyan", "blue", "magenta", "red"];
822
+ const offset = 1 / (hueSliderColorStopKeywords.length - 1);
823
+ let currentOffset = 0;
824
+ hueSliderColorStopKeywords.forEach((keyword) => {
825
+ gradient.addColorStop(currentOffset, Color(keyword).string());
826
+ currentOffset += offset;
827
+ });
828
+ context.fillStyle = gradient;
829
+ context.clearRect(0, colorFieldHeight, width, height + this.getSliderCapSpacing() * 2);
830
+ context.fillRect(0, colorFieldHeight, width, height);
831
+ this.drawActiveHueSliderColor();
832
+ }
833
+ updateColorFromChannels(channels) {
834
+ this.internalColorSet(Color(channels, this.channelMode));
835
+ }
836
+ updateChannelsFromColor(color) {
837
+ this.channels = color ? this.toChannels(color) : [null, null, null];
838
+ }
839
+ toChannels(color) {
840
+ const { channelMode } = this;
841
+ return color[channelMode]()
842
+ .array()
843
+ .map((value) => Math.floor(value));
844
+ }
845
+ static get is() { return "calcite-color-picker"; }
846
+ static get encapsulation() { return "shadow"; }
847
+ static get originalStyleUrls() { return {
848
+ "$": ["color-picker.scss"]
849
+ }; }
850
+ static get styleUrls() { return {
851
+ "$": ["color-picker.css"]
852
+ }; }
853
+ static get properties() { return {
854
+ "allowEmpty": {
855
+ "type": "boolean",
856
+ "mutable": false,
857
+ "complexType": {
858
+ "original": "boolean",
859
+ "resolved": "boolean",
860
+ "references": {}
861
+ },
862
+ "required": false,
863
+ "optional": false,
864
+ "docs": {
865
+ "tags": [],
866
+ "text": "When false, empty color (null) will be allowed as a value. Otherwise, a color value is always enforced by the component.\r\n\r\nWhen true, clearing the input and blurring will restore the last valid color set. When false, it will set it to empty."
867
+ },
868
+ "attribute": "allow-empty",
869
+ "reflect": false,
870
+ "defaultValue": "false"
871
+ },
872
+ "appearance": {
873
+ "type": "string",
874
+ "mutable": false,
875
+ "complexType": {
876
+ "original": "ColorAppearance",
877
+ "resolved": "\"default\" | \"minimal\" | \"solid\"",
878
+ "references": {
879
+ "ColorAppearance": {
880
+ "location": "import",
881
+ "path": "./interfaces"
882
+ }
883
+ }
884
+ },
885
+ "required": false,
886
+ "optional": false,
887
+ "docs": {
888
+ "tags": [],
889
+ "text": "specify the appearance - solid (containing border), or minimal (no containing border)"
890
+ },
891
+ "attribute": "appearance",
892
+ "reflect": true,
893
+ "defaultValue": "\"solid\""
894
+ },
895
+ "color": {
896
+ "type": "unknown",
897
+ "mutable": true,
898
+ "complexType": {
899
+ "original": "InternalColor | null",
900
+ "resolved": "Color<ColorParam>",
901
+ "references": {
902
+ "InternalColor": {
903
+ "location": "import",
904
+ "path": "./interfaces"
905
+ }
906
+ }
907
+ },
908
+ "required": false,
909
+ "optional": false,
910
+ "docs": {
911
+ "tags": [{
912
+ "name": "internal",
913
+ "text": undefined
914
+ }],
915
+ "text": "Internal prop for advanced use-cases."
916
+ },
917
+ "defaultValue": "DEFAULT_COLOR"
918
+ },
919
+ "disabled": {
920
+ "type": "boolean",
921
+ "mutable": false,
922
+ "complexType": {
923
+ "original": "boolean",
924
+ "resolved": "boolean",
925
+ "references": {}
926
+ },
927
+ "required": false,
928
+ "optional": false,
929
+ "docs": {
930
+ "tags": [],
931
+ "text": "When true, disabled prevents user interaction."
932
+ },
933
+ "attribute": "disabled",
934
+ "reflect": true,
935
+ "defaultValue": "false"
936
+ },
937
+ "format": {
938
+ "type": "string",
939
+ "mutable": false,
940
+ "complexType": {
941
+ "original": "Format",
942
+ "resolved": "\"auto\" | \"hex\" | \"hexa\" | \"hsl\" | \"hsl-css\" | \"hsla\" | \"hsla-css\" | \"hsv\" | \"hsva\" | \"rgb\" | \"rgb-css\" | \"rgba\" | \"rgba-css\"",
943
+ "references": {
944
+ "Format": {
945
+ "location": "import",
946
+ "path": "./utils"
947
+ }
948
+ }
949
+ },
950
+ "required": false,
951
+ "optional": false,
952
+ "docs": {
953
+ "tags": [{
954
+ "name": "default",
955
+ "text": "\"auto\""
956
+ }],
957
+ "text": "The format of the value property.\r\n\r\nWhen \"auto\", the format will be inferred from `value` when set."
958
+ },
959
+ "attribute": "format",
960
+ "reflect": false,
961
+ "defaultValue": "defaultFormat"
962
+ },
963
+ "hideHex": {
964
+ "type": "boolean",
965
+ "mutable": false,
966
+ "complexType": {
967
+ "original": "boolean",
968
+ "resolved": "boolean",
969
+ "references": {}
970
+ },
971
+ "required": false,
972
+ "optional": false,
973
+ "docs": {
974
+ "tags": [],
975
+ "text": "When true, hides the hex input"
976
+ },
977
+ "attribute": "hide-hex",
978
+ "reflect": false,
979
+ "defaultValue": "false"
980
+ },
981
+ "hideChannels": {
982
+ "type": "boolean",
983
+ "mutable": false,
984
+ "complexType": {
985
+ "original": "boolean",
986
+ "resolved": "boolean",
987
+ "references": {}
988
+ },
989
+ "required": false,
990
+ "optional": false,
991
+ "docs": {
992
+ "tags": [],
993
+ "text": "When true, hides the RGB/HSV channel inputs"
994
+ },
995
+ "attribute": "hide-channels",
996
+ "reflect": false,
997
+ "defaultValue": "false"
998
+ },
999
+ "hideSaved": {
1000
+ "type": "boolean",
1001
+ "mutable": false,
1002
+ "complexType": {
1003
+ "original": "boolean",
1004
+ "resolved": "boolean",
1005
+ "references": {}
1006
+ },
1007
+ "required": false,
1008
+ "optional": false,
1009
+ "docs": {
1010
+ "tags": [],
1011
+ "text": "When true, hides the saved colors section"
1012
+ },
1013
+ "attribute": "hide-saved",
1014
+ "reflect": false,
1015
+ "defaultValue": "false"
1016
+ },
1017
+ "intlB": {
1018
+ "type": "string",
1019
+ "mutable": false,
1020
+ "complexType": {
1021
+ "original": "string",
1022
+ "resolved": "string",
1023
+ "references": {}
1024
+ },
1025
+ "required": false,
1026
+ "optional": false,
1027
+ "docs": {
1028
+ "tags": [{
1029
+ "name": "default",
1030
+ "text": "\"B\""
1031
+ }],
1032
+ "text": "Label used for the blue channel"
1033
+ },
1034
+ "attribute": "intl-b",
1035
+ "reflect": false,
1036
+ "defaultValue": "TEXT.b"
1037
+ },
1038
+ "intlBlue": {
1039
+ "type": "string",
1040
+ "mutable": false,
1041
+ "complexType": {
1042
+ "original": "string",
1043
+ "resolved": "string",
1044
+ "references": {}
1045
+ },
1046
+ "required": false,
1047
+ "optional": false,
1048
+ "docs": {
1049
+ "tags": [{
1050
+ "name": "default",
1051
+ "text": "\"Blue\""
1052
+ }],
1053
+ "text": "Label used for the blue channel description"
1054
+ },
1055
+ "attribute": "intl-blue",
1056
+ "reflect": false,
1057
+ "defaultValue": "TEXT.blue"
1058
+ },
1059
+ "intlDeleteColor": {
1060
+ "type": "string",
1061
+ "mutable": false,
1062
+ "complexType": {
1063
+ "original": "string",
1064
+ "resolved": "string",
1065
+ "references": {}
1066
+ },
1067
+ "required": false,
1068
+ "optional": false,
1069
+ "docs": {
1070
+ "tags": [{
1071
+ "name": "default",
1072
+ "text": "\"Delete color\""
1073
+ }],
1074
+ "text": "Label used for the delete color button."
1075
+ },
1076
+ "attribute": "intl-delete-color",
1077
+ "reflect": false,
1078
+ "defaultValue": "TEXT.deleteColor"
1079
+ },
1080
+ "intlG": {
1081
+ "type": "string",
1082
+ "mutable": false,
1083
+ "complexType": {
1084
+ "original": "string",
1085
+ "resolved": "string",
1086
+ "references": {}
1087
+ },
1088
+ "required": false,
1089
+ "optional": false,
1090
+ "docs": {
1091
+ "tags": [{
1092
+ "name": "default",
1093
+ "text": "\"G\""
1094
+ }],
1095
+ "text": "Label used for the green channel"
1096
+ },
1097
+ "attribute": "intl-g",
1098
+ "reflect": false,
1099
+ "defaultValue": "TEXT.g"
1100
+ },
1101
+ "intlGreen": {
1102
+ "type": "string",
1103
+ "mutable": false,
1104
+ "complexType": {
1105
+ "original": "string",
1106
+ "resolved": "string",
1107
+ "references": {}
1108
+ },
1109
+ "required": false,
1110
+ "optional": false,
1111
+ "docs": {
1112
+ "tags": [{
1113
+ "name": "default",
1114
+ "text": "\"Green\""
1115
+ }],
1116
+ "text": "Label used for the green channel description"
1117
+ },
1118
+ "attribute": "intl-green",
1119
+ "reflect": false,
1120
+ "defaultValue": "TEXT.green"
1121
+ },
1122
+ "intlH": {
1123
+ "type": "string",
1124
+ "mutable": false,
1125
+ "complexType": {
1126
+ "original": "string",
1127
+ "resolved": "string",
1128
+ "references": {}
1129
+ },
1130
+ "required": false,
1131
+ "optional": false,
1132
+ "docs": {
1133
+ "tags": [{
1134
+ "name": "default",
1135
+ "text": "\"H\""
1136
+ }],
1137
+ "text": "Label used for the hue channel"
1138
+ },
1139
+ "attribute": "intl-h",
1140
+ "reflect": false,
1141
+ "defaultValue": "TEXT.h"
1142
+ },
1143
+ "intlHsv": {
1144
+ "type": "string",
1145
+ "mutable": false,
1146
+ "complexType": {
1147
+ "original": "string",
1148
+ "resolved": "string",
1149
+ "references": {}
1150
+ },
1151
+ "required": false,
1152
+ "optional": false,
1153
+ "docs": {
1154
+ "tags": [{
1155
+ "name": "default",
1156
+ "text": "\"HSV\""
1157
+ }],
1158
+ "text": "Label used for the HSV mode"
1159
+ },
1160
+ "attribute": "intl-hsv",
1161
+ "reflect": false,
1162
+ "defaultValue": "TEXT.hsv"
1163
+ },
1164
+ "intlHex": {
1165
+ "type": "string",
1166
+ "mutable": false,
1167
+ "complexType": {
1168
+ "original": "string",
1169
+ "resolved": "string",
1170
+ "references": {}
1171
+ },
1172
+ "required": false,
1173
+ "optional": false,
1174
+ "docs": {
1175
+ "tags": [{
1176
+ "name": "default",
1177
+ "text": "\"Hex\""
1178
+ }],
1179
+ "text": "Label used for the hex input"
1180
+ },
1181
+ "attribute": "intl-hex",
1182
+ "reflect": false,
1183
+ "defaultValue": "TEXT.hex"
1184
+ },
1185
+ "intlHue": {
1186
+ "type": "string",
1187
+ "mutable": false,
1188
+ "complexType": {
1189
+ "original": "string",
1190
+ "resolved": "string",
1191
+ "references": {}
1192
+ },
1193
+ "required": false,
1194
+ "optional": false,
1195
+ "docs": {
1196
+ "tags": [{
1197
+ "name": "default",
1198
+ "text": "\"Hue\""
1199
+ }],
1200
+ "text": "Label used for the hue channel description"
1201
+ },
1202
+ "attribute": "intl-hue",
1203
+ "reflect": false,
1204
+ "defaultValue": "TEXT.hue"
1205
+ },
1206
+ "intlNoColor": {
1207
+ "type": "string",
1208
+ "mutable": false,
1209
+ "complexType": {
1210
+ "original": "string",
1211
+ "resolved": "string",
1212
+ "references": {}
1213
+ },
1214
+ "required": false,
1215
+ "optional": false,
1216
+ "docs": {
1217
+ "tags": [{
1218
+ "name": "default",
1219
+ "text": "\"No color\""
1220
+ }],
1221
+ "text": "Label used for the hex input when there is no color selected."
1222
+ },
1223
+ "attribute": "intl-no-color",
1224
+ "reflect": false,
1225
+ "defaultValue": "TEXT.noColor"
1226
+ },
1227
+ "intlR": {
1228
+ "type": "string",
1229
+ "mutable": false,
1230
+ "complexType": {
1231
+ "original": "string",
1232
+ "resolved": "string",
1233
+ "references": {}
1234
+ },
1235
+ "required": false,
1236
+ "optional": false,
1237
+ "docs": {
1238
+ "tags": [{
1239
+ "name": "default",
1240
+ "text": "\"R\""
1241
+ }],
1242
+ "text": "Label used for the red channel"
1243
+ },
1244
+ "attribute": "intl-r",
1245
+ "reflect": false,
1246
+ "defaultValue": "TEXT.r"
1247
+ },
1248
+ "intlRed": {
1249
+ "type": "string",
1250
+ "mutable": false,
1251
+ "complexType": {
1252
+ "original": "string",
1253
+ "resolved": "string",
1254
+ "references": {}
1255
+ },
1256
+ "required": false,
1257
+ "optional": false,
1258
+ "docs": {
1259
+ "tags": [{
1260
+ "name": "default",
1261
+ "text": "\"Red\""
1262
+ }],
1263
+ "text": "Label used for the red channel description"
1264
+ },
1265
+ "attribute": "intl-red",
1266
+ "reflect": false,
1267
+ "defaultValue": "TEXT.red"
1268
+ },
1269
+ "intlRgb": {
1270
+ "type": "string",
1271
+ "mutable": false,
1272
+ "complexType": {
1273
+ "original": "string",
1274
+ "resolved": "string",
1275
+ "references": {}
1276
+ },
1277
+ "required": false,
1278
+ "optional": false,
1279
+ "docs": {
1280
+ "tags": [{
1281
+ "name": "default",
1282
+ "text": "\"RGB\""
1283
+ }],
1284
+ "text": "Label used for the RGB mode"
1285
+ },
1286
+ "attribute": "intl-rgb",
1287
+ "reflect": false,
1288
+ "defaultValue": "TEXT.rgb"
1289
+ },
1290
+ "intlS": {
1291
+ "type": "string",
1292
+ "mutable": false,
1293
+ "complexType": {
1294
+ "original": "string",
1295
+ "resolved": "string",
1296
+ "references": {}
1297
+ },
1298
+ "required": false,
1299
+ "optional": false,
1300
+ "docs": {
1301
+ "tags": [{
1302
+ "name": "default",
1303
+ "text": "\"S\""
1304
+ }],
1305
+ "text": "Label used for the saturation channel"
1306
+ },
1307
+ "attribute": "intl-s",
1308
+ "reflect": false,
1309
+ "defaultValue": "TEXT.s"
1310
+ },
1311
+ "intlSaturation": {
1312
+ "type": "string",
1313
+ "mutable": false,
1314
+ "complexType": {
1315
+ "original": "string",
1316
+ "resolved": "string",
1317
+ "references": {}
1318
+ },
1319
+ "required": false,
1320
+ "optional": false,
1321
+ "docs": {
1322
+ "tags": [{
1323
+ "name": "default",
1324
+ "text": "\"Saturation\""
1325
+ }],
1326
+ "text": "Label used for the saturation channel description"
1327
+ },
1328
+ "attribute": "intl-saturation",
1329
+ "reflect": false,
1330
+ "defaultValue": "TEXT.saturation"
1331
+ },
1332
+ "intlSaveColor": {
1333
+ "type": "string",
1334
+ "mutable": false,
1335
+ "complexType": {
1336
+ "original": "string",
1337
+ "resolved": "string",
1338
+ "references": {}
1339
+ },
1340
+ "required": false,
1341
+ "optional": false,
1342
+ "docs": {
1343
+ "tags": [{
1344
+ "name": "default",
1345
+ "text": "\"Save color\""
1346
+ }],
1347
+ "text": "Label used for the save color button."
1348
+ },
1349
+ "attribute": "intl-save-color",
1350
+ "reflect": false,
1351
+ "defaultValue": "TEXT.saveColor"
1352
+ },
1353
+ "intlSaved": {
1354
+ "type": "string",
1355
+ "mutable": false,
1356
+ "complexType": {
1357
+ "original": "string",
1358
+ "resolved": "string",
1359
+ "references": {}
1360
+ },
1361
+ "required": false,
1362
+ "optional": false,
1363
+ "docs": {
1364
+ "tags": [{
1365
+ "name": "default",
1366
+ "text": "\"Saved\""
1367
+ }],
1368
+ "text": "Label used for the saved colors section"
1369
+ },
1370
+ "attribute": "intl-saved",
1371
+ "reflect": false,
1372
+ "defaultValue": "TEXT.saved"
1373
+ },
1374
+ "intlV": {
1375
+ "type": "string",
1376
+ "mutable": false,
1377
+ "complexType": {
1378
+ "original": "string",
1379
+ "resolved": "string",
1380
+ "references": {}
1381
+ },
1382
+ "required": false,
1383
+ "optional": false,
1384
+ "docs": {
1385
+ "tags": [{
1386
+ "name": "default",
1387
+ "text": "\"V\""
1388
+ }],
1389
+ "text": "Label used for the value channel"
1390
+ },
1391
+ "attribute": "intl-v",
1392
+ "reflect": false,
1393
+ "defaultValue": "TEXT.v"
1394
+ },
1395
+ "intlValue": {
1396
+ "type": "string",
1397
+ "mutable": false,
1398
+ "complexType": {
1399
+ "original": "string",
1400
+ "resolved": "string",
1401
+ "references": {}
1402
+ },
1403
+ "required": false,
1404
+ "optional": false,
1405
+ "docs": {
1406
+ "tags": [{
1407
+ "name": "default",
1408
+ "text": "\"Value\""
1409
+ }],
1410
+ "text": "Label used for the"
1411
+ },
1412
+ "attribute": "intl-value",
1413
+ "reflect": false,
1414
+ "defaultValue": "TEXT.value"
1415
+ },
1416
+ "scale": {
1417
+ "type": "string",
1418
+ "mutable": false,
1419
+ "complexType": {
1420
+ "original": "Scale",
1421
+ "resolved": "\"l\" | \"m\" | \"s\"",
1422
+ "references": {
1423
+ "Scale": {
1424
+ "location": "import",
1425
+ "path": "../interfaces"
1426
+ }
1427
+ }
1428
+ },
1429
+ "required": false,
1430
+ "optional": false,
1431
+ "docs": {
1432
+ "tags": [],
1433
+ "text": "The scale of the color picker."
1434
+ },
1435
+ "attribute": "scale",
1436
+ "reflect": true,
1437
+ "defaultValue": "\"m\""
1438
+ },
1439
+ "storageId": {
1440
+ "type": "string",
1441
+ "mutable": false,
1442
+ "complexType": {
1443
+ "original": "string",
1444
+ "resolved": "string",
1445
+ "references": {}
1446
+ },
1447
+ "required": false,
1448
+ "optional": false,
1449
+ "docs": {
1450
+ "tags": [],
1451
+ "text": "Storage ID for colors."
1452
+ },
1453
+ "attribute": "storage-id",
1454
+ "reflect": false
1455
+ },
1456
+ "numberingSystem": {
1457
+ "type": "string",
1458
+ "mutable": false,
1459
+ "complexType": {
1460
+ "original": "string",
1461
+ "resolved": "string",
1462
+ "references": {}
1463
+ },
1464
+ "required": false,
1465
+ "optional": true,
1466
+ "docs": {
1467
+ "tags": [],
1468
+ "text": "standard UniCode numeral system tag for localization"
1469
+ },
1470
+ "attribute": "numbering-system",
1471
+ "reflect": false
1472
+ },
1473
+ "value": {
1474
+ "type": "string",
1475
+ "mutable": true,
1476
+ "complexType": {
1477
+ "original": "ColorValue | null",
1478
+ "resolved": "HSL | HSL & ObjectWithAlpha | HSV | HSV & ObjectWithAlpha | RGB | RGB & ObjectWithAlpha | string",
1479
+ "references": {
1480
+ "ColorValue": {
1481
+ "location": "import",
1482
+ "path": "./interfaces"
1483
+ }
1484
+ }
1485
+ },
1486
+ "required": false,
1487
+ "optional": false,
1488
+ "docs": {
1489
+ "tags": [{
1490
+ "name": "default",
1491
+ "text": "\"#007ac2\""
1492
+ }, {
1493
+ "name": "see",
1494
+ "text": "[ColorValue](https://github.com/Esri/calcite-components/blob/master/src/components/color-picker/interfaces.ts#L10)"
1495
+ }],
1496
+ "text": "The color value.\r\n\r\nThis value can be either a {@link https ://developer.mozilla.org/en-US/docs/Web/CSS/color|CSS string}\r\na RGB, HSL or HSV object.\r\n\r\nThe type will be preserved as the color is updated."
1497
+ },
1498
+ "attribute": "value",
1499
+ "reflect": false,
1500
+ "defaultValue": "defaultValue"
1501
+ }
1502
+ }; }
1503
+ static get states() { return {
1504
+ "colorFieldAndSliderInteractive": {},
1505
+ "channelMode": {},
1506
+ "channels": {},
1507
+ "dimensions": {},
1508
+ "savedColors": {},
1509
+ "colorFieldScopeTop": {},
1510
+ "colorFieldScopeLeft": {},
1511
+ "scopeOrientation": {},
1512
+ "hueScopeLeft": {},
1513
+ "hueScopeTop": {}
1514
+ }; }
1515
+ static get events() { return [{
1516
+ "method": "calciteColorPickerChange",
1517
+ "name": "calciteColorPickerChange",
1518
+ "bubbles": true,
1519
+ "cancelable": false,
1520
+ "composed": true,
1521
+ "docs": {
1522
+ "tags": [],
1523
+ "text": "Fires when the color value has changed."
1524
+ },
1525
+ "complexType": {
1526
+ "original": "void",
1527
+ "resolved": "void",
1528
+ "references": {}
1529
+ }
1530
+ }, {
1531
+ "method": "calciteColorPickerInput",
1532
+ "name": "calciteColorPickerInput",
1533
+ "bubbles": true,
1534
+ "cancelable": false,
1535
+ "composed": true,
1536
+ "docs": {
1537
+ "tags": [],
1538
+ "text": "Fires as the color value changes.\r\n\r\nThis is similar to the change event with the exception of dragging. When dragging the color field or hue slider thumb, this event fires as the thumb is moved."
1539
+ },
1540
+ "complexType": {
1541
+ "original": "void",
1542
+ "resolved": "void",
1543
+ "references": {}
1544
+ }
1545
+ }]; }
1546
+ static get methods() { return {
1547
+ "setFocus": {
1548
+ "complexType": {
1549
+ "signature": "() => Promise<void>",
1550
+ "parameters": [],
1551
+ "references": {
1552
+ "Promise": {
1553
+ "location": "global"
1554
+ }
1555
+ },
1556
+ "return": "Promise<void>"
1557
+ },
1558
+ "docs": {
1559
+ "text": "Sets focus on the component.",
1560
+ "tags": []
1561
+ }
1562
+ }
1563
+ }; }
1564
+ static get elementRef() { return "el"; }
1565
+ static get watchers() { return [{
1566
+ "propName": "color",
1567
+ "methodName": "handleColorChange"
1568
+ }, {
1569
+ "propName": "format",
1570
+ "methodName": "handleFormatChange"
1571
+ }, {
1572
+ "propName": "scale",
1573
+ "methodName": "handleScaleChange"
1574
+ }, {
1575
+ "propName": "value",
1576
+ "methodName": "handleValueChange"
1577
+ }]; }
1578
+ static get listeners() { return [{
1579
+ "name": "keydown",
1580
+ "method": "handleChannelKeyUpOrDown",
1581
+ "target": undefined,
1582
+ "capture": true,
1583
+ "passive": false
1584
+ }, {
1585
+ "name": "keyup",
1586
+ "method": "handleChannelKeyUpOrDown",
1587
+ "target": undefined,
1588
+ "capture": true,
1589
+ "passive": false
1590
+ }]; }
1591
+ }