@nasa-terra/components 0.0.36 → 0.0.37

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 (223) hide show
  1. package/{dist/chunks/chunk.XAG5XZPQ.js → cdn/chunks/chunk.2DTFRWJE.js} +1 -1
  2. package/cdn/chunks/{chunk.STLVTLDY.js → chunk.2R7T4SRA.js} +1 -1
  3. package/cdn/chunks/{chunk.W6PJ3ZT4.js → chunk.3KYHELRL.js} +1 -1
  4. package/{dist/chunks/chunk.JKG4WO3X.js → cdn/chunks/chunk.3LL3DZ76.js} +1 -1
  5. package/{dist/chunks/chunk.ZZQN4BC7.js → cdn/chunks/chunk.535QAFMG.js} +1 -1
  6. package/cdn/chunks/{chunk.ZQYAOSBN.js → chunk.54CMT7TH.js} +1 -1
  7. package/cdn/chunks/{chunk.DY2H4TBY.js → chunk.5J3Q36EQ.js} +4 -4
  8. package/cdn/chunks/{chunk.AWOWJEHO.js → chunk.6JAIDGSZ.js} +1 -1
  9. package/{dist/chunks/chunk.U4QF67N5.js → cdn/chunks/chunk.6NAZ2AT4.js} +1 -1
  10. package/cdn/chunks/{chunk.ZM4DIY6E.js → chunk.75KXULZ4.js} +1 -1
  11. package/cdn/chunks/{chunk.57CJ7RWX.js → chunk.77CEYPBS.js} +1 -1
  12. package/cdn/chunks/{chunk.NIF6MWIP.js → chunk.A5S3CXZX.js} +7 -7
  13. package/cdn/chunks/{chunk.KKXCQDX5.js → chunk.AM7P6POF.js} +1 -1
  14. package/cdn/chunks/{chunk.7OMJAFKX.js → chunk.AS2AH5X6.js} +4 -4
  15. package/cdn/chunks/{chunk.WYNVJF22.js → chunk.BHXUWISZ.js} +1 -1
  16. package/cdn/chunks/{chunk.PUWSAYD6.js → chunk.C4BEAZ4K.js} +1 -1
  17. package/{dist/chunks/chunk.YXT35LHP.js → cdn/chunks/chunk.CII3ZHGI.js} +1 -1
  18. package/cdn/chunks/{chunk.VQ7MZ42Q.js → chunk.CQ6BQKJN.js} +1 -1
  19. package/cdn/chunks/{chunk.ZY52NEPR.js → chunk.DLGT5VFA.js} +1 -1
  20. package/cdn/chunks/{chunk.ACSDA3DR.js → chunk.ERMMWTQT.js} +4 -4
  21. package/{dist/chunks/chunk.ZXXR6LX7.js → cdn/chunks/chunk.EUR4TJVS.js} +1 -1
  22. package/{dist/chunks/chunk.2C3N4ZPC.js → cdn/chunks/chunk.GEEVIKMT.js} +1 -1
  23. package/cdn/chunks/{chunk.VOCHS4EU.js → chunk.HOHVHNUL.js} +11 -4
  24. package/cdn/chunks/{chunk.USW6SINQ.js → chunk.I2UJ5TMQ.js} +4 -4
  25. package/cdn/chunks/{chunk.RDI4BBVY.js → chunk.JCHQKTBO.js} +2 -2
  26. package/{dist/chunks/chunk.LOEBH2CK.js → cdn/chunks/chunk.JMGGTUC4.js} +1 -1
  27. package/cdn/chunks/{chunk.25SOH5MB.js → chunk.KP4G5OAO.js} +1 -1
  28. package/cdn/chunks/{chunk.7UXV52FA.js → chunk.KYARNKA7.js} +1 -1
  29. package/cdn/chunks/{chunk.XD67DXUH.js → chunk.M4VVGFUP.js} +1 -1
  30. package/cdn/chunks/{chunk.IZUU4ZJQ.js → chunk.MJPCAV4X.js} +1 -1
  31. package/cdn/chunks/{chunk.NHMZFISJ.js → chunk.MYEQHX5K.js} +1 -1
  32. package/cdn/chunks/{chunk.LXMPN74Z.js → chunk.MZ3VXY3B.js} +1 -1
  33. package/cdn/chunks/{chunk.U6X4Z62R.js → chunk.NJDYKGEB.js} +6 -6
  34. package/cdn/chunks/{chunk.GDDFLGPJ.js → chunk.NTSMOLV3.js} +6 -6
  35. package/cdn/chunks/{chunk.3EMGXPUU.js → chunk.PAVXS37O.js} +3 -3
  36. package/cdn/chunks/{chunk.GB4HBKMK.js → chunk.PVNISGKF.js} +1 -1
  37. package/cdn/chunks/{chunk.FDDNVE67.js → chunk.QW5YSRHZ.js} +10 -10
  38. package/{dist/chunks/chunk.UTXUQRTL.js → cdn/chunks/chunk.RQ75UIOW.js} +1 -1
  39. package/{dist/chunks/chunk.QUDKQHU6.js → cdn/chunks/chunk.RURMFGL7.js} +1 -1
  40. package/cdn/chunks/{chunk.U5EEGQEF.js → chunk.S22ENONE.js} +1 -1
  41. package/{dist/chunks/chunk.HOE2KD7E.js → cdn/chunks/chunk.TI42JYZU.js} +1 -1
  42. package/cdn/chunks/{chunk.ZBZYMRQK.js → chunk.TQWTYHB7.js} +1 -1
  43. package/cdn/chunks/{chunk.ZIL3UBQT.js → chunk.UEOLJLW7.js} +1 -1
  44. package/cdn/chunks/{chunk.HECWY7UL.js → chunk.UX63QROP.js} +1 -1
  45. package/cdn/chunks/{chunk.VGFVC5X3.js → chunk.VNV2E3O5.js} +1 -1
  46. package/cdn/chunks/{chunk.4EKXHZ6O.js → chunk.WJ267QEV.js} +1 -1
  47. package/cdn/chunks/{chunk.LMZQF6FD.js → chunk.WWT6XSWY.js} +1 -1
  48. package/cdn/chunks/{chunk.Y2KFAP3V.js → chunk.YD6M27CS.js} +1 -1
  49. package/cdn/chunks/{chunk.T4GSAB7Z.js → chunk.YFYNQ2LP.js} +1 -1
  50. package/{dist/chunks/chunk.4MRYHUCM.js → cdn/chunks/chunk.ZFULM7LI.js} +1 -1
  51. package/{dist/chunks/chunk.RB6X7TTA.js → cdn/chunks/chunk.ZKROGK3Z.js} +1 -1
  52. package/{dist/chunks/chunk.XEMQBP5L.js → cdn/chunks/chunk.ZSSPPW3K.js} +1 -1
  53. package/cdn/components/browse-variables/browse-variables.component.js +11 -11
  54. package/cdn/components/browse-variables/browse-variables.js +12 -12
  55. package/cdn/components/button/button.component.js +4 -4
  56. package/cdn/components/button/button.js +5 -5
  57. package/cdn/components/chip/chip.component.js +2 -2
  58. package/cdn/components/chip/chip.js +3 -3
  59. package/cdn/components/combobox/combobox.component.js +4 -4
  60. package/cdn/components/combobox/combobox.js +5 -5
  61. package/cdn/components/date-picker/date-picker.component.js +2 -2
  62. package/cdn/components/date-picker/date-picker.js +3 -3
  63. package/cdn/components/date-range-slider/date-range-slider.component.js +3 -3
  64. package/cdn/components/date-range-slider/date-range-slider.js +4 -4
  65. package/cdn/components/dialog/dialog.component.js +2 -2
  66. package/cdn/components/dialog/dialog.js +3 -3
  67. package/cdn/components/icon/icon.component.js +2 -2
  68. package/cdn/components/icon/icon.js +3 -3
  69. package/cdn/components/loader/loader.component.js +2 -2
  70. package/cdn/components/loader/loader.js +3 -3
  71. package/cdn/components/login/login.component.js +10 -10
  72. package/cdn/components/login/login.js +11 -11
  73. package/cdn/components/map/map.component.js +5 -5
  74. package/cdn/components/map/map.js +6 -6
  75. package/cdn/components/plot/plot.component.js +2 -2
  76. package/cdn/components/plot/plot.js +3 -3
  77. package/cdn/components/skeleton/skeleton.component.js +2 -2
  78. package/cdn/components/skeleton/skeleton.js +3 -3
  79. package/cdn/components/spatial-picker/spatial-picker.component.js +6 -6
  80. package/cdn/components/spatial-picker/spatial-picker.js +7 -7
  81. package/cdn/components/time-series/time-series.component.js +21 -21
  82. package/cdn/components/time-series/time-series.js +22 -22
  83. package/cdn/components/variable-combobox/variable-combobox.component.js +9 -9
  84. package/cdn/components/variable-combobox/variable-combobox.js +10 -10
  85. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +8 -8
  86. package/cdn/components/variable-keyword-search/variable-keyword-search.js +9 -9
  87. package/cdn/custom-elements.json +1289 -1289
  88. package/cdn/react/browse-variables/index.js +12 -12
  89. package/cdn/react/button/index.js +5 -5
  90. package/cdn/react/chip/index.js +3 -3
  91. package/cdn/react/combobox/index.js +5 -5
  92. package/cdn/react/date-picker/index.js +3 -3
  93. package/cdn/react/date-range-slider/index.js +4 -4
  94. package/cdn/react/dialog/index.js +3 -3
  95. package/cdn/react/icon/index.js +3 -3
  96. package/cdn/react/index.d.ts +4 -4
  97. package/cdn/react/index.js +59 -59
  98. package/cdn/react/loader/index.js +3 -3
  99. package/cdn/react/login/index.js +11 -11
  100. package/cdn/react/map/index.js +6 -6
  101. package/cdn/react/plot/index.js +3 -3
  102. package/cdn/react/skeleton/index.js +3 -3
  103. package/cdn/react/spatial-picker/index.js +7 -7
  104. package/cdn/react/time-series/index.js +22 -22
  105. package/cdn/react/variable-combobox/index.js +10 -10
  106. package/cdn/react/variable-keyword-search/index.js +9 -9
  107. package/cdn/terra-ui-components.js +56 -56
  108. package/cdn/types/vue/index.d.ts +96 -96
  109. package/cdn/vscode.html-custom-data.json +99 -99
  110. package/cdn/web-types.json +194 -194
  111. package/dist/chunks/{chunk.BXNBL5EI.js → chunk.4LFXMKEM.js} +1 -1
  112. package/{cdn/chunks/chunk.RTRHS35D.js → dist/chunks/chunk.54D3Y3BS.js} +1 -1
  113. package/dist/chunks/{chunk.T4N6V7MW.js → chunk.5VIO7FDQ.js} +6 -6
  114. package/{cdn/chunks/chunk.J7MJBQAC.js → dist/chunks/chunk.64PM7PPT.js} +1 -1
  115. package/dist/chunks/{chunk.5CR7GPTA.js → chunk.6VU5JU2G.js} +1 -1
  116. package/dist/chunks/{chunk.U72MYRHF.js → chunk.73U232KB.js} +4 -4
  117. package/dist/chunks/{chunk.AVNABWYV.js → chunk.75NH3JFU.js} +1 -1
  118. package/dist/chunks/{chunk.64W3QS6J.js → chunk.7IHQE7I3.js} +1 -1
  119. package/dist/chunks/{chunk.EHQLGVQS.js → chunk.7NGASFIR.js} +1 -1
  120. package/dist/chunks/{chunk.X2N4QC3H.js → chunk.ANGZK3NS.js} +11 -4
  121. package/{cdn/chunks/chunk.6EAXUUWN.js → dist/chunks/chunk.BTAQW7FZ.js} +1 -1
  122. package/{cdn/chunks/chunk.63N3LGXB.js → dist/chunks/chunk.BZ6AMRKE.js} +1 -1
  123. package/dist/chunks/{chunk.SZI4RRPQ.js → chunk.D62ZSC6Y.js} +1 -1
  124. package/dist/chunks/{chunk.JZ2LNV23.js → chunk.DD4CUX5J.js} +1 -1
  125. package/{cdn/chunks/chunk.QOJD32GS.js → dist/chunks/chunk.EFQGLV2P.js} +1 -1
  126. package/dist/chunks/{chunk.Y4K5Y7K2.js → chunk.F4DXZCTW.js} +2 -2
  127. package/dist/chunks/{chunk.UUIDNNHE.js → chunk.FIPPC6BZ.js} +1 -1
  128. package/dist/chunks/{chunk.2SM6RPF4.js → chunk.FSQAHSSM.js} +1 -1
  129. package/{cdn/chunks/chunk.6K7MR5VI.js → dist/chunks/chunk.GAVG5HP6.js} +1 -1
  130. package/dist/chunks/{chunk.GYT2U4X3.js → chunk.GDHI546G.js} +1 -1
  131. package/{cdn/chunks/chunk.Q7Y7PBDZ.js → dist/chunks/chunk.GIVTV57T.js} +1 -1
  132. package/dist/chunks/{chunk.3WZUJW2Y.js → chunk.GXZT6PVJ.js} +1 -1
  133. package/dist/chunks/{chunk.6CHLMPSL.js → chunk.HAE3OLZR.js} +4 -4
  134. package/dist/chunks/{chunk.D5CF3AOE.js → chunk.HNCT22DF.js} +3 -3
  135. package/dist/chunks/{chunk.5UH7VPJT.js → chunk.HVRL22VW.js} +1 -1
  136. package/dist/chunks/{chunk.QNFVUNLP.js → chunk.HVX7VQC7.js} +1 -1
  137. package/{cdn/chunks/chunk.AATITKJH.js → dist/chunks/chunk.IMUUAEKM.js} +1 -1
  138. package/dist/chunks/{chunk.5TY6DTA5.js → chunk.JBRFRYKX.js} +1 -1
  139. package/dist/chunks/{chunk.PU2UKYDE.js → chunk.JYXXP5EU.js} +1 -1
  140. package/dist/chunks/{chunk.4HSACHGZ.js → chunk.L3ZH6E35.js} +6 -6
  141. package/dist/chunks/{chunk.ANGXUHYW.js → chunk.MFETQN6I.js} +7 -7
  142. package/{cdn/chunks/chunk.EWDA4SNI.js → dist/chunks/chunk.MP5N54BF.js} +1 -1
  143. package/{cdn/chunks/chunk.5TCTPBXC.js → dist/chunks/chunk.MW42IQDC.js} +1 -1
  144. package/dist/chunks/{chunk.AGVLAXOP.js → chunk.NCG6LHDO.js} +1 -1
  145. package/dist/chunks/{chunk.NRPDLZXO.js → chunk.NINU5TMJ.js} +1 -1
  146. package/dist/chunks/{chunk.F5DWEZ7B.js → chunk.OQZGGABQ.js} +1 -1
  147. package/dist/chunks/{chunk.OFCL33KJ.js → chunk.PO5WL3ZZ.js} +1 -1
  148. package/{cdn/chunks/chunk.JRXODE4C.js → dist/chunks/chunk.QR64NHE7.js} +1 -1
  149. package/dist/chunks/{chunk.V2YJBGZP.js → chunk.RGV4ZWO3.js} +10 -10
  150. package/dist/chunks/{chunk.PQK2QLBS.js → chunk.RI7KOLNW.js} +4 -4
  151. package/dist/chunks/{chunk.AXSGTRVK.js → chunk.SZSDAZZ2.js} +1 -1
  152. package/dist/chunks/{chunk.DF3GLXL7.js → chunk.TCRD4E4N.js} +1 -1
  153. package/dist/chunks/{chunk.YXZYJYBS.js → chunk.UZRV6ECG.js} +1 -1
  154. package/{cdn/chunks/chunk.BBDJIPBC.js → dist/chunks/chunk.VHVMAWBQ.js} +1 -1
  155. package/dist/chunks/{chunk.3OAVIAM5.js → chunk.WH7VUSKH.js} +1 -1
  156. package/{cdn/chunks/chunk.MHFEGKLP.js → dist/chunks/chunk.WYLEZ7MP.js} +1 -1
  157. package/dist/chunks/{chunk.IQXMUJBI.js → chunk.X4YG2IGE.js} +1 -1
  158. package/dist/chunks/{chunk.DHB2K3G6.js → chunk.XAYFDNEB.js} +1 -1
  159. package/dist/chunks/{chunk.PX5ZFEML.js → chunk.XE6C4Z7F.js} +1 -1
  160. package/{cdn/chunks/chunk.56DT3OGL.js → dist/chunks/chunk.XJJTTW2J.js} +1 -1
  161. package/dist/chunks/{chunk.BITSW5WU.js → chunk.YMJI2FT3.js} +1 -1
  162. package/dist/chunks/{chunk.PMRHWMON.js → chunk.ZC6BJWF4.js} +1 -1
  163. package/dist/components/browse-variables/browse-variables.component.js +9 -9
  164. package/dist/components/browse-variables/browse-variables.js +10 -10
  165. package/dist/components/button/button.component.js +2 -2
  166. package/dist/components/button/button.js +3 -3
  167. package/dist/components/chip/chip.component.js +2 -2
  168. package/dist/components/chip/chip.js +3 -3
  169. package/dist/components/combobox/combobox.component.js +3 -3
  170. package/dist/components/combobox/combobox.js +4 -4
  171. package/dist/components/date-picker/date-picker.component.js +2 -2
  172. package/dist/components/date-picker/date-picker.js +3 -3
  173. package/dist/components/date-range-slider/date-range-slider.component.js +3 -3
  174. package/dist/components/date-range-slider/date-range-slider.js +4 -4
  175. package/dist/components/dialog/dialog.component.js +2 -2
  176. package/dist/components/dialog/dialog.js +3 -3
  177. package/dist/components/icon/icon.component.js +2 -2
  178. package/dist/components/icon/icon.js +3 -3
  179. package/dist/components/loader/loader.component.js +2 -2
  180. package/dist/components/loader/loader.js +3 -3
  181. package/dist/components/login/login.component.js +8 -8
  182. package/dist/components/login/login.js +9 -9
  183. package/dist/components/map/map.component.js +4 -4
  184. package/dist/components/map/map.js +5 -5
  185. package/dist/components/plot/plot.component.js +2 -2
  186. package/dist/components/plot/plot.js +3 -3
  187. package/dist/components/skeleton/skeleton.component.js +2 -2
  188. package/dist/components/skeleton/skeleton.js +3 -3
  189. package/dist/components/spatial-picker/spatial-picker.component.js +5 -5
  190. package/dist/components/spatial-picker/spatial-picker.js +6 -6
  191. package/dist/components/time-series/time-series.component.js +19 -19
  192. package/dist/components/time-series/time-series.js +20 -20
  193. package/dist/components/variable-combobox/variable-combobox.component.js +7 -7
  194. package/dist/components/variable-combobox/variable-combobox.js +8 -8
  195. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +6 -6
  196. package/dist/components/variable-keyword-search/variable-keyword-search.js +7 -7
  197. package/dist/custom-elements.json +1289 -1289
  198. package/dist/react/browse-variables/index.js +10 -10
  199. package/dist/react/button/index.js +3 -3
  200. package/dist/react/chip/index.js +3 -3
  201. package/dist/react/combobox/index.js +4 -4
  202. package/dist/react/date-picker/index.js +3 -3
  203. package/dist/react/date-range-slider/index.js +4 -4
  204. package/dist/react/dialog/index.js +3 -3
  205. package/dist/react/icon/index.js +3 -3
  206. package/dist/react/index.d.ts +4 -4
  207. package/dist/react/index.js +57 -57
  208. package/dist/react/loader/index.js +3 -3
  209. package/dist/react/login/index.js +9 -9
  210. package/dist/react/map/index.js +5 -5
  211. package/dist/react/plot/index.js +3 -3
  212. package/dist/react/skeleton/index.js +3 -3
  213. package/dist/react/spatial-picker/index.js +6 -6
  214. package/dist/react/time-series/index.js +20 -20
  215. package/dist/react/variable-combobox/index.js +8 -8
  216. package/dist/react/variable-keyword-search/index.js +7 -7
  217. package/dist/terra-ui-components.js +54 -54
  218. package/dist/{terra_ui_components-0.0.36-py3-none-any.whl → terra_ui_components-0.0.37-py3-none-any.whl} +0 -0
  219. package/dist/{terra_ui_components-0.0.36.tar.gz → terra_ui_components-0.0.37.tar.gz} +0 -0
  220. package/dist/types/vue/index.d.ts +96 -96
  221. package/dist/vscode.html-custom-data.json +99 -99
  222. package/dist/web-types.json +194 -194
  223. package/package.json +1 -1
@@ -4,788 +4,695 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "components/button/button.js",
7
+ "path": "components/browse-variables/browse-variables.js",
8
8
  "declarations": [
9
9
  {
10
10
  "kind": "class",
11
11
  "description": "",
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
- ],
12
+ "name": "TerraBrowseVariables",
53
13
  "members": [
54
14
  {
55
15
  "kind": "field",
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",
71
- "type": {
72
- "text": "HTMLButtonElement | HTMLLinkElement"
73
- }
74
- },
75
- {
76
- "kind": "field",
77
- "name": "hasFocus",
16
+ "name": "dependencies",
78
17
  "type": {
79
- "text": "boolean"
18
+ "text": "object"
80
19
  },
81
- "privacy": "private",
82
- "default": "false"
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 }"
83
22
  },
84
23
  {
85
24
  "kind": "field",
86
- "name": "invalid",
25
+ "name": "catalog",
87
26
  "type": {
88
- "text": "boolean"
27
+ "text": "'giovanni'"
89
28
  },
90
- "default": "false"
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"
91
32
  },
92
33
  {
93
34
  "kind": "field",
94
- "name": "title",
35
+ "name": "searchQuery",
95
36
  "type": {
96
37
  "text": "string"
97
- },
98
- "default": "''",
99
- "attribute": "title"
38
+ }
100
39
  },
101
40
  {
102
41
  "kind": "field",
103
- "name": "variant",
42
+ "name": "selectedFacets",
104
43
  "type": {
105
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
44
+ "text": "SelectedFacets"
106
45
  },
107
- "default": "'primary'",
108
- "description": "The button's theme variant.",
109
- "attribute": "variant",
110
- "reflects": true
46
+ "default": "{}"
111
47
  },
112
48
  {
113
49
  "kind": "field",
114
- "name": "size",
50
+ "name": "selectedVariables",
115
51
  "type": {
116
- "text": "'small' | 'medium' | 'large'"
52
+ "text": "Variable[]"
117
53
  },
118
- "default": "'medium'",
119
- "description": "The button's size.",
120
- "attribute": "size",
121
- "reflects": true
54
+ "default": "[]"
122
55
  },
123
56
  {
124
57
  "kind": "field",
125
- "name": "caret",
58
+ "name": "showVariablesBrowse",
126
59
  "type": {
127
60
  "text": "boolean"
128
61
  },
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
133
- },
134
- {
135
- "kind": "field",
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
62
+ "default": "false"
143
63
  },
144
64
  {
145
65
  "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
66
+ "name": "#controller",
67
+ "privacy": "private",
68
+ "default": "new BrowseVariablesController(this)"
154
69
  },
155
70
  {
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
71
+ "kind": "method",
72
+ "name": "handleSelectedVariablesChange"
165
73
  },
166
74
  {
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
75
+ "kind": "method",
76
+ "name": "reset"
176
77
  },
177
78
  {
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
79
+ "kind": "method",
80
+ "name": "handleObservationChange"
187
81
  },
188
82
  {
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"
83
+ "kind": "method",
84
+ "name": "toggleFacetSelect",
85
+ "parameters": [
86
+ {
87
+ "name": "event",
88
+ "type": {
89
+ "text": "Event"
90
+ }
91
+ }
92
+ ]
197
93
  },
198
94
  {
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"
95
+ "kind": "method",
96
+ "name": "handleSearch",
97
+ "parameters": [
98
+ {
99
+ "name": "e",
100
+ "type": {
101
+ "text": "TerraVariableKeywordSearchChangeEvent"
102
+ }
103
+ }
104
+ ]
207
105
  },
208
106
  {
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"
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"
217
131
  },
218
132
  {
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
133
+ "kind": "method",
134
+ "name": "#clearFacet",
135
+ "parameters": [
136
+ {
137
+ "name": "facet",
138
+ "type": {
139
+ "text": "string"
140
+ }
141
+ }
142
+ ]
339
143
  },
340
144
  {
341
145
  "kind": "method",
342
- "name": "#handleDialogStateChange",
146
+ "name": "#unselectFacetField",
343
147
  "parameters": [
344
148
  {
345
- "name": "e",
149
+ "name": "facet",
346
150
  "type": {
347
- "text": "TerraDialogShowEvent | TerraDialogHideEvent"
151
+ "text": "string"
348
152
  }
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": [
153
+ },
372
154
  {
373
- "name": "event",
155
+ "name": "field",
374
156
  "type": {
375
- "text": "Event"
157
+ "text": "string"
376
158
  }
377
159
  }
378
160
  ]
379
161
  },
380
162
  {
381
163
  "kind": "method",
382
- "name": "isButton",
383
- "privacy": "private"
384
- },
385
- {
386
- "kind": "method",
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",
164
+ "name": "#handleVariableSelection",
402
165
  "parameters": [
403
166
  {
404
- "name": "options",
405
- "optional": true,
167
+ "name": "variable",
406
168
  "type": {
407
- "text": "FocusOptions"
169
+ "text": "Variable"
170
+ }
171
+ },
172
+ {
173
+ "name": "checked",
174
+ "type": {
175
+ "text": "Boolean"
408
176
  }
409
177
  }
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."
178
+ ]
432
179
  },
433
180
  {
434
181
  "kind": "method",
435
- "name": "reportValidity",
436
- "description": "Checks for validity and shows the browser's validation message if the control is invalid."
182
+ "name": "#renderCategorySelect"
437
183
  },
438
184
  {
439
185
  "kind": "method",
440
- "name": "setCustomValidity",
186
+ "name": "#renderFacet",
441
187
  "parameters": [
442
188
  {
443
- "name": "message",
189
+ "name": "facetKey",
444
190
  "type": {
445
191
  "text": "string"
446
192
  }
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": [
193
+ },
460
194
  {
461
- "name": "href",
195
+ "name": "title",
462
196
  "type": {
463
197
  "text": "string"
464
198
  }
465
- }
466
- ]
467
- },
468
- {
469
- "kind": "method",
470
- "name": "setFontSize",
471
- "return": {
472
- "type": {
473
- "text": "string"
474
- }
475
- },
476
- "parameters": [
199
+ },
477
200
  {
478
- "name": "size",
201
+ "name": "fields",
202
+ "optional": true,
479
203
  "type": {
480
- "text": "string"
204
+ "text": "FacetField[]"
205
+ }
206
+ },
207
+ {
208
+ "name": "open",
209
+ "optional": true,
210
+ "type": {
211
+ "text": "boolean"
481
212
  }
482
213
  }
483
214
  ]
215
+ },
216
+ {
217
+ "kind": "method",
218
+ "name": "#renderVariablesBrowse"
484
219
  }
485
220
  ],
486
221
  "attributes": [
487
222
  {
488
- "name": "title",
223
+ "name": "catalog",
489
224
  "type": {
490
- "text": "string"
225
+ "text": "'giovanni'"
491
226
  },
492
- "default": "''",
493
- "fieldName": "title"
494
- },
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"
230
+ }
231
+ ],
232
+ "superclass": {
233
+ "name": "TerraElement",
234
+ "module": "/src/internal/terra-element.js"
235
+ },
236
+ "summary": "Browse through the NASA CMR or Giovanni catalogs.",
237
+ "tagNameWithoutPrefix": "browse-variables",
238
+ "tagName": "terra-browse-variables",
239
+ "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
+ ]
251
+ }
252
+ ],
253
+ "exports": [
254
+ {
255
+ "kind": "js",
256
+ "name": "default",
257
+ "declaration": {
258
+ "name": "TerraBrowseVariables",
259
+ "module": "components/browse-variables/browse-variables.js"
260
+ }
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ "kind": "javascript-module",
266
+ "path": "components/chip/chip.js",
267
+ "declarations": [
268
+ {
269
+ "kind": "class",
270
+ "description": "",
271
+ "name": "TerraChip",
272
+ "slots": [
273
+ {
274
+ "description": "The chip's label.",
275
+ "name": ""
276
+ }
277
+ ],
278
+ "members": [
279
+ {
280
+ "kind": "field",
281
+ "name": "size",
282
+ "type": {
283
+ "text": "'small' | 'medium' | 'large'"
284
+ },
285
+ "default": "'medium'",
286
+ "attribute": "size",
287
+ "reflects": true
288
+ },
289
+ {
290
+ "kind": "field",
291
+ "name": "#handleRemoveClick",
292
+ "privacy": "private"
293
+ }
294
+ ],
295
+ "attributes": [
296
+ {
297
+ "name": "size",
298
+ "type": {
299
+ "text": "'small' | 'medium' | 'large'"
300
+ },
301
+ "default": "'medium'",
302
+ "fieldName": "size"
303
+ }
304
+ ],
305
+ "superclass": {
306
+ "name": "TerraElement",
307
+ "module": "/src/internal/terra-element.js"
308
+ },
309
+ "summary": "Used for contacts and tags",
310
+ "tagNameWithoutPrefix": "chip",
311
+ "tagName": "terra-chip",
312
+ "customElement": true,
313
+ "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 */",
314
+ "documentation": "https://disc.gsfc.nasa.gov/components/chip",
315
+ "status": "stable",
316
+ "since": "1.0"
317
+ }
318
+ ],
319
+ "exports": [
320
+ {
321
+ "kind": "js",
322
+ "name": "default",
323
+ "declaration": {
324
+ "name": "TerraChip",
325
+ "module": "components/chip/chip.js"
326
+ }
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "kind": "javascript-module",
332
+ "path": "components/button/button.js",
333
+ "declarations": [
334
+ {
335
+ "kind": "class",
336
+ "description": "",
337
+ "name": "TerraButton",
338
+ "cssParts": [
339
+ {
340
+ "description": "The component's base wrapper.",
341
+ "name": "base"
342
+ },
343
+ {
344
+ "description": "The container that wraps the prefix.",
345
+ "name": "prefix"
346
+ },
347
+ {
348
+ "description": "The button's label.",
349
+ "name": "label"
350
+ },
351
+ {
352
+ "description": "The container that wraps the suffix.",
353
+ "name": "suffix"
354
+ },
495
355
  {
356
+ "description": "The button's caret icon, an `<sl-icon>` element.",
357
+ "name": "caret"
358
+ },
359
+ {
360
+ "description": "The spinner that shows when the button is in the loading state.",
361
+ "name": "spinner"
362
+ }
363
+ ],
364
+ "slots": [
365
+ {
366
+ "description": "The button's label.",
367
+ "name": ""
368
+ },
369
+ {
370
+ "description": "A presentational prefix icon or similar element.",
371
+ "name": "prefix"
372
+ },
373
+ {
374
+ "description": "A presentational suffix icon or similar element.",
375
+ "name": "suffix"
376
+ }
377
+ ],
378
+ "members": [
379
+ {
380
+ "kind": "field",
381
+ "name": "formControlController",
382
+ "privacy": "private",
383
+ "readonly": true,
384
+ "default": "new FormControlController(this, {\n assumeInteractionOn: ['click'],\n })"
385
+ },
386
+ {
387
+ "kind": "field",
388
+ "name": "hasSlotController",
389
+ "privacy": "private",
390
+ "readonly": true,
391
+ "default": "new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n )"
392
+ },
393
+ {
394
+ "kind": "field",
395
+ "name": "button",
396
+ "type": {
397
+ "text": "HTMLButtonElement | HTMLLinkElement"
398
+ }
399
+ },
400
+ {
401
+ "kind": "field",
402
+ "name": "hasFocus",
403
+ "type": {
404
+ "text": "boolean"
405
+ },
406
+ "privacy": "private",
407
+ "default": "false"
408
+ },
409
+ {
410
+ "kind": "field",
411
+ "name": "invalid",
412
+ "type": {
413
+ "text": "boolean"
414
+ },
415
+ "default": "false"
416
+ },
417
+ {
418
+ "kind": "field",
419
+ "name": "title",
420
+ "type": {
421
+ "text": "string"
422
+ },
423
+ "default": "''",
424
+ "attribute": "title"
425
+ },
426
+ {
427
+ "kind": "field",
496
428
  "name": "variant",
497
429
  "type": {
498
430
  "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
499
431
  },
500
432
  "default": "'primary'",
501
433
  "description": "The button's theme variant.",
502
- "fieldName": "variant"
434
+ "attribute": "variant",
435
+ "reflects": true
503
436
  },
504
437
  {
438
+ "kind": "field",
505
439
  "name": "size",
506
440
  "type": {
507
441
  "text": "'small' | 'medium' | 'large'"
508
442
  },
509
443
  "default": "'medium'",
510
444
  "description": "The button's size.",
511
- "fieldName": "size"
445
+ "attribute": "size",
446
+ "reflects": true
512
447
  },
513
448
  {
449
+ "kind": "field",
514
450
  "name": "caret",
515
451
  "type": {
516
452
  "text": "boolean"
517
453
  },
518
454
  "default": "false",
519
455
  "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
520
- "fieldName": "caret"
456
+ "attribute": "caret",
457
+ "reflects": true
521
458
  },
522
459
  {
460
+ "kind": "field",
523
461
  "name": "shape",
524
462
  "type": {
525
463
  "text": "'square' | 'square-left' | 'square-right'"
526
464
  },
527
465
  "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
528
- "fieldName": "shape"
466
+ "attribute": "shape",
467
+ "reflects": true
529
468
  },
530
469
  {
470
+ "kind": "field",
531
471
  "name": "disabled",
532
472
  "type": {
533
473
  "text": "boolean"
534
474
  },
535
475
  "default": "false",
536
476
  "description": "Disables the button.",
537
- "fieldName": "disabled"
477
+ "attribute": "disabled",
478
+ "reflects": true
538
479
  },
539
480
  {
481
+ "kind": "field",
540
482
  "name": "loading",
541
483
  "type": {
542
484
  "text": "boolean"
543
485
  },
544
486
  "default": "false",
545
487
  "description": "Draws the button in a loading state.",
546
- "fieldName": "loading"
488
+ "attribute": "loading",
489
+ "reflects": true
547
490
  },
548
491
  {
492
+ "kind": "field",
549
493
  "name": "outline",
550
494
  "type": {
551
495
  "text": "boolean"
552
496
  },
553
497
  "default": "false",
554
498
  "description": "Draws an outlined button.",
555
- "fieldName": "outline"
499
+ "attribute": "outline",
500
+ "reflects": true
556
501
  },
557
502
  {
503
+ "kind": "field",
558
504
  "name": "circle",
559
505
  "type": {
560
506
  "text": "boolean"
561
507
  },
562
508
  "default": "false",
563
509
  "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"
510
+ "attribute": "circle",
511
+ "reflects": true
565
512
  },
566
513
  {
514
+ "kind": "field",
567
515
  "name": "type",
568
516
  "type": {
569
517
  "text": "'button' | 'submit' | 'reset'"
570
518
  },
571
519
  "default": "'button'",
572
520
  "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"
521
+ "attribute": "type"
574
522
  },
575
523
  {
524
+ "kind": "field",
576
525
  "name": "name",
577
526
  "type": {
578
527
  "text": "string"
579
528
  },
580
529
  "default": "''",
581
530
  "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"
531
+ "attribute": "name"
583
532
  },
584
533
  {
534
+ "kind": "field",
585
535
  "name": "value",
586
536
  "type": {
587
537
  "text": "string"
588
538
  },
589
539
  "default": "''",
590
540
  "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"
541
+ "attribute": "value"
592
542
  },
593
543
  {
544
+ "kind": "field",
594
545
  "name": "href",
595
546
  "type": {
596
547
  "text": "string"
597
548
  },
598
549
  "default": "''",
599
550
  "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
600
- "fieldName": "href"
551
+ "attribute": "href"
601
552
  },
602
553
  {
554
+ "kind": "field",
603
555
  "name": "target",
604
556
  "type": {
605
557
  "text": "'_blank' | '_parent' | '_self' | '_top'"
606
558
  },
607
559
  "description": "Tells the browser where to open the link. Only used when `href` is present.",
608
- "fieldName": "target"
560
+ "attribute": "target"
609
561
  },
610
562
  {
563
+ "kind": "field",
611
564
  "name": "rel",
612
565
  "type": {
613
566
  "text": "string"
614
567
  },
615
568
  "default": "'noreferrer noopener'",
616
569
  "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"
570
+ "attribute": "rel"
618
571
  },
619
572
  {
573
+ "kind": "field",
620
574
  "name": "download",
621
575
  "type": {
622
576
  "text": "string | undefined"
623
577
  },
624
578
  "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
625
- "fieldName": "download"
579
+ "attribute": "download"
626
580
  },
627
581
  {
582
+ "kind": "field",
628
583
  "name": "form",
629
584
  "type": {
630
585
  "text": "string"
631
586
  },
632
587
  "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"
588
+ "attribute": "form"
634
589
  },
635
590
  {
636
- "name": "formaction",
591
+ "kind": "field",
592
+ "name": "formAction",
637
593
  "type": {
638
594
  "text": "string"
639
595
  },
640
596
  "description": "Used to override the form owner's `action` attribute.",
641
- "fieldName": "formAction"
597
+ "attribute": "formaction"
642
598
  },
643
599
  {
644
- "name": "formenctype",
600
+ "kind": "field",
601
+ "name": "formEnctype",
645
602
  "type": {
646
603
  "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
647
604
  },
648
605
  "description": "Used to override the form owner's `enctype` attribute.",
649
- "fieldName": "formEnctype"
606
+ "attribute": "formenctype"
650
607
  },
651
608
  {
652
- "name": "formmethod",
609
+ "kind": "field",
610
+ "name": "formMethod",
653
611
  "type": {
654
612
  "text": "'post' | 'get'"
655
613
  },
656
614
  "description": "Used to override the form owner's `method` attribute.",
657
- "fieldName": "formMethod"
615
+ "attribute": "formmethod"
658
616
  },
659
617
  {
660
- "name": "formnovalidate",
618
+ "kind": "field",
619
+ "name": "formNoValidate",
661
620
  "type": {
662
621
  "text": "boolean"
663
622
  },
664
623
  "description": "Used to override the form owner's `novalidate` attribute.",
665
- "fieldName": "formNoValidate"
624
+ "attribute": "formnovalidate"
666
625
  },
667
626
  {
668
- "name": "formtarget",
627
+ "kind": "field",
628
+ "name": "formTarget",
669
629
  "type": {
670
630
  "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
671
631
  },
672
632
  "description": "Used to override the form owner's `target` attribute.",
673
- "fieldName": "formTarget"
633
+ "attribute": "formtarget"
674
634
  },
675
635
  {
676
- "name": "for-dialog",
636
+ "kind": "field",
637
+ "name": "forDialog",
677
638
  "type": {
678
639
  "text": "string | undefined"
679
640
  },
680
641
  "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
681
- "fieldName": "forDialog"
682
- }
683
- ],
684
- "superclass": {
685
- "name": "TerraElement",
686
- "module": "/src/internal/terra-element.js"
687
- },
688
- "summary": "Buttons represent actions that are available to the user.",
689
- "tagNameWithoutPrefix": "button",
690
- "tagName": "terra-button",
691
- "customElement": true,
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"
696
- }
697
- ],
698
- "exports": [
699
- {
700
- "kind": "js",
701
- "name": "default",
702
- "declaration": {
703
- "name": "TerraButton",
704
- "module": "components/button/button.js"
705
- }
706
- }
707
- ]
708
- },
709
- {
710
- "kind": "javascript-module",
711
- "path": "components/browse-variables/browse-variables.js",
712
- "declarations": [
713
- {
714
- "kind": "class",
715
- "description": "",
716
- "name": "TerraBrowseVariables",
717
- "members": [
718
- {
719
- "kind": "field",
720
- "name": "dependencies",
721
- "type": {
722
- "text": "object"
723
- },
724
- "static": true,
725
- "default": "{\n 'terra-variable-keyword-search': TerraVariableKeywordSearch,\n 'terra-button': TerraButton,\n 'terra-skeleton': TerraSkeleton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
726
- },
727
- {
728
- "kind": "field",
729
- "name": "catalog",
730
- "type": {
731
- "text": "'giovanni'"
732
- },
733
- "default": "'giovanni'",
734
- "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
735
- "attribute": "catalog"
736
- },
737
- {
738
- "kind": "field",
739
- "name": "searchQuery",
740
- "type": {
741
- "text": "string"
742
- }
642
+ "attribute": "for-dialog"
743
643
  },
744
644
  {
745
645
  "kind": "field",
746
- "name": "selectedFacets",
646
+ "name": "expanded",
747
647
  "type": {
748
- "text": "SelectedFacets"
648
+ "text": "boolean"
749
649
  },
750
- "default": "{}"
650
+ "default": "false",
651
+ "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"
751
652
  },
752
653
  {
753
654
  "kind": "field",
754
- "name": "selectedVariables",
755
- "type": {
756
- "text": "Variable[]"
757
- },
758
- "default": "[]"
655
+ "name": "validity",
656
+ "description": "Gets the validity state object",
657
+ "readonly": true
759
658
  },
760
659
  {
761
660
  "kind": "field",
762
- "name": "showVariablesBrowse",
763
- "type": {
764
- "text": "boolean"
765
- },
766
- "default": "false"
661
+ "name": "validationMessage",
662
+ "description": "Gets the validation message",
663
+ "readonly": true
767
664
  },
768
665
  {
769
- "kind": "field",
770
- "name": "#controller",
771
- "privacy": "private",
772
- "default": "new BrowseVariablesController(this)"
666
+ "kind": "method",
667
+ "name": "#handleDialogStateChange",
668
+ "parameters": [
669
+ {
670
+ "name": "e",
671
+ "type": {
672
+ "text": "TerraDialogShowEvent | TerraDialogHideEvent"
673
+ }
674
+ }
675
+ ]
773
676
  },
774
677
  {
775
678
  "kind": "method",
776
- "name": "handleSelectedVariablesChange"
679
+ "name": "handleBlur",
680
+ "privacy": "private"
777
681
  },
778
682
  {
779
683
  "kind": "method",
780
- "name": "reset"
684
+ "name": "handleFocus",
685
+ "privacy": "private"
781
686
  },
782
687
  {
783
688
  "kind": "method",
784
- "name": "handleObservationChange"
689
+ "name": "handleClick",
690
+ "privacy": "private"
785
691
  },
786
692
  {
787
693
  "kind": "method",
788
- "name": "toggleFacetSelect",
694
+ "name": "handleInvalid",
695
+ "privacy": "private",
789
696
  "parameters": [
790
697
  {
791
698
  "name": "event",
@@ -797,66 +704,86 @@
797
704
  },
798
705
  {
799
706
  "kind": "method",
800
- "name": "handleSearch",
801
- "parameters": [
802
- {
803
- "name": "e",
804
- "type": {
805
- "text": "TerraVariableKeywordSearchChangeEvent"
806
- }
807
- }
808
- ]
707
+ "name": "isButton",
708
+ "privacy": "private"
809
709
  },
810
710
  {
811
711
  "kind": "method",
812
- "name": "#selectFacetField",
712
+ "name": "isLink",
713
+ "privacy": "private"
714
+ },
715
+ {
716
+ "kind": "method",
717
+ "name": "handleDisabledChange"
718
+ },
719
+ {
720
+ "kind": "method",
721
+ "name": "click",
722
+ "description": "Simulates a click on the button."
723
+ },
724
+ {
725
+ "kind": "method",
726
+ "name": "focus",
813
727
  "parameters": [
814
728
  {
815
- "name": "facet",
816
- "type": {
817
- "text": "string"
818
- }
819
- },
820
- {
821
- "name": "field",
822
- "type": {
823
- "text": "string"
824
- }
825
- },
826
- {
827
- "name": "selectOneFieldAtATime",
828
- "default": "false",
729
+ "name": "options",
730
+ "optional": true,
829
731
  "type": {
830
- "text": "boolean"
732
+ "text": "FocusOptions"
831
733
  }
832
734
  }
833
735
  ],
834
- "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"
736
+ "description": "Sets focus on the button."
835
737
  },
836
738
  {
837
739
  "kind": "method",
838
- "name": "#clearFacet",
740
+ "name": "blur",
741
+ "description": "Removes focus from the button."
742
+ },
743
+ {
744
+ "kind": "method",
745
+ "name": "checkValidity",
746
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
747
+ },
748
+ {
749
+ "kind": "method",
750
+ "name": "getForm",
751
+ "return": {
752
+ "type": {
753
+ "text": "HTMLFormElement | null"
754
+ }
755
+ },
756
+ "description": "Gets the associated form, if one exists."
757
+ },
758
+ {
759
+ "kind": "method",
760
+ "name": "reportValidity",
761
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
762
+ },
763
+ {
764
+ "kind": "method",
765
+ "name": "setCustomValidity",
839
766
  "parameters": [
840
767
  {
841
- "name": "facet",
768
+ "name": "message",
842
769
  "type": {
843
770
  "text": "string"
844
771
  }
845
772
  }
846
- ]
773
+ ],
774
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
847
775
  },
848
776
  {
849
777
  "kind": "method",
850
- "name": "#unselectFacetField",
778
+ "name": "setPageLinkIcon",
779
+ "return": {
780
+ "type": {
781
+ "text": "string"
782
+ }
783
+ },
851
784
  "parameters": [
852
785
  {
853
- "name": "facet",
854
- "type": {
855
- "text": "string"
856
- }
857
- },
858
- {
859
- "name": "field",
786
+ "name": "href",
860
787
  "type": {
861
788
  "text": "string"
862
789
  }
@@ -865,159 +792,232 @@
865
792
  },
866
793
  {
867
794
  "kind": "method",
868
- "name": "#handleVariableSelection",
795
+ "name": "setFontSize",
796
+ "return": {
797
+ "type": {
798
+ "text": "string"
799
+ }
800
+ },
869
801
  "parameters": [
870
802
  {
871
- "name": "variable",
872
- "type": {
873
- "text": "Variable"
874
- }
875
- },
876
- {
877
- "name": "checked",
803
+ "name": "size",
878
804
  "type": {
879
- "text": "Boolean"
805
+ "text": "string"
880
806
  }
881
807
  }
882
808
  ]
883
- },
809
+ }
810
+ ],
811
+ "attributes": [
884
812
  {
885
- "kind": "method",
886
- "name": "#renderCategorySelect"
813
+ "name": "title",
814
+ "type": {
815
+ "text": "string"
816
+ },
817
+ "default": "''",
818
+ "fieldName": "title"
887
819
  },
888
820
  {
889
- "kind": "method",
890
- "name": "#renderFacet",
891
- "parameters": [
892
- {
893
- "name": "facetKey",
894
- "type": {
895
- "text": "string"
896
- }
897
- },
898
- {
899
- "name": "title",
900
- "type": {
901
- "text": "string"
902
- }
903
- },
904
- {
905
- "name": "fields",
906
- "optional": true,
907
- "type": {
908
- "text": "FacetField[]"
909
- }
910
- },
911
- {
912
- "name": "open",
913
- "optional": true,
914
- "type": {
915
- "text": "boolean"
916
- }
917
- }
918
- ]
821
+ "name": "variant",
822
+ "type": {
823
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
824
+ },
825
+ "default": "'primary'",
826
+ "description": "The button's theme variant.",
827
+ "fieldName": "variant"
919
828
  },
920
829
  {
921
- "kind": "method",
922
- "name": "#renderVariablesBrowse"
923
- }
924
- ],
925
- "attributes": [
830
+ "name": "size",
831
+ "type": {
832
+ "text": "'small' | 'medium' | 'large'"
833
+ },
834
+ "default": "'medium'",
835
+ "description": "The button's size.",
836
+ "fieldName": "size"
837
+ },
926
838
  {
927
- "name": "catalog",
839
+ "name": "caret",
928
840
  "type": {
929
- "text": "'giovanni'"
841
+ "text": "boolean"
930
842
  },
931
- "default": "'giovanni'",
932
- "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
933
- "fieldName": "catalog"
934
- }
935
- ],
936
- "superclass": {
937
- "name": "TerraElement",
938
- "module": "/src/internal/terra-element.js"
939
- },
940
- "summary": "Browse through the NASA CMR or Giovanni catalogs.",
941
- "tagNameWithoutPrefix": "browse-variables",
942
- "tagName": "terra-browse-variables",
943
- "customElement": true,
944
- "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 */",
945
- "documentation": "https://disc.gsfc.nasa.gov/components/browse-variables",
946
- "status": "MVP",
947
- "since": "1.0",
948
- "dependencies": [
949
- "terra-variable-keyword-search",
950
- "terra-button",
951
- "terra-skeleton",
952
- "terra-icon",
953
- "terra-loader"
954
- ]
955
- }
956
- ],
957
- "exports": [
958
- {
959
- "kind": "js",
960
- "name": "default",
961
- "declaration": {
962
- "name": "TerraBrowseVariables",
963
- "module": "components/browse-variables/browse-variables.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": [
843
+ "default": "false",
844
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
845
+ "fieldName": "caret"
846
+ },
977
847
  {
978
- "description": "The chip's label.",
979
- "name": ""
980
- }
981
- ],
982
- "members": [
848
+ "name": "shape",
849
+ "type": {
850
+ "text": "'square' | 'square-left' | 'square-right'"
851
+ },
852
+ "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
853
+ "fieldName": "shape"
854
+ },
983
855
  {
984
- "kind": "field",
985
- "name": "size",
856
+ "name": "disabled",
986
857
  "type": {
987
- "text": "'small' | 'medium' | 'large'"
858
+ "text": "boolean"
988
859
  },
989
- "default": "'medium'",
990
- "attribute": "size",
991
- "reflects": true
860
+ "default": "false",
861
+ "description": "Disables the button.",
862
+ "fieldName": "disabled"
992
863
  },
993
864
  {
994
- "kind": "field",
995
- "name": "#handleRemoveClick",
996
- "privacy": "private"
997
- }
998
- ],
999
- "attributes": [
865
+ "name": "loading",
866
+ "type": {
867
+ "text": "boolean"
868
+ },
869
+ "default": "false",
870
+ "description": "Draws the button in a loading state.",
871
+ "fieldName": "loading"
872
+ },
873
+ {
874
+ "name": "outline",
875
+ "type": {
876
+ "text": "boolean"
877
+ },
878
+ "default": "false",
879
+ "description": "Draws an outlined button.",
880
+ "fieldName": "outline"
881
+ },
882
+ {
883
+ "name": "circle",
884
+ "type": {
885
+ "text": "boolean"
886
+ },
887
+ "default": "false",
888
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
889
+ "fieldName": "circle"
890
+ },
891
+ {
892
+ "name": "type",
893
+ "type": {
894
+ "text": "'button' | 'submit' | 'reset'"
895
+ },
896
+ "default": "'button'",
897
+ "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.",
898
+ "fieldName": "type"
899
+ },
900
+ {
901
+ "name": "name",
902
+ "type": {
903
+ "text": "string"
904
+ },
905
+ "default": "''",
906
+ "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.",
907
+ "fieldName": "name"
908
+ },
909
+ {
910
+ "name": "value",
911
+ "type": {
912
+ "text": "string"
913
+ },
914
+ "default": "''",
915
+ "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.",
916
+ "fieldName": "value"
917
+ },
918
+ {
919
+ "name": "href",
920
+ "type": {
921
+ "text": "string"
922
+ },
923
+ "default": "''",
924
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
925
+ "fieldName": "href"
926
+ },
927
+ {
928
+ "name": "target",
929
+ "type": {
930
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
931
+ },
932
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
933
+ "fieldName": "target"
934
+ },
935
+ {
936
+ "name": "rel",
937
+ "type": {
938
+ "text": "string"
939
+ },
940
+ "default": "'noreferrer noopener'",
941
+ "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.",
942
+ "fieldName": "rel"
943
+ },
944
+ {
945
+ "name": "download",
946
+ "type": {
947
+ "text": "string | undefined"
948
+ },
949
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
950
+ "fieldName": "download"
951
+ },
952
+ {
953
+ "name": "form",
954
+ "type": {
955
+ "text": "string"
956
+ },
957
+ "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.",
958
+ "fieldName": "form"
959
+ },
960
+ {
961
+ "name": "formaction",
962
+ "type": {
963
+ "text": "string"
964
+ },
965
+ "description": "Used to override the form owner's `action` attribute.",
966
+ "fieldName": "formAction"
967
+ },
968
+ {
969
+ "name": "formenctype",
970
+ "type": {
971
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
972
+ },
973
+ "description": "Used to override the form owner's `enctype` attribute.",
974
+ "fieldName": "formEnctype"
975
+ },
976
+ {
977
+ "name": "formmethod",
978
+ "type": {
979
+ "text": "'post' | 'get'"
980
+ },
981
+ "description": "Used to override the form owner's `method` attribute.",
982
+ "fieldName": "formMethod"
983
+ },
984
+ {
985
+ "name": "formnovalidate",
986
+ "type": {
987
+ "text": "boolean"
988
+ },
989
+ "description": "Used to override the form owner's `novalidate` attribute.",
990
+ "fieldName": "formNoValidate"
991
+ },
992
+ {
993
+ "name": "formtarget",
994
+ "type": {
995
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
996
+ },
997
+ "description": "Used to override the form owner's `target` attribute.",
998
+ "fieldName": "formTarget"
999
+ },
1000
1000
  {
1001
- "name": "size",
1001
+ "name": "for-dialog",
1002
1002
  "type": {
1003
- "text": "'small' | 'medium' | 'large'"
1003
+ "text": "string | undefined"
1004
1004
  },
1005
- "default": "'medium'",
1006
- "fieldName": "size"
1005
+ "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
1006
+ "fieldName": "forDialog"
1007
1007
  }
1008
1008
  ],
1009
1009
  "superclass": {
1010
1010
  "name": "TerraElement",
1011
1011
  "module": "/src/internal/terra-element.js"
1012
1012
  },
1013
- "summary": "Used for contacts and tags",
1014
- "tagNameWithoutPrefix": "chip",
1015
- "tagName": "terra-chip",
1013
+ "summary": "Buttons represent actions that are available to the user.",
1014
+ "tagNameWithoutPrefix": "button",
1015
+ "tagName": "terra-button",
1016
1016
  "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",
1017
+ "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 */",
1018
+ "documentation": "https://shoelace.style/components/button",
1019
1019
  "status": "stable",
1020
- "since": "1.0"
1020
+ "since": "2.0"
1021
1021
  }
1022
1022
  ],
1023
1023
  "exports": [
@@ -1025,8 +1025,8 @@
1025
1025
  "kind": "js",
1026
1026
  "name": "default",
1027
1027
  "declaration": {
1028
- "name": "TerraChip",
1029
- "module": "components/chip/chip.js"
1028
+ "name": "TerraButton",
1029
+ "module": "components/button/button.js"
1030
1030
  }
1031
1031
  }
1032
1032
  ]
@@ -1349,254 +1349,29 @@
1349
1349
  "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
1350
1350
  },
1351
1351
  "default": "'INITIAL'",
1352
- "description": "status of the content",
1353
- "fieldName": "status"
1354
- },
1355
- {
1356
- "name": "content",
1357
- "type": {
1358
- "text": "Content"
1359
- },
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"
1363
- }
1364
- ],
1365
- "superclass": {
1366
- "name": "TerraElement",
1367
- "module": "/src/internal/terra-element.js"
1368
- },
1369
- "summary": "Fuzzy-search for combobox with list autocomplete.",
1370
- "tagNameWithoutPrefix": "combobox",
1371
- "tagName": "terra-combobox",
1372
- "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",
1375
- "status": "experimental",
1376
- "since": "1.0"
1377
- }
1378
- ],
1379
- "exports": [
1380
- {
1381
- "kind": "js",
1382
- "name": "default",
1383
- "declaration": {
1384
- "name": "TerraCombobox",
1385
- "module": "components/combobox/combobox.js"
1386
- }
1387
- }
1388
- ]
1389
- },
1390
- {
1391
- "kind": "javascript-module",
1392
- "path": "components/date-range-slider/date-range-slider.js",
1393
- "declarations": [
1394
- {
1395
- "kind": "class",
1396
- "description": "",
1397
- "name": "TerraDateRangeSlider",
1398
- "cssProperties": [
1399
- {
1400
- "description": "An example CSS custom property.",
1401
- "name": "--example"
1402
- }
1403
- ],
1404
- "cssParts": [
1405
- {
1406
- "description": "The component's base wrapper.",
1407
- "name": "base"
1408
- }
1409
- ],
1410
- "slots": [
1411
- {
1412
- "description": "The default slot.",
1413
- "name": ""
1414
- },
1415
- {
1416
- "description": "An example slot.",
1417
- "name": "example"
1418
- }
1419
- ],
1420
- "members": [
1421
- {
1422
- "kind": "field",
1423
- "name": "slider",
1424
- "type": {
1425
- "text": "HTMLElement & { noUiSlider: API }"
1426
- }
1427
- },
1428
- {
1429
- "kind": "field",
1430
- "name": "timeScale",
1431
- "type": {
1432
- "text": "TimeScale"
1433
- },
1434
- "default": "'daily'",
1435
- "attribute": "time-scale"
1436
- },
1437
- {
1438
- "kind": "field",
1439
- "name": "minDate",
1440
- "type": {
1441
- "text": "string"
1442
- },
1443
- "attribute": "min-date"
1444
- },
1445
- {
1446
- "kind": "field",
1447
- "name": "maxDate",
1448
- "type": {
1449
- "text": "string"
1450
- },
1451
- "attribute": "max-date"
1452
- },
1453
- {
1454
- "kind": "field",
1455
- "name": "startDate",
1456
- "type": {
1457
- "text": "string"
1458
- },
1459
- "description": "The start date for the time series plot.",
1460
- "attribute": "start-date"
1461
- },
1462
- {
1463
- "kind": "field",
1464
- "name": "endDate",
1465
- "type": {
1466
- "text": "string"
1467
- },
1468
- "attribute": "end-date"
1469
- },
1470
- {
1471
- "kind": "field",
1472
- "name": "disabled",
1473
- "type": {
1474
- "text": "boolean"
1475
- },
1476
- "default": "false",
1477
- "attribute": "disabled",
1478
- "reflects": true
1479
- },
1480
- {
1481
- "kind": "field",
1482
- "name": "hasPips",
1483
- "type": {
1484
- "text": "boolean"
1485
- },
1486
- "default": "true",
1487
- "attribute": "has-pips",
1488
- "reflects": true
1489
- },
1490
- {
1491
- "kind": "method",
1492
- "name": "updateSlider"
1493
- },
1494
- {
1495
- "kind": "method",
1496
- "name": "disabledChanged"
1497
- },
1498
- {
1499
- "kind": "method",
1500
- "name": "renderSlider"
1501
- },
1502
- {
1503
- "kind": "method",
1504
- "name": "renderEmptySlider"
1505
- },
1506
- {
1507
- "kind": "method",
1508
- "name": "_getStep",
1509
- "privacy": "private"
1510
- },
1511
- {
1512
- "kind": "method",
1513
- "name": "_getSliderFormatter",
1514
- "privacy": "private",
1515
- "return": {
1516
- "type": {
1517
- "text": "Formatter"
1518
- }
1519
- }
1520
- },
1521
- {
1522
- "kind": "method",
1523
- "name": "_formatDate",
1524
- "privacy": "private",
1525
- "parameters": [
1526
- {
1527
- "name": "date",
1528
- "type": {
1529
- "text": "string | number | Date"
1530
- }
1531
- }
1532
- ]
1533
- }
1534
- ],
1535
- "attributes": [
1536
- {
1537
- "name": "time-scale",
1538
- "type": {
1539
- "text": "TimeScale"
1540
- },
1541
- "default": "'daily'",
1542
- "fieldName": "timeScale"
1543
- },
1544
- {
1545
- "name": "min-date",
1546
- "type": {
1547
- "text": "string"
1548
- },
1549
- "fieldName": "minDate"
1550
- },
1551
- {
1552
- "name": "max-date",
1553
- "type": {
1554
- "text": "string"
1555
- },
1556
- "fieldName": "maxDate"
1557
- },
1558
- {
1559
- "name": "start-date",
1560
- "type": {
1561
- "text": "string"
1562
- },
1563
- "description": "The start date for the time series plot.",
1564
- "fieldName": "startDate"
1565
- },
1566
- {
1567
- "name": "end-date",
1568
- "type": {
1569
- "text": "string"
1570
- },
1571
- "fieldName": "endDate"
1572
- },
1573
- {
1574
- "name": "disabled",
1575
- "type": {
1576
- "text": "boolean"
1577
- },
1578
- "default": "false",
1579
- "fieldName": "disabled"
1352
+ "description": "status of the content",
1353
+ "fieldName": "status"
1580
1354
  },
1581
1355
  {
1582
- "name": "has-pips",
1356
+ "name": "content",
1583
1357
  "type": {
1584
- "text": "boolean"
1358
+ "text": "Content"
1585
1359
  },
1586
- "default": "true",
1587
- "fieldName": "hasPips"
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"
1588
1363
  }
1589
1364
  ],
1590
1365
  "superclass": {
1591
1366
  "name": "TerraElement",
1592
1367
  "module": "/src/internal/terra-element.js"
1593
1368
  },
1594
- "summary": "Short summary of the component's intended use.",
1595
- "tagNameWithoutPrefix": "date-range-slider",
1596
- "tagName": "terra-date-range-slider",
1369
+ "summary": "Fuzzy-search for combobox with list autocomplete.",
1370
+ "tagNameWithoutPrefix": "combobox",
1371
+ "tagName": "terra-combobox",
1597
1372
  "customElement": true,
1598
- "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 */",
1599
- "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
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",
1600
1375
  "status": "experimental",
1601
1376
  "since": "1.0"
1602
1377
  }
@@ -1606,8 +1381,8 @@
1606
1381
  "kind": "js",
1607
1382
  "name": "default",
1608
1383
  "declaration": {
1609
- "name": "TerraDateRangeSlider",
1610
- "module": "components/date-range-slider/date-range-slider.js"
1384
+ "name": "TerraCombobox",
1385
+ "module": "components/combobox/combobox.js"
1611
1386
  }
1612
1387
  }
1613
1388
  ]
@@ -1817,9 +1592,9 @@
1817
1592
  "privacy": "private",
1818
1593
  "parameters": [
1819
1594
  {
1820
- "name": "e",
1595
+ "name": "selectedDates",
1821
1596
  "type": {
1822
- "text": "CustomEvent"
1597
+ "text": "Date[]"
1823
1598
  }
1824
1599
  }
1825
1600
  ]
@@ -1878,112 +1653,337 @@
1878
1653
  "fieldName": "allowInput"
1879
1654
  },
1880
1655
  {
1881
- "name": "alt-format",
1882
- "type": {
1883
- "text": "string"
1884
- },
1885
- "default": "'F j, Y'",
1886
- "fieldName": "altFormat"
1656
+ "name": "alt-format",
1657
+ "type": {
1658
+ "text": "string"
1659
+ },
1660
+ "default": "'F j, Y'",
1661
+ "fieldName": "altFormat"
1662
+ },
1663
+ {
1664
+ "name": "alt-input",
1665
+ "type": {
1666
+ "text": "boolean"
1667
+ },
1668
+ "default": "false",
1669
+ "fieldName": "altInput"
1670
+ },
1671
+ {
1672
+ "name": "alt-input-class",
1673
+ "type": {
1674
+ "text": "string"
1675
+ },
1676
+ "default": "''",
1677
+ "fieldName": "altInputClass"
1678
+ },
1679
+ {
1680
+ "name": "date-format",
1681
+ "type": {
1682
+ "text": "string"
1683
+ },
1684
+ "default": "'Y-m-d'",
1685
+ "fieldName": "dateFormat"
1686
+ },
1687
+ {
1688
+ "name": "enable-time",
1689
+ "type": {
1690
+ "text": "boolean"
1691
+ },
1692
+ "default": "false",
1693
+ "fieldName": "enableTime"
1694
+ },
1695
+ {
1696
+ "name": "time-24hr",
1697
+ "type": {
1698
+ "text": "boolean"
1699
+ },
1700
+ "default": "false",
1701
+ "fieldName": "time24hr"
1702
+ },
1703
+ {
1704
+ "name": "week-numbers",
1705
+ "type": {
1706
+ "text": "boolean"
1707
+ },
1708
+ "default": "false",
1709
+ "fieldName": "weekNumbers"
1710
+ },
1711
+ {
1712
+ "name": "static",
1713
+ "type": {
1714
+ "text": "boolean"
1715
+ },
1716
+ "default": "false",
1717
+ "fieldName": "static"
1718
+ },
1719
+ {
1720
+ "name": "position",
1721
+ "type": {
1722
+ "text": "'auto' | 'above' | 'below'"
1723
+ },
1724
+ "default": "'auto'",
1725
+ "fieldName": "position"
1726
+ },
1727
+ {
1728
+ "name": "show-months",
1729
+ "type": {
1730
+ "text": "number"
1731
+ },
1732
+ "default": "1",
1733
+ "fieldName": "showMonths"
1734
+ },
1735
+ {
1736
+ "name": "hide-label",
1737
+ "type": {
1738
+ "text": "boolean"
1739
+ },
1740
+ "default": "false",
1741
+ "fieldName": "hideLabel"
1742
+ },
1743
+ {
1744
+ "name": "label",
1745
+ "type": {
1746
+ "text": "string"
1747
+ },
1748
+ "default": "'Select Date'",
1749
+ "fieldName": "label"
1750
+ }
1751
+ ],
1752
+ "superclass": {
1753
+ "name": "TerraElement",
1754
+ "module": "/src/internal/terra-element.js"
1755
+ },
1756
+ "summary": "A date picker component that supports single date selection or date range selection.",
1757
+ "tagNameWithoutPrefix": "date-picker",
1758
+ "tagName": "terra-date-picker",
1759
+ "customElement": true,
1760
+ "jsDoc": "/**\n * @summary A date picker component that supports single date selection or date range selection.\n * @documentation https://disc.gsfc.nasa.gov/components/date-picker\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n *\n * @csspart base - The component's base wrapper.\n * @csspart input - The date input element.\n */",
1761
+ "documentation": "https://disc.gsfc.nasa.gov/components/date-picker",
1762
+ "status": "experimental",
1763
+ "since": "1.0"
1764
+ }
1765
+ ],
1766
+ "exports": [
1767
+ {
1768
+ "kind": "js",
1769
+ "name": "default",
1770
+ "declaration": {
1771
+ "name": "TerraDatePicker",
1772
+ "module": "components/date-picker/date-picker.js"
1773
+ }
1774
+ }
1775
+ ]
1776
+ },
1777
+ {
1778
+ "kind": "javascript-module",
1779
+ "path": "components/date-range-slider/date-range-slider.js",
1780
+ "declarations": [
1781
+ {
1782
+ "kind": "class",
1783
+ "description": "",
1784
+ "name": "TerraDateRangeSlider",
1785
+ "cssProperties": [
1786
+ {
1787
+ "description": "An example CSS custom property.",
1788
+ "name": "--example"
1789
+ }
1790
+ ],
1791
+ "cssParts": [
1792
+ {
1793
+ "description": "The component's base wrapper.",
1794
+ "name": "base"
1795
+ }
1796
+ ],
1797
+ "slots": [
1798
+ {
1799
+ "description": "The default slot.",
1800
+ "name": ""
1801
+ },
1802
+ {
1803
+ "description": "An example slot.",
1804
+ "name": "example"
1805
+ }
1806
+ ],
1807
+ "members": [
1808
+ {
1809
+ "kind": "field",
1810
+ "name": "slider",
1811
+ "type": {
1812
+ "text": "HTMLElement & { noUiSlider: API }"
1813
+ }
1814
+ },
1815
+ {
1816
+ "kind": "field",
1817
+ "name": "timeScale",
1818
+ "type": {
1819
+ "text": "TimeScale"
1820
+ },
1821
+ "default": "'daily'",
1822
+ "attribute": "time-scale"
1823
+ },
1824
+ {
1825
+ "kind": "field",
1826
+ "name": "minDate",
1827
+ "type": {
1828
+ "text": "string"
1829
+ },
1830
+ "attribute": "min-date"
1831
+ },
1832
+ {
1833
+ "kind": "field",
1834
+ "name": "maxDate",
1835
+ "type": {
1836
+ "text": "string"
1837
+ },
1838
+ "attribute": "max-date"
1839
+ },
1840
+ {
1841
+ "kind": "field",
1842
+ "name": "startDate",
1843
+ "type": {
1844
+ "text": "string"
1845
+ },
1846
+ "description": "The start date for the time series plot.",
1847
+ "attribute": "start-date"
1848
+ },
1849
+ {
1850
+ "kind": "field",
1851
+ "name": "endDate",
1852
+ "type": {
1853
+ "text": "string"
1854
+ },
1855
+ "attribute": "end-date"
1856
+ },
1857
+ {
1858
+ "kind": "field",
1859
+ "name": "disabled",
1860
+ "type": {
1861
+ "text": "boolean"
1862
+ },
1863
+ "default": "false",
1864
+ "attribute": "disabled",
1865
+ "reflects": true
1866
+ },
1867
+ {
1868
+ "kind": "field",
1869
+ "name": "hasPips",
1870
+ "type": {
1871
+ "text": "boolean"
1872
+ },
1873
+ "default": "true",
1874
+ "attribute": "has-pips",
1875
+ "reflects": true
1876
+ },
1877
+ {
1878
+ "kind": "method",
1879
+ "name": "updateSlider"
1880
+ },
1881
+ {
1882
+ "kind": "method",
1883
+ "name": "disabledChanged"
1884
+ },
1885
+ {
1886
+ "kind": "method",
1887
+ "name": "renderSlider"
1887
1888
  },
1888
1889
  {
1889
- "name": "alt-input",
1890
- "type": {
1891
- "text": "boolean"
1892
- },
1893
- "default": "false",
1894
- "fieldName": "altInput"
1890
+ "kind": "method",
1891
+ "name": "renderEmptySlider"
1895
1892
  },
1896
1893
  {
1897
- "name": "alt-input-class",
1898
- "type": {
1899
- "text": "string"
1900
- },
1901
- "default": "''",
1902
- "fieldName": "altInputClass"
1894
+ "kind": "method",
1895
+ "name": "_getStep",
1896
+ "privacy": "private"
1903
1897
  },
1904
1898
  {
1905
- "name": "date-format",
1906
- "type": {
1907
- "text": "string"
1908
- },
1909
- "default": "'Y-m-d'",
1910
- "fieldName": "dateFormat"
1899
+ "kind": "method",
1900
+ "name": "_getSliderFormatter",
1901
+ "privacy": "private",
1902
+ "return": {
1903
+ "type": {
1904
+ "text": "Formatter"
1905
+ }
1906
+ }
1911
1907
  },
1912
1908
  {
1913
- "name": "enable-time",
1914
- "type": {
1915
- "text": "boolean"
1916
- },
1917
- "default": "false",
1918
- "fieldName": "enableTime"
1919
- },
1909
+ "kind": "method",
1910
+ "name": "_formatDate",
1911
+ "privacy": "private",
1912
+ "parameters": [
1913
+ {
1914
+ "name": "date",
1915
+ "type": {
1916
+ "text": "string | number | Date"
1917
+ }
1918
+ }
1919
+ ]
1920
+ }
1921
+ ],
1922
+ "attributes": [
1920
1923
  {
1921
- "name": "time-24hr",
1924
+ "name": "time-scale",
1922
1925
  "type": {
1923
- "text": "boolean"
1926
+ "text": "TimeScale"
1924
1927
  },
1925
- "default": "false",
1926
- "fieldName": "time24hr"
1928
+ "default": "'daily'",
1929
+ "fieldName": "timeScale"
1927
1930
  },
1928
1931
  {
1929
- "name": "week-numbers",
1932
+ "name": "min-date",
1930
1933
  "type": {
1931
- "text": "boolean"
1934
+ "text": "string"
1932
1935
  },
1933
- "default": "false",
1934
- "fieldName": "weekNumbers"
1936
+ "fieldName": "minDate"
1935
1937
  },
1936
1938
  {
1937
- "name": "static",
1939
+ "name": "max-date",
1938
1940
  "type": {
1939
- "text": "boolean"
1941
+ "text": "string"
1940
1942
  },
1941
- "default": "false",
1942
- "fieldName": "static"
1943
+ "fieldName": "maxDate"
1943
1944
  },
1944
1945
  {
1945
- "name": "position",
1946
+ "name": "start-date",
1946
1947
  "type": {
1947
- "text": "'auto' | 'above' | 'below'"
1948
+ "text": "string"
1948
1949
  },
1949
- "default": "'auto'",
1950
- "fieldName": "position"
1950
+ "description": "The start date for the time series plot.",
1951
+ "fieldName": "startDate"
1951
1952
  },
1952
1953
  {
1953
- "name": "show-months",
1954
+ "name": "end-date",
1954
1955
  "type": {
1955
- "text": "number"
1956
+ "text": "string"
1956
1957
  },
1957
- "default": "1",
1958
- "fieldName": "showMonths"
1958
+ "fieldName": "endDate"
1959
1959
  },
1960
1960
  {
1961
- "name": "hide-label",
1961
+ "name": "disabled",
1962
1962
  "type": {
1963
1963
  "text": "boolean"
1964
1964
  },
1965
1965
  "default": "false",
1966
- "fieldName": "hideLabel"
1966
+ "fieldName": "disabled"
1967
1967
  },
1968
1968
  {
1969
- "name": "label",
1969
+ "name": "has-pips",
1970
1970
  "type": {
1971
- "text": "string"
1971
+ "text": "boolean"
1972
1972
  },
1973
- "default": "'Select Date'",
1974
- "fieldName": "label"
1973
+ "default": "true",
1974
+ "fieldName": "hasPips"
1975
1975
  }
1976
1976
  ],
1977
1977
  "superclass": {
1978
1978
  "name": "TerraElement",
1979
1979
  "module": "/src/internal/terra-element.js"
1980
1980
  },
1981
- "summary": "A date picker component that supports single date selection or date range selection.",
1982
- "tagNameWithoutPrefix": "date-picker",
1983
- "tagName": "terra-date-picker",
1981
+ "summary": "Short summary of the component's intended use.",
1982
+ "tagNameWithoutPrefix": "date-range-slider",
1983
+ "tagName": "terra-date-range-slider",
1984
1984
  "customElement": true,
1985
- "jsDoc": "/**\n * @summary A date picker component that supports single date selection or date range selection.\n * @documentation https://disc.gsfc.nasa.gov/components/date-picker\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n *\n * @csspart base - The component's base wrapper.\n * @csspart input - The date input element.\n */",
1986
- "documentation": "https://disc.gsfc.nasa.gov/components/date-picker",
1985
+ "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 */",
1986
+ "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
1987
1987
  "status": "experimental",
1988
1988
  "since": "1.0"
1989
1989
  }
@@ -1993,8 +1993,8 @@
1993
1993
  "kind": "js",
1994
1994
  "name": "default",
1995
1995
  "declaration": {
1996
- "name": "TerraDatePicker",
1997
- "module": "components/date-picker/date-picker.js"
1996
+ "name": "TerraDateRangeSlider",
1997
+ "module": "components/date-range-slider/date-range-slider.js"
1998
1998
  }
1999
1999
  }
2000
2000
  ]
@@ -2505,13 +2505,153 @@
2505
2505
  "name": "TerraElement",
2506
2506
  "module": "/src/internal/terra-element.js"
2507
2507
  },
2508
- "summary": "Loaders are used to indicate there is content that is loading.",
2509
- "tagNameWithoutPrefix": "loader",
2510
- "tagName": "terra-loader",
2508
+ "summary": "Loaders are used to indicate there is content that is loading.",
2509
+ "tagNameWithoutPrefix": "loader",
2510
+ "tagName": "terra-loader",
2511
+ "customElement": true,
2512
+ "jsDoc": "/**\n * @summary Loaders are used to indicate there is content that is loading.\n * @documentation https://disc.gsfc.nasa.gov/components/loader\n * @status experimental\n * @since 1.0\n *\n *\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
2513
+ "documentation": "https://disc.gsfc.nasa.gov/components/loader",
2514
+ "status": "experimental",
2515
+ "since": "1.0"
2516
+ }
2517
+ ],
2518
+ "exports": [
2519
+ {
2520
+ "kind": "js",
2521
+ "name": "default",
2522
+ "declaration": {
2523
+ "name": "TerraLoader",
2524
+ "module": "components/loader/loader.js"
2525
+ }
2526
+ }
2527
+ ]
2528
+ },
2529
+ {
2530
+ "kind": "javascript-module",
2531
+ "path": "components/login/login.js",
2532
+ "declarations": [
2533
+ {
2534
+ "kind": "class",
2535
+ "description": "",
2536
+ "name": "TerraLogin",
2537
+ "members": [
2538
+ {
2539
+ "kind": "field",
2540
+ "name": "#clientID",
2541
+ "privacy": "private"
2542
+ },
2543
+ {
2544
+ "kind": "field",
2545
+ "name": "#formRef",
2546
+ "privacy": "private"
2547
+ },
2548
+ {
2549
+ "kind": "field",
2550
+ "name": "#serverURL",
2551
+ "privacy": "private"
2552
+ },
2553
+ {
2554
+ "kind": "field",
2555
+ "name": "#loginTask",
2556
+ "privacy": "private",
2557
+ "default": "new Task(this, {\n task: async ([], { signal }) => {\n const code = await this.#getAccessCode(signal)\n const accessToken = await this.#exchangeCodeForAccessToken(code, signal)\n\n this.emit('terra-login', { detail: accessToken })\n this.#clearForm()\n },\n })"
2558
+ },
2559
+ {
2560
+ "kind": "field",
2561
+ "name": "dependencies",
2562
+ "type": {
2563
+ "text": "object"
2564
+ },
2565
+ "static": true,
2566
+ "default": "{\n 'terra-button': TerraButton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
2567
+ },
2568
+ {
2569
+ "kind": "method",
2570
+ "name": "#getAccessCode",
2571
+ "return": {
2572
+ "type": {
2573
+ "text": "Promise<string>"
2574
+ }
2575
+ },
2576
+ "parameters": [
2577
+ {
2578
+ "name": "signal",
2579
+ "type": {
2580
+ "text": "AbortSignal"
2581
+ }
2582
+ }
2583
+ ],
2584
+ "description": "Using a fetch that contains our credentials, get a code from EDL that we can use to exchange for an JWT."
2585
+ },
2586
+ {
2587
+ "kind": "method",
2588
+ "name": "#exchangeCodeForAccessToken",
2589
+ "parameters": [
2590
+ {
2591
+ "name": "code",
2592
+ "type": {
2593
+ "text": "string"
2594
+ }
2595
+ },
2596
+ {
2597
+ "name": "signal",
2598
+ "type": {
2599
+ "text": "AbortSignal"
2600
+ }
2601
+ }
2602
+ ],
2603
+ "description": "Check for a code and attempt to exchange it for a JWT, accessing only the access_token."
2604
+ },
2605
+ {
2606
+ "kind": "method",
2607
+ "name": "#handleSubmit",
2608
+ "parameters": [
2609
+ {
2610
+ "name": "event",
2611
+ "type": {
2612
+ "text": "SubmitEvent"
2613
+ }
2614
+ }
2615
+ ],
2616
+ "description": "If the user submits our form to log in to EDL, use a fetch request to get an authorization code, then exchange it for an access token."
2617
+ },
2618
+ {
2619
+ "kind": "method",
2620
+ "name": "#handleKeypress",
2621
+ "parameters": [
2622
+ {
2623
+ "name": "event",
2624
+ "type": {
2625
+ "text": "KeyboardEvent"
2626
+ }
2627
+ }
2628
+ ]
2629
+ },
2630
+ {
2631
+ "kind": "method",
2632
+ "name": "#clearForm",
2633
+ "description": "Clear the given form of all entries."
2634
+ }
2635
+ ],
2636
+ "events": [
2637
+ {
2638
+ "description": "Emitted when a bearer token has been received from EDL.",
2639
+ "name": "terra-login",
2640
+ "reactName": "onTerraLogin",
2641
+ "eventName": "TerraLoginEvent"
2642
+ }
2643
+ ],
2644
+ "superclass": {
2645
+ "name": "TerraElement",
2646
+ "module": "/src/internal/terra-element.js"
2647
+ },
2648
+ "summary": "A form that logs in to Earthdata Login (EDL) and returns a bearer token.",
2649
+ "tagNameWithoutPrefix": "login",
2650
+ "tagName": "terra-login",
2511
2651
  "customElement": true,
2512
- "jsDoc": "/**\n * @summary Loaders are used to indicate there is content that is loading.\n * @documentation https://disc.gsfc.nasa.gov/components/loader\n * @status experimental\n * @since 1.0\n *\n *\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
2513
- "documentation": "https://disc.gsfc.nasa.gov/components/loader",
2514
- "status": "experimental",
2652
+ "jsDoc": "/**\n * @summary A form that logs in to Earthdata Login (EDL) and returns a bearer token.\n * @documentation https://disc.gsfc.nasa.gov/components/login\n * @status stable\n * @since 1.0\n *\n * @event terra-login - Emitted when a bearer token has been received from EDL.\n */",
2653
+ "documentation": "https://disc.gsfc.nasa.gov/components/login",
2654
+ "status": "stable",
2515
2655
  "since": "1.0"
2516
2656
  }
2517
2657
  ],
@@ -2520,8 +2660,8 @@
2520
2660
  "kind": "js",
2521
2661
  "name": "default",
2522
2662
  "declaration": {
2523
- "name": "TerraLoader",
2524
- "module": "components/loader/loader.js"
2663
+ "name": "TerraLogin",
2664
+ "module": "components/login/login.js"
2525
2665
  }
2526
2666
  }
2527
2667
  ]
@@ -2751,146 +2891,6 @@
2751
2891
  }
2752
2892
  ]
2753
2893
  },
2754
- {
2755
- "kind": "javascript-module",
2756
- "path": "components/login/login.js",
2757
- "declarations": [
2758
- {
2759
- "kind": "class",
2760
- "description": "",
2761
- "name": "TerraLogin",
2762
- "members": [
2763
- {
2764
- "kind": "field",
2765
- "name": "#clientID",
2766
- "privacy": "private"
2767
- },
2768
- {
2769
- "kind": "field",
2770
- "name": "#formRef",
2771
- "privacy": "private"
2772
- },
2773
- {
2774
- "kind": "field",
2775
- "name": "#serverURL",
2776
- "privacy": "private"
2777
- },
2778
- {
2779
- "kind": "field",
2780
- "name": "#loginTask",
2781
- "privacy": "private",
2782
- "default": "new Task(this, {\n task: async ([], { signal }) => {\n const code = await this.#getAccessCode(signal)\n const accessToken = await this.#exchangeCodeForAccessToken(code, signal)\n\n this.emit('terra-login', { detail: accessToken })\n this.#clearForm()\n },\n })"
2783
- },
2784
- {
2785
- "kind": "field",
2786
- "name": "dependencies",
2787
- "type": {
2788
- "text": "object"
2789
- },
2790
- "static": true,
2791
- "default": "{\n 'terra-button': TerraButton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
2792
- },
2793
- {
2794
- "kind": "method",
2795
- "name": "#getAccessCode",
2796
- "return": {
2797
- "type": {
2798
- "text": "Promise<string>"
2799
- }
2800
- },
2801
- "parameters": [
2802
- {
2803
- "name": "signal",
2804
- "type": {
2805
- "text": "AbortSignal"
2806
- }
2807
- }
2808
- ],
2809
- "description": "Using a fetch that contains our credentials, get a code from EDL that we can use to exchange for an JWT."
2810
- },
2811
- {
2812
- "kind": "method",
2813
- "name": "#exchangeCodeForAccessToken",
2814
- "parameters": [
2815
- {
2816
- "name": "code",
2817
- "type": {
2818
- "text": "string"
2819
- }
2820
- },
2821
- {
2822
- "name": "signal",
2823
- "type": {
2824
- "text": "AbortSignal"
2825
- }
2826
- }
2827
- ],
2828
- "description": "Check for a code and attempt to exchange it for a JWT, accessing only the access_token."
2829
- },
2830
- {
2831
- "kind": "method",
2832
- "name": "#handleSubmit",
2833
- "parameters": [
2834
- {
2835
- "name": "event",
2836
- "type": {
2837
- "text": "SubmitEvent"
2838
- }
2839
- }
2840
- ],
2841
- "description": "If the user submits our form to log in to EDL, use a fetch request to get an authorization code, then exchange it for an access token."
2842
- },
2843
- {
2844
- "kind": "method",
2845
- "name": "#handleKeypress",
2846
- "parameters": [
2847
- {
2848
- "name": "event",
2849
- "type": {
2850
- "text": "KeyboardEvent"
2851
- }
2852
- }
2853
- ]
2854
- },
2855
- {
2856
- "kind": "method",
2857
- "name": "#clearForm",
2858
- "description": "Clear the given form of all entries."
2859
- }
2860
- ],
2861
- "events": [
2862
- {
2863
- "description": "Emitted when a bearer token has been received from EDL.",
2864
- "name": "terra-login",
2865
- "reactName": "onTerraLogin",
2866
- "eventName": "TerraLoginEvent"
2867
- }
2868
- ],
2869
- "superclass": {
2870
- "name": "TerraElement",
2871
- "module": "/src/internal/terra-element.js"
2872
- },
2873
- "summary": "A form that logs in to Earthdata Login (EDL) and returns a bearer token.",
2874
- "tagNameWithoutPrefix": "login",
2875
- "tagName": "terra-login",
2876
- "customElement": true,
2877
- "jsDoc": "/**\n * @summary A form that logs in to Earthdata Login (EDL) and returns a bearer token.\n * @documentation https://disc.gsfc.nasa.gov/components/login\n * @status stable\n * @since 1.0\n *\n * @event terra-login - Emitted when a bearer token has been received from EDL.\n */",
2878
- "documentation": "https://disc.gsfc.nasa.gov/components/login",
2879
- "status": "stable",
2880
- "since": "1.0"
2881
- }
2882
- ],
2883
- "exports": [
2884
- {
2885
- "kind": "js",
2886
- "name": "default",
2887
- "declaration": {
2888
- "name": "TerraLogin",
2889
- "module": "components/login/login.js"
2890
- }
2891
- }
2892
- ]
2893
- },
2894
2894
  {
2895
2895
  "kind": "javascript-module",
2896
2896
  "path": "components/plot/plot.js",
@@ -4031,21 +4031,17 @@
4031
4031
  },
4032
4032
  {
4033
4033
  "kind": "javascript-module",
4034
- "path": "components/variable-combobox/variable-combobox.js",
4034
+ "path": "components/variable-keyword-search/variable-keyword-search.js",
4035
4035
  "declarations": [
4036
4036
  {
4037
4037
  "kind": "class",
4038
4038
  "description": "",
4039
- "name": "TerraVariableCombobox",
4039
+ "name": "TerraVariableKeywordSearch",
4040
4040
  "cssProperties": [
4041
4041
  {
4042
4042
  "description": "The height of the host element.",
4043
4043
  "name": "--host-height"
4044
4044
  },
4045
- {
4046
- "description": "The height of the search help element.",
4047
- "name": "--help-height"
4048
- },
4049
4045
  {
4050
4046
  "description": "The height of the input's label element.",
4051
4047
  "name": "--label-height"
@@ -4095,7 +4091,7 @@
4095
4091
  "text": "string"
4096
4092
  },
4097
4093
  "static": true,
4098
- "default": "'terra-variable-combobox'"
4094
+ "default": "'terra-variable-keyword-search'"
4099
4095
  },
4100
4096
  {
4101
4097
  "kind": "field",
@@ -4119,18 +4115,7 @@
4119
4115
  "kind": "field",
4120
4116
  "name": "#fetchController",
4121
4117
  "privacy": "private",
4122
- "type": {
4123
- "text": "FetchController"
4124
- }
4125
- },
4126
- {
4127
- "kind": "field",
4128
- "name": "#searchableList",
4129
- "privacy": "private",
4130
- "type": {
4131
- "text": "ListItem[]"
4132
- },
4133
- "default": "[]"
4118
+ "default": "new FetchController(this)"
4134
4119
  },
4135
4120
  {
4136
4121
  "kind": "field",
@@ -4159,22 +4144,13 @@
4159
4144
  },
4160
4145
  "default": "null"
4161
4146
  },
4162
- {
4163
- "kind": "field",
4164
- "name": "#tagContainer",
4165
- "privacy": "private",
4166
- "type": {
4167
- "text": "HTMLDivElement | null"
4168
- },
4169
- "default": "null"
4170
- },
4171
4147
  {
4172
4148
  "kind": "field",
4173
4149
  "name": "label",
4174
4150
  "type": {
4175
4151
  "text": "string"
4176
4152
  },
4177
- "default": "'Search for Variables'",
4153
+ "default": "'Enter search terms (e.g., precipitation, AOD)'",
4178
4154
  "description": "Label the combobox with this.",
4179
4155
  "attribute": "label"
4180
4156
  },
@@ -4187,38 +4163,25 @@
4187
4163
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4188
4164
  "attribute": "placeholder"
4189
4165
  },
4190
- {
4191
- "kind": "field",
4192
- "name": "hideHelp",
4193
- "type": {
4194
- "text": "boolean"
4195
- },
4196
- "default": "false",
4197
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4198
- "attribute": "hide-help",
4199
- "reflects": true
4200
- },
4201
4166
  {
4202
4167
  "kind": "field",
4203
4168
  "name": "hideLabel",
4204
4169
  "type": {
4205
4170
  "text": "boolean"
4206
4171
  },
4207
- "default": "false",
4172
+ "default": "true",
4208
4173
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4209
- "attribute": "hide-label",
4210
- "reflects": true
4174
+ "attribute": "hide-label"
4211
4175
  },
4212
4176
  {
4213
4177
  "kind": "field",
4214
- "name": "useTags",
4178
+ "name": "searchConfig",
4215
4179
  "type": {
4216
- "text": "boolean"
4180
+ "text": "object"
4217
4181
  },
4218
- "default": "false",
4219
- "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4220
- "attribute": "use-tags",
4221
- "reflects": true
4182
+ "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4183
+ "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4184
+ "attribute": "searchConfig"
4222
4185
  },
4223
4186
  {
4224
4187
  "kind": "field",
@@ -4226,18 +4189,8 @@
4226
4189
  "type": {
4227
4190
  "text": "string"
4228
4191
  },
4229
- "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4230
4192
  "attribute": "value"
4231
4193
  },
4232
- {
4233
- "kind": "field",
4234
- "name": "bearerToken",
4235
- "type": {
4236
- "text": "string"
4237
- },
4238
- "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).",
4239
- "attribute": "bearer-token"
4240
- },
4241
4194
  {
4242
4195
  "kind": "field",
4243
4196
  "name": "isExpanded",
@@ -4258,28 +4211,12 @@
4258
4211
  },
4259
4212
  "default": "[]"
4260
4213
  },
4261
- {
4262
- "kind": "field",
4263
- "name": "tags",
4264
- "type": {
4265
- "text": "string[]"
4266
- },
4267
- "default": "[]"
4268
- },
4269
- {
4270
- "kind": "field",
4271
- "name": "tagContainerWidth",
4272
- "type": {
4273
- "text": "number"
4274
- },
4275
- "default": "0"
4276
- },
4277
4214
  {
4278
4215
  "kind": "method",
4279
4216
  "name": "valueChanged",
4280
4217
  "parameters": [
4281
4218
  {
4282
- "name": "oldValue",
4219
+ "name": "_oldValue",
4283
4220
  "type": {
4284
4221
  "text": "string"
4285
4222
  }
@@ -4290,8 +4227,7 @@
4290
4227
  "text": "string"
4291
4228
  }
4292
4229
  }
4293
- ],
4294
- "description": "This component's value is read by other components.\nInternally, the variable metdata has slight differences that require adapting."
4230
+ ]
4295
4231
  },
4296
4232
  {
4297
4233
  "kind": "method",
@@ -4305,16 +4241,6 @@
4305
4241
  "kind": "method",
4306
4242
  "name": "toggle"
4307
4243
  },
4308
- {
4309
- "kind": "field",
4310
- "name": "#dispatchChange",
4311
- "privacy": "private"
4312
- },
4313
- {
4314
- "kind": "field",
4315
- "name": "#handleButtonClick",
4316
- "privacy": "private"
4317
- },
4318
4244
  {
4319
4245
  "kind": "field",
4320
4246
  "name": "#handleComboboxChange",
@@ -4342,29 +4268,33 @@
4342
4268
  },
4343
4269
  {
4344
4270
  "kind": "method",
4345
- "name": "#renderTags",
4271
+ "name": "#handleSearch",
4346
4272
  "parameters": [
4347
4273
  {
4348
- "name": "tag",
4274
+ "name": "query",
4349
4275
  "type": {
4350
4276
  "text": "string"
4351
4277
  }
4352
- },
4353
- {
4354
- "name": "_index",
4355
- "type": {
4356
- "text": "number"
4357
- }
4358
4278
  }
4359
4279
  ]
4280
+ },
4281
+ {
4282
+ "kind": "method",
4283
+ "name": "#clearSearch"
4360
4284
  }
4361
4285
  ],
4362
4286
  "events": [
4363
4287
  {
4364
4288
  "description": "Emitted when an option is selected.",
4365
- "name": "terra-combobox-change",
4366
- "reactName": "onTerraComboboxChange",
4367
- "eventName": "TerraComboboxChangeEvent"
4289
+ "name": "terra-variable-keyword-search-change",
4290
+ "reactName": "onTerraVariableKeywordSearchChange",
4291
+ "eventName": "TerraVariableKeywordSearchChangeEvent"
4292
+ },
4293
+ {
4294
+ "description": "Emitted when the component is triggering a search (like a form triggering submit).",
4295
+ "name": "terra-search",
4296
+ "reactName": "onTerraSearch",
4297
+ "eventName": "TerraSearchEvent"
4368
4298
  }
4369
4299
  ],
4370
4300
  "attributes": [
@@ -4373,7 +4303,7 @@
4373
4303
  "type": {
4374
4304
  "text": "string"
4375
4305
  },
4376
- "default": "'Search for Variables'",
4306
+ "default": "'Enter search terms (e.g., precipitation, AOD)'",
4377
4307
  "description": "Label the combobox with this.",
4378
4308
  "fieldName": "label"
4379
4309
  },
@@ -4385,60 +4315,42 @@
4385
4315
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4386
4316
  "fieldName": "placeholder"
4387
4317
  },
4388
- {
4389
- "name": "hide-help",
4390
- "type": {
4391
- "text": "boolean"
4392
- },
4393
- "default": "false",
4394
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4395
- "fieldName": "hideHelp"
4396
- },
4397
4318
  {
4398
4319
  "name": "hide-label",
4399
4320
  "type": {
4400
4321
  "text": "boolean"
4401
4322
  },
4402
- "default": "false",
4323
+ "default": "true",
4403
4324
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4404
4325
  "fieldName": "hideLabel"
4405
4326
  },
4406
4327
  {
4407
- "name": "use-tags",
4328
+ "name": "searchConfig",
4408
4329
  "type": {
4409
- "text": "boolean"
4330
+ "text": "object"
4410
4331
  },
4411
- "default": "false",
4412
- "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4413
- "fieldName": "useTags"
4332
+ "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4333
+ "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4334
+ "fieldName": "searchConfig"
4414
4335
  },
4415
4336
  {
4416
4337
  "name": "value",
4417
4338
  "type": {
4418
4339
  "text": "string"
4419
4340
  },
4420
- "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4421
4341
  "fieldName": "value"
4422
- },
4423
- {
4424
- "name": "bearer-token",
4425
- "type": {
4426
- "text": "string"
4427
- },
4428
- "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).",
4429
- "fieldName": "bearerToken"
4430
4342
  }
4431
4343
  ],
4432
4344
  "superclass": {
4433
4345
  "name": "TerraElement",
4434
4346
  "module": "/src/internal/terra-element.js"
4435
4347
  },
4436
- "summary": "Fuzzy-search for dataset variables in combobox with list autocomplete.",
4437
- "tagNameWithoutPrefix": "variable-combobox",
4438
- "tagName": "terra-variable-combobox",
4348
+ "summary": "Fuzzy-search for dataset keywords in combobox with list autocomplete.",
4349
+ "tagNameWithoutPrefix": "variable-keyword-search",
4350
+ "tagName": "terra-variable-keyword-search",
4439
4351
  "customElement": true,
4440
- "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 */",
4441
- "documentation": "https://disc.gsfc.nasa.gov/components/variable-combobox",
4352
+ "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 */",
4353
+ "documentation": "https://disc.gsfc.nasa.gov/components/giovanni-serch",
4442
4354
  "status": "MVP",
4443
4355
  "since": "1.0"
4444
4356
  }
@@ -4448,25 +4360,29 @@
4448
4360
  "kind": "js",
4449
4361
  "name": "default",
4450
4362
  "declaration": {
4451
- "name": "TerraVariableCombobox",
4452
- "module": "components/variable-combobox/variable-combobox.js"
4363
+ "name": "TerraVariableKeywordSearch",
4364
+ "module": "components/variable-keyword-search/variable-keyword-search.js"
4453
4365
  }
4454
4366
  }
4455
4367
  ]
4456
4368
  },
4457
4369
  {
4458
4370
  "kind": "javascript-module",
4459
- "path": "components/variable-keyword-search/variable-keyword-search.js",
4371
+ "path": "components/variable-combobox/variable-combobox.js",
4460
4372
  "declarations": [
4461
4373
  {
4462
4374
  "kind": "class",
4463
4375
  "description": "",
4464
- "name": "TerraVariableKeywordSearch",
4376
+ "name": "TerraVariableCombobox",
4465
4377
  "cssProperties": [
4466
4378
  {
4467
4379
  "description": "The height of the host element.",
4468
4380
  "name": "--host-height"
4469
4381
  },
4382
+ {
4383
+ "description": "The height of the search help element.",
4384
+ "name": "--help-height"
4385
+ },
4470
4386
  {
4471
4387
  "description": "The height of the input's label element.",
4472
4388
  "name": "--label-height"
@@ -4516,7 +4432,7 @@
4516
4432
  "text": "string"
4517
4433
  },
4518
4434
  "static": true,
4519
- "default": "'terra-variable-keyword-search'"
4435
+ "default": "'terra-variable-combobox'"
4520
4436
  },
4521
4437
  {
4522
4438
  "kind": "field",
@@ -4540,7 +4456,18 @@
4540
4456
  "kind": "field",
4541
4457
  "name": "#fetchController",
4542
4458
  "privacy": "private",
4543
- "default": "new FetchController(this)"
4459
+ "type": {
4460
+ "text": "FetchController"
4461
+ }
4462
+ },
4463
+ {
4464
+ "kind": "field",
4465
+ "name": "#searchableList",
4466
+ "privacy": "private",
4467
+ "type": {
4468
+ "text": "ListItem[]"
4469
+ },
4470
+ "default": "[]"
4544
4471
  },
4545
4472
  {
4546
4473
  "kind": "field",
@@ -4569,13 +4496,22 @@
4569
4496
  },
4570
4497
  "default": "null"
4571
4498
  },
4499
+ {
4500
+ "kind": "field",
4501
+ "name": "#tagContainer",
4502
+ "privacy": "private",
4503
+ "type": {
4504
+ "text": "HTMLDivElement | null"
4505
+ },
4506
+ "default": "null"
4507
+ },
4572
4508
  {
4573
4509
  "kind": "field",
4574
4510
  "name": "label",
4575
4511
  "type": {
4576
4512
  "text": "string"
4577
4513
  },
4578
- "default": "'Enter search terms (e.g., precipitation, AOD)'",
4514
+ "default": "'Search for Variables'",
4579
4515
  "description": "Label the combobox with this.",
4580
4516
  "attribute": "label"
4581
4517
  },
@@ -4588,25 +4524,38 @@
4588
4524
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4589
4525
  "attribute": "placeholder"
4590
4526
  },
4527
+ {
4528
+ "kind": "field",
4529
+ "name": "hideHelp",
4530
+ "type": {
4531
+ "text": "boolean"
4532
+ },
4533
+ "default": "false",
4534
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4535
+ "attribute": "hide-help",
4536
+ "reflects": true
4537
+ },
4591
4538
  {
4592
4539
  "kind": "field",
4593
4540
  "name": "hideLabel",
4594
4541
  "type": {
4595
4542
  "text": "boolean"
4596
4543
  },
4597
- "default": "true",
4544
+ "default": "false",
4598
4545
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4599
- "attribute": "hide-label"
4546
+ "attribute": "hide-label",
4547
+ "reflects": true
4600
4548
  },
4601
4549
  {
4602
4550
  "kind": "field",
4603
- "name": "searchConfig",
4551
+ "name": "useTags",
4604
4552
  "type": {
4605
- "text": "object"
4553
+ "text": "boolean"
4606
4554
  },
4607
- "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4608
- "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4609
- "attribute": "searchConfig"
4555
+ "default": "false",
4556
+ "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4557
+ "attribute": "use-tags",
4558
+ "reflects": true
4610
4559
  },
4611
4560
  {
4612
4561
  "kind": "field",
@@ -4614,8 +4563,18 @@
4614
4563
  "type": {
4615
4564
  "text": "string"
4616
4565
  },
4566
+ "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4617
4567
  "attribute": "value"
4618
4568
  },
4569
+ {
4570
+ "kind": "field",
4571
+ "name": "bearerToken",
4572
+ "type": {
4573
+ "text": "string"
4574
+ },
4575
+ "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).",
4576
+ "attribute": "bearer-token"
4577
+ },
4619
4578
  {
4620
4579
  "kind": "field",
4621
4580
  "name": "isExpanded",
@@ -4636,12 +4595,28 @@
4636
4595
  },
4637
4596
  "default": "[]"
4638
4597
  },
4598
+ {
4599
+ "kind": "field",
4600
+ "name": "tags",
4601
+ "type": {
4602
+ "text": "string[]"
4603
+ },
4604
+ "default": "[]"
4605
+ },
4606
+ {
4607
+ "kind": "field",
4608
+ "name": "tagContainerWidth",
4609
+ "type": {
4610
+ "text": "number"
4611
+ },
4612
+ "default": "0"
4613
+ },
4639
4614
  {
4640
4615
  "kind": "method",
4641
4616
  "name": "valueChanged",
4642
4617
  "parameters": [
4643
4618
  {
4644
- "name": "_oldValue",
4619
+ "name": "oldValue",
4645
4620
  "type": {
4646
4621
  "text": "string"
4647
4622
  }
@@ -4652,7 +4627,8 @@
4652
4627
  "text": "string"
4653
4628
  }
4654
4629
  }
4655
- ]
4630
+ ],
4631
+ "description": "This component's value is read by other components.\nInternally, the variable metdata has slight differences that require adapting."
4656
4632
  },
4657
4633
  {
4658
4634
  "kind": "method",
@@ -4666,6 +4642,16 @@
4666
4642
  "kind": "method",
4667
4643
  "name": "toggle"
4668
4644
  },
4645
+ {
4646
+ "kind": "field",
4647
+ "name": "#dispatchChange",
4648
+ "privacy": "private"
4649
+ },
4650
+ {
4651
+ "kind": "field",
4652
+ "name": "#handleButtonClick",
4653
+ "privacy": "private"
4654
+ },
4669
4655
  {
4670
4656
  "kind": "field",
4671
4657
  "name": "#handleComboboxChange",
@@ -4693,33 +4679,29 @@
4693
4679
  },
4694
4680
  {
4695
4681
  "kind": "method",
4696
- "name": "#handleSearch",
4682
+ "name": "#renderTags",
4697
4683
  "parameters": [
4698
4684
  {
4699
- "name": "query",
4685
+ "name": "tag",
4700
4686
  "type": {
4701
4687
  "text": "string"
4702
4688
  }
4689
+ },
4690
+ {
4691
+ "name": "_index",
4692
+ "type": {
4693
+ "text": "number"
4694
+ }
4703
4695
  }
4704
4696
  ]
4705
- },
4706
- {
4707
- "kind": "method",
4708
- "name": "#clearSearch"
4709
4697
  }
4710
4698
  ],
4711
4699
  "events": [
4712
4700
  {
4713
4701
  "description": "Emitted when an option is selected.",
4714
- "name": "terra-variable-keyword-search-change",
4715
- "reactName": "onTerraVariableKeywordSearchChange",
4716
- "eventName": "TerraVariableKeywordSearchChangeEvent"
4717
- },
4718
- {
4719
- "description": "Emitted when the component is triggering a search (like a form triggering submit).",
4720
- "name": "terra-search",
4721
- "reactName": "onTerraSearch",
4722
- "eventName": "TerraSearchEvent"
4702
+ "name": "terra-combobox-change",
4703
+ "reactName": "onTerraComboboxChange",
4704
+ "eventName": "TerraComboboxChangeEvent"
4723
4705
  }
4724
4706
  ],
4725
4707
  "attributes": [
@@ -4728,7 +4710,7 @@
4728
4710
  "type": {
4729
4711
  "text": "string"
4730
4712
  },
4731
- "default": "'Enter search terms (e.g., precipitation, AOD)'",
4713
+ "default": "'Search for Variables'",
4732
4714
  "description": "Label the combobox with this.",
4733
4715
  "fieldName": "label"
4734
4716
  },
@@ -4740,42 +4722,60 @@
4740
4722
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
4741
4723
  "fieldName": "placeholder"
4742
4724
  },
4725
+ {
4726
+ "name": "hide-help",
4727
+ "type": {
4728
+ "text": "boolean"
4729
+ },
4730
+ "default": "false",
4731
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
4732
+ "fieldName": "hideHelp"
4733
+ },
4743
4734
  {
4744
4735
  "name": "hide-label",
4745
4736
  "type": {
4746
4737
  "text": "boolean"
4747
4738
  },
4748
- "default": "true",
4739
+ "default": "false",
4749
4740
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
4750
4741
  "fieldName": "hideLabel"
4751
4742
  },
4752
4743
  {
4753
- "name": "searchConfig",
4744
+ "name": "use-tags",
4754
4745
  "type": {
4755
- "text": "object"
4746
+ "text": "boolean"
4756
4747
  },
4757
- "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
4758
- "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
4759
- "fieldName": "searchConfig"
4748
+ "default": "false",
4749
+ "description": "Determines if the variable combobox uses tags or plain text to display the query.",
4750
+ "fieldName": "useTags"
4760
4751
  },
4761
4752
  {
4762
4753
  "name": "value",
4763
4754
  "type": {
4764
4755
  "text": "string"
4765
4756
  },
4757
+ "description": "Represents the EntryID (<collection-name>_<variable-name>) of the selected variable.\nOther components (like the time-series graphing component) will use this.",
4766
4758
  "fieldName": "value"
4759
+ },
4760
+ {
4761
+ "name": "bearer-token",
4762
+ "type": {
4763
+ "text": "string"
4764
+ },
4765
+ "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).",
4766
+ "fieldName": "bearerToken"
4767
4767
  }
4768
4768
  ],
4769
4769
  "superclass": {
4770
4770
  "name": "TerraElement",
4771
4771
  "module": "/src/internal/terra-element.js"
4772
4772
  },
4773
- "summary": "Fuzzy-search for dataset keywords in combobox with list autocomplete.",
4774
- "tagNameWithoutPrefix": "variable-keyword-search",
4775
- "tagName": "terra-variable-keyword-search",
4773
+ "summary": "Fuzzy-search for dataset variables in combobox with list autocomplete.",
4774
+ "tagNameWithoutPrefix": "variable-combobox",
4775
+ "tagName": "terra-variable-combobox",
4776
4776
  "customElement": true,
4777
- "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 */",
4778
- "documentation": "https://disc.gsfc.nasa.gov/components/giovanni-serch",
4777
+ "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 */",
4778
+ "documentation": "https://disc.gsfc.nasa.gov/components/variable-combobox",
4779
4779
  "status": "MVP",
4780
4780
  "since": "1.0"
4781
4781
  }
@@ -4785,8 +4785,8 @@
4785
4785
  "kind": "js",
4786
4786
  "name": "default",
4787
4787
  "declaration": {
4788
- "name": "TerraVariableKeywordSearch",
4789
- "module": "components/variable-keyword-search/variable-keyword-search.js"
4788
+ "name": "TerraVariableCombobox",
4789
+ "module": "components/variable-combobox/variable-combobox.js"
4790
4790
  }
4791
4791
  }
4792
4792
  ]
@@ -4795,7 +4795,7 @@
4795
4795
  "package": {
4796
4796
  "name": "@nasa-terra/components",
4797
4797
  "description": "A collection of NASA Earthdata components",
4798
- "version": "0.0.36",
4798
+ "version": "0.0.37",
4799
4799
  "author": "NASA GES DISC <https://disc.gsfc.nasa.gov>",
4800
4800
  "homepage": "https://github.com/gesdisc/components",
4801
4801
  "license": "MIT"