@nasa-terra/components 0.0.29 → 0.0.30

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 (338) hide show
  1. package/cdn/chunks/{chunk.Q6JDB7UF.js → chunk.2B5MWFZJ.js} +1 -1
  2. package/cdn/chunks/{chunk.KRV3QC6E.js → chunk.2IBDQF7X.js} +1 -1
  3. package/cdn/chunks/{chunk.MOLJLF6T.js → chunk.2KO7WMDA.js} +1 -1
  4. package/cdn/chunks/{chunk.O2FDJRVL.js → chunk.2ZTQTPGQ.js} +1 -1
  5. package/cdn/chunks/chunk.567ZKY6U.js +11 -0
  6. package/cdn/chunks/{chunk.GF7FCO7U.js → chunk.57KITL7R.js} +115 -21
  7. package/{dist/chunks/chunk.QND3EL2M.js → cdn/chunks/chunk.5YPKED3D.js} +1 -1
  8. package/cdn/chunks/{chunk.XZLBSMUJ.js → chunk.63W2KW34.js} +1 -1
  9. package/cdn/chunks/{chunk.HLLY7QKL.js → chunk.6RTRSHJT.js} +4 -4
  10. package/{dist/chunks/chunk.LSCC4BWP.js → cdn/chunks/chunk.7F6COZGY.js} +1 -1
  11. package/cdn/chunks/{chunk.QUCOTU2W.js → chunk.ABJ2K7TM.js} +1 -1
  12. package/cdn/chunks/{chunk.HSHJMWBR.js → chunk.AX2SA27I.js} +1 -1
  13. package/cdn/chunks/{chunk.PLFKPXGA.js → chunk.BJNWBPC2.js} +1 -1
  14. package/cdn/chunks/{chunk.VEENI5ZG.js → chunk.BWPJFRNN.js} +1 -1
  15. package/cdn/chunks/chunk.CEIZPS3F.js +14 -0
  16. package/{dist/chunks/chunk.5VZI3AW6.js → cdn/chunks/chunk.DDGJ6BLG.js} +1 -1
  17. package/cdn/chunks/{chunk.OMGRHNEB.js → chunk.EFOVA2JJ.js} +36 -36
  18. package/cdn/chunks/{chunk.XIE55A7V.js → chunk.EKLIR3WI.js} +1 -1
  19. package/{dist/chunks/chunk.6NV24MHZ.js → cdn/chunks/chunk.F2MIC3AX.js} +1 -1
  20. package/cdn/chunks/{chunk.ZM74J5O7.js → chunk.GDSSJKN2.js} +4 -4
  21. package/cdn/chunks/{chunk.R4PWO4RV.js → chunk.GSG6MPDX.js} +1 -1
  22. package/cdn/chunks/{chunk.HC2QXV76.js → chunk.HFMQVMLF.js} +4 -4
  23. package/cdn/chunks/chunk.HLNHG2BS.js +25 -0
  24. package/cdn/chunks/{chunk.BH3A72JP.js → chunk.HXEZAY6X.js} +2 -2
  25. package/cdn/chunks/{chunk.DSBAUO4Q.js → chunk.I6AG4GNV.js} +1 -1
  26. package/cdn/chunks/{chunk.FAICFDGD.js → chunk.JLUCY2KC.js} +1 -27
  27. package/cdn/chunks/{chunk.MJY6U2Q2.js → chunk.JXGOY6TG.js} +14 -6
  28. package/cdn/chunks/{chunk.CMTARP4Z.js → chunk.KFKV4IIY.js} +8 -8
  29. package/cdn/chunks/{chunk.VO4QBWR6.js → chunk.KJEKFNS4.js} +20 -20
  30. package/cdn/chunks/{chunk.XUJ6GG3I.js → chunk.LCPNNUVW.js} +4 -4
  31. package/cdn/chunks/chunk.LLGXVXUH.js +571 -0
  32. package/cdn/chunks/{chunk.MOQDQMCK.js → chunk.LMBQZGKV.js} +1 -1
  33. package/{dist/chunks/chunk.YQCBR4B6.js → cdn/chunks/chunk.MJAGRW43.js} +1 -1
  34. package/cdn/chunks/{chunk.2NNEVPUU.js → chunk.MMPYQ7JX.js} +1 -1
  35. package/cdn/chunks/{chunk.NXRLD6HP.js → chunk.MU5CIHVF.js} +1 -1
  36. package/cdn/chunks/{chunk.3BDUSUJJ.js → chunk.N3DIGSJT.js} +1 -1
  37. package/{dist/chunks/chunk.4RD7BI5G.js → cdn/chunks/chunk.N4W3LSG4.js} +1 -1
  38. package/cdn/chunks/{chunk.WGDILZM6.js → chunk.NMJ34B6C.js} +3 -3
  39. package/cdn/chunks/{chunk.EK2WNRX7.js → chunk.O7MMFKKX.js} +2 -2
  40. package/cdn/chunks/{chunk.EZSX4R2K.js → chunk.PRXO3ACA.js} +1 -1
  41. package/{dist/chunks/chunk.V73GDG7A.js → cdn/chunks/chunk.PXFI6DWW.js} +1 -1
  42. package/cdn/chunks/{chunk.4JSCLX3L.js → chunk.QALWOJYN.js} +1 -1
  43. package/cdn/chunks/chunk.QKFBOZ3A.js +21 -0
  44. package/cdn/chunks/{chunk.Z2TYLEAP.js → chunk.RE7Y5324.js} +15 -22
  45. package/cdn/chunks/{chunk.SWEK2UAG.js → chunk.RU6G6JLS.js} +34 -4
  46. package/cdn/chunks/chunk.SBI2FAOG.js +11 -0
  47. package/cdn/chunks/{chunk.WD2DJJFP.js → chunk.SCFJOPPV.js} +1 -1
  48. package/cdn/chunks/{chunk.Y742TAGH.js → chunk.SI3J4IDI.js} +1 -1
  49. package/{dist/chunks/chunk.UCLNYZP4.js → cdn/chunks/chunk.SSOHEVCW.js} +1 -1
  50. package/{dist/chunks/chunk.WZRVDBUQ.js → cdn/chunks/chunk.STX2OFFU.js} +1 -1
  51. package/cdn/chunks/{chunk.CGMA5YPP.js → chunk.SULSGF5G.js} +5 -5
  52. package/cdn/chunks/{chunk.CNP3J6CH.js → chunk.T6H2MZZI.js} +59 -19
  53. package/{dist/chunks/chunk.FHPEQ6H6.js → cdn/chunks/chunk.TSLU66AK.js} +1 -1
  54. package/cdn/chunks/{chunk.BJIWBGKZ.js → chunk.TVLFTKMX.js} +100 -39
  55. package/cdn/chunks/{chunk.44NIPIWB.js → chunk.U2IVCX3M.js} +4 -5
  56. package/cdn/chunks/chunk.UXTJ3UQP.js +3812 -0
  57. package/{dist/chunks/chunk.XWVIOQSF.js → cdn/chunks/chunk.VJ4KDMYT.js} +1 -1
  58. package/{dist/chunks/chunk.4KUKUFDS.js → cdn/chunks/chunk.VKEDPAJJ.js} +1 -1
  59. package/cdn/chunks/{chunk.KJJ66WSH.js → chunk.X4S4SQKL.js} +1 -1
  60. package/cdn/chunks/{chunk.WPRM2AN2.js → chunk.XHVCGLFU.js} +1 -1
  61. package/cdn/chunks/{chunk.XRQFG5L5.js → chunk.ZLX4LVIZ.js} +1 -1
  62. package/cdn/chunks/{chunk.H4QA5UXQ.js → chunk.ZP7GOIAS.js} +1 -1
  63. package/cdn/chunks/{chunk.Z4FQAFSZ.js → chunk.ZXJ4IGW5.js} +1 -1
  64. package/cdn/components/browse-variables/browse-variables.component.d.ts +5 -5
  65. package/cdn/components/browse-variables/browse-variables.component.js +22 -22
  66. package/cdn/components/browse-variables/browse-variables.js +23 -23
  67. package/cdn/components/button/button.component.js +3 -3
  68. package/cdn/components/button/button.js +4 -4
  69. package/cdn/components/chip/chip.component.js +2 -2
  70. package/cdn/components/chip/chip.js +3 -3
  71. package/cdn/components/combobox/combobox.component.js +3 -3
  72. package/cdn/components/combobox/combobox.js +4 -4
  73. package/cdn/components/date-picker/date-picker.component.d.ts +39 -0
  74. package/cdn/components/date-picker/date-picker.component.js +12 -0
  75. package/cdn/components/date-picker/date-picker.d.ts +8 -0
  76. package/cdn/components/date-picker/date-picker.js +13 -0
  77. package/cdn/components/{giovanni-search/giovanni-search.styles.js → date-picker/date-picker.styles.js} +3 -3
  78. package/cdn/components/date-range-slider/date-range-slider.component.js +3 -3
  79. package/cdn/components/date-range-slider/date-range-slider.js +4 -4
  80. package/cdn/components/dialog/dialog.component.d.ts +1 -3
  81. package/cdn/components/dialog/dialog.component.js +3 -3
  82. package/cdn/components/dialog/dialog.js +4 -4
  83. package/cdn/components/dialog/dialog.styles.js +1 -1
  84. package/cdn/components/icon/icon.component.js +5 -5
  85. package/cdn/components/icon/icon.js +6 -6
  86. package/cdn/components/icon/library.js +2 -2
  87. package/cdn/components/loader/loader.component.js +2 -2
  88. package/cdn/components/loader/loader.js +3 -3
  89. package/cdn/components/login/login.component.js +15 -15
  90. package/cdn/components/login/login.js +16 -16
  91. package/cdn/components/map/map.component.js +3 -3
  92. package/cdn/components/map/map.js +4 -4
  93. package/cdn/components/plot/plot.component.js +3 -3
  94. package/cdn/components/plot/plot.js +4 -4
  95. package/cdn/components/plot/plot.styles.js +1 -1
  96. package/cdn/components/skeleton/skeleton.component.js +4 -4
  97. package/cdn/components/skeleton/skeleton.js +5 -5
  98. package/cdn/components/spatial-picker/spatial-picker.component.js +4 -4
  99. package/cdn/components/spatial-picker/spatial-picker.js +5 -5
  100. package/cdn/components/time-series/time-series.component.d.ts +17 -0
  101. package/cdn/components/time-series/time-series.component.js +30 -30
  102. package/cdn/components/time-series/time-series.controller.js +1 -1
  103. package/cdn/components/time-series/time-series.js +31 -31
  104. package/cdn/components/time-series/time-series.styles.js +1 -1
  105. package/cdn/components/variable-combobox/lib.d.ts +3 -2
  106. package/cdn/components/variable-combobox/lib.js +3 -1
  107. package/cdn/components/variable-combobox/variable-combobox.component.d.ts +15 -1
  108. package/cdn/components/variable-combobox/variable-combobox.component.js +16 -16
  109. package/cdn/components/variable-combobox/variable-combobox.controller.js +3 -3
  110. package/cdn/components/variable-combobox/variable-combobox.js +17 -17
  111. package/cdn/components/variable-combobox/variable-combobox.styles.js +1 -1
  112. package/cdn/components/variable-combobox/variable-combobox.types.d.ts +2 -0
  113. package/cdn/components/{giovanni-search → variable-keyword-search}/lib.d.ts +1 -1
  114. package/cdn/components/{giovanni-search → variable-keyword-search}/lib.js +1 -1
  115. package/{dist/components/giovanni-search/giovanni-search.component.d.ts → cdn/components/variable-keyword-search/variable-keyword-search.component.d.ts} +3 -3
  116. package/cdn/components/{giovanni-search/giovanni-search.component.js → variable-keyword-search/variable-keyword-search.component.js} +18 -18
  117. package/cdn/components/{giovanni-search/giovanni-search.controller.d.ts → variable-keyword-search/variable-keyword-search.controller.d.ts} +1 -1
  118. package/cdn/components/{giovanni-search/giovanni-search.controller.js → variable-keyword-search/variable-keyword-search.controller.js} +1 -1
  119. package/cdn/components/variable-keyword-search/variable-keyword-search.d.ts +8 -0
  120. package/cdn/components/{giovanni-search/giovanni-search.js → variable-keyword-search/variable-keyword-search.js} +19 -19
  121. package/cdn/components/variable-keyword-search/variable-keyword-search.styles.js +9 -0
  122. package/cdn/custom-elements.json +1988 -1482
  123. package/cdn/events/events.d.ts +1 -1
  124. package/cdn/events/terra-variable-keyword-search-change.d.ts +6 -0
  125. package/cdn/lib/dataset.d.ts +9 -0
  126. package/cdn/react/browse-variables/index.d.ts +1 -1
  127. package/cdn/react/browse-variables/index.js +23 -23
  128. package/cdn/react/button/index.js +4 -4
  129. package/cdn/react/chip/index.js +3 -3
  130. package/cdn/react/combobox/index.js +4 -4
  131. package/cdn/react/date-picker/index.d.ts +14 -0
  132. package/cdn/react/date-picker/index.js +13 -0
  133. package/cdn/react/date-range-slider/index.js +4 -4
  134. package/cdn/react/dialog/index.js +4 -4
  135. package/cdn/react/icon/index.js +6 -6
  136. package/cdn/react/index.d.ts +7 -6
  137. package/cdn/react/index.js +88 -82
  138. package/cdn/react/loader/index.js +3 -3
  139. package/cdn/react/login/index.js +16 -16
  140. package/cdn/react/map/index.js +4 -4
  141. package/cdn/react/plot/index.js +4 -4
  142. package/cdn/react/skeleton/index.js +5 -5
  143. package/cdn/react/spatial-picker/index.js +5 -5
  144. package/cdn/react/time-series/index.js +31 -31
  145. package/cdn/react/variable-combobox/index.js +17 -17
  146. package/{dist/react/giovanni-search → cdn/react/variable-keyword-search}/index.d.ts +5 -5
  147. package/cdn/react/{giovanni-search → variable-keyword-search}/index.js +19 -19
  148. package/cdn/terra-ui-components.d.ts +5 -4
  149. package/cdn/terra-ui-components.js +81 -75
  150. package/cdn/types/vue/index.d.ts +203 -132
  151. package/cdn/types.d.ts +7 -0
  152. package/cdn/utilities/animation.js +2 -2
  153. package/cdn/utilities/icon-library.js +2 -2
  154. package/cdn/vscode.html-custom-data.json +159 -99
  155. package/cdn/web-types.json +356 -223
  156. package/dist/chunks/{chunk.ICYAVVW4.js → chunk.2QTJHB7F.js} +1 -1
  157. package/dist/chunks/{chunk.IYY536HH.js → chunk.2RGRL45T.js} +1 -1
  158. package/dist/chunks/{chunk.WXWUMSQ6.js → chunk.2WHOFNO7.js} +1 -1
  159. package/dist/chunks/{chunk.W7JRXR2Y.js → chunk.2YRBHDWM.js} +1 -1
  160. package/dist/chunks/{chunk.OIO4HWK3.js → chunk.3IIDXU4S.js} +1 -1
  161. package/dist/chunks/{chunk.JXNFBM4G.js → chunk.3J5TZOPP.js} +17 -17
  162. package/dist/chunks/{chunk.SBA3WOAN.js → chunk.3JQPZWUE.js} +1 -1
  163. package/dist/chunks/{chunk.2OY33DUQ.js → chunk.3K3BQXON.js} +1 -1
  164. package/{cdn/chunks/chunk.4XVD3JO6.js → dist/chunks/chunk.3SSCVJFM.js} +1 -1
  165. package/dist/chunks/{chunk.GHDRVO5M.js → chunk.5EHGVGXV.js} +59 -19
  166. package/dist/chunks/{chunk.RV2KFFXW.js → chunk.5LMWCV76.js} +14 -6
  167. package/dist/chunks/{chunk.CCDDGUFW.js → chunk.67EX34DL.js} +1 -27
  168. package/dist/chunks/{chunk.X2NOCGLF.js → chunk.6P4UBSKH.js} +4 -4
  169. package/dist/chunks/chunk.A3JXDHJG.js +11 -0
  170. package/dist/chunks/{chunk.KJQZP5RO.js → chunk.AUB6SKUI.js} +3 -3
  171. package/dist/chunks/{chunk.AKIZ4D6W.js → chunk.BCU2ZKJ4.js} +1 -1
  172. package/dist/chunks/{chunk.BOJX33N7.js → chunk.BVCKNDN2.js} +1 -1
  173. package/{cdn/chunks/chunk.3T5XKTPL.js → dist/chunks/chunk.BXMFNRIQ.js} +1 -1
  174. package/dist/chunks/{chunk.ZCPWIACO.js → chunk.CY76LRGV.js} +1 -1
  175. package/dist/chunks/chunk.DJICCDFZ.js +130 -0
  176. package/dist/chunks/chunk.DP5CSX6S.js +25 -0
  177. package/dist/chunks/{chunk.EGZMQ7T7.js → chunk.DW23TAF4.js} +1 -1
  178. package/dist/chunks/{chunk.G7L4LFF2.js → chunk.E5OMSMPR.js} +4 -4
  179. package/dist/chunks/{chunk.KLX4FSH3.js → chunk.ED4EXVSJ.js} +1 -1
  180. package/{cdn/chunks/chunk.OHPQWGRL.js → dist/chunks/chunk.F5UDJENT.js} +1 -1
  181. package/dist/chunks/chunk.F7GS6U3O.js +21 -0
  182. package/dist/chunks/{chunk.QJGNTLKC.js → chunk.FAIVIYKA.js} +2 -2
  183. package/{cdn/chunks/chunk.VJY3BVCV.js → dist/chunks/chunk.H6K7DI54.js} +1 -1
  184. package/dist/chunks/{chunk.QK5OWFVO.js → chunk.HJGC45MW.js} +34 -4
  185. package/dist/chunks/{chunk.IXA4S7MC.js → chunk.HRODIECS.js} +1 -1
  186. package/dist/chunks/{chunk.HC2GJY4W.js → chunk.IPMALKFU.js} +1 -1
  187. package/dist/chunks/{chunk.2VI37SGK.js → chunk.JPTE36KF.js} +15 -22
  188. package/dist/chunks/{chunk.TRYPXGEF.js → chunk.KAU6YSSX.js} +5 -5
  189. package/dist/chunks/{chunk.6MWZMGHC.js → chunk.KF6GNNY4.js} +1 -1
  190. package/{cdn/chunks/chunk.JPORUQZG.js → dist/chunks/chunk.KY7CFQ2L.js} +1 -1
  191. package/dist/chunks/{chunk.A5MHK2RE.js → chunk.KZQGAFNS.js} +1 -1
  192. package/dist/chunks/{chunk.ZJX62EXO.js → chunk.LDXAXITL.js} +4 -4
  193. package/dist/chunks/{chunk.GRG5Z2VH.js → chunk.MY3D3SMW.js} +1 -1
  194. package/dist/chunks/{chunk.LVFOF3IN.js → chunk.NE2F3K3V.js} +4 -4
  195. package/{cdn/chunks/chunk.4XCAK3VQ.js → dist/chunks/chunk.NQ2Y66ML.js} +1 -1
  196. package/dist/chunks/{chunk.NW3BG32V.js → chunk.NRFKLACI.js} +98 -37
  197. package/dist/chunks/{chunk.3R7FYOEC.js → chunk.NY3FWCB4.js} +1 -1
  198. package/dist/chunks/{chunk.AZFDLGZH.js → chunk.P4V6NTUB.js} +1 -1
  199. package/dist/chunks/{chunk.LIBBEBVE.js → chunk.PVN5GF75.js} +110 -17
  200. package/{cdn/chunks/chunk.34HTZ3BS.js → dist/chunks/chunk.R7ZFWMFX.js} +1 -1
  201. package/dist/chunks/{chunk.MERZEEOA.js → chunk.RAGOKALJ.js} +1 -1
  202. package/dist/chunks/{chunk.VTKHAV5B.js → chunk.RFLNQ553.js} +35 -35
  203. package/{cdn/chunks/chunk.DELCDBUW.js → dist/chunks/chunk.RO6IKZZJ.js} +1 -1
  204. package/{cdn/chunks/chunk.FQ3DGJP3.js → dist/chunks/chunk.SOQ4CR5P.js} +1 -1
  205. package/dist/chunks/{chunk.JOOAZ4RH.js → chunk.T3YDWJBU.js} +1 -1
  206. package/dist/chunks/{chunk.TGFRBJQ2.js → chunk.TOKOGZDW.js} +2 -2
  207. package/dist/chunks/{chunk.Z3BPGAEC.js → chunk.TOSECFXS.js} +4 -5
  208. package/{cdn/chunks/chunk.3YMOUEX5.js → dist/chunks/chunk.U4VDOWEL.js} +1 -1
  209. package/dist/chunks/{chunk.TPLUT5FB.js → chunk.UUUQALNS.js} +1 -1
  210. package/dist/chunks/chunk.W5W4VEOX.js +11 -0
  211. package/dist/chunks/chunk.WAIWLZ6Z.js +332 -0
  212. package/dist/chunks/{chunk.AFNAKALA.js → chunk.XBGMPAGN.js} +1 -1
  213. package/{cdn/chunks/chunk.UDRESO3S.js → dist/chunks/chunk.XJZRUYAI.js} +1 -1
  214. package/dist/chunks/chunk.XTWS7MM5.js +11 -0
  215. package/dist/chunks/{chunk.6SN6X5JU.js → chunk.YF6EKHHQ.js} +1 -1
  216. package/{cdn/chunks/chunk.7MXUXHLV.js → dist/chunks/chunk.YFE22UAS.js} +1 -1
  217. package/dist/chunks/{chunk.UCFFAP7X.js → chunk.YY2NUPBF.js} +1 -1
  218. package/dist/chunks/{chunk.CXHYT4QV.js → chunk.Z2X4WGGX.js} +1 -1
  219. package/dist/components/browse-variables/browse-variables.component.d.ts +5 -5
  220. package/dist/components/browse-variables/browse-variables.component.js +17 -17
  221. package/dist/components/browse-variables/browse-variables.js +18 -18
  222. package/dist/components/button/button.component.js +3 -3
  223. package/dist/components/button/button.js +4 -4
  224. package/dist/components/chip/chip.component.js +2 -2
  225. package/dist/components/chip/chip.js +3 -3
  226. package/dist/components/combobox/combobox.component.js +3 -3
  227. package/dist/components/combobox/combobox.js +4 -4
  228. package/dist/components/date-picker/date-picker.component.d.ts +39 -0
  229. package/dist/components/date-picker/date-picker.component.js +9 -0
  230. package/dist/components/date-picker/date-picker.d.ts +8 -0
  231. package/dist/components/date-picker/date-picker.js +10 -0
  232. package/dist/components/date-picker/date-picker.styles.d.ts +2 -0
  233. package/dist/components/date-picker/date-picker.styles.js +7 -0
  234. package/dist/components/date-range-slider/date-range-slider.component.js +3 -3
  235. package/dist/components/date-range-slider/date-range-slider.js +4 -4
  236. package/dist/components/dialog/dialog.component.d.ts +1 -3
  237. package/dist/components/dialog/dialog.component.js +3 -3
  238. package/dist/components/dialog/dialog.js +4 -4
  239. package/dist/components/dialog/dialog.styles.js +1 -1
  240. package/dist/components/icon/icon.component.js +5 -5
  241. package/dist/components/icon/icon.js +6 -6
  242. package/dist/components/icon/library.js +2 -2
  243. package/dist/components/loader/loader.component.js +2 -2
  244. package/dist/components/loader/loader.js +3 -3
  245. package/dist/components/login/login.component.js +12 -12
  246. package/dist/components/login/login.js +13 -13
  247. package/dist/components/map/map.component.js +3 -3
  248. package/dist/components/map/map.js +4 -4
  249. package/dist/components/plot/plot.component.js +3 -3
  250. package/dist/components/plot/plot.js +4 -4
  251. package/dist/components/plot/plot.styles.js +1 -1
  252. package/dist/components/skeleton/skeleton.component.js +2 -2
  253. package/dist/components/skeleton/skeleton.js +3 -3
  254. package/dist/components/spatial-picker/spatial-picker.component.js +4 -4
  255. package/dist/components/spatial-picker/spatial-picker.js +5 -5
  256. package/dist/components/time-series/time-series.component.d.ts +17 -0
  257. package/dist/components/time-series/time-series.component.js +25 -25
  258. package/dist/components/time-series/time-series.controller.js +1 -1
  259. package/dist/components/time-series/time-series.js +26 -26
  260. package/dist/components/time-series/time-series.styles.js +1 -1
  261. package/dist/components/variable-combobox/lib.d.ts +3 -2
  262. package/dist/components/variable-combobox/lib.js +3 -1
  263. package/dist/components/variable-combobox/variable-combobox.component.d.ts +15 -1
  264. package/dist/components/variable-combobox/variable-combobox.component.js +13 -13
  265. package/dist/components/variable-combobox/variable-combobox.controller.js +2 -2
  266. package/dist/components/variable-combobox/variable-combobox.js +14 -14
  267. package/dist/components/variable-combobox/variable-combobox.styles.js +1 -1
  268. package/dist/components/variable-combobox/variable-combobox.types.d.ts +2 -0
  269. package/dist/components/{giovanni-search → variable-keyword-search}/lib.d.ts +1 -1
  270. package/dist/components/{giovanni-search → variable-keyword-search}/lib.js +1 -1
  271. package/{cdn/components/giovanni-search/giovanni-search.component.d.ts → dist/components/variable-keyword-search/variable-keyword-search.component.d.ts} +3 -3
  272. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +23 -0
  273. package/dist/components/{giovanni-search/giovanni-search.controller.d.ts → variable-keyword-search/variable-keyword-search.controller.d.ts} +1 -1
  274. package/dist/components/{giovanni-search/giovanni-search.controller.js → variable-keyword-search/variable-keyword-search.controller.js} +1 -1
  275. package/dist/components/variable-keyword-search/variable-keyword-search.d.ts +8 -0
  276. package/dist/components/variable-keyword-search/variable-keyword-search.js +24 -0
  277. package/dist/components/variable-keyword-search/variable-keyword-search.styles.d.ts +2 -0
  278. package/dist/components/variable-keyword-search/variable-keyword-search.styles.js +7 -0
  279. package/dist/custom-elements.json +1988 -1482
  280. package/dist/events/events.d.ts +1 -1
  281. package/dist/events/terra-variable-keyword-search-change.d.ts +6 -0
  282. package/dist/lib/dataset.d.ts +9 -0
  283. package/dist/react/browse-variables/index.d.ts +1 -1
  284. package/dist/react/browse-variables/index.js +18 -18
  285. package/dist/react/button/index.js +4 -4
  286. package/dist/react/chip/index.js +3 -3
  287. package/dist/react/combobox/index.js +4 -4
  288. package/dist/react/date-picker/index.d.ts +14 -0
  289. package/dist/react/date-picker/index.js +10 -0
  290. package/dist/react/date-range-slider/index.js +4 -4
  291. package/dist/react/dialog/index.js +4 -4
  292. package/dist/react/icon/index.js +6 -6
  293. package/dist/react/index.d.ts +7 -6
  294. package/dist/react/index.js +81 -75
  295. package/dist/react/loader/index.js +3 -3
  296. package/dist/react/login/index.js +13 -13
  297. package/dist/react/map/index.js +4 -4
  298. package/dist/react/plot/index.js +4 -4
  299. package/dist/react/skeleton/index.js +3 -3
  300. package/dist/react/spatial-picker/index.js +5 -5
  301. package/dist/react/time-series/index.js +26 -26
  302. package/dist/react/variable-combobox/index.js +14 -14
  303. package/{cdn/react/giovanni-search → dist/react/variable-keyword-search}/index.d.ts +5 -5
  304. package/dist/react/variable-keyword-search/index.js +24 -0
  305. package/dist/terra-ui-components.d.ts +5 -4
  306. package/dist/terra-ui-components.js +74 -68
  307. package/dist/terra_ui_components-0.0.30-py3-none-any.whl +0 -0
  308. package/dist/{terra_ui_components-0.0.29.tar.gz → terra_ui_components-0.0.30.tar.gz} +0 -0
  309. package/dist/types/vue/index.d.ts +203 -132
  310. package/dist/types.d.ts +7 -0
  311. package/dist/utilities/icon-library.js +2 -2
  312. package/dist/vscode.html-custom-data.json +159 -99
  313. package/dist/web-types.json +356 -223
  314. package/package.json +2 -1
  315. package/cdn/chunks/chunk.GQLH2MRB.js +0 -25
  316. package/cdn/chunks/chunk.LBQPBXCY.js +0 -11
  317. package/cdn/chunks/chunk.U43KGD3Q.js +0 -6136
  318. package/cdn/components/giovanni-search/giovanni-search.d.ts +0 -8
  319. package/cdn/events/terra-giovanni-search-change.d.ts +0 -6
  320. package/dist/chunks/chunk.OAWTBOBI.js +0 -203
  321. package/dist/chunks/chunk.OVSUMCZT.js +0 -11
  322. package/dist/chunks/chunk.TVP7YR6X.js +0 -25
  323. package/dist/components/giovanni-search/giovanni-search.component.js +0 -23
  324. package/dist/components/giovanni-search/giovanni-search.d.ts +0 -8
  325. package/dist/components/giovanni-search/giovanni-search.js +0 -24
  326. package/dist/components/giovanni-search/giovanni-search.styles.js +0 -7
  327. package/dist/events/terra-giovanni-search-change.d.ts +0 -6
  328. package/dist/react/giovanni-search/index.js +0 -24
  329. package/dist/terra_ui_components-0.0.29-py3-none-any.whl +0 -0
  330. package/cdn/chunks/{chunk.MDRUDBRH.js → chunk.7DOMZGX7.js} +3 -3
  331. package/cdn/chunks/{chunk.OBHNA5IZ.js → chunk.WTPVOF7N.js} +5 -5
  332. package/cdn/components/{giovanni-search/giovanni-search.styles.d.ts → date-picker/date-picker.styles.d.ts} +0 -0
  333. package/{dist/components/giovanni-search/giovanni-search.styles.d.ts → cdn/components/variable-keyword-search/variable-keyword-search.styles.d.ts} +0 -0
  334. package/cdn/components/{giovanni-search/giovanni-search.types.d.ts → variable-keyword-search/variable-keyword-search.types.d.ts} +0 -0
  335. package/cdn/components/{giovanni-search/giovanni-search.types.js → variable-keyword-search/variable-keyword-search.types.js} +0 -0
  336. package/dist/chunks/{chunk.MDRUDBRH.js → chunk.7DOMZGX7.js} +3 -3
  337. /package/dist/components/{giovanni-search/giovanni-search.types.d.ts → variable-keyword-search/variable-keyword-search.types.d.ts} +0 -0
  338. /package/dist/components/{giovanni-search/giovanni-search.types.js → variable-keyword-search/variable-keyword-search.types.js} +0 -0
@@ -0,0 +1,571 @@
1
+ import {
2
+ format
3
+ } from "./chunk.BPNFS4ED.js";
4
+ import {
5
+ h,
6
+ i
7
+ } from "./chunk.UGTZ22DI.js";
8
+ import {
9
+ __asyncGenerator,
10
+ __await,
11
+ __privateAdd,
12
+ __privateGet,
13
+ __privateMethod,
14
+ __privateSet,
15
+ __spreadProps,
16
+ __spreadValues
17
+ } from "./chunk.MR27IH5Z.js";
18
+
19
+ // src/lib/dataset.ts
20
+ var MAX_DATAPOINTS_PER_REQUEST = 2e5;
21
+ var MILLIS_IN_HOUR = 1e3 * 60 * 60;
22
+ var MILLIS_IN_DAY = MILLIS_IN_HOUR * 24;
23
+ function calculateDataPoints(timeInterval, startDate, endDate) {
24
+ const diffMs = endDate.getTime() - startDate.getTime();
25
+ switch (timeInterval) {
26
+ case "half-hourly" /* HalfHourly */:
27
+ return Math.floor(diffMs / (MILLIS_IN_HOUR / 2)) + 1;
28
+ case "hourly" /* Hourly */:
29
+ return Math.floor(diffMs / MILLIS_IN_HOUR) + 1;
30
+ case "3-hourly" /* ThreeHourly */:
31
+ return Math.floor(diffMs / (MILLIS_IN_HOUR * 3)) + 1;
32
+ case "daily" /* Daily */:
33
+ return Math.floor(diffMs / MILLIS_IN_DAY) + 1;
34
+ case "weekly" /* Weekly */:
35
+ return Math.floor(diffMs / (MILLIS_IN_DAY * 7)) + 1;
36
+ default:
37
+ throw new Error(`Unsupported time interval: ${timeInterval}`);
38
+ }
39
+ }
40
+ function calculateDateChunks(timeInterval, startDate, endDate) {
41
+ const totalDataPoints = calculateDataPoints(timeInterval, startDate, endDate);
42
+ if (totalDataPoints <= MAX_DATAPOINTS_PER_REQUEST) {
43
+ return [{ start: startDate, end: endDate }];
44
+ }
45
+ const chunks = [];
46
+ const totalDurationMs = endDate.getTime() - startDate.getTime();
47
+ const numChunks = Math.ceil(totalDataPoints / MAX_DATAPOINTS_PER_REQUEST);
48
+ const chunkSizeMs = Math.floor(totalDurationMs / numChunks);
49
+ let chunkStart = new Date(startDate);
50
+ let remainingDuration = totalDurationMs;
51
+ while (remainingDuration > 0) {
52
+ let potentialChunkEnd = new Date(chunkStart.getTime() + chunkSizeMs);
53
+ if (potentialChunkEnd > endDate) {
54
+ potentialChunkEnd = endDate;
55
+ }
56
+ const chunkDataPoints = calculateDataPoints(
57
+ timeInterval,
58
+ chunkStart,
59
+ potentialChunkEnd
60
+ );
61
+ if (chunkDataPoints > MAX_DATAPOINTS_PER_REQUEST) {
62
+ const maxDurationMs = chunkSizeMs * MAX_DATAPOINTS_PER_REQUEST / chunkDataPoints;
63
+ potentialChunkEnd = new Date(chunkStart.getTime() + maxDurationMs);
64
+ }
65
+ chunks.push({
66
+ start: new Date(chunkStart),
67
+ end: new Date(potentialChunkEnd)
68
+ });
69
+ remainingDuration = endDate.getTime() - potentialChunkEnd.getTime();
70
+ chunkStart = potentialChunkEnd;
71
+ }
72
+ return chunks;
73
+ }
74
+
75
+ // node_modules/idb/build/index.js
76
+ var instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);
77
+ var idbProxyableTypes;
78
+ var cursorAdvanceMethods;
79
+ function getIdbProxyableTypes() {
80
+ return idbProxyableTypes || (idbProxyableTypes = [
81
+ IDBDatabase,
82
+ IDBObjectStore,
83
+ IDBIndex,
84
+ IDBCursor,
85
+ IDBTransaction
86
+ ]);
87
+ }
88
+ function getCursorAdvanceMethods() {
89
+ return cursorAdvanceMethods || (cursorAdvanceMethods = [
90
+ IDBCursor.prototype.advance,
91
+ IDBCursor.prototype.continue,
92
+ IDBCursor.prototype.continuePrimaryKey
93
+ ]);
94
+ }
95
+ var transactionDoneMap = /* @__PURE__ */ new WeakMap();
96
+ var transformCache = /* @__PURE__ */ new WeakMap();
97
+ var reverseTransformCache = /* @__PURE__ */ new WeakMap();
98
+ function promisifyRequest(request) {
99
+ const promise = new Promise((resolve, reject) => {
100
+ const unlisten = () => {
101
+ request.removeEventListener("success", success);
102
+ request.removeEventListener("error", error);
103
+ };
104
+ const success = () => {
105
+ resolve(wrap(request.result));
106
+ unlisten();
107
+ };
108
+ const error = () => {
109
+ reject(request.error);
110
+ unlisten();
111
+ };
112
+ request.addEventListener("success", success);
113
+ request.addEventListener("error", error);
114
+ });
115
+ reverseTransformCache.set(promise, request);
116
+ return promise;
117
+ }
118
+ function cacheDonePromiseForTransaction(tx) {
119
+ if (transactionDoneMap.has(tx))
120
+ return;
121
+ const done = new Promise((resolve, reject) => {
122
+ const unlisten = () => {
123
+ tx.removeEventListener("complete", complete);
124
+ tx.removeEventListener("error", error);
125
+ tx.removeEventListener("abort", error);
126
+ };
127
+ const complete = () => {
128
+ resolve();
129
+ unlisten();
130
+ };
131
+ const error = () => {
132
+ reject(tx.error || new DOMException("AbortError", "AbortError"));
133
+ unlisten();
134
+ };
135
+ tx.addEventListener("complete", complete);
136
+ tx.addEventListener("error", error);
137
+ tx.addEventListener("abort", error);
138
+ });
139
+ transactionDoneMap.set(tx, done);
140
+ }
141
+ var idbProxyTraps = {
142
+ get(target, prop, receiver) {
143
+ if (target instanceof IDBTransaction) {
144
+ if (prop === "done")
145
+ return transactionDoneMap.get(target);
146
+ if (prop === "store") {
147
+ return receiver.objectStoreNames[1] ? void 0 : receiver.objectStore(receiver.objectStoreNames[0]);
148
+ }
149
+ }
150
+ return wrap(target[prop]);
151
+ },
152
+ set(target, prop, value) {
153
+ target[prop] = value;
154
+ return true;
155
+ },
156
+ has(target, prop) {
157
+ if (target instanceof IDBTransaction && (prop === "done" || prop === "store")) {
158
+ return true;
159
+ }
160
+ return prop in target;
161
+ }
162
+ };
163
+ function replaceTraps(callback) {
164
+ idbProxyTraps = callback(idbProxyTraps);
165
+ }
166
+ function wrapFunction(func) {
167
+ if (getCursorAdvanceMethods().includes(func)) {
168
+ return function(...args) {
169
+ func.apply(unwrap(this), args);
170
+ return wrap(this.request);
171
+ };
172
+ }
173
+ return function(...args) {
174
+ return wrap(func.apply(unwrap(this), args));
175
+ };
176
+ }
177
+ function transformCachableValue(value) {
178
+ if (typeof value === "function")
179
+ return wrapFunction(value);
180
+ if (value instanceof IDBTransaction)
181
+ cacheDonePromiseForTransaction(value);
182
+ if (instanceOfAny(value, getIdbProxyableTypes()))
183
+ return new Proxy(value, idbProxyTraps);
184
+ return value;
185
+ }
186
+ function wrap(value) {
187
+ if (value instanceof IDBRequest)
188
+ return promisifyRequest(value);
189
+ if (transformCache.has(value))
190
+ return transformCache.get(value);
191
+ const newValue = transformCachableValue(value);
192
+ if (newValue !== value) {
193
+ transformCache.set(value, newValue);
194
+ reverseTransformCache.set(newValue, value);
195
+ }
196
+ return newValue;
197
+ }
198
+ var unwrap = (value) => reverseTransformCache.get(value);
199
+ function openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {
200
+ const request = indexedDB.open(name, version);
201
+ const openPromise = wrap(request);
202
+ if (upgrade) {
203
+ request.addEventListener("upgradeneeded", (event) => {
204
+ upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);
205
+ });
206
+ }
207
+ if (blocked) {
208
+ request.addEventListener("blocked", (event) => blocked(
209
+ // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405
210
+ event.oldVersion,
211
+ event.newVersion,
212
+ event
213
+ ));
214
+ }
215
+ openPromise.then((db) => {
216
+ if (terminated)
217
+ db.addEventListener("close", () => terminated());
218
+ if (blocking) {
219
+ db.addEventListener("versionchange", (event) => blocking(event.oldVersion, event.newVersion, event));
220
+ }
221
+ }).catch(() => {
222
+ });
223
+ return openPromise;
224
+ }
225
+ var readMethods = ["get", "getKey", "getAll", "getAllKeys", "count"];
226
+ var writeMethods = ["put", "add", "delete", "clear"];
227
+ var cachedMethods = /* @__PURE__ */ new Map();
228
+ function getMethod(target, prop) {
229
+ if (!(target instanceof IDBDatabase && !(prop in target) && typeof prop === "string")) {
230
+ return;
231
+ }
232
+ if (cachedMethods.get(prop))
233
+ return cachedMethods.get(prop);
234
+ const targetFuncName = prop.replace(/FromIndex$/, "");
235
+ const useIndex = prop !== targetFuncName;
236
+ const isWrite = writeMethods.includes(targetFuncName);
237
+ if (
238
+ // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.
239
+ !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) || !(isWrite || readMethods.includes(targetFuncName))
240
+ ) {
241
+ return;
242
+ }
243
+ const method = async function(storeName, ...args) {
244
+ const tx = this.transaction(storeName, isWrite ? "readwrite" : "readonly");
245
+ let target2 = tx.store;
246
+ if (useIndex)
247
+ target2 = target2.index(args.shift());
248
+ return (await Promise.all([
249
+ target2[targetFuncName](...args),
250
+ isWrite && tx.done
251
+ ]))[0];
252
+ };
253
+ cachedMethods.set(prop, method);
254
+ return method;
255
+ }
256
+ replaceTraps((oldTraps) => __spreadProps(__spreadValues({}, oldTraps), {
257
+ get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
258
+ has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop)
259
+ }));
260
+ var advanceMethodProps = ["continue", "continuePrimaryKey", "advance"];
261
+ var methodMap = {};
262
+ var advanceResults = /* @__PURE__ */ new WeakMap();
263
+ var ittrProxiedCursorToOriginalProxy = /* @__PURE__ */ new WeakMap();
264
+ var cursorIteratorTraps = {
265
+ get(target, prop) {
266
+ if (!advanceMethodProps.includes(prop))
267
+ return target[prop];
268
+ let cachedFunc = methodMap[prop];
269
+ if (!cachedFunc) {
270
+ cachedFunc = methodMap[prop] = function(...args) {
271
+ advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));
272
+ };
273
+ }
274
+ return cachedFunc;
275
+ }
276
+ };
277
+ function iterate(...args) {
278
+ return __asyncGenerator(this, null, function* () {
279
+ let cursor = this;
280
+ if (!(cursor instanceof IDBCursor)) {
281
+ cursor = yield new __await(cursor.openCursor(...args));
282
+ }
283
+ if (!cursor)
284
+ return;
285
+ cursor = cursor;
286
+ const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);
287
+ ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);
288
+ reverseTransformCache.set(proxiedCursor, unwrap(cursor));
289
+ while (cursor) {
290
+ yield proxiedCursor;
291
+ cursor = yield new __await(advanceResults.get(proxiedCursor) || cursor.continue());
292
+ advanceResults.delete(proxiedCursor);
293
+ }
294
+ });
295
+ }
296
+ function isIteratorProp(target, prop) {
297
+ return prop === Symbol.asyncIterator && instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor]) || prop === "iterate" && instanceOfAny(target, [IDBIndex, IDBObjectStore]);
298
+ }
299
+ replaceTraps((oldTraps) => __spreadProps(__spreadValues({}, oldTraps), {
300
+ get(target, prop, receiver) {
301
+ if (isIteratorProp(target, prop))
302
+ return iterate;
303
+ return oldTraps.get(target, prop, receiver);
304
+ },
305
+ has(target, prop) {
306
+ return isIteratorProp(target, prop) || oldTraps.has(target, prop);
307
+ }
308
+ }));
309
+
310
+ // src/internal/indexeddb.ts
311
+ var DB_NAME = "terra";
312
+ async function getDb() {
313
+ return await openDB(DB_NAME, 1, {
314
+ upgrade(db) {
315
+ db.createObjectStore("time-series" /* TIME_SERIES */, {
316
+ keyPath: "key"
317
+ });
318
+ }
319
+ });
320
+ }
321
+ async function withDb(callback) {
322
+ const db = await getDb();
323
+ try {
324
+ return await callback(db);
325
+ } finally {
326
+ await db.close();
327
+ }
328
+ }
329
+ function getDataByKey(store, key) {
330
+ return withDb(async (db) => {
331
+ return await db.get(store, key);
332
+ });
333
+ }
334
+ function storeDataByKey(store, key, data) {
335
+ return withDb(async (db) => {
336
+ await db.put(store, __spreadValues({
337
+ key
338
+ }, data));
339
+ });
340
+ }
341
+
342
+ // src/components/time-series/time-series.controller.ts
343
+ var endpoint = "https://8weebb031a.execute-api.us-east-1.amazonaws.com/SIT/timeseries-no-user";
344
+ var plotlyDefaultData = {
345
+ // holds the default Plotly configuration options.
346
+ // see https://plotly.com/javascript/time-series/
347
+ type: "scatter",
348
+ mode: "lines",
349
+ line: { color: "rgb(28, 103, 227)" }
350
+ // TODO: configureable?
351
+ };
352
+ var _bearerToken, _loadTimeSeries, loadTimeSeries_fn, _calculateDataGaps, calculateDataGaps_fn, _fetchTimeSeriesChunk, fetchTimeSeriesChunk_fn, _parseTimeSeriesCsv, parseTimeSeriesCsv_fn, _getDataInRange, getDataInRange_fn;
353
+ var TimeSeriesController = class {
354
+ constructor(host, bearerToken) {
355
+ __privateAdd(this, _loadTimeSeries);
356
+ /**
357
+ * Calculates what data gaps need to be filled from the API
358
+ */
359
+ __privateAdd(this, _calculateDataGaps);
360
+ /**
361
+ * Fetches a single chunk of time series data
362
+ */
363
+ __privateAdd(this, _fetchTimeSeriesChunk);
364
+ /**
365
+ * the data we receive for the time series is in CSV format, but with metadata at the top
366
+ * this function parses the CSV data and returns an object of the metadata and the data
367
+ */
368
+ __privateAdd(this, _parseTimeSeriesCsv);
369
+ /**
370
+ * given a set of data and a date range, will return only the data that falls within that range
371
+ */
372
+ __privateAdd(this, _getDataInRange);
373
+ __privateAdd(this, _bearerToken, null);
374
+ this.emptyPlotData = [
375
+ __spreadProps(__spreadValues({}, plotlyDefaultData), {
376
+ x: [],
377
+ y: []
378
+ })
379
+ ];
380
+ __privateSet(this, _bearerToken, bearerToken);
381
+ this.host = host;
382
+ this.task = new h(host, {
383
+ autoRun: false,
384
+ // passing the signal in so the fetch request will be aborted when the task is aborted
385
+ task: async (_args, { signal }) => {
386
+ if (!this.collection || !this.variable || !this.startDate || !this.endDate || !this.location) {
387
+ return i;
388
+ }
389
+ const timeSeries = await __privateMethod(this, _loadTimeSeries, loadTimeSeries_fn).call(this, signal);
390
+ this.lastTaskValue = [
391
+ __spreadProps(__spreadValues({}, plotlyDefaultData), {
392
+ x: timeSeries.data.map((row) => row.timestamp),
393
+ y: timeSeries.data.map((row) => row.value)
394
+ })
395
+ ];
396
+ this.host.emit("terra-time-series-data-change", {
397
+ detail: {
398
+ data: timeSeries,
399
+ collection: this.collection,
400
+ variable: this.variable,
401
+ startDate: this.startDate.toISOString(),
402
+ endDate: this.endDate.toISOString(),
403
+ location: this.location
404
+ }
405
+ });
406
+ return this.lastTaskValue;
407
+ }
408
+ });
409
+ }
410
+ render(renderFunctions) {
411
+ return this.task.render(renderFunctions);
412
+ }
413
+ };
414
+ _bearerToken = new WeakMap();
415
+ _loadTimeSeries = new WeakSet();
416
+ loadTimeSeries_fn = async function(signal) {
417
+ const variableEntryId = `${this.collection}_${this.variable}`.replace(
418
+ /\./g,
419
+ "_"
420
+ );
421
+ const cacheKey = `${variableEntryId}_${this.location}`;
422
+ const existingTerraData = await getDataByKey(
423
+ "time-series" /* TIME_SERIES */,
424
+ cacheKey
425
+ );
426
+ if (existingTerraData && this.startDate.getTime() >= new Date(existingTerraData.startDate).getTime() && this.endDate.getTime() <= new Date(existingTerraData.endDate).getTime()) {
427
+ return __privateMethod(this, _getDataInRange, getDataInRange_fn).call(this, existingTerraData);
428
+ }
429
+ const dataGaps = __privateMethod(this, _calculateDataGaps, calculateDataGaps_fn).call(this, existingTerraData);
430
+ if (dataGaps.length === 0 && existingTerraData) {
431
+ return __privateMethod(this, _getDataInRange, getDataInRange_fn).call(this, existingTerraData);
432
+ }
433
+ const allChunks = [];
434
+ for (const gap of dataGaps) {
435
+ const chunks = calculateDateChunks(
436
+ this.host.timeInterval,
437
+ gap.start,
438
+ gap.end
439
+ );
440
+ allChunks.push(...chunks);
441
+ }
442
+ const chunkResults = await Promise.all(
443
+ allChunks.map(async (chunk) => {
444
+ const result = await __privateMethod(this, _fetchTimeSeriesChunk, fetchTimeSeriesChunk_fn).call(this, variableEntryId, chunk.start, chunk.end, signal);
445
+ return result;
446
+ })
447
+ );
448
+ let allData = (existingTerraData == null ? void 0 : existingTerraData.data) || [];
449
+ let metadata = {};
450
+ for (const chunkResult of chunkResults) {
451
+ allData = [...allData, ...chunkResult.data];
452
+ metadata = __spreadValues(__spreadValues({}, metadata), chunkResult.metadata);
453
+ }
454
+ const consolidatedResult = {
455
+ metadata,
456
+ data: allData
457
+ };
458
+ if (allData.length > 0) {
459
+ const sortedData = [...allData].sort(
460
+ (a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime()
461
+ );
462
+ await storeDataByKey(
463
+ "time-series" /* TIME_SERIES */,
464
+ cacheKey,
465
+ {
466
+ variableEntryId,
467
+ key: cacheKey,
468
+ startDate: sortedData[0].timestamp,
469
+ endDate: sortedData[sortedData.length - 1].timestamp,
470
+ metadata: consolidatedResult.metadata,
471
+ data: sortedData
472
+ }
473
+ );
474
+ }
475
+ return __privateMethod(this, _getDataInRange, getDataInRange_fn).call(this, {
476
+ metadata: consolidatedResult.metadata,
477
+ data: allData
478
+ });
479
+ };
480
+ _calculateDataGaps = new WeakSet();
481
+ calculateDataGaps_fn = function(existingData) {
482
+ if (!existingData) {
483
+ return [{ start: this.startDate, end: this.endDate }];
484
+ }
485
+ const existingStartDate = new Date(existingData.startDate);
486
+ const existingEndDate = new Date(existingData.endDate);
487
+ const gaps = [];
488
+ if (this.startDate < existingStartDate) {
489
+ gaps.push({ start: this.startDate, end: existingStartDate });
490
+ }
491
+ if (this.endDate > existingEndDate) {
492
+ gaps.push({ start: existingEndDate, end: this.endDate });
493
+ }
494
+ return gaps;
495
+ };
496
+ _fetchTimeSeriesChunk = new WeakSet();
497
+ fetchTimeSeriesChunk_fn = async function(variableEntryId, startDate, endDate, signal) {
498
+ var _a;
499
+ const [lon, lat] = decodeURIComponent((_a = this.location) != null ? _a : ", ").split(", ");
500
+ const url = `${endpoint}?${new URLSearchParams({
501
+ data: variableEntryId,
502
+ lat,
503
+ lon,
504
+ time_start: format(startDate, "yyyy-MM-dd") + "T00%3A00%3A00",
505
+ time_end: format(endDate, "yyyy-MM-dd") + "T23%3A59%3A59"
506
+ }).toString()}`;
507
+ const response = await fetch(url, {
508
+ mode: "cors",
509
+ signal,
510
+ headers: __spreadValues({
511
+ Accept: "application/json"
512
+ }, __privateGet(this, _bearerToken) ? { Authorization: `Bearer: ${__privateGet(this, _bearerToken)}` } : {})
513
+ });
514
+ if (!response.ok) {
515
+ throw new Error(
516
+ `Failed to fetch time series data: ${response.statusText}`
517
+ );
518
+ }
519
+ return __privateMethod(this, _parseTimeSeriesCsv, parseTimeSeriesCsv_fn).call(this, await response.text());
520
+ };
521
+ _parseTimeSeriesCsv = new WeakSet();
522
+ parseTimeSeriesCsv_fn = function(text) {
523
+ const lines = text.split("\n").map((line) => line.trim()).filter(Boolean);
524
+ const metadata = {};
525
+ const data = [];
526
+ let inDataSection = false;
527
+ let dataHeaders = [];
528
+ for (const line of lines) {
529
+ if (!inDataSection) {
530
+ if (line === "Timestamp (UTC),Data") {
531
+ dataHeaders = line.split(",").map((h2) => h2.trim());
532
+ inDataSection = true;
533
+ continue;
534
+ }
535
+ const [key, value] = line.split(",");
536
+ if (key && value !== void 0) {
537
+ metadata[key.trim()] = value.trim();
538
+ }
539
+ } else {
540
+ const parts = line.split(",");
541
+ if (parts.length === dataHeaders.length) {
542
+ const row = {};
543
+ for (let i2 = 0; i2 < dataHeaders.length; i2++) {
544
+ row[dataHeaders[i2]] = parts[i2].trim();
545
+ }
546
+ data.push({
547
+ timestamp: row["Timestamp (UTC)"],
548
+ value: row["Data"]
549
+ });
550
+ }
551
+ }
552
+ }
553
+ return { metadata, data };
554
+ };
555
+ _getDataInRange = new WeakSet();
556
+ getDataInRange_fn = function(data) {
557
+ return __spreadProps(__spreadValues({}, data), {
558
+ data: data.data.filter((row) => {
559
+ const timestamp = new Date(row.timestamp);
560
+ return timestamp >= this.startDate && timestamp <= this.endDate;
561
+ }).sort(
562
+ (a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime()
563
+ )
564
+ });
565
+ };
566
+
567
+ export {
568
+ calculateDataPoints,
569
+ plotlyDefaultData,
570
+ TimeSeriesController
571
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraSkeleton
3
- } from "./chunk.XUJ6GG3I.js";
3
+ } from "./chunk.LCPNNUVW.js";
4
4
 
5
5
  // src/components/skeleton/skeleton.ts
6
6
  var skeleton_default = TerraSkeleton;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraCombobox
3
- } from "./chunk.X2NOCGLF.js";
3
+ } from "./chunk.6RTRSHJT.js";
4
4
 
5
5
  // src/components/combobox/combobox.ts
6
6
  var combobox_default = TerraCombobox;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraPlot
3
- } from "./chunk.EK2WNRX7.js";
3
+ } from "./chunk.O7MMFKKX.js";
4
4
 
5
5
  // src/components/plot/plot.ts
6
6
  var plot_default = TerraPlot;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraSkeleton
3
- } from "./chunk.XUJ6GG3I.js";
3
+ } from "./chunk.LCPNNUVW.js";
4
4
 
5
5
  // src/react/skeleton/index.ts
6
6
  import * as React from "react";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  TerraElement,
9
9
  component_styles_default
10
- } from "./chunk.HSHJMWBR.js";
10
+ } from "./chunk.AX2SA27I.js";
11
11
  import {
12
12
  n
13
13
  } from "./chunk.QCK7PTWV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraLoader
3
- } from "./chunk.SBA3WOAN.js";
3
+ } from "./chunk.GSG6MPDX.js";
4
4
 
5
5
  // src/react/loader/index.ts
6
6
  import * as React from "react";
@@ -2,8 +2,8 @@ import {
2
2
  i
3
3
  } from "./chunk.PH7RLQK2.js";
4
4
 
5
- // src/components/giovanni-search/giovanni-search.styles.ts
6
- var giovanni_search_styles_default = i`
5
+ // src/components/variable-keyword-search/variable-keyword-search.styles.ts
6
+ var variable_keyword_search_styles_default = i`
7
7
  :host {
8
8
  --label-height: 1.8125rem;
9
9
 
@@ -221,5 +221,5 @@ var giovanni_search_styles_default = i`
221
221
  `;
222
222
 
223
223
  export {
224
- giovanni_search_styles_default
224
+ variable_keyword_search_styles_default
225
225
  };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  plot_styles_default
3
- } from "./chunk.EZSX4R2K.js";
3
+ } from "./chunk.PRXO3ACA.js";
4
4
  import {
5
5
  watch
6
6
  } from "./chunk.CBV7M6CJ.js";
7
7
  import {
8
8
  TerraElement,
9
9
  component_styles_default
10
- } from "./chunk.HSHJMWBR.js";
10
+ } from "./chunk.AX2SA27I.js";
11
11
  import {
12
12
  e,
13
13
  n
@@ -9,7 +9,7 @@ var plot_styles_default = i`
9
9
  }
10
10
 
11
11
  :host::part(base) {
12
- aspect-ratio: 4 / 3;
12
+ aspect-ratio: 16 / 9;
13
13
  }
14
14
 
15
15
  /**
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraChip
3
- } from "./chunk.BOJX33N7.js";
3
+ } from "./chunk.N3DIGSJT.js";
4
4
 
5
5
  // src/components/chip/chip.ts
6
6
  var chip_default = TerraChip;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TerraDialog
3
- } from "./chunk.Z2TYLEAP.js";
3
+ } from "./chunk.RE7Y5324.js";
4
4
 
5
5
  // src/react/dialog/index.ts
6
6
  import * as React from "react";