@nasa-terra/components 0.0.26 → 0.0.28

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.2X75ZZLQ.js → cdn/chunks/chunk.3HD7UWOY.js} +1 -1
  2. package/{dist/chunks/chunk.57W5VBEO.js → cdn/chunks/chunk.3UV7J4NS.js} +1 -1
  3. package/cdn/chunks/{chunk.4Y2XZHOW.js → chunk.4EVDB43F.js} +1 -1
  4. package/cdn/chunks/{chunk.M23LLNBH.js → chunk.62GBI6QT.js} +1 -1
  5. package/cdn/chunks/{chunk.BTRRDJYE.js → chunk.7HMPNDZ7.js} +5 -5
  6. package/{dist/chunks/chunk.VBXSUGD5.js → cdn/chunks/chunk.7KRDHUCY.js} +1 -1
  7. package/{dist/chunks/chunk.N6A7YKMO.js → cdn/chunks/chunk.BBIKP4JR.js} +1 -1
  8. package/cdn/chunks/{chunk.G6BCFX7H.js → chunk.BJPGEPX5.js} +6 -6
  9. package/{dist/chunks/chunk.GYUNWNI5.js → cdn/chunks/chunk.BV73CHWI.js} +1 -1
  10. package/{dist/chunks/chunk.B5HKOLNS.js → cdn/chunks/chunk.BXU5Y5OZ.js} +1 -1
  11. package/cdn/chunks/{chunk.6J75BP7M.js → chunk.EFB7PCTH.js} +2 -2
  12. package/cdn/chunks/{chunk.DBZQEOZ6.js → chunk.FHRITYAX.js} +5 -5
  13. package/cdn/chunks/{chunk.XG57XCVO.js → chunk.FTKIGK4N.js} +1 -1
  14. package/{dist/chunks/chunk.TUDFCBZS.js → cdn/chunks/chunk.G27NYAJE.js} +1 -1
  15. package/cdn/chunks/{chunk.Q5HMW6TJ.js → chunk.GNUHUURH.js} +1 -1
  16. package/{dist/chunks/chunk.BO5W5LTB.js → cdn/chunks/chunk.GZJAGA5O.js} +1 -1
  17. package/{dist/chunks/chunk.X2Z2VINK.js → cdn/chunks/chunk.H2D77WCA.js} +1 -1
  18. package/cdn/chunks/{chunk.PEK237NB.js → chunk.HJ7JKW2H.js} +1 -1
  19. package/cdn/chunks/{chunk.V2OTUB7Z.js → chunk.HLB5FXXP.js} +4 -4
  20. package/{dist/chunks/chunk.H4GWKCFO.js → cdn/chunks/chunk.IHMMIQUE.js} +1 -1
  21. package/cdn/chunks/{chunk.FPDMMBW3.js → chunk.J5Z627YC.js} +1 -1
  22. package/cdn/chunks/{chunk.V4LDLIEP.js → chunk.J6WSHQ5Q.js} +1 -1
  23. package/cdn/chunks/{chunk.ESFWCSLU.js → chunk.JU3ZZBBB.js} +1 -1
  24. package/cdn/chunks/{chunk.H7QEWEBY.js → chunk.KUXDAFVJ.js} +1 -1
  25. package/cdn/chunks/{chunk.C5FGIZP6.js → chunk.L7N5QVXS.js} +1 -1
  26. package/cdn/chunks/{chunk.NLGYM5TP.js → chunk.LUOLRKWX.js} +1 -1
  27. package/cdn/chunks/{chunk.XC2AJXDM.js → chunk.NDS73VML.js} +1 -1
  28. package/cdn/chunks/{chunk.K5J4AMTL.js → chunk.NRZDN5FZ.js} +1 -1
  29. package/cdn/chunks/{chunk.P2F6DDWJ.js → chunk.OZGXZ6SJ.js} +1 -1
  30. package/{dist/chunks/chunk.RVEGAWIA.js → cdn/chunks/chunk.PV2DGFKE.js} +1 -1
  31. package/cdn/chunks/{chunk.HRKAFTTC.js → chunk.QLA6P3MD.js} +1 -1
  32. package/cdn/chunks/{chunk.MNJC4JAE.js → chunk.QYO3IJOM.js} +1 -1
  33. package/cdn/chunks/{chunk.RFS2YAFQ.js → chunk.RFBPASU3.js} +1 -1
  34. package/cdn/chunks/{chunk.ZWMWIUFF.js → chunk.RYLLQ2FS.js} +1 -1
  35. package/cdn/chunks/{chunk.VOHHSPSQ.js → chunk.TZXF56RJ.js} +1 -1
  36. package/{dist/chunks/chunk.IZEUBMQD.js → cdn/chunks/chunk.U4OTGK5Z.js} +1 -1
  37. package/cdn/chunks/{chunk.XCU6YMPU.js → chunk.UC5RYUJR.js} +1 -1
  38. package/cdn/chunks/{chunk.A3E2LIAV.js → chunk.UT24LBP4.js} +1 -1
  39. package/cdn/chunks/{chunk.7PZBUHYR.js → chunk.UY7CYM6H.js} +4 -4
  40. package/cdn/chunks/{chunk.ZUDEKNN6.js → chunk.VBURDFNR.js} +1 -1
  41. package/cdn/chunks/{chunk.TCP35LGY.js → chunk.VVLMKALV.js} +10 -10
  42. package/cdn/chunks/{chunk.5YUWKJCI.js → chunk.WS4QAZPT.js} +4 -4
  43. package/cdn/chunks/{chunk.V5GY4VGG.js → chunk.WSIWHQE2.js} +1 -1
  44. package/cdn/chunks/{chunk.TLIHKASV.js → chunk.X6AXQLXY.js} +1 -1
  45. package/cdn/chunks/{chunk.7TA5PWO7.js → chunk.XDSEOAHX.js} +1 -1
  46. package/cdn/chunks/{chunk.4P3HFU2W.js → chunk.XFGEL6QK.js} +1 -1
  47. package/{dist/chunks/chunk.5DBTQCSS.js → cdn/chunks/chunk.XOS5IDL7.js} +1 -1
  48. package/{dist/chunks/chunk.Z3UHCKI6.js → cdn/chunks/chunk.YMXQL4JQ.js} +1 -1
  49. package/{dist/chunks/chunk.37O2PHBO.js → cdn/chunks/chunk.Z7X6Y5A2.js} +1 -1
  50. package/cdn/chunks/{chunk.PLNSRGRU.js → chunk.ZVDBX7MJ.js} +50 -9
  51. package/cdn/components/browse-variables/browse-variables.component.d.ts +8 -4
  52. package/cdn/components/browse-variables/browse-variables.component.js +11 -11
  53. package/cdn/components/browse-variables/browse-variables.js +12 -12
  54. package/cdn/components/browse-variables/browse-variables.styles.js +1 -1
  55. package/cdn/components/button/button.component.js +3 -3
  56. package/cdn/components/button/button.js +4 -4
  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-range-slider/date-range-slider.component.js +3 -3
  62. package/cdn/components/date-range-slider/date-range-slider.js +4 -4
  63. package/cdn/components/dialog/dialog.component.js +2 -2
  64. package/cdn/components/dialog/dialog.js +3 -3
  65. package/cdn/components/giovanni-search/giovanni-search.component.js +7 -7
  66. package/cdn/components/giovanni-search/giovanni-search.js +8 -8
  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 +9 -9
  72. package/cdn/components/login/login.js +10 -10
  73. package/cdn/components/map/map.component.js +4 -4
  74. package/cdn/components/map/map.js +5 -5
  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 +5 -5
  80. package/cdn/components/spatial-picker/spatial-picker.js +6 -6
  81. package/cdn/components/time-series/time-series.component.js +18 -18
  82. package/cdn/components/time-series/time-series.js +19 -19
  83. package/cdn/components/variable-combobox/variable-combobox.component.js +7 -7
  84. package/cdn/components/variable-combobox/variable-combobox.js +8 -8
  85. package/cdn/custom-elements.json +1641 -1611
  86. package/cdn/events/events.d.ts +1 -0
  87. package/cdn/events/terra-variables-change.d.ts +11 -0
  88. package/cdn/react/browse-variables/index.d.ts +2 -0
  89. package/cdn/react/browse-variables/index.js +12 -12
  90. package/cdn/react/button/index.js +4 -4
  91. package/cdn/react/chip/index.js +3 -3
  92. package/cdn/react/combobox/index.js +5 -5
  93. package/cdn/react/date-range-slider/index.js +4 -4
  94. package/cdn/react/dialog/index.js +3 -3
  95. package/cdn/react/giovanni-search/index.js +8 -8
  96. package/cdn/react/icon/index.js +3 -3
  97. package/cdn/react/index.d.ts +6 -6
  98. package/cdn/react/index.js +54 -54
  99. package/cdn/react/loader/index.js +3 -3
  100. package/cdn/react/login/index.js +10 -10
  101. package/cdn/react/map/index.js +5 -5
  102. package/cdn/react/plot/index.js +3 -3
  103. package/cdn/react/skeleton/index.js +3 -3
  104. package/cdn/react/spatial-picker/index.js +6 -6
  105. package/cdn/react/time-series/index.js +19 -19
  106. package/cdn/react/variable-combobox/index.js +8 -8
  107. package/cdn/terra-ui-components.js +53 -53
  108. package/cdn/types/vue/index.d.ts +72 -70
  109. package/cdn/vscode.html-custom-data.json +225 -225
  110. package/cdn/web-types.json +137 -136
  111. package/dist/chunks/{chunk.ZQ3NM75L.js → chunk.2DR7AOXV.js} +8 -8
  112. package/dist/chunks/{chunk.EIBEZPY7.js → chunk.2YTUB26Y.js} +4 -4
  113. package/dist/chunks/{chunk.GMT6YDPY.js → chunk.3JTY44U5.js} +1 -1
  114. package/dist/chunks/{chunk.Q7ULZ54S.js → chunk.3XWMFIDR.js} +1 -1
  115. package/{cdn/chunks/chunk.U35LI4FR.js → dist/chunks/chunk.45IIE366.js} +1 -1
  116. package/dist/chunks/{chunk.P7XJGRLR.js → chunk.57CKTAKD.js} +1 -1
  117. package/dist/chunks/{chunk.XL3L3MUX.js → chunk.6CNTOUYU.js} +1 -1
  118. package/dist/chunks/{chunk.SEHDRBMF.js → chunk.AHXY2G3S.js} +3 -3
  119. package/{cdn/chunks/chunk.6YL7VVDD.js → dist/chunks/chunk.AKUZJAAB.js} +1 -1
  120. package/dist/chunks/{chunk.J7IVLPJN.js → chunk.B354HQX3.js} +1 -1
  121. package/{cdn/chunks/chunk.OCW3MYR2.js → dist/chunks/chunk.BAW62HAI.js} +1 -1
  122. package/dist/chunks/{chunk.3VRBGLE2.js → chunk.BBBBXFP7.js} +1 -1
  123. package/{cdn/chunks/chunk.EAQZEXSN.js → dist/chunks/chunk.C55HOKOF.js} +1 -1
  124. package/dist/chunks/{chunk.MDEB64TY.js → chunk.CMRBFBGC.js} +1 -1
  125. package/dist/chunks/{chunk.VVDSM7KF.js → chunk.DNBZHQCS.js} +1 -1
  126. package/dist/chunks/{chunk.SZAFOVHD.js → chunk.GGDI4FYM.js} +1 -1
  127. package/dist/chunks/{chunk.2RJWA6A5.js → chunk.H3GFAQRD.js} +1 -1
  128. package/{cdn/chunks/chunk.JOEFLMNA.js → dist/chunks/chunk.HW7XMY7Q.js} +1 -1
  129. package/dist/chunks/{chunk.6SZJNBMQ.js → chunk.JBYILTM5.js} +51 -10
  130. package/{cdn/chunks/chunk.L5JOHXYO.js → dist/chunks/chunk.KKVE6GYM.js} +1 -1
  131. package/{cdn/chunks/chunk.67YIRH3F.js → dist/chunks/chunk.KSPUBDVK.js} +1 -1
  132. package/dist/chunks/{chunk.WXSIO4M2.js → chunk.LNNN6HUD.js} +1 -1
  133. package/dist/chunks/{chunk.IUJHXLVB.js → chunk.LRQHWB6Z.js} +1 -1
  134. package/dist/chunks/{chunk.B2K5RQP6.js → chunk.M7X6L73X.js} +4 -4
  135. package/dist/chunks/{chunk.2O33NVOZ.js → chunk.MWWHP5QZ.js} +1 -1
  136. package/dist/chunks/{chunk.GUAQQMEX.js → chunk.N2G44XSE.js} +1 -1
  137. package/dist/chunks/{chunk.PYOU5GNJ.js → chunk.ODML5V7N.js} +1 -1
  138. package/dist/chunks/{chunk.UWXRT3ND.js → chunk.OTJZTTGR.js} +1 -1
  139. package/dist/chunks/{chunk.AXVUNFLN.js → chunk.OVNPXBMH.js} +1 -1
  140. package/dist/chunks/{chunk.5A2NXDXH.js → chunk.OWKK3WI5.js} +4 -4
  141. package/{cdn/chunks/chunk.R6TKKO7W.js → dist/chunks/chunk.PYASQ3KP.js} +1 -1
  142. package/{cdn/chunks/chunk.JK46F3H5.js → dist/chunks/chunk.QKNJPUV2.js} +1 -1
  143. package/{cdn/chunks/chunk.HRFPL7LF.js → dist/chunks/chunk.RMRXPLYU.js} +1 -1
  144. package/dist/chunks/{chunk.35BNTLUN.js → chunk.RN4JYU64.js} +1 -1
  145. package/dist/chunks/{chunk.CAMWZJYR.js → chunk.RXW75JRD.js} +1 -1
  146. package/dist/chunks/{chunk.VPKY57X5.js → chunk.SJ2EYIT4.js} +1 -1
  147. package/dist/chunks/{chunk.GAC7ING2.js → chunk.UDQPMSMV.js} +4 -4
  148. package/{cdn/chunks/chunk.O573SJZ2.js → dist/chunks/chunk.UOEEUBBI.js} +1 -1
  149. package/{cdn/chunks/chunk.GQ7DLRBI.js → dist/chunks/chunk.W6BJQIXK.js} +1 -1
  150. package/dist/chunks/{chunk.A6MFFTZ4.js → chunk.WTIVIDST.js} +1 -1
  151. package/{cdn/chunks/chunk.IJC2FL2T.js → dist/chunks/chunk.X46ZFGC5.js} +1 -1
  152. package/dist/chunks/{chunk.TEDHW6IL.js → chunk.XNA5WILN.js} +1 -1
  153. package/dist/chunks/{chunk.P7IYYL6V.js → chunk.YITM63NC.js} +1 -1
  154. package/dist/chunks/{chunk.K3YKIOJT.js → chunk.Z453VB2M.js} +1 -1
  155. package/{cdn/chunks/chunk.GEK7UUOR.js → dist/chunks/chunk.ZCE7WDGF.js} +1 -1
  156. package/dist/chunks/{chunk.XYXKKZTD.js → chunk.ZE6TVUI6.js} +2 -2
  157. package/dist/chunks/{chunk.BB4IASWR.js → chunk.ZFBPPPQJ.js} +1 -1
  158. package/dist/chunks/{chunk.ICEKDMA2.js → chunk.ZS6I6OXY.js} +1 -1
  159. package/{cdn/chunks/chunk.BOGJSWIT.js → dist/chunks/chunk.ZW7MRBHK.js} +1 -1
  160. package/dist/chunks/{chunk.YCV4LGKI.js → chunk.ZYTY3FFF.js} +3 -3
  161. package/dist/components/browse-variables/browse-variables.component.d.ts +8 -4
  162. package/dist/components/browse-variables/browse-variables.component.js +10 -10
  163. package/dist/components/browse-variables/browse-variables.js +11 -11
  164. package/dist/components/browse-variables/browse-variables.styles.js +1 -1
  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-range-slider/date-range-slider.component.js +3 -3
  172. package/dist/components/date-range-slider/date-range-slider.js +4 -4
  173. package/dist/components/dialog/dialog.component.js +2 -2
  174. package/dist/components/dialog/dialog.js +3 -3
  175. package/dist/components/giovanni-search/giovanni-search.component.js +6 -6
  176. package/dist/components/giovanni-search/giovanni-search.js +7 -7
  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 +3 -3
  184. package/dist/components/map/map.js +4 -4
  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 +4 -4
  190. package/dist/components/spatial-picker/spatial-picker.js +5 -5
  191. package/dist/components/time-series/time-series.component.js +15 -15
  192. package/dist/components/time-series/time-series.js +16 -16
  193. package/dist/components/variable-combobox/variable-combobox.component.js +6 -6
  194. package/dist/components/variable-combobox/variable-combobox.js +7 -7
  195. package/dist/custom-elements.json +1641 -1611
  196. package/dist/events/events.d.ts +1 -0
  197. package/dist/events/terra-variables-change.d.ts +11 -0
  198. package/dist/react/browse-variables/index.d.ts +2 -0
  199. package/dist/react/browse-variables/index.js +11 -11
  200. package/dist/react/button/index.js +3 -3
  201. package/dist/react/chip/index.js +3 -3
  202. package/dist/react/combobox/index.js +4 -4
  203. package/dist/react/date-range-slider/index.js +4 -4
  204. package/dist/react/dialog/index.js +3 -3
  205. package/dist/react/giovanni-search/index.js +7 -7
  206. package/dist/react/icon/index.js +3 -3
  207. package/dist/react/index.d.ts +6 -6
  208. package/dist/react/index.js +51 -51
  209. package/dist/react/loader/index.js +3 -3
  210. package/dist/react/login/index.js +9 -9
  211. package/dist/react/map/index.js +4 -4
  212. package/dist/react/plot/index.js +3 -3
  213. package/dist/react/skeleton/index.js +3 -3
  214. package/dist/react/spatial-picker/index.js +5 -5
  215. package/dist/react/time-series/index.js +16 -16
  216. package/dist/react/variable-combobox/index.js +7 -7
  217. package/dist/terra-ui-components.js +48 -48
  218. package/dist/{terra_ui_components-0.0.26-py3-none-any.whl → terra_ui_components-0.0.28-py3-none-any.whl} +0 -0
  219. package/dist/{terra_ui_components-0.0.26.tar.gz → terra_ui_components-0.0.28.tar.gz} +0 -0
  220. package/dist/types/vue/index.d.ts +72 -70
  221. package/dist/vscode.html-custom-data.json +225 -225
  222. package/dist/web-types.json +137 -136
  223. package/package.json +1 -1
@@ -4,695 +4,493 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "components/button/button.js",
7
+ "path": "components/chip/chip.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
- ],
12
+ "name": "TerraChip",
39
13
  "slots": [
40
14
  {
41
- "description": "The button's label.",
15
+ "description": "The chip's label.",
42
16
  "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
17
  }
52
18
  ],
53
19
  "members": [
54
20
  {
55
21
  "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",
78
- "type": {
79
- "text": "boolean"
80
- },
81
- "privacy": "private",
82
- "default": "false"
83
- },
84
- {
85
- "kind": "field",
86
- "name": "invalid",
87
- "type": {
88
- "text": "boolean"
89
- },
90
- "default": "false"
91
- },
92
- {
93
- "kind": "field",
94
- "name": "title",
95
- "type": {
96
- "text": "string"
97
- },
98
- "default": "''",
99
- "attribute": "title"
100
- },
101
- {
102
- "kind": "field",
103
- "name": "variant",
22
+ "name": "size",
104
23
  "type": {
105
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
24
+ "text": "'small' | 'medium' | 'large'"
106
25
  },
107
- "default": "'primary'",
108
- "description": "The button's theme variant.",
109
- "attribute": "variant",
26
+ "default": "'medium'",
27
+ "attribute": "size",
110
28
  "reflects": true
111
29
  },
112
30
  {
113
31
  "kind": "field",
32
+ "name": "#handleRemoveClick",
33
+ "privacy": "private"
34
+ }
35
+ ],
36
+ "attributes": [
37
+ {
114
38
  "name": "size",
115
39
  "type": {
116
40
  "text": "'small' | 'medium' | 'large'"
117
41
  },
118
42
  "default": "'medium'",
119
- "description": "The button's size.",
120
- "attribute": "size",
121
- "reflects": true
122
- },
43
+ "fieldName": "size"
44
+ }
45
+ ],
46
+ "superclass": {
47
+ "name": "TerraElement",
48
+ "module": "/src/internal/terra-element.js"
49
+ },
50
+ "summary": "Used for contacts and tags",
51
+ "tagNameWithoutPrefix": "chip",
52
+ "tagName": "terra-chip",
53
+ "customElement": true,
54
+ "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 */",
55
+ "documentation": "https://disc.gsfc.nasa.gov/components/chip",
56
+ "status": "stable",
57
+ "since": "1.0"
58
+ }
59
+ ],
60
+ "exports": [
61
+ {
62
+ "kind": "js",
63
+ "name": "default",
64
+ "declaration": {
65
+ "name": "TerraChip",
66
+ "module": "components/chip/chip.js"
67
+ }
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "kind": "javascript-module",
73
+ "path": "components/browse-variables/browse-variables.js",
74
+ "declarations": [
75
+ {
76
+ "kind": "class",
77
+ "description": "",
78
+ "name": "TerraBrowseVariables",
79
+ "members": [
123
80
  {
124
81
  "kind": "field",
125
- "name": "caret",
82
+ "name": "dependencies",
126
83
  "type": {
127
- "text": "boolean"
84
+ "text": "object"
128
85
  },
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
86
+ "static": true,
87
+ "default": "{\n 'terra-giovanni-search': TerraGiovanniSearch,\n 'terra-button': TerraButton,\n 'terra-skeleton': TerraSkeleton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
133
88
  },
134
89
  {
135
90
  "kind": "field",
136
- "name": "shape",
91
+ "name": "catalog",
137
92
  "type": {
138
- "text": "'square' | 'square-left' | 'square-right'"
93
+ "text": "'giovanni'"
139
94
  },
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
95
+ "default": "'giovanni'",
96
+ "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
97
+ "attribute": "catalog"
143
98
  },
144
99
  {
145
100
  "kind": "field",
146
- "name": "disabled",
101
+ "name": "searchQuery",
147
102
  "type": {
148
- "text": "boolean"
149
- },
150
- "default": "false",
151
- "description": "Disables the button.",
152
- "attribute": "disabled",
153
- "reflects": true
103
+ "text": "string"
104
+ }
154
105
  },
155
106
  {
156
107
  "kind": "field",
157
- "name": "loading",
108
+ "name": "selectedFacets",
158
109
  "type": {
159
- "text": "boolean"
110
+ "text": "SelectedFacets"
160
111
  },
161
- "default": "false",
162
- "description": "Draws the button in a loading state.",
163
- "attribute": "loading",
164
- "reflects": true
112
+ "default": "{}"
165
113
  },
166
114
  {
167
115
  "kind": "field",
168
- "name": "outline",
116
+ "name": "selectedVariables",
169
117
  "type": {
170
- "text": "boolean"
118
+ "text": "Variable[]"
171
119
  },
172
- "default": "false",
173
- "description": "Draws an outlined button.",
174
- "attribute": "outline",
175
- "reflects": true
120
+ "default": "[]"
176
121
  },
177
122
  {
178
123
  "kind": "field",
179
- "name": "circle",
124
+ "name": "showVariablesBrowse",
180
125
  "type": {
181
126
  "text": "boolean"
182
127
  },
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
128
+ "default": "false"
187
129
  },
188
130
  {
189
131
  "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"
132
+ "name": "#controller",
133
+ "privacy": "private",
134
+ "default": "new BrowseVariablesController(this)"
197
135
  },
198
136
  {
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"
137
+ "kind": "method",
138
+ "name": "handleSelectedVariablesChange"
207
139
  },
208
140
  {
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"
141
+ "kind": "method",
142
+ "name": "reset"
217
143
  },
218
144
  {
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"
145
+ "kind": "method",
146
+ "name": "handleObservationChange"
227
147
  },
228
148
  {
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
149
+ "kind": "method",
150
+ "name": "toggleFacetSelect",
151
+ "parameters": [
152
+ {
153
+ "name": "event",
154
+ "type": {
155
+ "text": "Event"
156
+ }
157
+ }
158
+ ]
339
159
  },
340
160
  {
341
161
  "kind": "method",
342
- "name": "#handleDialogStateChange",
162
+ "name": "handleSearch",
343
163
  "parameters": [
344
164
  {
345
165
  "name": "e",
346
166
  "type": {
347
- "text": "TerraDialogShowEvent | TerraDialogHideEvent"
167
+ "text": "TerraGiovanniSearchChangeEvent"
348
168
  }
349
169
  }
350
170
  ]
351
171
  },
352
172
  {
353
173
  "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"
174
+ "name": "#selectFacetField",
175
+ "parameters": [
176
+ {
177
+ "name": "facet",
178
+ "type": {
179
+ "text": "string"
180
+ }
181
+ },
182
+ {
183
+ "name": "field",
184
+ "type": {
185
+ "text": "string"
186
+ }
187
+ },
188
+ {
189
+ "name": "selectOneFieldAtATime",
190
+ "default": "false",
191
+ "type": {
192
+ "text": "boolean"
193
+ }
194
+ }
195
+ ],
196
+ "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"
366
197
  },
367
198
  {
368
199
  "kind": "method",
369
- "name": "handleInvalid",
370
- "privacy": "private",
200
+ "name": "#clearFacet",
371
201
  "parameters": [
372
202
  {
373
- "name": "event",
203
+ "name": "facet",
374
204
  "type": {
375
- "text": "Event"
205
+ "text": "string"
376
206
  }
377
207
  }
378
208
  ]
379
209
  },
380
210
  {
381
211
  "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",
212
+ "name": "#unselectFacetField",
402
213
  "parameters": [
403
214
  {
404
- "name": "options",
405
- "optional": true,
215
+ "name": "facet",
406
216
  "type": {
407
- "text": "FocusOptions"
217
+ "text": "string"
218
+ }
219
+ },
220
+ {
221
+ "name": "field",
222
+ "type": {
223
+ "text": "string"
408
224
  }
409
225
  }
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."
226
+ ]
422
227
  },
423
228
  {
424
229
  "kind": "method",
425
- "name": "getForm",
426
- "return": {
427
- "type": {
428
- "text": "HTMLFormElement | null"
230
+ "name": "#handleVariableSelection",
231
+ "parameters": [
232
+ {
233
+ "name": "variable",
234
+ "type": {
235
+ "text": "Variable"
236
+ }
237
+ },
238
+ {
239
+ "name": "checked",
240
+ "type": {
241
+ "text": "Boolean"
242
+ }
429
243
  }
430
- },
431
- "description": "Gets the associated form, if one exists."
244
+ ]
432
245
  },
433
246
  {
434
247
  "kind": "method",
435
- "name": "reportValidity",
436
- "description": "Checks for validity and shows the browser's validation message if the control is invalid."
248
+ "name": "#renderCategorySelect"
437
249
  },
438
250
  {
439
251
  "kind": "method",
440
- "name": "setCustomValidity",
252
+ "name": "#renderFacet",
441
253
  "parameters": [
442
254
  {
443
- "name": "message",
255
+ "name": "facetKey",
444
256
  "type": {
445
257
  "text": "string"
446
258
  }
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": [
259
+ },
460
260
  {
461
- "name": "href",
261
+ "name": "title",
462
262
  "type": {
463
263
  "text": "string"
464
264
  }
265
+ },
266
+ {
267
+ "name": "fields",
268
+ "optional": true,
269
+ "type": {
270
+ "text": "FacetField[]"
271
+ }
272
+ },
273
+ {
274
+ "name": "open",
275
+ "optional": true,
276
+ "type": {
277
+ "text": "boolean"
278
+ }
465
279
  }
466
280
  ]
467
281
  },
468
282
  {
469
283
  "kind": "method",
470
- "name": "setFontSize",
471
- "return": {
472
- "type": {
473
- "text": "string"
474
- }
284
+ "name": "#renderVariablesBrowse"
285
+ }
286
+ ],
287
+ "attributes": [
288
+ {
289
+ "name": "catalog",
290
+ "type": {
291
+ "text": "'giovanni'"
475
292
  },
476
- "parameters": [
477
- {
478
- "name": "size",
479
- "type": {
480
- "text": "string"
481
- }
482
- }
483
- ]
293
+ "default": "'giovanni'",
294
+ "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
295
+ "fieldName": "catalog"
484
296
  }
485
297
  ],
486
- "attributes": [
487
- {
488
- "name": "title",
489
- "type": {
490
- "text": "string"
491
- },
492
- "default": "''",
493
- "fieldName": "title"
494
- },
495
- {
496
- "name": "variant",
497
- "type": {
498
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
499
- },
500
- "default": "'primary'",
501
- "description": "The button's theme variant.",
502
- "fieldName": "variant"
503
- },
298
+ "superclass": {
299
+ "name": "TerraElement",
300
+ "module": "/src/internal/terra-element.js"
301
+ },
302
+ "summary": "Browse through the NASA CMR or Giovanni catalogs.",
303
+ "tagNameWithoutPrefix": "browse-variables",
304
+ "tagName": "terra-browse-variables",
305
+ "customElement": true,
306
+ "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-giovanni-search\n * @dependency terra-button\n * @dependency terra-skeleton\n * @dependency terra-icon\n * @dependency terra-loader\n */",
307
+ "documentation": "https://disc.gsfc.nasa.gov/components/browse-variables",
308
+ "status": "MVP",
309
+ "since": "1.0",
310
+ "dependencies": [
311
+ "terra-giovanni-search",
312
+ "terra-button",
313
+ "terra-skeleton",
314
+ "terra-icon",
315
+ "terra-loader"
316
+ ]
317
+ }
318
+ ],
319
+ "exports": [
320
+ {
321
+ "kind": "js",
322
+ "name": "default",
323
+ "declaration": {
324
+ "name": "TerraBrowseVariables",
325
+ "module": "components/browse-variables/browse-variables.js"
326
+ }
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "kind": "javascript-module",
332
+ "path": "components/dialog/dialog.js",
333
+ "declarations": [
334
+ {
335
+ "kind": "class",
336
+ "description": "",
337
+ "name": "TerraDialog",
338
+ "slots": [
504
339
  {
505
- "name": "size",
506
- "type": {
507
- "text": "'small' | 'medium' | 'large'"
508
- },
509
- "default": "'medium'",
510
- "description": "The button's size.",
511
- "fieldName": "size"
512
- },
340
+ "description": "The dialog's main content",
341
+ "name": ""
342
+ }
343
+ ],
344
+ "members": [
513
345
  {
514
- "name": "caret",
346
+ "kind": "field",
347
+ "name": "dialogEl",
515
348
  "type": {
516
- "text": "boolean"
517
- },
518
- "default": "false",
519
- "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
520
- "fieldName": "caret"
349
+ "text": "HTMLDialogElement"
350
+ }
521
351
  },
522
352
  {
523
- "name": "shape",
353
+ "kind": "field",
354
+ "name": "id",
524
355
  "type": {
525
- "text": "'square' | 'square-left' | 'square-right'"
356
+ "text": "string"
526
357
  },
527
- "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
528
- "fieldName": "shape"
358
+ "description": "the ID to be used for accessibility associations",
359
+ "attribute": "id"
529
360
  },
530
361
  {
531
- "name": "disabled",
362
+ "kind": "field",
363
+ "name": "width",
532
364
  "type": {
533
- "text": "boolean"
365
+ "text": "string"
534
366
  },
535
- "default": "false",
536
- "description": "Disables the button.",
537
- "fieldName": "disabled"
367
+ "default": "'500px'",
368
+ "description": "the width of the dialog",
369
+ "attribute": "width",
370
+ "reflects": true
538
371
  },
539
372
  {
540
- "name": "loading",
373
+ "kind": "field",
374
+ "name": "open",
541
375
  "type": {
542
376
  "text": "boolean"
543
377
  },
544
378
  "default": "false",
545
- "description": "Draws the button in a loading state.",
546
- "fieldName": "loading"
379
+ "description": "used to set the dialog's open state",
380
+ "attribute": "open",
381
+ "reflects": true
547
382
  },
548
383
  {
549
- "name": "outline",
384
+ "kind": "field",
385
+ "name": "clickOutsideToClose",
550
386
  "type": {
551
387
  "text": "boolean"
552
388
  },
553
- "default": "false",
554
- "description": "Draws an outlined button.",
555
- "fieldName": "outline"
389
+ "default": "true",
390
+ "description": "allow closing the dialog when clicking outside of it",
391
+ "attribute": "click-outside-to-close",
392
+ "reflects": true
556
393
  },
557
394
  {
558
- "name": "circle",
395
+ "kind": "field",
396
+ "name": "showBackdrop",
559
397
  "type": {
560
398
  "text": "boolean"
561
399
  },
562
- "default": "false",
563
- "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
564
- "fieldName": "circle"
565
- },
566
- {
567
- "name": "type",
568
- "type": {
569
- "text": "'button' | 'submit' | 'reset'"
570
- },
571
- "default": "'button'",
572
- "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
573
- "fieldName": "type"
400
+ "default": "true",
401
+ "description": "Show a backdrop behind the dialog",
402
+ "attribute": "show-backdrop",
403
+ "reflects": true
574
404
  },
575
405
  {
576
- "name": "name",
577
- "type": {
578
- "text": "string"
579
- },
580
- "default": "''",
581
- "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
582
- "fieldName": "name"
406
+ "kind": "method",
407
+ "name": "toggle"
583
408
  },
584
409
  {
585
- "name": "value",
586
- "type": {
587
- "text": "string"
588
- },
589
- "default": "''",
590
- "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
591
- "fieldName": "value"
410
+ "kind": "method",
411
+ "name": "show"
592
412
  },
593
413
  {
594
- "name": "href",
595
- "type": {
596
- "text": "string"
597
- },
598
- "default": "''",
599
- "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
600
- "fieldName": "href"
414
+ "kind": "method",
415
+ "name": "hide"
601
416
  },
602
417
  {
603
- "name": "target",
604
- "type": {
605
- "text": "'_blank' | '_parent' | '_self' | '_top'"
606
- },
607
- "description": "Tells the browser where to open the link. Only used when `href` is present.",
608
- "fieldName": "target"
609
- },
418
+ "kind": "method",
419
+ "name": "#handleBackdropClick"
420
+ }
421
+ ],
422
+ "events": [
610
423
  {
611
- "name": "rel",
612
- "type": {
613
- "text": "string"
614
- },
615
- "default": "'noreferrer noopener'",
616
- "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
617
- "fieldName": "rel"
424
+ "description": "Emitted when the dialog opens.",
425
+ "name": "terra-dialog-show",
426
+ "reactName": "onTerraDialogShow",
427
+ "eventName": "TerraDialogShowEvent"
618
428
  },
619
429
  {
620
- "name": "download",
621
- "type": {
622
- "text": "string | undefined"
623
- },
624
- "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
625
- "fieldName": "download"
626
- },
430
+ "description": "Emitted when the dialog closes.",
431
+ "name": "terra-dialog-hide",
432
+ "reactName": "onTerraDialogHide",
433
+ "eventName": "TerraDialogHideEvent"
434
+ }
435
+ ],
436
+ "attributes": [
627
437
  {
628
- "name": "form",
438
+ "name": "id",
629
439
  "type": {
630
440
  "text": "string"
631
441
  },
632
- "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
633
- "fieldName": "form"
442
+ "description": "the ID to be used for accessibility associations",
443
+ "fieldName": "id"
634
444
  },
635
445
  {
636
- "name": "formaction",
446
+ "name": "width",
637
447
  "type": {
638
448
  "text": "string"
639
449
  },
640
- "description": "Used to override the form owner's `action` attribute.",
641
- "fieldName": "formAction"
642
- },
643
- {
644
- "name": "formenctype",
645
- "type": {
646
- "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
647
- },
648
- "description": "Used to override the form owner's `enctype` attribute.",
649
- "fieldName": "formEnctype"
450
+ "default": "'500px'",
451
+ "description": "the width of the dialog",
452
+ "fieldName": "width"
650
453
  },
651
454
  {
652
- "name": "formmethod",
455
+ "name": "open",
653
456
  "type": {
654
- "text": "'post' | 'get'"
457
+ "text": "boolean"
655
458
  },
656
- "description": "Used to override the form owner's `method` attribute.",
657
- "fieldName": "formMethod"
459
+ "default": "false",
460
+ "description": "used to set the dialog's open state",
461
+ "fieldName": "open"
658
462
  },
659
463
  {
660
- "name": "formnovalidate",
464
+ "name": "click-outside-to-close",
661
465
  "type": {
662
466
  "text": "boolean"
663
467
  },
664
- "description": "Used to override the form owner's `novalidate` attribute.",
665
- "fieldName": "formNoValidate"
468
+ "default": "true",
469
+ "description": "allow closing the dialog when clicking outside of it",
470
+ "fieldName": "clickOutsideToClose"
666
471
  },
667
472
  {
668
- "name": "formtarget",
473
+ "name": "show-backdrop",
669
474
  "type": {
670
- "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
475
+ "text": "boolean"
671
476
  },
672
- "description": "Used to override the form owner's `target` attribute.",
673
- "fieldName": "formTarget"
674
- },
675
- {
676
- "name": "for-dialog",
677
- "type": {
678
- "text": "string | undefined"
679
- },
680
- "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
681
- "fieldName": "forDialog"
477
+ "default": "true",
478
+ "description": "Show a backdrop behind the dialog",
479
+ "fieldName": "showBackdrop"
682
480
  }
683
481
  ],
684
482
  "superclass": {
685
483
  "name": "TerraElement",
686
484
  "module": "/src/internal/terra-element.js"
687
485
  },
688
- "summary": "Buttons represent actions that are available to the user.",
689
- "tagNameWithoutPrefix": "button",
690
- "tagName": "terra-button",
486
+ "summary": "Used to create both modal and non-modal dialog boxes.",
487
+ "tagNameWithoutPrefix": "dialog",
488
+ "tagName": "terra-dialog",
691
489
  "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",
490
+ "jsDoc": "/**\n * @summary Used to create both modal and non-modal dialog boxes.\n * @documentation https://disc.gsfc.nasa.gov/components/dialog\n * @status stable\n * @since 1.0\n *\n * @slot - The dialog's main content\n *\n * @event terra-dialog-show - Emitted when the dialog opens.\n * @event terra-dialog-hide - Emitted when the dialog closes.\n */",
491
+ "documentation": "https://disc.gsfc.nasa.gov/components/dialog",
694
492
  "status": "stable",
695
- "since": "2.0"
493
+ "since": "1.0"
696
494
  }
697
495
  ],
698
496
  "exports": [
@@ -700,293 +498,223 @@
700
498
  "kind": "js",
701
499
  "name": "default",
702
500
  "declaration": {
703
- "name": "TerraButton",
704
- "module": "components/button/button.js"
501
+ "name": "TerraDialog",
502
+ "module": "components/dialog/dialog.js"
705
503
  }
706
504
  }
707
505
  ]
708
506
  },
709
507
  {
710
508
  "kind": "javascript-module",
711
- "path": "components/browse-variables/browse-variables.js",
509
+ "path": "components/date-range-slider/date-range-slider.js",
712
510
  "declarations": [
713
511
  {
714
512
  "kind": "class",
715
513
  "description": "",
716
- "name": "TerraBrowseVariables",
514
+ "name": "TerraDateRangeSlider",
515
+ "cssProperties": [
516
+ {
517
+ "description": "An example CSS custom property.",
518
+ "name": "--example"
519
+ }
520
+ ],
521
+ "cssParts": [
522
+ {
523
+ "description": "The component's base wrapper.",
524
+ "name": "base"
525
+ }
526
+ ],
527
+ "slots": [
528
+ {
529
+ "description": "The default slot.",
530
+ "name": ""
531
+ },
532
+ {
533
+ "description": "An example slot.",
534
+ "name": "example"
535
+ }
536
+ ],
717
537
  "members": [
718
538
  {
719
539
  "kind": "field",
720
- "name": "dependencies",
540
+ "name": "slider",
721
541
  "type": {
722
- "text": "object"
542
+ "text": "HTMLElement & { noUiSlider: API }"
543
+ }
544
+ },
545
+ {
546
+ "kind": "field",
547
+ "name": "timeScale",
548
+ "type": {
549
+ "text": "TimeScale"
723
550
  },
724
- "static": true,
725
- "default": "{\n 'terra-giovanni-search': TerraGiovanniSearch,\n 'terra-button': TerraButton,\n 'terra-skeleton': TerraSkeleton,\n 'terra-icon': TerraIcon,\n 'terra-loader': TerraLoader,\n }"
551
+ "default": "'daily'",
552
+ "attribute": "time-scale"
726
553
  },
727
554
  {
728
555
  "kind": "field",
729
- "name": "catalog",
556
+ "name": "minDate",
730
557
  "type": {
731
- "text": "'giovanni'"
558
+ "text": "string"
732
559
  },
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"
560
+ "attribute": "min-date"
736
561
  },
737
562
  {
738
563
  "kind": "field",
739
- "name": "searchQuery",
564
+ "name": "maxDate",
740
565
  "type": {
741
566
  "text": "string"
742
- }
567
+ },
568
+ "attribute": "max-date"
743
569
  },
744
570
  {
745
571
  "kind": "field",
746
- "name": "selectedFacets",
572
+ "name": "startDate",
747
573
  "type": {
748
- "text": "SelectedFacets"
574
+ "text": "string"
749
575
  },
750
- "default": "{}"
576
+ "description": "The start date for the time series plot.",
577
+ "attribute": "start-date"
751
578
  },
752
579
  {
753
580
  "kind": "field",
754
- "name": "showVariablesBrowse",
581
+ "name": "endDate",
582
+ "type": {
583
+ "text": "string"
584
+ },
585
+ "attribute": "end-date"
586
+ },
587
+ {
588
+ "kind": "field",
589
+ "name": "disabled",
755
590
  "type": {
756
591
  "text": "boolean"
757
592
  },
758
- "default": "false"
593
+ "default": "false",
594
+ "attribute": "disabled",
595
+ "reflects": true
759
596
  },
760
597
  {
761
598
  "kind": "field",
762
- "name": "#controller",
763
- "privacy": "private",
764
- "default": "new BrowseVariablesController(this)"
599
+ "name": "hasPips",
600
+ "type": {
601
+ "text": "boolean"
602
+ },
603
+ "default": "true",
604
+ "attribute": "has-pips",
605
+ "reflects": true
765
606
  },
766
607
  {
767
608
  "kind": "method",
768
- "name": "reset"
609
+ "name": "updateSlider"
769
610
  },
770
611
  {
771
612
  "kind": "method",
772
- "name": "handleObservationChange"
613
+ "name": "disabledChanged"
773
614
  },
774
615
  {
775
616
  "kind": "method",
776
- "name": "toggleFacetSelect",
777
- "parameters": [
778
- {
779
- "name": "event",
780
- "type": {
781
- "text": "Event"
782
- }
783
- }
784
- ]
617
+ "name": "renderSlider"
785
618
  },
786
619
  {
787
620
  "kind": "method",
788
- "name": "handleSearch",
789
- "parameters": [
790
- {
791
- "name": "e",
792
- "type": {
793
- "text": "TerraGiovanniSearchChangeEvent"
794
- }
795
- }
796
- ]
621
+ "name": "renderEmptySlider"
797
622
  },
798
623
  {
799
624
  "kind": "method",
800
- "name": "#selectFacetField",
801
- "parameters": [
802
- {
803
- "name": "facet",
804
- "type": {
805
- "text": "string"
806
- }
807
- },
808
- {
809
- "name": "field",
810
- "type": {
811
- "text": "string"
812
- }
813
- },
814
- {
815
- "name": "selectOneFieldAtATime",
816
- "default": "false",
817
- "type": {
818
- "text": "boolean"
819
- }
820
- }
821
- ],
822
- "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"
625
+ "name": "_getStep",
626
+ "privacy": "private"
823
627
  },
824
628
  {
825
629
  "kind": "method",
826
- "name": "#clearFacet",
827
- "parameters": [
828
- {
829
- "name": "facet",
830
- "type": {
831
- "text": "string"
832
- }
630
+ "name": "_getSliderFormatter",
631
+ "privacy": "private",
632
+ "return": {
633
+ "type": {
634
+ "text": "Formatter"
833
635
  }
834
- ]
636
+ }
835
637
  },
836
638
  {
837
639
  "kind": "method",
838
- "name": "#unselectFacetField",
640
+ "name": "_formatDate",
641
+ "privacy": "private",
839
642
  "parameters": [
840
643
  {
841
- "name": "facet",
842
- "type": {
843
- "text": "string"
844
- }
845
- },
846
- {
847
- "name": "field",
644
+ "name": "date",
848
645
  "type": {
849
- "text": "string"
646
+ "text": "string | number | Date"
850
647
  }
851
648
  }
852
649
  ]
650
+ }
651
+ ],
652
+ "attributes": [
653
+ {
654
+ "name": "time-scale",
655
+ "type": {
656
+ "text": "TimeScale"
657
+ },
658
+ "default": "'daily'",
659
+ "fieldName": "timeScale"
853
660
  },
854
661
  {
855
- "kind": "method",
856
- "name": "#renderCategorySelect"
662
+ "name": "min-date",
663
+ "type": {
664
+ "text": "string"
665
+ },
666
+ "fieldName": "minDate"
857
667
  },
858
668
  {
859
- "kind": "method",
860
- "name": "#renderFacet",
861
- "parameters": [
862
- {
863
- "name": "facetKey",
864
- "type": {
865
- "text": "string"
866
- }
867
- },
868
- {
869
- "name": "title",
870
- "type": {
871
- "text": "string"
872
- }
873
- },
874
- {
875
- "name": "fields",
876
- "optional": true,
877
- "type": {
878
- "text": "FacetField[]"
879
- }
880
- },
881
- {
882
- "name": "open",
883
- "optional": true,
884
- "type": {
885
- "text": "boolean"
886
- }
887
- }
888
- ]
669
+ "name": "max-date",
670
+ "type": {
671
+ "text": "string"
672
+ },
673
+ "fieldName": "maxDate"
889
674
  },
890
675
  {
891
- "kind": "method",
892
- "name": "#renderVariablesBrowse"
893
- }
894
- ],
895
- "attributes": [
676
+ "name": "start-date",
677
+ "type": {
678
+ "text": "string"
679
+ },
680
+ "description": "The start date for the time series plot.",
681
+ "fieldName": "startDate"
682
+ },
896
683
  {
897
- "name": "catalog",
684
+ "name": "end-date",
898
685
  "type": {
899
- "text": "'giovanni'"
686
+ "text": "string"
900
687
  },
901
- "default": "'giovanni'",
902
- "description": "Allows the user to switch the catalog between different providers\nTODO: add support for CMR catalog and make it the default",
903
- "fieldName": "catalog"
904
- }
905
- ],
906
- "superclass": {
907
- "name": "TerraElement",
908
- "module": "/src/internal/terra-element.js"
909
- },
910
- "summary": "Browse through the NASA CMR or Giovanni catalogs.",
911
- "tagNameWithoutPrefix": "browse-variables",
912
- "tagName": "terra-browse-variables",
913
- "customElement": true,
914
- "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 * @dependency terra-giovanni-search\n * @dependency terra-button\n * @dependency terra-skeleton\n * @dependency terra-icon\n * @dependency terra-loader\n */",
915
- "documentation": "https://disc.gsfc.nasa.gov/components/browse-variables",
916
- "status": "MVP",
917
- "since": "1.0",
918
- "dependencies": [
919
- "terra-giovanni-search",
920
- "terra-button",
921
- "terra-skeleton",
922
- "terra-icon",
923
- "terra-loader"
924
- ]
925
- }
926
- ],
927
- "exports": [
928
- {
929
- "kind": "js",
930
- "name": "default",
931
- "declaration": {
932
- "name": "TerraBrowseVariables",
933
- "module": "components/browse-variables/browse-variables.js"
934
- }
935
- }
936
- ]
937
- },
938
- {
939
- "kind": "javascript-module",
940
- "path": "components/chip/chip.js",
941
- "declarations": [
942
- {
943
- "kind": "class",
944
- "description": "",
945
- "name": "TerraChip",
946
- "slots": [
947
- {
948
- "description": "The chip's label.",
949
- "name": ""
950
- }
951
- ],
952
- "members": [
688
+ "fieldName": "endDate"
689
+ },
953
690
  {
954
- "kind": "field",
955
- "name": "size",
691
+ "name": "disabled",
956
692
  "type": {
957
- "text": "'small' | 'medium' | 'large'"
693
+ "text": "boolean"
958
694
  },
959
- "default": "'medium'",
960
- "attribute": "size",
961
- "reflects": true
695
+ "default": "false",
696
+ "fieldName": "disabled"
962
697
  },
963
698
  {
964
- "kind": "field",
965
- "name": "#handleRemoveClick",
966
- "privacy": "private"
967
- }
968
- ],
969
- "attributes": [
970
- {
971
- "name": "size",
699
+ "name": "has-pips",
972
700
  "type": {
973
- "text": "'small' | 'medium' | 'large'"
701
+ "text": "boolean"
974
702
  },
975
- "default": "'medium'",
976
- "fieldName": "size"
703
+ "default": "true",
704
+ "fieldName": "hasPips"
977
705
  }
978
706
  ],
979
707
  "superclass": {
980
708
  "name": "TerraElement",
981
709
  "module": "/src/internal/terra-element.js"
982
710
  },
983
- "summary": "Used for contacts and tags",
984
- "tagNameWithoutPrefix": "chip",
985
- "tagName": "terra-chip",
711
+ "summary": "Short summary of the component's intended use.",
712
+ "tagNameWithoutPrefix": "date-range-slider",
713
+ "tagName": "terra-date-range-slider",
986
714
  "customElement": true,
987
- "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 */",
988
- "documentation": "https://disc.gsfc.nasa.gov/components/chip",
989
- "status": "stable",
715
+ "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 */",
716
+ "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
717
+ "status": "experimental",
990
718
  "since": "1.0"
991
719
  }
992
720
  ],
@@ -995,409 +723,173 @@
995
723
  "kind": "js",
996
724
  "name": "default",
997
725
  "declaration": {
998
- "name": "TerraChip",
999
- "module": "components/chip/chip.js"
726
+ "name": "TerraDateRangeSlider",
727
+ "module": "components/date-range-slider/date-range-slider.js"
1000
728
  }
1001
729
  }
1002
730
  ]
1003
731
  },
1004
732
  {
1005
733
  "kind": "javascript-module",
1006
- "path": "components/date-range-slider/date-range-slider.js",
734
+ "path": "components/giovanni-search/giovanni-search.js",
1007
735
  "declarations": [
1008
736
  {
1009
737
  "kind": "class",
1010
738
  "description": "",
1011
- "name": "TerraDateRangeSlider",
739
+ "name": "TerraGiovanniSearch",
1012
740
  "cssProperties": [
1013
741
  {
1014
- "description": "An example CSS custom property.",
1015
- "name": "--example"
742
+ "description": "The height of the host element.",
743
+ "name": "--host-height"
744
+ },
745
+ {
746
+ "description": "The height of the input's label element.",
747
+ "name": "--label-height"
1016
748
  }
1017
749
  ],
1018
750
  "cssParts": [
1019
751
  {
1020
- "description": "The component's base wrapper.",
752
+ "description": "A `search` element, the component's base.",
1021
753
  "name": "base"
1022
- }
1023
- ],
1024
- "slots": [
754
+ },
1025
755
  {
1026
- "description": "The default slot.",
1027
- "name": ""
756
+ "description": "An `input` element used for searching.",
757
+ "name": "combobox"
1028
758
  },
1029
759
  {
1030
- "description": "An example slot.",
1031
- "name": "example"
760
+ "description": "A `button` used for toggling the listbox's visibility.",
761
+ "name": "button"
762
+ },
763
+ {
764
+ "description": "A `ul` that holds the clickable options.",
765
+ "name": "listbox"
1032
766
  }
1033
767
  ],
1034
768
  "members": [
1035
769
  {
1036
770
  "kind": "field",
1037
- "name": "slider",
771
+ "name": "dependencies",
1038
772
  "type": {
1039
- "text": "HTMLElement & { noUiSlider: API }"
1040
- }
773
+ "text": "object"
774
+ },
775
+ "static": true,
776
+ "default": "{\n 'terra-button': TerraButton,\n 'terra-icon': TerraIcon,\n }"
1041
777
  },
1042
778
  {
1043
779
  "kind": "field",
1044
- "name": "timeScale",
780
+ "name": "shadowRootOptions",
1045
781
  "type": {
1046
- "text": "TimeScale"
782
+ "text": "object"
1047
783
  },
1048
- "default": "'daily'",
1049
- "attribute": "time-scale"
784
+ "static": true,
785
+ "default": "{\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n }"
1050
786
  },
1051
787
  {
1052
788
  "kind": "field",
1053
- "name": "minDate",
789
+ "name": "tagName",
1054
790
  "type": {
1055
791
  "text": "string"
1056
792
  },
1057
- "attribute": "min-date"
793
+ "static": true,
794
+ "default": "'terra-giovanni-search'"
1058
795
  },
1059
796
  {
1060
797
  "kind": "field",
1061
- "name": "maxDate",
798
+ "name": "initialQuery",
1062
799
  "type": {
1063
800
  "text": "string"
1064
801
  },
1065
- "attribute": "max-date"
802
+ "static": true,
803
+ "default": "''"
1066
804
  },
1067
805
  {
1068
806
  "kind": "field",
1069
- "name": "startDate",
807
+ "name": "#combobox",
808
+ "privacy": "private",
1070
809
  "type": {
1071
- "text": "string"
810
+ "text": "HTMLInputElement | null"
1072
811
  },
1073
- "description": "The start date for the time series plot.",
1074
- "attribute": "start-date"
812
+ "default": "null"
1075
813
  },
1076
814
  {
1077
815
  "kind": "field",
1078
- "name": "endDate",
1079
- "type": {
1080
- "text": "string"
1081
- },
1082
- "attribute": "end-date"
816
+ "name": "#fetchController",
817
+ "privacy": "private",
818
+ "default": "new FetchController(this)"
1083
819
  },
1084
820
  {
1085
821
  "kind": "field",
1086
- "name": "disabled",
822
+ "name": "#listbox",
823
+ "privacy": "private",
1087
824
  "type": {
1088
- "text": "boolean"
825
+ "text": "HTMLUListElement | null"
1089
826
  },
1090
- "default": "false",
1091
- "attribute": "disabled",
1092
- "reflects": true
827
+ "default": "null"
1093
828
  },
1094
829
  {
1095
830
  "kind": "field",
1096
- "name": "hasPips",
831
+ "name": "#searchEngine",
832
+ "privacy": "private",
1097
833
  "type": {
1098
- "text": "boolean"
834
+ "text": "Fuse<ListItem> | null"
1099
835
  },
1100
- "default": "true",
1101
- "attribute": "has-pips",
1102
- "reflects": true
1103
- },
1104
- {
1105
- "kind": "method",
1106
- "name": "updateSlider"
1107
- },
1108
- {
1109
- "kind": "method",
1110
- "name": "disabledChanged"
1111
- },
1112
- {
1113
- "kind": "method",
1114
- "name": "renderSlider"
1115
- },
1116
- {
1117
- "kind": "method",
1118
- "name": "renderEmptySlider"
1119
- },
1120
- {
1121
- "kind": "method",
1122
- "name": "_getStep",
1123
- "privacy": "private"
1124
- },
1125
- {
1126
- "kind": "method",
1127
- "name": "_getSliderFormatter",
1128
- "privacy": "private",
1129
- "return": {
1130
- "type": {
1131
- "text": "Formatter"
1132
- }
1133
- }
836
+ "default": "null"
1134
837
  },
1135
838
  {
1136
- "kind": "method",
1137
- "name": "_formatDate",
839
+ "kind": "field",
840
+ "name": "#walker",
1138
841
  "privacy": "private",
1139
- "parameters": [
1140
- {
1141
- "name": "date",
1142
- "type": {
1143
- "text": "string | number | Date"
1144
- }
1145
- }
1146
- ]
1147
- }
1148
- ],
1149
- "attributes": [
1150
- {
1151
- "name": "time-scale",
1152
842
  "type": {
1153
- "text": "TimeScale"
843
+ "text": "TreeWalker | null"
1154
844
  },
1155
- "default": "'daily'",
1156
- "fieldName": "timeScale"
845
+ "default": "null"
1157
846
  },
1158
847
  {
1159
- "name": "min-date",
848
+ "kind": "field",
849
+ "name": "label",
1160
850
  "type": {
1161
851
  "text": "string"
1162
852
  },
1163
- "fieldName": "minDate"
853
+ "default": "'Enter search terms (e.g., precipitation, AOD)'",
854
+ "description": "Label the combobox with this.",
855
+ "attribute": "label"
1164
856
  },
1165
857
  {
1166
- "name": "max-date",
858
+ "kind": "field",
859
+ "name": "placeholder",
1167
860
  "type": {
1168
861
  "text": "string"
1169
862
  },
1170
- "fieldName": "maxDate"
863
+ "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
864
+ "attribute": "placeholder"
1171
865
  },
1172
866
  {
1173
- "name": "start-date",
867
+ "kind": "field",
868
+ "name": "hideLabel",
1174
869
  "type": {
1175
- "text": "string"
1176
- },
1177
- "description": "The start date for the time series plot.",
1178
- "fieldName": "startDate"
1179
- },
1180
- {
1181
- "name": "end-date",
1182
- "type": {
1183
- "text": "string"
1184
- },
1185
- "fieldName": "endDate"
1186
- },
1187
- {
1188
- "name": "disabled",
1189
- "type": {
1190
- "text": "boolean"
1191
- },
1192
- "default": "false",
1193
- "fieldName": "disabled"
1194
- },
1195
- {
1196
- "name": "has-pips",
1197
- "type": {
1198
- "text": "boolean"
870
+ "text": "boolean"
1199
871
  },
1200
872
  "default": "true",
1201
- "fieldName": "hasPips"
1202
- }
1203
- ],
1204
- "superclass": {
1205
- "name": "TerraElement",
1206
- "module": "/src/internal/terra-element.js"
1207
- },
1208
- "summary": "Short summary of the component's intended use.",
1209
- "tagNameWithoutPrefix": "date-range-slider",
1210
- "tagName": "terra-date-range-slider",
1211
- "customElement": true,
1212
- "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 */",
1213
- "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
1214
- "status": "experimental",
1215
- "since": "1.0"
1216
- }
1217
- ],
1218
- "exports": [
1219
- {
1220
- "kind": "js",
1221
- "name": "default",
1222
- "declaration": {
1223
- "name": "TerraDateRangeSlider",
1224
- "module": "components/date-range-slider/date-range-slider.js"
1225
- }
1226
- }
1227
- ]
1228
- },
1229
- {
1230
- "kind": "javascript-module",
1231
- "path": "components/combobox/combobox.js",
1232
- "declarations": [
1233
- {
1234
- "kind": "class",
1235
- "description": "",
1236
- "name": "TerraCombobox",
1237
- "cssProperties": [
1238
- {
1239
- "description": "The height of the host element.",
1240
- "name": "--host-height"
1241
- },
1242
- {
1243
- "description": "The height of the search help element.",
1244
- "name": "--help-height"
1245
- },
1246
- {
1247
- "description": "The height of the input's label element.",
1248
- "name": "--label-height"
1249
- }
1250
- ],
1251
- "cssParts": [
1252
- {
1253
- "description": "A `search` element, the component's base.",
1254
- "name": "base"
1255
- },
1256
- {
1257
- "description": "An `input` element used for searching.",
1258
- "name": "combobox"
1259
- },
1260
- {
1261
- "description": "A `button` used for toggling the listbox's visibility.",
1262
- "name": "button"
1263
- },
1264
- {
1265
- "description": "A `ul` that holds the clickable options.",
1266
- "name": "listbox"
1267
- }
1268
- ],
1269
- "members": [
1270
- {
1271
- "kind": "field",
1272
- "name": "shadowRootOptions",
1273
- "type": {
1274
- "text": "object"
1275
- },
1276
- "static": true,
1277
- "default": "{\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n }"
1278
- },
1279
- {
1280
- "kind": "field",
1281
- "name": "tagName",
1282
- "type": {
1283
- "text": "string"
1284
- },
1285
- "static": true,
1286
- "default": "'terra-combobox'"
1287
- },
1288
- {
1289
- "kind": "field",
1290
- "name": "initialQuery",
1291
- "type": {
1292
- "text": "string"
1293
- },
1294
- "static": true,
1295
- "default": "''"
1296
- },
1297
- {
1298
- "kind": "field",
1299
- "name": "#combobox",
1300
- "privacy": "private",
1301
- "type": {
1302
- "text": "HTMLInputElement | null"
1303
- },
1304
- "default": "null"
1305
- },
1306
- {
1307
- "kind": "field",
1308
- "name": "#listbox",
1309
- "privacy": "private",
1310
- "type": {
1311
- "text": "HTMLUListElement | null"
1312
- },
1313
- "default": "null"
1314
- },
1315
- {
1316
- "kind": "field",
1317
- "name": "#searchEngine",
1318
- "privacy": "private",
1319
- "type": {
1320
- "text": "Fuse<GroupedListItem | ListItem> | null"
1321
- },
1322
- "default": "null"
1323
- },
1324
- {
1325
- "kind": "field",
1326
- "name": "#walker",
1327
- "privacy": "private",
1328
- "type": {
1329
- "text": "TreeWalker | null"
1330
- },
1331
- "default": "null"
1332
- },
1333
- {
1334
- "kind": "field",
1335
- "name": "label",
1336
- "type": {
1337
- "text": "string"
1338
- },
1339
- "default": "'Search for Items'",
1340
- "description": "Label the combobox with this.",
1341
- "attribute": "label"
1342
- },
1343
- {
1344
- "kind": "field",
1345
- "name": "name",
1346
- "type": {
1347
- "text": "string"
1348
- },
1349
- "default": "'Item'",
1350
- "description": "name the combobox with this.",
1351
- "attribute": "name"
1352
- },
1353
- {
1354
- "kind": "field",
1355
- "name": "placeholder",
1356
- "type": {
1357
- "text": "string"
1358
- },
1359
- "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
1360
- "attribute": "placeholder"
1361
- },
1362
- {
1363
- "kind": "field",
1364
- "name": "hideHelp",
1365
- "type": {
1366
- "text": "boolean"
1367
- },
1368
- "default": "false",
1369
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
1370
- "attribute": "hide-help"
1371
- },
1372
- {
1373
- "kind": "field",
1374
- "name": "hideLabel",
1375
- "type": {
1376
- "text": "boolean"
1377
- },
1378
- "default": "false",
1379
873
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
1380
874
  "attribute": "hide-label"
1381
875
  },
1382
876
  {
1383
877
  "kind": "field",
1384
- "name": "status",
878
+ "name": "searchConfig",
1385
879
  "type": {
1386
- "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
880
+ "text": "object"
1387
881
  },
1388
- "default": "'INITIAL'",
1389
- "description": "status of the content",
1390
- "attribute": "status"
882
+ "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
883
+ "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
884
+ "attribute": "searchConfig"
1391
885
  },
1392
886
  {
1393
887
  "kind": "field",
1394
- "name": "content",
888
+ "name": "value",
1395
889
  "type": {
1396
- "text": "Content"
890
+ "text": "string"
1397
891
  },
1398
- "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
1399
- "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
1400
- "attribute": "content"
892
+ "attribute": "value"
1401
893
  },
1402
894
  {
1403
895
  "kind": "field",
@@ -1415,57 +907,39 @@
1415
907
  "kind": "field",
1416
908
  "name": "searchResults",
1417
909
  "type": {
1418
- "text": "GroupedListItem[] | ListItem[]"
910
+ "text": "ListItem[]"
1419
911
  },
1420
912
  "default": "[]"
1421
913
  },
1422
914
  {
1423
915
  "kind": "method",
1424
- "name": "contentChanged",
916
+ "name": "valueChanged",
1425
917
  "parameters": [
1426
918
  {
1427
919
  "name": "_oldValue",
1428
920
  "type": {
1429
- "text": "any"
921
+ "text": "string"
1430
922
  }
1431
923
  },
1432
924
  {
1433
925
  "name": "newValue",
1434
926
  "type": {
1435
- "text": "any"
927
+ "text": "string"
1436
928
  }
1437
929
  }
1438
930
  ]
1439
931
  },
1440
932
  {
1441
- "kind": "field",
1442
- "name": "#renderListItem",
1443
- "privacy": "private"
1444
- },
1445
- {
1446
- "kind": "field",
1447
- "name": "#renderGroupListItem",
1448
- "privacy": "private"
1449
- },
1450
- {
1451
- "kind": "field",
1452
- "name": "#renderError",
1453
- "privacy": "private"
1454
- },
1455
- {
1456
- "kind": "field",
1457
- "name": "#renderLoading",
1458
- "privacy": "private"
933
+ "kind": "method",
934
+ "name": "clear"
1459
935
  },
1460
936
  {
1461
- "kind": "field",
1462
- "name": "#dispatchChange",
1463
- "privacy": "private"
937
+ "kind": "method",
938
+ "name": "close"
1464
939
  },
1465
940
  {
1466
- "kind": "field",
1467
- "name": "#handleButtonClick",
1468
- "privacy": "private"
941
+ "kind": "method",
942
+ "name": "toggle"
1469
943
  },
1470
944
  {
1471
945
  "kind": "field",
@@ -1491,6 +965,36 @@
1491
965
  "kind": "field",
1492
966
  "name": "#selectOption",
1493
967
  "privacy": "private"
968
+ },
969
+ {
970
+ "kind": "method",
971
+ "name": "#handleSearch",
972
+ "parameters": [
973
+ {
974
+ "name": "query",
975
+ "type": {
976
+ "text": "string"
977
+ }
978
+ }
979
+ ]
980
+ },
981
+ {
982
+ "kind": "method",
983
+ "name": "#clearSearch"
984
+ }
985
+ ],
986
+ "events": [
987
+ {
988
+ "description": "Emitted when an option is selected.",
989
+ "name": "terra-giovanni-search-change",
990
+ "reactName": "onTerraGiovanniSearchChange",
991
+ "eventName": "TerraGiovanniSearchChangeEvent"
992
+ },
993
+ {
994
+ "description": "Emitted when the component is triggering a search (like a form triggering submit).",
995
+ "name": "terra-search",
996
+ "reactName": "onTerraSearch",
997
+ "eventName": "TerraSearchEvent"
1494
998
  }
1495
999
  ],
1496
1000
  "attributes": [
@@ -1499,19 +1003,10 @@
1499
1003
  "type": {
1500
1004
  "text": "string"
1501
1005
  },
1502
- "default": "'Search for Items'",
1006
+ "default": "'Enter search terms (e.g., precipitation, AOD)'",
1503
1007
  "description": "Label the combobox with this.",
1504
1008
  "fieldName": "label"
1505
1009
  },
1506
- {
1507
- "name": "name",
1508
- "type": {
1509
- "text": "string"
1510
- },
1511
- "default": "'Item'",
1512
- "description": "name the combobox with this.",
1513
- "fieldName": "name"
1514
- },
1515
1010
  {
1516
1011
  "name": "placeholder",
1517
1012
  "type": {
@@ -1520,54 +1015,43 @@
1520
1015
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
1521
1016
  "fieldName": "placeholder"
1522
1017
  },
1523
- {
1524
- "name": "hide-help",
1525
- "type": {
1526
- "text": "boolean"
1527
- },
1528
- "default": "false",
1529
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
1530
- "fieldName": "hideHelp"
1531
- },
1532
1018
  {
1533
1019
  "name": "hide-label",
1534
1020
  "type": {
1535
1021
  "text": "boolean"
1536
1022
  },
1537
- "default": "false",
1023
+ "default": "true",
1538
1024
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
1539
1025
  "fieldName": "hideLabel"
1540
1026
  },
1541
1027
  {
1542
- "name": "status",
1028
+ "name": "searchConfig",
1543
1029
  "type": {
1544
- "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
1030
+ "text": "object"
1545
1031
  },
1546
- "default": "'INITIAL'",
1547
- "description": "status of the content",
1548
- "fieldName": "status"
1032
+ "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
1033
+ "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
1034
+ "fieldName": "searchConfig"
1549
1035
  },
1550
1036
  {
1551
- "name": "content",
1037
+ "name": "value",
1552
1038
  "type": {
1553
- "text": "Content"
1039
+ "text": "string"
1554
1040
  },
1555
- "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
1556
- "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
1557
- "fieldName": "content"
1041
+ "fieldName": "value"
1558
1042
  }
1559
1043
  ],
1560
1044
  "superclass": {
1561
1045
  "name": "TerraElement",
1562
1046
  "module": "/src/internal/terra-element.js"
1563
1047
  },
1564
- "summary": "Fuzzy-search for combobox with list autocomplete.",
1565
- "tagNameWithoutPrefix": "combobox",
1566
- "tagName": "terra-combobox",
1048
+ "summary": "Fuzzy-search for dataset keywords in combobox with list autocomplete.",
1049
+ "tagNameWithoutPrefix": "giovanni-search",
1050
+ "tagName": "terra-giovanni-search",
1567
1051
  "customElement": true,
1568
- "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 */",
1569
- "documentation": "https://disc.gsfc.nasa.gov/components/combobox",
1570
- "status": "experimental",
1052
+ "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-giovanni-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 */",
1053
+ "documentation": "https://disc.gsfc.nasa.gov/components/giovanni-serch",
1054
+ "status": "MVP",
1571
1055
  "since": "1.0"
1572
1056
  }
1573
1057
  ],
@@ -1576,175 +1060,351 @@
1576
1060
  "kind": "js",
1577
1061
  "name": "default",
1578
1062
  "declaration": {
1579
- "name": "TerraCombobox",
1580
- "module": "components/combobox/combobox.js"
1063
+ "name": "TerraGiovanniSearch",
1064
+ "module": "components/giovanni-search/giovanni-search.js"
1581
1065
  }
1582
1066
  }
1583
1067
  ]
1584
1068
  },
1585
1069
  {
1586
1070
  "kind": "javascript-module",
1587
- "path": "components/dialog/dialog.js",
1071
+ "path": "components/icon/icon.js",
1588
1072
  "declarations": [
1589
1073
  {
1590
1074
  "kind": "class",
1591
1075
  "description": "",
1592
- "name": "TerraDialog",
1593
- "slots": [
1076
+ "name": "TerraIcon",
1077
+ "cssParts": [
1594
1078
  {
1595
- "description": "The dialog's main content",
1596
- "name": ""
1079
+ "description": "The internal SVG element.",
1080
+ "name": "svg"
1597
1081
  }
1598
1082
  ],
1599
1083
  "members": [
1600
1084
  {
1601
1085
  "kind": "field",
1602
- "name": "dialogEl",
1086
+ "name": "#initialRender",
1087
+ "privacy": "private",
1603
1088
  "type": {
1604
- "text": "HTMLDialogElement"
1605
- }
1089
+ "text": "boolean"
1090
+ },
1091
+ "default": "false"
1606
1092
  },
1607
1093
  {
1608
1094
  "kind": "field",
1609
- "name": "id",
1095
+ "name": "svg",
1610
1096
  "type": {
1611
- "text": "string"
1097
+ "text": "SVGElement | HTMLTemplateResult | null"
1612
1098
  },
1613
- "description": "the ID to be used for accessibility associations",
1614
- "attribute": "id"
1099
+ "default": "null"
1615
1100
  },
1616
1101
  {
1617
1102
  "kind": "field",
1618
- "name": "width",
1103
+ "name": "name",
1619
1104
  "type": {
1620
- "text": "string"
1105
+ "text": "string | undefined"
1621
1106
  },
1622
- "default": "'500px'",
1623
- "description": "the width of the dialog",
1624
- "attribute": "width",
1107
+ "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1108
+ "attribute": "name",
1625
1109
  "reflects": true
1626
1110
  },
1627
1111
  {
1628
1112
  "kind": "field",
1629
- "name": "open",
1113
+ "name": "src",
1630
1114
  "type": {
1631
- "text": "boolean"
1115
+ "text": "string | undefined"
1632
1116
  },
1633
- "default": "false",
1634
- "description": "used to set the dialog's open state",
1635
- "attribute": "open",
1636
- "reflects": true
1117
+ "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
1118
+ "attribute": "src"
1637
1119
  },
1638
1120
  {
1639
1121
  "kind": "field",
1640
- "name": "clickOutsideToClose",
1122
+ "name": "label",
1641
1123
  "type": {
1642
- "text": "boolean"
1124
+ "text": "string"
1643
1125
  },
1644
- "default": "true",
1645
- "description": "allow closing the dialog when clicking outside of it",
1646
- "attribute": "click-outside-to-close",
1647
- "reflects": true
1126
+ "default": "''",
1127
+ "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1128
+ "attribute": "label"
1648
1129
  },
1649
1130
  {
1650
1131
  "kind": "field",
1651
- "name": "showBackdrop",
1132
+ "name": "library",
1652
1133
  "type": {
1653
- "text": "boolean"
1134
+ "text": "'default' | 'heroicons' | string"
1654
1135
  },
1655
- "default": "true",
1656
- "description": "Show a backdrop behind the dialog",
1657
- "attribute": "show-backdrop",
1136
+ "default": "'default'",
1137
+ "description": "The name of a registered custom icon library.",
1138
+ "attribute": "library",
1658
1139
  "reflects": true
1659
1140
  },
1141
+ {
1142
+ "kind": "field",
1143
+ "name": "color",
1144
+ "type": {
1145
+ "text": "string | null"
1146
+ },
1147
+ "default": "null",
1148
+ "description": "The CSS color to assign to the SVG.",
1149
+ "attribute": "color"
1150
+ },
1151
+ {
1152
+ "kind": "field",
1153
+ "name": "fontSize",
1154
+ "type": {
1155
+ "text": "string | null"
1156
+ },
1157
+ "default": "null",
1158
+ "description": "The CSS font-size to assign to the SVG.",
1159
+ "attribute": "font-size"
1160
+ },
1660
1161
  {
1661
1162
  "kind": "method",
1662
- "name": "toggle"
1163
+ "name": "#resolveIcon",
1164
+ "return": {
1165
+ "type": {
1166
+ "text": "Promise<SVGResult>"
1167
+ }
1168
+ },
1169
+ "parameters": [
1170
+ {
1171
+ "name": "url",
1172
+ "type": {
1173
+ "text": "string"
1174
+ }
1175
+ }
1176
+ ],
1177
+ "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
1663
1178
  },
1664
1179
  {
1665
1180
  "kind": "method",
1666
- "name": "show"
1181
+ "name": "#getIconSource",
1182
+ "return": {
1183
+ "type": {
1184
+ "text": "IconSource"
1185
+ }
1186
+ }
1667
1187
  },
1668
1188
  {
1669
1189
  "kind": "method",
1670
- "name": "hide"
1190
+ "name": "#styleFromAttributes",
1191
+ "description": "SVG takes a few presentation attributes. Since we're using a template for SVG and our host element isn't an SVG, we can pass those presentational attributes into a style attribute to affect the underlying SVG.\nMerge select attributes with existing inline style attribute to forward values to underlying SVG."
1671
1192
  },
1672
1193
  {
1673
1194
  "kind": "method",
1674
- "name": "#handleBackdropClick"
1195
+ "name": "handleLabelChange"
1196
+ },
1197
+ {
1198
+ "kind": "method",
1199
+ "name": "setIcon"
1675
1200
  }
1676
1201
  ],
1677
1202
  "events": [
1678
1203
  {
1679
- "description": "Emitted when the dialog opens.",
1680
- "name": "terra-dialog-show",
1681
- "reactName": "onTerraDialogShow",
1682
- "eventName": "TerraDialogShowEvent"
1204
+ "description": "Emitted when the icon has loaded.",
1205
+ "name": "terra-load",
1206
+ "reactName": "onTerraLoad",
1207
+ "eventName": "TerraLoadEvent"
1683
1208
  },
1684
1209
  {
1685
- "description": "Emitted when the dialog closes.",
1686
- "name": "terra-dialog-hide",
1687
- "reactName": "onTerraDialogHide",
1688
- "eventName": "TerraDialogHideEvent"
1210
+ "description": "Emitted when the icon fails to load due to an error.",
1211
+ "name": "terra-error",
1212
+ "reactName": "onTerraError",
1213
+ "eventName": "TerraErrorEvent"
1689
1214
  }
1690
1215
  ],
1691
1216
  "attributes": [
1692
1217
  {
1693
- "name": "id",
1218
+ "name": "name",
1694
1219
  "type": {
1695
- "text": "string"
1220
+ "text": "string | undefined"
1696
1221
  },
1697
- "description": "the ID to be used for accessibility associations",
1698
- "fieldName": "id"
1222
+ "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1223
+ "fieldName": "name"
1699
1224
  },
1700
1225
  {
1701
- "name": "width",
1226
+ "name": "src",
1702
1227
  "type": {
1703
- "text": "string"
1228
+ "text": "string | undefined"
1704
1229
  },
1705
- "default": "'500px'",
1706
- "description": "the width of the dialog",
1707
- "fieldName": "width"
1230
+ "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
1231
+ "fieldName": "src"
1708
1232
  },
1709
1233
  {
1710
- "name": "open",
1234
+ "name": "label",
1711
1235
  "type": {
1712
- "text": "boolean"
1236
+ "text": "string"
1713
1237
  },
1714
- "default": "false",
1715
- "description": "used to set the dialog's open state",
1716
- "fieldName": "open"
1238
+ "default": "''",
1239
+ "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1240
+ "fieldName": "label"
1717
1241
  },
1718
1242
  {
1719
- "name": "click-outside-to-close",
1243
+ "name": "library",
1720
1244
  "type": {
1721
- "text": "boolean"
1245
+ "text": "'default' | 'heroicons' | string"
1722
1246
  },
1723
- "default": "true",
1724
- "description": "allow closing the dialog when clicking outside of it",
1725
- "fieldName": "clickOutsideToClose"
1247
+ "default": "'default'",
1248
+ "description": "The name of a registered custom icon library.",
1249
+ "fieldName": "library"
1726
1250
  },
1727
1251
  {
1728
- "name": "show-backdrop",
1252
+ "name": "color",
1253
+ "type": {
1254
+ "text": "string | null"
1255
+ },
1256
+ "default": "null",
1257
+ "description": "The CSS color to assign to the SVG.",
1258
+ "fieldName": "color"
1259
+ },
1260
+ {
1261
+ "name": "font-size",
1262
+ "type": {
1263
+ "text": "string | null"
1264
+ },
1265
+ "default": "null",
1266
+ "description": "The CSS font-size to assign to the SVG.",
1267
+ "fieldName": "fontSize"
1268
+ }
1269
+ ],
1270
+ "superclass": {
1271
+ "name": "TerraElement",
1272
+ "module": "/src/internal/terra-element.js"
1273
+ },
1274
+ "summary": "Icons are symbols that can be used to represent various options within an application.",
1275
+ "tagNameWithoutPrefix": "icon",
1276
+ "tagName": "terra-icon",
1277
+ "customElement": true,
1278
+ "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://disc.gsfc.nasa.gov/components/icon\n * @status experimental\n * @since 1.0\n *\n * @event terra-load - Emitted when the icon has loaded.\n * @event terra-error - Emitted when the icon fails to load due to an error.\n *\n * @csspart svg - The internal SVG element.\n */",
1279
+ "documentation": "https://disc.gsfc.nasa.gov/components/icon",
1280
+ "status": "experimental",
1281
+ "since": "1.0"
1282
+ }
1283
+ ],
1284
+ "exports": [
1285
+ {
1286
+ "kind": "js",
1287
+ "name": "default",
1288
+ "declaration": {
1289
+ "name": "TerraIcon",
1290
+ "module": "components/icon/icon.js"
1291
+ }
1292
+ }
1293
+ ]
1294
+ },
1295
+ {
1296
+ "kind": "javascript-module",
1297
+ "path": "components/loader/loader.js",
1298
+ "declarations": [
1299
+ {
1300
+ "kind": "class",
1301
+ "description": "",
1302
+ "name": "TerraLoader",
1303
+ "cssProperties": [
1304
+ {
1305
+ "description": "An example CSS custom property.",
1306
+ "name": "--example"
1307
+ }
1308
+ ],
1309
+ "cssParts": [
1310
+ {
1311
+ "description": "The component's base wrapper.",
1312
+ "name": "base"
1313
+ }
1314
+ ],
1315
+ "members": [
1316
+ {
1317
+ "kind": "field",
1318
+ "name": "variant",
1319
+ "type": {
1320
+ "text": "'small' | 'large' | 'orbit'"
1321
+ },
1322
+ "default": "'large'",
1323
+ "description": "The loader's variant",
1324
+ "attribute": "variant",
1325
+ "reflects": true
1326
+ },
1327
+ {
1328
+ "kind": "field",
1329
+ "name": "percent",
1330
+ "type": {
1331
+ "text": "string"
1332
+ },
1333
+ "default": "'0'",
1334
+ "description": "The percent complete for the loader to display",
1335
+ "attribute": "percent"
1336
+ },
1337
+ {
1338
+ "kind": "field",
1339
+ "name": "indeterminate",
1729
1340
  "type": {
1730
1341
  "text": "boolean"
1731
1342
  },
1732
- "default": "true",
1733
- "description": "Show a backdrop behind the dialog",
1734
- "fieldName": "showBackdrop"
1343
+ "default": "false",
1344
+ "description": "an indeterminate loader has an unknown progress and will show a spinner",
1345
+ "attribute": "indeterminate"
1346
+ },
1347
+ {
1348
+ "kind": "field",
1349
+ "name": "_currentPercent",
1350
+ "type": {
1351
+ "text": "number"
1352
+ },
1353
+ "default": "0"
1354
+ },
1355
+ {
1356
+ "kind": "method",
1357
+ "name": "formatPercent",
1358
+ "parameters": [
1359
+ {
1360
+ "name": "percent",
1361
+ "type": {
1362
+ "text": "string"
1363
+ }
1364
+ }
1365
+ ]
1366
+ }
1367
+ ],
1368
+ "attributes": [
1369
+ {
1370
+ "name": "variant",
1371
+ "type": {
1372
+ "text": "'small' | 'large' | 'orbit'"
1373
+ },
1374
+ "default": "'large'",
1375
+ "description": "The loader's variant",
1376
+ "fieldName": "variant"
1377
+ },
1378
+ {
1379
+ "name": "percent",
1380
+ "type": {
1381
+ "text": "string"
1382
+ },
1383
+ "default": "'0'",
1384
+ "description": "The percent complete for the loader to display",
1385
+ "fieldName": "percent"
1386
+ },
1387
+ {
1388
+ "name": "indeterminate",
1389
+ "type": {
1390
+ "text": "boolean"
1391
+ },
1392
+ "default": "false",
1393
+ "description": "an indeterminate loader has an unknown progress and will show a spinner",
1394
+ "fieldName": "indeterminate"
1735
1395
  }
1736
1396
  ],
1737
1397
  "superclass": {
1738
1398
  "name": "TerraElement",
1739
1399
  "module": "/src/internal/terra-element.js"
1740
1400
  },
1741
- "summary": "Used to create both modal and non-modal dialog boxes.",
1742
- "tagNameWithoutPrefix": "dialog",
1743
- "tagName": "terra-dialog",
1401
+ "summary": "Loaders are used to indicate there is content that is loading.",
1402
+ "tagNameWithoutPrefix": "loader",
1403
+ "tagName": "terra-loader",
1744
1404
  "customElement": true,
1745
- "jsDoc": "/**\n * @summary Used to create both modal and non-modal dialog boxes.\n * @documentation https://disc.gsfc.nasa.gov/components/dialog\n * @status stable\n * @since 1.0\n *\n * @slot - The dialog's main content\n *\n * @event terra-dialog-show - Emitted when the dialog opens.\n * @event terra-dialog-hide - Emitted when the dialog closes.\n */",
1746
- "documentation": "https://disc.gsfc.nasa.gov/components/dialog",
1747
- "status": "stable",
1405
+ "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 */",
1406
+ "documentation": "https://disc.gsfc.nasa.gov/components/loader",
1407
+ "status": "experimental",
1748
1408
  "since": "1.0"
1749
1409
  }
1750
1410
  ],
@@ -1753,225 +1413,703 @@
1753
1413
  "kind": "js",
1754
1414
  "name": "default",
1755
1415
  "declaration": {
1756
- "name": "TerraDialog",
1757
- "module": "components/dialog/dialog.js"
1416
+ "name": "TerraLoader",
1417
+ "module": "components/loader/loader.js"
1758
1418
  }
1759
1419
  }
1760
1420
  ]
1761
1421
  },
1762
1422
  {
1763
1423
  "kind": "javascript-module",
1764
- "path": "components/icon/icon.js",
1424
+ "path": "components/button/button.js",
1765
1425
  "declarations": [
1766
1426
  {
1767
1427
  "kind": "class",
1768
1428
  "description": "",
1769
- "name": "TerraIcon",
1429
+ "name": "TerraButton",
1770
1430
  "cssParts": [
1771
1431
  {
1772
- "description": "The internal SVG element.",
1773
- "name": "svg"
1774
- }
1775
- ],
1776
- "members": [
1432
+ "description": "The component's base wrapper.",
1433
+ "name": "base"
1434
+ },
1435
+ {
1436
+ "description": "The container that wraps the prefix.",
1437
+ "name": "prefix"
1438
+ },
1439
+ {
1440
+ "description": "The button's label.",
1441
+ "name": "label"
1442
+ },
1443
+ {
1444
+ "description": "The container that wraps the suffix.",
1445
+ "name": "suffix"
1446
+ },
1447
+ {
1448
+ "description": "The button's caret icon, an `<sl-icon>` element.",
1449
+ "name": "caret"
1450
+ },
1451
+ {
1452
+ "description": "The spinner that shows when the button is in the loading state.",
1453
+ "name": "spinner"
1454
+ }
1455
+ ],
1456
+ "slots": [
1457
+ {
1458
+ "description": "The button's label.",
1459
+ "name": ""
1460
+ },
1461
+ {
1462
+ "description": "A presentational prefix icon or similar element.",
1463
+ "name": "prefix"
1464
+ },
1465
+ {
1466
+ "description": "A presentational suffix icon or similar element.",
1467
+ "name": "suffix"
1468
+ }
1469
+ ],
1470
+ "members": [
1471
+ {
1472
+ "kind": "field",
1473
+ "name": "formControlController",
1474
+ "privacy": "private",
1475
+ "readonly": true,
1476
+ "default": "new FormControlController(this, {\n assumeInteractionOn: ['click'],\n })"
1477
+ },
1478
+ {
1479
+ "kind": "field",
1480
+ "name": "hasSlotController",
1481
+ "privacy": "private",
1482
+ "readonly": true,
1483
+ "default": "new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n )"
1484
+ },
1485
+ {
1486
+ "kind": "field",
1487
+ "name": "button",
1488
+ "type": {
1489
+ "text": "HTMLButtonElement | HTMLLinkElement"
1490
+ }
1491
+ },
1492
+ {
1493
+ "kind": "field",
1494
+ "name": "hasFocus",
1495
+ "type": {
1496
+ "text": "boolean"
1497
+ },
1498
+ "privacy": "private",
1499
+ "default": "false"
1500
+ },
1501
+ {
1502
+ "kind": "field",
1503
+ "name": "invalid",
1504
+ "type": {
1505
+ "text": "boolean"
1506
+ },
1507
+ "default": "false"
1508
+ },
1509
+ {
1510
+ "kind": "field",
1511
+ "name": "title",
1512
+ "type": {
1513
+ "text": "string"
1514
+ },
1515
+ "default": "''",
1516
+ "attribute": "title"
1517
+ },
1518
+ {
1519
+ "kind": "field",
1520
+ "name": "variant",
1521
+ "type": {
1522
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
1523
+ },
1524
+ "default": "'primary'",
1525
+ "description": "The button's theme variant.",
1526
+ "attribute": "variant",
1527
+ "reflects": true
1528
+ },
1529
+ {
1530
+ "kind": "field",
1531
+ "name": "size",
1532
+ "type": {
1533
+ "text": "'small' | 'medium' | 'large'"
1534
+ },
1535
+ "default": "'medium'",
1536
+ "description": "The button's size.",
1537
+ "attribute": "size",
1538
+ "reflects": true
1539
+ },
1540
+ {
1541
+ "kind": "field",
1542
+ "name": "caret",
1543
+ "type": {
1544
+ "text": "boolean"
1545
+ },
1546
+ "default": "false",
1547
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
1548
+ "attribute": "caret",
1549
+ "reflects": true
1550
+ },
1551
+ {
1552
+ "kind": "field",
1553
+ "name": "shape",
1554
+ "type": {
1555
+ "text": "'square' | 'square-left' | 'square-right'"
1556
+ },
1557
+ "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
1558
+ "attribute": "shape",
1559
+ "reflects": true
1560
+ },
1561
+ {
1562
+ "kind": "field",
1563
+ "name": "disabled",
1564
+ "type": {
1565
+ "text": "boolean"
1566
+ },
1567
+ "default": "false",
1568
+ "description": "Disables the button.",
1569
+ "attribute": "disabled",
1570
+ "reflects": true
1571
+ },
1572
+ {
1573
+ "kind": "field",
1574
+ "name": "loading",
1575
+ "type": {
1576
+ "text": "boolean"
1577
+ },
1578
+ "default": "false",
1579
+ "description": "Draws the button in a loading state.",
1580
+ "attribute": "loading",
1581
+ "reflects": true
1582
+ },
1583
+ {
1584
+ "kind": "field",
1585
+ "name": "outline",
1586
+ "type": {
1587
+ "text": "boolean"
1588
+ },
1589
+ "default": "false",
1590
+ "description": "Draws an outlined button.",
1591
+ "attribute": "outline",
1592
+ "reflects": true
1593
+ },
1594
+ {
1595
+ "kind": "field",
1596
+ "name": "circle",
1597
+ "type": {
1598
+ "text": "boolean"
1599
+ },
1600
+ "default": "false",
1601
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
1602
+ "attribute": "circle",
1603
+ "reflects": true
1604
+ },
1605
+ {
1606
+ "kind": "field",
1607
+ "name": "type",
1608
+ "type": {
1609
+ "text": "'button' | 'submit' | 'reset'"
1610
+ },
1611
+ "default": "'button'",
1612
+ "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.",
1613
+ "attribute": "type"
1614
+ },
1615
+ {
1616
+ "kind": "field",
1617
+ "name": "name",
1618
+ "type": {
1619
+ "text": "string"
1620
+ },
1621
+ "default": "''",
1622
+ "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.",
1623
+ "attribute": "name"
1624
+ },
1625
+ {
1626
+ "kind": "field",
1627
+ "name": "value",
1628
+ "type": {
1629
+ "text": "string"
1630
+ },
1631
+ "default": "''",
1632
+ "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.",
1633
+ "attribute": "value"
1634
+ },
1635
+ {
1636
+ "kind": "field",
1637
+ "name": "href",
1638
+ "type": {
1639
+ "text": "string"
1640
+ },
1641
+ "default": "''",
1642
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
1643
+ "attribute": "href"
1644
+ },
1645
+ {
1646
+ "kind": "field",
1647
+ "name": "target",
1648
+ "type": {
1649
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
1650
+ },
1651
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
1652
+ "attribute": "target"
1653
+ },
1654
+ {
1655
+ "kind": "field",
1656
+ "name": "rel",
1657
+ "type": {
1658
+ "text": "string"
1659
+ },
1660
+ "default": "'noreferrer noopener'",
1661
+ "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.",
1662
+ "attribute": "rel"
1663
+ },
1664
+ {
1665
+ "kind": "field",
1666
+ "name": "download",
1667
+ "type": {
1668
+ "text": "string | undefined"
1669
+ },
1670
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
1671
+ "attribute": "download"
1672
+ },
1673
+ {
1674
+ "kind": "field",
1675
+ "name": "form",
1676
+ "type": {
1677
+ "text": "string"
1678
+ },
1679
+ "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.",
1680
+ "attribute": "form"
1681
+ },
1682
+ {
1683
+ "kind": "field",
1684
+ "name": "formAction",
1685
+ "type": {
1686
+ "text": "string"
1687
+ },
1688
+ "description": "Used to override the form owner's `action` attribute.",
1689
+ "attribute": "formaction"
1690
+ },
1691
+ {
1692
+ "kind": "field",
1693
+ "name": "formEnctype",
1694
+ "type": {
1695
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
1696
+ },
1697
+ "description": "Used to override the form owner's `enctype` attribute.",
1698
+ "attribute": "formenctype"
1699
+ },
1700
+ {
1701
+ "kind": "field",
1702
+ "name": "formMethod",
1703
+ "type": {
1704
+ "text": "'post' | 'get'"
1705
+ },
1706
+ "description": "Used to override the form owner's `method` attribute.",
1707
+ "attribute": "formmethod"
1708
+ },
1709
+ {
1710
+ "kind": "field",
1711
+ "name": "formNoValidate",
1712
+ "type": {
1713
+ "text": "boolean"
1714
+ },
1715
+ "description": "Used to override the form owner's `novalidate` attribute.",
1716
+ "attribute": "formnovalidate"
1717
+ },
1718
+ {
1719
+ "kind": "field",
1720
+ "name": "formTarget",
1721
+ "type": {
1722
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
1723
+ },
1724
+ "description": "Used to override the form owner's `target` attribute.",
1725
+ "attribute": "formtarget"
1726
+ },
1727
+ {
1728
+ "kind": "field",
1729
+ "name": "forDialog",
1730
+ "type": {
1731
+ "text": "string | undefined"
1732
+ },
1733
+ "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
1734
+ "attribute": "for-dialog"
1735
+ },
1736
+ {
1737
+ "kind": "field",
1738
+ "name": "expanded",
1739
+ "type": {
1740
+ "text": "boolean"
1741
+ },
1742
+ "default": "false",
1743
+ "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"
1744
+ },
1745
+ {
1746
+ "kind": "field",
1747
+ "name": "validity",
1748
+ "description": "Gets the validity state object",
1749
+ "readonly": true
1750
+ },
1751
+ {
1752
+ "kind": "field",
1753
+ "name": "validationMessage",
1754
+ "description": "Gets the validation message",
1755
+ "readonly": true
1756
+ },
1757
+ {
1758
+ "kind": "method",
1759
+ "name": "#handleDialogStateChange",
1760
+ "parameters": [
1761
+ {
1762
+ "name": "e",
1763
+ "type": {
1764
+ "text": "TerraDialogShowEvent | TerraDialogHideEvent"
1765
+ }
1766
+ }
1767
+ ]
1768
+ },
1769
+ {
1770
+ "kind": "method",
1771
+ "name": "handleBlur",
1772
+ "privacy": "private"
1773
+ },
1774
+ {
1775
+ "kind": "method",
1776
+ "name": "handleFocus",
1777
+ "privacy": "private"
1778
+ },
1779
+ {
1780
+ "kind": "method",
1781
+ "name": "handleClick",
1782
+ "privacy": "private"
1783
+ },
1784
+ {
1785
+ "kind": "method",
1786
+ "name": "handleInvalid",
1787
+ "privacy": "private",
1788
+ "parameters": [
1789
+ {
1790
+ "name": "event",
1791
+ "type": {
1792
+ "text": "Event"
1793
+ }
1794
+ }
1795
+ ]
1796
+ },
1797
+ {
1798
+ "kind": "method",
1799
+ "name": "isButton",
1800
+ "privacy": "private"
1801
+ },
1802
+ {
1803
+ "kind": "method",
1804
+ "name": "isLink",
1805
+ "privacy": "private"
1806
+ },
1807
+ {
1808
+ "kind": "method",
1809
+ "name": "handleDisabledChange"
1810
+ },
1811
+ {
1812
+ "kind": "method",
1813
+ "name": "click",
1814
+ "description": "Simulates a click on the button."
1815
+ },
1816
+ {
1817
+ "kind": "method",
1818
+ "name": "focus",
1819
+ "parameters": [
1820
+ {
1821
+ "name": "options",
1822
+ "optional": true,
1823
+ "type": {
1824
+ "text": "FocusOptions"
1825
+ }
1826
+ }
1827
+ ],
1828
+ "description": "Sets focus on the button."
1829
+ },
1830
+ {
1831
+ "kind": "method",
1832
+ "name": "blur",
1833
+ "description": "Removes focus from the button."
1834
+ },
1835
+ {
1836
+ "kind": "method",
1837
+ "name": "checkValidity",
1838
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
1839
+ },
1840
+ {
1841
+ "kind": "method",
1842
+ "name": "getForm",
1843
+ "return": {
1844
+ "type": {
1845
+ "text": "HTMLFormElement | null"
1846
+ }
1847
+ },
1848
+ "description": "Gets the associated form, if one exists."
1849
+ },
1850
+ {
1851
+ "kind": "method",
1852
+ "name": "reportValidity",
1853
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
1854
+ },
1855
+ {
1856
+ "kind": "method",
1857
+ "name": "setCustomValidity",
1858
+ "parameters": [
1859
+ {
1860
+ "name": "message",
1861
+ "type": {
1862
+ "text": "string"
1863
+ }
1864
+ }
1865
+ ],
1866
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
1867
+ },
1868
+ {
1869
+ "kind": "method",
1870
+ "name": "setPageLinkIcon",
1871
+ "return": {
1872
+ "type": {
1873
+ "text": "string"
1874
+ }
1875
+ },
1876
+ "parameters": [
1877
+ {
1878
+ "name": "href",
1879
+ "type": {
1880
+ "text": "string"
1881
+ }
1882
+ }
1883
+ ]
1884
+ },
1885
+ {
1886
+ "kind": "method",
1887
+ "name": "setFontSize",
1888
+ "return": {
1889
+ "type": {
1890
+ "text": "string"
1891
+ }
1892
+ },
1893
+ "parameters": [
1894
+ {
1895
+ "name": "size",
1896
+ "type": {
1897
+ "text": "string"
1898
+ }
1899
+ }
1900
+ ]
1901
+ }
1902
+ ],
1903
+ "attributes": [
1904
+ {
1905
+ "name": "title",
1906
+ "type": {
1907
+ "text": "string"
1908
+ },
1909
+ "default": "''",
1910
+ "fieldName": "title"
1911
+ },
1912
+ {
1913
+ "name": "variant",
1914
+ "type": {
1915
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'warning'\n | 'danger'\n | 'text'\n | 'pagelink'"
1916
+ },
1917
+ "default": "'primary'",
1918
+ "description": "The button's theme variant.",
1919
+ "fieldName": "variant"
1920
+ },
1921
+ {
1922
+ "name": "size",
1923
+ "type": {
1924
+ "text": "'small' | 'medium' | 'large'"
1925
+ },
1926
+ "default": "'medium'",
1927
+ "description": "The button's size.",
1928
+ "fieldName": "size"
1929
+ },
1930
+ {
1931
+ "name": "caret",
1932
+ "type": {
1933
+ "text": "boolean"
1934
+ },
1935
+ "default": "false",
1936
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
1937
+ "fieldName": "caret"
1938
+ },
1939
+ {
1940
+ "name": "shape",
1941
+ "type": {
1942
+ "text": "'square' | 'square-left' | 'square-right'"
1943
+ },
1944
+ "description": "The button's shape. Used to control the radius edge shape when button is not in a terra-button-group.",
1945
+ "fieldName": "shape"
1946
+ },
1947
+ {
1948
+ "name": "disabled",
1949
+ "type": {
1950
+ "text": "boolean"
1951
+ },
1952
+ "default": "false",
1953
+ "description": "Disables the button.",
1954
+ "fieldName": "disabled"
1955
+ },
1777
1956
  {
1778
- "kind": "field",
1779
- "name": "#initialRender",
1780
- "privacy": "private",
1957
+ "name": "loading",
1781
1958
  "type": {
1782
1959
  "text": "boolean"
1783
1960
  },
1784
- "default": "false"
1961
+ "default": "false",
1962
+ "description": "Draws the button in a loading state.",
1963
+ "fieldName": "loading"
1785
1964
  },
1786
1965
  {
1787
- "kind": "field",
1788
- "name": "svg",
1966
+ "name": "outline",
1789
1967
  "type": {
1790
- "text": "SVGElement | HTMLTemplateResult | null"
1968
+ "text": "boolean"
1791
1969
  },
1792
- "default": "null"
1970
+ "default": "false",
1971
+ "description": "Draws an outlined button.",
1972
+ "fieldName": "outline"
1793
1973
  },
1794
1974
  {
1795
- "kind": "field",
1796
- "name": "name",
1975
+ "name": "circle",
1797
1976
  "type": {
1798
- "text": "string | undefined"
1977
+ "text": "boolean"
1799
1978
  },
1800
- "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1801
- "attribute": "name",
1802
- "reflects": true
1979
+ "default": "false",
1980
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<terra-icon>` in the\ndefault slot.",
1981
+ "fieldName": "circle"
1803
1982
  },
1804
1983
  {
1805
- "kind": "field",
1806
- "name": "src",
1984
+ "name": "type",
1807
1985
  "type": {
1808
- "text": "string | undefined"
1986
+ "text": "'button' | 'submit' | 'reset'"
1809
1987
  },
1810
- "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
1811
- "attribute": "src"
1988
+ "default": "'button'",
1989
+ "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.",
1990
+ "fieldName": "type"
1812
1991
  },
1813
1992
  {
1814
- "kind": "field",
1815
- "name": "label",
1993
+ "name": "name",
1816
1994
  "type": {
1817
1995
  "text": "string"
1818
1996
  },
1819
1997
  "default": "''",
1820
- "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1821
- "attribute": "label"
1998
+ "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.",
1999
+ "fieldName": "name"
1822
2000
  },
1823
2001
  {
1824
- "kind": "field",
1825
- "name": "library",
2002
+ "name": "value",
1826
2003
  "type": {
1827
- "text": "'default' | 'heroicons' | string"
2004
+ "text": "string"
1828
2005
  },
1829
- "default": "'default'",
1830
- "description": "The name of a registered custom icon library.",
1831
- "attribute": "library",
1832
- "reflects": true
2006
+ "default": "''",
2007
+ "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.",
2008
+ "fieldName": "value"
1833
2009
  },
1834
2010
  {
1835
- "kind": "field",
1836
- "name": "color",
2011
+ "name": "href",
1837
2012
  "type": {
1838
- "text": "string | null"
2013
+ "text": "string"
1839
2014
  },
1840
- "default": "null",
1841
- "description": "The CSS color to assign to the SVG.",
1842
- "attribute": "color"
2015
+ "default": "''",
2016
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
2017
+ "fieldName": "href"
1843
2018
  },
1844
2019
  {
1845
- "kind": "field",
1846
- "name": "fontSize",
2020
+ "name": "target",
1847
2021
  "type": {
1848
- "text": "string | null"
2022
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
1849
2023
  },
1850
- "default": "null",
1851
- "description": "The CSS font-size to assign to the SVG.",
1852
- "attribute": "font-size"
2024
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
2025
+ "fieldName": "target"
1853
2026
  },
1854
2027
  {
1855
- "kind": "method",
1856
- "name": "#resolveIcon",
1857
- "return": {
1858
- "type": {
1859
- "text": "Promise<SVGResult>"
1860
- }
2028
+ "name": "rel",
2029
+ "type": {
2030
+ "text": "string"
1861
2031
  },
1862
- "parameters": [
1863
- {
1864
- "name": "url",
1865
- "type": {
1866
- "text": "string"
1867
- }
1868
- }
1869
- ],
1870
- "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
1871
- },
1872
- {
1873
- "kind": "method",
1874
- "name": "#getIconSource",
1875
- "return": {
1876
- "type": {
1877
- "text": "IconSource"
1878
- }
1879
- }
1880
- },
1881
- {
1882
- "kind": "method",
1883
- "name": "#styleFromAttributes",
1884
- "description": "SVG takes a few presentation attributes. Since we're using a template for SVG and our host element isn't an SVG, we can pass those presentational attributes into a style attribute to affect the underlying SVG.\nMerge select attributes with existing inline style attribute to forward values to underlying SVG."
2032
+ "default": "'noreferrer noopener'",
2033
+ "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.",
2034
+ "fieldName": "rel"
1885
2035
  },
1886
2036
  {
1887
- "kind": "method",
1888
- "name": "handleLabelChange"
2037
+ "name": "download",
2038
+ "type": {
2039
+ "text": "string | undefined"
2040
+ },
2041
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
2042
+ "fieldName": "download"
1889
2043
  },
1890
2044
  {
1891
- "kind": "method",
1892
- "name": "setIcon"
1893
- }
1894
- ],
1895
- "events": [
1896
- {
1897
- "description": "Emitted when the icon has loaded.",
1898
- "name": "terra-load",
1899
- "reactName": "onTerraLoad",
1900
- "eventName": "TerraLoadEvent"
2045
+ "name": "form",
2046
+ "type": {
2047
+ "text": "string"
2048
+ },
2049
+ "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.",
2050
+ "fieldName": "form"
1901
2051
  },
1902
2052
  {
1903
- "description": "Emitted when the icon fails to load due to an error.",
1904
- "name": "terra-error",
1905
- "reactName": "onTerraError",
1906
- "eventName": "TerraErrorEvent"
1907
- }
1908
- ],
1909
- "attributes": [
1910
- {
1911
- "name": "name",
2053
+ "name": "formaction",
1912
2054
  "type": {
1913
- "text": "string | undefined"
2055
+ "text": "string"
1914
2056
  },
1915
- "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1916
- "fieldName": "name"
2057
+ "description": "Used to override the form owner's `action` attribute.",
2058
+ "fieldName": "formAction"
1917
2059
  },
1918
2060
  {
1919
- "name": "src",
2061
+ "name": "formenctype",
1920
2062
  "type": {
1921
- "text": "string | undefined"
2063
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
1922
2064
  },
1923
- "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
1924
- "fieldName": "src"
2065
+ "description": "Used to override the form owner's `enctype` attribute.",
2066
+ "fieldName": "formEnctype"
1925
2067
  },
1926
2068
  {
1927
- "name": "label",
2069
+ "name": "formmethod",
1928
2070
  "type": {
1929
- "text": "string"
2071
+ "text": "'post' | 'get'"
1930
2072
  },
1931
- "default": "''",
1932
- "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1933
- "fieldName": "label"
2073
+ "description": "Used to override the form owner's `method` attribute.",
2074
+ "fieldName": "formMethod"
1934
2075
  },
1935
2076
  {
1936
- "name": "library",
2077
+ "name": "formnovalidate",
1937
2078
  "type": {
1938
- "text": "'default' | 'heroicons' | string"
2079
+ "text": "boolean"
1939
2080
  },
1940
- "default": "'default'",
1941
- "description": "The name of a registered custom icon library.",
1942
- "fieldName": "library"
2081
+ "description": "Used to override the form owner's `novalidate` attribute.",
2082
+ "fieldName": "formNoValidate"
1943
2083
  },
1944
2084
  {
1945
- "name": "color",
2085
+ "name": "formtarget",
1946
2086
  "type": {
1947
- "text": "string | null"
2087
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
1948
2088
  },
1949
- "default": "null",
1950
- "description": "The CSS color to assign to the SVG.",
1951
- "fieldName": "color"
2089
+ "description": "Used to override the form owner's `target` attribute.",
2090
+ "fieldName": "formTarget"
1952
2091
  },
1953
2092
  {
1954
- "name": "font-size",
2093
+ "name": "for-dialog",
1955
2094
  "type": {
1956
- "text": "string | null"
2095
+ "text": "string | undefined"
1957
2096
  },
1958
- "default": "null",
1959
- "description": "The CSS font-size to assign to the SVG.",
1960
- "fieldName": "fontSize"
2097
+ "description": "Used to connect this button to a dqialog on the page. Clicking the button will toggle the dialog's visiblity",
2098
+ "fieldName": "forDialog"
1961
2099
  }
1962
2100
  ],
1963
2101
  "superclass": {
1964
2102
  "name": "TerraElement",
1965
2103
  "module": "/src/internal/terra-element.js"
1966
2104
  },
1967
- "summary": "Icons are symbols that can be used to represent various options within an application.",
1968
- "tagNameWithoutPrefix": "icon",
1969
- "tagName": "terra-icon",
2105
+ "summary": "Buttons represent actions that are available to the user.",
2106
+ "tagNameWithoutPrefix": "button",
2107
+ "tagName": "terra-button",
1970
2108
  "customElement": true,
1971
- "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://disc.gsfc.nasa.gov/components/icon\n * @status experimental\n * @since 1.0\n *\n * @event terra-load - Emitted when the icon has loaded.\n * @event terra-error - Emitted when the icon fails to load due to an error.\n *\n * @csspart svg - The internal SVG element.\n */",
1972
- "documentation": "https://disc.gsfc.nasa.gov/components/icon",
1973
- "status": "experimental",
1974
- "since": "1.0"
2109
+ "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 */",
2110
+ "documentation": "https://shoelace.style/components/button",
2111
+ "status": "stable",
2112
+ "since": "2.0"
1975
2113
  }
1976
2114
  ],
1977
2115
  "exports": [
@@ -1979,25 +2117,29 @@
1979
2117
  "kind": "js",
1980
2118
  "name": "default",
1981
2119
  "declaration": {
1982
- "name": "TerraIcon",
1983
- "module": "components/icon/icon.js"
2120
+ "name": "TerraButton",
2121
+ "module": "components/button/button.js"
1984
2122
  }
1985
2123
  }
1986
2124
  ]
1987
2125
  },
1988
2126
  {
1989
2127
  "kind": "javascript-module",
1990
- "path": "components/giovanni-search/giovanni-search.js",
2128
+ "path": "components/combobox/combobox.js",
1991
2129
  "declarations": [
1992
2130
  {
1993
2131
  "kind": "class",
1994
2132
  "description": "",
1995
- "name": "TerraGiovanniSearch",
2133
+ "name": "TerraCombobox",
1996
2134
  "cssProperties": [
1997
2135
  {
1998
2136
  "description": "The height of the host element.",
1999
2137
  "name": "--host-height"
2000
2138
  },
2139
+ {
2140
+ "description": "The height of the search help element.",
2141
+ "name": "--help-height"
2142
+ },
2001
2143
  {
2002
2144
  "description": "The height of the input's label element.",
2003
2145
  "name": "--label-height"
@@ -2022,15 +2164,6 @@
2022
2164
  }
2023
2165
  ],
2024
2166
  "members": [
2025
- {
2026
- "kind": "field",
2027
- "name": "dependencies",
2028
- "type": {
2029
- "text": "object"
2030
- },
2031
- "static": true,
2032
- "default": "{\n 'terra-button': TerraButton,\n 'terra-icon': TerraIcon,\n }"
2033
- },
2034
2167
  {
2035
2168
  "kind": "field",
2036
2169
  "name": "shadowRootOptions",
@@ -2047,7 +2180,7 @@
2047
2180
  "text": "string"
2048
2181
  },
2049
2182
  "static": true,
2050
- "default": "'terra-giovanni-search'"
2183
+ "default": "'terra-combobox'"
2051
2184
  },
2052
2185
  {
2053
2186
  "kind": "field",
@@ -2063,15 +2196,9 @@
2063
2196
  "name": "#combobox",
2064
2197
  "privacy": "private",
2065
2198
  "type": {
2066
- "text": "HTMLInputElement | null"
2067
- },
2068
- "default": "null"
2069
- },
2070
- {
2071
- "kind": "field",
2072
- "name": "#fetchController",
2073
- "privacy": "private",
2074
- "default": "new FetchController(this)"
2199
+ "text": "HTMLInputElement | null"
2200
+ },
2201
+ "default": "null"
2075
2202
  },
2076
2203
  {
2077
2204
  "kind": "field",
@@ -2087,7 +2214,7 @@
2087
2214
  "name": "#searchEngine",
2088
2215
  "privacy": "private",
2089
2216
  "type": {
2090
- "text": "Fuse<ListItem> | null"
2217
+ "text": "Fuse<GroupedListItem | ListItem> | null"
2091
2218
  },
2092
2219
  "default": "null"
2093
2220
  },
@@ -2106,10 +2233,20 @@
2106
2233
  "type": {
2107
2234
  "text": "string"
2108
2235
  },
2109
- "default": "'Enter search terms (e.g., precipitation, AOD)'",
2236
+ "default": "'Search for Items'",
2110
2237
  "description": "Label the combobox with this.",
2111
2238
  "attribute": "label"
2112
2239
  },
2240
+ {
2241
+ "kind": "field",
2242
+ "name": "name",
2243
+ "type": {
2244
+ "text": "string"
2245
+ },
2246
+ "default": "'Item'",
2247
+ "description": "name the combobox with this.",
2248
+ "attribute": "name"
2249
+ },
2113
2250
  {
2114
2251
  "kind": "field",
2115
2252
  "name": "placeholder",
@@ -2119,33 +2256,45 @@
2119
2256
  "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
2120
2257
  "attribute": "placeholder"
2121
2258
  },
2259
+ {
2260
+ "kind": "field",
2261
+ "name": "hideHelp",
2262
+ "type": {
2263
+ "text": "boolean"
2264
+ },
2265
+ "default": "false",
2266
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
2267
+ "attribute": "hide-help"
2268
+ },
2122
2269
  {
2123
2270
  "kind": "field",
2124
2271
  "name": "hideLabel",
2125
2272
  "type": {
2126
2273
  "text": "boolean"
2127
2274
  },
2128
- "default": "true",
2275
+ "default": "false",
2129
2276
  "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
2130
2277
  "attribute": "hide-label"
2131
2278
  },
2132
2279
  {
2133
2280
  "kind": "field",
2134
- "name": "searchConfig",
2281
+ "name": "status",
2135
2282
  "type": {
2136
- "text": "object"
2283
+ "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
2137
2284
  },
2138
- "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
2139
- "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
2140
- "attribute": "searchConfig"
2285
+ "default": "'INITIAL'",
2286
+ "description": "status of the content",
2287
+ "attribute": "status"
2141
2288
  },
2142
2289
  {
2143
2290
  "kind": "field",
2144
- "name": "value",
2291
+ "name": "content",
2145
2292
  "type": {
2146
- "text": "string"
2293
+ "text": "Content"
2147
2294
  },
2148
- "attribute": "value"
2295
+ "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
2296
+ "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
2297
+ "attribute": "content"
2149
2298
  },
2150
2299
  {
2151
2300
  "kind": "field",
@@ -2163,94 +2312,82 @@
2163
2312
  "kind": "field",
2164
2313
  "name": "searchResults",
2165
2314
  "type": {
2166
- "text": "ListItem[]"
2315
+ "text": "GroupedListItem[] | ListItem[]"
2167
2316
  },
2168
2317
  "default": "[]"
2169
2318
  },
2170
2319
  {
2171
2320
  "kind": "method",
2172
- "name": "valueChanged",
2321
+ "name": "contentChanged",
2173
2322
  "parameters": [
2174
2323
  {
2175
2324
  "name": "_oldValue",
2176
2325
  "type": {
2177
- "text": "string"
2326
+ "text": "any"
2178
2327
  }
2179
2328
  },
2180
2329
  {
2181
2330
  "name": "newValue",
2182
2331
  "type": {
2183
- "text": "string"
2332
+ "text": "any"
2184
2333
  }
2185
2334
  }
2186
2335
  ]
2187
2336
  },
2188
2337
  {
2189
- "kind": "method",
2190
- "name": "clear"
2338
+ "kind": "field",
2339
+ "name": "#renderListItem",
2340
+ "privacy": "private"
2191
2341
  },
2192
2342
  {
2193
- "kind": "method",
2194
- "name": "close"
2343
+ "kind": "field",
2344
+ "name": "#renderGroupListItem",
2345
+ "privacy": "private"
2195
2346
  },
2196
2347
  {
2197
- "kind": "method",
2198
- "name": "toggle"
2348
+ "kind": "field",
2349
+ "name": "#renderError",
2350
+ "privacy": "private"
2199
2351
  },
2200
2352
  {
2201
2353
  "kind": "field",
2202
- "name": "#handleComboboxChange",
2354
+ "name": "#renderLoading",
2203
2355
  "privacy": "private"
2204
2356
  },
2205
2357
  {
2206
2358
  "kind": "field",
2207
- "name": "#handleOptionClick",
2359
+ "name": "#dispatchChange",
2208
2360
  "privacy": "private"
2209
2361
  },
2210
2362
  {
2211
2363
  "kind": "field",
2212
- "name": "#handleKeydown",
2364
+ "name": "#handleButtonClick",
2213
2365
  "privacy": "private"
2214
2366
  },
2215
2367
  {
2216
2368
  "kind": "field",
2217
- "name": "#manageListboxVisibility",
2369
+ "name": "#handleComboboxChange",
2218
2370
  "privacy": "private"
2219
2371
  },
2220
2372
  {
2221
2373
  "kind": "field",
2222
- "name": "#selectOption",
2374
+ "name": "#handleOptionClick",
2223
2375
  "privacy": "private"
2224
2376
  },
2225
2377
  {
2226
- "kind": "method",
2227
- "name": "#handleSearch",
2228
- "parameters": [
2229
- {
2230
- "name": "query",
2231
- "type": {
2232
- "text": "string"
2233
- }
2234
- }
2235
- ]
2378
+ "kind": "field",
2379
+ "name": "#handleKeydown",
2380
+ "privacy": "private"
2236
2381
  },
2237
2382
  {
2238
- "kind": "method",
2239
- "name": "#clearSearch"
2240
- }
2241
- ],
2242
- "events": [
2243
- {
2244
- "description": "Emitted when an option is selected.",
2245
- "name": "terra-giovanni-search-change",
2246
- "reactName": "onTerraGiovanniSearchChange",
2247
- "eventName": "TerraGiovanniSearchChangeEvent"
2383
+ "kind": "field",
2384
+ "name": "#manageListboxVisibility",
2385
+ "privacy": "private"
2248
2386
  },
2249
2387
  {
2250
- "description": "Emitted when the component is triggering a search (like a form triggering submit).",
2251
- "name": "terra-search",
2252
- "reactName": "onTerraSearch",
2253
- "eventName": "TerraSearchEvent"
2388
+ "kind": "field",
2389
+ "name": "#selectOption",
2390
+ "privacy": "private"
2254
2391
  }
2255
2392
  ],
2256
2393
  "attributes": [
@@ -2259,181 +2396,74 @@
2259
2396
  "type": {
2260
2397
  "text": "string"
2261
2398
  },
2262
- "default": "'Enter search terms (e.g., precipitation, AOD)'",
2399
+ "default": "'Search for Items'",
2263
2400
  "description": "Label the combobox with this.",
2264
2401
  "fieldName": "label"
2265
2402
  },
2266
2403
  {
2267
- "name": "placeholder",
2268
- "type": {
2269
- "text": "string"
2270
- },
2271
- "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
2272
- "fieldName": "placeholder"
2273
- },
2274
- {
2275
- "name": "hide-label",
2276
- "type": {
2277
- "text": "boolean"
2278
- },
2279
- "default": "true",
2280
- "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
2281
- "fieldName": "hideLabel"
2282
- },
2283
- {
2284
- "name": "searchConfig",
2285
- "type": {
2286
- "text": "object"
2287
- },
2288
- "default": "{\n //* @see {@link https://www.fusejs.io/api/options.html#options}\n keys: ['id'],\n useExtendedSearch: true,\n }",
2289
- "description": "type can be `Boolean`, `String`, `Number`, `Object`, or `Array`",
2290
- "fieldName": "searchConfig"
2291
- },
2292
- {
2293
- "name": "value",
2294
- "type": {
2295
- "text": "string"
2296
- },
2297
- "fieldName": "value"
2298
- }
2299
- ],
2300
- "superclass": {
2301
- "name": "TerraElement",
2302
- "module": "/src/internal/terra-element.js"
2303
- },
2304
- "summary": "Fuzzy-search for dataset keywords in combobox with list autocomplete.",
2305
- "tagNameWithoutPrefix": "giovanni-search",
2306
- "tagName": "terra-giovanni-search",
2307
- "customElement": true,
2308
- "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-giovanni-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 */",
2309
- "documentation": "https://disc.gsfc.nasa.gov/components/giovanni-serch",
2310
- "status": "MVP",
2311
- "since": "1.0"
2312
- }
2313
- ],
2314
- "exports": [
2315
- {
2316
- "kind": "js",
2317
- "name": "default",
2318
- "declaration": {
2319
- "name": "TerraGiovanniSearch",
2320
- "module": "components/giovanni-search/giovanni-search.js"
2321
- }
2322
- }
2323
- ]
2324
- },
2325
- {
2326
- "kind": "javascript-module",
2327
- "path": "components/loader/loader.js",
2328
- "declarations": [
2329
- {
2330
- "kind": "class",
2331
- "description": "",
2332
- "name": "TerraLoader",
2333
- "cssProperties": [
2334
- {
2335
- "description": "An example CSS custom property.",
2336
- "name": "--example"
2337
- }
2338
- ],
2339
- "cssParts": [
2340
- {
2341
- "description": "The component's base wrapper.",
2342
- "name": "base"
2343
- }
2344
- ],
2345
- "members": [
2346
- {
2347
- "kind": "field",
2348
- "name": "variant",
2349
- "type": {
2350
- "text": "'small' | 'large' | 'orbit'"
2351
- },
2352
- "default": "'large'",
2353
- "description": "The loader's variant",
2354
- "attribute": "variant",
2355
- "reflects": true
2356
- },
2357
- {
2358
- "kind": "field",
2359
- "name": "percent",
2404
+ "name": "name",
2360
2405
  "type": {
2361
2406
  "text": "string"
2362
2407
  },
2363
- "default": "'0'",
2364
- "description": "The percent complete for the loader to display",
2365
- "attribute": "percent"
2366
- },
2367
- {
2368
- "kind": "field",
2369
- "name": "indeterminate",
2370
- "type": {
2371
- "text": "boolean"
2372
- },
2373
- "default": "false",
2374
- "description": "an indeterminate loader has an unknown progress and will show a spinner",
2375
- "attribute": "indeterminate"
2376
- },
2377
- {
2378
- "kind": "field",
2379
- "name": "_currentPercent",
2380
- "type": {
2381
- "text": "number"
2382
- },
2383
- "default": "0"
2384
- },
2385
- {
2386
- "kind": "method",
2387
- "name": "formatPercent",
2388
- "parameters": [
2389
- {
2390
- "name": "percent",
2391
- "type": {
2392
- "text": "string"
2393
- }
2394
- }
2395
- ]
2396
- }
2397
- ],
2398
- "attributes": [
2399
- {
2400
- "name": "variant",
2401
- "type": {
2402
- "text": "'small' | 'large' | 'orbit'"
2403
- },
2404
- "default": "'large'",
2405
- "description": "The loader's variant",
2406
- "fieldName": "variant"
2408
+ "default": "'Item'",
2409
+ "description": "name the combobox with this.",
2410
+ "fieldName": "name"
2407
2411
  },
2408
2412
  {
2409
- "name": "percent",
2413
+ "name": "placeholder",
2410
2414
  "type": {
2411
2415
  "text": "string"
2412
2416
  },
2413
- "default": "'0'",
2414
- "description": "The percent complete for the loader to display",
2415
- "fieldName": "percent"
2417
+ "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
2418
+ "fieldName": "placeholder"
2416
2419
  },
2417
2420
  {
2418
- "name": "indeterminate",
2421
+ "name": "hide-help",
2419
2422
  "type": {
2420
2423
  "text": "boolean"
2421
2424
  },
2422
2425
  "default": "false",
2423
- "description": "an indeterminate loader has an unknown progress and will show a spinner",
2424
- "fieldName": "indeterminate"
2426
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
2427
+ "fieldName": "hideHelp"
2428
+ },
2429
+ {
2430
+ "name": "hide-label",
2431
+ "type": {
2432
+ "text": "boolean"
2433
+ },
2434
+ "default": "false",
2435
+ "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
2436
+ "fieldName": "hideLabel"
2437
+ },
2438
+ {
2439
+ "name": "status",
2440
+ "type": {
2441
+ "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
2442
+ },
2443
+ "default": "'INITIAL'",
2444
+ "description": "status of the content",
2445
+ "fieldName": "status"
2446
+ },
2447
+ {
2448
+ "name": "content",
2449
+ "type": {
2450
+ "text": "Content"
2451
+ },
2452
+ "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
2453
+ "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
2454
+ "fieldName": "content"
2425
2455
  }
2426
2456
  ],
2427
2457
  "superclass": {
2428
2458
  "name": "TerraElement",
2429
2459
  "module": "/src/internal/terra-element.js"
2430
2460
  },
2431
- "summary": "Loaders are used to indicate there is content that is loading.",
2432
- "tagNameWithoutPrefix": "loader",
2433
- "tagName": "terra-loader",
2461
+ "summary": "Fuzzy-search for combobox with list autocomplete.",
2462
+ "tagNameWithoutPrefix": "combobox",
2463
+ "tagName": "terra-combobox",
2434
2464
  "customElement": true,
2435
- "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 */",
2436
- "documentation": "https://disc.gsfc.nasa.gov/components/loader",
2465
+ "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 */",
2466
+ "documentation": "https://disc.gsfc.nasa.gov/components/combobox",
2437
2467
  "status": "experimental",
2438
2468
  "since": "1.0"
2439
2469
  }
@@ -2443,8 +2473,8 @@
2443
2473
  "kind": "js",
2444
2474
  "name": "default",
2445
2475
  "declaration": {
2446
- "name": "TerraLoader",
2447
- "module": "components/loader/loader.js"
2476
+ "name": "TerraCombobox",
2477
+ "module": "components/combobox/combobox.js"
2448
2478
  }
2449
2479
  }
2450
2480
  ]
@@ -2946,6 +2976,107 @@
2946
2976
  }
2947
2977
  ]
2948
2978
  },
2979
+ {
2980
+ "kind": "javascript-module",
2981
+ "path": "components/skeleton/skeleton.js",
2982
+ "declarations": [
2983
+ {
2984
+ "kind": "class",
2985
+ "description": "",
2986
+ "name": "TerraSkeleton",
2987
+ "members": [
2988
+ {
2989
+ "kind": "field",
2990
+ "name": "dependencies",
2991
+ "type": {
2992
+ "text": "object"
2993
+ },
2994
+ "static": true,
2995
+ "default": "{\n 'sl-skeleton': SlSkeleton,\n }"
2996
+ },
2997
+ {
2998
+ "kind": "field",
2999
+ "name": "rows",
3000
+ "type": {
3001
+ "text": "number"
3002
+ },
3003
+ "default": "1",
3004
+ "attribute": "rows"
3005
+ },
3006
+ {
3007
+ "kind": "field",
3008
+ "name": "effect",
3009
+ "type": {
3010
+ "text": "'pulse' | 'sheen' | 'none'"
3011
+ },
3012
+ "default": "'pulse'",
3013
+ "attribute": "effect"
3014
+ },
3015
+ {
3016
+ "kind": "field",
3017
+ "name": "variableWidths",
3018
+ "type": {
3019
+ "text": "boolean"
3020
+ },
3021
+ "default": "true",
3022
+ "attribute": "variableWidths",
3023
+ "reflects": true
3024
+ }
3025
+ ],
3026
+ "attributes": [
3027
+ {
3028
+ "name": "rows",
3029
+ "type": {
3030
+ "text": "number"
3031
+ },
3032
+ "default": "1",
3033
+ "fieldName": "rows"
3034
+ },
3035
+ {
3036
+ "name": "effect",
3037
+ "type": {
3038
+ "text": "'pulse' | 'sheen' | 'none'"
3039
+ },
3040
+ "default": "'pulse'",
3041
+ "fieldName": "effect"
3042
+ },
3043
+ {
3044
+ "name": "variableWidths",
3045
+ "type": {
3046
+ "text": "boolean"
3047
+ },
3048
+ "default": "true",
3049
+ "fieldName": "variableWidths"
3050
+ }
3051
+ ],
3052
+ "superclass": {
3053
+ "name": "TerraElement",
3054
+ "module": "/src/internal/terra-element.js"
3055
+ },
3056
+ "summary": "Skeletons are loading indicators to represent where content will eventually be drawn.",
3057
+ "tagNameWithoutPrefix": "skeleton",
3058
+ "tagName": "terra-skeleton",
3059
+ "customElement": true,
3060
+ "jsDoc": "/**\n * @summary Skeletons are loading indicators to represent where content will eventually be drawn.\n * @documentation https://disc.gsfc.nasa.gov/components/skeleton\n * @status experimental\n * @since 1.0\n *\n * @dependency sl-skeleton\n */",
3061
+ "documentation": "https://disc.gsfc.nasa.gov/components/skeleton",
3062
+ "status": "experimental",
3063
+ "since": "1.0",
3064
+ "dependencies": [
3065
+ "sl-skeleton"
3066
+ ]
3067
+ }
3068
+ ],
3069
+ "exports": [
3070
+ {
3071
+ "kind": "js",
3072
+ "name": "default",
3073
+ "declaration": {
3074
+ "name": "TerraSkeleton",
3075
+ "module": "components/skeleton/skeleton.js"
3076
+ }
3077
+ }
3078
+ ]
3079
+ },
2949
3080
  {
2950
3081
  "kind": "javascript-module",
2951
3082
  "path": "components/spatial-picker/spatial-picker.js",
@@ -3257,107 +3388,6 @@
3257
3388
  }
3258
3389
  ]
3259
3390
  },
3260
- {
3261
- "kind": "javascript-module",
3262
- "path": "components/skeleton/skeleton.js",
3263
- "declarations": [
3264
- {
3265
- "kind": "class",
3266
- "description": "",
3267
- "name": "TerraSkeleton",
3268
- "members": [
3269
- {
3270
- "kind": "field",
3271
- "name": "dependencies",
3272
- "type": {
3273
- "text": "object"
3274
- },
3275
- "static": true,
3276
- "default": "{\n 'sl-skeleton': SlSkeleton,\n }"
3277
- },
3278
- {
3279
- "kind": "field",
3280
- "name": "rows",
3281
- "type": {
3282
- "text": "number"
3283
- },
3284
- "default": "1",
3285
- "attribute": "rows"
3286
- },
3287
- {
3288
- "kind": "field",
3289
- "name": "effect",
3290
- "type": {
3291
- "text": "'pulse' | 'sheen' | 'none'"
3292
- },
3293
- "default": "'pulse'",
3294
- "attribute": "effect"
3295
- },
3296
- {
3297
- "kind": "field",
3298
- "name": "variableWidths",
3299
- "type": {
3300
- "text": "boolean"
3301
- },
3302
- "default": "true",
3303
- "attribute": "variableWidths",
3304
- "reflects": true
3305
- }
3306
- ],
3307
- "attributes": [
3308
- {
3309
- "name": "rows",
3310
- "type": {
3311
- "text": "number"
3312
- },
3313
- "default": "1",
3314
- "fieldName": "rows"
3315
- },
3316
- {
3317
- "name": "effect",
3318
- "type": {
3319
- "text": "'pulse' | 'sheen' | 'none'"
3320
- },
3321
- "default": "'pulse'",
3322
- "fieldName": "effect"
3323
- },
3324
- {
3325
- "name": "variableWidths",
3326
- "type": {
3327
- "text": "boolean"
3328
- },
3329
- "default": "true",
3330
- "fieldName": "variableWidths"
3331
- }
3332
- ],
3333
- "superclass": {
3334
- "name": "TerraElement",
3335
- "module": "/src/internal/terra-element.js"
3336
- },
3337
- "summary": "Skeletons are loading indicators to represent where content will eventually be drawn.",
3338
- "tagNameWithoutPrefix": "skeleton",
3339
- "tagName": "terra-skeleton",
3340
- "customElement": true,
3341
- "jsDoc": "/**\n * @summary Skeletons are loading indicators to represent where content will eventually be drawn.\n * @documentation https://disc.gsfc.nasa.gov/components/skeleton\n * @status experimental\n * @since 1.0\n *\n * @dependency sl-skeleton\n */",
3342
- "documentation": "https://disc.gsfc.nasa.gov/components/skeleton",
3343
- "status": "experimental",
3344
- "since": "1.0",
3345
- "dependencies": [
3346
- "sl-skeleton"
3347
- ]
3348
- }
3349
- ],
3350
- "exports": [
3351
- {
3352
- "kind": "js",
3353
- "name": "default",
3354
- "declaration": {
3355
- "name": "TerraSkeleton",
3356
- "module": "components/skeleton/skeleton.js"
3357
- }
3358
- }
3359
- ]
3360
- },
3361
3391
  {
3362
3392
  "kind": "javascript-module",
3363
3393
  "path": "components/time-series/time-series.js",
@@ -4237,7 +4267,7 @@
4237
4267
  "package": {
4238
4268
  "name": "@nasa-terra/components",
4239
4269
  "description": "A collection of NASA Earthdata components",
4240
- "version": "0.0.26",
4270
+ "version": "0.0.28",
4241
4271
  "author": "NASA GES DISC <https://disc.gsfc.nasa.gov>",
4242
4272
  "homepage": "https://github.com/gesdisc/components",
4243
4273
  "license": "MIT"