@nasa-terra/components 0.0.43 → 0.0.44

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 (329) hide show
  1. package/cdn/chunks/{chunk.KJ4BZBTX.js → chunk.27EMK3NO.js} +16 -4
  2. package/cdn/chunks/chunk.2BFX62WX.js +21 -0
  3. package/cdn/chunks/{chunk.CH45CXZY.js → chunk.2ZL3QN2E.js} +1 -1
  4. package/cdn/chunks/{chunk.L5Q6MO7Q.js → chunk.3I2TF7C4.js} +1 -1
  5. package/cdn/chunks/{chunk.XAQF3BDY.js → chunk.4DO5RUBU.js} +1 -1
  6. package/cdn/chunks/{chunk.SNULTXLY.js → chunk.4UYNOT7W.js} +1 -1
  7. package/{dist/chunks/chunk.CPI32ZAZ.js → cdn/chunks/chunk.4VENQJPO.js} +1 -1
  8. package/cdn/chunks/{chunk.XTDVJMOY.js → chunk.4YMYCX75.js} +1 -1
  9. package/cdn/chunks/{chunk.S4INEVCC.js → chunk.5BHGM65J.js} +10 -10
  10. package/cdn/chunks/{chunk.ZJAN35CA.js → chunk.5BZ4EDIL.js} +1 -1
  11. package/cdn/chunks/{chunk.2GGZHPMT.js → chunk.6EHGJWBN.js} +10 -10
  12. package/cdn/chunks/{chunk.MUAWDIKB.js → chunk.6NEMJOXS.js} +2 -2
  13. package/cdn/chunks/{chunk.FBCYHMRV.js → chunk.6UN7FSXA.js} +4 -4
  14. package/cdn/chunks/chunk.754XAIN7.js +39 -0
  15. package/{dist/chunks/chunk.LNGXE27U.js → cdn/chunks/chunk.7MU72IVZ.js} +1 -1
  16. package/cdn/chunks/{chunk.BKOLMPIY.js → chunk.ALXMBVVZ.js} +3 -3
  17. package/cdn/chunks/{chunk.4XFHUWXK.js → chunk.BW6HVRN4.js} +1 -1
  18. package/{dist/chunks/chunk.FLB4JM62.js → cdn/chunks/chunk.BXSJFGGP.js} +1 -1
  19. package/cdn/chunks/{chunk.OGI7F4SN.js → chunk.CN4PWRCO.js} +1 -1
  20. package/cdn/chunks/chunk.CXMIJOGY.js +11 -0
  21. package/cdn/chunks/chunk.E32UNFUD.js +187 -0
  22. package/{dist/chunks/chunk.V7QPBR74.js → cdn/chunks/chunk.EABPJM4K.js} +1 -1
  23. package/cdn/chunks/{chunk.3JPFQJXJ.js → chunk.EDHE5LYN.js} +9 -9
  24. package/cdn/chunks/{chunk.RGXPGRGO.js → chunk.EMBXVUIE.js} +1 -1
  25. package/cdn/chunks/{chunk.UJXGVWQA.js → chunk.EWAYMWRC.js} +1 -1
  26. package/cdn/chunks/{chunk.7HEVEWEJ.js → chunk.G3KUAHGF.js} +15 -15
  27. package/{dist/chunks/chunk.5SCGJTRA.js → cdn/chunks/chunk.GCAMRTXJ.js} +1 -1
  28. package/cdn/chunks/{chunk.RBDPBQSI.js → chunk.GL6JG3XV.js} +1 -1
  29. package/cdn/chunks/{chunk.WI5HA4EV.js → chunk.GYLB33OZ.js} +1 -1
  30. package/{dist/chunks/chunk.4CGQC6VG.js → cdn/chunks/chunk.GZHR4GPY.js} +1 -1
  31. package/cdn/chunks/{chunk.IAPB27AW.js → chunk.H23L4QKO.js} +6 -6
  32. package/cdn/chunks/{chunk.5TCPFCD2.js → chunk.HD45UIMB.js} +7 -7
  33. package/{dist/chunks/chunk.N2FQ2MRM.js → cdn/chunks/chunk.HWTTKAUR.js} +1 -1
  34. package/cdn/chunks/{chunk.ANZFZPPU.js → chunk.IL7RNVV6.js} +84 -27
  35. package/{dist/chunks/chunk.H7YVB7XB.js → cdn/chunks/chunk.JACHBLN5.js} +1 -1
  36. package/{dist/chunks/chunk.T6R6HWM7.js → cdn/chunks/chunk.JQETEJPO.js} +1 -1
  37. package/cdn/chunks/{chunk.TY7DVGTP.js → chunk.K23IQJ74.js} +5 -5
  38. package/cdn/chunks/{chunk.BPNFS4ED.js → chunk.K6GAF43H.js} +1 -1
  39. package/cdn/chunks/{chunk.JZBUILMZ.js → chunk.KIR56MAA.js} +50 -6
  40. package/cdn/chunks/{chunk.NL52F475.js → chunk.KK22KVB3.js} +1 -1
  41. package/cdn/chunks/{chunk.QUT2NHTH.js → chunk.KTWUFC2X.js} +1 -1
  42. package/cdn/chunks/{chunk.FROJF7FV.js → chunk.KXV2VFRZ.js} +2 -2
  43. package/cdn/chunks/{chunk.XGH62P7U.js → chunk.LIQO4PBF.js} +1 -1
  44. package/{dist/chunks/chunk.AFI6EDPJ.js → cdn/chunks/chunk.LJJH36WV.js} +1 -1
  45. package/cdn/chunks/{chunk.4T3FDB6X.js → chunk.MV5I3VKS.js} +1 -1
  46. package/cdn/chunks/{chunk.E6NS2XK6.js → chunk.OEZDKHKJ.js} +1 -1
  47. package/cdn/chunks/{chunk.XJVNZTEE.js → chunk.OW6RZGKY.js} +1 -1
  48. package/cdn/chunks/{chunk.GGDBLPBD.js → chunk.PKYRPEMV.js} +1 -1
  49. package/{dist/chunks/chunk.WSTFOCG3.js → cdn/chunks/chunk.QRIUCU7O.js} +1 -1
  50. package/{dist/chunks/chunk.YS5RGF3Z.js → cdn/chunks/chunk.QY4XLR3T.js} +1 -1
  51. package/cdn/chunks/{chunk.HNZE7Q25.js → chunk.RMO3MGXB.js} +1 -1
  52. package/cdn/chunks/{chunk.D2R6EOTB.js → chunk.SRPUN5BY.js} +1 -1
  53. package/{dist/chunks/chunk.QIA6DTTP.js → cdn/chunks/chunk.SUGFD7E6.js} +1 -1
  54. package/cdn/chunks/chunk.TIU73DG7.js +601 -0
  55. package/cdn/chunks/{chunk.Q6QGJGPK.js → chunk.UKALN6V5.js} +1 -1
  56. package/cdn/chunks/{chunk.ESMJ3XDS.js → chunk.USSYORDO.js} +1 -1
  57. package/cdn/chunks/{chunk.HY2OIJPI.js → chunk.UZCXIGUR.js} +1 -1
  58. package/cdn/chunks/{chunk.HPB6CXCO.js → chunk.VSQYJO47.js} +1 -1
  59. package/cdn/chunks/{chunk.D7BYLJCK.js → chunk.WMCV5DKE.js} +10 -10
  60. package/cdn/chunks/{chunk.ELAWVWEZ.js → chunk.XO3SOVHY.js} +2 -29
  61. package/cdn/chunks/chunk.XU3NXPIM.js +193 -0
  62. package/cdn/chunks/{chunk.T6H2MZZI.js → chunk.Y7I2RXN6.js} +1 -10
  63. package/cdn/chunks/{chunk.ZU6ADSVN.js → chunk.YCRGAL67.js} +1 -1
  64. package/cdn/chunks/chunk.YIABHSHN.js +505 -0
  65. package/cdn/chunks/{chunk.WQQBVCL5.js → chunk.ZHZZPGPK.js} +1 -1
  66. package/{dist/chunks/chunk.37HULH6M.js → cdn/chunks/chunk.ZXAVHSML.js} +1 -1
  67. package/cdn/chunks/{chunk.KAY2II66.js → chunk.ZY5TXYJA.js} +1 -1
  68. package/cdn/components/browse-variables/browse-variables.component.js +22 -21
  69. package/cdn/components/browse-variables/browse-variables.controller.js +4 -2
  70. package/cdn/components/browse-variables/browse-variables.js +23 -22
  71. package/cdn/components/browse-variables/browse-variables.types.d.ts +8 -0
  72. package/cdn/components/button/button.component.js +3 -3
  73. package/cdn/components/button/button.js +4 -4
  74. package/cdn/components/chip/chip.component.js +2 -2
  75. package/cdn/components/chip/chip.js +3 -3
  76. package/cdn/components/combobox/combobox.component.js +5 -5
  77. package/cdn/components/combobox/combobox.js +6 -6
  78. package/cdn/components/data-rods/data-rods.component.d.ts +57 -0
  79. package/cdn/components/data-rods/data-rods.component.js +62 -0
  80. package/cdn/components/data-rods/data-rods.d.ts +8 -0
  81. package/cdn/components/data-rods/data-rods.js +63 -0
  82. package/cdn/components/data-rods/data-rods.styles.d.ts +2 -0
  83. package/cdn/components/data-rods/data-rods.styles.js +9 -0
  84. package/cdn/components/date-picker/date-picker.component.js +2 -2
  85. package/cdn/components/date-picker/date-picker.js +3 -3
  86. package/cdn/components/date-range-slider/date-range-slider.component.js +5 -6
  87. package/cdn/components/date-range-slider/date-range-slider.js +6 -7
  88. package/cdn/components/dialog/dialog.component.js +2 -2
  89. package/cdn/components/dialog/dialog.js +3 -3
  90. package/cdn/components/icon/icon.component.js +4 -4
  91. package/cdn/components/icon/icon.js +5 -5
  92. package/cdn/components/icon/library.js +2 -2
  93. package/cdn/components/loader/loader.component.js +2 -2
  94. package/cdn/components/loader/loader.js +3 -3
  95. package/cdn/components/login/login.component.js +12 -12
  96. package/cdn/components/login/login.js +13 -13
  97. package/cdn/components/map/leaflet-draw.styles.js +1 -1
  98. package/cdn/components/map/leaflet-utils.js +1 -1
  99. package/cdn/components/map/map.component.js +6 -6
  100. package/cdn/components/map/map.js +7 -7
  101. package/cdn/components/plot/plot.component.js +2 -2
  102. package/cdn/components/plot/plot.js +3 -3
  103. package/cdn/components/skeleton/skeleton.component.js +4 -4
  104. package/cdn/components/skeleton/skeleton.js +5 -5
  105. package/cdn/components/spatial-picker/spatial-picker.component.d.ts +8 -0
  106. package/cdn/components/spatial-picker/spatial-picker.component.js +7 -7
  107. package/cdn/components/spatial-picker/spatial-picker.js +8 -8
  108. package/cdn/components/time-series/time-series.component.d.ts +8 -49
  109. package/cdn/components/time-series/time-series.component.js +16 -39
  110. package/cdn/components/time-series/time-series.controller.d.ts +6 -9
  111. package/cdn/components/time-series/time-series.controller.js +3 -3
  112. package/cdn/components/time-series/time-series.js +17 -40
  113. package/cdn/components/time-series/time-series.styles.js +1 -1
  114. package/cdn/components/time-series/time-series.types.d.ts +1 -1
  115. package/cdn/components/variable-combobox/lib.js +1 -1
  116. package/cdn/components/variable-combobox/variable-combobox.component.js +13 -13
  117. package/cdn/components/variable-combobox/variable-combobox.controller.js +3 -3
  118. package/cdn/components/variable-combobox/variable-combobox.js +14 -14
  119. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +16 -14
  120. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.js +4 -2
  121. package/cdn/components/variable-keyword-search/variable-keyword-search.js +17 -15
  122. package/cdn/custom-elements.json +1644 -1603
  123. package/cdn/events/terra-time-series-data-change.d.ts +2 -2
  124. package/cdn/react/browse-variables/index.js +23 -22
  125. package/cdn/react/button/index.js +4 -4
  126. package/cdn/react/chip/index.js +3 -3
  127. package/cdn/react/combobox/index.js +6 -6
  128. package/cdn/react/data-rods/index.d.ts +9 -0
  129. package/cdn/react/data-rods/index.js +63 -0
  130. package/cdn/react/date-picker/index.js +3 -3
  131. package/cdn/react/date-range-slider/index.js +6 -7
  132. package/cdn/react/dialog/index.js +3 -3
  133. package/cdn/react/icon/index.js +5 -5
  134. package/cdn/react/index.d.ts +4 -3
  135. package/cdn/react/index.js +89 -85
  136. package/cdn/react/loader/index.js +3 -3
  137. package/cdn/react/login/index.js +13 -13
  138. package/cdn/react/map/index.js +7 -7
  139. package/cdn/react/plot/index.js +3 -3
  140. package/cdn/react/skeleton/index.js +5 -5
  141. package/cdn/react/spatial-picker/index.js +8 -8
  142. package/cdn/react/time-series/index.d.ts +0 -2
  143. package/cdn/react/time-series/index.js +17 -40
  144. package/cdn/react/variable-combobox/index.js +14 -14
  145. package/cdn/react/variable-keyword-search/index.js +17 -15
  146. package/cdn/terra-ui-components.d.ts +1 -0
  147. package/cdn/terra-ui-components.js +86 -81
  148. package/cdn/types/vue/index.d.ts +140 -121
  149. package/cdn/utilities/animation.js +2 -2
  150. package/cdn/utilities/date.d.ts +8 -0
  151. package/cdn/utilities/date.js +5 -2
  152. package/cdn/utilities/icon-library.js +2 -2
  153. package/cdn/variable-catalog/giovanni-variable-catalog.d.ts +4 -0
  154. package/cdn/variable-catalog/queries.d.ts +1 -0
  155. package/cdn/variable-catalog/types.d.ts +15 -0
  156. package/cdn/vscode.html-custom-data.json +130 -89
  157. package/cdn/web-types.json +266 -219
  158. package/{cdn/chunks/chunk.GZEUJ2JS.js → dist/chunks/chunk.32RDASOD.js} +1 -1
  159. package/dist/chunks/{chunk.M6QZS4UJ.js → chunk.33MT36PS.js} +3 -3
  160. package/{cdn/chunks/chunk.RJCMYVMK.js → dist/chunks/chunk.352OXOVF.js} +1 -1
  161. package/dist/chunks/{chunk.4AOEB4BK.js → chunk.3B622XLR.js} +2 -2
  162. package/{cdn/chunks/chunk.YYL6BIZT.js → dist/chunks/chunk.52RLSCIQ.js} +1 -1
  163. package/dist/chunks/{chunk.E4LMDFCL.js → chunk.56MFLZCU.js} +1 -1
  164. package/dist/chunks/{chunk.O5QN7EQO.js → chunk.5BT6LJZ6.js} +1 -1
  165. package/{cdn/chunks/chunk.CANVOVRP.js → dist/chunks/chunk.5DABND4A.js} +1 -1
  166. package/{cdn/chunks/chunk.5HHHG4SV.js → dist/chunks/chunk.6MJHY2LT.js} +1 -1
  167. package/dist/chunks/chunk.7JBFBZ5C.js +27 -0
  168. package/dist/chunks/{chunk.MILUFBKY.js → chunk.7MYJSSR2.js} +1 -1
  169. package/dist/chunks/{chunk.WAIWLZ6Z.js → chunk.7OWQQEAP.js} +83 -26
  170. package/{cdn/chunks/chunk.YUAVRIVY.js → dist/chunks/chunk.A47KLFGG.js} +1 -1
  171. package/{cdn/chunks/chunk.LFJJNF7C.js → dist/chunks/chunk.A7Q6OO46.js} +1 -1
  172. package/dist/chunks/{chunk.X4377OEL.js → chunk.ABNZX7AU.js} +6 -6
  173. package/dist/chunks/{chunk.NL2R2NSO.js → chunk.AY7TGBWI.js} +2 -31
  174. package/dist/chunks/{chunk.6YWP3FBT.js → chunk.C6ZJJG4V.js} +1 -1
  175. package/{cdn/chunks/chunk.7BF65WWU.js → dist/chunks/chunk.CHZXTZZ6.js} +1 -1
  176. package/dist/chunks/{chunk.GHEMW42S.js → chunk.CKS4QWQE.js} +1 -1
  177. package/dist/chunks/{chunk.TWPOB6FJ.js → chunk.CTKWZYCZ.js} +1 -1
  178. package/dist/chunks/{chunk.ENYPV32S.js → chunk.DCR4GMG7.js} +6 -6
  179. package/dist/chunks/{chunk.RXZPXAB4.js → chunk.DIKJ5W4E.js} +50 -6
  180. package/dist/chunks/{chunk.OFKYTBNH.js → chunk.E2DOVBIM.js} +1 -1
  181. package/dist/chunks/{chunk.SZGKWCF3.js → chunk.EBTGXENT.js} +1 -1
  182. package/dist/chunks/{chunk.KD3R2URP.js → chunk.EDJCUWA4.js} +1 -1
  183. package/dist/chunks/{chunk.MZHCB5V5.js → chunk.ESECO74J.js} +1 -1
  184. package/dist/chunks/{chunk.YQPJQSUN.js → chunk.FJY7NGMR.js} +1 -1
  185. package/dist/chunks/{chunk.KOMSLHFU.js → chunk.HKMS63V6.js} +1 -1
  186. package/{cdn/chunks/chunk.BRFSUY5D.js → dist/chunks/chunk.IEQVLL66.js} +1 -1
  187. package/dist/chunks/{chunk.7P5EOY66.js → chunk.IQ2JFSLH.js} +4 -4
  188. package/dist/chunks/{chunk.5EHGVGXV.js → chunk.K2IRF2QI.js} +1 -10
  189. package/dist/chunks/{chunk.FAYNPOTP.js → chunk.KGKLK3DV.js} +1 -1
  190. package/dist/chunks/{chunk.QM5FOCP6.js → chunk.KKSEBQNV.js} +1 -1
  191. package/dist/chunks/chunk.LCOAWJU6.js +588 -0
  192. package/dist/chunks/{chunk.JFAR45NP.js → chunk.LF3ESETA.js} +1 -1
  193. package/dist/chunks/{chunk.JGX3UBBP.js → chunk.LFVSYBJ6.js} +1 -1
  194. package/dist/chunks/{chunk.5AOSWMDT.js → chunk.LFZXSVJS.js} +1 -1
  195. package/dist/chunks/{chunk.NDYEIMNI.js → chunk.LJOF4Z47.js} +7 -7
  196. package/dist/chunks/{chunk.OMJNBUCH.js → chunk.M4PEGCWF.js} +12 -12
  197. package/dist/chunks/{chunk.JTXEL73L.js → chunk.M7XZCYLE.js} +1 -1
  198. package/dist/chunks/{chunk.67I5KKLX.js → chunk.MHW3M233.js} +1 -1
  199. package/dist/chunks/{chunk.QDWCCDUY.js → chunk.MXH5Q7I5.js} +1 -1
  200. package/dist/chunks/{chunk.HJTPJ2RC.js → chunk.NJ5NIZJK.js} +1 -1
  201. package/dist/chunks/{chunk.4XAV4ODI.js → chunk.NR52OX3V.js} +1 -1
  202. package/dist/chunks/{chunk.UPG6O57L.js → chunk.OYJLDWJF.js} +1 -1
  203. package/dist/chunks/{chunk.AAWOHDFX.js → chunk.P442U2FF.js} +16 -4
  204. package/{cdn/chunks/chunk.3GLWKAG4.js → dist/chunks/chunk.PGUBFDZW.js} +1 -1
  205. package/{cdn/chunks/chunk.HWT242NM.js → dist/chunks/chunk.QK4DTBQI.js} +1 -1
  206. package/dist/chunks/{chunk.TCMWMNOB.js → chunk.QKGUST2I.js} +5 -5
  207. package/{cdn/chunks/chunk.TVULBZN7.js → dist/chunks/chunk.RC5E6NBB.js} +1 -1
  208. package/dist/chunks/chunk.ROVNWARW.js +21 -0
  209. package/{cdn/chunks/chunk.7SSKWW2H.js → dist/chunks/chunk.SL3QWNRH.js} +1 -1
  210. package/dist/chunks/chunk.TFI3UXXB.js +193 -0
  211. package/dist/chunks/chunk.UDS7BHM7.js +180 -0
  212. package/dist/chunks/{chunk.W2CS6IVI.js → chunk.UHD5HEEK.js} +1 -1
  213. package/{cdn/chunks/chunk.MNRRHWDX.js → dist/chunks/chunk.ULVN2SXP.js} +1 -1
  214. package/dist/chunks/chunk.UOP2MA5G.js +11 -0
  215. package/dist/chunks/{chunk.5LMWCV76.js → chunk.V3YFBP3T.js} +1 -1
  216. package/dist/chunks/{chunk.MS3DCXPP.js → chunk.V626KHDN.js} +1 -1
  217. package/dist/chunks/{chunk.H22DYLKA.js → chunk.VHF2RWLV.js} +5 -5
  218. package/dist/chunks/{chunk.QHNJQDE5.js → chunk.VYB75K7O.js} +1 -1
  219. package/dist/chunks/{chunk.E4PWWMRO.js → chunk.WRORP5RY.js} +1 -1
  220. package/dist/chunks/{chunk.XR6W57RO.js → chunk.XU3O2MRF.js} +1 -1
  221. package/dist/chunks/{chunk.ZLAVT4EU.js → chunk.YELLRFJE.js} +7 -7
  222. package/dist/chunks/chunk.ZIB2YERI.js +36 -0
  223. package/dist/chunks/{chunk.OOLLCVNR.js → chunk.ZWQU3GYF.js} +1 -1
  224. package/dist/components/browse-variables/browse-variables.component.js +18 -17
  225. package/dist/components/browse-variables/browse-variables.controller.js +4 -2
  226. package/dist/components/browse-variables/browse-variables.js +19 -18
  227. package/dist/components/browse-variables/browse-variables.types.d.ts +8 -0
  228. package/dist/components/button/button.component.js +2 -2
  229. package/dist/components/button/button.js +3 -3
  230. package/dist/components/chip/chip.component.js +2 -2
  231. package/dist/components/chip/chip.js +3 -3
  232. package/dist/components/combobox/combobox.component.js +2 -2
  233. package/dist/components/combobox/combobox.js +3 -3
  234. package/dist/components/data-rods/data-rods.component.d.ts +57 -0
  235. package/dist/components/data-rods/data-rods.component.js +47 -0
  236. package/dist/components/data-rods/data-rods.d.ts +8 -0
  237. package/dist/components/data-rods/data-rods.js +48 -0
  238. package/dist/components/data-rods/data-rods.styles.d.ts +2 -0
  239. package/dist/components/data-rods/data-rods.styles.js +7 -0
  240. package/dist/components/date-picker/date-picker.component.js +2 -2
  241. package/dist/components/date-picker/date-picker.js +3 -3
  242. package/dist/components/date-range-slider/date-range-slider.component.js +4 -4
  243. package/dist/components/date-range-slider/date-range-slider.js +5 -5
  244. package/dist/components/dialog/dialog.component.js +2 -2
  245. package/dist/components/dialog/dialog.js +3 -3
  246. package/dist/components/icon/icon.component.js +4 -4
  247. package/dist/components/icon/icon.js +5 -5
  248. package/dist/components/icon/library.js +2 -2
  249. package/dist/components/loader/loader.component.js +2 -2
  250. package/dist/components/loader/loader.js +3 -3
  251. package/dist/components/login/login.component.js +10 -10
  252. package/dist/components/login/login.js +11 -11
  253. package/dist/components/map/leaflet-draw.styles.js +1 -1
  254. package/dist/components/map/leaflet-utils.js +1 -1
  255. package/dist/components/map/map.component.js +5 -5
  256. package/dist/components/map/map.js +6 -6
  257. package/dist/components/plot/plot.component.js +2 -2
  258. package/dist/components/plot/plot.js +3 -3
  259. package/dist/components/skeleton/skeleton.component.js +2 -2
  260. package/dist/components/skeleton/skeleton.js +3 -3
  261. package/dist/components/spatial-picker/spatial-picker.component.d.ts +8 -0
  262. package/dist/components/spatial-picker/spatial-picker.component.js +6 -6
  263. package/dist/components/spatial-picker/spatial-picker.js +7 -7
  264. package/dist/components/time-series/time-series.component.d.ts +8 -49
  265. package/dist/components/time-series/time-series.component.js +13 -31
  266. package/dist/components/time-series/time-series.controller.d.ts +6 -9
  267. package/dist/components/time-series/time-series.controller.js +2 -1
  268. package/dist/components/time-series/time-series.js +14 -32
  269. package/dist/components/time-series/time-series.styles.js +1 -1
  270. package/dist/components/time-series/time-series.types.d.ts +1 -1
  271. package/dist/components/variable-combobox/lib.js +1 -1
  272. package/dist/components/variable-combobox/variable-combobox.component.js +10 -10
  273. package/dist/components/variable-combobox/variable-combobox.controller.js +2 -2
  274. package/dist/components/variable-combobox/variable-combobox.js +11 -11
  275. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +13 -11
  276. package/dist/components/variable-keyword-search/variable-keyword-search.controller.js +3 -1
  277. package/dist/components/variable-keyword-search/variable-keyword-search.js +14 -12
  278. package/dist/custom-elements.json +1644 -1603
  279. package/dist/events/terra-time-series-data-change.d.ts +2 -2
  280. package/dist/react/browse-variables/index.js +19 -18
  281. package/dist/react/button/index.js +3 -3
  282. package/dist/react/chip/index.js +3 -3
  283. package/dist/react/combobox/index.js +3 -3
  284. package/dist/react/data-rods/index.d.ts +9 -0
  285. package/dist/react/data-rods/index.js +48 -0
  286. package/dist/react/date-picker/index.js +3 -3
  287. package/dist/react/date-range-slider/index.js +5 -5
  288. package/dist/react/dialog/index.js +3 -3
  289. package/dist/react/icon/index.js +5 -5
  290. package/dist/react/index.d.ts +4 -3
  291. package/dist/react/index.js +83 -78
  292. package/dist/react/loader/index.js +3 -3
  293. package/dist/react/login/index.js +11 -11
  294. package/dist/react/map/index.js +6 -6
  295. package/dist/react/plot/index.js +3 -3
  296. package/dist/react/skeleton/index.js +3 -3
  297. package/dist/react/spatial-picker/index.js +7 -7
  298. package/dist/react/time-series/index.d.ts +0 -2
  299. package/dist/react/time-series/index.js +14 -32
  300. package/dist/react/variable-combobox/index.js +11 -11
  301. package/dist/react/variable-keyword-search/index.js +14 -12
  302. package/dist/terra-ui-components.d.ts +1 -0
  303. package/dist/terra-ui-components.js +79 -73
  304. package/dist/{terra_ui_components-0.0.43-py3-none-any.whl → terra_ui_components-0.0.44-py3-none-any.whl} +0 -0
  305. package/dist/{terra_ui_components-0.0.43.tar.gz → terra_ui_components-0.0.44.tar.gz} +0 -0
  306. package/dist/types/vue/index.d.ts +140 -121
  307. package/dist/utilities/date.d.ts +8 -0
  308. package/dist/utilities/date.js +5 -1
  309. package/dist/utilities/icon-library.js +2 -2
  310. package/dist/variable-catalog/giovanni-variable-catalog.d.ts +4 -0
  311. package/dist/variable-catalog/queries.d.ts +1 -0
  312. package/dist/variable-catalog/types.d.ts +15 -0
  313. package/dist/vscode.html-custom-data.json +130 -89
  314. package/dist/web-types.json +266 -219
  315. package/package.json +1 -1
  316. package/cdn/chunks/chunk.46IWBVYP.js +0 -13
  317. package/cdn/chunks/chunk.FRHQ2JZY.js +0 -30
  318. package/cdn/chunks/chunk.GD2FHNDE.js +0 -1131
  319. package/cdn/chunks/chunk.TNVTVMRS.js +0 -36
  320. package/cdn/components/browse-variables/repositories/giovanni.repository.d.ts +0 -8
  321. package/cdn/components/browse-variables/repositories/giovanni.repository.js +0 -7
  322. package/dist/chunks/chunk.4TEZ5QPN.js +0 -671
  323. package/dist/chunks/chunk.OIDMX5LU.js +0 -10
  324. package/dist/chunks/chunk.TNVTVMRS.js +0 -36
  325. package/dist/components/browse-variables/repositories/giovanni.repository.d.ts +0 -8
  326. package/dist/components/browse-variables/repositories/giovanni.repository.js +0 -7
  327. package/cdn/chunks/{chunk.7DOMZGX7.js → chunk.MDRUDBRH.js} +3 -3
  328. package/cdn/chunks/{chunk.LOCO37M5.js → chunk.X2C7E56W.js} +3 -3
  329. package/dist/chunks/{chunk.7DOMZGX7.js → chunk.MDRUDBRH.js} +3 -3
@@ -4,250 +4,695 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "components/browse-variables/browse-variables.js",
7
+ "path": "components/button/button.js",
8
8
  "declarations": [
9
9
  {
10
10
  "kind": "class",
11
11
  "description": "",
12
- "name": "TerraBrowseVariables",
12
+ "name": "TerraButton",
13
+ "cssParts": [
14
+ {
15
+ "description": "The component's base wrapper.",
16
+ "name": "base"
17
+ },
18
+ {
19
+ "description": "The container that wraps the prefix.",
20
+ "name": "prefix"
21
+ },
22
+ {
23
+ "description": "The button's label.",
24
+ "name": "label"
25
+ },
26
+ {
27
+ "description": "The container that wraps the suffix.",
28
+ "name": "suffix"
29
+ },
30
+ {
31
+ "description": "The button's caret icon, an `<sl-icon>` element.",
32
+ "name": "caret"
33
+ },
34
+ {
35
+ "description": "The spinner that shows when the button is in the loading state.",
36
+ "name": "spinner"
37
+ }
38
+ ],
39
+ "slots": [
40
+ {
41
+ "description": "The button's label.",
42
+ "name": ""
43
+ },
44
+ {
45
+ "description": "A presentational prefix icon or similar element.",
46
+ "name": "prefix"
47
+ },
48
+ {
49
+ "description": "A presentational suffix icon or similar element.",
50
+ "name": "suffix"
51
+ }
52
+ ],
13
53
  "members": [
14
54
  {
15
55
  "kind": "field",
16
- "name": "dependencies",
56
+ "name": "formControlController",
57
+ "privacy": "private",
58
+ "readonly": true,
59
+ "default": "new FormControlController(this, {\n assumeInteractionOn: ['click'],\n })"
60
+ },
61
+ {
62
+ "kind": "field",
63
+ "name": "hasSlotController",
64
+ "privacy": "private",
65
+ "readonly": true,
66
+ "default": "new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n )"
67
+ },
68
+ {
69
+ "kind": "field",
70
+ "name": "button",
17
71
  "type": {
18
- "text": "object"
72
+ "text": "HTMLButtonElement | HTMLLinkElement"
73
+ }
74
+ },
75
+ {
76
+ "kind": "field",
77
+ "name": "hasFocus",
78
+ "type": {
79
+ "text": "boolean"
19
80
  },
20
- "static": true,
21
- "default": "{\n 'terra-variable-keyword-search': TerraVariableKeywordSearch,\n 'terra-button': TerraButton,\n 'terra-skeleton': TerraSkeleton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
81
+ "privacy": "private",
82
+ "default": "false"
22
83
  },
23
84
  {
24
85
  "kind": "field",
25
- "name": "catalog",
86
+ "name": "invalid",
26
87
  "type": {
27
- "text": "'giovanni'"
88
+ "text": "boolean"
28
89
  },
29
- "default": "'giovanni'",
30
- "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
31
- "attribute": "catalog"
90
+ "default": "false"
32
91
  },
33
92
  {
34
93
  "kind": "field",
35
- "name": "searchQuery",
94
+ "name": "title",
36
95
  "type": {
37
96
  "text": "string"
38
- }
97
+ },
98
+ "default": "''",
99
+ "attribute": "title"
39
100
  },
40
101
  {
41
102
  "kind": "field",
42
- "name": "selectedFacets",
103
+ "name": "variant",
43
104
  "type": {
44
- "text": "SelectedFacets"
105
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
45
106
  },
46
- "default": "{}"
107
+ "default": "'primary'",
108
+ "description": "The button's theme variant.",
109
+ "attribute": "variant",
110
+ "reflects": true
47
111
  },
48
112
  {
49
113
  "kind": "field",
50
- "name": "selectedVariables",
114
+ "name": "size",
51
115
  "type": {
52
- "text": "Variable[]"
116
+ "text": "'small' | 'medium' | 'large'"
53
117
  },
54
- "default": "[]"
118
+ "default": "'medium'",
119
+ "description": "The button's size.",
120
+ "attribute": "size",
121
+ "reflects": true
55
122
  },
56
123
  {
57
124
  "kind": "field",
58
- "name": "showVariablesBrowse",
125
+ "name": "caret",
59
126
  "type": {
60
127
  "text": "boolean"
61
128
  },
62
- "default": "false"
129
+ "default": "false",
130
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
131
+ "attribute": "caret",
132
+ "reflects": true
63
133
  },
64
134
  {
65
135
  "kind": "field",
66
- "name": "#controller",
67
- "privacy": "private",
68
- "default": "new BrowseVariablesController(this)"
136
+ "name": "shape",
137
+ "type": {
138
+ "text": "'square' | 'square-left' | 'square-right'"
139
+ },
140
+ "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
141
+ "attribute": "shape",
142
+ "reflects": true
69
143
  },
70
144
  {
71
- "kind": "method",
72
- "name": "handleSelectedVariablesChange"
145
+ "kind": "field",
146
+ "name": "disabled",
147
+ "type": {
148
+ "text": "boolean"
149
+ },
150
+ "default": "false",
151
+ "description": "Disables the button.",
152
+ "attribute": "disabled",
153
+ "reflects": true
73
154
  },
74
155
  {
75
- "kind": "method",
76
- "name": "reset"
156
+ "kind": "field",
157
+ "name": "loading",
158
+ "type": {
159
+ "text": "boolean"
160
+ },
161
+ "default": "false",
162
+ "description": "Draws the button in a loading state.",
163
+ "attribute": "loading",
164
+ "reflects": true
77
165
  },
78
166
  {
79
- "kind": "method",
80
- "name": "handleObservationChange"
167
+ "kind": "field",
168
+ "name": "outline",
169
+ "type": {
170
+ "text": "boolean"
171
+ },
172
+ "default": "false",
173
+ "description": "Draws an outlined button.",
174
+ "attribute": "outline",
175
+ "reflects": true
81
176
  },
82
177
  {
83
- "kind": "method",
84
- "name": "toggleFacetSelect",
85
- "parameters": [
86
- {
87
- "name": "event",
88
- "type": {
89
- "text": "Event"
90
- }
91
- }
92
- ]
178
+ "kind": "field",
179
+ "name": "circle",
180
+ "type": {
181
+ "text": "boolean"
182
+ },
183
+ "default": "false",
184
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
185
+ "attribute": "circle",
186
+ "reflects": true
93
187
  },
94
188
  {
95
- "kind": "method",
96
- "name": "handleSearch",
97
- "parameters": [
98
- {
99
- "name": "e",
100
- "type": {
101
- "text": "TerraVariableKeywordSearchChangeEvent"
102
- }
103
- }
104
- ]
189
+ "kind": "field",
190
+ "name": "type",
191
+ "type": {
192
+ "text": "'button' | 'submit' | 'reset'"
193
+ },
194
+ "default": "'button'",
195
+ "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
196
+ "attribute": "type"
105
197
  },
106
198
  {
107
- "kind": "method",
108
- "name": "#selectFacetField",
109
- "parameters": [
110
- {
111
- "name": "facet",
112
- "type": {
113
- "text": "string"
114
- }
115
- },
116
- {
117
- "name": "field",
118
- "type": {
119
- "text": "string"
120
- }
121
- },
122
- {
123
- "name": "selectOneFieldAtATime",
124
- "default": "false",
125
- "type": {
126
- "text": "boolean"
127
- }
128
- }
129
- ],
130
- "description": "given a field, ex: \"observations\": \"Model\", will add the field to any existing selected facets\nif \"selectedOneFieldAtATime\" is true, then we will only select that one field"
199
+ "kind": "field",
200
+ "name": "name",
201
+ "type": {
202
+ "text": "string"
203
+ },
204
+ "default": "''",
205
+ "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
206
+ "attribute": "name"
131
207
  },
132
208
  {
133
- "kind": "method",
134
- "name": "#clearFacet",
135
- "parameters": [
136
- {
137
- "name": "facet",
138
- "type": {
139
- "text": "string"
140
- }
141
- }
142
- ]
209
+ "kind": "field",
210
+ "name": "value",
211
+ "type": {
212
+ "text": "string"
213
+ },
214
+ "default": "''",
215
+ "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
216
+ "attribute": "value"
143
217
  },
144
218
  {
145
- "kind": "method",
146
- "name": "#unselectFacetField",
147
- "parameters": [
148
- {
149
- "name": "facet",
150
- "type": {
151
- "text": "string"
152
- }
153
- },
154
- {
155
- "name": "field",
156
- "type": {
157
- "text": "string"
158
- }
159
- }
160
- ]
219
+ "kind": "field",
220
+ "name": "href",
221
+ "type": {
222
+ "text": "string"
223
+ },
224
+ "default": "''",
225
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
226
+ "attribute": "href"
227
+ },
228
+ {
229
+ "kind": "field",
230
+ "name": "target",
231
+ "type": {
232
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
233
+ },
234
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
235
+ "attribute": "target"
236
+ },
237
+ {
238
+ "kind": "field",
239
+ "name": "rel",
240
+ "type": {
241
+ "text": "string"
242
+ },
243
+ "default": "'noreferrer noopener'",
244
+ "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
245
+ "attribute": "rel"
246
+ },
247
+ {
248
+ "kind": "field",
249
+ "name": "download",
250
+ "type": {
251
+ "text": "string | undefined"
252
+ },
253
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
254
+ "attribute": "download"
255
+ },
256
+ {
257
+ "kind": "field",
258
+ "name": "form",
259
+ "type": {
260
+ "text": "string"
261
+ },
262
+ "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
263
+ "attribute": "form"
264
+ },
265
+ {
266
+ "kind": "field",
267
+ "name": "formAction",
268
+ "type": {
269
+ "text": "string"
270
+ },
271
+ "description": "Used to override the form owner's `action` attribute.",
272
+ "attribute": "formaction"
273
+ },
274
+ {
275
+ "kind": "field",
276
+ "name": "formEnctype",
277
+ "type": {
278
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
279
+ },
280
+ "description": "Used to override the form owner's `enctype` attribute.",
281
+ "attribute": "formenctype"
282
+ },
283
+ {
284
+ "kind": "field",
285
+ "name": "formMethod",
286
+ "type": {
287
+ "text": "'post' | 'get'"
288
+ },
289
+ "description": "Used to override the form owner's `method` attribute.",
290
+ "attribute": "formmethod"
291
+ },
292
+ {
293
+ "kind": "field",
294
+ "name": "formNoValidate",
295
+ "type": {
296
+ "text": "boolean"
297
+ },
298
+ "description": "Used to override the form owner's `novalidate` attribute.",
299
+ "attribute": "formnovalidate"
300
+ },
301
+ {
302
+ "kind": "field",
303
+ "name": "formTarget",
304
+ "type": {
305
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
306
+ },
307
+ "description": "Used to override the form owner's `target` attribute.",
308
+ "attribute": "formtarget"
309
+ },
310
+ {
311
+ "kind": "field",
312
+ "name": "forDialog",
313
+ "type": {
314
+ "text": "string | undefined"
315
+ },
316
+ "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
317
+ "attribute": "for-dialog"
318
+ },
319
+ {
320
+ "kind": "field",
321
+ "name": "expanded",
322
+ "type": {
323
+ "text": "boolean"
324
+ },
325
+ "default": "false",
326
+ "description": "if button is used to control another element on the page, such as an accordion or dialog, this state communicates whether the controlled element is expanded"
327
+ },
328
+ {
329
+ "kind": "field",
330
+ "name": "validity",
331
+ "description": "Gets the validity state object",
332
+ "readonly": true
333
+ },
334
+ {
335
+ "kind": "field",
336
+ "name": "validationMessage",
337
+ "description": "Gets the validation message",
338
+ "readonly": true
161
339
  },
162
340
  {
163
341
  "kind": "method",
164
- "name": "#handleVariableSelection",
342
+ "name": "#handleDialogStateChange",
165
343
  "parameters": [
166
344
  {
167
- "name": "variable",
345
+ "name": "e",
168
346
  "type": {
169
- "text": "Variable"
347
+ "text": "TerraDialogShowEvent | TerraDialogHideEvent"
170
348
  }
171
- },
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "kind": "method",
354
+ "name": "handleBlur",
355
+ "privacy": "private"
356
+ },
357
+ {
358
+ "kind": "method",
359
+ "name": "handleFocus",
360
+ "privacy": "private"
361
+ },
362
+ {
363
+ "kind": "method",
364
+ "name": "handleClick",
365
+ "privacy": "private"
366
+ },
367
+ {
368
+ "kind": "method",
369
+ "name": "handleInvalid",
370
+ "privacy": "private",
371
+ "parameters": [
172
372
  {
173
- "name": "checked",
373
+ "name": "event",
174
374
  "type": {
175
- "text": "Boolean"
375
+ "text": "Event"
176
376
  }
177
377
  }
178
378
  ]
179
379
  },
180
380
  {
181
381
  "kind": "method",
182
- "name": "#renderCategorySelect"
382
+ "name": "isButton",
383
+ "privacy": "private"
183
384
  },
184
385
  {
185
386
  "kind": "method",
186
- "name": "#renderFacet",
387
+ "name": "isLink",
388
+ "privacy": "private"
389
+ },
390
+ {
391
+ "kind": "method",
392
+ "name": "handleDisabledChange"
393
+ },
394
+ {
395
+ "kind": "method",
396
+ "name": "click",
397
+ "description": "Simulates a click on the button."
398
+ },
399
+ {
400
+ "kind": "method",
401
+ "name": "focus",
187
402
  "parameters": [
188
403
  {
189
- "name": "facetKey",
404
+ "name": "options",
405
+ "optional": true,
190
406
  "type": {
191
- "text": "string"
407
+ "text": "FocusOptions"
192
408
  }
193
- },
409
+ }
410
+ ],
411
+ "description": "Sets focus on the button."
412
+ },
413
+ {
414
+ "kind": "method",
415
+ "name": "blur",
416
+ "description": "Removes focus from the button."
417
+ },
418
+ {
419
+ "kind": "method",
420
+ "name": "checkValidity",
421
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
422
+ },
423
+ {
424
+ "kind": "method",
425
+ "name": "getForm",
426
+ "return": {
427
+ "type": {
428
+ "text": "HTMLFormElement | null"
429
+ }
430
+ },
431
+ "description": "Gets the associated form, if one exists."
432
+ },
433
+ {
434
+ "kind": "method",
435
+ "name": "reportValidity",
436
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
437
+ },
438
+ {
439
+ "kind": "method",
440
+ "name": "setCustomValidity",
441
+ "parameters": [
194
442
  {
195
- "name": "title",
443
+ "name": "message",
196
444
  "type": {
197
445
  "text": "string"
198
446
  }
199
- },
200
- {
201
- "name": "fields",
202
- "optional": true,
203
- "type": {
204
- "text": "FacetField[]"
205
- }
206
- },
447
+ }
448
+ ],
449
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
450
+ },
451
+ {
452
+ "kind": "method",
453
+ "name": "setPageLinkIcon",
454
+ "return": {
455
+ "type": {
456
+ "text": "string"
457
+ }
458
+ },
459
+ "parameters": [
207
460
  {
208
- "name": "open",
209
- "optional": true,
461
+ "name": "href",
210
462
  "type": {
211
- "text": "boolean"
463
+ "text": "string"
212
464
  }
213
465
  }
214
466
  ]
215
467
  },
216
468
  {
217
469
  "kind": "method",
218
- "name": "#renderVariablesBrowse"
219
- }
220
- ],
221
- "attributes": [
222
- {
223
- "name": "catalog",
224
- "type": {
225
- "text": "'giovanni'"
470
+ "name": "setFontSize",
471
+ "return": {
472
+ "type": {
473
+ "text": "string"
474
+ }
226
475
  },
227
- "default": "'giovanni'",
228
- "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
229
- "fieldName": "catalog"
476
+ "parameters": [
477
+ {
478
+ "name": "size",
479
+ "type": {
480
+ "text": "string"
481
+ }
482
+ }
483
+ ]
484
+ }
485
+ ],
486
+ "attributes": [
487
+ {
488
+ "name": "title",
489
+ "type": {
490
+ "text": "string"
491
+ },
492
+ "default": "''",
493
+ "fieldName": "title"
494
+ },
495
+ {
496
+ "name": "variant",
497
+ "type": {
498
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
499
+ },
500
+ "default": "'primary'",
501
+ "description": "The button's theme variant.",
502
+ "fieldName": "variant"
503
+ },
504
+ {
505
+ "name": "size",
506
+ "type": {
507
+ "text": "'small' | 'medium' | 'large'"
508
+ },
509
+ "default": "'medium'",
510
+ "description": "The button's size.",
511
+ "fieldName": "size"
512
+ },
513
+ {
514
+ "name": "caret",
515
+ "type": {
516
+ "text": "boolean"
517
+ },
518
+ "default": "false",
519
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
520
+ "fieldName": "caret"
521
+ },
522
+ {
523
+ "name": "shape",
524
+ "type": {
525
+ "text": "'square' | 'square-left' | 'square-right'"
526
+ },
527
+ "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
528
+ "fieldName": "shape"
529
+ },
530
+ {
531
+ "name": "disabled",
532
+ "type": {
533
+ "text": "boolean"
534
+ },
535
+ "default": "false",
536
+ "description": "Disables the button.",
537
+ "fieldName": "disabled"
538
+ },
539
+ {
540
+ "name": "loading",
541
+ "type": {
542
+ "text": "boolean"
543
+ },
544
+ "default": "false",
545
+ "description": "Draws the button in a loading state.",
546
+ "fieldName": "loading"
547
+ },
548
+ {
549
+ "name": "outline",
550
+ "type": {
551
+ "text": "boolean"
552
+ },
553
+ "default": "false",
554
+ "description": "Draws an outlined button.",
555
+ "fieldName": "outline"
556
+ },
557
+ {
558
+ "name": "circle",
559
+ "type": {
560
+ "text": "boolean"
561
+ },
562
+ "default": "false",
563
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
564
+ "fieldName": "circle"
565
+ },
566
+ {
567
+ "name": "type",
568
+ "type": {
569
+ "text": "'button' | 'submit' | 'reset'"
570
+ },
571
+ "default": "'button'",
572
+ "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
573
+ "fieldName": "type"
574
+ },
575
+ {
576
+ "name": "name",
577
+ "type": {
578
+ "text": "string"
579
+ },
580
+ "default": "''",
581
+ "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
582
+ "fieldName": "name"
583
+ },
584
+ {
585
+ "name": "value",
586
+ "type": {
587
+ "text": "string"
588
+ },
589
+ "default": "''",
590
+ "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
591
+ "fieldName": "value"
592
+ },
593
+ {
594
+ "name": "href",
595
+ "type": {
596
+ "text": "string"
597
+ },
598
+ "default": "''",
599
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
600
+ "fieldName": "href"
601
+ },
602
+ {
603
+ "name": "target",
604
+ "type": {
605
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
606
+ },
607
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
608
+ "fieldName": "target"
609
+ },
610
+ {
611
+ "name": "rel",
612
+ "type": {
613
+ "text": "string"
614
+ },
615
+ "default": "'noreferrer noopener'",
616
+ "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
617
+ "fieldName": "rel"
618
+ },
619
+ {
620
+ "name": "download",
621
+ "type": {
622
+ "text": "string | undefined"
623
+ },
624
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
625
+ "fieldName": "download"
626
+ },
627
+ {
628
+ "name": "form",
629
+ "type": {
630
+ "text": "string"
631
+ },
632
+ "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
633
+ "fieldName": "form"
634
+ },
635
+ {
636
+ "name": "formaction",
637
+ "type": {
638
+ "text": "string"
639
+ },
640
+ "description": "Used to override the form owner's `action` attribute.",
641
+ "fieldName": "formAction"
642
+ },
643
+ {
644
+ "name": "formenctype",
645
+ "type": {
646
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
647
+ },
648
+ "description": "Used to override the form owner's `enctype` attribute.",
649
+ "fieldName": "formEnctype"
650
+ },
651
+ {
652
+ "name": "formmethod",
653
+ "type": {
654
+ "text": "'post' | 'get'"
655
+ },
656
+ "description": "Used to override the form owner's `method` attribute.",
657
+ "fieldName": "formMethod"
658
+ },
659
+ {
660
+ "name": "formnovalidate",
661
+ "type": {
662
+ "text": "boolean"
663
+ },
664
+ "description": "Used to override the form owner's `novalidate` attribute.",
665
+ "fieldName": "formNoValidate"
666
+ },
667
+ {
668
+ "name": "formtarget",
669
+ "type": {
670
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
671
+ },
672
+ "description": "Used to override the form owner's `target` attribute.",
673
+ "fieldName": "formTarget"
674
+ },
675
+ {
676
+ "name": "for-dialog",
677
+ "type": {
678
+ "text": "string | undefined"
679
+ },
680
+ "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
681
+ "fieldName": "forDialog"
230
682
  }
231
683
  ],
232
684
  "superclass": {
233
685
  "name": "TerraElement",
234
686
  "module": "/src/internal/terra-element.js"
235
687
  },
236
- "summary": "Browse through the NASA CMR or Giovanni catalogs.",
237
- "tagNameWithoutPrefix": "browse-variables",
238
- "tagName": "terra-browse-variables",
688
+ "summary": "Buttons represent actions that are available to the user.",
689
+ "tagNameWithoutPrefix": "button",
690
+ "tagName": "terra-button",
239
691
  "customElement": true,
240
- "jsDoc": "/**\n * @summary Browse through the NASA CMR or Giovanni catalogs.\n * @documentation https://disc.gsfc.nasa.gov/components/browse-variables\n * @status MVP\n * @since 1.0\n *\n * @emits terra-variables-change - emitted when the user selects or unselects variables\n *\n * @dependency terra-variable-keyword-search\n * @dependency terra-button\n * @dependency terra-skeleton\n * @dependency terra-icon\n * @dependency terra-loader\n */",
241
- "documentation": "https://disc.gsfc.nasa.gov/components/browse-variables",
242
- "status": "MVP",
243
- "since": "1.0",
244
- "dependencies": [
245
- "terra-variable-keyword-search",
246
- "terra-button",
247
- "terra-skeleton",
248
- "terra-icon",
249
- "terra-loader"
250
- ]
692
+ "jsDoc": "/**\n * @summary Buttons represent actions that are available to the user.\n * @documentation https://shoelace.style/components/button\n * @status stable\n * @since 2.0\n *\n * @slot - The button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The button's label.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart caret - The button's caret icon, an `<sl-icon>` element.\n * @csspart spinner - The spinner that shows when the button is in the loading state.\n */",
693
+ "documentation": "https://shoelace.style/components/button",
694
+ "status": "stable",
695
+ "since": "2.0"
251
696
  }
252
697
  ],
253
698
  "exports": [
@@ -255,469 +700,567 @@
255
700
  "kind": "js",
256
701
  "name": "default",
257
702
  "declaration": {
258
- "name": "TerraBrowseVariables",
259
- "module": "components/browse-variables/browse-variables.js"
703
+ "name": "TerraButton",
704
+ "module": "components/button/button.js"
705
+ }
706
+ }
707
+ ]
708
+ },
709
+ {
710
+ "kind": "javascript-module",
711
+ "path": "components/chip/chip.js",
712
+ "declarations": [
713
+ {
714
+ "kind": "class",
715
+ "description": "",
716
+ "name": "TerraChip",
717
+ "slots": [
718
+ {
719
+ "description": "The chip's label.",
720
+ "name": ""
721
+ }
722
+ ],
723
+ "members": [
724
+ {
725
+ "kind": "field",
726
+ "name": "size",
727
+ "type": {
728
+ "text": "'small' | 'medium' | 'large'"
729
+ },
730
+ "default": "'medium'",
731
+ "attribute": "size",
732
+ "reflects": true
733
+ },
734
+ {
735
+ "kind": "field",
736
+ "name": "#handleRemoveClick",
737
+ "privacy": "private"
738
+ }
739
+ ],
740
+ "attributes": [
741
+ {
742
+ "name": "size",
743
+ "type": {
744
+ "text": "'small' | 'medium' | 'large'"
745
+ },
746
+ "default": "'medium'",
747
+ "fieldName": "size"
748
+ }
749
+ ],
750
+ "superclass": {
751
+ "name": "TerraElement",
752
+ "module": "/src/internal/terra-element.js"
753
+ },
754
+ "summary": "Used for contacts and tags",
755
+ "tagNameWithoutPrefix": "chip",
756
+ "tagName": "terra-chip",
757
+ "customElement": true,
758
+ "jsDoc": "/**\n * @summary Used for contacts and tags\n * @documentation https://disc.gsfc.nasa.gov/components/chip\n * @status stable\n * @since 1.0\n *\n * @slot - The chip's label.\n */",
759
+ "documentation": "https://disc.gsfc.nasa.gov/components/chip",
760
+ "status": "stable",
761
+ "since": "1.0"
762
+ }
763
+ ],
764
+ "exports": [
765
+ {
766
+ "kind": "js",
767
+ "name": "default",
768
+ "declaration": {
769
+ "name": "TerraChip",
770
+ "module": "components/chip/chip.js"
260
771
  }
261
772
  }
262
773
  ]
263
774
  },
264
775
  {
265
776
  "kind": "javascript-module",
266
- "path": "components/button/button.js",
777
+ "path": "components/combobox/combobox.js",
267
778
  "declarations": [
268
779
  {
269
780
  "kind": "class",
270
781
  "description": "",
271
- "name": "TerraButton",
272
- "cssParts": [
273
- {
274
- "description": "The component's base wrapper.",
275
- "name": "base"
276
- },
277
- {
278
- "description": "The container that wraps the prefix.",
279
- "name": "prefix"
280
- },
281
- {
282
- "description": "The button's label.",
283
- "name": "label"
284
- },
782
+ "name": "TerraCombobox",
783
+ "cssProperties": [
285
784
  {
286
- "description": "The container that wraps the suffix.",
287
- "name": "suffix"
785
+ "description": "The height of the host element.",
786
+ "name": "--host-height"
288
787
  },
289
788
  {
290
- "description": "The button's caret icon, an `<sl-icon>` element.",
291
- "name": "caret"
789
+ "description": "The height of the search help element.",
790
+ "name": "--help-height"
292
791
  },
293
792
  {
294
- "description": "The spinner that shows when the button is in the loading state.",
295
- "name": "spinner"
793
+ "description": "The height of the input's label element.",
794
+ "name": "--label-height"
296
795
  }
297
796
  ],
298
- "slots": [
797
+ "cssParts": [
299
798
  {
300
- "description": "The button's label.",
301
- "name": ""
799
+ "description": "A `search` element, the component's base.",
800
+ "name": "base"
302
801
  },
303
802
  {
304
- "description": "A presentational prefix icon or similar element.",
305
- "name": "prefix"
803
+ "description": "An `input` element used for searching.",
804
+ "name": "combobox"
306
805
  },
307
806
  {
308
- "description": "A presentational suffix icon or similar element.",
309
- "name": "suffix"
807
+ "description": "A `button` used for toggling the listbox's visibility.",
808
+ "name": "button"
809
+ },
810
+ {
811
+ "description": "A `ul` that holds the clickable options.",
812
+ "name": "listbox"
310
813
  }
311
814
  ],
312
815
  "members": [
313
816
  {
314
817
  "kind": "field",
315
- "name": "formControlController",
316
- "privacy": "private",
317
- "readonly": true,
318
- "default": "new FormControlController(this, {\n assumeInteractionOn: ['click'],\n })"
818
+ "name": "shadowRootOptions",
819
+ "type": {
820
+ "text": "object"
821
+ },
822
+ "static": true,
823
+ "default": "{\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n }"
319
824
  },
320
825
  {
321
826
  "kind": "field",
322
- "name": "hasSlotController",
323
- "privacy": "private",
324
- "readonly": true,
325
- "default": "new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n )"
827
+ "name": "tagName",
828
+ "type": {
829
+ "text": "string"
830
+ },
831
+ "static": true,
832
+ "default": "'terra-combobox'"
326
833
  },
327
834
  {
328
835
  "kind": "field",
329
- "name": "button",
836
+ "name": "initialQuery",
330
837
  "type": {
331
- "text": "HTMLButtonElement | HTMLLinkElement"
332
- }
838
+ "text": "string"
839
+ },
840
+ "static": true,
841
+ "default": "''"
333
842
  },
334
843
  {
335
844
  "kind": "field",
336
- "name": "hasFocus",
845
+ "name": "#combobox",
846
+ "privacy": "private",
337
847
  "type": {
338
- "text": "boolean"
848
+ "text": "HTMLInputElement | null"
339
849
  },
340
- "privacy": "private",
341
- "default": "false"
850
+ "default": "null"
342
851
  },
343
852
  {
344
853
  "kind": "field",
345
- "name": "invalid",
854
+ "name": "#listbox",
855
+ "privacy": "private",
346
856
  "type": {
347
- "text": "boolean"
857
+ "text": "HTMLUListElement | null"
348
858
  },
349
- "default": "false"
859
+ "default": "null"
350
860
  },
351
861
  {
352
862
  "kind": "field",
353
- "name": "title",
863
+ "name": "#searchEngine",
864
+ "privacy": "private",
354
865
  "type": {
355
- "text": "string"
866
+ "text": "Fuse<GroupedListItem | ListItem> | null"
356
867
  },
357
- "default": "''",
358
- "attribute": "title"
868
+ "default": "null"
359
869
  },
360
870
  {
361
871
  "kind": "field",
362
- "name": "variant",
872
+ "name": "#walker",
873
+ "privacy": "private",
363
874
  "type": {
364
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
875
+ "text": "TreeWalker | null"
365
876
  },
366
- "default": "'primary'",
367
- "description": "The button's theme variant.",
368
- "attribute": "variant",
369
- "reflects": true
877
+ "default": "null"
370
878
  },
371
879
  {
372
880
  "kind": "field",
373
- "name": "size",
881
+ "name": "label",
374
882
  "type": {
375
- "text": "'small' | 'medium' | 'large'"
883
+ "text": "string"
376
884
  },
377
- "default": "'medium'",
378
- "description": "The button's size.",
379
- "attribute": "size",
380
- "reflects": true
885
+ "default": "'Search for Items'",
886
+ "description": "Label the combobox with this.",
887
+ "attribute": "label"
381
888
  },
382
889
  {
383
890
  "kind": "field",
384
- "name": "caret",
891
+ "name": "name",
385
892
  "type": {
386
- "text": "boolean"
893
+ "text": "string"
387
894
  },
388
- "default": "false",
389
- "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
390
- "attribute": "caret",
391
- "reflects": true
895
+ "default": "'Item'",
896
+ "description": "name the combobox with this.",
897
+ "attribute": "name"
392
898
  },
393
899
  {
394
900
  "kind": "field",
395
- "name": "shape",
901
+ "name": "placeholder",
396
902
  "type": {
397
- "text": "'square' | 'square-left' | 'square-right'"
903
+ "text": "string"
398
904
  },
399
- "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
400
- "attribute": "shape",
401
- "reflects": true
905
+ "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
906
+ "attribute": "placeholder"
402
907
  },
403
908
  {
404
909
  "kind": "field",
405
- "name": "disabled",
910
+ "name": "hideHelp",
406
911
  "type": {
407
912
  "text": "boolean"
408
913
  },
409
914
  "default": "false",
410
- "description": "Disables the button.",
411
- "attribute": "disabled",
412
- "reflects": true
915
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
916
+ "attribute": "hide-help"
413
917
  },
414
918
  {
415
919
  "kind": "field",
416
- "name": "loading",
920
+ "name": "hideLabel",
417
921
  "type": {
418
922
  "text": "boolean"
419
923
  },
420
924
  "default": "false",
421
- "description": "Draws the button in a loading state.",
422
- "attribute": "loading",
423
- "reflects": true
925
+ "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
926
+ "attribute": "hide-label"
424
927
  },
425
928
  {
426
929
  "kind": "field",
427
- "name": "outline",
930
+ "name": "status",
428
931
  "type": {
429
- "text": "boolean"
932
+ "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
430
933
  },
431
- "default": "false",
432
- "description": "Draws an outlined button.",
433
- "attribute": "outline",
434
- "reflects": true
934
+ "default": "'INITIAL'",
935
+ "description": "status of the content",
936
+ "attribute": "status"
435
937
  },
436
938
  {
437
939
  "kind": "field",
438
- "name": "circle",
940
+ "name": "content",
941
+ "type": {
942
+ "text": "Content"
943
+ },
944
+ "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
945
+ "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
946
+ "attribute": "content"
947
+ },
948
+ {
949
+ "kind": "field",
950
+ "name": "isExpanded",
439
951
  "type": {
440
952
  "text": "boolean"
441
953
  },
442
- "default": "false",
443
- "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
444
- "attribute": "circle",
445
- "reflects": true
954
+ "default": "false"
446
955
  },
447
956
  {
448
957
  "kind": "field",
449
- "name": "type",
958
+ "name": "query"
959
+ },
960
+ {
961
+ "kind": "field",
962
+ "name": "searchResults",
450
963
  "type": {
451
- "text": "'button' | 'submit' | 'reset'"
964
+ "text": "GroupedListItem[] | ListItem[]"
452
965
  },
453
- "default": "'button'",
454
- "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
455
- "attribute": "type"
966
+ "default": "[]"
967
+ },
968
+ {
969
+ "kind": "method",
970
+ "name": "contentChanged",
971
+ "parameters": [
972
+ {
973
+ "name": "_oldValue",
974
+ "type": {
975
+ "text": "any"
976
+ }
977
+ },
978
+ {
979
+ "name": "newValue",
980
+ "type": {
981
+ "text": "any"
982
+ }
983
+ }
984
+ ]
985
+ },
986
+ {
987
+ "kind": "field",
988
+ "name": "#renderListItem",
989
+ "privacy": "private"
990
+ },
991
+ {
992
+ "kind": "field",
993
+ "name": "#renderGroupListItem",
994
+ "privacy": "private"
995
+ },
996
+ {
997
+ "kind": "field",
998
+ "name": "#renderError",
999
+ "privacy": "private"
1000
+ },
1001
+ {
1002
+ "kind": "field",
1003
+ "name": "#renderLoading",
1004
+ "privacy": "private"
1005
+ },
1006
+ {
1007
+ "kind": "field",
1008
+ "name": "#dispatchChange",
1009
+ "privacy": "private"
1010
+ },
1011
+ {
1012
+ "kind": "field",
1013
+ "name": "#handleButtonClick",
1014
+ "privacy": "private"
1015
+ },
1016
+ {
1017
+ "kind": "field",
1018
+ "name": "#handleComboboxChange",
1019
+ "privacy": "private"
1020
+ },
1021
+ {
1022
+ "kind": "field",
1023
+ "name": "#handleOptionClick",
1024
+ "privacy": "private"
1025
+ },
1026
+ {
1027
+ "kind": "field",
1028
+ "name": "#handleKeydown",
1029
+ "privacy": "private"
456
1030
  },
457
1031
  {
458
1032
  "kind": "field",
459
- "name": "name",
460
- "type": {
461
- "text": "string"
462
- },
463
- "default": "''",
464
- "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
465
- "attribute": "name"
1033
+ "name": "#manageListboxVisibility",
1034
+ "privacy": "private"
466
1035
  },
467
1036
  {
468
1037
  "kind": "field",
469
- "name": "value",
1038
+ "name": "#selectOption",
1039
+ "privacy": "private"
1040
+ }
1041
+ ],
1042
+ "attributes": [
1043
+ {
1044
+ "name": "label",
470
1045
  "type": {
471
1046
  "text": "string"
472
1047
  },
473
- "default": "''",
474
- "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
475
- "attribute": "value"
1048
+ "default": "'Search for Items'",
1049
+ "description": "Label the combobox with this.",
1050
+ "fieldName": "label"
476
1051
  },
477
1052
  {
478
- "kind": "field",
479
- "name": "href",
1053
+ "name": "name",
480
1054
  "type": {
481
1055
  "text": "string"
482
1056
  },
483
- "default": "''",
484
- "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
485
- "attribute": "href"
1057
+ "default": "'Item'",
1058
+ "description": "name the combobox with this.",
1059
+ "fieldName": "name"
486
1060
  },
487
1061
  {
488
- "kind": "field",
489
- "name": "target",
1062
+ "name": "placeholder",
490
1063
  "type": {
491
- "text": "'_blank' | '_parent' | '_self' | '_top'"
1064
+ "text": "string"
492
1065
  },
493
- "description": "Tells the browser where to open the link. Only used when `href` is present.",
494
- "attribute": "target"
1066
+ "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
1067
+ "fieldName": "placeholder"
495
1068
  },
496
1069
  {
497
- "kind": "field",
498
- "name": "rel",
1070
+ "name": "hide-help",
499
1071
  "type": {
500
- "text": "string"
1072
+ "text": "boolean"
501
1073
  },
502
- "default": "'noreferrer noopener'",
503
- "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
504
- "attribute": "rel"
1074
+ "default": "false",
1075
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
1076
+ "fieldName": "hideHelp"
505
1077
  },
506
1078
  {
507
- "kind": "field",
508
- "name": "download",
1079
+ "name": "hide-label",
509
1080
  "type": {
510
- "text": "string | undefined"
1081
+ "text": "boolean"
511
1082
  },
512
- "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
513
- "attribute": "download"
1083
+ "default": "false",
1084
+ "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
1085
+ "fieldName": "hideLabel"
514
1086
  },
515
1087
  {
516
- "kind": "field",
517
- "name": "form",
1088
+ "name": "status",
518
1089
  "type": {
519
- "text": "string"
1090
+ "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
520
1091
  },
521
- "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
522
- "attribute": "form"
1092
+ "default": "'INITIAL'",
1093
+ "description": "status of the content",
1094
+ "fieldName": "status"
523
1095
  },
524
1096
  {
525
- "kind": "field",
526
- "name": "formAction",
1097
+ "name": "content",
527
1098
  "type": {
528
- "text": "string"
1099
+ "text": "Content"
529
1100
  },
530
- "description": "Used to override the form owner's `action` attribute.",
531
- "attribute": "formaction"
532
- },
1101
+ "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
1102
+ "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
1103
+ "fieldName": "content"
1104
+ }
1105
+ ],
1106
+ "superclass": {
1107
+ "name": "TerraElement",
1108
+ "module": "/src/internal/terra-element.js"
1109
+ },
1110
+ "summary": "Fuzzy-search for combobox with list autocomplete.",
1111
+ "tagNameWithoutPrefix": "combobox",
1112
+ "tagName": "terra-combobox",
1113
+ "customElement": true,
1114
+ "jsDoc": "/**\n * @summary Fuzzy-search for combobox with list autocomplete.\n * @documentation https://disc.gsfc.nasa.gov/components/combobox\n * @status experimental\n * @since 1.0\n *\n * @csspart base - A `search` element, the component's base.\n * @csspart combobox - An `input` element used for searching.\n * @csspart button - A `button` used for toggling the listbox's visibility.\n * @csspart listbox - A `ul` that holds the clickable options.\n *\n * @cssproperty --host-height - The height of the host element.\n * @cssproperty --help-height - The height of the search help element.\n * @cssproperty --label-height - The height of the input's label element.\n */",
1115
+ "documentation": "https://disc.gsfc.nasa.gov/components/combobox",
1116
+ "status": "experimental",
1117
+ "since": "1.0"
1118
+ }
1119
+ ],
1120
+ "exports": [
1121
+ {
1122
+ "kind": "js",
1123
+ "name": "default",
1124
+ "declaration": {
1125
+ "name": "TerraCombobox",
1126
+ "module": "components/combobox/combobox.js"
1127
+ }
1128
+ }
1129
+ ]
1130
+ },
1131
+ {
1132
+ "kind": "javascript-module",
1133
+ "path": "components/browse-variables/browse-variables.js",
1134
+ "declarations": [
1135
+ {
1136
+ "kind": "class",
1137
+ "description": "",
1138
+ "name": "TerraBrowseVariables",
1139
+ "members": [
533
1140
  {
534
1141
  "kind": "field",
535
- "name": "formEnctype",
1142
+ "name": "dependencies",
536
1143
  "type": {
537
- "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
1144
+ "text": "object"
538
1145
  },
539
- "description": "Used to override the form owner's `enctype` attribute.",
540
- "attribute": "formenctype"
1146
+ "static": true,
1147
+ "default": "{\n 'terra-variable-keyword-search': TerraVariableKeywordSearch,\n 'terra-button': TerraButton,\n 'terra-skeleton': TerraSkeleton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
541
1148
  },
542
1149
  {
543
1150
  "kind": "field",
544
- "name": "formMethod",
1151
+ "name": "catalog",
545
1152
  "type": {
546
- "text": "'post' | 'get'"
1153
+ "text": "'giovanni'"
547
1154
  },
548
- "description": "Used to override the form owner's `method` attribute.",
549
- "attribute": "formmethod"
1155
+ "default": "'giovanni'",
1156
+ "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
1157
+ "attribute": "catalog"
550
1158
  },
551
1159
  {
552
1160
  "kind": "field",
553
- "name": "formNoValidate",
1161
+ "name": "searchQuery",
554
1162
  "type": {
555
- "text": "boolean"
556
- },
557
- "description": "Used to override the form owner's `novalidate` attribute.",
558
- "attribute": "formnovalidate"
1163
+ "text": "string"
1164
+ }
559
1165
  },
560
1166
  {
561
1167
  "kind": "field",
562
- "name": "formTarget",
1168
+ "name": "selectedFacets",
563
1169
  "type": {
564
- "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
1170
+ "text": "SelectedFacets"
565
1171
  },
566
- "description": "Used to override the form owner's `target` attribute.",
567
- "attribute": "formtarget"
1172
+ "default": "{}"
568
1173
  },
569
1174
  {
570
1175
  "kind": "field",
571
- "name": "forDialog",
1176
+ "name": "selectedVariables",
572
1177
  "type": {
573
- "text": "string | undefined"
1178
+ "text": "Variable[]"
574
1179
  },
575
- "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
576
- "attribute": "for-dialog"
1180
+ "default": "[]"
577
1181
  },
578
1182
  {
579
1183
  "kind": "field",
580
- "name": "expanded",
1184
+ "name": "showVariablesBrowse",
581
1185
  "type": {
582
1186
  "text": "boolean"
583
1187
  },
584
- "default": "false",
585
- "description": "if button is used to control another element on the page, such as an accordion or dialog, this state communicates whether the controlled element is expanded"
586
- },
587
- {
588
- "kind": "field",
589
- "name": "validity",
590
- "description": "Gets the validity state object",
591
- "readonly": true
1188
+ "default": "false"
592
1189
  },
593
1190
  {
594
1191
  "kind": "field",
595
- "name": "validationMessage",
596
- "description": "Gets the validation message",
597
- "readonly": true
598
- },
599
- {
600
- "kind": "method",
601
- "name": "#handleDialogStateChange",
602
- "parameters": [
603
- {
604
- "name": "e",
605
- "type": {
606
- "text": "TerraDialogShowEvent | TerraDialogHideEvent"
607
- }
608
- }
609
- ]
1192
+ "name": "#controller",
1193
+ "privacy": "private",
1194
+ "default": "new BrowseVariablesController(this)"
610
1195
  },
611
1196
  {
612
1197
  "kind": "method",
613
- "name": "handleBlur",
614
- "privacy": "private"
1198
+ "name": "handleSelectedVariablesChange"
615
1199
  },
616
1200
  {
617
1201
  "kind": "method",
618
- "name": "handleFocus",
619
- "privacy": "private"
1202
+ "name": "reset"
620
1203
  },
621
1204
  {
622
1205
  "kind": "method",
623
- "name": "handleClick",
624
- "privacy": "private"
1206
+ "name": "handleObservationChange"
625
1207
  },
626
1208
  {
627
1209
  "kind": "method",
628
- "name": "handleInvalid",
629
- "privacy": "private",
1210
+ "name": "toggleFacetSelect",
630
1211
  "parameters": [
631
1212
  {
632
1213
  "name": "event",
633
1214
  "type": {
634
1215
  "text": "Event"
635
- }
636
- }
637
- ]
638
- },
639
- {
640
- "kind": "method",
641
- "name": "isButton",
642
- "privacy": "private"
643
- },
644
- {
645
- "kind": "method",
646
- "name": "isLink",
647
- "privacy": "private"
648
- },
649
- {
650
- "kind": "method",
651
- "name": "handleDisabledChange"
652
- },
653
- {
654
- "kind": "method",
655
- "name": "click",
656
- "description": "Simulates a click on the button."
657
- },
658
- {
659
- "kind": "method",
660
- "name": "focus",
661
- "parameters": [
662
- {
663
- "name": "options",
664
- "optional": true,
665
- "type": {
666
- "text": "FocusOptions"
667
- }
668
- }
669
- ],
670
- "description": "Sets focus on the button."
671
- },
672
- {
673
- "kind": "method",
674
- "name": "blur",
675
- "description": "Removes focus from the button."
676
- },
677
- {
678
- "kind": "method",
679
- "name": "checkValidity",
680
- "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
681
- },
682
- {
683
- "kind": "method",
684
- "name": "getForm",
685
- "return": {
686
- "type": {
687
- "text": "HTMLFormElement | null"
1216
+ }
688
1217
  }
689
- },
690
- "description": "Gets the associated form, if one exists."
1218
+ ]
691
1219
  },
692
1220
  {
693
1221
  "kind": "method",
694
- "name": "reportValidity",
695
- "description": "Checks for validity and shows the browser's validation message if the control is invalid."
1222
+ "name": "handleSearch",
1223
+ "parameters": [
1224
+ {
1225
+ "name": "e",
1226
+ "type": {
1227
+ "text": "TerraVariableKeywordSearchChangeEvent"
1228
+ }
1229
+ }
1230
+ ]
696
1231
  },
697
1232
  {
698
1233
  "kind": "method",
699
- "name": "setCustomValidity",
1234
+ "name": "#selectFacetField",
700
1235
  "parameters": [
701
1236
  {
702
- "name": "message",
1237
+ "name": "facet",
1238
+ "type": {
1239
+ "text": "string"
1240
+ }
1241
+ },
1242
+ {
1243
+ "name": "field",
703
1244
  "type": {
704
1245
  "text": "string"
705
1246
  }
1247
+ },
1248
+ {
1249
+ "name": "selectOneFieldAtATime",
1250
+ "default": "false",
1251
+ "type": {
1252
+ "text": "boolean"
1253
+ }
706
1254
  }
707
1255
  ],
708
- "description": "Sets a custom validation message. Pass an empty string to restore validity."
1256
+ "description": "given a field, ex: \"observations\": \"Model\", will add the field to any existing selected facets\nif \"selectedOneFieldAtATime\" is true, then we will only select that one field"
709
1257
  },
710
1258
  {
711
1259
  "kind": "method",
712
- "name": "setPageLinkIcon",
713
- "return": {
714
- "type": {
715
- "text": "string"
716
- }
717
- },
1260
+ "name": "#clearFacet",
718
1261
  "parameters": [
719
1262
  {
720
- "name": "href",
1263
+ "name": "facet",
721
1264
  "type": {
722
1265
  "text": "string"
723
1266
  }
@@ -726,297 +1269,341 @@
726
1269
  },
727
1270
  {
728
1271
  "kind": "method",
729
- "name": "setFontSize",
730
- "return": {
731
- "type": {
732
- "text": "string"
733
- }
734
- },
1272
+ "name": "#unselectFacetField",
735
1273
  "parameters": [
736
1274
  {
737
- "name": "size",
1275
+ "name": "facet",
1276
+ "type": {
1277
+ "text": "string"
1278
+ }
1279
+ },
1280
+ {
1281
+ "name": "field",
738
1282
  "type": {
739
1283
  "text": "string"
740
1284
  }
741
1285
  }
742
1286
  ]
743
- }
744
- ],
745
- "attributes": [
746
- {
747
- "name": "title",
748
- "type": {
749
- "text": "string"
750
- },
751
- "default": "''",
752
- "fieldName": "title"
753
- },
754
- {
755
- "name": "variant",
756
- "type": {
757
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
758
- },
759
- "default": "'primary'",
760
- "description": "The button's theme variant.",
761
- "fieldName": "variant"
762
- },
763
- {
764
- "name": "size",
765
- "type": {
766
- "text": "'small' | 'medium' | 'large'"
767
- },
768
- "default": "'medium'",
769
- "description": "The button's size.",
770
- "fieldName": "size"
771
- },
772
- {
773
- "name": "caret",
774
- "type": {
775
- "text": "boolean"
776
- },
777
- "default": "false",
778
- "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
779
- "fieldName": "caret"
780
1287
  },
781
1288
  {
782
- "name": "shape",
783
- "type": {
784
- "text": "'square' | 'square-left' | 'square-right'"
785
- },
786
- "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
787
- "fieldName": "shape"
1289
+ "kind": "method",
1290
+ "name": "#handleVariableSelection",
1291
+ "parameters": [
1292
+ {
1293
+ "name": "variable",
1294
+ "type": {
1295
+ "text": "Variable"
1296
+ }
1297
+ },
1298
+ {
1299
+ "name": "checked",
1300
+ "type": {
1301
+ "text": "Boolean"
1302
+ }
1303
+ }
1304
+ ]
788
1305
  },
789
1306
  {
790
- "name": "disabled",
791
- "type": {
792
- "text": "boolean"
793
- },
794
- "default": "false",
795
- "description": "Disables the button.",
796
- "fieldName": "disabled"
1307
+ "kind": "method",
1308
+ "name": "#renderCategorySelect"
797
1309
  },
798
1310
  {
799
- "name": "loading",
800
- "type": {
801
- "text": "boolean"
802
- },
803
- "default": "false",
804
- "description": "Draws the button in a loading state.",
805
- "fieldName": "loading"
1311
+ "kind": "method",
1312
+ "name": "#renderFacet",
1313
+ "parameters": [
1314
+ {
1315
+ "name": "facetKey",
1316
+ "type": {
1317
+ "text": "string"
1318
+ }
1319
+ },
1320
+ {
1321
+ "name": "title",
1322
+ "type": {
1323
+ "text": "string"
1324
+ }
1325
+ },
1326
+ {
1327
+ "name": "fields",
1328
+ "optional": true,
1329
+ "type": {
1330
+ "text": "FacetField[]"
1331
+ }
1332
+ },
1333
+ {
1334
+ "name": "open",
1335
+ "optional": true,
1336
+ "type": {
1337
+ "text": "boolean"
1338
+ }
1339
+ }
1340
+ ]
806
1341
  },
807
1342
  {
808
- "name": "outline",
809
- "type": {
810
- "text": "boolean"
811
- },
812
- "default": "false",
813
- "description": "Draws an outlined button.",
814
- "fieldName": "outline"
815
- },
1343
+ "kind": "method",
1344
+ "name": "#renderVariablesBrowse"
1345
+ }
1346
+ ],
1347
+ "attributes": [
816
1348
  {
817
- "name": "circle",
1349
+ "name": "catalog",
818
1350
  "type": {
819
- "text": "boolean"
1351
+ "text": "'giovanni'"
820
1352
  },
821
- "default": "false",
822
- "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
823
- "fieldName": "circle"
824
- },
1353
+ "default": "'giovanni'",
1354
+ "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
1355
+ "fieldName": "catalog"
1356
+ }
1357
+ ],
1358
+ "superclass": {
1359
+ "name": "TerraElement",
1360
+ "module": "/src/internal/terra-element.js"
1361
+ },
1362
+ "summary": "Browse through the NASA CMR or Giovanni catalogs.",
1363
+ "tagNameWithoutPrefix": "browse-variables",
1364
+ "tagName": "terra-browse-variables",
1365
+ "customElement": true,
1366
+ "jsDoc": "/**\n * @summary Browse through the NASA CMR or Giovanni catalogs.\n * @documentation https://disc.gsfc.nasa.gov/components/browse-variables\n * @status MVP\n * @since 1.0\n *\n * @emits terra-variables-change - emitted when the user selects or unselects variables\n *\n * @dependency terra-variable-keyword-search\n * @dependency terra-button\n * @dependency terra-skeleton\n * @dependency terra-icon\n * @dependency terra-loader\n */",
1367
+ "documentation": "https://disc.gsfc.nasa.gov/components/browse-variables",
1368
+ "status": "MVP",
1369
+ "since": "1.0",
1370
+ "dependencies": [
1371
+ "terra-variable-keyword-search",
1372
+ "terra-button",
1373
+ "terra-skeleton",
1374
+ "terra-icon",
1375
+ "terra-loader"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "exports": [
1380
+ {
1381
+ "kind": "js",
1382
+ "name": "default",
1383
+ "declaration": {
1384
+ "name": "TerraBrowseVariables",
1385
+ "module": "components/browse-variables/browse-variables.js"
1386
+ }
1387
+ }
1388
+ ]
1389
+ },
1390
+ {
1391
+ "kind": "javascript-module",
1392
+ "path": "components/data-rods/data-rods.js",
1393
+ "declarations": [
1394
+ {
1395
+ "kind": "class",
1396
+ "description": "",
1397
+ "name": "TerraDataRods",
1398
+ "members": [
825
1399
  {
826
- "name": "type",
1400
+ "kind": "field",
1401
+ "name": "dependencies",
827
1402
  "type": {
828
- "text": "'button' | 'submit' | 'reset'"
1403
+ "text": "object"
829
1404
  },
830
- "default": "'button'",
831
- "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
832
- "fieldName": "type"
1405
+ "static": true,
1406
+ "default": "{\n 'terra-time-series': TerraTimeSeries,\n 'terra-date-range-slider': TerraDateRangeSlider,\n 'terra-spatial-picker': TerraSpatialPicker,\n 'terra-variable-combobox': TerraVariableCombobox,\n }"
833
1407
  },
834
1408
  {
835
- "name": "name",
1409
+ "kind": "field",
1410
+ "name": "variableEntryId",
836
1411
  "type": {
837
- "text": "string"
1412
+ "text": "string | undefined"
838
1413
  },
839
- "default": "''",
840
- "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
841
- "fieldName": "name"
1414
+ "description": "a variable entry ID (ex: GPM_3IMERGHH_06_precipitationCal)",
1415
+ "attribute": "variable-entry-id",
1416
+ "reflects": true
842
1417
  },
843
1418
  {
844
- "name": "value",
1419
+ "kind": "field",
1420
+ "name": "collection",
845
1421
  "type": {
846
- "text": "string"
1422
+ "text": "string | undefined"
847
1423
  },
848
- "default": "''",
849
- "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
850
- "fieldName": "value"
1424
+ "description": "a collection entry id (ex: GPM_3IMERGHH_06)\nonly required if you don't include a variableEntryId",
1425
+ "attribute": "collection",
1426
+ "reflects": true
851
1427
  },
852
1428
  {
853
- "name": "href",
1429
+ "kind": "field",
1430
+ "name": "variable",
854
1431
  "type": {
855
- "text": "string"
1432
+ "text": "string | undefined"
856
1433
  },
857
- "default": "''",
858
- "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
859
- "fieldName": "href"
1434
+ "description": "a variable short name to plot (ex: precipitationCal)\nonly required if you don't include a variableEntryId",
1435
+ "attribute": "variable",
1436
+ "reflects": true
860
1437
  },
861
1438
  {
862
- "name": "target",
1439
+ "kind": "field",
1440
+ "name": "startDate",
863
1441
  "type": {
864
- "text": "'_blank' | '_parent' | '_self' | '_top'"
1442
+ "text": "string | undefined"
865
1443
  },
866
- "description": "Tells the browser where to open the link. Only used when `href` is present.",
867
- "fieldName": "target"
1444
+ "description": "The start date for the time series plot. (ex: 2021-01-01)",
1445
+ "attribute": "start-date",
1446
+ "reflects": true
868
1447
  },
869
1448
  {
870
- "name": "rel",
1449
+ "kind": "field",
1450
+ "name": "endDate",
871
1451
  "type": {
872
- "text": "string"
1452
+ "text": "string | undefined"
873
1453
  },
874
- "default": "'noreferrer noopener'",
875
- "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
876
- "fieldName": "rel"
1454
+ "description": "The end date for the time series plot. (ex: 2021-01-01)",
1455
+ "attribute": "end-date",
1456
+ "reflects": true
877
1457
  },
878
1458
  {
879
- "name": "download",
1459
+ "kind": "field",
1460
+ "name": "location",
880
1461
  "type": {
881
1462
  "text": "string | undefined"
882
1463
  },
883
- "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
884
- "fieldName": "download"
1464
+ "description": "The point location in \"lat,lon\" format.",
1465
+ "attribute": "location",
1466
+ "reflects": true
885
1467
  },
886
1468
  {
887
- "name": "form",
1469
+ "kind": "field",
1470
+ "name": "bearerToken",
888
1471
  "type": {
889
1472
  "text": "string"
890
1473
  },
891
- "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
892
- "fieldName": "form"
1474
+ "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
1475
+ "attribute": "bearer-token"
893
1476
  },
894
1477
  {
895
- "name": "formaction",
1478
+ "kind": "field",
1479
+ "name": "catalogVariable",
896
1480
  "type": {
897
- "text": "string"
898
- },
899
- "description": "Used to override the form owner's `action` attribute.",
900
- "fieldName": "formAction"
1481
+ "text": "Variable"
1482
+ }
901
1483
  },
902
1484
  {
903
- "name": "formenctype",
1485
+ "kind": "field",
1486
+ "name": "#catalog",
1487
+ "privacy": "private",
1488
+ "default": "new GiovanniVariableCatalog()"
1489
+ },
1490
+ {
1491
+ "kind": "field",
1492
+ "name": "#fetchVariableTask",
1493
+ "privacy": "private",
1494
+ "default": "new Task(this, {\n task: async (_args, { signal }) => {\n const variableEntryId = this.#getVariableEntryId()\n\n console.debug('fetch variable ', variableEntryId)\n\n if (!variableEntryId) {\n return\n }\n\n const variable = await this.#catalog.getVariable(variableEntryId, {\n signal,\n })\n\n console.debug('found variable ', variable)\n\n if (!variable) {\n return\n }\n\n this.startDate =\n this.startDate ?? variable.exampleInitialStartDate?.toISOString()\n this.endDate =\n this.endDate ?? variable.exampleInitialEndDate?.toISOString()\n this.catalogVariable = variable\n },\n args: () => [this.variableEntryId, this.collection, this.variable],\n })"
1495
+ },
1496
+ {
1497
+ "kind": "method",
1498
+ "name": "#getVariableEntryId"
1499
+ },
1500
+ {
1501
+ "kind": "method",
1502
+ "name": "#handleDateRangeSliderChangeEvent",
1503
+ "parameters": [
1504
+ {
1505
+ "name": "event",
1506
+ "type": {
1507
+ "text": "TerraDateRangeChangeEvent"
1508
+ }
1509
+ }
1510
+ ],
1511
+ "description": "anytime the date range slider changes, update the start and end date"
1512
+ },
1513
+ {
1514
+ "kind": "method",
1515
+ "name": "#handleVariableChange",
1516
+ "parameters": [
1517
+ {
1518
+ "name": "event",
1519
+ "type": {
1520
+ "text": "TerraComboboxChangeEvent"
1521
+ }
1522
+ }
1523
+ ]
1524
+ },
1525
+ {
1526
+ "kind": "method",
1527
+ "name": "#handleMapChange",
1528
+ "parameters": [
1529
+ {
1530
+ "name": "event",
1531
+ "type": {
1532
+ "text": "CustomEvent"
1533
+ }
1534
+ }
1535
+ ]
1536
+ }
1537
+ ],
1538
+ "attributes": [
1539
+ {
1540
+ "name": "variable-entry-id",
904
1541
  "type": {
905
- "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
1542
+ "text": "string | undefined"
906
1543
  },
907
- "description": "Used to override the form owner's `enctype` attribute.",
908
- "fieldName": "formEnctype"
1544
+ "description": "a variable entry ID (ex: GPM_3IMERGHH_06_precipitationCal)",
1545
+ "fieldName": "variableEntryId"
909
1546
  },
910
1547
  {
911
- "name": "formmethod",
1548
+ "name": "collection",
912
1549
  "type": {
913
- "text": "'post' | 'get'"
1550
+ "text": "string | undefined"
914
1551
  },
915
- "description": "Used to override the form owner's `method` attribute.",
916
- "fieldName": "formMethod"
1552
+ "description": "a collection entry id (ex: GPM_3IMERGHH_06)\nonly required if you don't include a variableEntryId",
1553
+ "fieldName": "collection"
917
1554
  },
918
1555
  {
919
- "name": "formnovalidate",
1556
+ "name": "variable",
920
1557
  "type": {
921
- "text": "boolean"
1558
+ "text": "string | undefined"
922
1559
  },
923
- "description": "Used to override the form owner's `novalidate` attribute.",
924
- "fieldName": "formNoValidate"
1560
+ "description": "a variable short name to plot (ex: precipitationCal)\nonly required if you don't include a variableEntryId",
1561
+ "fieldName": "variable"
925
1562
  },
926
1563
  {
927
- "name": "formtarget",
1564
+ "name": "start-date",
928
1565
  "type": {
929
- "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
1566
+ "text": "string | undefined"
930
1567
  },
931
- "description": "Used to override the form owner's `target` attribute.",
932
- "fieldName": "formTarget"
1568
+ "description": "The start date for the time series plot. (ex: 2021-01-01)",
1569
+ "fieldName": "startDate"
933
1570
  },
934
1571
  {
935
- "name": "for-dialog",
1572
+ "name": "end-date",
936
1573
  "type": {
937
1574
  "text": "string | undefined"
938
1575
  },
939
- "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
940
- "fieldName": "forDialog"
941
- }
942
- ],
943
- "superclass": {
944
- "name": "TerraElement",
945
- "module": "/src/internal/terra-element.js"
946
- },
947
- "summary": "Buttons represent actions that are available to the user.",
948
- "tagNameWithoutPrefix": "button",
949
- "tagName": "terra-button",
950
- "customElement": true,
951
- "jsDoc": "/**\n * @summary Buttons represent actions that are available to the user.\n * @documentation https://shoelace.style/components/button\n * @status stable\n * @since 2.0\n *\n * @slot - The button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The button's label.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart caret - The button's caret icon, an `<sl-icon>` element.\n * @csspart spinner - The spinner that shows when the button is in the loading state.\n */",
952
- "documentation": "https://shoelace.style/components/button",
953
- "status": "stable",
954
- "since": "2.0"
955
- }
956
- ],
957
- "exports": [
958
- {
959
- "kind": "js",
960
- "name": "default",
961
- "declaration": {
962
- "name": "TerraButton",
963
- "module": "components/button/button.js"
964
- }
965
- }
966
- ]
967
- },
968
- {
969
- "kind": "javascript-module",
970
- "path": "components/chip/chip.js",
971
- "declarations": [
972
- {
973
- "kind": "class",
974
- "description": "",
975
- "name": "TerraChip",
976
- "slots": [
977
- {
978
- "description": "The chip's label.",
979
- "name": ""
980
- }
981
- ],
982
- "members": [
1576
+ "description": "The end date for the time series plot. (ex: 2021-01-01)",
1577
+ "fieldName": "endDate"
1578
+ },
983
1579
  {
984
- "kind": "field",
985
- "name": "size",
1580
+ "name": "location",
986
1581
  "type": {
987
- "text": "'small' | 'medium' | 'large'"
1582
+ "text": "string | undefined"
988
1583
  },
989
- "default": "'medium'",
990
- "attribute": "size",
991
- "reflects": true
1584
+ "description": "The point location in \"lat,lon\" format.",
1585
+ "fieldName": "location"
992
1586
  },
993
1587
  {
994
- "kind": "field",
995
- "name": "#handleRemoveClick",
996
- "privacy": "private"
997
- }
998
- ],
999
- "attributes": [
1000
- {
1001
- "name": "size",
1588
+ "name": "bearer-token",
1002
1589
  "type": {
1003
- "text": "'small' | 'medium' | 'large'"
1590
+ "text": "string"
1004
1591
  },
1005
- "default": "'medium'",
1006
- "fieldName": "size"
1592
+ "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
1593
+ "fieldName": "bearerToken"
1007
1594
  }
1008
1595
  ],
1009
1596
  "superclass": {
1010
1597
  "name": "TerraElement",
1011
1598
  "module": "/src/internal/terra-element.js"
1012
1599
  },
1013
- "summary": "Used for contacts and tags",
1014
- "tagNameWithoutPrefix": "chip",
1015
- "tagName": "terra-chip",
1600
+ "summary": "A component for visualizing Hydrology Data Rods time series using the GES DISC Giovanni API",
1601
+ "tagNameWithoutPrefix": "data-rods",
1602
+ "tagName": "terra-data-rods",
1016
1603
  "customElement": true,
1017
- "jsDoc": "/**\n * @summary Used for contacts and tags\n * @documentation https://disc.gsfc.nasa.gov/components/chip\n * @status stable\n * @since 1.0\n *\n * @slot - The chip's label.\n */",
1018
- "documentation": "https://disc.gsfc.nasa.gov/components/chip",
1019
- "status": "stable",
1604
+ "jsDoc": "/**\n * @summary A component for visualizing Hydrology Data Rods time series using the GES DISC Giovanni API\n * @documentation https://disc.gsfc.nasa.gov/components/data-rods\n * @status mvp\n * @since 1.0\n */",
1605
+ "documentation": "https://disc.gsfc.nasa.gov/components/data-rods",
1606
+ "status": "mvp",
1020
1607
  "since": "1.0"
1021
1608
  }
1022
1609
  ],
@@ -1025,353 +1612,222 @@
1025
1612
  "kind": "js",
1026
1613
  "name": "default",
1027
1614
  "declaration": {
1028
- "name": "TerraChip",
1029
- "module": "components/chip/chip.js"
1615
+ "name": "TerraDataRods",
1616
+ "module": "components/data-rods/data-rods.js"
1030
1617
  }
1031
1618
  }
1032
1619
  ]
1033
1620
  },
1034
1621
  {
1035
1622
  "kind": "javascript-module",
1036
- "path": "components/combobox/combobox.js",
1623
+ "path": "components/date-range-slider/date-range-slider.js",
1037
1624
  "declarations": [
1038
1625
  {
1039
1626
  "kind": "class",
1040
1627
  "description": "",
1041
- "name": "TerraCombobox",
1628
+ "name": "TerraDateRangeSlider",
1042
1629
  "cssProperties": [
1043
1630
  {
1044
- "description": "The height of the host element.",
1045
- "name": "--host-height"
1046
- },
1047
- {
1048
- "description": "The height of the search help element.",
1049
- "name": "--help-height"
1050
- },
1051
- {
1052
- "description": "The height of the input's label element.",
1053
- "name": "--label-height"
1054
- }
1055
- ],
1056
- "cssParts": [
1057
- {
1058
- "description": "A `search` element, the component's base.",
1059
- "name": "base"
1060
- },
1061
- {
1062
- "description": "An `input` element used for searching.",
1063
- "name": "combobox"
1064
- },
1065
- {
1066
- "description": "A `button` used for toggling the listbox's visibility.",
1067
- "name": "button"
1068
- },
1069
- {
1070
- "description": "A `ul` that holds the clickable options.",
1071
- "name": "listbox"
1631
+ "description": "An example CSS custom property.",
1632
+ "name": "--example"
1072
1633
  }
1073
1634
  ],
1074
- "members": [
1075
- {
1076
- "kind": "field",
1077
- "name": "shadowRootOptions",
1078
- "type": {
1079
- "text": "object"
1080
- },
1081
- "static": true,
1082
- "default": "{\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n }"
1083
- },
1635
+ "cssParts": [
1084
1636
  {
1085
- "kind": "field",
1086
- "name": "tagName",
1087
- "type": {
1088
- "text": "string"
1089
- },
1090
- "static": true,
1091
- "default": "'terra-combobox'"
1092
- },
1637
+ "description": "The component's base wrapper.",
1638
+ "name": "base"
1639
+ }
1640
+ ],
1641
+ "slots": [
1093
1642
  {
1094
- "kind": "field",
1095
- "name": "initialQuery",
1096
- "type": {
1097
- "text": "string"
1098
- },
1099
- "static": true,
1100
- "default": "''"
1643
+ "description": "The default slot.",
1644
+ "name": ""
1101
1645
  },
1102
1646
  {
1103
- "kind": "field",
1104
- "name": "#combobox",
1105
- "privacy": "private",
1106
- "type": {
1107
- "text": "HTMLInputElement | null"
1108
- },
1109
- "default": "null"
1110
- },
1647
+ "description": "An example slot.",
1648
+ "name": "example"
1649
+ }
1650
+ ],
1651
+ "members": [
1111
1652
  {
1112
1653
  "kind": "field",
1113
- "name": "#listbox",
1114
- "privacy": "private",
1654
+ "name": "slider",
1115
1655
  "type": {
1116
- "text": "HTMLUListElement | null"
1117
- },
1118
- "default": "null"
1656
+ "text": "HTMLElement & { noUiSlider: API }"
1657
+ }
1119
1658
  },
1120
1659
  {
1121
1660
  "kind": "field",
1122
- "name": "#searchEngine",
1123
- "privacy": "private",
1661
+ "name": "timeScale",
1124
1662
  "type": {
1125
- "text": "Fuse<GroupedListItem | ListItem> | null"
1663
+ "text": "TimeScale"
1126
1664
  },
1127
- "default": "null"
1665
+ "default": "'daily'",
1666
+ "attribute": "time-scale"
1128
1667
  },
1129
1668
  {
1130
1669
  "kind": "field",
1131
- "name": "#walker",
1132
- "privacy": "private",
1670
+ "name": "minDate",
1133
1671
  "type": {
1134
- "text": "TreeWalker | null"
1672
+ "text": "string"
1135
1673
  },
1136
- "default": "null"
1674
+ "attribute": "min-date"
1137
1675
  },
1138
1676
  {
1139
1677
  "kind": "field",
1140
- "name": "label",
1678
+ "name": "maxDate",
1141
1679
  "type": {
1142
1680
  "text": "string"
1143
1681
  },
1144
- "default": "'Search for Items'",
1145
- "description": "Label the combobox with this.",
1146
- "attribute": "label"
1682
+ "attribute": "max-date"
1147
1683
  },
1148
1684
  {
1149
1685
  "kind": "field",
1150
- "name": "name",
1686
+ "name": "startDate",
1151
1687
  "type": {
1152
1688
  "text": "string"
1153
1689
  },
1154
- "default": "'Item'",
1155
- "description": "name the combobox with this.",
1156
- "attribute": "name"
1690
+ "description": "The start date for the time series plot.",
1691
+ "attribute": "start-date"
1157
1692
  },
1158
1693
  {
1159
1694
  "kind": "field",
1160
- "name": "placeholder",
1695
+ "name": "endDate",
1161
1696
  "type": {
1162
1697
  "text": "string"
1163
1698
  },
1164
- "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
1165
- "attribute": "placeholder"
1699
+ "attribute": "end-date"
1166
1700
  },
1167
1701
  {
1168
1702
  "kind": "field",
1169
- "name": "hideHelp",
1703
+ "name": "disabled",
1170
1704
  "type": {
1171
1705
  "text": "boolean"
1172
1706
  },
1173
1707
  "default": "false",
1174
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
1175
- "attribute": "hide-help"
1708
+ "attribute": "disabled",
1709
+ "reflects": true
1176
1710
  },
1177
1711
  {
1178
1712
  "kind": "field",
1179
- "name": "hideLabel",
1713
+ "name": "hasPips",
1180
1714
  "type": {
1181
1715
  "text": "boolean"
1182
1716
  },
1183
- "default": "false",
1184
- "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
1185
- "attribute": "hide-label"
1717
+ "default": "true",
1718
+ "attribute": "has-pips",
1719
+ "reflects": true
1186
1720
  },
1187
1721
  {
1188
- "kind": "field",
1189
- "name": "status",
1190
- "type": {
1191
- "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
1192
- },
1193
- "default": "'INITIAL'",
1194
- "description": "status of the content",
1195
- "attribute": "status"
1722
+ "kind": "method",
1723
+ "name": "updateSlider"
1196
1724
  },
1197
1725
  {
1198
- "kind": "field",
1199
- "name": "content",
1200
- "type": {
1201
- "text": "Content"
1202
- },
1203
- "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
1204
- "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
1205
- "attribute": "content"
1726
+ "kind": "method",
1727
+ "name": "disabledChanged"
1206
1728
  },
1207
1729
  {
1208
- "kind": "field",
1209
- "name": "isExpanded",
1210
- "type": {
1211
- "text": "boolean"
1212
- },
1213
- "default": "false"
1730
+ "kind": "method",
1731
+ "name": "renderSlider"
1214
1732
  },
1215
1733
  {
1216
- "kind": "field",
1217
- "name": "query"
1734
+ "kind": "method",
1735
+ "name": "renderEmptySlider"
1218
1736
  },
1219
1737
  {
1220
- "kind": "field",
1221
- "name": "searchResults",
1222
- "type": {
1223
- "text": "GroupedListItem[] | ListItem[]"
1224
- },
1225
- "default": "[]"
1738
+ "kind": "method",
1739
+ "name": "_getStep",
1740
+ "privacy": "private"
1226
1741
  },
1227
1742
  {
1228
1743
  "kind": "method",
1229
- "name": "contentChanged",
1744
+ "name": "_getSliderFormatter",
1745
+ "privacy": "private",
1746
+ "return": {
1747
+ "type": {
1748
+ "text": "Formatter"
1749
+ }
1750
+ }
1751
+ },
1752
+ {
1753
+ "kind": "method",
1754
+ "name": "_formatDate",
1755
+ "privacy": "private",
1230
1756
  "parameters": [
1231
1757
  {
1232
- "name": "_oldValue",
1233
- "type": {
1234
- "text": "any"
1235
- }
1236
- },
1237
- {
1238
- "name": "newValue",
1758
+ "name": "date",
1239
1759
  "type": {
1240
- "text": "any"
1760
+ "text": "string | number | Date"
1241
1761
  }
1242
1762
  }
1243
1763
  ]
1244
- },
1245
- {
1246
- "kind": "field",
1247
- "name": "#renderListItem",
1248
- "privacy": "private"
1249
- },
1250
- {
1251
- "kind": "field",
1252
- "name": "#renderGroupListItem",
1253
- "privacy": "private"
1254
- },
1255
- {
1256
- "kind": "field",
1257
- "name": "#renderError",
1258
- "privacy": "private"
1259
- },
1260
- {
1261
- "kind": "field",
1262
- "name": "#renderLoading",
1263
- "privacy": "private"
1264
- },
1265
- {
1266
- "kind": "field",
1267
- "name": "#dispatchChange",
1268
- "privacy": "private"
1269
- },
1270
- {
1271
- "kind": "field",
1272
- "name": "#handleButtonClick",
1273
- "privacy": "private"
1274
- },
1275
- {
1276
- "kind": "field",
1277
- "name": "#handleComboboxChange",
1278
- "privacy": "private"
1279
- },
1280
- {
1281
- "kind": "field",
1282
- "name": "#handleOptionClick",
1283
- "privacy": "private"
1284
- },
1285
- {
1286
- "kind": "field",
1287
- "name": "#handleKeydown",
1288
- "privacy": "private"
1289
- },
1290
- {
1291
- "kind": "field",
1292
- "name": "#manageListboxVisibility",
1293
- "privacy": "private"
1294
- },
1295
- {
1296
- "kind": "field",
1297
- "name": "#selectOption",
1298
- "privacy": "private"
1299
1764
  }
1300
1765
  ],
1301
1766
  "attributes": [
1302
1767
  {
1303
- "name": "label",
1768
+ "name": "time-scale",
1304
1769
  "type": {
1305
- "text": "string"
1770
+ "text": "TimeScale"
1306
1771
  },
1307
- "default": "'Search for Items'",
1308
- "description": "Label the combobox with this.",
1309
- "fieldName": "label"
1772
+ "default": "'daily'",
1773
+ "fieldName": "timeScale"
1310
1774
  },
1311
1775
  {
1312
- "name": "name",
1776
+ "name": "min-date",
1313
1777
  "type": {
1314
1778
  "text": "string"
1315
1779
  },
1316
- "default": "'Item'",
1317
- "description": "name the combobox with this.",
1318
- "fieldName": "name"
1780
+ "fieldName": "minDate"
1319
1781
  },
1320
1782
  {
1321
- "name": "placeholder",
1783
+ "name": "max-date",
1322
1784
  "type": {
1323
1785
  "text": "string"
1324
1786
  },
1325
- "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
1326
- "fieldName": "placeholder"
1787
+ "fieldName": "maxDate"
1327
1788
  },
1328
1789
  {
1329
- "name": "hide-help",
1790
+ "name": "start-date",
1330
1791
  "type": {
1331
- "text": "boolean"
1792
+ "text": "string"
1332
1793
  },
1333
- "default": "false",
1334
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
1335
- "fieldName": "hideHelp"
1794
+ "description": "The start date for the time series plot.",
1795
+ "fieldName": "startDate"
1336
1796
  },
1337
1797
  {
1338
- "name": "hide-label",
1798
+ "name": "end-date",
1339
1799
  "type": {
1340
- "text": "boolean"
1800
+ "text": "string"
1341
1801
  },
1342
- "default": "false",
1343
- "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
1344
- "fieldName": "hideLabel"
1802
+ "fieldName": "endDate"
1345
1803
  },
1346
1804
  {
1347
- "name": "status",
1805
+ "name": "disabled",
1348
1806
  "type": {
1349
- "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
1807
+ "text": "boolean"
1350
1808
  },
1351
- "default": "'INITIAL'",
1352
- "description": "status of the content",
1353
- "fieldName": "status"
1809
+ "default": "false",
1810
+ "fieldName": "disabled"
1354
1811
  },
1355
1812
  {
1356
- "name": "content",
1813
+ "name": "has-pips",
1357
1814
  "type": {
1358
- "text": "Content"
1815
+ "text": "boolean"
1359
1816
  },
1360
- "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
1361
- "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
1362
- "fieldName": "content"
1817
+ "default": "true",
1818
+ "fieldName": "hasPips"
1363
1819
  }
1364
1820
  ],
1365
1821
  "superclass": {
1366
1822
  "name": "TerraElement",
1367
1823
  "module": "/src/internal/terra-element.js"
1368
1824
  },
1369
- "summary": "Fuzzy-search for combobox with list autocomplete.",
1370
- "tagNameWithoutPrefix": "combobox",
1371
- "tagName": "terra-combobox",
1825
+ "summary": "Short summary of the component's intended use.",
1826
+ "tagNameWithoutPrefix": "date-range-slider",
1827
+ "tagName": "terra-date-range-slider",
1372
1828
  "customElement": true,
1373
- "jsDoc": "/**\n * @summary Fuzzy-search for combobox with list autocomplete.\n * @documentation https://disc.gsfc.nasa.gov/components/combobox\n * @status experimental\n * @since 1.0\n *\n * @csspart base - A `search` element, the component's base.\n * @csspart combobox - An `input` element used for searching.\n * @csspart button - A `button` used for toggling the listbox's visibility.\n * @csspart listbox - A `ul` that holds the clickable options.\n *\n * @cssproperty --host-height - The height of the host element.\n * @cssproperty --help-height - The height of the search help element.\n * @cssproperty --label-height - The height of the input's label element.\n */",
1374
- "documentation": "https://disc.gsfc.nasa.gov/components/combobox",
1829
+ "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://disc.gsfc.nasa.gov/components/date-range-slider\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
1830
+ "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
1375
1831
  "status": "experimental",
1376
1832
  "since": "1.0"
1377
1833
  }
@@ -1381,8 +1837,8 @@
1381
1837
  "kind": "js",
1382
1838
  "name": "default",
1383
1839
  "declaration": {
1384
- "name": "TerraCombobox",
1385
- "module": "components/combobox/combobox.js"
1840
+ "name": "TerraDateRangeSlider",
1841
+ "module": "components/date-range-slider/date-range-slider.js"
1386
1842
  }
1387
1843
  }
1388
1844
  ]
@@ -1882,290 +2338,65 @@
1882
2338
  "events": [
1883
2339
  {
1884
2340
  "description": "Emitted when the dialog opens.",
1885
- "name": "terra-dialog-show",
1886
- "reactName": "onTerraDialogShow",
1887
- "eventName": "TerraDialogShowEvent"
1888
- },
1889
- {
1890
- "description": "Emitted when the dialog closes.",
1891
- "name": "terra-dialog-hide",
1892
- "reactName": "onTerraDialogHide",
1893
- "eventName": "TerraDialogHideEvent"
1894
- }
1895
- ],
1896
- "attributes": [
1897
- {
1898
- "name": "id",
1899
- "type": {
1900
- "text": "string"
1901
- },
1902
- "description": "the ID to be used for accessibility associations",
1903
- "fieldName": "id"
1904
- },
1905
- {
1906
- "name": "width",
1907
- "type": {
1908
- "text": "string"
1909
- },
1910
- "default": "'fit-content'",
1911
- "description": "the width of the dialog",
1912
- "fieldName": "width"
1913
- },
1914
- {
1915
- "name": "click-outside-to-close",
1916
- "type": {
1917
- "text": "boolean"
1918
- },
1919
- "default": "true",
1920
- "description": "allow closing the dialog when clicking outside of it",
1921
- "fieldName": "clickOutsideToClose"
1922
- },
1923
- {
1924
- "name": "show-backdrop",
1925
- "type": {
1926
- "text": "boolean"
1927
- },
1928
- "default": "true",
1929
- "description": "Show a backdrop behind the dialog",
1930
- "fieldName": "showBackdrop"
1931
- }
1932
- ],
1933
- "superclass": {
1934
- "name": "TerraElement",
1935
- "module": "/src/internal/terra-element.js"
1936
- },
1937
- "summary": "Used to create both modal and non-modal dialog boxes.",
1938
- "tagNameWithoutPrefix": "dialog",
1939
- "tagName": "terra-dialog",
1940
- "customElement": true,
1941
- "jsDoc": "/**\n * @summary Used to create both modal and non-modal dialog boxes.\n * @documentation https://disc.gsfc.nasa.gov/components/dialog\n * @status stable\n * @since 1.0\n *\n * @slot - The dialog's main content\n *\n * @event terra-dialog-show - Emitted when the dialog opens.\n * @event terra-dialog-hide - Emitted when the dialog closes.\n */",
1942
- "documentation": "https://disc.gsfc.nasa.gov/components/dialog",
1943
- "status": "stable",
1944
- "since": "1.0"
1945
- }
1946
- ],
1947
- "exports": [
1948
- {
1949
- "kind": "js",
1950
- "name": "default",
1951
- "declaration": {
1952
- "name": "TerraDialog",
1953
- "module": "components/dialog/dialog.js"
1954
- }
1955
- }
1956
- ]
1957
- },
1958
- {
1959
- "kind": "javascript-module",
1960
- "path": "components/date-range-slider/date-range-slider.js",
1961
- "declarations": [
1962
- {
1963
- "kind": "class",
1964
- "description": "",
1965
- "name": "TerraDateRangeSlider",
1966
- "cssProperties": [
1967
- {
1968
- "description": "An example CSS custom property.",
1969
- "name": "--example"
1970
- }
1971
- ],
1972
- "cssParts": [
1973
- {
1974
- "description": "The component's base wrapper.",
1975
- "name": "base"
1976
- }
1977
- ],
1978
- "slots": [
1979
- {
1980
- "description": "The default slot.",
1981
- "name": ""
1982
- },
1983
- {
1984
- "description": "An example slot.",
1985
- "name": "example"
1986
- }
1987
- ],
1988
- "members": [
1989
- {
1990
- "kind": "field",
1991
- "name": "slider",
1992
- "type": {
1993
- "text": "HTMLElement & { noUiSlider: API }"
1994
- }
1995
- },
1996
- {
1997
- "kind": "field",
1998
- "name": "timeScale",
1999
- "type": {
2000
- "text": "TimeScale"
2001
- },
2002
- "default": "'daily'",
2003
- "attribute": "time-scale"
2004
- },
2005
- {
2006
- "kind": "field",
2007
- "name": "minDate",
2008
- "type": {
2009
- "text": "string"
2010
- },
2011
- "attribute": "min-date"
2012
- },
2013
- {
2014
- "kind": "field",
2015
- "name": "maxDate",
2016
- "type": {
2017
- "text": "string"
2018
- },
2019
- "attribute": "max-date"
2020
- },
2021
- {
2022
- "kind": "field",
2023
- "name": "startDate",
2024
- "type": {
2025
- "text": "string"
2026
- },
2027
- "description": "The start date for the time series plot.",
2028
- "attribute": "start-date"
2029
- },
2030
- {
2031
- "kind": "field",
2032
- "name": "endDate",
2033
- "type": {
2034
- "text": "string"
2035
- },
2036
- "attribute": "end-date"
2037
- },
2038
- {
2039
- "kind": "field",
2040
- "name": "disabled",
2041
- "type": {
2042
- "text": "boolean"
2043
- },
2044
- "default": "false",
2045
- "attribute": "disabled",
2046
- "reflects": true
2047
- },
2048
- {
2049
- "kind": "field",
2050
- "name": "hasPips",
2051
- "type": {
2052
- "text": "boolean"
2053
- },
2054
- "default": "true",
2055
- "attribute": "has-pips",
2056
- "reflects": true
2057
- },
2058
- {
2059
- "kind": "method",
2060
- "name": "updateSlider"
2061
- },
2062
- {
2063
- "kind": "method",
2064
- "name": "disabledChanged"
2065
- },
2066
- {
2067
- "kind": "method",
2068
- "name": "renderSlider"
2069
- },
2070
- {
2071
- "kind": "method",
2072
- "name": "renderEmptySlider"
2073
- },
2074
- {
2075
- "kind": "method",
2076
- "name": "_getStep",
2077
- "privacy": "private"
2078
- },
2079
- {
2080
- "kind": "method",
2081
- "name": "_getSliderFormatter",
2082
- "privacy": "private",
2083
- "return": {
2084
- "type": {
2085
- "text": "Formatter"
2086
- }
2087
- }
2088
- },
2089
- {
2090
- "kind": "method",
2091
- "name": "_formatDate",
2092
- "privacy": "private",
2093
- "parameters": [
2094
- {
2095
- "name": "date",
2096
- "type": {
2097
- "text": "string | number | Date"
2098
- }
2099
- }
2100
- ]
2101
- }
2102
- ],
2103
- "attributes": [
2104
- {
2105
- "name": "time-scale",
2106
- "type": {
2107
- "text": "TimeScale"
2108
- },
2109
- "default": "'daily'",
2110
- "fieldName": "timeScale"
2111
- },
2112
- {
2113
- "name": "min-date",
2114
- "type": {
2115
- "text": "string"
2116
- },
2117
- "fieldName": "minDate"
2341
+ "name": "terra-dialog-show",
2342
+ "reactName": "onTerraDialogShow",
2343
+ "eventName": "TerraDialogShowEvent"
2118
2344
  },
2119
2345
  {
2120
- "name": "max-date",
2121
- "type": {
2122
- "text": "string"
2123
- },
2124
- "fieldName": "maxDate"
2125
- },
2346
+ "description": "Emitted when the dialog closes.",
2347
+ "name": "terra-dialog-hide",
2348
+ "reactName": "onTerraDialogHide",
2349
+ "eventName": "TerraDialogHideEvent"
2350
+ }
2351
+ ],
2352
+ "attributes": [
2126
2353
  {
2127
- "name": "start-date",
2354
+ "name": "id",
2128
2355
  "type": {
2129
2356
  "text": "string"
2130
2357
  },
2131
- "description": "The start date for the time series plot.",
2132
- "fieldName": "startDate"
2358
+ "description": "the ID to be used for accessibility associations",
2359
+ "fieldName": "id"
2133
2360
  },
2134
2361
  {
2135
- "name": "end-date",
2362
+ "name": "width",
2136
2363
  "type": {
2137
2364
  "text": "string"
2138
2365
  },
2139
- "fieldName": "endDate"
2366
+ "default": "'fit-content'",
2367
+ "description": "the width of the dialog",
2368
+ "fieldName": "width"
2140
2369
  },
2141
2370
  {
2142
- "name": "disabled",
2371
+ "name": "click-outside-to-close",
2143
2372
  "type": {
2144
2373
  "text": "boolean"
2145
2374
  },
2146
- "default": "false",
2147
- "fieldName": "disabled"
2375
+ "default": "true",
2376
+ "description": "allow closing the dialog when clicking outside of it",
2377
+ "fieldName": "clickOutsideToClose"
2148
2378
  },
2149
2379
  {
2150
- "name": "has-pips",
2380
+ "name": "show-backdrop",
2151
2381
  "type": {
2152
2382
  "text": "boolean"
2153
2383
  },
2154
2384
  "default": "true",
2155
- "fieldName": "hasPips"
2385
+ "description": "Show a backdrop behind the dialog",
2386
+ "fieldName": "showBackdrop"
2156
2387
  }
2157
2388
  ],
2158
2389
  "superclass": {
2159
2390
  "name": "TerraElement",
2160
2391
  "module": "/src/internal/terra-element.js"
2161
2392
  },
2162
- "summary": "Short summary of the component's intended use.",
2163
- "tagNameWithoutPrefix": "date-range-slider",
2164
- "tagName": "terra-date-range-slider",
2393
+ "summary": "Used to create both modal and non-modal dialog boxes.",
2394
+ "tagNameWithoutPrefix": "dialog",
2395
+ "tagName": "terra-dialog",
2165
2396
  "customElement": true,
2166
- "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://disc.gsfc.nasa.gov/components/date-range-slider\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
2167
- "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
2168
- "status": "experimental",
2397
+ "jsDoc": "/**\n * @summary Used to create both modal and non-modal dialog boxes.\n * @documentation https://disc.gsfc.nasa.gov/components/dialog\n * @status stable\n * @since 1.0\n *\n * @slot - The dialog's main content\n *\n * @event terra-dialog-show - Emitted when the dialog opens.\n * @event terra-dialog-hide - Emitted when the dialog closes.\n */",
2398
+ "documentation": "https://disc.gsfc.nasa.gov/components/dialog",
2399
+ "status": "stable",
2169
2400
  "since": "1.0"
2170
2401
  }
2171
2402
  ],
@@ -2174,8 +2405,8 @@
2174
2405
  "kind": "js",
2175
2406
  "name": "default",
2176
2407
  "declaration": {
2177
- "name": "TerraDateRangeSlider",
2178
- "module": "components/date-range-slider/date-range-slider.js"
2408
+ "name": "TerraDialog",
2409
+ "module": "components/dialog/dialog.js"
2179
2410
  }
2180
2411
  }
2181
2412
  ]
@@ -3239,6 +3470,16 @@
3239
3470
  "description": "spatial picker label",
3240
3471
  "attribute": "label"
3241
3472
  },
3473
+ {
3474
+ "kind": "field",
3475
+ "name": "spatialConstraints",
3476
+ "type": {
3477
+ "text": "string"
3478
+ },
3479
+ "default": "'-180, -90, 180, 90'",
3480
+ "description": "Spatial constraints for the map (default: '-180, -90, 180, 90')",
3481
+ "attribute": "spatial-constraints"
3482
+ },
3242
3483
  {
3243
3484
  "kind": "field",
3244
3485
  "name": "isExpanded",
@@ -3259,6 +3500,16 @@
3259
3500
  "description": "Whether the map should be shown inline, or as part of the normal content flow\nthe default is false, the map is positioned absolute under the input",
3260
3501
  "attribute": "inline"
3261
3502
  },
3503
+ {
3504
+ "kind": "field",
3505
+ "name": "showMapOnFocus",
3506
+ "type": {
3507
+ "text": "boolean"
3508
+ },
3509
+ "default": "false",
3510
+ "description": "Whether the map should show automatically when the input is focused",
3511
+ "attribute": "show-map-on-focus"
3512
+ },
3262
3513
  {
3263
3514
  "kind": "field",
3264
3515
  "name": "mapValue",
@@ -3404,6 +3655,15 @@
3404
3655
  "description": "spatial picker label",
3405
3656
  "fieldName": "label"
3406
3657
  },
3658
+ {
3659
+ "name": "spatial-constraints",
3660
+ "type": {
3661
+ "text": "string"
3662
+ },
3663
+ "default": "'-180, -90, 180, 90'",
3664
+ "description": "Spatial constraints for the map (default: '-180, -90, 180, 90')",
3665
+ "fieldName": "spatialConstraints"
3666
+ },
3407
3667
  {
3408
3668
  "name": "is-expanded",
3409
3669
  "type": {
@@ -3420,6 +3680,15 @@
3420
3680
  "default": "false",
3421
3681
  "description": "Whether the map should be shown inline, or as part of the normal content flow\nthe default is false, the map is positioned absolute under the input",
3422
3682
  "fieldName": "inline"
3683
+ },
3684
+ {
3685
+ "name": "show-map-on-focus",
3686
+ "type": {
3687
+ "text": "boolean"
3688
+ },
3689
+ "default": "false",
3690
+ "description": "Whether the map should show automatically when the input is focused",
3691
+ "fieldName": "showMapOnFocus"
3423
3692
  }
3424
3693
  ],
3425
3694
  "superclass": {
@@ -3463,7 +3732,7 @@
3463
3732
  "text": "object"
3464
3733
  },
3465
3734
  "static": true,
3466
- "default": "{\n 'terra-plot': TerraPlot,\n 'terra-date-range-slider': TerraDateRangeSlider,\n 'terra-spatial-picker': TerraSpatialPicker,\n 'terra-variable-combobox': TerraVariableCombobox,\n 'terra-loader': TerraLoader,\n 'terra-icon': TerraIcon,\n 'terra-button': TerraButton,\n }"
3735
+ "default": "{\n 'terra-plot': TerraPlot,\n 'terra-loader': TerraLoader,\n 'terra-icon': TerraIcon,\n 'terra-button': TerraButton,\n }"
3467
3736
  },
3468
3737
  {
3469
3738
  "kind": "field",
@@ -3475,32 +3744,22 @@
3475
3744
  },
3476
3745
  {
3477
3746
  "kind": "field",
3478
- "name": "collection",
3479
- "type": {
3480
- "text": "string | undefined"
3481
- },
3482
- "description": "a collection entry id (ex: GPM_3IMERGHH_06)",
3483
- "attribute": "collection",
3484
- "reflects": true
3485
- },
3486
- {
3487
- "kind": "field",
3488
- "name": "collectionLongName",
3747
+ "name": "variableEntryId",
3489
3748
  "type": {
3490
3749
  "text": "string | undefined"
3491
3750
  },
3492
- "description": "a collection long name (ex: \"NLDAS Primary Forcing Data L4 Hourly 0.125 x 0.125 degree V2.0 (NLDAS_FORA0125_H) at GES DISC\")",
3493
- "attribute": "collectionLongName",
3751
+ "description": "a variable entry ID (ex: GPM_3IMERGHH_06_precipitationCal)",
3752
+ "attribute": "variable-entry-id",
3494
3753
  "reflects": true
3495
3754
  },
3496
3755
  {
3497
3756
  "kind": "field",
3498
- "name": "datasetLandingPage",
3757
+ "name": "collection",
3499
3758
  "type": {
3500
3759
  "text": "string | undefined"
3501
3760
  },
3502
- "description": "the dataset landing page for the collection",
3503
- "attribute": "datasetLandingPage",
3761
+ "description": "a collection entry id (ex: GPM_3IMERGHH_06)\nonly required if you don't include a variableEntryId",
3762
+ "attribute": "collection",
3504
3763
  "reflects": true
3505
3764
  },
3506
3765
  {
@@ -3509,30 +3768,10 @@
3509
3768
  "type": {
3510
3769
  "text": "string | undefined"
3511
3770
  },
3512
- "description": "a variable short name to plot (ex: precipitationCal)",
3771
+ "description": "a variable short name to plot (ex: precipitationCal)\nonly required if you don't include a variableEntryId",
3513
3772
  "attribute": "variable",
3514
3773
  "reflects": true
3515
3774
  },
3516
- {
3517
- "kind": "field",
3518
- "name": "variableLandingPage",
3519
- "type": {
3520
- "text": "string | undefined"
3521
- },
3522
- "description": "the variable landing page",
3523
- "attribute": "variableLandingPage",
3524
- "reflects": true
3525
- },
3526
- {
3527
- "kind": "field",
3528
- "name": "variableLongName",
3529
- "type": {
3530
- "text": "string | undefined"
3531
- },
3532
- "description": "a variable long name to plot (e.g., \"Longwave radiation flux downwards (surface)\")",
3533
- "attribute": "variableLongName",
3534
- "reflects": true
3535
- },
3536
3775
  {
3537
3776
  "kind": "field",
3538
3777
  "name": "startDate",
@@ -3563,290 +3802,99 @@
3563
3802
  "attribute": "location",
3564
3803
  "reflects": true
3565
3804
  },
3566
- {
3567
- "kind": "field",
3568
- "name": "units",
3569
- "type": {
3570
- "text": "string | undefined"
3571
- },
3572
- "description": "Units",
3573
- "attribute": "units",
3574
- "reflects": true
3575
- },
3576
3805
  {
3577
3806
  "kind": "field",
3578
3807
  "name": "bearerToken",
3579
3808
  "type": {
3580
- "text": "string"
3581
- },
3582
- "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
3583
- "attribute": "bearer-token"
3584
- },
3585
- {
3586
- "kind": "field",
3587
- "name": "dateRangeSlider",
3588
- "type": {
3589
- "text": "TerraDateRangeSlider"
3590
- }
3591
- },
3592
- {
3593
- "kind": "field",
3594
- "name": "plot",
3595
- "type": {
3596
- "text": "TerraPlot"
3597
- }
3598
- },
3599
- {
3600
- "kind": "field",
3601
- "name": "spatialPicker",
3602
- "type": {
3603
- "text": "TerraSpatialPicker"
3604
- }
3605
- },
3606
- {
3607
- "kind": "field",
3608
- "name": "variableCombobox",
3609
- "type": {
3610
- "text": "TerraVariableCombobox"
3611
- }
3612
- },
3613
- {
3614
- "kind": "field",
3615
- "name": "menu",
3616
- "type": {
3617
- "text": "HTMLMenuElement"
3618
- }
3619
- },
3620
- {
3621
- "kind": "field",
3622
- "name": "collectionBeginningDateTime",
3623
- "type": {
3624
- "text": "string | undefined"
3625
- },
3626
- "description": "holds the start date for the earliest available data for the collection"
3627
- },
3628
- {
3629
- "kind": "field",
3630
- "name": "collectionEndingDateTime",
3631
- "type": {
3632
- "text": "string | undefined"
3633
- },
3634
- "description": "holds the end date for the latest available data for the collection"
3635
- },
3636
- {
3637
- "kind": "field",
3638
- "name": "timeInterval",
3639
- "type": {
3640
- "text": "TimeInterval | undefined"
3641
- },
3642
- "description": "holds the time interval for the collection"
3643
- },
3644
- {
3645
- "kind": "field",
3646
- "name": "showDataPointWarning",
3647
- "type": {
3648
- "text": "boolean"
3649
- },
3650
- "default": "false",
3651
- "description": "if true, we'll show a warning to the user about them requesting a large number of data points"
3652
- },
3653
- {
3654
- "kind": "field",
3655
- "name": "estimatedDataPoints",
3656
- "type": {
3657
- "text": "number"
3658
- },
3659
- "default": "0",
3660
- "description": "stores the estimated"
3661
- },
3662
- {
3663
- "kind": "field",
3664
- "name": "activeMenuItem",
3665
- "type": {
3666
- "text": "MenuNames"
3667
- },
3668
- "default": "null"
3669
- },
3670
- {
3671
- "kind": "method",
3672
- "name": "handleCollectionUpdate",
3673
- "parameters": [
3674
- {
3675
- "name": "_oldValue",
3676
- "type": {
3677
- "text": "string"
3678
- }
3679
- },
3680
- {
3681
- "name": "newValue",
3682
- "type": {
3683
- "text": "string"
3684
- }
3685
- }
3686
- ]
3687
- },
3688
- {
3689
- "kind": "method",
3690
- "name": "handlevariableUpdate",
3691
- "parameters": [
3692
- {
3693
- "name": "_oldValue",
3694
- "type": {
3695
- "text": "string"
3696
- }
3697
- },
3698
- {
3699
- "name": "newValue",
3700
- "type": {
3701
- "text": "string"
3702
- }
3703
- }
3704
- ]
3705
- },
3706
- {
3707
- "kind": "method",
3708
- "name": "handleStartDateUpdate",
3709
- "parameters": [
3710
- {
3711
- "name": "_oldValue",
3712
- "type": {
3713
- "text": "string"
3714
- }
3715
- },
3716
- {
3717
- "name": "newValue",
3718
- "type": {
3719
- "text": "string"
3720
- }
3721
- }
3722
- ]
3723
- },
3724
- {
3725
- "kind": "method",
3726
- "name": "handleEndDateUpdate",
3727
- "parameters": [
3728
- {
3729
- "name": "_oldValue",
3730
- "type": {
3731
- "text": "string"
3732
- }
3733
- },
3734
- {
3735
- "name": "newValue",
3736
- "type": {
3737
- "text": "string"
3738
- }
3739
- }
3740
- ]
3809
+ "text": "string"
3810
+ },
3811
+ "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
3812
+ "attribute": "bearer-token"
3741
3813
  },
3742
3814
  {
3743
- "kind": "method",
3744
- "name": "handleLocationUpdate",
3745
- "parameters": [
3746
- {
3747
- "name": "_oldValue",
3748
- "type": {
3749
- "text": "string"
3750
- }
3751
- },
3752
- {
3753
- "name": "newValue",
3754
- "type": {
3755
- "text": "string"
3756
- }
3757
- }
3758
- ]
3815
+ "kind": "field",
3816
+ "name": "plot",
3817
+ "type": {
3818
+ "text": "TerraPlot"
3819
+ }
3759
3820
  },
3760
3821
  {
3761
- "kind": "method",
3762
- "name": "handleFocus",
3763
- "parameters": [
3764
- {
3765
- "name": "_oldValue",
3766
- "type": {
3767
- "text": "MenuNames"
3768
- }
3769
- },
3770
- {
3771
- "name": "newValue",
3772
- "type": {
3773
- "text": "MenuNames"
3774
- }
3775
- }
3776
- ]
3822
+ "kind": "field",
3823
+ "name": "menu",
3824
+ "type": {
3825
+ "text": "HTMLMenuElement"
3826
+ }
3777
3827
  },
3778
3828
  {
3779
- "kind": "method",
3780
- "name": "#checkDataPointLimits",
3781
- "description": "Checks if the current date range will exceed data point limits\neturns true if it's safe to proceed, false if confirmation is needed"
3829
+ "kind": "field",
3830
+ "name": "catalogVariable",
3831
+ "type": {
3832
+ "text": "Variable"
3833
+ }
3782
3834
  },
3783
3835
  {
3784
- "kind": "method",
3785
- "name": "#confirmDataPointWarning"
3836
+ "kind": "field",
3837
+ "name": "showDataPointWarning",
3838
+ "type": {
3839
+ "text": "boolean"
3840
+ },
3841
+ "default": "false",
3842
+ "description": "if true, we'll show a warning to the user about them requesting a large number of data points"
3786
3843
  },
3787
3844
  {
3788
- "kind": "method",
3789
- "name": "#cancelDataPointWarning"
3845
+ "kind": "field",
3846
+ "name": "estimatedDataPoints",
3847
+ "type": {
3848
+ "text": "number"
3849
+ },
3850
+ "default": "0",
3851
+ "description": "stores the estimated"
3852
+ },
3853
+ {
3854
+ "kind": "field",
3855
+ "name": "activeMenuItem",
3856
+ "type": {
3857
+ "text": "MenuNames"
3858
+ },
3859
+ "default": "null"
3790
3860
  },
3791
3861
  {
3792
3862
  "kind": "method",
3793
- "name": "#adaptPropertyToController",
3863
+ "name": "handleFocus",
3794
3864
  "parameters": [
3795
3865
  {
3796
- "name": "property",
3866
+ "name": "_oldValue",
3797
3867
  "type": {
3798
- "text": "'collection' | 'variable' | 'startDate' | 'endDate' | 'location'"
3868
+ "text": "MenuNames"
3799
3869
  }
3800
3870
  },
3801
3871
  {
3802
- "name": "value",
3872
+ "name": "newValue",
3803
3873
  "type": {
3804
- "text": "any"
3874
+ "text": "MenuNames"
3805
3875
  }
3806
3876
  }
3807
3877
  ]
3808
3878
  },
3809
3879
  {
3810
- "kind": "method",
3811
- "name": "#maybeSliceTimeForStartEnd",
3812
- "description": "The Collection Beginning DateTime changes when a new collection is selected.\nWe want to auto-select a reasonable slice of time and send a request to the data API, the\nsame as if the user moved the time slider.\nHowever, if the component has the startDate or endDate set externally, don't override that;\nthis is an init-only action."
3880
+ "kind": "field",
3881
+ "name": "#catalog",
3882
+ "privacy": "private",
3883
+ "default": "new GiovanniVariableCatalog()"
3813
3884
  },
3814
3885
  {
3815
- "kind": "method",
3816
- "name": "#handleVariableChange",
3817
- "parameters": [
3818
- {
3819
- "name": "event",
3820
- "type": {
3821
- "text": "TerraComboboxChangeEvent"
3822
- }
3823
- }
3824
- ]
3886
+ "kind": "field",
3887
+ "name": "#fetchVariableTask",
3888
+ "privacy": "private",
3889
+ "default": "new Task(this, {\n task: async (_args, { signal }) => {\n const variableEntryId = this.#getVariableEntryId()\n\n console.debug('fetch variable ', variableEntryId)\n\n if (!variableEntryId) {\n return\n }\n\n const variable = await this.#catalog.getVariable(variableEntryId, {\n signal,\n })\n\n console.debug('found variable ', variable)\n\n if (!variable) {\n return\n }\n\n this.startDate =\n this.startDate ?? variable.exampleInitialStartDate?.toISOString()\n this.endDate =\n this.endDate ?? variable.exampleInitialEndDate?.toISOString()\n this.catalogVariable = variable\n },\n args: () => [this.variableEntryId, this.collection, this.variable],\n })"
3825
3890
  },
3826
3891
  {
3827
3892
  "kind": "method",
3828
- "name": "#handleMapChange",
3829
- "parameters": [
3830
- {
3831
- "name": "event",
3832
- "type": {
3833
- "text": "CustomEvent"
3834
- }
3835
- }
3836
- ]
3893
+ "name": "#confirmDataPointWarning"
3837
3894
  },
3838
3895
  {
3839
3896
  "kind": "method",
3840
- "name": "#handleDateRangeSliderChangeEvent",
3841
- "parameters": [
3842
- {
3843
- "name": "event",
3844
- "type": {
3845
- "text": "TerraDateRangeChangeEvent"
3846
- }
3847
- }
3848
- ],
3849
- "description": "anytime the date range slider changes, update the start and end date"
3897
+ "name": "#cancelDataPointWarning"
3850
3898
  },
3851
3899
  {
3852
3900
  "kind": "method",
@@ -3863,8 +3911,7 @@
3863
3911
  "text": "Event"
3864
3912
  }
3865
3913
  }
3866
- ],
3867
- "description": "TODO:\n[x] re-enable downloads here\n[x] get live data from Giovanni\n[x] display required information in information menuitem\n[x] ask about adding help links\n[ ] see what can be simplified from downloadCSV"
3914
+ ]
3868
3915
  },
3869
3916
  {
3870
3917
  "kind": "method",
@@ -3906,6 +3953,34 @@
3906
3953
  }
3907
3954
  }
3908
3955
  ]
3956
+ },
3957
+ {
3958
+ "kind": "method",
3959
+ "name": "#handleMenuLeave"
3960
+ },
3961
+ {
3962
+ "kind": "method",
3963
+ "name": "#getVariableEntryId"
3964
+ },
3965
+ {
3966
+ "kind": "method",
3967
+ "name": "#getYAxisLabel"
3968
+ },
3969
+ {
3970
+ "kind": "method",
3971
+ "name": "#renderInfoPanel"
3972
+ },
3973
+ {
3974
+ "kind": "method",
3975
+ "name": "#renderDownloadPanel"
3976
+ },
3977
+ {
3978
+ "kind": "method",
3979
+ "name": "#renderHelpPanel"
3980
+ },
3981
+ {
3982
+ "kind": "method",
3983
+ "name": "#renderJupyterNotebookPanel"
3909
3984
  }
3910
3985
  ],
3911
3986
  "events": [
@@ -3918,53 +3993,29 @@
3918
3993
  ],
3919
3994
  "attributes": [
3920
3995
  {
3921
- "name": "collection",
3922
- "type": {
3923
- "text": "string | undefined"
3924
- },
3925
- "description": "a collection entry id (ex: GPM_3IMERGHH_06)",
3926
- "fieldName": "collection"
3927
- },
3928
- {
3929
- "name": "collectionLongName",
3996
+ "name": "variable-entry-id",
3930
3997
  "type": {
3931
3998
  "text": "string | undefined"
3932
3999
  },
3933
- "description": "a collection long name (ex: \"NLDAS Primary Forcing Data L4 Hourly 0.125 x 0.125 degree V2.0 (NLDAS_FORA0125_H) at GES DISC\")",
3934
- "fieldName": "collectionLongName"
4000
+ "description": "a variable entry ID (ex: GPM_3IMERGHH_06_precipitationCal)",
4001
+ "fieldName": "variableEntryId"
3935
4002
  },
3936
4003
  {
3937
- "name": "datasetLandingPage",
4004
+ "name": "collection",
3938
4005
  "type": {
3939
4006
  "text": "string | undefined"
3940
4007
  },
3941
- "description": "the dataset landing page for the collection",
3942
- "fieldName": "datasetLandingPage"
4008
+ "description": "a collection entry id (ex: GPM_3IMERGHH_06)\nonly required if you don't include a variableEntryId",
4009
+ "fieldName": "collection"
3943
4010
  },
3944
4011
  {
3945
4012
  "name": "variable",
3946
4013
  "type": {
3947
4014
  "text": "string | undefined"
3948
4015
  },
3949
- "description": "a variable short name to plot (ex: precipitationCal)",
4016
+ "description": "a variable short name to plot (ex: precipitationCal)\nonly required if you don't include a variableEntryId",
3950
4017
  "fieldName": "variable"
3951
4018
  },
3952
- {
3953
- "name": "variableLandingPage",
3954
- "type": {
3955
- "text": "string | undefined"
3956
- },
3957
- "description": "the variable landing page",
3958
- "fieldName": "variableLandingPage"
3959
- },
3960
- {
3961
- "name": "variableLongName",
3962
- "type": {
3963
- "text": "string | undefined"
3964
- },
3965
- "description": "a variable long name to plot (e.g., \"Longwave radiation flux downwards (surface)\")",
3966
- "fieldName": "variableLongName"
3967
- },
3968
4019
  {
3969
4020
  "name": "start-date",
3970
4021
  "type": {
@@ -3989,14 +4040,6 @@
3989
4040
  "description": "The point location in \"lat,lon\" format.",
3990
4041
  "fieldName": "location"
3991
4042
  },
3992
- {
3993
- "name": "units",
3994
- "type": {
3995
- "text": "string | undefined"
3996
- },
3997
- "description": "Units",
3998
- "fieldName": "units"
3999
- },
4000
4043
  {
4001
4044
  "name": "bearer-token",
4002
4045
  "type": {
@@ -4014,14 +4057,12 @@
4014
4057
  "tagNameWithoutPrefix": "time-series",
4015
4058
  "tagName": "terra-time-series",
4016
4059
  "customElement": true,
4017
- "jsDoc": "/**\n * @summary A component for visualizing time series data using the GES DISC Giovanni API.\n * @documentation https://disc.gsfc.nasa.gov/components/time-series\n * @status mvp\n * @since 1.0\n *\n * @dependency terra-plot\n * @dependency terra-date-range-slider\n * @dependency terra-variable-combobox\n *\n * @event terra-time-series-data-change - Emitted whenever time series data has been fetched from Giovanni\n */",
4060
+ "jsDoc": "/**\n * @summary A component for visualizing time series data using the GES DISC Giovanni API.\n * @documentation https://disc.gsfc.nasa.gov/components/time-series\n * @status mvp\n * @since 1.0\n *\n * @dependency terra-plot\n *\n * @event terra-time-series-data-change - Emitted whenever time series data has been fetched from Giovanni\n */",
4018
4061
  "documentation": "https://disc.gsfc.nasa.gov/components/time-series",
4019
4062
  "status": "mvp",
4020
4063
  "since": "1.0",
4021
4064
  "dependencies": [
4022
- "terra-plot",
4023
- "terra-date-range-slider",
4024
- "terra-variable-combobox"
4065
+ "terra-plot"
4025
4066
  ]
4026
4067
  }
4027
4068
  ],
@@ -4038,21 +4079,17 @@
4038
4079
  },
4039
4080
  {
4040
4081
  "kind": "javascript-module",
4041
- "path": "components/variable-combobox/variable-combobox.js",
4082
+ "path": "components/variable-keyword-search/variable-keyword-search.js",
4042
4083
  "declarations": [
4043
4084
  {
4044
4085
  "kind": "class",
4045
4086
  "description": "",
4046
- "name": "TerraVariableCombobox",
4087
+ "name": "TerraVariableKeywordSearch",
4047
4088
  "cssProperties": [
4048
4089
  {
4049
4090
  "description": "The height of the host element.",
4050
4091
  "name": "--host-height"
4051
4092
  },
4052
- {
4053
- "description": "The height of the search help element.",
4054
- "name": "--help-height"
4055
- },
4056
4093
  {
4057
4094
  "description": "The height of the input's label element.",
4058
4095
  "name": "--label-height"
@@ -4102,7 +4139,7 @@
4102
4139
  "text": "string"
4103
4140
  },
4104
4141
  "static": true,
4105
- "default": "'terra-variable-combobox'"
4142
+ "default": "'terra-variable-keyword-search'"
4106
4143
  },
4107
4144
  {
4108
4145
  "kind": "field",
@@ -4126,18 +4163,7 @@
4126
4163
  "kind": "field",
4127
4164
  "name": "#fetchController",
4128
4165
  "privacy": "private",
4129
- "type": {
4130
- "text": "FetchController"
4131
- }
4132
- },
4133
- {
4134
- "kind": "field",
4135
- "name": "#searchableList",
4136
- "privacy": "private",
4137
- "type": {
4138
- "text": "ListItem[]"
4139
- },
4140
- "default": "[]"
4166
+ "default": "new FetchController(this)"
4141
4167
  },
4142
4168
  {
4143
4169
  "kind": "field",
@@ -4166,22 +4192,13 @@
4166
4192
  },
4167
4193
  "default": "null"
4168
4194
  },
4169
- {
4170
- "kind": "field",
4171
- "name": "#tagContainer",
4172
- "privacy": "private",
4173
- "type": {
4174
- "text": "HTMLDivElement | null"
4175
- },
4176
- "default": "null"
4177
- },
4178
4195
  {
4179
4196
  "kind": "field",
4180
4197
  "name": "label",
4181
4198
  "type": {
4182
4199
  "text": "string"
4183
4200
  },
4184
- "default": "'Search for Variables'",
4201
+ "default": "'Enter search terms (e.g., precipitation, AOD)'",
4185
4202
  "description": "Label the combobox with this.",
4186
4203
  "attribute": "label"
4187
4204
  },
@@ -4194,38 +4211,25 @@
4194
4211
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4195
4212
  "attribute": "placeholder"
4196
4213
  },
4197
- {
4198
- "kind": "field",
4199
- "name": "hideHelp",
4200
- "type": {
4201
- "text": "boolean"
4202
- },
4203
- "default": "false",
4204
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4205
- "attribute": "hide-help",
4206
- "reflects": true
4207
- },
4208
4214
  {
4209
4215
  "kind": "field",
4210
4216
  "name": "hideLabel",
4211
4217
  "type": {
4212
4218
  "text": "boolean"
4213
4219
  },
4214
- "default": "false",
4220
+ "default": "true",
4215
4221
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4216
- "attribute": "hide-label",
4217
- "reflects": true
4222
+ "attribute": "hide-label"
4218
4223
  },
4219
4224
  {
4220
4225
  "kind": "field",
4221
- "name": "useTags",
4226
+ "name": "searchConfig",
4222
4227
  "type": {
4223
- "text": "boolean"
4228
+ "text": "object"
4224
4229
  },
4225
- "default": "false",
4226
- "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4227
- "attribute": "use-tags",
4228
- "reflects": true
4230
+ "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4231
+ "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4232
+ "attribute": "searchConfig"
4229
4233
  },
4230
4234
  {
4231
4235
  "kind": "field",
@@ -4233,18 +4237,8 @@
4233
4237
  "type": {
4234
4238
  "text": "string"
4235
4239
  },
4236
- "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4237
4240
  "attribute": "value"
4238
4241
  },
4239
- {
4240
- "kind": "field",
4241
- "name": "bearerToken",
4242
- "type": {
4243
- "text": "string"
4244
- },
4245
- "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
4246
- "attribute": "bearer-token"
4247
- },
4248
4242
  {
4249
4243
  "kind": "field",
4250
4244
  "name": "isExpanded",
@@ -4265,28 +4259,12 @@
4265
4259
  },
4266
4260
  "default": "[]"
4267
4261
  },
4268
- {
4269
- "kind": "field",
4270
- "name": "tags",
4271
- "type": {
4272
- "text": "string[]"
4273
- },
4274
- "default": "[]"
4275
- },
4276
- {
4277
- "kind": "field",
4278
- "name": "tagContainerWidth",
4279
- "type": {
4280
- "text": "number"
4281
- },
4282
- "default": "0"
4283
- },
4284
4262
  {
4285
4263
  "kind": "method",
4286
4264
  "name": "valueChanged",
4287
4265
  "parameters": [
4288
4266
  {
4289
- "name": "oldValue",
4267
+ "name": "_oldValue",
4290
4268
  "type": {
4291
4269
  "text": "string"
4292
4270
  }
@@ -4297,8 +4275,7 @@
4297
4275
  "text": "string"
4298
4276
  }
4299
4277
  }
4300
- ],
4301
- "description": "This component's value is read by other components.\nInternally, the variable metdata has slight differences that require adapting."
4278
+ ]
4302
4279
  },
4303
4280
  {
4304
4281
  "kind": "method",
@@ -4312,16 +4289,6 @@
4312
4289
  "kind": "method",
4313
4290
  "name": "toggle"
4314
4291
  },
4315
- {
4316
- "kind": "field",
4317
- "name": "#dispatchChange",
4318
- "privacy": "private"
4319
- },
4320
- {
4321
- "kind": "field",
4322
- "name": "#handleButtonClick",
4323
- "privacy": "private"
4324
- },
4325
4292
  {
4326
4293
  "kind": "field",
4327
4294
  "name": "#handleComboboxChange",
@@ -4349,29 +4316,33 @@
4349
4316
  },
4350
4317
  {
4351
4318
  "kind": "method",
4352
- "name": "#renderTags",
4319
+ "name": "#handleSearch",
4353
4320
  "parameters": [
4354
4321
  {
4355
- "name": "tag",
4322
+ "name": "query",
4356
4323
  "type": {
4357
4324
  "text": "string"
4358
4325
  }
4359
- },
4360
- {
4361
- "name": "_index",
4362
- "type": {
4363
- "text": "number"
4364
- }
4365
4326
  }
4366
4327
  ]
4328
+ },
4329
+ {
4330
+ "kind": "method",
4331
+ "name": "#clearSearch"
4367
4332
  }
4368
4333
  ],
4369
4334
  "events": [
4370
4335
  {
4371
4336
  "description": "Emitted when an option is selected.",
4372
- "name": "terra-combobox-change",
4373
- "reactName": "onTerraComboboxChange",
4374
- "eventName": "TerraComboboxChangeEvent"
4337
+ "name": "terra-variable-keyword-search-change",
4338
+ "reactName": "onTerraVariableKeywordSearchChange",
4339
+ "eventName": "TerraVariableKeywordSearchChangeEvent"
4340
+ },
4341
+ {
4342
+ "description": "Emitted when the component is triggering a search (like a form triggering submit).",
4343
+ "name": "terra-search",
4344
+ "reactName": "onTerraSearch",
4345
+ "eventName": "TerraSearchEvent"
4375
4346
  }
4376
4347
  ],
4377
4348
  "attributes": [
@@ -4380,7 +4351,7 @@
4380
4351
  "type": {
4381
4352
  "text": "string"
4382
4353
  },
4383
- "default": "'Search for Variables'",
4354
+ "default": "'Enter search terms (e.g., precipitation, AOD)'",
4384
4355
  "description": "Label the combobox with this.",
4385
4356
  "fieldName": "label"
4386
4357
  },
@@ -4392,60 +4363,42 @@
4392
4363
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4393
4364
  "fieldName": "placeholder"
4394
4365
  },
4395
- {
4396
- "name": "hide-help",
4397
- "type": {
4398
- "text": "boolean"
4399
- },
4400
- "default": "false",
4401
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4402
- "fieldName": "hideHelp"
4403
- },
4404
4366
  {
4405
4367
  "name": "hide-label",
4406
4368
  "type": {
4407
4369
  "text": "boolean"
4408
4370
  },
4409
- "default": "false",
4371
+ "default": "true",
4410
4372
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4411
4373
  "fieldName": "hideLabel"
4412
4374
  },
4413
4375
  {
4414
- "name": "use-tags",
4376
+ "name": "searchConfig",
4415
4377
  "type": {
4416
- "text": "boolean"
4378
+ "text": "object"
4417
4379
  },
4418
- "default": "false",
4419
- "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4420
- "fieldName": "useTags"
4380
+ "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4381
+ "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4382
+ "fieldName": "searchConfig"
4421
4383
  },
4422
4384
  {
4423
4385
  "name": "value",
4424
4386
  "type": {
4425
4387
  "text": "string"
4426
4388
  },
4427
- "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4428
4389
  "fieldName": "value"
4429
- },
4430
- {
4431
- "name": "bearer-token",
4432
- "type": {
4433
- "text": "string"
4434
- },
4435
- "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
4436
- "fieldName": "bearerToken"
4437
4390
  }
4438
4391
  ],
4439
4392
  "superclass": {
4440
4393
  "name": "TerraElement",
4441
4394
  "module": "/src/internal/terra-element.js"
4442
4395
  },
4443
- "summary": "Fuzzy-search for dataset variables in combobox with list autocomplete.",
4444
- "tagNameWithoutPrefix": "variable-combobox",
4445
- "tagName": "terra-variable-combobox",
4396
+ "summary": "Fuzzy-search for dataset keywords in combobox with list autocomplete.",
4397
+ "tagNameWithoutPrefix": "variable-keyword-search",
4398
+ "tagName": "terra-variable-keyword-search",
4446
4399
  "customElement": true,
4447
- "jsDoc": "/**\n * @summary Fuzzy-search for dataset variables in combobox with list autocomplete.\n * @documentation https://disc.gsfc.nasa.gov/components/variable-combobox\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list/\n * @status MVP\n * @since 1.0\n *\n * @csspart base - A `search` element, the component's base.\n * @csspart combobox - An `input` element used for searching.\n * @csspart button - A `button` used for toggling the listbox's visibility.\n * @csspart listbox - A `ul` that holds the clickable options.\n *\n * @cssproperty --host-height - The height of the host element.\n * @cssproperty --help-height - The height of the search help element.\n * @cssproperty --label-height - The height of the input's label element.\n *\n * @event terra-combobox-change - Emitted when an option is selected.\n */",
4448
- "documentation": "https://disc.gsfc.nasa.gov/components/variable-combobox",
4400
+ "jsDoc": "/**\n * @summary Fuzzy-search for dataset keywords in combobox with list autocomplete.\n * @documentation https://disc.gsfc.nasa.gov/components/giovanni-serch\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list/\n * @status MVP\n * @since 1.0\n *\n * @csspart base - A `search` element, the component's base.\n * @csspart combobox - An `input` element used for searching.\n * @csspart button - A `button` used for toggling the listbox's visibility.\n * @csspart listbox - A `ul` that holds the clickable options.\n *\n * @cssproperty --host-height - The height of the host element.\n * @cssproperty --label-height - The height of the input's label element.\n *\n * @event terra-variable-keyword-search-change - Emitted when an option is selected.\n * @event terra-search - Emitted when the component is triggering a search (like a form triggering submit).\n */",
4401
+ "documentation": "https://disc.gsfc.nasa.gov/components/giovanni-serch",
4449
4402
  "status": "MVP",
4450
4403
  "since": "1.0"
4451
4404
  }
@@ -4455,25 +4408,29 @@
4455
4408
  "kind": "js",
4456
4409
  "name": "default",
4457
4410
  "declaration": {
4458
- "name": "TerraVariableCombobox",
4459
- "module": "components/variable-combobox/variable-combobox.js"
4411
+ "name": "TerraVariableKeywordSearch",
4412
+ "module": "components/variable-keyword-search/variable-keyword-search.js"
4460
4413
  }
4461
4414
  }
4462
4415
  ]
4463
4416
  },
4464
4417
  {
4465
4418
  "kind": "javascript-module",
4466
- "path": "components/variable-keyword-search/variable-keyword-search.js",
4419
+ "path": "components/variable-combobox/variable-combobox.js",
4467
4420
  "declarations": [
4468
4421
  {
4469
4422
  "kind": "class",
4470
4423
  "description": "",
4471
- "name": "TerraVariableKeywordSearch",
4424
+ "name": "TerraVariableCombobox",
4472
4425
  "cssProperties": [
4473
4426
  {
4474
4427
  "description": "The height of the host element.",
4475
4428
  "name": "--host-height"
4476
4429
  },
4430
+ {
4431
+ "description": "The height of the search help element.",
4432
+ "name": "--help-height"
4433
+ },
4477
4434
  {
4478
4435
  "description": "The height of the input's label element.",
4479
4436
  "name": "--label-height"
@@ -4523,7 +4480,7 @@
4523
4480
  "text": "string"
4524
4481
  },
4525
4482
  "static": true,
4526
- "default": "'terra-variable-keyword-search'"
4483
+ "default": "'terra-variable-combobox'"
4527
4484
  },
4528
4485
  {
4529
4486
  "kind": "field",
@@ -4547,7 +4504,18 @@
4547
4504
  "kind": "field",
4548
4505
  "name": "#fetchController",
4549
4506
  "privacy": "private",
4550
- "default": "new FetchController(this)"
4507
+ "type": {
4508
+ "text": "FetchController"
4509
+ }
4510
+ },
4511
+ {
4512
+ "kind": "field",
4513
+ "name": "#searchableList",
4514
+ "privacy": "private",
4515
+ "type": {
4516
+ "text": "ListItem[]"
4517
+ },
4518
+ "default": "[]"
4551
4519
  },
4552
4520
  {
4553
4521
  "kind": "field",
@@ -4576,13 +4544,22 @@
4576
4544
  },
4577
4545
  "default": "null"
4578
4546
  },
4547
+ {
4548
+ "kind": "field",
4549
+ "name": "#tagContainer",
4550
+ "privacy": "private",
4551
+ "type": {
4552
+ "text": "HTMLDivElement | null"
4553
+ },
4554
+ "default": "null"
4555
+ },
4579
4556
  {
4580
4557
  "kind": "field",
4581
4558
  "name": "label",
4582
4559
  "type": {
4583
4560
  "text": "string"
4584
4561
  },
4585
- "default": "'Enter search terms (e.g., precipitation, AOD)'",
4562
+ "default": "'Search for Variables'",
4586
4563
  "description": "Label the combobox with this.",
4587
4564
  "attribute": "label"
4588
4565
  },
@@ -4595,25 +4572,38 @@
4595
4572
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4596
4573
  "attribute": "placeholder"
4597
4574
  },
4575
+ {
4576
+ "kind": "field",
4577
+ "name": "hideHelp",
4578
+ "type": {
4579
+ "text": "boolean"
4580
+ },
4581
+ "default": "false",
4582
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4583
+ "attribute": "hide-help",
4584
+ "reflects": true
4585
+ },
4598
4586
  {
4599
4587
  "kind": "field",
4600
4588
  "name": "hideLabel",
4601
4589
  "type": {
4602
4590
  "text": "boolean"
4603
4591
  },
4604
- "default": "true",
4592
+ "default": "false",
4605
4593
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4606
- "attribute": "hide-label"
4594
+ "attribute": "hide-label",
4595
+ "reflects": true
4607
4596
  },
4608
4597
  {
4609
4598
  "kind": "field",
4610
- "name": "searchConfig",
4599
+ "name": "useTags",
4611
4600
  "type": {
4612
- "text": "object"
4601
+ "text": "boolean"
4613
4602
  },
4614
- "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4615
- "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4616
- "attribute": "searchConfig"
4603
+ "default": "false",
4604
+ "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4605
+ "attribute": "use-tags",
4606
+ "reflects": true
4617
4607
  },
4618
4608
  {
4619
4609
  "kind": "field",
@@ -4621,8 +4611,18 @@
4621
4611
  "type": {
4622
4612
  "text": "string"
4623
4613
  },
4614
+ "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4624
4615
  "attribute": "value"
4625
4616
  },
4617
+ {
4618
+ "kind": "field",
4619
+ "name": "bearerToken",
4620
+ "type": {
4621
+ "text": "string"
4622
+ },
4623
+ "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
4624
+ "attribute": "bearer-token"
4625
+ },
4626
4626
  {
4627
4627
  "kind": "field",
4628
4628
  "name": "isExpanded",
@@ -4643,12 +4643,28 @@
4643
4643
  },
4644
4644
  "default": "[]"
4645
4645
  },
4646
+ {
4647
+ "kind": "field",
4648
+ "name": "tags",
4649
+ "type": {
4650
+ "text": "string[]"
4651
+ },
4652
+ "default": "[]"
4653
+ },
4654
+ {
4655
+ "kind": "field",
4656
+ "name": "tagContainerWidth",
4657
+ "type": {
4658
+ "text": "number"
4659
+ },
4660
+ "default": "0"
4661
+ },
4646
4662
  {
4647
4663
  "kind": "method",
4648
4664
  "name": "valueChanged",
4649
4665
  "parameters": [
4650
4666
  {
4651
- "name": "_oldValue",
4667
+ "name": "oldValue",
4652
4668
  "type": {
4653
4669
  "text": "string"
4654
4670
  }
@@ -4659,7 +4675,8 @@
4659
4675
  "text": "string"
4660
4676
  }
4661
4677
  }
4662
- ]
4678
+ ],
4679
+ "description": "This component's value is read by other components.\nInternally, the variable metdata has slight differences that require adapting."
4663
4680
  },
4664
4681
  {
4665
4682
  "kind": "method",
@@ -4673,6 +4690,16 @@
4673
4690
  "kind": "method",
4674
4691
  "name": "toggle"
4675
4692
  },
4693
+ {
4694
+ "kind": "field",
4695
+ "name": "#dispatchChange",
4696
+ "privacy": "private"
4697
+ },
4698
+ {
4699
+ "kind": "field",
4700
+ "name": "#handleButtonClick",
4701
+ "privacy": "private"
4702
+ },
4676
4703
  {
4677
4704
  "kind": "field",
4678
4705
  "name": "#handleComboboxChange",
@@ -4700,33 +4727,29 @@
4700
4727
  },
4701
4728
  {
4702
4729
  "kind": "method",
4703
- "name": "#handleSearch",
4730
+ "name": "#renderTags",
4704
4731
  "parameters": [
4705
4732
  {
4706
- "name": "query",
4733
+ "name": "tag",
4707
4734
  "type": {
4708
4735
  "text": "string"
4709
4736
  }
4737
+ },
4738
+ {
4739
+ "name": "_index",
4740
+ "type": {
4741
+ "text": "number"
4742
+ }
4710
4743
  }
4711
4744
  ]
4712
- },
4713
- {
4714
- "kind": "method",
4715
- "name": "#clearSearch"
4716
4745
  }
4717
4746
  ],
4718
4747
  "events": [
4719
4748
  {
4720
4749
  "description": "Emitted when an option is selected.",
4721
- "name": "terra-variable-keyword-search-change",
4722
- "reactName": "onTerraVariableKeywordSearchChange",
4723
- "eventName": "TerraVariableKeywordSearchChangeEvent"
4724
- },
4725
- {
4726
- "description": "Emitted when the component is triggering a search (like a form triggering submit).",
4727
- "name": "terra-search",
4728
- "reactName": "onTerraSearch",
4729
- "eventName": "TerraSearchEvent"
4750
+ "name": "terra-combobox-change",
4751
+ "reactName": "onTerraComboboxChange",
4752
+ "eventName": "TerraComboboxChangeEvent"
4730
4753
  }
4731
4754
  ],
4732
4755
  "attributes": [
@@ -4735,7 +4758,7 @@
4735
4758
  "type": {
4736
4759
  "text": "string"
4737
4760
  },
4738
- "default": "'Enter search terms (e.g., precipitation, AOD)'",
4761
+ "default": "'Search for Variables'",
4739
4762
  "description": "Label the combobox with this.",
4740
4763
  "fieldName": "label"
4741
4764
  },
@@ -4747,42 +4770,60 @@
4747
4770
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4748
4771
  "fieldName": "placeholder"
4749
4772
  },
4773
+ {
4774
+ "name": "hide-help",
4775
+ "type": {
4776
+ "text": "boolean"
4777
+ },
4778
+ "default": "false",
4779
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4780
+ "fieldName": "hideHelp"
4781
+ },
4750
4782
  {
4751
4783
  "name": "hide-label",
4752
4784
  "type": {
4753
4785
  "text": "boolean"
4754
4786
  },
4755
- "default": "true",
4787
+ "default": "false",
4756
4788
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4757
4789
  "fieldName": "hideLabel"
4758
4790
  },
4759
4791
  {
4760
- "name": "searchConfig",
4792
+ "name": "use-tags",
4761
4793
  "type": {
4762
- "text": "object"
4794
+ "text": "boolean"
4763
4795
  },
4764
- "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4765
- "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4766
- "fieldName": "searchConfig"
4796
+ "default": "false",
4797
+ "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4798
+ "fieldName": "useTags"
4767
4799
  },
4768
4800
  {
4769
4801
  "name": "value",
4770
4802
  "type": {
4771
4803
  "text": "string"
4772
4804
  },
4805
+ "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4773
4806
  "fieldName": "value"
4807
+ },
4808
+ {
4809
+ "name": "bearer-token",
4810
+ "type": {
4811
+ "text": "string"
4812
+ },
4813
+ "description": "The token to be used for authentication with remote servers.\nThe component provides the header \"Authorization: Bearer\" (the request header and authentication scheme).\nThe property's value will be inserted after \"Bearer\" (the authentication scheme).",
4814
+ "fieldName": "bearerToken"
4774
4815
  }
4775
4816
  ],
4776
4817
  "superclass": {
4777
4818
  "name": "TerraElement",
4778
4819
  "module": "/src/internal/terra-element.js"
4779
4820
  },
4780
- "summary": "Fuzzy-search for dataset keywords in combobox with list autocomplete.",
4781
- "tagNameWithoutPrefix": "variable-keyword-search",
4782
- "tagName": "terra-variable-keyword-search",
4821
+ "summary": "Fuzzy-search for dataset variables in combobox with list autocomplete.",
4822
+ "tagNameWithoutPrefix": "variable-combobox",
4823
+ "tagName": "terra-variable-combobox",
4783
4824
  "customElement": true,
4784
- "jsDoc": "/**\n * @summary Fuzzy-search for dataset keywords in combobox with list autocomplete.\n * @documentation https://disc.gsfc.nasa.gov/components/giovanni-serch\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list/\n * @status MVP\n * @since 1.0\n *\n * @csspart base - A `search` element, the component's base.\n * @csspart combobox - An `input` element used for searching.\n * @csspart button - A `button` used for toggling the listbox's visibility.\n * @csspart listbox - A `ul` that holds the clickable options.\n *\n * @cssproperty --host-height - The height of the host element.\n * @cssproperty --label-height - The height of the input's label element.\n *\n * @event terra-variable-keyword-search-change - Emitted when an option is selected.\n * @event terra-search - Emitted when the component is triggering a search (like a form triggering submit).\n */",
4785
- "documentation": "https://disc.gsfc.nasa.gov/components/giovanni-serch",
4825
+ "jsDoc": "/**\n * @summary Fuzzy-search for dataset variables in combobox with list autocomplete.\n * @documentation https://disc.gsfc.nasa.gov/components/variable-combobox\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list/\n * @status MVP\n * @since 1.0\n *\n * @csspart base - A `search` element, the component's base.\n * @csspart combobox - An `input` element used for searching.\n * @csspart button - A `button` used for toggling the listbox's visibility.\n * @csspart listbox - A `ul` that holds the clickable options.\n *\n * @cssproperty --host-height - The height of the host element.\n * @cssproperty --help-height - The height of the search help element.\n * @cssproperty --label-height - The height of the input's label element.\n *\n * @event terra-combobox-change - Emitted when an option is selected.\n */",
4826
+ "documentation": "https://disc.gsfc.nasa.gov/components/variable-combobox",
4786
4827
  "status": "MVP",
4787
4828
  "since": "1.0"
4788
4829
  }
@@ -4792,8 +4833,8 @@
4792
4833
  "kind": "js",
4793
4834
  "name": "default",
4794
4835
  "declaration": {
4795
- "name": "TerraVariableKeywordSearch",
4796
- "module": "components/variable-keyword-search/variable-keyword-search.js"
4836
+ "name": "TerraVariableCombobox",
4837
+ "module": "components/variable-combobox/variable-combobox.js"
4797
4838
  }
4798
4839
  }
4799
4840
  ]
@@ -4802,7 +4843,7 @@
4802
4843
  "package": {
4803
4844
  "name": "@nasa-terra/components",
4804
4845
  "description": "A collection of NASA Earthdata components",
4805
- "version": "0.0.43",
4846
+ "version": "0.0.44",
4806
4847
  "author": "NASA GES DISC <https://disc.gsfc.nasa.gov>",
4807
4848
  "homepage": "https://github.com/gesdisc/components",
4808
4849
  "license": "MIT"