@esri/calcite-components 1.0.0-beta.92 → 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 (1195) 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 -32
  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/calcite.esm.js +2 -2
  53. package/dist/calcite/calcite.js +1 -1
  54. package/dist/calcite/index.esm.js +1 -1
  55. package/dist/calcite/{p-57bcbf12.system.entry.js → p-00cbb85f.system.entry.js} +2 -2
  56. package/dist/calcite/{p-6ca3a4d3.entry.js → p-00d150f2.entry.js} +2 -2
  57. package/dist/calcite/{p-a2035e81.entry.js → p-01870de6.entry.js} +2 -2
  58. package/dist/calcite/p-01b676af.entry.js +6 -0
  59. package/dist/calcite/p-01d3953d.system.entry.js +6 -0
  60. package/dist/calcite/{p-a1327fdf.system.js → p-02e0b722.system.js} +1 -1
  61. package/dist/calcite/{p-5efec339.system.entry.js → p-03562da5.system.entry.js} +2 -2
  62. package/dist/calcite/{p-4568acb6.entry.js → p-04685fe4.entry.js} +2 -2
  63. package/dist/calcite/{p-b8876de8.entry.js → p-0509ca3a.entry.js} +2 -2
  64. package/dist/calcite/{p-b1cac6ac.system.entry.js → p-05db8259.system.entry.js} +2 -2
  65. package/dist/calcite/{p-ce84c5ce.entry.js → p-07d3d6e5.entry.js} +2 -2
  66. package/dist/calcite/{p-6723dbea.system.entry.js → p-089d8461.system.entry.js} +2 -2
  67. package/dist/calcite/{p-89ebc813.entry.js → p-090c6537.entry.js} +2 -2
  68. package/dist/calcite/{p-47e21b1b.js → p-0a861972.js} +2 -2
  69. package/dist/calcite/{p-890bdf7b.system.js → p-0afb3088.system.js} +1 -1
  70. package/dist/calcite/p-0b5a943b.js +6 -0
  71. package/dist/calcite/{p-dd26e1a0.entry.js → p-0cea6bab.entry.js} +2 -2
  72. package/dist/calcite/{p-f2305e0a.system.entry.js → p-0d647626.system.entry.js} +2 -2
  73. package/dist/calcite/{p-c07cba80.system.js → p-10a45595.system.js} +1 -1
  74. package/dist/calcite/{p-8dccab26.system.js → p-113cc2b0.system.js} +1 -1
  75. package/dist/calcite/{p-455a984c.system.entry.js → p-11467d5d.system.entry.js} +2 -2
  76. package/dist/calcite/{p-fc884dc4.system.js → p-11d5321f.system.js} +1 -1
  77. package/dist/calcite/{p-7198a979.entry.js → p-1232824e.entry.js} +2 -2
  78. package/dist/calcite/{p-6b42f6c1.entry.js → p-1240d47f.entry.js} +2 -2
  79. package/dist/calcite/{p-f7408139.entry.js → p-127d3f16.entry.js} +2 -2
  80. package/dist/calcite/{p-ba9143cb.entry.js → p-16eec3a7.entry.js} +2 -2
  81. package/dist/calcite/{p-46f703d7.system.entry.js → p-18702b23.system.entry.js} +2 -2
  82. package/dist/calcite/{p-14370718.system.js → p-196a0d1b.system.js} +2 -2
  83. package/dist/calcite/p-1ab0054e.system.js +6 -0
  84. package/dist/calcite/{p-3aa80899.entry.js → p-1aba2bce.entry.js} +2 -2
  85. package/dist/calcite/{p-f151e536.system.js → p-1bbf8efc.system.js} +1 -1
  86. package/dist/calcite/{p-2d97d32a.system.entry.js → p-1d4c06fd.system.entry.js} +3 -3
  87. package/dist/calcite/{p-59ac4143.js → p-1df64778.js} +2 -2
  88. package/dist/calcite/{p-d9767f5b.system.js → p-21ed0b89.system.js} +2 -2
  89. package/dist/calcite/{p-b85d465f.js → p-2312e382.js} +1 -1
  90. package/dist/calcite/{p-b590359e.js → p-25296b9e.js} +2 -2
  91. package/dist/calcite/p-254a69f9.system.entry.js +6 -0
  92. package/dist/calcite/{p-3795cf17.system.entry.js → p-28868ccc.system.entry.js} +2 -2
  93. package/dist/calcite/{p-917ec520.entry.js → p-29ddc4d7.entry.js} +2 -2
  94. package/dist/calcite/{p-b80f2b72.entry.js → p-2ac00999.entry.js} +2 -2
  95. package/dist/calcite/{p-047f5080.system.entry.js → p-2fdc6ff5.system.entry.js} +2 -2
  96. package/dist/calcite/{p-9331ee41.js → p-302a8139.js} +1 -1
  97. package/dist/calcite/{p-2699d0a3.system.js → p-31f60e7d.system.js} +1 -1
  98. package/dist/calcite/{p-d3496216.system.js → p-33ab1a35.system.js} +2 -2
  99. package/dist/calcite/p-33e1889f.entry.js +6 -0
  100. package/dist/calcite/{p-fb579ef6.system.entry.js → p-35132009.system.entry.js} +2 -2
  101. package/dist/calcite/{p-3d5a42c2.js → p-360ec63a.js} +1 -1
  102. package/dist/calcite/{p-5cfbeadf.system.js → p-3a3f2dde.system.js} +1 -1
  103. package/dist/calcite/{p-95b2ce17.system.js → p-3bce6cd7.system.js} +1 -1
  104. package/dist/calcite/{p-80a5dd3b.entry.js → p-3c2009db.entry.js} +2 -2
  105. package/dist/calcite/{p-b318eb10.entry.js → p-3d71bca9.entry.js} +2 -2
  106. package/dist/calcite/p-3e5be22f.system.js +6 -0
  107. package/dist/calcite/p-4184afaf.entry.js +6 -0
  108. package/dist/calcite/{p-1e7ce144.system.entry.js → p-4375cecb.system.entry.js} +2 -2
  109. package/dist/calcite/{p-4e444288.entry.js → p-445fd0b8.entry.js} +2 -2
  110. package/dist/calcite/{p-f9fc4ac3.js → p-44d879aa.js} +1 -1
  111. package/dist/calcite/{p-1c521c06.system.entry.js → p-454f91d4.system.entry.js} +2 -2
  112. package/dist/calcite/{p-77c2c86d.entry.js → p-45710abc.entry.js} +2 -2
  113. package/dist/calcite/{p-e5416726.system.entry.js → p-45cd83d2.system.entry.js} +2 -2
  114. package/dist/calcite/{p-8b9c3657.entry.js → p-45f36f89.entry.js} +2 -2
  115. package/dist/calcite/{p-71451eb3.system.entry.js → p-467908eb.system.entry.js} +2 -2
  116. package/dist/calcite/p-4753bb58.entry.js +6 -0
  117. package/dist/calcite/{p-4f055915.system.entry.js → p-495f772b.system.entry.js} +2 -2
  118. package/dist/calcite/{p-671cfa60.entry.js → p-49f3a191.entry.js} +2 -2
  119. package/dist/calcite/{p-9ea4befe.entry.js → p-4c13c20f.entry.js} +2 -2
  120. package/dist/calcite/{p-ae6acb6b.system.js → p-4ee4c07e.system.js} +2 -2
  121. package/dist/calcite/{p-2e16ea90.entry.js → p-5167e918.entry.js} +2 -2
  122. package/dist/calcite/{p-563603be.js → p-53545a85.js} +2 -2
  123. package/dist/calcite/p-537f656a.system.entry.js +6 -0
  124. package/dist/calcite/p-53a863e2.entry.js +6 -0
  125. package/dist/calcite/{p-17eca2ae.system.entry.js → p-568ccb90.system.entry.js} +2 -2
  126. package/dist/calcite/{p-2d3e8d7e.system.entry.js → p-587604fa.system.entry.js} +2 -2
  127. package/dist/calcite/{p-3375bdcc.system.entry.js → p-589f38b8.system.entry.js} +2 -2
  128. package/dist/calcite/{p-92d60658.js → p-58c1c8b0.js} +1 -1
  129. package/dist/calcite/{p-40b1b217.js → p-58e988aa.js} +2 -2
  130. package/dist/calcite/{p-8aa9e027.system.js → p-59275123.system.js} +2 -2
  131. package/dist/calcite/{p-af3f93c3.js → p-59b92fb4.js} +1 -1
  132. package/dist/calcite/p-5a4d4d43.system.entry.js +6 -0
  133. package/dist/calcite/{p-24f3ecd3.system.js → p-5fc43c5c.system.js} +3 -3
  134. package/dist/calcite/{p-08d0c4b3.system.entry.js → p-610e044b.system.entry.js} +2 -2
  135. package/dist/calcite/{p-6c8b54a4.js → p-6320bdc5.js} +1 -1
  136. package/dist/calcite/{p-a9c79c8e.entry.js → p-654c3208.entry.js} +2 -2
  137. package/dist/calcite/{p-5d28e8d4.js → p-67eebd3a.js} +1 -1
  138. package/dist/calcite/{p-b81de7d1.system.entry.js → p-6a5ab57f.system.entry.js} +3 -3
  139. package/dist/calcite/{p-a509b85f.system.entry.js → p-6b4b9ea4.system.entry.js} +3 -3
  140. package/dist/calcite/{p-3b3b7338.entry.js → p-6ccca35c.entry.js} +2 -2
  141. package/dist/calcite/p-6d372a75.system.entry.js +6 -0
  142. package/dist/calcite/{p-415f281e.system.entry.js → p-74d32319.system.entry.js} +2 -2
  143. package/dist/calcite/{p-e20da2fa.entry.js → p-784f4ca9.entry.js} +2 -2
  144. package/dist/calcite/{p-c7a1d105.entry.js → p-7bccad75.entry.js} +2 -2
  145. package/dist/calcite/{p-75e86bf4.system.entry.js → p-7bcde78a.system.entry.js} +2 -2
  146. package/dist/calcite/{p-5d572c12.system.js → p-7c4514cc.system.js} +1 -1
  147. package/dist/calcite/{p-0831a033.entry.js → p-7ccad3e7.entry.js} +2 -2
  148. package/dist/calcite/{p-f5f344b4.entry.js → p-7ef212bf.entry.js} +2 -2
  149. package/dist/calcite/{p-fd888df3.js → p-7f70c6f8.js} +1 -1
  150. package/dist/calcite/{p-6af95a4b.entry.js → p-83b22271.entry.js} +2 -2
  151. package/dist/calcite/{p-7c975ff8.system.entry.js → p-84383868.system.entry.js} +2 -2
  152. package/dist/calcite/{p-75b3a441.system.entry.js → p-84a50b2f.system.entry.js} +3 -3
  153. package/dist/calcite/{p-54c0d659.system.js → p-880e859d.system.js} +1 -1
  154. package/dist/calcite/p-89810d95.js +6 -0
  155. package/dist/calcite/{p-58f0c5d8.js → p-8c1287d7.js} +1 -1
  156. package/dist/calcite/{p-6737ff3d.system.entry.js → p-8c700fb6.system.entry.js} +3 -3
  157. package/dist/calcite/p-8c9b4208.entry.js +6 -0
  158. package/dist/calcite/{p-8c90df11.system.entry.js → p-8d52ae3c.system.entry.js} +2 -2
  159. package/dist/calcite/{p-25bd48cf.system.js → p-9119080a.system.js} +1 -1
  160. package/dist/calcite/{p-af131e8f.system.entry.js → p-93130f18.system.entry.js} +2 -2
  161. package/dist/calcite/{p-57ef201e.entry.js → p-934b07d1.entry.js} +2 -2
  162. package/dist/calcite/{p-6b450790.js → p-93721054.js} +1 -1
  163. package/dist/calcite/{p-00cf13c7.system.entry.js → p-94ed6cd7.system.entry.js} +2 -2
  164. package/dist/calcite/{p-3a805702.entry.js → p-974d4f34.entry.js} +2 -2
  165. package/dist/calcite/{p-61e53bb3.system.js → p-97967de4.system.js} +1 -1
  166. package/dist/calcite/{p-9a99c514.system.entry.js → p-9804887e.system.entry.js} +2 -2
  167. package/dist/calcite/p-982f6b1a.system.js +6 -0
  168. package/dist/calcite/{p-05208d9e.system.entry.js → p-992b971e.system.entry.js} +2 -2
  169. package/dist/calcite/{p-d5e28888.system.entry.js → p-9aefc997.system.entry.js} +2 -2
  170. package/dist/calcite/{p-0808e377.entry.js → p-9c3c8126.entry.js} +2 -2
  171. package/dist/calcite/{p-ef566fe8.system.entry.js → p-9d3bf0ce.system.entry.js} +2 -2
  172. package/dist/calcite/{p-b602422c.system.js → p-9fc4c30d.system.js} +1 -1
  173. package/dist/calcite/{p-67b21e65.entry.js → p-a2b155f6.entry.js} +2 -2
  174. package/dist/calcite/{p-b352b87b.entry.js → p-a330d0c1.entry.js} +2 -2
  175. package/dist/calcite/p-a56c5b03.entry.js +6 -0
  176. package/dist/calcite/p-a59ca5f3.system.entry.js +6 -0
  177. package/dist/calcite/{p-54f1296e.entry.js → p-a5d8c321.entry.js} +2 -2
  178. package/dist/calcite/p-a5ecb224.system.entry.js +6 -0
  179. package/dist/calcite/{p-a7419bf8.system.entry.js → p-a9e281b4.system.entry.js} +2 -2
  180. package/dist/calcite/p-aa65ad4a.entry.js +6 -0
  181. package/dist/calcite/p-aa8a1302.system.entry.js +6 -0
  182. package/dist/calcite/{p-6fe2bde0.entry.js → p-aaaeb247.entry.js} +2 -2
  183. package/dist/calcite/{p-c01a73d7.system.entry.js → p-ad8c9b35.system.entry.js} +2 -2
  184. package/dist/calcite/{p-aaaf10f0.system.entry.js → p-adb4021c.system.entry.js} +2 -2
  185. package/dist/calcite/p-add0fbd7.js +6 -0
  186. package/dist/calcite/{p-79988262.system.js → p-afdabbeb.system.js} +2 -2
  187. package/dist/calcite/p-b1aa6019.entry.js +6 -0
  188. package/dist/calcite/{p-353edca5.system.entry.js → p-b1de8d4e.system.entry.js} +2 -2
  189. package/dist/calcite/{p-4c082bbb.entry.js → p-b1ec30df.entry.js} +2 -2
  190. package/dist/calcite/{p-4e03b1ae.entry.js → p-b70b80e1.entry.js} +2 -2
  191. package/dist/calcite/{p-365d9061.js → p-b75e6c78.js} +1 -1
  192. package/dist/calcite/{p-5c35dc5d.js → p-baa2ee9c.js} +1 -1
  193. package/dist/calcite/{p-f2d20a87.js → p-bb532b22.js} +2 -2
  194. package/dist/calcite/{p-900dede5.entry.js → p-bb752e62.entry.js} +2 -2
  195. package/dist/calcite/{p-d3e5e2ac.system.entry.js → p-bc2cbb09.system.entry.js} +2 -2
  196. package/dist/calcite/{p-0c8c14bf.system.entry.js → p-bce8deed.system.entry.js} +2 -2
  197. package/dist/calcite/{p-70f9636e.system.entry.js → p-bf4f542a.system.entry.js} +2 -2
  198. package/dist/calcite/{p-4956d534.entry.js → p-c043b29e.entry.js} +2 -2
  199. package/dist/calcite/{p-6102c66d.js → p-c2e2ad0c.js} +1 -1
  200. package/dist/calcite/{p-115b7c7b.entry.js → p-c3104419.entry.js} +2 -2
  201. package/dist/calcite/{p-b98a0d0d.entry.js → p-c4b33e5d.entry.js} +2 -2
  202. package/dist/calcite/{p-bf86c713.system.entry.js → p-c5d36f8c.system.entry.js} +2 -2
  203. package/dist/calcite/{p-37faecf9.entry.js → p-c6793ba1.entry.js} +2 -2
  204. package/dist/calcite/{p-a9d53c4a.entry.js → p-c6c679ac.entry.js} +2 -2
  205. package/dist/calcite/{p-06a73b31.system.js → p-c7b2f167.system.js} +1 -1
  206. package/dist/calcite/{p-5f9271fd.system.entry.js → p-c99ed5a2.system.entry.js} +2 -2
  207. package/dist/calcite/{p-22bdeaf6.system.js → p-cab7fa23.system.js} +2 -2
  208. package/dist/calcite/{p-ee28950a.entry.js → p-cb93db8b.entry.js} +2 -2
  209. package/dist/calcite/{p-669ab5f2.js → p-d049fa40.js} +2 -2
  210. package/dist/calcite/p-d4009ffe.entry.js +6 -0
  211. package/dist/calcite/{p-881abbf0.js → p-d525a08c.js} +1 -1
  212. package/dist/calcite/{p-ecd9fb1a.system.entry.js → p-da4cde84.system.entry.js} +2 -2
  213. package/dist/calcite/{p-17743b92.js → p-dcd7b5d1.js} +2 -2
  214. package/dist/calcite/{p-3381cb2b.system.entry.js → p-dd5f0609.system.entry.js} +2 -2
  215. package/dist/calcite/p-dfe35d4e.system.js +6 -0
  216. package/dist/calcite/{p-e6d1af49.entry.js → p-e890a9ac.entry.js} +2 -2
  217. package/dist/calcite/{p-205177f2.entry.js → p-e8930b74.entry.js} +2 -2
  218. package/dist/calcite/{p-262134e1.system.entry.js → p-e9c4ca11.system.entry.js} +2 -2
  219. package/dist/calcite/{p-a8bf09e5.system.js → p-ee06e1aa.system.js} +1 -1
  220. package/dist/calcite/{p-49259ab7.system.entry.js → p-ef4789a9.system.entry.js} +2 -2
  221. package/dist/calcite/p-f1039359.js +6 -0
  222. package/dist/calcite/{p-62914532.entry.js → p-f142aed3.entry.js} +2 -2
  223. package/dist/calcite/{p-7132c6c9.entry.js → p-f2ba7c96.entry.js} +2 -2
  224. package/dist/calcite/{p-4e48ac8d.system.entry.js → p-f308fd4e.system.entry.js} +2 -2
  225. package/dist/calcite/{p-3fb0028d.system.entry.js → p-f36909dc.system.entry.js} +2 -2
  226. package/dist/calcite/{p-1f03af38.system.js → p-f5d8aeee.system.js} +2 -2
  227. package/dist/calcite/{p-c9180bef.system.entry.js → p-fb162793.system.entry.js} +2 -2
  228. package/dist/calcite/{p-0633d33e.system.entry.js → p-fe94ce7b.system.entry.js} +2 -2
  229. package/dist/cjs/{ExpandToggle-75894d07.js → ExpandToggle-b2290d64.js} +90 -90
  230. package/dist/cjs/{Heading-c6b9cf61.js → Heading-de69eb01.js} +9 -9
  231. package/dist/cjs/{app-globals-ede7531b.js → app-globals-8c97cac1.js} +41 -36
  232. package/dist/cjs/{array-aea887f6.js → array-34ec294e.js} +3 -3
  233. package/dist/cjs/calcite-accordion_2.cjs.entry.js +319 -317
  234. package/dist/cjs/calcite-action-bar.cjs.entry.js +200 -200
  235. package/dist/cjs/calcite-action-group.cjs.entry.js +75 -75
  236. package/dist/cjs/calcite-action-menu.cjs.entry.js +281 -281
  237. package/dist/cjs/calcite-action-pad.cjs.entry.js +121 -121
  238. package/dist/cjs/calcite-action.cjs.entry.js +143 -143
  239. package/dist/cjs/calcite-alert.cjs.entry.js +223 -223
  240. package/dist/cjs/calcite-avatar.cjs.entry.js +136 -136
  241. package/dist/cjs/calcite-block_2.cjs.entry.js +276 -276
  242. package/dist/cjs/calcite-button.cjs.entry.js +163 -163
  243. package/dist/cjs/calcite-card.cjs.entry.js +127 -127
  244. package/dist/cjs/calcite-checkbox.cjs.entry.js +126 -126
  245. package/dist/cjs/calcite-chip.cjs.entry.js +122 -122
  246. package/dist/cjs/calcite-color-picker_3.cjs.entry.js +1165 -1158
  247. package/dist/cjs/calcite-combobox_3.cjs.entry.js +1014 -1010
  248. package/dist/cjs/calcite-date-picker_4.cjs.entry.js +935 -935
  249. package/dist/cjs/calcite-dropdown_3.cjs.entry.js +681 -679
  250. package/dist/cjs/calcite-fab.cjs.entry.js +81 -81
  251. package/dist/cjs/calcite-filter.cjs.entry.js +133 -133
  252. package/dist/cjs/calcite-flow.cjs.entry.js +106 -106
  253. package/dist/cjs/calcite-graph_2.cjs.entry.js +979 -979
  254. package/dist/cjs/calcite-handle.cjs.entry.js +78 -78
  255. package/dist/cjs/calcite-icon.cjs.entry.js +157 -157
  256. package/dist/cjs/calcite-inline-editable.cjs.entry.js +231 -231
  257. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +540 -538
  258. package/dist/cjs/calcite-input-message.cjs.entry.js +58 -58
  259. package/dist/cjs/calcite-input-number.cjs.entry.js +523 -523
  260. package/dist/cjs/calcite-input-text.cjs.entry.js +328 -328
  261. package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +1090 -1090
  262. package/dist/cjs/calcite-input.cjs.entry.js +627 -627
  263. package/dist/cjs/calcite-label.cjs.entry.js +68 -68
  264. package/dist/cjs/calcite-link.cjs.entry.js +66 -66
  265. package/dist/cjs/calcite-list_3.cjs.entry.js +180 -180
  266. package/dist/cjs/calcite-loader.cjs.entry.js +81 -81
  267. package/dist/cjs/calcite-modal.cjs.entry.js +324 -312
  268. package/dist/cjs/calcite-notice.cjs.entry.js +145 -145
  269. package/dist/cjs/calcite-option_3.cjs.entry.js +317 -317
  270. package/dist/cjs/calcite-pagination.cjs.entry.js +245 -245
  271. package/dist/cjs/calcite-panel.cjs.entry.js +317 -317
  272. package/dist/cjs/calcite-pick-list_3.cjs.entry.js +333 -333
  273. package/dist/cjs/calcite-popover_2.cjs.entry.js +464 -461
  274. package/dist/cjs/calcite-progress.cjs.entry.js +23 -23
  275. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +96 -96
  276. package/dist/cjs/calcite-radio-button.cjs.entry.js +261 -261
  277. package/dist/cjs/calcite-radio-group_2.cjs.entry.js +243 -243
  278. package/dist/cjs/calcite-rating.cjs.entry.js +139 -139
  279. package/dist/cjs/calcite-scrim.cjs.entry.js +41 -41
  280. package/dist/cjs/calcite-shell_3.cjs.entry.js +375 -375
  281. package/dist/cjs/calcite-sortable-list.cjs.entry.js +158 -158
  282. package/dist/cjs/calcite-split-button.cjs.entry.js +91 -91
  283. package/dist/cjs/calcite-stepper_2.cjs.entry.js +409 -409
  284. package/dist/cjs/calcite-switch.cjs.entry.js +106 -106
  285. package/dist/cjs/calcite-tab_4.cjs.entry.js +679 -679
  286. package/dist/cjs/calcite-tile-select_2.cjs.entry.js +219 -219
  287. package/dist/cjs/calcite-tile.cjs.entry.js +71 -71
  288. package/dist/cjs/calcite-tip_3.cjs.entry.js +289 -289
  289. package/dist/cjs/calcite-tooltip_2.cjs.entry.js +357 -355
  290. package/dist/cjs/calcite-tree_2.cjs.entry.js +479 -479
  291. package/dist/cjs/calcite-value-list_2.cjs.entry.js +408 -408
  292. package/dist/cjs/calcite.cjs.js +5 -5
  293. package/dist/cjs/{conditionalSlot-6a04d02f.js → conditionalSlot-06657c5b.js} +37 -37
  294. package/dist/cjs/{debounce-9f0ddb81.js → debounce-d1724c1b.js} +1 -1
  295. package/dist/cjs/{dom-e9f09e29.js → dom-9d34fe95.js} +165 -165
  296. package/dist/cjs/{filter-b45eeaf9.js → filter-34f3ce30.js} +34 -34
  297. package/dist/cjs/{floating-ui-8f4ad866.js → floating-ui-9ea3748d.js} +179 -177
  298. package/dist/cjs/{form-40bae29c.js → form-753af7bf.js} +215 -215
  299. package/dist/cjs/{guid-08ecb207.js → guid-d157229c.js} +12 -12
  300. package/dist/cjs/{index-d1f4f7de.js → index-afcc8e68.js} +1 -1
  301. package/dist/cjs/index.cjs.js +1 -1
  302. package/dist/cjs/{interactive-7fa78804.js → interactive-4157d28f.js} +39 -39
  303. package/dist/cjs/{interfaces-87a833aa.js → interfaces-d0082310.js} +7 -7
  304. package/dist/cjs/{key-1902890d.js → key-7da11b52.js} +4 -4
  305. package/dist/cjs/{label-387b4157.js → label-c5d6d6f9.js} +118 -118
  306. package/dist/cjs/loader.cjs.js +5 -5
  307. package/dist/cjs/{locale-eb7612fa.js → locale-e3ec67bd.js} +244 -244
  308. package/dist/cjs/{math-f748d678.js → math-95aadcfc.js} +12 -12
  309. package/dist/cjs/{observers-4f40445c.js → observers-70ca1a5f.js} +18 -18
  310. package/dist/cjs/{openCloseComponent-78a7e2a9.js → openCloseComponent-a2beb5f0.js} +44 -44
  311. package/dist/cjs/{resources-a7220671.js → resources-2de8b619.js} +10 -10
  312. package/dist/cjs/{resources-549d99a7.js → resources-4b7ed703.js} +11 -11
  313. package/dist/cjs/{resources-95ef3f0a.js → resources-8cb481ad.js} +251 -251
  314. package/dist/cjs/{resources-42b4d672.js → resources-96e885bd.js} +12 -12
  315. package/dist/cjs/{resources-90d0bc03.js → resources-abf1b91c.js} +348 -348
  316. package/dist/cjs/{sortable.esm-027d0bf8.js → sortable.esm-e44756d6.js} +1 -1
  317. package/dist/cjs/{utils-87048187.js → utils-06b85079.js} +107 -107
  318. package/dist/collection/components/accordion/accordion.js +305 -303
  319. package/dist/collection/components/accordion/interfaces.js +2 -2
  320. package/dist/collection/components/accordion-item/accordion-item.js +416 -416
  321. package/dist/collection/components/accordion-item/interfaces.js +2 -2
  322. package/dist/collection/components/accordion-item/resources.js +17 -17
  323. package/dist/collection/components/action/action.css +12 -4
  324. package/dist/collection/components/action/action.js +434 -434
  325. package/dist/collection/components/action/resources.js +14 -14
  326. package/dist/collection/components/action-bar/action-bar.js +431 -431
  327. package/dist/collection/components/action-bar/resources.js +12 -12
  328. package/dist/collection/components/action-bar/utils.js +53 -53
  329. package/dist/collection/components/action-group/action-group.js +213 -213
  330. package/dist/collection/components/action-group/resources.js +11 -11
  331. package/dist/collection/components/action-menu/action-menu.js +499 -499
  332. package/dist/collection/components/action-menu/resources.js +12 -12
  333. package/dist/collection/components/action-pad/action-pad.js +305 -305
  334. package/dist/collection/components/action-pad/resources.js +12 -12
  335. package/dist/collection/components/alert/alert.js +589 -589
  336. package/dist/collection/components/alert/interfaces.js +8 -8
  337. package/dist/collection/components/alert/resources.js +17 -17
  338. package/dist/collection/components/avatar/avatar.js +183 -183
  339. package/dist/collection/components/avatar/utils.js +58 -58
  340. package/dist/collection/components/block/block.js +482 -482
  341. package/dist/collection/components/block/resources.js +39 -39
  342. package/dist/collection/components/block-section/block-section.js +228 -228
  343. package/dist/collection/components/block-section/interfaces.js +2 -2
  344. package/dist/collection/components/block-section/resources.js +24 -24
  345. package/dist/collection/components/button/button.css +111 -59
  346. package/dist/collection/components/button/button.js +576 -576
  347. package/dist/collection/components/button/interfaces.js +2 -2
  348. package/dist/collection/components/button/resources.js +16 -16
  349. package/dist/collection/components/card/card.js +297 -297
  350. package/dist/collection/components/card/resources.js +22 -22
  351. package/dist/collection/components/checkbox/checkbox.js +397 -397
  352. package/dist/collection/components/chip/chip.css +34 -18
  353. package/dist/collection/components/chip/chip.js +368 -368
  354. package/dist/collection/components/chip/interfaces.js +2 -2
  355. package/dist/collection/components/chip/resources.js +17 -17
  356. package/dist/collection/components/color-picker/color-picker.js +1587 -1587
  357. package/dist/collection/components/color-picker/interfaces.js +2 -2
  358. package/dist/collection/components/color-picker/resources.js +102 -102
  359. package/dist/collection/components/color-picker/utils.js +108 -108
  360. package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +365 -358
  361. package/dist/collection/components/color-picker-hex-input/resources.js +6 -6
  362. package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +119 -119
  363. package/dist/collection/components/color-picker-swatch/resources.js +9 -9
  364. package/dist/collection/components/combobox/combobox.css +10 -3
  365. package/dist/collection/components/combobox/combobox.js +1381 -1377
  366. package/dist/collection/components/combobox/interfaces.js +2 -2
  367. package/dist/collection/components/combobox/resources.js +12 -12
  368. package/dist/collection/components/combobox/utils.js +28 -28
  369. package/dist/collection/components/combobox-item/combobox-item.js +365 -365
  370. package/dist/collection/components/combobox-item/resources.js +13 -13
  371. package/dist/collection/components/combobox-item-group/combobox-item-group.js +85 -85
  372. package/dist/collection/components/combobox-item-group/resources.js +6 -6
  373. package/dist/collection/components/date-picker/assets/date-picker/nls/ar.json +45 -45
  374. package/dist/collection/components/date-picker/assets/date-picker/nls/bg.json +31 -31
  375. package/dist/collection/components/date-picker/assets/date-picker/nls/bs.json +32 -32
  376. package/dist/collection/components/date-picker/assets/date-picker/nls/ca.json +32 -32
  377. package/dist/collection/components/date-picker/assets/date-picker/nls/cs.json +32 -32
  378. package/dist/collection/components/date-picker/assets/date-picker/nls/da.json +32 -32
  379. package/dist/collection/components/date-picker/assets/date-picker/nls/de-CH.json +29 -29
  380. package/dist/collection/components/date-picker/assets/date-picker/nls/de.json +32 -32
  381. package/dist/collection/components/date-picker/assets/date-picker/nls/el.json +32 -32
  382. package/dist/collection/components/date-picker/assets/date-picker/nls/en-AU.json +30 -30
  383. package/dist/collection/components/date-picker/assets/date-picker/nls/en-CA.json +14 -14
  384. package/dist/collection/components/date-picker/assets/date-picker/nls/en-GB.json +29 -29
  385. package/dist/collection/components/date-picker/assets/date-picker/nls/en.json +31 -31
  386. package/dist/collection/components/date-picker/assets/date-picker/nls/es-MX.json +29 -29
  387. package/dist/collection/components/date-picker/assets/date-picker/nls/es.json +32 -32
  388. package/dist/collection/components/date-picker/assets/date-picker/nls/et.json +32 -32
  389. package/dist/collection/components/date-picker/assets/date-picker/nls/fi.json +45 -45
  390. package/dist/collection/components/date-picker/assets/date-picker/nls/fr-CH.json +32 -32
  391. package/dist/collection/components/date-picker/assets/date-picker/nls/fr.json +32 -32
  392. package/dist/collection/components/date-picker/assets/date-picker/nls/he.json +19 -19
  393. package/dist/collection/components/date-picker/assets/date-picker/nls/hi.json +32 -32
  394. package/dist/collection/components/date-picker/assets/date-picker/nls/hr.json +32 -32
  395. package/dist/collection/components/date-picker/assets/date-picker/nls/hu.json +32 -32
  396. package/dist/collection/components/date-picker/assets/date-picker/nls/id.json +32 -32
  397. package/dist/collection/components/date-picker/assets/date-picker/nls/it-CH.json +32 -32
  398. package/dist/collection/components/date-picker/assets/date-picker/nls/it.json +32 -32
  399. package/dist/collection/components/date-picker/assets/date-picker/nls/ja.json +22 -22
  400. package/dist/collection/components/date-picker/assets/date-picker/nls/ko.json +22 -22
  401. package/dist/collection/components/date-picker/assets/date-picker/nls/lt.json +53 -53
  402. package/dist/collection/components/date-picker/assets/date-picker/nls/lv.json +45 -45
  403. package/dist/collection/components/date-picker/assets/date-picker/nls/mk.json +32 -32
  404. package/dist/collection/components/date-picker/assets/date-picker/nls/nb.json +32 -32
  405. package/dist/collection/components/date-picker/assets/date-picker/nls/nl.json +32 -32
  406. package/dist/collection/components/date-picker/assets/date-picker/nls/pl.json +32 -32
  407. package/dist/collection/components/date-picker/assets/date-picker/nls/pt-BR.json +31 -31
  408. package/dist/collection/components/date-picker/assets/date-picker/nls/pt-PT.json +32 -32
  409. package/dist/collection/components/date-picker/assets/date-picker/nls/pt.json +31 -31
  410. package/dist/collection/components/date-picker/assets/date-picker/nls/ro.json +32 -32
  411. package/dist/collection/components/date-picker/assets/date-picker/nls/ru.json +32 -32
  412. package/dist/collection/components/date-picker/assets/date-picker/nls/sk.json +32 -32
  413. package/dist/collection/components/date-picker/assets/date-picker/nls/sl.json +32 -32
  414. package/dist/collection/components/date-picker/assets/date-picker/nls/sr.json +32 -32
  415. package/dist/collection/components/date-picker/assets/date-picker/nls/sv.json +32 -32
  416. package/dist/collection/components/date-picker/assets/date-picker/nls/th.json +32 -32
  417. package/dist/collection/components/date-picker/assets/date-picker/nls/tr.json +32 -32
  418. package/dist/collection/components/date-picker/assets/date-picker/nls/uk.json +32 -32
  419. package/dist/collection/components/date-picker/assets/date-picker/nls/vi.json +45 -45
  420. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-CN.json +22 -22
  421. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-HK.json +22 -22
  422. package/dist/collection/components/date-picker/assets/date-picker/nls/zh-TW.json +22 -22
  423. package/dist/collection/components/date-picker/date-picker.js +862 -862
  424. package/dist/collection/components/date-picker/interfaces.js +2 -2
  425. package/dist/collection/components/date-picker/resources.js +7 -7
  426. package/dist/collection/components/date-picker/utils.js +60 -60
  427. package/dist/collection/components/date-picker-day/date-picker-day.js +360 -360
  428. package/dist/collection/components/date-picker-month/date-picker-month.js +576 -576
  429. package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +412 -412
  430. package/dist/collection/components/date-picker-month-header/resources.js +2 -2
  431. package/dist/collection/components/dropdown/dropdown.css +6 -0
  432. package/dist/collection/components/dropdown/dropdown.js +859 -858
  433. package/dist/collection/components/dropdown/interfaces.js +2 -2
  434. package/dist/collection/components/dropdown/resources.js +7 -7
  435. package/dist/collection/components/dropdown-group/dropdown-group.js +164 -164
  436. package/dist/collection/components/dropdown-group/interfaces.js +2 -2
  437. package/dist/collection/components/dropdown-group/resources.js +6 -6
  438. package/dist/collection/components/dropdown-item/dropdown-item.js +456 -456
  439. package/dist/collection/components/dropdown-item/resources.js +10 -10
  440. package/dist/collection/components/fab/fab.js +283 -283
  441. package/dist/collection/components/fab/resources.js +7 -7
  442. package/dist/collection/components/filter/filter.js +313 -313
  443. package/dist/collection/components/filter/resources.js +14 -14
  444. package/dist/collection/components/flow/flow.js +147 -147
  445. package/dist/collection/components/flow/interfaces.js +2 -2
  446. package/dist/collection/components/flow/resources.js +6 -6
  447. package/dist/collection/components/functional/ExpandToggle.js +43 -43
  448. package/dist/collection/components/functional/Heading.js +10 -10
  449. package/dist/collection/components/graph/graph.js +214 -214
  450. package/dist/collection/components/graph/interfaces.js +2 -2
  451. package/dist/collection/components/graph/util.js +127 -127
  452. package/dist/collection/components/handle/handle.js +158 -158
  453. package/dist/collection/components/handle/resources.js +8 -8
  454. package/dist/collection/components/icon/icon.js +186 -186
  455. package/dist/collection/components/icon/resources.js +5 -5
  456. package/dist/collection/components/icon/utils.js +64 -64
  457. package/dist/collection/components/inline-editable/inline-editable.js +485 -485
  458. package/dist/collection/components/inline-editable/resources.js +15 -15
  459. package/dist/collection/components/input/input.js +1397 -1397
  460. package/dist/collection/components/input/interfaces.js +2 -2
  461. package/dist/collection/components/input/resources.js +31 -31
  462. package/dist/collection/components/input-date-picker/input-date-picker.css +9 -0
  463. package/dist/collection/components/input-date-picker/input-date-picker.js +1313 -1311
  464. package/dist/collection/components/input-date-picker/resources.js +5 -5
  465. package/dist/collection/components/input-message/input-message.js +170 -170
  466. package/dist/collection/components/input-message/interfaces.js +7 -7
  467. package/dist/collection/components/input-number/input-number.js +1259 -1259
  468. package/dist/collection/components/input-number/interfaces.js +2 -2
  469. package/dist/collection/components/input-number/resources.js +23 -23
  470. package/dist/collection/components/input-text/input-text.js +908 -908
  471. package/dist/collection/components/input-text/resources.js +20 -20
  472. package/dist/collection/components/input-time-picker/input-time-picker.js +755 -755
  473. package/dist/collection/components/interfaces.js +2 -2
  474. package/dist/collection/components/label/label.js +249 -249
  475. package/dist/collection/components/label/resources.js +4 -4
  476. package/dist/collection/components/link/link.js +243 -243
  477. package/dist/collection/components/list/list.js +122 -122
  478. package/dist/collection/components/list/resources.js +4 -4
  479. package/dist/collection/components/list-item/list-item.js +208 -208
  480. package/dist/collection/components/list-item/resources.js +21 -21
  481. package/dist/collection/components/list-item-group/list-item-group.js +76 -76
  482. package/dist/collection/components/list-item-group/resources.js +6 -6
  483. package/dist/collection/components/loader/loader.js +249 -249
  484. package/dist/collection/components/modal/interfaces.js +2 -2
  485. package/dist/collection/components/modal/modal.css +2 -2
  486. package/dist/collection/components/modal/modal.js +766 -754
  487. package/dist/collection/components/modal/resources.js +33 -32
  488. package/dist/collection/components/notice/notice.js +402 -402
  489. package/dist/collection/components/notice/resources.js +17 -17
  490. package/dist/collection/components/option/option.js +181 -181
  491. package/dist/collection/components/option-group/option-group.js +102 -102
  492. package/dist/collection/components/pagination/pagination.js +391 -391
  493. package/dist/collection/components/pagination/resources.js +15 -15
  494. package/dist/collection/components/panel/panel.js +778 -778
  495. package/dist/collection/components/panel/resources.js +44 -44
  496. package/dist/collection/components/pick-list/pick-list.js +385 -385
  497. package/dist/collection/components/pick-list/resources.js +16 -16
  498. package/dist/collection/components/pick-list/shared-list-logic.js +300 -300
  499. package/dist/collection/components/pick-list/shared-list-render.js +16 -16
  500. package/dist/collection/components/pick-list-group/pick-list-group.js +96 -96
  501. package/dist/collection/components/pick-list-group/resources.js +10 -10
  502. package/dist/collection/components/pick-list-item/pick-list-item.js +518 -518
  503. package/dist/collection/components/pick-list-item/resources.js +27 -27
  504. package/dist/collection/components/popover/PopoverManager.js +70 -71
  505. package/dist/collection/components/popover/popover.js +844 -840
  506. package/dist/collection/components/popover/resources.js +20 -20
  507. package/dist/collection/components/popover-manager/popover-manager.js +115 -115
  508. package/dist/collection/components/progress/progress.js +123 -123
  509. package/dist/collection/components/radio-button/radio-button.js +598 -598
  510. package/dist/collection/components/radio-button/resources.js +4 -4
  511. package/dist/collection/components/radio-button-group/radio-button-group.js +255 -255
  512. package/dist/collection/components/radio-group/interfaces.js +2 -2
  513. package/dist/collection/components/radio-group/radio-group.js +452 -452
  514. package/dist/collection/components/radio-group-item/radio-group-item.js +168 -168
  515. package/dist/collection/components/radio-group-item/resources.js +7 -7
  516. package/dist/collection/components/rating/rating.js +413 -413
  517. package/dist/collection/components/rating/resources.js +5 -5
  518. package/dist/collection/components/scrim/resources.js +8 -8
  519. package/dist/collection/components/scrim/scrim.js +90 -90
  520. package/dist/collection/components/select/resources.js +6 -6
  521. package/dist/collection/components/select/select.js +432 -432
  522. package/dist/collection/components/shell/resources.js +17 -17
  523. package/dist/collection/components/shell/shell.css +1 -1
  524. package/dist/collection/components/shell/shell.js +120 -120
  525. package/dist/collection/components/shell-center-row/resources.js +8 -8
  526. package/dist/collection/components/shell-center-row/shell-center-row.js +134 -134
  527. package/dist/collection/components/shell-panel/resources.js +16 -16
  528. package/dist/collection/components/shell-panel/shell-panel.js +402 -402
  529. package/dist/collection/components/slider/slider.js +1328 -1328
  530. package/dist/collection/components/sortable-list/resources.js +7 -7
  531. package/dist/collection/components/sortable-list/sortable-list.js +303 -303
  532. package/dist/collection/components/split-button/resources.js +9 -9
  533. package/dist/collection/components/split-button/split-button.css +16 -10
  534. package/dist/collection/components/split-button/split-button.js +446 -446
  535. package/dist/collection/components/stepper/interfaces.js +2 -2
  536. package/dist/collection/components/stepper/stepper.js +471 -471
  537. package/dist/collection/components/stepper-item/stepper-item.js +600 -600
  538. package/dist/collection/components/switch/switch.js +287 -287
  539. package/dist/collection/components/tab/interfaces.js +2 -2
  540. package/dist/collection/components/tab/tab.js +299 -299
  541. package/dist/collection/components/tab-nav/tab-nav.js +479 -479
  542. package/dist/collection/components/tab-title/tab-title.js +668 -668
  543. package/dist/collection/components/tabs/interfaces.js +2 -2
  544. package/dist/collection/components/tabs/resources.js +4 -4
  545. package/dist/collection/components/tabs/tabs.js +284 -284
  546. package/dist/collection/components/tile/resources.js +5 -5
  547. package/dist/collection/components/tile/tile.js +250 -250
  548. package/dist/collection/components/tile-select/interfaces.js +2 -2
  549. package/dist/collection/components/tile-select/resources.js +17 -17
  550. package/dist/collection/components/tile-select/tile-select.js +525 -525
  551. package/dist/collection/components/tile-select-group/interfaces.js +2 -2
  552. package/dist/collection/components/tile-select-group/tile-select-group.js +82 -82
  553. package/dist/collection/components/time-picker/resources.js +44 -44
  554. package/dist/collection/components/time-picker/time-picker.js +1109 -1109
  555. package/dist/collection/components/tip/resources.js +21 -21
  556. package/dist/collection/components/tip/tip.js +228 -228
  557. package/dist/collection/components/tip-group/tip-group.js +37 -37
  558. package/dist/collection/components/tip-manager/resources.js +27 -27
  559. package/dist/collection/components/tip-manager/tip-manager.js +384 -384
  560. package/dist/collection/components/tooltip/TooltipManager.js +157 -157
  561. package/dist/collection/components/tooltip/resources.js +7 -7
  562. package/dist/collection/components/tooltip/tooltip.js +386 -384
  563. package/dist/collection/components/tooltip-manager/tooltip-manager.js +60 -60
  564. package/dist/collection/components/tree/interfaces.js +10 -10
  565. package/dist/collection/components/tree/tree.js +428 -428
  566. package/dist/collection/components/tree-item/interfaces.js +2 -2
  567. package/dist/collection/components/tree-item/resources.js +19 -19
  568. package/dist/collection/components/tree-item/tree-item.js +480 -480
  569. package/dist/collection/components/value-list/interfaces.js +2 -2
  570. package/dist/collection/components/value-list/resources.js +12 -12
  571. package/dist/collection/components/value-list/utils.js +45 -45
  572. package/dist/collection/components/value-list/value-list.js +577 -577
  573. package/dist/collection/components/value-list-item/resources.js +8 -8
  574. package/dist/collection/components/value-list-item/value-list-item.js +422 -422
  575. package/dist/collection/demos/_assets/demo-dom-swapper.js +45 -0
  576. package/dist/collection/demos/_assets/demo-form.js +22 -0
  577. package/dist/collection/demos/_assets/demo-spacer.js +17 -0
  578. package/dist/collection/demos/_assets/demo-template.js +24 -0
  579. package/dist/collection/demos/_assets/head.js +48 -0
  580. package/dist/collection/demos/_assets/locales.js +223 -0
  581. package/dist/collection/utils/array.js +4 -4
  582. package/dist/collection/utils/conditionalSlot.js +38 -38
  583. package/dist/collection/utils/date.js +189 -189
  584. package/dist/collection/utils/dom.js +166 -166
  585. package/dist/collection/utils/filter.js +35 -35
  586. package/dist/collection/utils/floating-ui.js +227 -225
  587. package/dist/collection/utils/form.js +216 -216
  588. package/dist/collection/utils/globalAttributes.js +61 -61
  589. package/dist/collection/utils/globalScript.js +18 -13
  590. package/dist/collection/utils/guid.js +13 -13
  591. package/dist/collection/utils/interactive.js +42 -42
  592. package/dist/collection/utils/key.js +33 -33
  593. package/dist/collection/utils/label.js +119 -119
  594. package/dist/collection/utils/locale.js +119 -119
  595. package/dist/collection/utils/math.js +13 -13
  596. package/dist/collection/utils/number.js +130 -130
  597. package/dist/collection/utils/observers.js +20 -20
  598. package/dist/collection/utils/openCloseComponent.js +45 -45
  599. package/dist/collection/utils/popper.js +121 -0
  600. package/dist/collection/utils/resources.js +27 -27
  601. package/dist/collection/utils/theme.js +27 -27
  602. package/dist/collection/utils/time.js +177 -177
  603. package/dist/components/ExpandToggle.js +86 -86
  604. package/dist/components/Heading.js +8 -8
  605. package/dist/components/action-group.js +124 -124
  606. package/dist/components/action-menu.js +331 -331
  607. package/dist/components/action.js +178 -178
  608. package/dist/components/array.js +3 -3
  609. package/dist/components/button.js +205 -205
  610. package/dist/components/calcite-accordion-item.js +199 -199
  611. package/dist/components/calcite-accordion.js +166 -164
  612. package/dist/components/calcite-action-bar.js +247 -247
  613. package/dist/components/calcite-action-group.js +1 -1
  614. package/dist/components/calcite-action-menu.js +1 -1
  615. package/dist/components/calcite-action-pad.js +167 -167
  616. package/dist/components/calcite-action.js +1 -1
  617. package/dist/components/calcite-alert.js +259 -259
  618. package/dist/components/calcite-avatar.js +159 -159
  619. package/dist/components/calcite-block-section.js +127 -127
  620. package/dist/components/calcite-block.js +241 -241
  621. package/dist/components/calcite-button.js +1 -1
  622. package/dist/components/calcite-card.js +160 -160
  623. package/dist/components/calcite-checkbox.js +1 -1
  624. package/dist/components/calcite-chip.js +1 -1
  625. package/dist/components/calcite-color-picker-hex-input.js +1 -1
  626. package/dist/components/calcite-color-picker-swatch.js +1 -1
  627. package/dist/components/calcite-color-picker.js +934 -934
  628. package/dist/components/calcite-combobox-item-group.js +51 -51
  629. package/dist/components/calcite-combobox-item.js +156 -156
  630. package/dist/components/calcite-combobox.js +877 -873
  631. package/dist/components/calcite-date-picker-day.js +1 -1
  632. package/dist/components/calcite-date-picker-month-header.js +1 -1
  633. package/dist/components/calcite-date-picker-month.js +1 -1
  634. package/dist/components/calcite-date-picker.js +1 -1
  635. package/dist/components/calcite-dropdown-group.js +77 -77
  636. package/dist/components/calcite-dropdown-item.js +212 -212
  637. package/dist/components/calcite-dropdown.js +1 -1
  638. package/dist/components/calcite-fab.js +118 -118
  639. package/dist/components/calcite-filter.js +1 -1
  640. package/dist/components/calcite-flow.js +125 -125
  641. package/dist/components/calcite-graph.js +1 -1
  642. package/dist/components/calcite-handle.js +1 -1
  643. package/dist/components/calcite-icon.js +1 -1
  644. package/dist/components/calcite-inline-editable.js +266 -266
  645. package/dist/components/calcite-input-date-picker.js +615 -613
  646. package/dist/components/calcite-input-message.js +81 -81
  647. package/dist/components/calcite-input-number.js +573 -573
  648. package/dist/components/calcite-input-text.js +372 -372
  649. package/dist/components/calcite-input-time-picker.js +327 -327
  650. package/dist/components/calcite-input.js +1 -1
  651. package/dist/components/calcite-label.js +1 -1
  652. package/dist/components/calcite-link.js +1 -1
  653. package/dist/components/calcite-list-item-group.js +43 -43
  654. package/dist/components/calcite-list-item.js +128 -128
  655. package/dist/components/calcite-list.js +64 -64
  656. package/dist/components/calcite-loader.js +1 -1
  657. package/dist/components/calcite-modal.js +368 -355
  658. package/dist/components/calcite-notice.js +170 -170
  659. package/dist/components/calcite-option-group.js +50 -50
  660. package/dist/components/calcite-option.js +97 -97
  661. package/dist/components/calcite-pagination.js +272 -272
  662. package/dist/components/calcite-panel.js +375 -375
  663. package/dist/components/calcite-pick-list-group.js +56 -56
  664. package/dist/components/calcite-pick-list-item.js +1 -1
  665. package/dist/components/calcite-pick-list.js +185 -185
  666. package/dist/components/calcite-popover-manager.js +79 -79
  667. package/dist/components/calcite-popover.js +1 -1
  668. package/dist/components/calcite-progress.js +1 -1
  669. package/dist/components/calcite-radio-button-group.js +117 -117
  670. package/dist/components/calcite-radio-button.js +283 -283
  671. package/dist/components/calcite-radio-group-item.js +71 -71
  672. package/dist/components/calcite-radio-group.js +220 -220
  673. package/dist/components/calcite-rating.js +173 -173
  674. package/dist/components/calcite-scrim.js +1 -1
  675. package/dist/components/calcite-select.js +235 -235
  676. package/dist/components/calcite-shell-center-row.js +77 -77
  677. package/dist/components/calcite-shell-panel.js +254 -254
  678. package/dist/components/calcite-shell.js +102 -102
  679. package/dist/components/calcite-slider.js +809 -809
  680. package/dist/components/calcite-sortable-list.js +178 -178
  681. package/dist/components/calcite-split-button.js +141 -141
  682. package/dist/components/calcite-stepper-item.js +227 -227
  683. package/dist/components/calcite-stepper.js +240 -240
  684. package/dist/components/calcite-switch.js +1 -1
  685. package/dist/components/calcite-tab-nav.js +1 -1
  686. package/dist/components/calcite-tab-title.js +1 -1
  687. package/dist/components/calcite-tab.js +1 -1
  688. package/dist/components/calcite-tabs.js +1 -1
  689. package/dist/components/calcite-tile-select-group.js +46 -46
  690. package/dist/components/calcite-tile-select.js +236 -236
  691. package/dist/components/calcite-tile.js +1 -1
  692. package/dist/components/calcite-time-picker.js +1 -1
  693. package/dist/components/calcite-tip-group.js +27 -27
  694. package/dist/components/calcite-tip-manager.js +202 -202
  695. package/dist/components/calcite-tip.js +132 -132
  696. package/dist/components/calcite-tooltip-manager.js +43 -43
  697. package/dist/components/calcite-tooltip.js +355 -353
  698. package/dist/components/calcite-tree-item.js +256 -256
  699. package/dist/components/calcite-tree.js +269 -269
  700. package/dist/components/calcite-value-list-item.js +177 -177
  701. package/dist/components/calcite-value-list.js +334 -334
  702. package/dist/components/checkbox.js +146 -146
  703. package/dist/components/chip.js +149 -149
  704. package/dist/components/color-picker-hex-input.js +334 -327
  705. package/dist/components/color-picker-swatch.js +69 -69
  706. package/dist/components/conditionalSlot.js +35 -35
  707. package/dist/components/date-picker-day.js +93 -93
  708. package/dist/components/date-picker-month-header.js +186 -186
  709. package/dist/components/date-picker-month.js +331 -331
  710. package/dist/components/date-picker.js +540 -540
  711. package/dist/components/date.js +188 -188
  712. package/dist/components/debounce.js +1 -1
  713. package/dist/components/dom.js +163 -163
  714. package/dist/components/dropdown.js +467 -465
  715. package/dist/components/filter.js +33 -33
  716. package/dist/components/filter2.js +167 -167
  717. package/dist/components/floating-ui.js +178 -176
  718. package/dist/components/form.js +213 -213
  719. package/dist/components/graph.js +234 -234
  720. package/dist/components/guid.js +12 -12
  721. package/dist/components/handle.js +99 -99
  722. package/dist/components/icon.js +175 -175
  723. package/dist/components/index.js +40 -35
  724. package/dist/components/input.js +679 -679
  725. package/dist/components/interactive.js +39 -39
  726. package/dist/components/interfaces.js +7 -7
  727. package/dist/components/interfaces2.js +9 -9
  728. package/dist/components/key.js +4 -4
  729. package/dist/components/label.js +117 -117
  730. package/dist/components/label2.js +87 -87
  731. package/dist/components/link.js +92 -92
  732. package/dist/components/loader.js +104 -104
  733. package/dist/components/locale.js +243 -243
  734. package/dist/components/math.js +12 -12
  735. package/dist/components/observers.js +18 -18
  736. package/dist/components/openCloseComponent.js +44 -44
  737. package/dist/components/pick-list-item.js +230 -230
  738. package/dist/components/popover.js +450 -447
  739. package/dist/components/progress.js +44 -44
  740. package/dist/components/resources.js +12 -12
  741. package/dist/components/resources2.js +12 -12
  742. package/dist/components/resources3.js +9 -9
  743. package/dist/components/resources4.js +26 -26
  744. package/dist/components/scrim.js +64 -64
  745. package/dist/components/shared-list-render.js +300 -300
  746. package/dist/components/sortable.esm.js +1 -1
  747. package/dist/components/switch.js +123 -123
  748. package/dist/components/tab-nav.js +225 -225
  749. package/dist/components/tab-title.js +251 -251
  750. package/dist/components/tab.js +137 -137
  751. package/dist/components/tabs.js +175 -175
  752. package/dist/components/tile.js +100 -100
  753. package/dist/components/time-picker.js +884 -884
  754. package/dist/components/utils.js +107 -107
  755. package/dist/components/utils2.js +29 -29
  756. package/dist/custom-elements/index.js +20407 -20366
  757. package/dist/esm/{ExpandToggle-dc3e3d23.js → ExpandToggle-87ab4f71.js} +90 -90
  758. package/dist/esm/{Heading-5c05676e.js → Heading-102fe57b.js} +9 -9
  759. package/dist/esm/{app-globals-f3d4272a.js → app-globals-67426734.js} +41 -36
  760. package/dist/esm/{array-d40ffe9a.js → array-f5e4a1f6.js} +3 -3
  761. package/dist/esm/calcite-accordion_2.entry.js +319 -317
  762. package/dist/esm/calcite-action-bar.entry.js +200 -200
  763. package/dist/esm/calcite-action-group.entry.js +75 -75
  764. package/dist/esm/calcite-action-menu.entry.js +281 -281
  765. package/dist/esm/calcite-action-pad.entry.js +121 -121
  766. package/dist/esm/calcite-action.entry.js +143 -143
  767. package/dist/esm/calcite-alert.entry.js +223 -223
  768. package/dist/esm/calcite-avatar.entry.js +136 -136
  769. package/dist/esm/calcite-block_2.entry.js +276 -276
  770. package/dist/esm/calcite-button.entry.js +163 -163
  771. package/dist/esm/calcite-card.entry.js +127 -127
  772. package/dist/esm/calcite-checkbox.entry.js +126 -126
  773. package/dist/esm/calcite-chip.entry.js +122 -122
  774. package/dist/esm/calcite-color-picker_3.entry.js +1165 -1158
  775. package/dist/esm/calcite-combobox_3.entry.js +1014 -1010
  776. package/dist/esm/calcite-date-picker_4.entry.js +935 -935
  777. package/dist/esm/calcite-dropdown_3.entry.js +681 -679
  778. package/dist/esm/calcite-fab.entry.js +81 -81
  779. package/dist/esm/calcite-filter.entry.js +133 -133
  780. package/dist/esm/calcite-flow.entry.js +106 -106
  781. package/dist/esm/calcite-graph_2.entry.js +979 -979
  782. package/dist/esm/calcite-handle.entry.js +78 -78
  783. package/dist/esm/calcite-icon.entry.js +157 -157
  784. package/dist/esm/calcite-inline-editable.entry.js +231 -231
  785. package/dist/esm/calcite-input-date-picker.entry.js +540 -538
  786. package/dist/esm/calcite-input-message.entry.js +58 -58
  787. package/dist/esm/calcite-input-number.entry.js +523 -523
  788. package/dist/esm/calcite-input-text.entry.js +328 -328
  789. package/dist/esm/calcite-input-time-picker_2.entry.js +1090 -1090
  790. package/dist/esm/calcite-input.entry.js +627 -627
  791. package/dist/esm/calcite-label.entry.js +68 -68
  792. package/dist/esm/calcite-link.entry.js +66 -66
  793. package/dist/esm/calcite-list_3.entry.js +180 -180
  794. package/dist/esm/calcite-loader.entry.js +81 -81
  795. package/dist/esm/calcite-modal.entry.js +324 -312
  796. package/dist/esm/calcite-notice.entry.js +145 -145
  797. package/dist/esm/calcite-option_3.entry.js +317 -317
  798. package/dist/esm/calcite-pagination.entry.js +245 -245
  799. package/dist/esm/calcite-panel.entry.js +317 -317
  800. package/dist/esm/calcite-pick-list_3.entry.js +333 -333
  801. package/dist/esm/calcite-popover_2.entry.js +464 -461
  802. package/dist/esm/calcite-progress.entry.js +23 -23
  803. package/dist/esm/calcite-radio-button-group.entry.js +96 -96
  804. package/dist/esm/calcite-radio-button.entry.js +261 -261
  805. package/dist/esm/calcite-radio-group_2.entry.js +243 -243
  806. package/dist/esm/calcite-rating.entry.js +139 -139
  807. package/dist/esm/calcite-scrim.entry.js +41 -41
  808. package/dist/esm/calcite-shell_3.entry.js +375 -375
  809. package/dist/esm/calcite-sortable-list.entry.js +158 -158
  810. package/dist/esm/calcite-split-button.entry.js +91 -91
  811. package/dist/esm/calcite-stepper_2.entry.js +409 -409
  812. package/dist/esm/calcite-switch.entry.js +106 -106
  813. package/dist/esm/calcite-tab_4.entry.js +679 -679
  814. package/dist/esm/calcite-tile-select_2.entry.js +219 -219
  815. package/dist/esm/calcite-tile.entry.js +71 -71
  816. package/dist/esm/calcite-tip_3.entry.js +289 -289
  817. package/dist/esm/calcite-tooltip_2.entry.js +357 -355
  818. package/dist/esm/calcite-tree_2.entry.js +479 -479
  819. package/dist/esm/calcite-value-list_2.entry.js +408 -408
  820. package/dist/esm/calcite.js +5 -5
  821. package/dist/esm/{conditionalSlot-ecb2fb5b.js → conditionalSlot-9def1428.js} +37 -37
  822. package/dist/esm/{debounce-606ac892.js → debounce-d7adb5b5.js} +1 -1
  823. package/dist/esm/{dom-ad5fd630.js → dom-a762d6de.js} +165 -165
  824. package/dist/esm/{filter-a04e9337.js → filter-3357418b.js} +34 -34
  825. package/dist/esm/{floating-ui-1570beec.js → floating-ui-ae7423f2.js} +179 -177
  826. package/dist/esm/{form-15b335c2.js → form-e49dd288.js} +215 -215
  827. package/dist/esm/{guid-44185ff2.js → guid-979aa261.js} +12 -12
  828. package/dist/esm/{index-5fd0c41c.js → index-ebacd58f.js} +1 -1
  829. package/dist/esm/index.js +1 -1
  830. package/dist/esm/{interactive-5e7f35f4.js → interactive-ee876f5b.js} +39 -39
  831. package/dist/esm/{interfaces-06face10.js → interfaces-d6e9d230.js} +7 -7
  832. package/dist/esm/{key-c11cbfbd.js → key-efdd4e0d.js} +4 -4
  833. package/dist/esm/{label-63e40550.js → label-d3d802aa.js} +118 -118
  834. package/dist/esm/loader.js +5 -5
  835. package/dist/esm/{locale-89a5125e.js → locale-6759d954.js} +244 -244
  836. package/dist/esm/{math-4dcd0dab.js → math-bb630b76.js} +12 -12
  837. package/dist/esm/{observers-04124e99.js → observers-78730da1.js} +18 -18
  838. package/dist/esm/{openCloseComponent-3ae9fbac.js → openCloseComponent-424d53d5.js} +44 -44
  839. package/dist/esm/polyfills/core-js.js +0 -0
  840. package/dist/esm/polyfills/dom.js +0 -0
  841. package/dist/esm/polyfills/es5-html-element.js +0 -0
  842. package/dist/esm/polyfills/index.js +0 -0
  843. package/dist/esm/polyfills/system.js +0 -0
  844. package/dist/esm/{resources-5cfb576c.js → resources-2468fbf7.js} +348 -348
  845. package/dist/esm/{resources-45d4ddd3.js → resources-323d7370.js} +11 -11
  846. package/dist/esm/{resources-1db69fa1.js → resources-3f24d3fc.js} +12 -12
  847. package/dist/esm/{resources-a691bf05.js → resources-5e0eb8be.js} +10 -10
  848. package/dist/esm/{resources-3f78fbe2.js → resources-9409c7c7.js} +251 -251
  849. package/dist/esm/{sortable.esm-ba484a10.js → sortable.esm-a7eceaf1.js} +1 -1
  850. package/dist/esm/{utils-46049675.js → utils-923ae7f9.js} +107 -107
  851. package/dist/esm-es5/ExpandToggle-87ab4f71.js +6 -0
  852. package/dist/esm-es5/{Heading-5c05676e.js → Heading-102fe57b.js} +2 -2
  853. package/dist/esm-es5/app-globals-67426734.js +6 -0
  854. package/dist/esm-es5/{array-d40ffe9a.js → array-f5e4a1f6.js} +1 -1
  855. package/dist/esm-es5/calcite-accordion_2.entry.js +2 -2
  856. package/dist/esm-es5/calcite-action-bar.entry.js +3 -3
  857. package/dist/esm-es5/calcite-action-group.entry.js +2 -2
  858. package/dist/esm-es5/calcite-action-menu.entry.js +2 -2
  859. package/dist/esm-es5/calcite-action-pad.entry.js +2 -2
  860. package/dist/esm-es5/calcite-action.entry.js +3 -3
  861. package/dist/esm-es5/calcite-alert.entry.js +2 -2
  862. package/dist/esm-es5/calcite-avatar.entry.js +2 -2
  863. package/dist/esm-es5/calcite-block_2.entry.js +2 -2
  864. package/dist/esm-es5/calcite-button.entry.js +2 -2
  865. package/dist/esm-es5/calcite-card.entry.js +2 -2
  866. package/dist/esm-es5/calcite-checkbox.entry.js +2 -2
  867. package/dist/esm-es5/calcite-chip.entry.js +3 -3
  868. package/dist/esm-es5/calcite-color-picker_3.entry.js +2 -2
  869. package/dist/esm-es5/calcite-combobox_3.entry.js +2 -2
  870. package/dist/esm-es5/calcite-date-picker_4.entry.js +2 -2
  871. package/dist/esm-es5/calcite-dropdown_3.entry.js +2 -2
  872. package/dist/esm-es5/calcite-fab.entry.js +2 -2
  873. package/dist/esm-es5/calcite-filter.entry.js +2 -2
  874. package/dist/esm-es5/calcite-flow.entry.js +2 -2
  875. package/dist/esm-es5/calcite-graph_2.entry.js +2 -2
  876. package/dist/esm-es5/calcite-handle.entry.js +2 -2
  877. package/dist/esm-es5/calcite-icon.entry.js +2 -2
  878. package/dist/esm-es5/calcite-inline-editable.entry.js +2 -2
  879. package/dist/esm-es5/calcite-input-date-picker.entry.js +2 -2
  880. package/dist/esm-es5/calcite-input-message.entry.js +2 -2
  881. package/dist/esm-es5/calcite-input-number.entry.js +2 -2
  882. package/dist/esm-es5/calcite-input-text.entry.js +2 -2
  883. package/dist/esm-es5/calcite-input-time-picker_2.entry.js +2 -2
  884. package/dist/esm-es5/calcite-input.entry.js +2 -2
  885. package/dist/esm-es5/calcite-label.entry.js +2 -2
  886. package/dist/esm-es5/calcite-link.entry.js +3 -3
  887. package/dist/esm-es5/calcite-list_3.entry.js +2 -2
  888. package/dist/esm-es5/calcite-loader.entry.js +2 -2
  889. package/dist/esm-es5/calcite-modal.entry.js +2 -2
  890. package/dist/esm-es5/calcite-notice.entry.js +3 -3
  891. package/dist/esm-es5/calcite-option_3.entry.js +2 -2
  892. package/dist/esm-es5/calcite-pagination.entry.js +2 -2
  893. package/dist/esm-es5/calcite-panel.entry.js +2 -2
  894. package/dist/esm-es5/calcite-pick-list_3.entry.js +2 -2
  895. package/dist/esm-es5/calcite-popover_2.entry.js +2 -2
  896. package/dist/esm-es5/calcite-progress.entry.js +2 -2
  897. package/dist/esm-es5/calcite-radio-button-group.entry.js +2 -2
  898. package/dist/esm-es5/calcite-radio-button.entry.js +2 -2
  899. package/dist/esm-es5/calcite-radio-group_2.entry.js +2 -2
  900. package/dist/esm-es5/calcite-rating.entry.js +3 -3
  901. package/dist/esm-es5/calcite-scrim.entry.js +2 -2
  902. package/dist/esm-es5/calcite-shell_3.entry.js +2 -2
  903. package/dist/esm-es5/calcite-sortable-list.entry.js +2 -2
  904. package/dist/esm-es5/calcite-split-button.entry.js +2 -2
  905. package/dist/esm-es5/calcite-stepper_2.entry.js +2 -2
  906. package/dist/esm-es5/calcite-switch.entry.js +2 -2
  907. package/dist/esm-es5/calcite-tab_4.entry.js +2 -2
  908. package/dist/esm-es5/calcite-tile-select_2.entry.js +2 -2
  909. package/dist/esm-es5/calcite-tile.entry.js +2 -2
  910. package/dist/esm-es5/calcite-tip_3.entry.js +2 -2
  911. package/dist/esm-es5/calcite-tooltip_2.entry.js +2 -2
  912. package/dist/esm-es5/calcite-tree_2.entry.js +2 -2
  913. package/dist/esm-es5/calcite-value-list_2.entry.js +2 -2
  914. package/dist/esm-es5/calcite.js +2 -2
  915. package/dist/esm-es5/{conditionalSlot-ecb2fb5b.js → conditionalSlot-9def1428.js} +2 -2
  916. package/dist/esm-es5/{debounce-606ac892.js → debounce-d7adb5b5.js} +1 -1
  917. package/dist/esm-es5/{dom-ad5fd630.js → dom-a762d6de.js} +2 -2
  918. package/dist/esm-es5/{filter-a04e9337.js → filter-3357418b.js} +2 -2
  919. package/dist/esm-es5/{floating-ui-1570beec.js → floating-ui-ae7423f2.js} +2 -2
  920. package/dist/esm-es5/{form-15b335c2.js → form-e49dd288.js} +2 -2
  921. package/dist/esm-es5/{guid-44185ff2.js → guid-979aa261.js} +1 -1
  922. package/dist/esm-es5/{index-5fd0c41c.js → index-ebacd58f.js} +1 -1
  923. package/dist/esm-es5/index.js +1 -1
  924. package/dist/esm-es5/{interactive-5e7f35f4.js → interactive-ee876f5b.js} +1 -1
  925. package/dist/esm-es5/{interfaces-06face10.js → interfaces-d6e9d230.js} +1 -1
  926. package/dist/esm-es5/{key-c11cbfbd.js → key-efdd4e0d.js} +1 -1
  927. package/dist/esm-es5/{label-63e40550.js → label-d3d802aa.js} +2 -2
  928. package/dist/esm-es5/loader.js +2 -2
  929. package/dist/esm-es5/{locale-89a5125e.js → locale-6759d954.js} +2 -2
  930. package/dist/esm-es5/{math-4dcd0dab.js → math-bb630b76.js} +1 -1
  931. package/dist/esm-es5/{observers-04124e99.js → observers-78730da1.js} +1 -1
  932. package/dist/esm-es5/{openCloseComponent-3ae9fbac.js → openCloseComponent-424d53d5.js} +1 -1
  933. package/dist/esm-es5/{resources-5cfb576c.js → resources-2468fbf7.js} +2 -2
  934. package/dist/esm-es5/{resources-45d4ddd3.js → resources-323d7370.js} +1 -1
  935. package/dist/esm-es5/{resources-1db69fa1.js → resources-3f24d3fc.js} +1 -1
  936. package/dist/esm-es5/{resources-a691bf05.js → resources-5e0eb8be.js} +1 -1
  937. package/dist/esm-es5/{resources-3f78fbe2.js → resources-9409c7c7.js} +2 -2
  938. package/dist/esm-es5/{sortable.esm-ba484a10.js → sortable.esm-a7eceaf1.js} +1 -1
  939. package/dist/esm-es5/{utils-46049675.js → utils-923ae7f9.js} +1 -1
  940. package/dist/extras/docs-json.json +340 -292
  941. package/dist/loader/cdn.js +1 -1
  942. package/dist/loader/index.cjs.js +1 -1
  943. package/dist/loader/index.es2017.js +1 -1
  944. package/dist/loader/index.js +1 -1
  945. package/dist/types/components/accordion/accordion.d.ts +44 -44
  946. package/dist/types/components/accordion/interfaces.d.ts +4 -4
  947. package/dist/types/components/accordion-item/accordion-item.d.ts +78 -78
  948. package/dist/types/components/accordion-item/interfaces.d.ts +11 -11
  949. package/dist/types/components/accordion-item/resources.d.ts +16 -16
  950. package/dist/types/components/action/action.d.ts +76 -76
  951. package/dist/types/components/action/resources.d.ts +13 -13
  952. package/dist/types/components/action-bar/action-bar.d.ts +81 -81
  953. package/dist/types/components/action-bar/resources.d.ts +11 -11
  954. package/dist/types/components/action-bar/utils.d.ts +21 -21
  955. package/dist/types/components/action-group/action-group.d.ts +43 -43
  956. package/dist/types/components/action-group/resources.d.ts +10 -10
  957. package/dist/types/components/action-menu/action-menu.d.ts +87 -87
  958. package/dist/types/components/action-menu/resources.d.ts +11 -11
  959. package/dist/types/components/action-pad/action-pad.d.ts +58 -58
  960. package/dist/types/components/action-pad/resources.d.ts +11 -11
  961. package/dist/types/components/alert/alert.d.ts +105 -105
  962. package/dist/types/components/alert/interfaces.d.ts +12 -12
  963. package/dist/types/components/alert/resources.d.ts +16 -16
  964. package/dist/types/components/avatar/avatar.d.ts +26 -26
  965. package/dist/types/components/avatar/utils.d.ts +20 -20
  966. package/dist/types/components/block/block.d.ts +97 -97
  967. package/dist/types/components/block/resources.d.ts +38 -38
  968. package/dist/types/components/block-section/block-section.d.ts +44 -44
  969. package/dist/types/components/block-section/interfaces.d.ts +1 -1
  970. package/dist/types/components/block-section/resources.d.ts +23 -23
  971. package/dist/types/components/button/button.d.ts +83 -83
  972. package/dist/types/components/button/interfaces.d.ts +4 -4
  973. package/dist/types/components/button/resources.d.ts +15 -15
  974. package/dist/types/components/card/card.d.ts +55 -55
  975. package/dist/types/components/card/resources.d.ts +21 -21
  976. package/dist/types/components/checkbox/checkbox.d.ts +78 -78
  977. package/dist/types/components/chip/chip.d.ts +56 -56
  978. package/dist/types/components/chip/interfaces.d.ts +1 -1
  979. package/dist/types/components/chip/resources.d.ts +16 -16
  980. package/dist/types/components/color-picker/color-picker.d.ts +275 -275
  981. package/dist/types/components/color-picker/interfaces.d.ts +27 -27
  982. package/dist/types/components/color-picker/resources.d.ts +101 -101
  983. package/dist/types/components/color-picker/utils.d.ts +33 -33
  984. package/dist/types/components/color-picker-hex-input/color-picker-hex-input.d.ts +58 -57
  985. package/dist/types/components/color-picker-hex-input/resources.d.ts +5 -5
  986. package/dist/types/components/color-picker-swatch/color-picker-swatch.d.ts +23 -23
  987. package/dist/types/components/color-picker-swatch/resources.d.ts +8 -8
  988. package/dist/types/components/combobox/combobox.d.ts +211 -211
  989. package/dist/types/components/combobox/interfaces.d.ts +6 -6
  990. package/dist/types/components/combobox/resources.d.ts +11 -11
  991. package/dist/types/components/combobox/utils.d.ts +6 -6
  992. package/dist/types/components/combobox-item/combobox-item.d.ts +60 -60
  993. package/dist/types/components/combobox-item/resources.d.ts +12 -12
  994. package/dist/types/components/combobox-item-group/combobox-item-group.d.ts +17 -17
  995. package/dist/types/components/combobox-item-group/resources.d.ts +5 -5
  996. package/dist/types/components/date-picker/date-picker.d.ts +161 -161
  997. package/dist/types/components/date-picker/interfaces.d.ts +4 -4
  998. package/dist/types/components/date-picker/resources.d.ts +6 -6
  999. package/dist/types/components/date-picker/utils.d.ts +48 -48
  1000. package/dist/types/components/date-picker-day/date-picker-day.d.ts +49 -49
  1001. package/dist/types/components/date-picker-month/date-picker-month.d.ts +125 -125
  1002. package/dist/types/components/date-picker-month-header/date-picker-month-header.d.ts +68 -68
  1003. package/dist/types/components/date-picker-month-header/resources.d.ts +1 -1
  1004. package/dist/types/components/dropdown/dropdown.d.ts +136 -136
  1005. package/dist/types/components/dropdown/interfaces.d.ts +9 -9
  1006. package/dist/types/components/dropdown/resources.d.ts +6 -6
  1007. package/dist/types/components/dropdown-group/dropdown-group.d.ts +34 -34
  1008. package/dist/types/components/dropdown-group/interfaces.d.ts +5 -5
  1009. package/dist/types/components/dropdown-group/resources.d.ts +5 -5
  1010. package/dist/types/components/dropdown-item/dropdown-item.d.ts +63 -63
  1011. package/dist/types/components/dropdown-item/resources.d.ts +9 -9
  1012. package/dist/types/components/fab/fab.d.ts +50 -50
  1013. package/dist/types/components/fab/resources.d.ts +6 -6
  1014. package/dist/types/components/filter/filter.d.ts +59 -59
  1015. package/dist/types/components/filter/resources.d.ts +13 -13
  1016. package/dist/types/components/flow/flow.d.ts +22 -22
  1017. package/dist/types/components/flow/interfaces.d.ts +1 -1
  1018. package/dist/types/components/flow/resources.d.ts +5 -5
  1019. package/dist/types/components/functional/ExpandToggle.d.ts +19 -19
  1020. package/dist/types/components/functional/Heading.d.ts +9 -9
  1021. package/dist/types/components/graph/graph.d.ts +28 -28
  1022. package/dist/types/components/graph/interfaces.d.ts +27 -27
  1023. package/dist/types/components/graph/util.d.ts +29 -29
  1024. package/dist/types/components/handle/handle.d.ts +25 -25
  1025. package/dist/types/components/handle/resources.d.ts +7 -7
  1026. package/dist/types/components/icon/icon.d.ts +32 -32
  1027. package/dist/types/components/icon/resources.d.ts +4 -4
  1028. package/dist/types/components/icon/utils.d.ts +30 -30
  1029. package/dist/types/components/inline-editable/inline-editable.d.ts +79 -79
  1030. package/dist/types/components/inline-editable/resources.d.ts +14 -14
  1031. package/dist/types/components/input/input.d.ts +239 -239
  1032. package/dist/types/components/input/interfaces.d.ts +1 -1
  1033. package/dist/types/components/input/resources.d.ts +30 -30
  1034. package/dist/types/components/input-date-picker/input-date-picker.d.ts +234 -234
  1035. package/dist/types/components/input-date-picker/resources.d.ts +4 -4
  1036. package/dist/types/components/input-message/input-message.d.ts +31 -31
  1037. package/dist/types/components/input-message/interfaces.d.ts +5 -5
  1038. package/dist/types/components/input-number/input-number.d.ts +219 -219
  1039. package/dist/types/components/input-number/interfaces.d.ts +1 -1
  1040. package/dist/types/components/input-number/resources.d.ts +22 -22
  1041. package/dist/types/components/input-text/input-text.d.ts +171 -171
  1042. package/dist/types/components/input-text/resources.d.ts +19 -19
  1043. package/dist/types/components/input-time-picker/input-time-picker.d.ts +112 -112
  1044. package/dist/types/components/interfaces.d.ts +13 -13
  1045. package/dist/types/components/label/label.d.ts +44 -44
  1046. package/dist/types/components/label/resources.d.ts +3 -3
  1047. package/dist/types/components/link/link.d.ts +37 -37
  1048. package/dist/types/components/list/list.d.ts +23 -23
  1049. package/dist/types/components/list/resources.d.ts +3 -3
  1050. package/dist/types/components/list-item/list-item.d.ts +42 -42
  1051. package/dist/types/components/list-item/resources.d.ts +20 -20
  1052. package/dist/types/components/list-item-group/list-item-group.d.ts +18 -18
  1053. package/dist/types/components/list-item-group/resources.d.ts +5 -5
  1054. package/dist/types/components/loader/loader.d.ts +33 -33
  1055. package/dist/types/components/modal/interfaces.d.ts +1 -1
  1056. package/dist/types/components/modal/modal.d.ts +125 -119
  1057. package/dist/types/components/modal/resources.d.ts +30 -29
  1058. package/dist/types/components/notice/notice.d.ts +72 -72
  1059. package/dist/types/components/notice/resources.d.ts +16 -16
  1060. package/dist/types/components/option/option.d.ts +32 -32
  1061. package/dist/types/components/option-group/option-group.d.ts +20 -20
  1062. package/dist/types/components/pagination/pagination.d.ts +61 -61
  1063. package/dist/types/components/pagination/resources.d.ts +14 -14
  1064. package/dist/types/components/panel/panel.d.ts +163 -163
  1065. package/dist/types/components/panel/resources.d.ts +43 -43
  1066. package/dist/types/components/pick-list/pick-list.d.ts +81 -81
  1067. package/dist/types/components/pick-list/resources.d.ts +14 -14
  1068. package/dist/types/components/pick-list/shared-list-logic.d.ts +33 -33
  1069. package/dist/types/components/pick-list/shared-list-render.d.ts +20 -20
  1070. package/dist/types/components/pick-list-group/pick-list-group.d.ts +21 -21
  1071. package/dist/types/components/pick-list-group/resources.d.ts +9 -9
  1072. package/dist/types/components/pick-list-item/pick-list-item.d.ts +114 -114
  1073. package/dist/types/components/pick-list-item/resources.d.ts +26 -26
  1074. package/dist/types/components/popover/PopoverManager.d.ts +13 -13
  1075. package/dist/types/components/popover/popover.d.ts +150 -150
  1076. package/dist/types/components/popover/resources.d.ts +19 -19
  1077. package/dist/types/components/popover-manager/popover-manager.d.ts +24 -24
  1078. package/dist/types/components/progress/progress.d.ts +15 -15
  1079. package/dist/types/components/radio-button/radio-button.d.ts +101 -101
  1080. package/dist/types/components/radio-button/resources.d.ts +3 -3
  1081. package/dist/types/components/radio-button-group/radio-button-group.d.ts +34 -34
  1082. package/dist/types/components/radio-group/interfaces.d.ts +1 -1
  1083. package/dist/types/components/radio-group/radio-group.d.ts +61 -61
  1084. package/dist/types/components/radio-group-item/radio-group-item.d.ts +25 -25
  1085. package/dist/types/components/radio-group-item/resources.d.ts +6 -6
  1086. package/dist/types/components/rating/rating.d.ts +68 -68
  1087. package/dist/types/components/rating/resources.d.ts +4 -4
  1088. package/dist/types/components/scrim/resources.d.ts +7 -7
  1089. package/dist/types/components/scrim/scrim.d.ts +18 -18
  1090. package/dist/types/components/select/resources.d.ts +5 -5
  1091. package/dist/types/components/select/select.d.ts +77 -77
  1092. package/dist/types/components/shell/resources.d.ts +16 -16
  1093. package/dist/types/components/shell/shell.d.ts +26 -26
  1094. package/dist/types/components/shell-center-row/resources.d.ts +7 -7
  1095. package/dist/types/components/shell-center-row/shell-center-row.d.ts +25 -25
  1096. package/dist/types/components/shell-panel/resources.d.ts +15 -15
  1097. package/dist/types/components/shell-panel/shell-panel.d.ts +72 -72
  1098. package/dist/types/components/slider/slider.d.ts +218 -218
  1099. package/dist/types/components/sortable-list/resources.d.ts +6 -6
  1100. package/dist/types/components/sortable-list/sortable-list.d.ts +52 -52
  1101. package/dist/types/components/split-button/resources.d.ts +8 -8
  1102. package/dist/types/components/split-button/split-button.d.ts +71 -71
  1103. package/dist/types/components/stepper/interfaces.d.ts +9 -9
  1104. package/dist/types/components/stepper/stepper.d.ts +64 -64
  1105. package/dist/types/components/stepper-item/stepper-item.d.ts +94 -94
  1106. package/dist/types/components/switch/switch.d.ts +49 -49
  1107. package/dist/types/components/tab/interfaces.d.ts +6 -6
  1108. package/dist/types/components/tab/tab.d.ts +53 -53
  1109. package/dist/types/components/tab-nav/tab-nav.d.ts +87 -87
  1110. package/dist/types/components/tab-title/tab-title.d.ts +112 -112
  1111. package/dist/types/components/tabs/interfaces.d.ts +3 -3
  1112. package/dist/types/components/tabs/resources.d.ts +3 -3
  1113. package/dist/types/components/tabs/tabs.d.ts +67 -67
  1114. package/dist/types/components/tile/resources.d.ts +4 -4
  1115. package/dist/types/components/tile/tile.d.ts +39 -39
  1116. package/dist/types/components/tile-select/interfaces.d.ts +1 -1
  1117. package/dist/types/components/tile-select/resources.d.ts +16 -16
  1118. package/dist/types/components/tile-select/tile-select.d.ts +59 -59
  1119. package/dist/types/components/tile-select-group/interfaces.d.ts +1 -1
  1120. package/dist/types/components/tile-select-group/tile-select-group.d.ts +15 -15
  1121. package/dist/types/components/time-picker/resources.d.ts +43 -43
  1122. package/dist/types/components/time-picker/time-picker.d.ts +165 -165
  1123. package/dist/types/components/tip/resources.d.ts +20 -20
  1124. package/dist/types/components/tip/tip.d.ts +47 -47
  1125. package/dist/types/components/tip-group/tip-group.d.ts +12 -12
  1126. package/dist/types/components/tip-manager/resources.d.ts +26 -26
  1127. package/dist/types/components/tip-manager/tip-manager.d.ts +71 -71
  1128. package/dist/types/components/tooltip/TooltipManager.d.ts +28 -28
  1129. package/dist/types/components/tooltip/resources.d.ts +6 -6
  1130. package/dist/types/components/tooltip/tooltip.d.ts +64 -64
  1131. package/dist/types/components/tooltip-manager/tooltip-manager.d.ts +14 -14
  1132. package/dist/types/components/tree/interfaces.d.ts +11 -11
  1133. package/dist/types/components/tree/tree.d.ts +46 -46
  1134. package/dist/types/components/tree-item/interfaces.d.ts +10 -10
  1135. package/dist/types/components/tree-item/resources.d.ts +18 -18
  1136. package/dist/types/components/tree-item/tree-item.d.ts +74 -74
  1137. package/dist/types/components/value-list/interfaces.d.ts +1 -1
  1138. package/dist/types/components/value-list/resources.d.ts +10 -10
  1139. package/dist/types/components/value-list/utils.d.ts +8 -8
  1140. package/dist/types/components/value-list/value-list.d.ts +126 -126
  1141. package/dist/types/components/value-list-item/resources.d.ts +7 -7
  1142. package/dist/types/components/value-list-item/value-list-item.d.ts +84 -84
  1143. package/dist/types/components.d.ts +46 -46
  1144. package/dist/types/utils/array.d.ts +1 -1
  1145. package/dist/types/utils/conditionalSlot.d.ts +21 -21
  1146. package/dist/types/utils/date.d.ts +102 -102
  1147. package/dist/types/utils/dom.d.ts +62 -62
  1148. package/dist/types/utils/filter.d.ts +1 -1
  1149. package/dist/types/utils/floating-ui.d.ts +117 -109
  1150. package/dist/types/utils/form.d.ts +140 -140
  1151. package/dist/types/utils/globalAttributes.d.ts +40 -40
  1152. package/dist/types/utils/globalScript.d.ts +6 -6
  1153. package/dist/types/utils/guid.d.ts +1 -1
  1154. package/dist/types/utils/interactive.d.ts +31 -31
  1155. package/dist/types/utils/key.d.ts +3 -3
  1156. package/dist/types/utils/label.d.ts +48 -48
  1157. package/dist/types/utils/locale.d.ts +7 -7
  1158. package/dist/types/utils/math.d.ts +2 -2
  1159. package/dist/types/utils/number.d.ts +23 -23
  1160. package/dist/types/utils/observers.d.ts +13 -13
  1161. package/dist/types/utils/openCloseComponent.d.ts +50 -50
  1162. package/dist/types/utils/resources.d.ts +18 -18
  1163. package/dist/types/utils/theme.d.ts +4 -4
  1164. package/dist/types/utils/time.d.ts +29 -29
  1165. package/hydrate/index.js +21917 -21875
  1166. package/package.json +5 -5
  1167. package/readme.md +2 -2
  1168. package/dist/calcite/p-0330afe9.entry.js +0 -6
  1169. package/dist/calcite/p-22c0a92c.system.entry.js +0 -6
  1170. package/dist/calcite/p-2353cf75.system.js +0 -6
  1171. package/dist/calcite/p-305499ae.entry.js +0 -6
  1172. package/dist/calcite/p-3229244a.system.entry.js +0 -6
  1173. package/dist/calcite/p-348880ed.entry.js +0 -6
  1174. package/dist/calcite/p-41b31d8a.entry.js +0 -6
  1175. package/dist/calcite/p-59ab1ea7.system.entry.js +0 -6
  1176. package/dist/calcite/p-5ee75672.entry.js +0 -6
  1177. package/dist/calcite/p-6519a510.entry.js +0 -6
  1178. package/dist/calcite/p-7836e97f.js +0 -6
  1179. package/dist/calcite/p-809291a4.js +0 -6
  1180. package/dist/calcite/p-8bec0f20.entry.js +0 -6
  1181. package/dist/calcite/p-938a7e19.js +0 -6
  1182. package/dist/calcite/p-9a107c5b.system.entry.js +0 -6
  1183. package/dist/calcite/p-a75b8779.entry.js +0 -6
  1184. package/dist/calcite/p-a8a6b848.system.entry.js +0 -6
  1185. package/dist/calcite/p-b7e4822f.system.entry.js +0 -6
  1186. package/dist/calcite/p-b9cd387a.system.js +0 -6
  1187. package/dist/calcite/p-bf072e3e.entry.js +0 -6
  1188. package/dist/calcite/p-c090491e.system.js +0 -6
  1189. package/dist/calcite/p-d6582e2b.js +0 -6
  1190. package/dist/calcite/p-eb2b79d4.system.entry.js +0 -6
  1191. package/dist/calcite/p-f5ffbb61.system.js +0 -6
  1192. package/dist/calcite/p-f7ce0989.entry.js +0 -6
  1193. package/dist/calcite/p-fa4e05f6.system.entry.js +0 -6
  1194. package/dist/esm-es5/ExpandToggle-dc3e3d23.js +0 -6
  1195. package/dist/esm-es5/app-globals-f3d4272a.js +0 -6
@@ -1,999 +1,999 @@
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.92
4
+ * v1.0.0-beta.93
5
5
  */
6
6
  'use strict';
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- const index = require('./index-d1f4f7de.js');
11
- const guid = require('./guid-08ecb207.js');
12
- const observers = require('./observers-4f40445c.js');
13
- const dom = require('./dom-e9f09e29.js');
14
- const math = require('./math-f748d678.js');
15
- const label = require('./label-387b4157.js');
16
- const form = require('./form-40bae29c.js');
17
- const interactive = require('./interactive-7fa78804.js');
18
- const key = require('./key-1902890d.js');
19
- require('./resources-42b4d672.js');
10
+ const index = require('./index-afcc8e68.js');
11
+ const guid = require('./guid-d157229c.js');
12
+ const observers = require('./observers-70ca1a5f.js');
13
+ const dom = require('./dom-9d34fe95.js');
14
+ const math = require('./math-95aadcfc.js');
15
+ const label = require('./label-c5d6d6f9.js');
16
+ const form = require('./form-753af7bf.js');
17
+ const interactive = require('./interactive-4157d28f.js');
18
+ const key = require('./key-7da11b52.js');
19
+ require('./resources-96e885bd.js');
20
20
 
21
- /**
22
- * Calculate slope of the tangents
23
- * uses Steffen interpolation as it's monotonic
24
- * http://jrwalsh1.github.io/posts/interpolations/
25
- *
26
- * @param p0
27
- * @param p1
28
- * @param p2
29
- */
30
- function slope(p0, p1, p2) {
31
- const dx = p1[0] - p0[0];
32
- const dx1 = p2[0] - p1[0];
33
- const dy = p1[1] - p0[1];
34
- const dy1 = p2[1] - p1[1];
35
- const m = dy / (dx || (dx1 < 0 && 0));
36
- const m1 = dy1 / (dx1 || (dx < 0 && 0));
37
- const p = (m * dx1 + m1 * dx) / (dx + dx1);
38
- return (Math.sign(m) + Math.sign(m1)) * Math.min(Math.abs(m), Math.abs(m1), 0.5 * Math.abs(p)) || 0;
39
- }
40
- /**
41
- * Calculate slope for just one tangent (single-sided)
42
- *
43
- * @param p0
44
- * @param p1
45
- * @param m
46
- */
47
- function slopeSingle(p0, p1, m) {
48
- const dx = p1[0] - p0[0];
49
- const dy = p1[1] - p0[1];
50
- return dx ? ((3 * dy) / dx - m) / 2 : m;
51
- }
52
- /**
53
- * Given two points and their tangent slopes,
54
- * calculate the bezier handle coordinates and return draw command.
55
- *
56
- * Translates Hermite Spline to Beziér curve:
57
- * stackoverflow.com/questions/42574940/
58
- *
59
- * @param p0
60
- * @param p1
61
- * @param m0
62
- * @param m1
63
- * @param t
64
- */
65
- function bezier(p0, p1, m0, m1, t) {
66
- const [x0, y0] = p0;
67
- const [x1, y1] = p1;
68
- const dx = (x1 - x0) / 3;
69
- const h1 = t([x0 + dx, y0 + dx * m0]).join(",");
70
- const h2 = t([x1 - dx, y1 - dx * m1]).join(",");
71
- const p = t([x1, y1]).join(",");
72
- return `C ${h1} ${h2} ${p}`;
73
- }
74
- /**
75
- * Generate a function which will translate a point
76
- * from the data coordinate space to svg viewbox oriented pixels
77
- *
78
- * @param root0
79
- * @param root0.width
80
- * @param root0.height
81
- * @param root0.min
82
- * @param root0.max
83
- */
84
- function translate({ width, height, min, max }) {
85
- const rangeX = max[0] - min[0];
86
- const rangeY = max[1] - min[1];
87
- return (point) => {
88
- const x = ((point[0] - min[0]) / rangeX) * width;
89
- const y = height - (point[1] / rangeY) * height;
90
- return [x, y];
91
- };
92
- }
93
- /**
94
- * Get the min and max values from the dataset
95
- *
96
- * @param data
97
- */
98
- function range(data) {
99
- const [startX, startY] = data[0];
100
- const min = [startX, startY];
101
- const max = [startX, startY];
102
- return data.reduce(({ min, max }, [x, y]) => ({
103
- min: [Math.min(min[0], x), Math.min(min[1], y)],
104
- max: [Math.max(max[0], x), Math.max(max[1], y)]
105
- }), { min, max });
106
- }
107
- /**
108
- * Generate drawing commands for an area graph
109
- * returns a string can can be passed directly to a path element's `d` attribute
110
- *
111
- * @param root0
112
- * @param root0.data
113
- * @param root0.min
114
- * @param root0.max
115
- * @param root0.t
116
- */
117
- function area({ data, min, max, t }) {
118
- if (data.length === 0) {
119
- return "";
120
- }
121
- // important points for beginning and ending the path
122
- const [startX, startY] = t(data[0]);
123
- const [minX, minY] = t(min);
124
- const [maxX] = t(max);
125
- // keep track of previous slope/points
126
- let m;
127
- let p0;
128
- let p1;
129
- // iterate over data points, calculating command for each
130
- const commands = data.reduce((acc, point, i) => {
131
- p0 = data[i - 2];
132
- p1 = data[i - 1];
133
- if (i > 1) {
134
- const m1 = slope(p0, p1, point);
135
- const m0 = m === undefined ? slopeSingle(p0, p1, m1) : m;
136
- const command = bezier(p0, p1, m0, m1, t);
137
- m = m1;
138
- return `${acc} ${command}`;
139
- }
140
- return acc;
141
- }, `M ${minX},${minY} L ${minX},${startY} L ${startX},${startY}`);
142
- // close the path
143
- const last = data[data.length - 1];
144
- const end = bezier(p1, last, m, slopeSingle(p1, last, m), t);
145
- return `${commands} ${end} L ${maxX},${minY} Z`;
21
+ /**
22
+ * Calculate slope of the tangents
23
+ * uses Steffen interpolation as it's monotonic
24
+ * http://jrwalsh1.github.io/posts/interpolations/
25
+ *
26
+ * @param p0
27
+ * @param p1
28
+ * @param p2
29
+ */
30
+ function slope(p0, p1, p2) {
31
+ const dx = p1[0] - p0[0];
32
+ const dx1 = p2[0] - p1[0];
33
+ const dy = p1[1] - p0[1];
34
+ const dy1 = p2[1] - p1[1];
35
+ const m = dy / (dx || (dx1 < 0 && 0));
36
+ const m1 = dy1 / (dx1 || (dx < 0 && 0));
37
+ const p = (m * dx1 + m1 * dx) / (dx + dx1);
38
+ return (Math.sign(m) + Math.sign(m1)) * Math.min(Math.abs(m), Math.abs(m1), 0.5 * Math.abs(p)) || 0;
39
+ }
40
+ /**
41
+ * Calculate slope for just one tangent (single-sided)
42
+ *
43
+ * @param p0
44
+ * @param p1
45
+ * @param m
46
+ */
47
+ function slopeSingle(p0, p1, m) {
48
+ const dx = p1[0] - p0[0];
49
+ const dy = p1[1] - p0[1];
50
+ return dx ? ((3 * dy) / dx - m) / 2 : m;
51
+ }
52
+ /**
53
+ * Given two points and their tangent slopes,
54
+ * calculate the bezier handle coordinates and return draw command.
55
+ *
56
+ * Translates Hermite Spline to Beziér curve:
57
+ * stackoverflow.com/questions/42574940/
58
+ *
59
+ * @param p0
60
+ * @param p1
61
+ * @param m0
62
+ * @param m1
63
+ * @param t
64
+ */
65
+ function bezier(p0, p1, m0, m1, t) {
66
+ const [x0, y0] = p0;
67
+ const [x1, y1] = p1;
68
+ const dx = (x1 - x0) / 3;
69
+ const h1 = t([x0 + dx, y0 + dx * m0]).join(",");
70
+ const h2 = t([x1 - dx, y1 - dx * m1]).join(",");
71
+ const p = t([x1, y1]).join(",");
72
+ return `C ${h1} ${h2} ${p}`;
73
+ }
74
+ /**
75
+ * Generate a function which will translate a point
76
+ * from the data coordinate space to svg viewbox oriented pixels
77
+ *
78
+ * @param root0
79
+ * @param root0.width
80
+ * @param root0.height
81
+ * @param root0.min
82
+ * @param root0.max
83
+ */
84
+ function translate({ width, height, min, max }) {
85
+ const rangeX = max[0] - min[0];
86
+ const rangeY = max[1] - min[1];
87
+ return (point) => {
88
+ const x = ((point[0] - min[0]) / rangeX) * width;
89
+ const y = height - (point[1] / rangeY) * height;
90
+ return [x, y];
91
+ };
92
+ }
93
+ /**
94
+ * Get the min and max values from the dataset
95
+ *
96
+ * @param data
97
+ */
98
+ function range(data) {
99
+ const [startX, startY] = data[0];
100
+ const min = [startX, startY];
101
+ const max = [startX, startY];
102
+ return data.reduce(({ min, max }, [x, y]) => ({
103
+ min: [Math.min(min[0], x), Math.min(min[1], y)],
104
+ max: [Math.max(max[0], x), Math.max(max[1], y)]
105
+ }), { min, max });
106
+ }
107
+ /**
108
+ * Generate drawing commands for an area graph
109
+ * returns a string can can be passed directly to a path element's `d` attribute
110
+ *
111
+ * @param root0
112
+ * @param root0.data
113
+ * @param root0.min
114
+ * @param root0.max
115
+ * @param root0.t
116
+ */
117
+ function area({ data, min, max, t }) {
118
+ if (data.length === 0) {
119
+ return "";
120
+ }
121
+ // important points for beginning and ending the path
122
+ const [startX, startY] = t(data[0]);
123
+ const [minX, minY] = t(min);
124
+ const [maxX] = t(max);
125
+ // keep track of previous slope/points
126
+ let m;
127
+ let p0;
128
+ let p1;
129
+ // iterate over data points, calculating command for each
130
+ const commands = data.reduce((acc, point, i) => {
131
+ p0 = data[i - 2];
132
+ p1 = data[i - 1];
133
+ if (i > 1) {
134
+ const m1 = slope(p0, p1, point);
135
+ const m0 = m === undefined ? slopeSingle(p0, p1, m1) : m;
136
+ const command = bezier(p0, p1, m0, m1, t);
137
+ m = m1;
138
+ return `${acc} ${command}`;
139
+ }
140
+ return acc;
141
+ }, `M ${minX},${minY} L ${minX},${startY} L ${startX},${startY}`);
142
+ // close the path
143
+ const last = data[data.length - 1];
144
+ const end = bezier(p1, last, m, slopeSingle(p1, last, m), t);
145
+ return `${commands} ${end} L ${maxX},${minY} Z`;
146
146
  }
147
147
 
148
148
  const graphCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:block;block-size:100%}.svg{fill:currentColor;stroke:transparent;margin:0px;display:block;block-size:100%;inline-size:100%;padding:0px}.svg .graph-path--highlight{fill:var(--calcite-ui-brand);opacity:0.5}";
149
149
 
150
- const Graph = class {
151
- constructor(hostRef) {
152
- index.registerInstance(this, hostRef);
153
- //--------------------------------------------------------------------------
154
- //
155
- // Properties
156
- //
157
- //--------------------------------------------------------------------------
158
- /**
159
- * Array of tuples describing a single data point ([x, y])
160
- * These data points should be sorted by x-axis value
161
- */
162
- this.data = [];
163
- //--------------------------------------------------------------------------
164
- //
165
- // Private State/Props
166
- //
167
- //--------------------------------------------------------------------------
168
- this.graphId = `calcite-graph-${guid.guid()}`;
169
- this.resizeObserver = observers.createObserver("resize", () => index.forceUpdate(this));
170
- }
171
- //--------------------------------------------------------------------------
172
- //
173
- // Lifecycle
174
- //
175
- //--------------------------------------------------------------------------
176
- connectedCallback() {
177
- var _a;
178
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el);
179
- }
180
- disconnectedCallback() {
181
- var _a;
182
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
183
- }
184
- render() {
185
- const { data, colorStops, el, highlightMax, highlightMin, min, max } = this;
186
- const id = this.graphId;
187
- const { clientHeight: height, clientWidth: width } = el;
188
- // if we have no data, return empty svg
189
- if (!data || data.length === 0) {
190
- return (index.h("svg", { class: "svg", height: height, preserveAspectRatio: "none", viewBox: `0 0 ${width} ${height}`, width: width }));
191
- }
192
- const { min: rangeMin, max: rangeMax } = range(data);
193
- let currentMin = rangeMin;
194
- let currentMax = rangeMax;
195
- if (min < rangeMin[0] || min > rangeMin[0]) {
196
- currentMin = [min, 0];
197
- }
198
- if (max > rangeMax[0] || max < rangeMax[0]) {
199
- currentMax = [max, rangeMax[1]];
200
- }
201
- const t = translate({ min: currentMin, max: currentMax, width, height });
202
- const [hMinX] = t([highlightMin, currentMax[1]]);
203
- const [hMaxX] = t([highlightMax, currentMax[1]]);
204
- const areaPath = area({ data, min: rangeMin, max: rangeMax, t });
205
- const fill = colorStops ? `url(#linear-gradient-${id})` : undefined;
206
- return (index.h("svg", { class: "svg", height: height, preserveAspectRatio: "none", viewBox: `0 0 ${width} ${height}`, width: width }, colorStops ? (index.h("defs", null, index.h("linearGradient", { id: `linear-gradient-${id}`, x1: "0", x2: "1", y1: "0", y2: "0" }, colorStops.map(({ offset, color, opacity }) => (index.h("stop", { offset: `${offset * 100}%`, "stop-color": color, "stop-opacity": opacity })))))) : null, highlightMin !== undefined ? ([
207
- index.h("mask", { height: "100%", id: `${id}1`, width: "100%", x: "0%", y: "0%" }, index.h("path", { d: `
208
- M 0,0
209
- L ${hMinX - 1},0
210
- L ${hMinX - 1},${height}
211
- L 0,${height}
212
- Z
213
- `, fill: "white" })),
214
- index.h("mask", { height: "100%", id: `${id}2`, width: "100%", x: "0%", y: "0%" }, index.h("path", { d: `
215
- M ${hMinX + 1},0
216
- L ${hMaxX - 1},0
217
- L ${hMaxX - 1},${height}
218
- L ${hMinX + 1}, ${height}
219
- Z
220
- `, fill: "white" })),
221
- index.h("mask", { height: "100%", id: `${id}3`, width: "100%", x: "0%", y: "0%" }, index.h("path", { d: `
222
- M ${hMaxX + 1},0
223
- L ${width},0
224
- L ${width},${height}
225
- L ${hMaxX + 1}, ${height}
226
- Z
227
- `, fill: "white" })),
228
- index.h("path", { class: "graph-path", d: areaPath, fill: fill, mask: `url(#${id}1)` }),
229
- index.h("path", { class: "graph-path--highlight", d: areaPath, fill: fill, mask: `url(#${id}2)` }),
230
- index.h("path", { class: "graph-path", d: areaPath, fill: fill, mask: `url(#${id}3)` })
231
- ]) : (index.h("path", { class: "graph-path", d: areaPath, fill: fill }))));
232
- }
233
- get el() { return index.getElement(this); }
234
- };
150
+ const Graph = class {
151
+ constructor(hostRef) {
152
+ index.registerInstance(this, hostRef);
153
+ //--------------------------------------------------------------------------
154
+ //
155
+ // Properties
156
+ //
157
+ //--------------------------------------------------------------------------
158
+ /**
159
+ * Array of tuples describing a single data point ([x, y])
160
+ * These data points should be sorted by x-axis value
161
+ */
162
+ this.data = [];
163
+ //--------------------------------------------------------------------------
164
+ //
165
+ // Private State/Props
166
+ //
167
+ //--------------------------------------------------------------------------
168
+ this.graphId = `calcite-graph-${guid.guid()}`;
169
+ this.resizeObserver = observers.createObserver("resize", () => index.forceUpdate(this));
170
+ }
171
+ //--------------------------------------------------------------------------
172
+ //
173
+ // Lifecycle
174
+ //
175
+ //--------------------------------------------------------------------------
176
+ connectedCallback() {
177
+ var _a;
178
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el);
179
+ }
180
+ disconnectedCallback() {
181
+ var _a;
182
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
183
+ }
184
+ render() {
185
+ const { data, colorStops, el, highlightMax, highlightMin, min, max } = this;
186
+ const id = this.graphId;
187
+ const { clientHeight: height, clientWidth: width } = el;
188
+ // if we have no data, return empty svg
189
+ if (!data || data.length === 0) {
190
+ return (index.h("svg", { class: "svg", height: height, preserveAspectRatio: "none", viewBox: `0 0 ${width} ${height}`, width: width }));
191
+ }
192
+ const { min: rangeMin, max: rangeMax } = range(data);
193
+ let currentMin = rangeMin;
194
+ let currentMax = rangeMax;
195
+ if (min < rangeMin[0] || min > rangeMin[0]) {
196
+ currentMin = [min, 0];
197
+ }
198
+ if (max > rangeMax[0] || max < rangeMax[0]) {
199
+ currentMax = [max, rangeMax[1]];
200
+ }
201
+ const t = translate({ min: currentMin, max: currentMax, width, height });
202
+ const [hMinX] = t([highlightMin, currentMax[1]]);
203
+ const [hMaxX] = t([highlightMax, currentMax[1]]);
204
+ const areaPath = area({ data, min: rangeMin, max: rangeMax, t });
205
+ const fill = colorStops ? `url(#linear-gradient-${id})` : undefined;
206
+ return (index.h("svg", { class: "svg", height: height, preserveAspectRatio: "none", viewBox: `0 0 ${width} ${height}`, width: width }, colorStops ? (index.h("defs", null, index.h("linearGradient", { id: `linear-gradient-${id}`, x1: "0", x2: "1", y1: "0", y2: "0" }, colorStops.map(({ offset, color, opacity }) => (index.h("stop", { offset: `${offset * 100}%`, "stop-color": color, "stop-opacity": opacity })))))) : null, highlightMin !== undefined ? ([
207
+ index.h("mask", { height: "100%", id: `${id}1`, width: "100%", x: "0%", y: "0%" }, index.h("path", { d: `
208
+ M 0,0
209
+ L ${hMinX - 1},0
210
+ L ${hMinX - 1},${height}
211
+ L 0,${height}
212
+ Z
213
+ `, fill: "white" })),
214
+ index.h("mask", { height: "100%", id: `${id}2`, width: "100%", x: "0%", y: "0%" }, index.h("path", { d: `
215
+ M ${hMinX + 1},0
216
+ L ${hMaxX - 1},0
217
+ L ${hMaxX - 1},${height}
218
+ L ${hMinX + 1}, ${height}
219
+ Z
220
+ `, fill: "white" })),
221
+ index.h("mask", { height: "100%", id: `${id}3`, width: "100%", x: "0%", y: "0%" }, index.h("path", { d: `
222
+ M ${hMaxX + 1},0
223
+ L ${width},0
224
+ L ${width},${height}
225
+ L ${hMaxX + 1}, ${height}
226
+ Z
227
+ `, fill: "white" })),
228
+ index.h("path", { class: "graph-path", d: areaPath, fill: fill, mask: `url(#${id}1)` }),
229
+ index.h("path", { class: "graph-path--highlight", d: areaPath, fill: fill, mask: `url(#${id}2)` }),
230
+ index.h("path", { class: "graph-path", d: areaPath, fill: fill, mask: `url(#${id}3)` })
231
+ ]) : (index.h("path", { class: "graph-path", d: areaPath, fill: fill }))));
232
+ }
233
+ get el() { return index.getElement(this); }
234
+ };
235
235
  Graph.style = graphCss;
236
236
 
237
237
  const sliderCss = "@charset \"UTF-8\";@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}.scale--s{--calcite-slider-handle-size:10px;--calcite-slider-handle-extension-height:6.5px;--calcite-slider-container-font-size:var(--calcite-font-size--3)}.scale--s .handle__label,.scale--s .tick__label{line-height:.75rem}.scale--m{--calcite-slider-handle-size:14px;--calcite-slider-handle-extension-height:8px;--calcite-slider-container-font-size:var(--calcite-font-size--2)}.scale--m .handle__label,.scale--m .tick__label{line-height:1rem}.scale--l{--calcite-slider-handle-size:16px;--calcite-slider-handle-extension-height:10.5px;--calcite-slider-container-font-size:var(--calcite-font-size--1)}.scale--l .handle__label,.scale--l .tick__label{line-height:1rem}.handle__label,.tick__label{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-2);font-size:var(--calcite-slider-container-font-size)}:host{display:block}.container{position:relative;display:block;overflow-wrap:normal;word-break:normal;padding-inline:calc(var(--calcite-slider-handle-size) * 0.5);padding-block:calc(var(--calcite-slider-handle-size) * 0.5);margin-block:calc(var(--calcite-slider-handle-size) * 0.5);margin-inline:0;--calcite-slider-full-handle-height:calc(\n var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height)\n )}:host([disabled]) .track__range,:host([disabled]) .tick--active{background-color:var(--calcite-ui-text-3)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-6px}.scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-8px}.scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-9px}:host([precise]:not([has-histogram])) .container .thumb--value{--calcite-slider-thumb-y-offset:calc(var(--calcite-slider-full-handle-height) * -1)}.thumb-container{position:relative;max-inline-size:100%}.thumb{--calcite-slider-thumb-x-offset:calc(var(--calcite-slider-handle-size) * 0.5);position:absolute;margin:0px;display:-ms-flexbox;display:flex;cursor:pointer;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;border-style:none;background-color:transparent;padding:0px;font-family:inherit;outline:2px solid transparent;outline-offset:2px;-webkit-transform:translate(var(--calcite-slider-thumb-x-offset), var(--calcite-slider-thumb-y-offset));transform:translate(var(--calcite-slider-thumb-x-offset), var(--calcite-slider-thumb-y-offset))}.thumb .handle__label.static,.thumb .handle__label.transformed{position:absolute;inset-block:0px;opacity:0}.thumb .handle__label.hyphen::after{content:\"—\";display:inline-block;inline-size:1em}.thumb .handle__label.hyphen--wrap{display:-ms-flexbox;display:flex}.thumb .handle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:9999px;background-color:var(--calcite-ui-foreground-1);outline-color:transparent;block-size:var(--calcite-slider-handle-size);inline-size:var(--calcite-slider-handle-size);-webkit-box-shadow:0 0 0 2px var(--calcite-ui-text-3) inset;box-shadow:0 0 0 2px var(--calcite-ui-text-3) inset;-webkit-transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, -webkit-box-shadow var(--calcite-animation-timing) ease;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, -webkit-box-shadow var(--calcite-animation-timing) ease;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, box-shadow var(--calcite-animation-timing) ease;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, box-shadow var(--calcite-animation-timing) ease, -webkit-box-shadow var(--calcite-animation-timing) ease}.thumb .handle-extension{inline-size:0.125rem;block-size:var(--calcite-slider-handle-extension-height);background-color:var(--calcite-ui-text-3)}.thumb:hover .handle{-webkit-box-shadow:0 0 0 3px var(--calcite-ui-brand) inset;box-shadow:0 0 0 3px var(--calcite-ui-brand) inset}.thumb:hover .handle-extension{background-color:var(--calcite-ui-brand)}.thumb:focus .handle{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}.thumb:focus .handle-extension{background-color:var(--calcite-ui-brand)}.thumb.thumb--minValue{-webkit-transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1), var(--calcite-slider-thumb-y-offset));transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1), var(--calcite-slider-thumb-y-offset))}.thumb.thumb--precise{--calcite-slider-thumb-y-offset:-2px}:host([label-handles]) .thumb{--calcite-slider-thumb-x-offset:50%}:host([label-handles]):host(:not([has-histogram])) .scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-23px}:host([label-handles]):host(:not([has-histogram])) .scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-30px}:host([label-handles]):host(:not([has-histogram])) .scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-32px}:host([has-histogram][label-handles]) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--minValue.thumb--precise .handle__label{-webkit-margin-before:0.5em;margin-block-start:0.5em}:host(:not([has-histogram]):not([precise])) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--value .handle__label{-webkit-margin-after:0.5em;margin-block-end:0.5em}:host([label-handles][precise]):host(:not([has-histogram])) .scale--s .thumb--value{--calcite-slider-thumb-y-offset:-33px}:host([label-handles][precise]):host(:not([has-histogram])) .scale--m .thumb--value{--calcite-slider-thumb-y-offset:-44px}:host([label-handles][precise]):host(:not([has-histogram])) .scale--l .thumb--value{--calcite-slider-thumb-y-offset:-49px}.thumb:focus .handle,.thumb--active .handle{background-color:var(--calcite-ui-brand);-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.16);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.16)}.thumb:hover.thumb--precise:after,.thumb:focus.thumb--precise:after,.thumb--active.thumb--precise:after{background-color:var(--calcite-ui-brand)}.track{position:relative;block-size:0.125rem;border-radius:0px;background-color:var(--calcite-ui-border-2);-webkit-transition:all var(--calcite-internal-animation-timing-medium) ease-in;transition:all var(--calcite-internal-animation-timing-medium) ease-in}.track__range{position:absolute;inset-block-start:0px;block-size:0.125rem;background-color:var(--calcite-ui-brand)}.container--range .track__range:hover{cursor:ew-resize}.container--range .track__range:after{position:absolute;inline-size:100%;content:\"\";inset-block-start:calc(var(--calcite-slider-full-handle-height) * 0.5 * -1);block-size:calc(var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height))}@media (forced-colors: active){.thumb{outline-width:0;outline-offset:0}.handle{outline:2px solid transparent;outline-offset:2px}.thumb:focus .handle,.thumb .handle-extension,.thumb:hover .handle-extension,.thumb:focus .handle-extension,.thumb:active .handle-extension{background-color:canvasText}.track{background-color:canvasText}.track__range{background-color:highlight}}.tick{position:absolute;block-size:0.25rem;inline-size:0.125rem;border-width:1px;border-style:solid;background-color:var(--calcite-ui-border-input);border-color:var(--calcite-ui-foreground-1);inset-block-start:-2px;pointer-events:none;-webkit-margin-start:calc(-1 * 0.125rem);margin-inline-start:calc(-1 * 0.125rem)}.tick--active{background-color:var(--calcite-ui-brand)}.tick__label{pointer-events:none;-webkit-margin-before:0.875rem;margin-block-start:0.875rem;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.tick__label--min{-webkit-transition:opacity var(--calcite-animation-timing);transition:opacity var(--calcite-animation-timing)}.tick__label--max{-webkit-transition:opacity var(--calcite-internal-animation-timing-fast);transition:opacity var(--calcite-internal-animation-timing-fast)}:host([has-histogram][label-handles]) .tick__label--min,:host([has-histogram][label-handles]) .tick__label--max,:host([has-histogram][precise]) .tick__label--min,:host([has-histogram][precise]) .tick__label--max{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-ui-text-3)}.graph{color:var(--calcite-ui-foreground-3);block-size:48px}:host([label-ticks][ticks]) .container{-webkit-padding-after:calc(0.875rem + var(--calcite-slider-container-font-size));padding-block-end:calc(0.875rem + var(--calcite-slider-container-font-size))}:host([has-histogram]):host([precise][label-handles]) .container{-webkit-padding-after:calc(var(--calcite-slider-full-handle-height) + 1em);padding-block-end:calc(var(--calcite-slider-full-handle-height) + 1em)}:host([has-histogram]):host([label-handles]:not([precise])) .container{-webkit-padding-after:calc(var(--calcite-slider-handle-size) * 0.5 + 1em);padding-block-end:calc(var(--calcite-slider-handle-size) * 0.5 + 1em)}:host([has-histogram]):host([precise]:not([label-handles])) .container{-webkit-padding-after:var(--calcite-slider-full-handle-height);padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container{-webkit-padding-before:var(--calcite-slider-full-handle-height);padding-block-start:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container--range{-webkit-padding-after:var(--calcite-slider-full-handle-height);padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([label-handles]:not([precise])) .container{-webkit-padding-before:calc(var(--calcite-slider-full-handle-height) + 4px);padding-block-start:calc(var(--calcite-slider-full-handle-height) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container{-webkit-padding-before:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px);padding-block-start:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container--range{-webkit-padding-after:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px);padding-block-end:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}::slotted(input[slot=hidden-form-input]){margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;inset:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}";
238
238
 
239
- function isRange(value) {
240
- return Array.isArray(value);
241
- }
242
- const Slider = class {
243
- constructor(hostRef) {
244
- index.registerInstance(this, hostRef);
245
- this.calciteSliderInput = index.createEvent(this, "calciteSliderInput", 6);
246
- this.calciteSliderChange = index.createEvent(this, "calciteSliderChange", 6);
247
- this.calciteSliderUpdate = index.createEvent(this, "calciteSliderUpdate", 6);
248
- //--------------------------------------------------------------------------
249
- //
250
- // Properties
251
- //
252
- //--------------------------------------------------------------------------
253
- /** When true, interaction is prevented and the component is displayed with lower opacity. */
254
- this.disabled = false;
255
- /** When true, indicates a histogram is present. */
256
- this.hasHistogram = false;
257
- /** When true, displays label handles with their numeric value. */
258
- this.labelHandles = false;
259
- /** When true and "ticks" is specified, displays label tick marks with their numeric value. */
260
- this.labelTicks = false;
261
- /** The component's maximum selectable value. */
262
- this.max = 100;
263
- /** The component's minimum selectable value. */
264
- this.min = 0;
265
- /**
266
- * When true, the slider will display values from high to low.
267
- *
268
- * Note that this value will be ignored if the slider has an associated histogram.
269
- */
270
- this.mirrored = false;
271
- /** When true, sets a finer point for handles. */
272
- this.precise = false;
273
- /**
274
- * When true, the component must have a value on form submission.
275
- */
276
- this.required = false;
277
- /** When true, enables snap selection in coordination with "step" via a mouse. */
278
- this.snap = false;
279
- /** Specifies the interval to move with the up, or down keys. */
280
- this.step = 1;
281
- /** The component's value. */
282
- this.value = 0;
283
- /**
284
- * Specifies the size of the component.
285
- */
286
- this.scale = "m";
287
- this.guid = `calcite-slider-${guid.guid()}`;
288
- this.activeProp = "value";
289
- this.minMaxValueRange = null;
290
- this.minValueDragRange = null;
291
- this.maxValueDragRange = null;
292
- this.tickValues = [];
293
- this.dragUpdate = (event) => {
294
- event.preventDefault();
295
- if (this.dragProp) {
296
- const value = this.translate(event.clientX || event.pageX);
297
- if (isRange(this.value) && this.dragProp === "minMaxValue") {
298
- if (this.minValueDragRange && this.maxValueDragRange && this.minMaxValueRange) {
299
- const newMinValue = value - this.minValueDragRange;
300
- const newMaxValue = value + this.maxValueDragRange;
301
- if (newMaxValue <= this.max &&
302
- newMinValue >= this.min &&
303
- newMaxValue - newMinValue === this.minMaxValueRange) {
304
- this.minValue = this.clamp(newMinValue, "minValue");
305
- this.maxValue = this.clamp(newMaxValue, "maxValue");
306
- }
307
- }
308
- else {
309
- this.minValueDragRange = value - this.minValue;
310
- this.maxValueDragRange = this.maxValue - value;
311
- this.minMaxValueRange = this.maxValue - this.minValue;
312
- }
313
- }
314
- else {
315
- this.setValue(this.dragProp, this.clamp(value, this.dragProp));
316
- }
317
- }
318
- };
319
- this.dragEnd = (event) => {
320
- this.removeDragListeners();
321
- this.focusActiveHandle(event.clientX);
322
- if (this.lastDragPropValue != this[this.dragProp]) {
323
- this.emitChange();
324
- }
325
- this.dragProp = null;
326
- this.lastDragPropValue = null;
327
- this.minValueDragRange = null;
328
- this.maxValueDragRange = null;
329
- this.minMaxValueRange = null;
330
- };
331
- /**
332
- * Set the reference of the track Element
333
- *
334
- * @internal
335
- * @param node
336
- */
337
- this.storeTrackRef = (node) => {
338
- this.trackEl = node;
339
- };
340
- }
341
- histogramWatcher(newHistogram) {
342
- this.hasHistogram = !!newHistogram;
343
- }
344
- valueHandler() {
345
- this.setMinMaxFromValue();
346
- }
347
- minMaxValueHandler() {
348
- this.setValueFromMinMax();
349
- }
350
- //--------------------------------------------------------------------------
351
- //
352
- // Lifecycle
353
- //
354
- //--------------------------------------------------------------------------
355
- connectedCallback() {
356
- this.setMinMaxFromValue();
357
- this.setValueFromMinMax();
358
- label.connectLabel(this);
359
- form.connectForm(this);
360
- }
361
- disconnectedCallback() {
362
- label.disconnectLabel(this);
363
- form.disconnectForm(this);
364
- this.removeDragListeners();
365
- }
366
- componentWillLoad() {
367
- this.tickValues = this.generateTickValues();
368
- if (!isRange(this.value)) {
369
- this.value = this.clamp(this.value);
370
- }
371
- form.afterConnectDefaultValueSet(this, this.value);
372
- if (this.snap && !isRange(this.value)) {
373
- this.value = this.getClosestStep(this.value);
374
- }
375
- if (this.histogram) {
376
- this.hasHistogram = true;
377
- }
378
- }
379
- componentDidRender() {
380
- if (this.labelHandles) {
381
- this.adjustHostObscuredHandleLabel("value");
382
- if (isRange(this.value)) {
383
- this.adjustHostObscuredHandleLabel("minValue");
384
- if (!(this.precise && !this.hasHistogram)) {
385
- this.hyphenateCollidingRangeHandleLabels();
386
- }
387
- }
388
- }
389
- this.hideObscuredBoundingTickLabels();
390
- interactive.updateHostInteraction(this);
391
- }
392
- render() {
393
- const id = this.el.id || this.guid;
394
- const maxProp = isRange(this.value) ? "maxValue" : "value";
395
- const value = isRange(this.value) ? this.maxValue : this.value;
396
- const min = this.minValue || this.min;
397
- const useMinValue = this.shouldUseMinValue();
398
- const minInterval = this.getUnitInterval(useMinValue ? this.minValue : min) * 100;
399
- const maxInterval = this.getUnitInterval(value) * 100;
400
- const mirror = this.shouldMirror();
401
- const leftThumbOffset = `${mirror ? 100 - minInterval : minInterval}%`;
402
- const rightThumbOffset = `${mirror ? maxInterval : 100 - maxInterval}%`;
403
- const valueIsRange = isRange(this.value);
404
- const handle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
405
- thumb: true,
406
- "thumb--value": true,
407
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp
408
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" })));
409
- const labeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
410
- thumb: true,
411
- "thumb--value": true,
412
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp
413
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value), index.h("div", { class: "handle" })));
414
- const histogramLabeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
415
- thumb: true,
416
- "thumb--value": true,
417
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp
418
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value)));
419
- const preciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
420
- thumb: true,
421
- "thumb--value": true,
422
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
423
- "thumb--precise": true
424
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
425
- const histogramPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
426
- thumb: true,
427
- "thumb--value": true,
428
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
429
- "thumb--precise": true
430
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
431
- const labeledPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
432
- thumb: true,
433
- "thumb--value": true,
434
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
435
- "thumb--precise": true
436
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value), index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
437
- const histogramLabeledPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
438
- thumb: true,
439
- "thumb--value": true,
440
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
441
- "thumb--precise": true
442
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value)));
443
- const minHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
444
- thumb: true,
445
- "thumb--minValue": true,
446
- "thumb--active": this.dragProp === "minValue"
447
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" })));
448
- const minLabeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
449
- thumb: true,
450
- "thumb--minValue": true,
451
- "thumb--active": this.dragProp === "minValue"
452
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue static" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue transformed" }, this.minValue && this.minValue.toLocaleString()), index.h("div", { class: "handle" })));
453
- const minHistogramLabeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
454
- thumb: true,
455
- "thumb--minValue": true,
456
- "thumb--active": this.dragProp === "minValue"
457
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue static" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue transformed" }, this.minValue && this.minValue.toLocaleString())));
458
- const minPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
459
- thumb: true,
460
- "thumb--minValue": true,
461
- "thumb--active": this.dragProp === "minValue",
462
- "thumb--precise": true
463
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
464
- const minLabeledPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
465
- thumb: true,
466
- "thumb--minValue": true,
467
- "thumb--active": this.dragProp === "minValue",
468
- "thumb--precise": true
469
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue static" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue transformed" }, this.minValue && this.minValue.toLocaleString())));
470
- return (index.h(index.Host, { id: id, onTouchStart: this.handleTouchStart }, index.h("div", { class: {
471
- ["container"]: true,
472
- ["container--range"]: valueIsRange,
473
- [`scale--${this.scale}`]: true
474
- } }, this.renderGraph(), index.h("div", { class: "track", ref: this.storeTrackRef }, index.h("div", { class: "track__range", onPointerDown: () => this.dragStart("minMaxValue"), style: {
475
- left: `${mirror ? 100 - maxInterval : minInterval}%`,
476
- right: `${mirror ? minInterval : 100 - maxInterval}%`
477
- } }), index.h("div", { class: "ticks" }, this.tickValues.map((tick) => {
478
- const tickOffset = `${this.getUnitInterval(tick) * 100}%`;
479
- let activeTicks = tick >= min && tick <= value;
480
- if (useMinValue) {
481
- activeTicks = tick >= this.minValue && tick <= this.maxValue;
482
- }
483
- return (index.h("span", { class: {
484
- tick: true,
485
- "tick--active": activeTicks
486
- }, style: {
487
- left: mirror ? "" : tickOffset,
488
- right: mirror ? tickOffset : ""
489
- } }, this.renderTickLabel(tick)));
490
- }))), index.h("div", { class: "thumb-container" }, !this.precise && !this.labelHandles && valueIsRange && minHandle, !this.hasHistogram &&
491
- !this.precise &&
492
- this.labelHandles &&
493
- valueIsRange &&
494
- minLabeledHandle, this.precise && !this.labelHandles && valueIsRange && minPreciseHandle, this.precise && this.labelHandles && valueIsRange && minLabeledPreciseHandle, this.hasHistogram &&
495
- !this.precise &&
496
- this.labelHandles &&
497
- valueIsRange &&
498
- minHistogramLabeledHandle, !this.precise && !this.labelHandles && handle, !this.hasHistogram && !this.precise && this.labelHandles && labeledHandle, !this.hasHistogram && this.precise && !this.labelHandles && preciseHandle, this.hasHistogram && this.precise && !this.labelHandles && histogramPreciseHandle, !this.hasHistogram && this.precise && this.labelHandles && labeledPreciseHandle, this.hasHistogram && !this.precise && this.labelHandles && histogramLabeledHandle, this.hasHistogram &&
499
- this.precise &&
500
- this.labelHandles &&
501
- histogramLabeledPreciseHandle, index.h(form.HiddenFormInputSlot, { component: this })))));
502
- }
503
- renderGraph() {
504
- return this.histogram ? (index.h("calcite-graph", { class: "graph", colorStops: this.histogramStops, data: this.histogram, highlightMax: isRange(this.value) ? this.maxValue : this.value, highlightMin: isRange(this.value) ? this.minValue : this.min, max: this.max, min: this.min })) : null;
505
- }
506
- renderTickLabel(tick) {
507
- const valueIsRange = isRange(this.value);
508
- const isMinTickLabel = tick === this.min;
509
- const isMaxTickLabel = tick === this.max;
510
- const tickLabel = (index.h("span", { class: {
511
- tick__label: true,
512
- "tick__label--min": isMinTickLabel,
513
- "tick__label--max": isMaxTickLabel
514
- } }, tick.toLocaleString()));
515
- if (this.labelTicks && !this.hasHistogram && !valueIsRange) {
516
- return tickLabel;
517
- }
518
- if (this.labelTicks &&
519
- !this.hasHistogram &&
520
- valueIsRange &&
521
- !this.precise &&
522
- !this.labelHandles) {
523
- return tickLabel;
524
- }
525
- if (this.labelTicks &&
526
- !this.hasHistogram &&
527
- valueIsRange &&
528
- !this.precise &&
529
- this.labelHandles) {
530
- return tickLabel;
531
- }
532
- if (this.labelTicks &&
533
- !this.hasHistogram &&
534
- valueIsRange &&
535
- this.precise &&
536
- (isMinTickLabel || isMaxTickLabel)) {
537
- return tickLabel;
538
- }
539
- if (this.labelTicks && this.hasHistogram && !this.precise && !this.labelHandles) {
540
- return tickLabel;
541
- }
542
- if (this.labelTicks &&
543
- this.hasHistogram &&
544
- this.precise &&
545
- !this.labelHandles &&
546
- (isMinTickLabel || isMaxTickLabel)) {
547
- return tickLabel;
548
- }
549
- if (this.labelTicks &&
550
- this.hasHistogram &&
551
- !this.precise &&
552
- this.labelHandles &&
553
- (isMinTickLabel || isMaxTickLabel)) {
554
- return tickLabel;
555
- }
556
- if (this.labelTicks &&
557
- this.hasHistogram &&
558
- this.precise &&
559
- this.labelHandles &&
560
- (isMinTickLabel || isMaxTickLabel)) {
561
- return tickLabel;
562
- }
563
- return null;
564
- }
565
- //--------------------------------------------------------------------------
566
- //
567
- // Event Listeners
568
- //
569
- //--------------------------------------------------------------------------
570
- keyDownHandler(event) {
571
- const mirror = this.shouldMirror();
572
- const { activeProp, max, min, pageStep, step } = this;
573
- const value = this[activeProp];
574
- const { key: key$1 } = event;
575
- if (key.isActivationKey(key$1)) {
576
- event.preventDefault();
577
- return;
578
- }
579
- let adjustment;
580
- if (key$1 === "ArrowUp" || key$1 === "ArrowRight") {
581
- const directionFactor = mirror && key$1 === "ArrowRight" ? -1 : 1;
582
- adjustment = value + step * directionFactor;
583
- }
584
- else if (key$1 === "ArrowDown" || key$1 === "ArrowLeft") {
585
- const directionFactor = mirror && key$1 === "ArrowLeft" ? -1 : 1;
586
- adjustment = value - step * directionFactor;
587
- }
588
- else if (key$1 === "PageUp") {
589
- if (pageStep) {
590
- adjustment = value + pageStep;
591
- }
592
- }
593
- else if (key$1 === "PageDown") {
594
- if (pageStep) {
595
- adjustment = value - pageStep;
596
- }
597
- }
598
- else if (key$1 === "Home") {
599
- adjustment = min;
600
- }
601
- else if (key$1 === "End") {
602
- adjustment = max;
603
- }
604
- if (isNaN(adjustment)) {
605
- return;
606
- }
607
- event.preventDefault();
608
- const fixedDecimalAdjustment = Number(adjustment.toFixed(math.decimalPlaces(step)));
609
- this.setValue(activeProp, this.clamp(fixedDecimalAdjustment, activeProp));
610
- }
611
- pointerDownHandler(event) {
612
- const x = event.clientX || event.pageX;
613
- this.focusActiveHandle(x);
614
- const position = this.translate(x);
615
- let prop = "value";
616
- if (isRange(this.value)) {
617
- const inRange = position >= this.minValue && position <= this.maxValue;
618
- if (inRange && this.lastDragProp === "minMaxValue") {
619
- prop = "minMaxValue";
620
- }
621
- else {
622
- const closerToMax = Math.abs(this.maxValue - position) < Math.abs(this.minValue - position);
623
- prop = closerToMax || position > this.maxValue ? "maxValue" : "minValue";
624
- }
625
- }
626
- this.lastDragPropValue = this[prop];
627
- this.dragStart(prop);
628
- const isThumbActive = this.el.shadowRoot.querySelector(".thumb:active");
629
- if (!isThumbActive) {
630
- this.setValue(prop, this.clamp(position, prop));
631
- }
632
- }
633
- handleTouchStart(event) {
634
- // needed to prevent extra click at the end of a handle drag
635
- event.preventDefault();
636
- }
637
- //--------------------------------------------------------------------------
638
- //
639
- // Public Methods
640
- //
641
- //--------------------------------------------------------------------------
642
- /** Sets focus on the component. */
643
- async setFocus() {
644
- const handle = this.minHandle ? this.minHandle : this.maxHandle;
645
- handle === null || handle === void 0 ? void 0 : handle.focus();
646
- }
647
- //--------------------------------------------------------------------------
648
- //
649
- // Private Methods
650
- //
651
- //--------------------------------------------------------------------------
652
- setValueFromMinMax() {
653
- const { minValue, maxValue } = this;
654
- if (typeof minValue === "number" && typeof maxValue === "number") {
655
- this.value = [minValue, maxValue];
656
- }
657
- }
658
- setMinMaxFromValue() {
659
- const { value } = this;
660
- if (isRange(value)) {
661
- this.minValue = value[0];
662
- this.maxValue = value[1];
663
- }
664
- }
665
- onLabelClick() {
666
- this.setFocus();
667
- }
668
- shouldMirror() {
669
- return this.mirrored && !this.hasHistogram;
670
- }
671
- shouldUseMinValue() {
672
- if (!isRange(this.value)) {
673
- return false;
674
- }
675
- return ((this.hasHistogram && this.maxValue === 0) || (!this.hasHistogram && this.minValue === 0));
676
- }
677
- generateTickValues() {
678
- const ticks = [];
679
- let current = this.min;
680
- while (this.ticks && current < this.max + this.ticks) {
681
- ticks.push(Math.min(current, this.max));
682
- current = current + this.ticks;
683
- }
684
- return ticks;
685
- }
686
- dragStart(prop) {
687
- this.dragProp = prop;
688
- this.lastDragProp = this.dragProp;
689
- this.activeProp = prop;
690
- document.addEventListener("pointermove", this.dragUpdate);
691
- document.addEventListener("pointerup", this.dragEnd);
692
- document.addEventListener("pointercancel", this.dragEnd);
693
- }
694
- focusActiveHandle(valueX) {
695
- switch (this.dragProp) {
696
- case "minValue":
697
- this.minHandle.focus();
698
- break;
699
- case "maxValue":
700
- this.maxHandle.focus();
701
- break;
702
- case "minMaxValue":
703
- this.getClosestHandle(valueX).focus();
704
- break;
705
- }
706
- }
707
- emitInput() {
708
- this.calciteSliderInput.emit();
709
- this.calciteSliderUpdate.emit();
710
- }
711
- emitChange() {
712
- this.calciteSliderChange.emit();
713
- }
714
- removeDragListeners() {
715
- document.removeEventListener("pointermove", this.dragUpdate);
716
- document.removeEventListener("pointerup", this.dragEnd);
717
- document.removeEventListener("pointercancel", this.dragEnd);
718
- }
719
- /**
720
- * Set the prop value if changed at the component level
721
- *
722
- * @param valueProp
723
- * @param value
724
- */
725
- setValue(valueProp, value) {
726
- const oldValue = this[valueProp];
727
- const valueChanged = oldValue !== value;
728
- if (!valueChanged) {
729
- return;
730
- }
731
- this[valueProp] = value;
732
- const dragging = this.dragProp;
733
- if (!dragging) {
734
- this.emitChange();
735
- }
736
- this.emitInput();
737
- }
738
- /**
739
- * If number is outside range, constrain to min or max
740
- *
741
- * @param value
742
- * @param prop
743
- * @internal
744
- */
745
- clamp(value, prop) {
746
- value = math.clamp(value, this.min, this.max);
747
- // ensure that maxValue and minValue don't swap positions
748
- if (prop === "maxValue") {
749
- value = Math.max(value, this.minValue);
750
- }
751
- if (prop === "minValue") {
752
- value = Math.min(value, this.maxValue);
753
- }
754
- return value;
755
- }
756
- /**
757
- * Translate a pixel position to value along the range
758
- *
759
- * @param x
760
- * @internal
761
- */
762
- translate(x) {
763
- const range = this.max - this.min;
764
- const { left, width } = this.trackEl.getBoundingClientRect();
765
- const percent = (x - left) / width;
766
- const mirror = this.shouldMirror();
767
- const clampedValue = this.clamp(this.min + range * (mirror ? 1 - percent : percent));
768
- let value = Number(clampedValue.toFixed(math.decimalPlaces(this.step)));
769
- if (this.snap && this.step) {
770
- value = this.getClosestStep(value);
771
- }
772
- return value;
773
- }
774
- /**
775
- * Get closest allowed value along stepped values
776
- *
777
- * @param num
778
- * @internal
779
- */
780
- getClosestStep(num) {
781
- num = Number(this.clamp(num).toFixed(math.decimalPlaces(this.step)));
782
- if (this.step) {
783
- const step = Math.round(num / this.step) * this.step;
784
- num = Number(this.clamp(step).toFixed(math.decimalPlaces(this.step)));
785
- }
786
- return num;
787
- }
788
- getClosestHandle(valueX) {
789
- return this.getDistanceX(this.maxHandle, valueX) > this.getDistanceX(this.minHandle, valueX)
790
- ? this.minHandle
791
- : this.maxHandle;
792
- }
793
- getDistanceX(el, valueX) {
794
- return Math.abs(el.getBoundingClientRect().left - valueX);
795
- }
796
- getFontSizeForElement(element) {
797
- return Number(window.getComputedStyle(element).getPropertyValue("font-size").match(/\d+/)[0]);
798
- }
799
- /**
800
- * Get position of value along range as fractional value
801
- *
802
- * @param num
803
- * @return {number} number in the unit interval [0,1]
804
- * @internal
805
- */
806
- getUnitInterval(num) {
807
- num = this.clamp(num);
808
- const range = this.max - this.min;
809
- return (num - this.min) / range;
810
- }
811
- adjustHostObscuredHandleLabel(name) {
812
- const label = this.el.shadowRoot.querySelector(`.handle__label--${name}`);
813
- const labelStatic = this.el.shadowRoot.querySelector(`.handle__label--${name}.static`);
814
- const labelTransformed = this.el.shadowRoot.querySelector(`.handle__label--${name}.transformed`);
815
- const labelStaticBounds = labelStatic.getBoundingClientRect();
816
- const labelStaticOffset = this.getHostOffset(labelStaticBounds.left, labelStaticBounds.right);
817
- label.style.transform = `translateX(${labelStaticOffset}px)`;
818
- labelTransformed.style.transform = `translateX(${labelStaticOffset}px)`;
819
- }
820
- hyphenateCollidingRangeHandleLabels() {
821
- const { shadowRoot } = this.el;
822
- const mirror = this.shouldMirror();
823
- const leftModifier = mirror ? "value" : "minValue";
824
- const rightModifier = mirror ? "minValue" : "value";
825
- const leftValueLabel = shadowRoot.querySelector(`.handle__label--${leftModifier}`);
826
- const leftValueLabelStatic = shadowRoot.querySelector(`.handle__label--${leftModifier}.static`);
827
- const leftValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${leftModifier}.transformed`);
828
- const leftValueLabelStaticHostOffset = this.getHostOffset(leftValueLabelStatic.getBoundingClientRect().left, leftValueLabelStatic.getBoundingClientRect().right);
829
- const rightValueLabel = shadowRoot.querySelector(`.handle__label--${rightModifier}`);
830
- const rightValueLabelStatic = shadowRoot.querySelector(`.handle__label--${rightModifier}.static`);
831
- const rightValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${rightModifier}.transformed`);
832
- const rightValueLabelStaticHostOffset = this.getHostOffset(rightValueLabelStatic.getBoundingClientRect().left, rightValueLabelStatic.getBoundingClientRect().right);
833
- const labelFontSize = this.getFontSizeForElement(leftValueLabel);
834
- const labelTransformedOverlap = this.getRangeLabelOverlap(leftValueLabelTransformed, rightValueLabelTransformed);
835
- const hyphenLabel = leftValueLabel;
836
- const labelOffset = labelFontSize / 2;
837
- if (labelTransformedOverlap > 0) {
838
- hyphenLabel.classList.add("hyphen", "hyphen--wrap");
839
- if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
840
- // Neither handle overlaps the host boundary
841
- let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
842
- leftValueLabelTranslate =
843
- Math.sign(leftValueLabelTranslate) === -1
844
- ? Math.abs(leftValueLabelTranslate)
845
- : -leftValueLabelTranslate;
846
- const leftValueLabelTransformedHostOffset = this.getHostOffset(leftValueLabelTransformed.getBoundingClientRect().left +
847
- leftValueLabelTranslate -
848
- labelOffset, leftValueLabelTransformed.getBoundingClientRect().right +
849
- leftValueLabelTranslate -
850
- labelOffset);
851
- let rightValueLabelTranslate = labelTransformedOverlap / 2;
852
- const rightValueLabelTransformedHostOffset = this.getHostOffset(rightValueLabelTransformed.getBoundingClientRect().left + rightValueLabelTranslate, rightValueLabelTransformed.getBoundingClientRect().right + rightValueLabelTranslate);
853
- if (leftValueLabelTransformedHostOffset !== 0) {
854
- leftValueLabelTranslate += leftValueLabelTransformedHostOffset;
855
- rightValueLabelTranslate += leftValueLabelTransformedHostOffset;
856
- }
857
- if (rightValueLabelTransformedHostOffset !== 0) {
858
- leftValueLabelTranslate += rightValueLabelTransformedHostOffset;
859
- rightValueLabelTranslate += rightValueLabelTransformedHostOffset;
860
- }
861
- leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
862
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
863
- rightValueLabel.style.transform = `translateX(${rightValueLabelTranslate}px)`;
864
- rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelTranslate}px)`;
865
- }
866
- else if (leftValueLabelStaticHostOffset > 0 || rightValueLabelStaticHostOffset > 0) {
867
- // labels overlap host boundary on the left side
868
- leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset + labelOffset}px)`;
869
- rightValueLabel.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
870
- rightValueLabelTransformed.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
871
- }
872
- else if (leftValueLabelStaticHostOffset < 0 || rightValueLabelStaticHostOffset < 0) {
873
- // labels overlap host boundary on the right side
874
- let leftValueLabelTranslate = Math.abs(leftValueLabelStaticHostOffset) + labelTransformedOverlap - labelOffset;
875
- leftValueLabelTranslate =
876
- Math.sign(leftValueLabelTranslate) === -1
877
- ? Math.abs(leftValueLabelTranslate)
878
- : -leftValueLabelTranslate;
879
- leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
880
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
881
- }
882
- }
883
- else {
884
- hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
885
- leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
886
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
887
- rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
888
- rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
889
- }
890
- }
891
- /**
892
- * Hides bounding tick labels that are obscured by either handle.
893
- */
894
- hideObscuredBoundingTickLabels() {
895
- const valueIsRange = isRange(this.value);
896
- if (!this.hasHistogram && !valueIsRange && !this.labelHandles && !this.precise) {
897
- return;
898
- }
899
- if (!this.hasHistogram && !valueIsRange && this.labelHandles && !this.precise) {
900
- return;
901
- }
902
- if (!this.hasHistogram && !valueIsRange && !this.labelHandles && this.precise) {
903
- return;
904
- }
905
- if (!this.hasHistogram && !valueIsRange && this.labelHandles && this.precise) {
906
- return;
907
- }
908
- if (!this.hasHistogram && valueIsRange && !this.precise) {
909
- return;
910
- }
911
- if (this.hasHistogram && !this.precise && !this.labelHandles) {
912
- return;
913
- }
914
- const minHandle = this.el.shadowRoot.querySelector(".thumb--minValue");
915
- const maxHandle = this.el.shadowRoot.querySelector(".thumb--value");
916
- const minTickLabel = this.el.shadowRoot.querySelector(".tick__label--min");
917
- const maxTickLabel = this.el.shadowRoot.querySelector(".tick__label--max");
918
- if (!minHandle && maxHandle && minTickLabel && maxTickLabel) {
919
- minTickLabel.style.opacity = this.isMinTickLabelObscured(minTickLabel, maxHandle) ? "0" : "1";
920
- maxTickLabel.style.opacity = this.isMaxTickLabelObscured(maxTickLabel, maxHandle) ? "0" : "1";
921
- }
922
- if (minHandle && maxHandle && minTickLabel && maxTickLabel) {
923
- minTickLabel.style.opacity =
924
- this.isMinTickLabelObscured(minTickLabel, minHandle) ||
925
- this.isMinTickLabelObscured(minTickLabel, maxHandle)
926
- ? "0"
927
- : "1";
928
- maxTickLabel.style.opacity =
929
- this.isMaxTickLabelObscured(maxTickLabel, minHandle) ||
930
- (this.isMaxTickLabelObscured(maxTickLabel, maxHandle) && this.hasHistogram)
931
- ? "0"
932
- : "1";
933
- }
934
- }
935
- /**
936
- * Returns an integer representing the number of pixels to offset on the left or right side based on desired position behavior.
937
- *
938
- * @param leftBounds
939
- * @param rightBounds
940
- * @internal
941
- */
942
- getHostOffset(leftBounds, rightBounds) {
943
- const hostBounds = this.el.getBoundingClientRect();
944
- const buffer = 7;
945
- if (leftBounds + buffer < hostBounds.left) {
946
- return hostBounds.left - leftBounds - buffer;
947
- }
948
- if (rightBounds - buffer > hostBounds.right) {
949
- return -(rightBounds - hostBounds.right) + buffer;
950
- }
951
- return 0;
952
- }
953
- /**
954
- * Returns an integer representing the number of pixels that the two given span elements are overlapping, taking into account
955
- * a space in between the two spans equal to the font-size set on them to account for the space needed to render a hyphen.
956
- *
957
- * @param leftLabel
958
- * @param rightLabel
959
- */
960
- getRangeLabelOverlap(leftLabel, rightLabel) {
961
- const leftLabelBounds = leftLabel.getBoundingClientRect();
962
- const rightLabelBounds = rightLabel.getBoundingClientRect();
963
- const leftLabelFontSize = this.getFontSizeForElement(leftLabel);
964
- const rangeLabelOverlap = leftLabelBounds.right + leftLabelFontSize - rightLabelBounds.left;
965
- return Math.max(rangeLabelOverlap, 0);
966
- }
967
- /**
968
- * Returns a boolean value representing if the minLabel span element is obscured (being overlapped) by the given handle div element.
969
- *
970
- * @param minLabel
971
- * @param handle
972
- */
973
- isMinTickLabelObscured(minLabel, handle) {
974
- const minLabelBounds = minLabel.getBoundingClientRect();
975
- const handleBounds = handle.getBoundingClientRect();
976
- return dom.intersects(minLabelBounds, handleBounds);
977
- }
978
- /**
979
- * Returns a boolean value representing if the maxLabel span element is obscured (being overlapped) by the given handle div element.
980
- *
981
- * @param maxLabel
982
- * @param handle
983
- */
984
- isMaxTickLabelObscured(maxLabel, handle) {
985
- const maxLabelBounds = maxLabel.getBoundingClientRect();
986
- const handleBounds = handle.getBoundingClientRect();
987
- return dom.intersects(maxLabelBounds, handleBounds);
988
- }
989
- get el() { return index.getElement(this); }
990
- static get watchers() { return {
991
- "histogram": ["histogramWatcher"],
992
- "value": ["valueHandler"],
993
- "minValue": ["minMaxValueHandler"],
994
- "maxValue": ["minMaxValueHandler"]
995
- }; }
996
- };
239
+ function isRange(value) {
240
+ return Array.isArray(value);
241
+ }
242
+ const Slider = class {
243
+ constructor(hostRef) {
244
+ index.registerInstance(this, hostRef);
245
+ this.calciteSliderInput = index.createEvent(this, "calciteSliderInput", 6);
246
+ this.calciteSliderChange = index.createEvent(this, "calciteSliderChange", 6);
247
+ this.calciteSliderUpdate = index.createEvent(this, "calciteSliderUpdate", 6);
248
+ //--------------------------------------------------------------------------
249
+ //
250
+ // Properties
251
+ //
252
+ //--------------------------------------------------------------------------
253
+ /** When true, interaction is prevented and the component is displayed with lower opacity. */
254
+ this.disabled = false;
255
+ /** When true, indicates a histogram is present. */
256
+ this.hasHistogram = false;
257
+ /** When true, displays label handles with their numeric value. */
258
+ this.labelHandles = false;
259
+ /** When true and "ticks" is specified, displays label tick marks with their numeric value. */
260
+ this.labelTicks = false;
261
+ /** The component's maximum selectable value. */
262
+ this.max = 100;
263
+ /** The component's minimum selectable value. */
264
+ this.min = 0;
265
+ /**
266
+ * When true, the slider will display values from high to low.
267
+ *
268
+ * Note that this value will be ignored if the slider has an associated histogram.
269
+ */
270
+ this.mirrored = false;
271
+ /** When true, sets a finer point for handles. */
272
+ this.precise = false;
273
+ /**
274
+ * When true, the component must have a value on form submission.
275
+ */
276
+ this.required = false;
277
+ /** When true, enables snap selection in coordination with "step" via a mouse. */
278
+ this.snap = false;
279
+ /** Specifies the interval to move with the up, or down keys. */
280
+ this.step = 1;
281
+ /** The component's value. */
282
+ this.value = 0;
283
+ /**
284
+ * Specifies the size of the component.
285
+ */
286
+ this.scale = "m";
287
+ this.guid = `calcite-slider-${guid.guid()}`;
288
+ this.activeProp = "value";
289
+ this.minMaxValueRange = null;
290
+ this.minValueDragRange = null;
291
+ this.maxValueDragRange = null;
292
+ this.tickValues = [];
293
+ this.dragUpdate = (event) => {
294
+ event.preventDefault();
295
+ if (this.dragProp) {
296
+ const value = this.translate(event.clientX || event.pageX);
297
+ if (isRange(this.value) && this.dragProp === "minMaxValue") {
298
+ if (this.minValueDragRange && this.maxValueDragRange && this.minMaxValueRange) {
299
+ const newMinValue = value - this.minValueDragRange;
300
+ const newMaxValue = value + this.maxValueDragRange;
301
+ if (newMaxValue <= this.max &&
302
+ newMinValue >= this.min &&
303
+ newMaxValue - newMinValue === this.minMaxValueRange) {
304
+ this.minValue = this.clamp(newMinValue, "minValue");
305
+ this.maxValue = this.clamp(newMaxValue, "maxValue");
306
+ }
307
+ }
308
+ else {
309
+ this.minValueDragRange = value - this.minValue;
310
+ this.maxValueDragRange = this.maxValue - value;
311
+ this.minMaxValueRange = this.maxValue - this.minValue;
312
+ }
313
+ }
314
+ else {
315
+ this.setValue(this.dragProp, this.clamp(value, this.dragProp));
316
+ }
317
+ }
318
+ };
319
+ this.dragEnd = (event) => {
320
+ this.removeDragListeners();
321
+ this.focusActiveHandle(event.clientX);
322
+ if (this.lastDragPropValue != this[this.dragProp]) {
323
+ this.emitChange();
324
+ }
325
+ this.dragProp = null;
326
+ this.lastDragPropValue = null;
327
+ this.minValueDragRange = null;
328
+ this.maxValueDragRange = null;
329
+ this.minMaxValueRange = null;
330
+ };
331
+ /**
332
+ * Set the reference of the track Element
333
+ *
334
+ * @internal
335
+ * @param node
336
+ */
337
+ this.storeTrackRef = (node) => {
338
+ this.trackEl = node;
339
+ };
340
+ }
341
+ histogramWatcher(newHistogram) {
342
+ this.hasHistogram = !!newHistogram;
343
+ }
344
+ valueHandler() {
345
+ this.setMinMaxFromValue();
346
+ }
347
+ minMaxValueHandler() {
348
+ this.setValueFromMinMax();
349
+ }
350
+ //--------------------------------------------------------------------------
351
+ //
352
+ // Lifecycle
353
+ //
354
+ //--------------------------------------------------------------------------
355
+ connectedCallback() {
356
+ this.setMinMaxFromValue();
357
+ this.setValueFromMinMax();
358
+ label.connectLabel(this);
359
+ form.connectForm(this);
360
+ }
361
+ disconnectedCallback() {
362
+ label.disconnectLabel(this);
363
+ form.disconnectForm(this);
364
+ this.removeDragListeners();
365
+ }
366
+ componentWillLoad() {
367
+ this.tickValues = this.generateTickValues();
368
+ if (!isRange(this.value)) {
369
+ this.value = this.clamp(this.value);
370
+ }
371
+ form.afterConnectDefaultValueSet(this, this.value);
372
+ if (this.snap && !isRange(this.value)) {
373
+ this.value = this.getClosestStep(this.value);
374
+ }
375
+ if (this.histogram) {
376
+ this.hasHistogram = true;
377
+ }
378
+ }
379
+ componentDidRender() {
380
+ if (this.labelHandles) {
381
+ this.adjustHostObscuredHandleLabel("value");
382
+ if (isRange(this.value)) {
383
+ this.adjustHostObscuredHandleLabel("minValue");
384
+ if (!(this.precise && !this.hasHistogram)) {
385
+ this.hyphenateCollidingRangeHandleLabels();
386
+ }
387
+ }
388
+ }
389
+ this.hideObscuredBoundingTickLabels();
390
+ interactive.updateHostInteraction(this);
391
+ }
392
+ render() {
393
+ const id = this.el.id || this.guid;
394
+ const maxProp = isRange(this.value) ? "maxValue" : "value";
395
+ const value = isRange(this.value) ? this.maxValue : this.value;
396
+ const min = this.minValue || this.min;
397
+ const useMinValue = this.shouldUseMinValue();
398
+ const minInterval = this.getUnitInterval(useMinValue ? this.minValue : min) * 100;
399
+ const maxInterval = this.getUnitInterval(value) * 100;
400
+ const mirror = this.shouldMirror();
401
+ const leftThumbOffset = `${mirror ? 100 - minInterval : minInterval}%`;
402
+ const rightThumbOffset = `${mirror ? maxInterval : 100 - maxInterval}%`;
403
+ const valueIsRange = isRange(this.value);
404
+ const handle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
405
+ thumb: true,
406
+ "thumb--value": true,
407
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp
408
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" })));
409
+ const labeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
410
+ thumb: true,
411
+ "thumb--value": true,
412
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp
413
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value), index.h("div", { class: "handle" })));
414
+ const histogramLabeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
415
+ thumb: true,
416
+ "thumb--value": true,
417
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp
418
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value)));
419
+ const preciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
420
+ thumb: true,
421
+ "thumb--value": true,
422
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
423
+ "thumb--precise": true
424
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
425
+ const histogramPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
426
+ thumb: true,
427
+ "thumb--value": true,
428
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
429
+ "thumb--precise": true
430
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
431
+ const labeledPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
432
+ thumb: true,
433
+ "thumb--value": true,
434
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
435
+ "thumb--precise": true
436
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value), index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
437
+ const histogramLabeledPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
438
+ thumb: true,
439
+ "thumb--value": true,
440
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
441
+ "thumb--precise": true
442
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: () => this.dragStart(maxProp), ref: (el) => (this.maxHandle = el), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value static" }, value ? value.toLocaleString() : value), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--value transformed" }, value ? value.toLocaleString() : value)));
443
+ const minHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
444
+ thumb: true,
445
+ "thumb--minValue": true,
446
+ "thumb--active": this.dragProp === "minValue"
447
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" })));
448
+ const minLabeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
449
+ thumb: true,
450
+ "thumb--minValue": true,
451
+ "thumb--active": this.dragProp === "minValue"
452
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue static" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue transformed" }, this.minValue && this.minValue.toLocaleString()), index.h("div", { class: "handle" })));
453
+ const minHistogramLabeledHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
454
+ thumb: true,
455
+ "thumb--minValue": true,
456
+ "thumb--active": this.dragProp === "minValue"
457
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue static" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue transformed" }, this.minValue && this.minValue.toLocaleString())));
458
+ const minPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
459
+ thumb: true,
460
+ "thumb--minValue": true,
461
+ "thumb--active": this.dragProp === "minValue",
462
+ "thumb--precise": true
463
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
464
+ const minLabeledPreciseHandle = (index.h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
465
+ thumb: true,
466
+ "thumb--minValue": true,
467
+ "thumb--active": this.dragProp === "minValue",
468
+ "thumb--precise": true
469
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: () => this.dragStart("minValue"), ref: (el) => (this.minHandle = el), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0 }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue static" }, this.minValue && this.minValue.toLocaleString()), index.h("span", { "aria-hidden": "true", class: "handle__label handle__label--minValue transformed" }, this.minValue && this.minValue.toLocaleString())));
470
+ return (index.h(index.Host, { id: id, onTouchStart: this.handleTouchStart }, index.h("div", { class: {
471
+ ["container"]: true,
472
+ ["container--range"]: valueIsRange,
473
+ [`scale--${this.scale}`]: true
474
+ } }, this.renderGraph(), index.h("div", { class: "track", ref: this.storeTrackRef }, index.h("div", { class: "track__range", onPointerDown: () => this.dragStart("minMaxValue"), style: {
475
+ left: `${mirror ? 100 - maxInterval : minInterval}%`,
476
+ right: `${mirror ? minInterval : 100 - maxInterval}%`
477
+ } }), index.h("div", { class: "ticks" }, this.tickValues.map((tick) => {
478
+ const tickOffset = `${this.getUnitInterval(tick) * 100}%`;
479
+ let activeTicks = tick >= min && tick <= value;
480
+ if (useMinValue) {
481
+ activeTicks = tick >= this.minValue && tick <= this.maxValue;
482
+ }
483
+ return (index.h("span", { class: {
484
+ tick: true,
485
+ "tick--active": activeTicks
486
+ }, style: {
487
+ left: mirror ? "" : tickOffset,
488
+ right: mirror ? tickOffset : ""
489
+ } }, this.renderTickLabel(tick)));
490
+ }))), index.h("div", { class: "thumb-container" }, !this.precise && !this.labelHandles && valueIsRange && minHandle, !this.hasHistogram &&
491
+ !this.precise &&
492
+ this.labelHandles &&
493
+ valueIsRange &&
494
+ minLabeledHandle, this.precise && !this.labelHandles && valueIsRange && minPreciseHandle, this.precise && this.labelHandles && valueIsRange && minLabeledPreciseHandle, this.hasHistogram &&
495
+ !this.precise &&
496
+ this.labelHandles &&
497
+ valueIsRange &&
498
+ minHistogramLabeledHandle, !this.precise && !this.labelHandles && handle, !this.hasHistogram && !this.precise && this.labelHandles && labeledHandle, !this.hasHistogram && this.precise && !this.labelHandles && preciseHandle, this.hasHistogram && this.precise && !this.labelHandles && histogramPreciseHandle, !this.hasHistogram && this.precise && this.labelHandles && labeledPreciseHandle, this.hasHistogram && !this.precise && this.labelHandles && histogramLabeledHandle, this.hasHistogram &&
499
+ this.precise &&
500
+ this.labelHandles &&
501
+ histogramLabeledPreciseHandle, index.h(form.HiddenFormInputSlot, { component: this })))));
502
+ }
503
+ renderGraph() {
504
+ return this.histogram ? (index.h("calcite-graph", { class: "graph", colorStops: this.histogramStops, data: this.histogram, highlightMax: isRange(this.value) ? this.maxValue : this.value, highlightMin: isRange(this.value) ? this.minValue : this.min, max: this.max, min: this.min })) : null;
505
+ }
506
+ renderTickLabel(tick) {
507
+ const valueIsRange = isRange(this.value);
508
+ const isMinTickLabel = tick === this.min;
509
+ const isMaxTickLabel = tick === this.max;
510
+ const tickLabel = (index.h("span", { class: {
511
+ tick__label: true,
512
+ "tick__label--min": isMinTickLabel,
513
+ "tick__label--max": isMaxTickLabel
514
+ } }, tick.toLocaleString()));
515
+ if (this.labelTicks && !this.hasHistogram && !valueIsRange) {
516
+ return tickLabel;
517
+ }
518
+ if (this.labelTicks &&
519
+ !this.hasHistogram &&
520
+ valueIsRange &&
521
+ !this.precise &&
522
+ !this.labelHandles) {
523
+ return tickLabel;
524
+ }
525
+ if (this.labelTicks &&
526
+ !this.hasHistogram &&
527
+ valueIsRange &&
528
+ !this.precise &&
529
+ this.labelHandles) {
530
+ return tickLabel;
531
+ }
532
+ if (this.labelTicks &&
533
+ !this.hasHistogram &&
534
+ valueIsRange &&
535
+ this.precise &&
536
+ (isMinTickLabel || isMaxTickLabel)) {
537
+ return tickLabel;
538
+ }
539
+ if (this.labelTicks && this.hasHistogram && !this.precise && !this.labelHandles) {
540
+ return tickLabel;
541
+ }
542
+ if (this.labelTicks &&
543
+ this.hasHistogram &&
544
+ this.precise &&
545
+ !this.labelHandles &&
546
+ (isMinTickLabel || isMaxTickLabel)) {
547
+ return tickLabel;
548
+ }
549
+ if (this.labelTicks &&
550
+ this.hasHistogram &&
551
+ !this.precise &&
552
+ this.labelHandles &&
553
+ (isMinTickLabel || isMaxTickLabel)) {
554
+ return tickLabel;
555
+ }
556
+ if (this.labelTicks &&
557
+ this.hasHistogram &&
558
+ this.precise &&
559
+ this.labelHandles &&
560
+ (isMinTickLabel || isMaxTickLabel)) {
561
+ return tickLabel;
562
+ }
563
+ return null;
564
+ }
565
+ //--------------------------------------------------------------------------
566
+ //
567
+ // Event Listeners
568
+ //
569
+ //--------------------------------------------------------------------------
570
+ keyDownHandler(event) {
571
+ const mirror = this.shouldMirror();
572
+ const { activeProp, max, min, pageStep, step } = this;
573
+ const value = this[activeProp];
574
+ const { key: key$1 } = event;
575
+ if (key.isActivationKey(key$1)) {
576
+ event.preventDefault();
577
+ return;
578
+ }
579
+ let adjustment;
580
+ if (key$1 === "ArrowUp" || key$1 === "ArrowRight") {
581
+ const directionFactor = mirror && key$1 === "ArrowRight" ? -1 : 1;
582
+ adjustment = value + step * directionFactor;
583
+ }
584
+ else if (key$1 === "ArrowDown" || key$1 === "ArrowLeft") {
585
+ const directionFactor = mirror && key$1 === "ArrowLeft" ? -1 : 1;
586
+ adjustment = value - step * directionFactor;
587
+ }
588
+ else if (key$1 === "PageUp") {
589
+ if (pageStep) {
590
+ adjustment = value + pageStep;
591
+ }
592
+ }
593
+ else if (key$1 === "PageDown") {
594
+ if (pageStep) {
595
+ adjustment = value - pageStep;
596
+ }
597
+ }
598
+ else if (key$1 === "Home") {
599
+ adjustment = min;
600
+ }
601
+ else if (key$1 === "End") {
602
+ adjustment = max;
603
+ }
604
+ if (isNaN(adjustment)) {
605
+ return;
606
+ }
607
+ event.preventDefault();
608
+ const fixedDecimalAdjustment = Number(adjustment.toFixed(math.decimalPlaces(step)));
609
+ this.setValue(activeProp, this.clamp(fixedDecimalAdjustment, activeProp));
610
+ }
611
+ pointerDownHandler(event) {
612
+ const x = event.clientX || event.pageX;
613
+ this.focusActiveHandle(x);
614
+ const position = this.translate(x);
615
+ let prop = "value";
616
+ if (isRange(this.value)) {
617
+ const inRange = position >= this.minValue && position <= this.maxValue;
618
+ if (inRange && this.lastDragProp === "minMaxValue") {
619
+ prop = "minMaxValue";
620
+ }
621
+ else {
622
+ const closerToMax = Math.abs(this.maxValue - position) < Math.abs(this.minValue - position);
623
+ prop = closerToMax || position > this.maxValue ? "maxValue" : "minValue";
624
+ }
625
+ }
626
+ this.lastDragPropValue = this[prop];
627
+ this.dragStart(prop);
628
+ const isThumbActive = this.el.shadowRoot.querySelector(".thumb:active");
629
+ if (!isThumbActive) {
630
+ this.setValue(prop, this.clamp(position, prop));
631
+ }
632
+ }
633
+ handleTouchStart(event) {
634
+ // needed to prevent extra click at the end of a handle drag
635
+ event.preventDefault();
636
+ }
637
+ //--------------------------------------------------------------------------
638
+ //
639
+ // Public Methods
640
+ //
641
+ //--------------------------------------------------------------------------
642
+ /** Sets focus on the component. */
643
+ async setFocus() {
644
+ const handle = this.minHandle ? this.minHandle : this.maxHandle;
645
+ handle === null || handle === void 0 ? void 0 : handle.focus();
646
+ }
647
+ //--------------------------------------------------------------------------
648
+ //
649
+ // Private Methods
650
+ //
651
+ //--------------------------------------------------------------------------
652
+ setValueFromMinMax() {
653
+ const { minValue, maxValue } = this;
654
+ if (typeof minValue === "number" && typeof maxValue === "number") {
655
+ this.value = [minValue, maxValue];
656
+ }
657
+ }
658
+ setMinMaxFromValue() {
659
+ const { value } = this;
660
+ if (isRange(value)) {
661
+ this.minValue = value[0];
662
+ this.maxValue = value[1];
663
+ }
664
+ }
665
+ onLabelClick() {
666
+ this.setFocus();
667
+ }
668
+ shouldMirror() {
669
+ return this.mirrored && !this.hasHistogram;
670
+ }
671
+ shouldUseMinValue() {
672
+ if (!isRange(this.value)) {
673
+ return false;
674
+ }
675
+ return ((this.hasHistogram && this.maxValue === 0) || (!this.hasHistogram && this.minValue === 0));
676
+ }
677
+ generateTickValues() {
678
+ const ticks = [];
679
+ let current = this.min;
680
+ while (this.ticks && current < this.max + this.ticks) {
681
+ ticks.push(Math.min(current, this.max));
682
+ current = current + this.ticks;
683
+ }
684
+ return ticks;
685
+ }
686
+ dragStart(prop) {
687
+ this.dragProp = prop;
688
+ this.lastDragProp = this.dragProp;
689
+ this.activeProp = prop;
690
+ document.addEventListener("pointermove", this.dragUpdate);
691
+ document.addEventListener("pointerup", this.dragEnd);
692
+ document.addEventListener("pointercancel", this.dragEnd);
693
+ }
694
+ focusActiveHandle(valueX) {
695
+ switch (this.dragProp) {
696
+ case "minValue":
697
+ this.minHandle.focus();
698
+ break;
699
+ case "maxValue":
700
+ this.maxHandle.focus();
701
+ break;
702
+ case "minMaxValue":
703
+ this.getClosestHandle(valueX).focus();
704
+ break;
705
+ }
706
+ }
707
+ emitInput() {
708
+ this.calciteSliderInput.emit();
709
+ this.calciteSliderUpdate.emit();
710
+ }
711
+ emitChange() {
712
+ this.calciteSliderChange.emit();
713
+ }
714
+ removeDragListeners() {
715
+ document.removeEventListener("pointermove", this.dragUpdate);
716
+ document.removeEventListener("pointerup", this.dragEnd);
717
+ document.removeEventListener("pointercancel", this.dragEnd);
718
+ }
719
+ /**
720
+ * Set the prop value if changed at the component level
721
+ *
722
+ * @param valueProp
723
+ * @param value
724
+ */
725
+ setValue(valueProp, value) {
726
+ const oldValue = this[valueProp];
727
+ const valueChanged = oldValue !== value;
728
+ if (!valueChanged) {
729
+ return;
730
+ }
731
+ this[valueProp] = value;
732
+ const dragging = this.dragProp;
733
+ if (!dragging) {
734
+ this.emitChange();
735
+ }
736
+ this.emitInput();
737
+ }
738
+ /**
739
+ * If number is outside range, constrain to min or max
740
+ *
741
+ * @param value
742
+ * @param prop
743
+ * @internal
744
+ */
745
+ clamp(value, prop) {
746
+ value = math.clamp(value, this.min, this.max);
747
+ // ensure that maxValue and minValue don't swap positions
748
+ if (prop === "maxValue") {
749
+ value = Math.max(value, this.minValue);
750
+ }
751
+ if (prop === "minValue") {
752
+ value = Math.min(value, this.maxValue);
753
+ }
754
+ return value;
755
+ }
756
+ /**
757
+ * Translate a pixel position to value along the range
758
+ *
759
+ * @param x
760
+ * @internal
761
+ */
762
+ translate(x) {
763
+ const range = this.max - this.min;
764
+ const { left, width } = this.trackEl.getBoundingClientRect();
765
+ const percent = (x - left) / width;
766
+ const mirror = this.shouldMirror();
767
+ const clampedValue = this.clamp(this.min + range * (mirror ? 1 - percent : percent));
768
+ let value = Number(clampedValue.toFixed(math.decimalPlaces(this.step)));
769
+ if (this.snap && this.step) {
770
+ value = this.getClosestStep(value);
771
+ }
772
+ return value;
773
+ }
774
+ /**
775
+ * Get closest allowed value along stepped values
776
+ *
777
+ * @param num
778
+ * @internal
779
+ */
780
+ getClosestStep(num) {
781
+ num = Number(this.clamp(num).toFixed(math.decimalPlaces(this.step)));
782
+ if (this.step) {
783
+ const step = Math.round(num / this.step) * this.step;
784
+ num = Number(this.clamp(step).toFixed(math.decimalPlaces(this.step)));
785
+ }
786
+ return num;
787
+ }
788
+ getClosestHandle(valueX) {
789
+ return this.getDistanceX(this.maxHandle, valueX) > this.getDistanceX(this.minHandle, valueX)
790
+ ? this.minHandle
791
+ : this.maxHandle;
792
+ }
793
+ getDistanceX(el, valueX) {
794
+ return Math.abs(el.getBoundingClientRect().left - valueX);
795
+ }
796
+ getFontSizeForElement(element) {
797
+ return Number(window.getComputedStyle(element).getPropertyValue("font-size").match(/\d+/)[0]);
798
+ }
799
+ /**
800
+ * Get position of value along range as fractional value
801
+ *
802
+ * @param num
803
+ * @return {number} number in the unit interval [0,1]
804
+ * @internal
805
+ */
806
+ getUnitInterval(num) {
807
+ num = this.clamp(num);
808
+ const range = this.max - this.min;
809
+ return (num - this.min) / range;
810
+ }
811
+ adjustHostObscuredHandleLabel(name) {
812
+ const label = this.el.shadowRoot.querySelector(`.handle__label--${name}`);
813
+ const labelStatic = this.el.shadowRoot.querySelector(`.handle__label--${name}.static`);
814
+ const labelTransformed = this.el.shadowRoot.querySelector(`.handle__label--${name}.transformed`);
815
+ const labelStaticBounds = labelStatic.getBoundingClientRect();
816
+ const labelStaticOffset = this.getHostOffset(labelStaticBounds.left, labelStaticBounds.right);
817
+ label.style.transform = `translateX(${labelStaticOffset}px)`;
818
+ labelTransformed.style.transform = `translateX(${labelStaticOffset}px)`;
819
+ }
820
+ hyphenateCollidingRangeHandleLabels() {
821
+ const { shadowRoot } = this.el;
822
+ const mirror = this.shouldMirror();
823
+ const leftModifier = mirror ? "value" : "minValue";
824
+ const rightModifier = mirror ? "minValue" : "value";
825
+ const leftValueLabel = shadowRoot.querySelector(`.handle__label--${leftModifier}`);
826
+ const leftValueLabelStatic = shadowRoot.querySelector(`.handle__label--${leftModifier}.static`);
827
+ const leftValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${leftModifier}.transformed`);
828
+ const leftValueLabelStaticHostOffset = this.getHostOffset(leftValueLabelStatic.getBoundingClientRect().left, leftValueLabelStatic.getBoundingClientRect().right);
829
+ const rightValueLabel = shadowRoot.querySelector(`.handle__label--${rightModifier}`);
830
+ const rightValueLabelStatic = shadowRoot.querySelector(`.handle__label--${rightModifier}.static`);
831
+ const rightValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${rightModifier}.transformed`);
832
+ const rightValueLabelStaticHostOffset = this.getHostOffset(rightValueLabelStatic.getBoundingClientRect().left, rightValueLabelStatic.getBoundingClientRect().right);
833
+ const labelFontSize = this.getFontSizeForElement(leftValueLabel);
834
+ const labelTransformedOverlap = this.getRangeLabelOverlap(leftValueLabelTransformed, rightValueLabelTransformed);
835
+ const hyphenLabel = leftValueLabel;
836
+ const labelOffset = labelFontSize / 2;
837
+ if (labelTransformedOverlap > 0) {
838
+ hyphenLabel.classList.add("hyphen", "hyphen--wrap");
839
+ if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
840
+ // Neither handle overlaps the host boundary
841
+ let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
842
+ leftValueLabelTranslate =
843
+ Math.sign(leftValueLabelTranslate) === -1
844
+ ? Math.abs(leftValueLabelTranslate)
845
+ : -leftValueLabelTranslate;
846
+ const leftValueLabelTransformedHostOffset = this.getHostOffset(leftValueLabelTransformed.getBoundingClientRect().left +
847
+ leftValueLabelTranslate -
848
+ labelOffset, leftValueLabelTransformed.getBoundingClientRect().right +
849
+ leftValueLabelTranslate -
850
+ labelOffset);
851
+ let rightValueLabelTranslate = labelTransformedOverlap / 2;
852
+ const rightValueLabelTransformedHostOffset = this.getHostOffset(rightValueLabelTransformed.getBoundingClientRect().left + rightValueLabelTranslate, rightValueLabelTransformed.getBoundingClientRect().right + rightValueLabelTranslate);
853
+ if (leftValueLabelTransformedHostOffset !== 0) {
854
+ leftValueLabelTranslate += leftValueLabelTransformedHostOffset;
855
+ rightValueLabelTranslate += leftValueLabelTransformedHostOffset;
856
+ }
857
+ if (rightValueLabelTransformedHostOffset !== 0) {
858
+ leftValueLabelTranslate += rightValueLabelTransformedHostOffset;
859
+ rightValueLabelTranslate += rightValueLabelTransformedHostOffset;
860
+ }
861
+ leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
862
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
863
+ rightValueLabel.style.transform = `translateX(${rightValueLabelTranslate}px)`;
864
+ rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelTranslate}px)`;
865
+ }
866
+ else if (leftValueLabelStaticHostOffset > 0 || rightValueLabelStaticHostOffset > 0) {
867
+ // labels overlap host boundary on the left side
868
+ leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset + labelOffset}px)`;
869
+ rightValueLabel.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
870
+ rightValueLabelTransformed.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
871
+ }
872
+ else if (leftValueLabelStaticHostOffset < 0 || rightValueLabelStaticHostOffset < 0) {
873
+ // labels overlap host boundary on the right side
874
+ let leftValueLabelTranslate = Math.abs(leftValueLabelStaticHostOffset) + labelTransformedOverlap - labelOffset;
875
+ leftValueLabelTranslate =
876
+ Math.sign(leftValueLabelTranslate) === -1
877
+ ? Math.abs(leftValueLabelTranslate)
878
+ : -leftValueLabelTranslate;
879
+ leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
880
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
881
+ }
882
+ }
883
+ else {
884
+ hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
885
+ leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
886
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
887
+ rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
888
+ rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
889
+ }
890
+ }
891
+ /**
892
+ * Hides bounding tick labels that are obscured by either handle.
893
+ */
894
+ hideObscuredBoundingTickLabels() {
895
+ const valueIsRange = isRange(this.value);
896
+ if (!this.hasHistogram && !valueIsRange && !this.labelHandles && !this.precise) {
897
+ return;
898
+ }
899
+ if (!this.hasHistogram && !valueIsRange && this.labelHandles && !this.precise) {
900
+ return;
901
+ }
902
+ if (!this.hasHistogram && !valueIsRange && !this.labelHandles && this.precise) {
903
+ return;
904
+ }
905
+ if (!this.hasHistogram && !valueIsRange && this.labelHandles && this.precise) {
906
+ return;
907
+ }
908
+ if (!this.hasHistogram && valueIsRange && !this.precise) {
909
+ return;
910
+ }
911
+ if (this.hasHistogram && !this.precise && !this.labelHandles) {
912
+ return;
913
+ }
914
+ const minHandle = this.el.shadowRoot.querySelector(".thumb--minValue");
915
+ const maxHandle = this.el.shadowRoot.querySelector(".thumb--value");
916
+ const minTickLabel = this.el.shadowRoot.querySelector(".tick__label--min");
917
+ const maxTickLabel = this.el.shadowRoot.querySelector(".tick__label--max");
918
+ if (!minHandle && maxHandle && minTickLabel && maxTickLabel) {
919
+ minTickLabel.style.opacity = this.isMinTickLabelObscured(minTickLabel, maxHandle) ? "0" : "1";
920
+ maxTickLabel.style.opacity = this.isMaxTickLabelObscured(maxTickLabel, maxHandle) ? "0" : "1";
921
+ }
922
+ if (minHandle && maxHandle && minTickLabel && maxTickLabel) {
923
+ minTickLabel.style.opacity =
924
+ this.isMinTickLabelObscured(minTickLabel, minHandle) ||
925
+ this.isMinTickLabelObscured(minTickLabel, maxHandle)
926
+ ? "0"
927
+ : "1";
928
+ maxTickLabel.style.opacity =
929
+ this.isMaxTickLabelObscured(maxTickLabel, minHandle) ||
930
+ (this.isMaxTickLabelObscured(maxTickLabel, maxHandle) && this.hasHistogram)
931
+ ? "0"
932
+ : "1";
933
+ }
934
+ }
935
+ /**
936
+ * Returns an integer representing the number of pixels to offset on the left or right side based on desired position behavior.
937
+ *
938
+ * @param leftBounds
939
+ * @param rightBounds
940
+ * @internal
941
+ */
942
+ getHostOffset(leftBounds, rightBounds) {
943
+ const hostBounds = this.el.getBoundingClientRect();
944
+ const buffer = 7;
945
+ if (leftBounds + buffer < hostBounds.left) {
946
+ return hostBounds.left - leftBounds - buffer;
947
+ }
948
+ if (rightBounds - buffer > hostBounds.right) {
949
+ return -(rightBounds - hostBounds.right) + buffer;
950
+ }
951
+ return 0;
952
+ }
953
+ /**
954
+ * Returns an integer representing the number of pixels that the two given span elements are overlapping, taking into account
955
+ * a space in between the two spans equal to the font-size set on them to account for the space needed to render a hyphen.
956
+ *
957
+ * @param leftLabel
958
+ * @param rightLabel
959
+ */
960
+ getRangeLabelOverlap(leftLabel, rightLabel) {
961
+ const leftLabelBounds = leftLabel.getBoundingClientRect();
962
+ const rightLabelBounds = rightLabel.getBoundingClientRect();
963
+ const leftLabelFontSize = this.getFontSizeForElement(leftLabel);
964
+ const rangeLabelOverlap = leftLabelBounds.right + leftLabelFontSize - rightLabelBounds.left;
965
+ return Math.max(rangeLabelOverlap, 0);
966
+ }
967
+ /**
968
+ * Returns a boolean value representing if the minLabel span element is obscured (being overlapped) by the given handle div element.
969
+ *
970
+ * @param minLabel
971
+ * @param handle
972
+ */
973
+ isMinTickLabelObscured(minLabel, handle) {
974
+ const minLabelBounds = minLabel.getBoundingClientRect();
975
+ const handleBounds = handle.getBoundingClientRect();
976
+ return dom.intersects(minLabelBounds, handleBounds);
977
+ }
978
+ /**
979
+ * Returns a boolean value representing if the maxLabel span element is obscured (being overlapped) by the given handle div element.
980
+ *
981
+ * @param maxLabel
982
+ * @param handle
983
+ */
984
+ isMaxTickLabelObscured(maxLabel, handle) {
985
+ const maxLabelBounds = maxLabel.getBoundingClientRect();
986
+ const handleBounds = handle.getBoundingClientRect();
987
+ return dom.intersects(maxLabelBounds, handleBounds);
988
+ }
989
+ get el() { return index.getElement(this); }
990
+ static get watchers() { return {
991
+ "histogram": ["histogramWatcher"],
992
+ "value": ["valueHandler"],
993
+ "minValue": ["minMaxValueHandler"],
994
+ "maxValue": ["minMaxValueHandler"]
995
+ }; }
996
+ };
997
997
  Slider.style = sliderCss;
998
998
 
999
999
  exports.calcite_graph = Graph;