@nasa-terra/components 0.0.6 → 0.0.7

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 (157) hide show
  1. package/cdn/chunks/{chunk.QPQHBWAF.js → chunk.2BF5ZHP6.js} +6 -6
  2. package/cdn/chunks/{chunk.SNUKWHYN.js → chunk.2MYFC7LM.js} +1 -1
  3. package/cdn/chunks/{chunk.ULMZXS76.js → chunk.4OMMI4NC.js} +1 -1
  4. package/cdn/chunks/{chunk.WWGF3RBK.js → chunk.5EDEDCDT.js} +13 -13
  5. package/cdn/chunks/{chunk.CPWV245H.js → chunk.5M6EGBKK.js} +1 -1
  6. package/cdn/chunks/{chunk.MKZRXFCD.js → chunk.6TG7HJRE.js} +4 -4
  7. package/cdn/chunks/{chunk.FWJJZ2ZQ.js → chunk.6TP5NQZR.js} +4 -4
  8. package/cdn/chunks/{chunk.O5NKXUCH.js → chunk.7R2BPQLY.js} +6 -2
  9. package/cdn/chunks/{chunk.VW5NONMW.js → chunk.7VBMSUOT.js} +1 -1
  10. package/{dist/chunks/chunk.GDRDMRMU.js → cdn/chunks/chunk.AG72D4AT.js} +1 -1
  11. package/cdn/chunks/{chunk.SEEOXT2D.js → chunk.BX66TSQY.js} +1 -1
  12. package/cdn/chunks/{chunk.Y26ZLER4.js → chunk.CDPMV7DB.js} +1 -1
  13. package/cdn/chunks/{chunk.7FIHTIPY.js → chunk.CGUXXQTT.js} +1 -1
  14. package/{dist/chunks/chunk.B2MTCB5H.js → cdn/chunks/chunk.CLFLLHS3.js} +1 -1
  15. package/cdn/chunks/{chunk.OGR23FON.js → chunk.CPNLKTGF.js} +1 -1
  16. package/cdn/chunks/{chunk.VVTXWY2S.js → chunk.DSTVDF3E.js} +1 -1
  17. package/cdn/chunks/{chunk.747YKR2J.js → chunk.FDOXEWGR.js} +1 -1
  18. package/cdn/chunks/{chunk.OP466O5Y.js → chunk.GCC4YOMG.js} +1 -1
  19. package/cdn/chunks/{chunk.RXU6DWRU.js → chunk.GMWFNQ7Q.js} +4 -4
  20. package/{dist/chunks/chunk.DLLADX3X.js → cdn/chunks/chunk.IKYLG6LM.js} +1 -1
  21. package/cdn/chunks/{chunk.7KR5SCX3.js → chunk.L4ODCAGX.js} +1 -1
  22. package/{dist/chunks/chunk.YMQ4KDTV.js → cdn/chunks/chunk.LNNGJCX4.js} +1 -1
  23. package/cdn/chunks/{chunk.EKFTCQIZ.js → chunk.LO2CROCV.js} +1 -1
  24. package/{dist/chunks/chunk.ELWOQ6AA.js → cdn/chunks/chunk.MCDYUBW2.js} +1 -1
  25. package/{dist/chunks/chunk.NZBZKDMB.js → cdn/chunks/chunk.NFSGAK6D.js} +1 -1
  26. package/cdn/chunks/{chunk.CJZBZADJ.js → chunk.P3N5PW3F.js} +4 -4
  27. package/{dist/chunks/chunk.RIPCW4LZ.js → cdn/chunks/chunk.RZV7PTZZ.js} +1 -1
  28. package/{dist/chunks/chunk.D7XP7XXA.js → cdn/chunks/chunk.SVBGCTUY.js} +1 -1
  29. package/cdn/chunks/{chunk.H2SFUFU3.js → chunk.THBBULDA.js} +1 -1
  30. package/cdn/chunks/{chunk.M77HV6VG.js → chunk.UBYAPUL3.js} +5 -5
  31. package/cdn/chunks/{chunk.EEFNHKM3.js → chunk.URIOYHEA.js} +1 -1
  32. package/cdn/chunks/{chunk.M5OJ3HWZ.js → chunk.UUZHIWQZ.js} +7 -7
  33. package/cdn/chunks/{chunk.UBUBPE2C.js → chunk.WY4A6BXW.js} +1 -1
  34. package/{dist/chunks/chunk.NYAG4XKO.js → cdn/chunks/chunk.XAVEBGFY.js} +1 -1
  35. package/{dist/chunks/chunk.7NBRSNIF.js → cdn/chunks/chunk.ZMTQ4YE2.js} +1 -1
  36. package/cdn/components/button/button.component.js +3 -3
  37. package/cdn/components/button/button.js +4 -4
  38. package/cdn/components/chip/chip.component.js +3 -3
  39. package/cdn/components/chip/chip.js +4 -4
  40. package/cdn/components/combobox/combobox.component.js +3 -3
  41. package/cdn/components/combobox/combobox.js +4 -4
  42. package/cdn/components/date-range-slider/date-range-slider.component.js +3 -3
  43. package/cdn/components/date-range-slider/date-range-slider.js +4 -4
  44. package/cdn/components/icon/icon.component.js +3 -3
  45. package/cdn/components/icon/icon.js +4 -4
  46. package/cdn/components/loader/loader.component.js +2 -2
  47. package/cdn/components/loader/loader.js +3 -3
  48. package/cdn/components/map/map.component.js +4 -4
  49. package/cdn/components/map/map.js +5 -5
  50. package/cdn/components/plot/plot.component.js +2 -2
  51. package/cdn/components/plot/plot.js +3 -3
  52. package/cdn/components/spatial-picker/spatial-picker.component.js +6 -6
  53. package/cdn/components/spatial-picker/spatial-picker.js +7 -7
  54. package/cdn/components/time-series/time-series.component.js +33 -33
  55. package/cdn/components/time-series/time-series.controller.js +1 -1
  56. package/cdn/components/time-series/time-series.js +34 -34
  57. package/cdn/components/variable-combobox/variable-combobox.component.js +13 -13
  58. package/cdn/components/variable-combobox/variable-combobox.controller.js +2 -2
  59. package/cdn/components/variable-combobox/variable-combobox.js +14 -14
  60. package/cdn/custom-elements.json +850 -850
  61. package/cdn/react/button/index.js +4 -4
  62. package/cdn/react/chip/index.js +4 -4
  63. package/cdn/react/combobox/index.js +4 -4
  64. package/cdn/react/date-range-slider/index.js +4 -4
  65. package/cdn/react/icon/index.js +4 -4
  66. package/cdn/react/index.d.ts +3 -3
  67. package/cdn/react/index.js +56 -56
  68. package/cdn/react/loader/index.js +3 -3
  69. package/cdn/react/map/index.js +5 -5
  70. package/cdn/react/plot/index.js +3 -3
  71. package/cdn/react/spatial-picker/index.js +7 -7
  72. package/cdn/react/time-series/index.js +34 -34
  73. package/cdn/react/variable-combobox/index.js +14 -14
  74. package/cdn/terra-ui-components.js +61 -61
  75. package/cdn/types/vue/index.d.ts +116 -116
  76. package/cdn/utilities/animation.js +3 -3
  77. package/cdn/vscode.html-custom-data.json +112 -112
  78. package/cdn/web-types.json +224 -224
  79. package/{cdn/chunks/chunk.ADGXHFTR.js → dist/chunks/chunk.33I7MBZO.js} +1 -1
  80. package/dist/chunks/{chunk.H32ZL2W2.js → chunk.4EEBFDHS.js} +1 -1
  81. package/dist/chunks/{chunk.YCC37YOJ.js → chunk.52JSYSOV.js} +6 -2
  82. package/{cdn/chunks/chunk.HUJ7CIC7.js → dist/chunks/chunk.6EFMX2ZD.js} +1 -1
  83. package/dist/chunks/{chunk.5YH3ZJUT.js → chunk.7C4FMTCE.js} +1 -1
  84. package/dist/chunks/{chunk.H4MAKR24.js → chunk.7I7C7JJF.js} +1 -1
  85. package/dist/chunks/{chunk.OFSIGYWI.js → chunk.7LODXAV5.js} +1 -1
  86. package/dist/chunks/{chunk.USXQP5U6.js → chunk.C5OZDL3F.js} +4 -4
  87. package/dist/chunks/{chunk.FHIIPJW6.js → chunk.CM3WMTBC.js} +1 -1
  88. package/{cdn/chunks/chunk.EJHNYX5L.js → dist/chunks/chunk.CNBF6GCR.js} +1 -1
  89. package/dist/chunks/{chunk.FEABKBW6.js → chunk.EYUPYDT4.js} +1 -1
  90. package/dist/chunks/{chunk.WHSMHOPB.js → chunk.FFZEV52Q.js} +5 -5
  91. package/dist/chunks/{chunk.PSVGC3Y5.js → chunk.FYST4D4G.js} +1 -1
  92. package/dist/chunks/{chunk.PG33VP73.js → chunk.GBVXVADE.js} +4 -4
  93. package/dist/chunks/{chunk.ZNMJES4B.js → chunk.IEHDLSGA.js} +1 -1
  94. package/{cdn/chunks/chunk.UFZVPTR4.js → dist/chunks/chunk.MMDLLVXS.js} +1 -1
  95. package/{cdn/chunks/chunk.M2VXN72F.js → dist/chunks/chunk.N6PKYR5K.js} +1 -1
  96. package/{cdn/chunks/chunk.4WBHMR2A.js → dist/chunks/chunk.N7ULTEAO.js} +1 -1
  97. package/{cdn/chunks/chunk.BPM4DDT2.js → dist/chunks/chunk.OUOWGBKV.js} +1 -1
  98. package/dist/chunks/{chunk.HOM4WTOH.js → chunk.PFSWFOXD.js} +1 -1
  99. package/dist/chunks/{chunk.2T4YTX6C.js → chunk.QJIYDTLQ.js} +1 -1
  100. package/dist/chunks/{chunk.AU3AGC4X.js → chunk.RFKXBNLY.js} +1 -1
  101. package/dist/chunks/{chunk.VYZKQA7M.js → chunk.RP6DCD5M.js} +4 -4
  102. package/dist/chunks/{chunk.TIWTYZP4.js → chunk.S3WKONT5.js} +11 -11
  103. package/dist/chunks/{chunk.X2KBQTBL.js → chunk.SDJHA4XN.js} +1 -1
  104. package/dist/chunks/{chunk.HBQCLZ37.js → chunk.TNACYALO.js} +1 -1
  105. package/dist/chunks/{chunk.QNRAB6NA.js → chunk.TWKECPWO.js} +1 -1
  106. package/dist/chunks/{chunk.6LKH47P2.js → chunk.UNE3VYFP.js} +1 -1
  107. package/{cdn/chunks/chunk.5EMGZZCG.js → dist/chunks/chunk.VEURJQW5.js} +1 -1
  108. package/dist/chunks/{chunk.UPRVNZ37.js → chunk.WVHQFXLD.js} +4 -4
  109. package/{cdn/chunks/chunk.OBKUG36C.js → dist/chunks/chunk.XB7LBTTU.js} +1 -1
  110. package/dist/chunks/{chunk.M6X67YK2.js → chunk.XIRKMIAU.js} +7 -7
  111. package/dist/chunks/{chunk.2HRRJNXL.js → chunk.XW5YT7AB.js} +1 -1
  112. package/dist/chunks/{chunk.DYMAZVQ6.js → chunk.Y72ZRL5L.js} +3 -3
  113. package/{cdn/chunks/chunk.6RSB2MQN.js → dist/chunks/chunk.YNMQZYQL.js} +1 -1
  114. package/dist/components/button/button.component.js +3 -3
  115. package/dist/components/button/button.js +4 -4
  116. package/dist/components/chip/chip.component.js +2 -2
  117. package/dist/components/chip/chip.js +3 -3
  118. package/dist/components/combobox/combobox.component.js +3 -3
  119. package/dist/components/combobox/combobox.js +4 -4
  120. package/dist/components/date-range-slider/date-range-slider.component.js +3 -3
  121. package/dist/components/date-range-slider/date-range-slider.js +4 -4
  122. package/dist/components/icon/icon.component.js +2 -2
  123. package/dist/components/icon/icon.js +3 -3
  124. package/dist/components/loader/loader.component.js +2 -2
  125. package/dist/components/loader/loader.js +3 -3
  126. package/dist/components/map/map.component.js +4 -4
  127. package/dist/components/map/map.js +5 -5
  128. package/dist/components/plot/plot.component.js +2 -2
  129. package/dist/components/plot/plot.js +3 -3
  130. package/dist/components/spatial-picker/spatial-picker.component.js +6 -6
  131. package/dist/components/spatial-picker/spatial-picker.js +7 -7
  132. package/dist/components/time-series/time-series.component.js +25 -25
  133. package/dist/components/time-series/time-series.controller.js +1 -1
  134. package/dist/components/time-series/time-series.js +26 -26
  135. package/dist/components/variable-combobox/variable-combobox.component.js +8 -8
  136. package/dist/components/variable-combobox/variable-combobox.js +9 -9
  137. package/dist/custom-elements.json +850 -850
  138. package/dist/react/button/index.js +4 -4
  139. package/dist/react/chip/index.js +3 -3
  140. package/dist/react/combobox/index.js +4 -4
  141. package/dist/react/date-range-slider/index.js +4 -4
  142. package/dist/react/icon/index.js +3 -3
  143. package/dist/react/index.d.ts +3 -3
  144. package/dist/react/index.js +48 -48
  145. package/dist/react/loader/index.js +3 -3
  146. package/dist/react/map/index.js +5 -5
  147. package/dist/react/plot/index.js +3 -3
  148. package/dist/react/spatial-picker/index.js +7 -7
  149. package/dist/react/time-series/index.js +26 -26
  150. package/dist/react/variable-combobox/index.js +9 -9
  151. package/dist/terra-ui-components.js +50 -50
  152. package/dist/types/vue/index.d.ts +116 -116
  153. package/dist/vscode.html-custom-data.json +112 -112
  154. package/dist/web-types.json +224 -224
  155. package/package.json +1 -1
  156. package/cdn/chunks/{chunk.XR56EMXH.js → chunk.LQCRC4E2.js} +8 -8
  157. package/cdn/chunks/{chunk.42JFVPPT.js → chunk.R2AQMZE4.js} +3 -3
@@ -4,625 +4,572 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "components/button/button.js",
7
+ "path": "components/combobox/combobox.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
- },
12
+ "name": "TerraCombobox",
13
+ "cssProperties": [
26
14
  {
27
- "description": "The container that wraps the suffix.",
28
- "name": "suffix"
15
+ "description": "The height of the host element.",
16
+ "name": "--host-height"
29
17
  },
30
18
  {
31
- "description": "The button's caret icon, an `<sl-icon>` element.",
32
- "name": "caret"
19
+ "description": "The height of the search help element.",
20
+ "name": "--help-height"
33
21
  },
34
22
  {
35
- "description": "The spinner that shows when the button is in the loading state.",
36
- "name": "spinner"
23
+ "description": "The height of the input's label element.",
24
+ "name": "--label-height"
37
25
  }
38
26
  ],
39
- "slots": [
27
+ "cssParts": [
40
28
  {
41
- "description": "The button's label.",
42
- "name": ""
29
+ "description": "A `search` element, the component's base.",
30
+ "name": "base"
43
31
  },
44
32
  {
45
- "description": "A presentational prefix icon or similar element.",
46
- "name": "prefix"
33
+ "description": "An `input` element used for searching.",
34
+ "name": "combobox"
47
35
  },
48
36
  {
49
- "description": "A presentational suffix icon or similar element.",
50
- "name": "suffix"
37
+ "description": "A `button` used for toggling the listbox's visibility.",
38
+ "name": "button"
39
+ },
40
+ {
41
+ "description": "A `ul` that holds the clickable options.",
42
+ "name": "listbox"
51
43
  }
52
44
  ],
53
45
  "members": [
54
46
  {
55
47
  "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",
48
+ "name": "shadowRootOptions",
71
49
  "type": {
72
- "text": "HTMLButtonElement | HTMLLinkElement"
73
- }
50
+ "text": "object"
51
+ },
52
+ "static": true,
53
+ "default": "{\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n }"
74
54
  },
75
55
  {
76
56
  "kind": "field",
77
- "name": "hasFocus",
57
+ "name": "tagName",
78
58
  "type": {
79
- "text": "boolean"
59
+ "text": "string"
80
60
  },
81
- "privacy": "private",
82
- "default": "false"
61
+ "static": true,
62
+ "default": "'terra-combobox'"
83
63
  },
84
64
  {
85
65
  "kind": "field",
86
- "name": "invalid",
66
+ "name": "initialQuery",
87
67
  "type": {
88
- "text": "boolean"
68
+ "text": "string"
89
69
  },
90
- "default": "false"
70
+ "static": true,
71
+ "default": "''"
91
72
  },
92
73
  {
93
74
  "kind": "field",
94
- "name": "title",
75
+ "name": "#combobox",
76
+ "privacy": "private",
95
77
  "type": {
96
- "text": "string"
78
+ "text": "HTMLInputElement | null"
97
79
  },
98
- "default": "''",
99
- "attribute": "title"
80
+ "default": "null"
100
81
  },
101
82
  {
102
83
  "kind": "field",
103
- "name": "variant",
84
+ "name": "#listbox",
85
+ "privacy": "private",
104
86
  "type": {
105
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'neutral'\n | 'warning'\n | 'danger'\n | 'text'"
87
+ "text": "HTMLUListElement | null"
106
88
  },
107
- "default": "'default'",
108
- "description": "The button's theme variant.",
109
- "attribute": "variant",
110
- "reflects": true
89
+ "default": "null"
111
90
  },
112
91
  {
113
92
  "kind": "field",
114
- "name": "size",
93
+ "name": "#searchEngine",
94
+ "privacy": "private",
115
95
  "type": {
116
- "text": "'small' | 'medium' | 'large'"
96
+ "text": "Fuse<GroupedListItem | ListItem> | null"
117
97
  },
118
- "default": "'medium'",
119
- "description": "The button's size.",
120
- "attribute": "size",
121
- "reflects": true
98
+ "default": "null"
122
99
  },
123
100
  {
124
101
  "kind": "field",
125
- "name": "caret",
102
+ "name": "#walker",
103
+ "privacy": "private",
126
104
  "type": {
127
- "text": "boolean"
105
+ "text": "TreeWalker | null"
128
106
  },
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
107
+ "default": "null"
133
108
  },
134
109
  {
135
110
  "kind": "field",
136
- "name": "disabled",
111
+ "name": "label",
137
112
  "type": {
138
- "text": "boolean"
113
+ "text": "string"
139
114
  },
140
- "default": "false",
141
- "description": "Disables the button.",
142
- "attribute": "disabled",
143
- "reflects": true
115
+ "default": "'Search for Items'",
116
+ "description": "Label the combobox with this.",
117
+ "attribute": "label"
144
118
  },
145
119
  {
146
120
  "kind": "field",
147
- "name": "loading",
121
+ "name": "name",
148
122
  "type": {
149
- "text": "boolean"
123
+ "text": "string"
150
124
  },
151
- "default": "false",
152
- "description": "Draws the button in a loading state.",
153
- "attribute": "loading",
154
- "reflects": true
125
+ "default": "'Item'",
126
+ "description": "name the combobox with this.",
127
+ "attribute": "name"
155
128
  },
156
129
  {
157
130
  "kind": "field",
158
- "name": "outline",
131
+ "name": "placeholder",
159
132
  "type": {
160
- "text": "boolean"
133
+ "text": "string"
161
134
  },
162
- "default": "false",
163
- "description": "Draws an outlined button.",
164
- "attribute": "outline",
165
- "reflects": true
135
+ "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
136
+ "attribute": "placeholder"
166
137
  },
167
138
  {
168
139
  "kind": "field",
169
- "name": "pill",
140
+ "name": "hideHelp",
170
141
  "type": {
171
142
  "text": "boolean"
172
143
  },
173
144
  "default": "false",
174
- "description": "Draws a pill-style button with rounded edges.",
175
- "attribute": "pill",
176
- "reflects": true
145
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
146
+ "attribute": "hide-help"
177
147
  },
178
148
  {
179
149
  "kind": "field",
180
- "name": "circle",
150
+ "name": "hideLabel",
181
151
  "type": {
182
152
  "text": "boolean"
183
153
  },
184
154
  "default": "false",
185
- "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<sl-icon>` in the\ndefault slot.",
186
- "attribute": "circle",
187
- "reflects": true
155
+ "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
156
+ "attribute": "hide-label"
188
157
  },
189
158
  {
190
159
  "kind": "field",
191
- "name": "type",
160
+ "name": "status",
192
161
  "type": {
193
- "text": "'button' | 'submit' | 'reset'"
162
+ "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
194
163
  },
195
- "default": "'button'",
196
- "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.",
197
- "attribute": "type"
164
+ "default": "'INITIAL'",
165
+ "description": "status of the content",
166
+ "attribute": "status"
198
167
  },
199
168
  {
200
169
  "kind": "field",
201
- "name": "name",
170
+ "name": "content",
202
171
  "type": {
203
- "text": "string"
172
+ "text": "Content"
204
173
  },
205
- "default": "''",
206
- "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.",
207
- "attribute": "name"
174
+ "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
175
+ "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
176
+ "attribute": "content"
208
177
  },
209
178
  {
210
179
  "kind": "field",
211
- "name": "value",
180
+ "name": "isExpanded",
212
181
  "type": {
213
- "text": "string"
182
+ "text": "boolean"
214
183
  },
215
- "default": "''",
216
- "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.",
217
- "attribute": "value"
184
+ "default": "false"
218
185
  },
219
186
  {
220
187
  "kind": "field",
221
- "name": "href",
222
- "type": {
223
- "text": "string"
224
- },
225
- "default": "''",
226
- "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
227
- "attribute": "href"
188
+ "name": "query"
228
189
  },
229
190
  {
230
191
  "kind": "field",
231
- "name": "target",
192
+ "name": "searchResults",
232
193
  "type": {
233
- "text": "'_blank' | '_parent' | '_self' | '_top'"
194
+ "text": "GroupedListItem[] | ListItem[]"
234
195
  },
235
- "description": "Tells the browser where to open the link. Only used when `href` is present.",
236
- "attribute": "target"
196
+ "default": "[]"
197
+ },
198
+ {
199
+ "kind": "method",
200
+ "name": "contentChanged",
201
+ "parameters": [
202
+ {
203
+ "name": "_oldValue",
204
+ "type": {
205
+ "text": "any"
206
+ }
207
+ },
208
+ {
209
+ "name": "newValue",
210
+ "type": {
211
+ "text": "any"
212
+ }
213
+ }
214
+ ]
237
215
  },
238
216
  {
239
217
  "kind": "field",
240
- "name": "rel",
241
- "type": {
242
- "text": "string"
243
- },
244
- "default": "'noreferrer noopener'",
245
- "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.",
246
- "attribute": "rel"
218
+ "name": "#renderListItem",
219
+ "privacy": "private"
247
220
  },
248
221
  {
249
222
  "kind": "field",
250
- "name": "download",
251
- "type": {
252
- "text": "string | undefined"
253
- },
254
- "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
255
- "attribute": "download"
223
+ "name": "#renderGroupListItem",
224
+ "privacy": "private"
256
225
  },
257
226
  {
258
227
  "kind": "field",
259
- "name": "form",
260
- "type": {
261
- "text": "string"
262
- },
263
- "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.",
264
- "attribute": "form"
228
+ "name": "#renderError",
229
+ "privacy": "private"
265
230
  },
266
231
  {
267
232
  "kind": "field",
268
- "name": "formAction",
269
- "type": {
270
- "text": "string"
271
- },
272
- "description": "Used to override the form owner's `action` attribute.",
273
- "attribute": "formaction"
274
- },
275
- {
276
- "kind": "field",
277
- "name": "formEnctype",
278
- "type": {
279
- "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
280
- },
281
- "description": "Used to override the form owner's `enctype` attribute.",
282
- "attribute": "formenctype"
283
- },
284
- {
285
- "kind": "field",
286
- "name": "formMethod",
287
- "type": {
288
- "text": "'post' | 'get'"
289
- },
290
- "description": "Used to override the form owner's `method` attribute.",
291
- "attribute": "formmethod"
292
- },
293
- {
294
- "kind": "field",
295
- "name": "formNoValidate",
296
- "type": {
297
- "text": "boolean"
298
- },
299
- "description": "Used to override the form owner's `novalidate` attribute.",
300
- "attribute": "formnovalidate"
233
+ "name": "#renderLoading",
234
+ "privacy": "private"
301
235
  },
302
236
  {
303
237
  "kind": "field",
304
- "name": "formTarget",
305
- "type": {
306
- "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
307
- },
308
- "description": "Used to override the form owner's `target` attribute.",
309
- "attribute": "formtarget"
238
+ "name": "#dispatchChange",
239
+ "privacy": "private"
310
240
  },
311
241
  {
312
242
  "kind": "field",
313
- "name": "validity",
314
- "description": "Gets the validity state object",
315
- "readonly": true
243
+ "name": "#handleButtonClick",
244
+ "privacy": "private"
316
245
  },
317
246
  {
318
247
  "kind": "field",
319
- "name": "validationMessage",
320
- "description": "Gets the validation message",
321
- "readonly": true
322
- },
323
- {
324
- "kind": "method",
325
- "name": "handleBlur",
248
+ "name": "#handleComboboxChange",
326
249
  "privacy": "private"
327
250
  },
328
251
  {
329
- "kind": "method",
330
- "name": "handleFocus",
252
+ "kind": "field",
253
+ "name": "#handleOptionClick",
331
254
  "privacy": "private"
332
255
  },
333
256
  {
334
- "kind": "method",
335
- "name": "handleClick",
257
+ "kind": "field",
258
+ "name": "#handleKeydown",
336
259
  "privacy": "private"
337
260
  },
338
261
  {
339
- "kind": "method",
340
- "name": "handleInvalid",
341
- "privacy": "private",
342
- "parameters": [
343
- {
344
- "name": "event",
345
- "type": {
346
- "text": "Event"
347
- }
348
- }
349
- ]
350
- },
351
- {
352
- "kind": "method",
353
- "name": "isButton",
262
+ "kind": "field",
263
+ "name": "#manageListboxVisibility",
354
264
  "privacy": "private"
355
265
  },
356
266
  {
357
- "kind": "method",
358
- "name": "isLink",
267
+ "kind": "field",
268
+ "name": "#selectOption",
359
269
  "privacy": "private"
360
- },
361
- {
362
- "kind": "method",
363
- "name": "handleDisabledChange"
364
- },
365
- {
366
- "kind": "method",
367
- "name": "click",
368
- "description": "Simulates a click on the button."
369
- },
370
- {
371
- "kind": "method",
372
- "name": "focus",
373
- "parameters": [
374
- {
375
- "name": "options",
376
- "optional": true,
377
- "type": {
378
- "text": "FocusOptions"
379
- }
380
- }
381
- ],
382
- "description": "Sets focus on the button."
383
- },
384
- {
385
- "kind": "method",
386
- "name": "blur",
387
- "description": "Removes focus from the button."
388
- },
389
- {
390
- "kind": "method",
391
- "name": "checkValidity",
392
- "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
393
- },
394
- {
395
- "kind": "method",
396
- "name": "getForm",
397
- "return": {
398
- "type": {
399
- "text": "HTMLFormElement | null"
400
- }
401
- },
402
- "description": "Gets the associated form, if one exists."
403
- },
404
- {
405
- "kind": "method",
406
- "name": "reportValidity",
407
- "description": "Checks for validity and shows the browser's validation message if the control is invalid."
408
- },
409
- {
410
- "kind": "method",
411
- "name": "setCustomValidity",
412
- "parameters": [
413
- {
414
- "name": "message",
415
- "type": {
416
- "text": "string"
417
- }
418
- }
419
- ],
420
- "description": "Sets a custom validation message. Pass an empty string to restore validity."
421
270
  }
422
271
  ],
423
272
  "attributes": [
424
273
  {
425
- "name": "title",
274
+ "name": "label",
426
275
  "type": {
427
276
  "text": "string"
428
277
  },
429
- "default": "''",
430
- "fieldName": "title"
278
+ "default": "'Search for Items'",
279
+ "description": "Label the combobox with this.",
280
+ "fieldName": "label"
431
281
  },
432
282
  {
433
- "name": "variant",
283
+ "name": "name",
434
284
  "type": {
435
- "text": "| 'default'\n | 'primary'\n | 'success'\n | 'neutral'\n | 'warning'\n | 'danger'\n | 'text'"
285
+ "text": "string"
436
286
  },
437
- "default": "'default'",
438
- "description": "The button's theme variant.",
439
- "fieldName": "variant"
287
+ "default": "'Item'",
288
+ "description": "name the combobox with this.",
289
+ "fieldName": "name"
440
290
  },
441
291
  {
442
- "name": "size",
292
+ "name": "placeholder",
443
293
  "type": {
444
- "text": "'small' | 'medium' | 'large'"
294
+ "text": "string"
445
295
  },
446
- "default": "'medium'",
447
- "description": "The button's size.",
448
- "fieldName": "size"
296
+ "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
297
+ "fieldName": "placeholder"
449
298
  },
450
299
  {
451
- "name": "caret",
300
+ "name": "hide-help",
452
301
  "type": {
453
302
  "text": "boolean"
454
303
  },
455
304
  "default": "false",
456
- "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
457
- "fieldName": "caret"
305
+ "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
306
+ "fieldName": "hideHelp"
458
307
  },
459
308
  {
460
- "name": "disabled",
309
+ "name": "hide-label",
461
310
  "type": {
462
311
  "text": "boolean"
463
312
  },
464
313
  "default": "false",
465
- "description": "Disables the button.",
466
- "fieldName": "disabled"
314
+ "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
315
+ "fieldName": "hideLabel"
467
316
  },
468
317
  {
469
- "name": "loading",
318
+ "name": "status",
470
319
  "type": {
471
- "text": "boolean"
320
+ "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
472
321
  },
473
- "default": "false",
474
- "description": "Draws the button in a loading state.",
475
- "fieldName": "loading"
322
+ "default": "'INITIAL'",
323
+ "description": "status of the content",
324
+ "fieldName": "status"
476
325
  },
477
326
  {
478
- "name": "outline",
327
+ "name": "content",
479
328
  "type": {
480
- "text": "boolean"
329
+ "text": "Content"
481
330
  },
482
- "default": "false",
483
- "description": "Draws an outlined button.",
484
- "fieldName": "outline"
331
+ "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
332
+ "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
333
+ "fieldName": "content"
334
+ }
335
+ ],
336
+ "superclass": {
337
+ "name": "TerraElement",
338
+ "module": "/src/internal/terra-element.js"
339
+ },
340
+ "summary": "Fuzzy-search for combobox with list autocomplete.",
341
+ "tagNameWithoutPrefix": "combobox",
342
+ "tagName": "terra-combobox",
343
+ "customElement": true,
344
+ "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 */",
345
+ "documentation": "https://disc.gsfc.nasa.gov/components/combobox",
346
+ "status": "experimental",
347
+ "since": "1.0"
348
+ }
349
+ ],
350
+ "exports": [
351
+ {
352
+ "kind": "js",
353
+ "name": "default",
354
+ "declaration": {
355
+ "name": "TerraCombobox",
356
+ "module": "components/combobox/combobox.js"
357
+ }
358
+ }
359
+ ]
360
+ },
361
+ {
362
+ "kind": "javascript-module",
363
+ "path": "components/date-range-slider/date-range-slider.js",
364
+ "declarations": [
365
+ {
366
+ "kind": "class",
367
+ "description": "",
368
+ "name": "TerraDateRangeSlider",
369
+ "cssProperties": [
370
+ {
371
+ "description": "An example CSS custom property.",
372
+ "name": "--example"
373
+ }
374
+ ],
375
+ "cssParts": [
376
+ {
377
+ "description": "The component's base wrapper.",
378
+ "name": "base"
379
+ }
380
+ ],
381
+ "slots": [
382
+ {
383
+ "description": "The default slot.",
384
+ "name": ""
485
385
  },
486
386
  {
487
- "name": "pill",
387
+ "description": "An example slot.",
388
+ "name": "example"
389
+ }
390
+ ],
391
+ "members": [
392
+ {
393
+ "kind": "field",
394
+ "name": "slider",
488
395
  "type": {
489
- "text": "boolean"
490
- },
491
- "default": "false",
492
- "description": "Draws a pill-style button with rounded edges.",
493
- "fieldName": "pill"
396
+ "text": "HTMLElement & { noUiSlider: API }"
397
+ }
494
398
  },
495
399
  {
496
- "name": "circle",
400
+ "kind": "field",
401
+ "name": "timeScale",
497
402
  "type": {
498
- "text": "boolean"
403
+ "text": "TimeScale"
499
404
  },
500
- "default": "false",
501
- "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<sl-icon>` in the\ndefault slot.",
502
- "fieldName": "circle"
405
+ "default": "'daily'",
406
+ "attribute": "time-scale"
503
407
  },
504
408
  {
505
- "name": "type",
409
+ "kind": "field",
410
+ "name": "minDate",
506
411
  "type": {
507
- "text": "'button' | 'submit' | 'reset'"
412
+ "text": "string"
508
413
  },
509
- "default": "'button'",
510
- "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.",
511
- "fieldName": "type"
414
+ "attribute": "min-date"
512
415
  },
513
416
  {
514
- "name": "name",
417
+ "kind": "field",
418
+ "name": "maxDate",
515
419
  "type": {
516
420
  "text": "string"
517
421
  },
518
- "default": "''",
519
- "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.",
520
- "fieldName": "name"
422
+ "attribute": "max-date"
521
423
  },
522
424
  {
523
- "name": "value",
425
+ "kind": "field",
426
+ "name": "startDate",
524
427
  "type": {
525
428
  "text": "string"
526
429
  },
527
- "default": "''",
528
- "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.",
529
- "fieldName": "value"
430
+ "description": "The start date for the time series plot.",
431
+ "attribute": "start-date"
530
432
  },
531
433
  {
532
- "name": "href",
434
+ "kind": "field",
435
+ "name": "endDate",
533
436
  "type": {
534
437
  "text": "string"
535
438
  },
536
- "default": "''",
537
- "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
538
- "fieldName": "href"
439
+ "attribute": "end-date"
539
440
  },
540
441
  {
541
- "name": "target",
442
+ "kind": "field",
443
+ "name": "disabled",
542
444
  "type": {
543
- "text": "'_blank' | '_parent' | '_self' | '_top'"
445
+ "text": "boolean"
544
446
  },
545
- "description": "Tells the browser where to open the link. Only used when `href` is present.",
546
- "fieldName": "target"
447
+ "default": "false",
448
+ "attribute": "disabled",
449
+ "reflects": true
547
450
  },
548
451
  {
549
- "name": "rel",
452
+ "kind": "field",
453
+ "name": "hasPips",
550
454
  "type": {
551
- "text": "string"
455
+ "text": "boolean"
552
456
  },
553
- "default": "'noreferrer noopener'",
554
- "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.",
555
- "fieldName": "rel"
457
+ "default": "true",
458
+ "attribute": "has-pips",
459
+ "reflects": true
556
460
  },
557
461
  {
558
- "name": "download",
462
+ "kind": "method",
463
+ "name": "updateSlider"
464
+ },
465
+ {
466
+ "kind": "method",
467
+ "name": "disabledChanged"
468
+ },
469
+ {
470
+ "kind": "method",
471
+ "name": "renderSlider"
472
+ },
473
+ {
474
+ "kind": "method",
475
+ "name": "renderEmptySlider"
476
+ },
477
+ {
478
+ "kind": "method",
479
+ "name": "_getStep",
480
+ "privacy": "private"
481
+ },
482
+ {
483
+ "kind": "method",
484
+ "name": "_getSliderFormatter",
485
+ "privacy": "private",
486
+ "return": {
487
+ "type": {
488
+ "text": "Formatter"
489
+ }
490
+ }
491
+ },
492
+ {
493
+ "kind": "method",
494
+ "name": "_formatDate",
495
+ "privacy": "private",
496
+ "parameters": [
497
+ {
498
+ "name": "date",
499
+ "type": {
500
+ "text": "string | number | Date"
501
+ }
502
+ }
503
+ ]
504
+ }
505
+ ],
506
+ "attributes": [
507
+ {
508
+ "name": "time-scale",
559
509
  "type": {
560
- "text": "string | undefined"
510
+ "text": "TimeScale"
561
511
  },
562
- "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
563
- "fieldName": "download"
512
+ "default": "'daily'",
513
+ "fieldName": "timeScale"
564
514
  },
565
515
  {
566
- "name": "form",
516
+ "name": "min-date",
567
517
  "type": {
568
518
  "text": "string"
569
519
  },
570
- "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.",
571
- "fieldName": "form"
520
+ "fieldName": "minDate"
572
521
  },
573
522
  {
574
- "name": "formaction",
523
+ "name": "max-date",
575
524
  "type": {
576
525
  "text": "string"
577
526
  },
578
- "description": "Used to override the form owner's `action` attribute.",
579
- "fieldName": "formAction"
527
+ "fieldName": "maxDate"
580
528
  },
581
529
  {
582
- "name": "formenctype",
530
+ "name": "start-date",
583
531
  "type": {
584
- "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
532
+ "text": "string"
585
533
  },
586
- "description": "Used to override the form owner's `enctype` attribute.",
587
- "fieldName": "formEnctype"
534
+ "description": "The start date for the time series plot.",
535
+ "fieldName": "startDate"
588
536
  },
589
537
  {
590
- "name": "formmethod",
538
+ "name": "end-date",
591
539
  "type": {
592
- "text": "'post' | 'get'"
540
+ "text": "string"
593
541
  },
594
- "description": "Used to override the form owner's `method` attribute.",
595
- "fieldName": "formMethod"
542
+ "fieldName": "endDate"
596
543
  },
597
544
  {
598
- "name": "formnovalidate",
545
+ "name": "disabled",
599
546
  "type": {
600
547
  "text": "boolean"
601
548
  },
602
- "description": "Used to override the form owner's `novalidate` attribute.",
603
- "fieldName": "formNoValidate"
549
+ "default": "false",
550
+ "fieldName": "disabled"
604
551
  },
605
552
  {
606
- "name": "formtarget",
553
+ "name": "has-pips",
607
554
  "type": {
608
- "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
555
+ "text": "boolean"
609
556
  },
610
- "description": "Used to override the form owner's `target` attribute.",
611
- "fieldName": "formTarget"
557
+ "default": "true",
558
+ "fieldName": "hasPips"
612
559
  }
613
560
  ],
614
561
  "superclass": {
615
562
  "name": "TerraElement",
616
563
  "module": "/src/internal/terra-element.js"
617
564
  },
618
- "summary": "Buttons represent actions that are available to the user.",
619
- "tagNameWithoutPrefix": "button",
620
- "tagName": "terra-button",
565
+ "summary": "Short summary of the component's intended use.",
566
+ "tagNameWithoutPrefix": "date-range-slider",
567
+ "tagName": "terra-date-range-slider",
621
568
  "customElement": true,
622
- "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 */",
623
- "documentation": "https://shoelace.style/components/button",
624
- "status": "stable",
625
- "since": "2.0"
569
+ "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 */",
570
+ "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
571
+ "status": "experimental",
572
+ "since": "1.0"
626
573
  }
627
574
  ],
628
575
  "exports": [
@@ -630,8 +577,8 @@
630
577
  "kind": "js",
631
578
  "name": "default",
632
579
  "declaration": {
633
- "name": "TerraButton",
634
- "module": "components/button/button.js"
580
+ "name": "TerraDateRangeSlider",
581
+ "module": "components/date-range-slider/date-range-slider.js"
635
582
  }
636
583
  }
637
584
  ]
@@ -704,542 +651,457 @@
704
651
  },
705
652
  {
706
653
  "kind": "javascript-module",
707
- "path": "components/combobox/combobox.js",
654
+ "path": "components/button/button.js",
708
655
  "declarations": [
709
656
  {
710
657
  "kind": "class",
711
658
  "description": "",
712
- "name": "TerraCombobox",
713
- "cssProperties": [
659
+ "name": "TerraButton",
660
+ "cssParts": [
714
661
  {
715
- "description": "The height of the host element.",
716
- "name": "--host-height"
662
+ "description": "The component's base wrapper.",
663
+ "name": "base"
717
664
  },
718
665
  {
719
- "description": "The height of the search help element.",
720
- "name": "--help-height"
666
+ "description": "The container that wraps the prefix.",
667
+ "name": "prefix"
721
668
  },
722
669
  {
723
- "description": "The height of the input's label element.",
724
- "name": "--label-height"
725
- }
726
- ],
727
- "cssParts": [
728
- {
729
- "description": "A `search` element, the component's base.",
730
- "name": "base"
670
+ "description": "The button's label.",
671
+ "name": "label"
731
672
  },
732
673
  {
733
- "description": "An `input` element used for searching.",
734
- "name": "combobox"
674
+ "description": "The container that wraps the suffix.",
675
+ "name": "suffix"
735
676
  },
736
677
  {
737
- "description": "A `button` used for toggling the listbox's visibility.",
738
- "name": "button"
678
+ "description": "The button's caret icon, an `<sl-icon>` element.",
679
+ "name": "caret"
739
680
  },
740
681
  {
741
- "description": "A `ul` that holds the clickable options.",
742
- "name": "listbox"
682
+ "description": "The spinner that shows when the button is in the loading state.",
683
+ "name": "spinner"
743
684
  }
744
685
  ],
745
- "members": [
686
+ "slots": [
746
687
  {
747
- "kind": "field",
748
- "name": "shadowRootOptions",
749
- "type": {
750
- "text": "object"
751
- },
752
- "static": true,
753
- "default": "{\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n }"
688
+ "description": "The button's label.",
689
+ "name": ""
754
690
  },
755
691
  {
756
- "kind": "field",
757
- "name": "tagName",
758
- "type": {
759
- "text": "string"
760
- },
761
- "static": true,
762
- "default": "'terra-combobox'"
692
+ "description": "A presentational prefix icon or similar element.",
693
+ "name": "prefix"
763
694
  },
764
695
  {
765
- "kind": "field",
766
- "name": "initialQuery",
767
- "type": {
768
- "text": "string"
769
- },
770
- "static": true,
771
- "default": "''"
772
- },
696
+ "description": "A presentational suffix icon or similar element.",
697
+ "name": "suffix"
698
+ }
699
+ ],
700
+ "members": [
773
701
  {
774
702
  "kind": "field",
775
- "name": "#combobox",
703
+ "name": "formControlController",
776
704
  "privacy": "private",
777
- "type": {
778
- "text": "HTMLInputElement | null"
779
- },
780
- "default": "null"
705
+ "readonly": true,
706
+ "default": "new FormControlController(this, {\n assumeInteractionOn: ['click'],\n })"
781
707
  },
782
708
  {
783
709
  "kind": "field",
784
- "name": "#listbox",
710
+ "name": "hasSlotController",
785
711
  "privacy": "private",
786
- "type": {
787
- "text": "HTMLUListElement | null"
788
- },
789
- "default": "null"
712
+ "readonly": true,
713
+ "default": "new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n )"
790
714
  },
791
715
  {
792
716
  "kind": "field",
793
- "name": "#searchEngine",
794
- "privacy": "private",
717
+ "name": "button",
795
718
  "type": {
796
- "text": "Fuse<GroupedListItem | ListItem> | null"
797
- },
798
- "default": "null"
719
+ "text": "HTMLButtonElement | HTMLLinkElement"
720
+ }
799
721
  },
800
722
  {
801
723
  "kind": "field",
802
- "name": "#walker",
803
- "privacy": "private",
724
+ "name": "hasFocus",
804
725
  "type": {
805
- "text": "TreeWalker | null"
726
+ "text": "boolean"
806
727
  },
807
- "default": "null"
728
+ "privacy": "private",
729
+ "default": "false"
808
730
  },
809
731
  {
810
732
  "kind": "field",
811
- "name": "label",
733
+ "name": "invalid",
812
734
  "type": {
813
- "text": "string"
735
+ "text": "boolean"
814
736
  },
815
- "default": "'Search for Items'",
816
- "description": "Label the combobox with this.",
817
- "attribute": "label"
737
+ "default": "false"
818
738
  },
819
739
  {
820
740
  "kind": "field",
821
- "name": "name",
741
+ "name": "title",
822
742
  "type": {
823
743
  "text": "string"
824
744
  },
825
- "default": "'Item'",
826
- "description": "name the combobox with this.",
827
- "attribute": "name"
745
+ "default": "''",
746
+ "attribute": "title"
828
747
  },
829
748
  {
830
749
  "kind": "field",
831
- "name": "placeholder",
750
+ "name": "variant",
832
751
  "type": {
833
- "text": "string"
752
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'neutral'\n | 'warning'\n | 'danger'\n | 'text'"
834
753
  },
835
- "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
836
- "attribute": "placeholder"
754
+ "default": "'default'",
755
+ "description": "The button's theme variant.",
756
+ "attribute": "variant",
757
+ "reflects": true
837
758
  },
838
759
  {
839
760
  "kind": "field",
840
- "name": "hideHelp",
761
+ "name": "size",
841
762
  "type": {
842
- "text": "boolean"
763
+ "text": "'small' | 'medium' | 'large'"
843
764
  },
844
- "default": "false",
845
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
846
- "attribute": "hide-help"
765
+ "default": "'medium'",
766
+ "description": "The button's size.",
767
+ "attribute": "size",
768
+ "reflects": true
847
769
  },
848
770
  {
849
771
  "kind": "field",
850
- "name": "hideLabel",
772
+ "name": "caret",
851
773
  "type": {
852
774
  "text": "boolean"
853
775
  },
854
776
  "default": "false",
855
- "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
856
- "attribute": "hide-label"
857
- },
858
- {
859
- "kind": "field",
860
- "name": "status",
861
- "type": {
862
- "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
863
- },
864
- "default": "'INITIAL'",
865
- "description": "status of the content",
866
- "attribute": "status"
867
- },
868
- {
869
- "kind": "field",
870
- "name": "content",
871
- "type": {
872
- "text": "Content"
873
- },
874
- "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
875
- "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
876
- "attribute": "content"
777
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
778
+ "attribute": "caret",
779
+ "reflects": true
877
780
  },
878
781
  {
879
782
  "kind": "field",
880
- "name": "isExpanded",
783
+ "name": "disabled",
881
784
  "type": {
882
785
  "text": "boolean"
883
786
  },
884
- "default": "false"
885
- },
886
- {
887
- "kind": "field",
888
- "name": "query"
889
- },
890
- {
891
- "kind": "field",
892
- "name": "searchResults",
893
- "type": {
894
- "text": "GroupedListItem[] | ListItem[]"
895
- },
896
- "default": "[]"
897
- },
898
- {
899
- "kind": "method",
900
- "name": "contentChanged",
901
- "parameters": [
902
- {
903
- "name": "_oldValue",
904
- "type": {
905
- "text": "any"
906
- }
907
- },
908
- {
909
- "name": "newValue",
910
- "type": {
911
- "text": "any"
912
- }
913
- }
914
- ]
915
- },
916
- {
917
- "kind": "field",
918
- "name": "#renderListItem",
919
- "privacy": "private"
920
- },
921
- {
922
- "kind": "field",
923
- "name": "#renderGroupListItem",
924
- "privacy": "private"
925
- },
926
- {
927
- "kind": "field",
928
- "name": "#renderError",
929
- "privacy": "private"
930
- },
931
- {
932
- "kind": "field",
933
- "name": "#renderLoading",
934
- "privacy": "private"
935
- },
936
- {
937
- "kind": "field",
938
- "name": "#dispatchChange",
939
- "privacy": "private"
940
- },
941
- {
942
- "kind": "field",
943
- "name": "#handleButtonClick",
944
- "privacy": "private"
787
+ "default": "false",
788
+ "description": "Disables the button.",
789
+ "attribute": "disabled",
790
+ "reflects": true
945
791
  },
946
792
  {
947
793
  "kind": "field",
948
- "name": "#handleComboboxChange",
949
- "privacy": "private"
794
+ "name": "loading",
795
+ "type": {
796
+ "text": "boolean"
797
+ },
798
+ "default": "false",
799
+ "description": "Draws the button in a loading state.",
800
+ "attribute": "loading",
801
+ "reflects": true
950
802
  },
951
803
  {
952
804
  "kind": "field",
953
- "name": "#handleOptionClick",
954
- "privacy": "private"
805
+ "name": "outline",
806
+ "type": {
807
+ "text": "boolean"
808
+ },
809
+ "default": "false",
810
+ "description": "Draws an outlined button.",
811
+ "attribute": "outline",
812
+ "reflects": true
955
813
  },
956
814
  {
957
815
  "kind": "field",
958
- "name": "#handleKeydown",
959
- "privacy": "private"
816
+ "name": "pill",
817
+ "type": {
818
+ "text": "boolean"
819
+ },
820
+ "default": "false",
821
+ "description": "Draws a pill-style button with rounded edges.",
822
+ "attribute": "pill",
823
+ "reflects": true
960
824
  },
961
825
  {
962
826
  "kind": "field",
963
- "name": "#manageListboxVisibility",
964
- "privacy": "private"
827
+ "name": "circle",
828
+ "type": {
829
+ "text": "boolean"
830
+ },
831
+ "default": "false",
832
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<sl-icon>` in the\ndefault slot.",
833
+ "attribute": "circle",
834
+ "reflects": true
965
835
  },
966
836
  {
967
837
  "kind": "field",
968
- "name": "#selectOption",
969
- "privacy": "private"
970
- }
971
- ],
972
- "attributes": [
973
- {
974
- "name": "label",
838
+ "name": "type",
975
839
  "type": {
976
- "text": "string"
840
+ "text": "'button' | 'submit' | 'reset'"
977
841
  },
978
- "default": "'Search for Items'",
979
- "description": "Label the combobox with this.",
980
- "fieldName": "label"
842
+ "default": "'button'",
843
+ "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.",
844
+ "attribute": "type"
981
845
  },
982
846
  {
847
+ "kind": "field",
983
848
  "name": "name",
984
849
  "type": {
985
850
  "text": "string"
986
851
  },
987
- "default": "'Item'",
988
- "description": "name the combobox with this.",
989
- "fieldName": "name"
852
+ "default": "''",
853
+ "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.",
854
+ "attribute": "name"
990
855
  },
991
856
  {
992
- "name": "placeholder",
857
+ "kind": "field",
858
+ "name": "value",
993
859
  "type": {
994
860
  "text": "string"
995
861
  },
996
- "description": "Set a placeholder for the combobox with this.\nDefaults to the label's value.",
997
- "fieldName": "placeholder"
862
+ "default": "''",
863
+ "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.",
864
+ "attribute": "value"
998
865
  },
999
866
  {
1000
- "name": "hide-help",
867
+ "kind": "field",
868
+ "name": "href",
1001
869
  "type": {
1002
- "text": "boolean"
870
+ "text": "string"
1003
871
  },
1004
- "default": "false",
1005
- "description": "Hide the combobox's help text.\nWhen hidden, not rendered at all.",
1006
- "fieldName": "hideHelp"
872
+ "default": "''",
873
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
874
+ "attribute": "href"
1007
875
  },
1008
876
  {
1009
- "name": "hide-label",
877
+ "kind": "field",
878
+ "name": "target",
1010
879
  "type": {
1011
- "text": "boolean"
880
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
1012
881
  },
1013
- "default": "false",
1014
- "description": "Hide the combobox's label text.\nWhen hidden, still presents to screen readers.",
1015
- "fieldName": "hideLabel"
882
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
883
+ "attribute": "target"
1016
884
  },
1017
885
  {
1018
- "name": "status",
886
+ "kind": "field",
887
+ "name": "rel",
1019
888
  "type": {
1020
- "text": "'INITIAL' | 'PENDING' | 'COMPLETE' | 'ERROR'"
889
+ "text": "string"
1021
890
  },
1022
- "default": "'INITIAL'",
1023
- "description": "status of the content",
1024
- "fieldName": "status"
891
+ "default": "'noreferrer noopener'",
892
+ "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.",
893
+ "attribute": "rel"
1025
894
  },
1026
895
  {
1027
- "name": "content",
896
+ "kind": "field",
897
+ "name": "download",
1028
898
  "type": {
1029
- "text": "Content"
899
+ "text": "string | undefined"
1030
900
  },
1031
- "default": "{\n type: SearchableListType.GroupedListItem,\n data: [],\n }",
1032
- "description": "content or data of the combobox. This could be of type string | GroupedListItem[] | ListItem[] | undefined",
1033
- "fieldName": "content"
1034
- }
1035
- ],
1036
- "superclass": {
1037
- "name": "TerraElement",
1038
- "module": "/src/internal/terra-element.js"
1039
- },
1040
- "summary": "Fuzzy-search for combobox with list autocomplete.",
1041
- "tagNameWithoutPrefix": "combobox",
1042
- "tagName": "terra-combobox",
1043
- "customElement": true,
1044
- "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 */",
1045
- "documentation": "https://disc.gsfc.nasa.gov/components/combobox",
1046
- "status": "experimental",
1047
- "since": "1.0"
1048
- }
1049
- ],
1050
- "exports": [
1051
- {
1052
- "kind": "js",
1053
- "name": "default",
1054
- "declaration": {
1055
- "name": "TerraCombobox",
1056
- "module": "components/combobox/combobox.js"
1057
- }
1058
- }
1059
- ]
1060
- },
1061
- {
1062
- "kind": "javascript-module",
1063
- "path": "components/date-range-slider/date-range-slider.js",
1064
- "declarations": [
1065
- {
1066
- "kind": "class",
1067
- "description": "",
1068
- "name": "TerraDateRangeSlider",
1069
- "cssProperties": [
1070
- {
1071
- "description": "An example CSS custom property.",
1072
- "name": "--example"
1073
- }
1074
- ],
1075
- "cssParts": [
1076
- {
1077
- "description": "The component's base wrapper.",
1078
- "name": "base"
1079
- }
1080
- ],
1081
- "slots": [
1082
- {
1083
- "description": "The default slot.",
1084
- "name": ""
901
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
902
+ "attribute": "download"
1085
903
  },
1086
- {
1087
- "description": "An example slot.",
1088
- "name": "example"
1089
- }
1090
- ],
1091
- "members": [
1092
904
  {
1093
905
  "kind": "field",
1094
- "name": "slider",
906
+ "name": "form",
1095
907
  "type": {
1096
- "text": "HTMLElement & { noUiSlider: API }"
1097
- }
908
+ "text": "string"
909
+ },
910
+ "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.",
911
+ "attribute": "form"
1098
912
  },
1099
913
  {
1100
914
  "kind": "field",
1101
- "name": "timeScale",
915
+ "name": "formAction",
1102
916
  "type": {
1103
- "text": "TimeScale"
917
+ "text": "string"
1104
918
  },
1105
- "default": "'daily'",
1106
- "attribute": "time-scale"
919
+ "description": "Used to override the form owner's `action` attribute.",
920
+ "attribute": "formaction"
1107
921
  },
1108
922
  {
1109
923
  "kind": "field",
1110
- "name": "minDate",
924
+ "name": "formEnctype",
1111
925
  "type": {
1112
- "text": "string"
926
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
1113
927
  },
1114
- "attribute": "min-date"
928
+ "description": "Used to override the form owner's `enctype` attribute.",
929
+ "attribute": "formenctype"
1115
930
  },
1116
931
  {
1117
932
  "kind": "field",
1118
- "name": "maxDate",
933
+ "name": "formMethod",
1119
934
  "type": {
1120
- "text": "string"
935
+ "text": "'post' | 'get'"
1121
936
  },
1122
- "attribute": "max-date"
937
+ "description": "Used to override the form owner's `method` attribute.",
938
+ "attribute": "formmethod"
1123
939
  },
1124
940
  {
1125
941
  "kind": "field",
1126
- "name": "startDate",
942
+ "name": "formNoValidate",
1127
943
  "type": {
1128
- "text": "string"
944
+ "text": "boolean"
1129
945
  },
1130
- "description": "The start date for the time series plot.",
1131
- "attribute": "start-date"
946
+ "description": "Used to override the form owner's `novalidate` attribute.",
947
+ "attribute": "formnovalidate"
1132
948
  },
1133
949
  {
1134
950
  "kind": "field",
1135
- "name": "endDate",
951
+ "name": "formTarget",
1136
952
  "type": {
1137
- "text": "string"
953
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
1138
954
  },
1139
- "attribute": "end-date"
955
+ "description": "Used to override the form owner's `target` attribute.",
956
+ "attribute": "formtarget"
1140
957
  },
1141
958
  {
1142
959
  "kind": "field",
1143
- "name": "disabled",
1144
- "type": {
1145
- "text": "boolean"
1146
- },
1147
- "default": "false",
1148
- "attribute": "disabled",
1149
- "reflects": true
960
+ "name": "validity",
961
+ "description": "Gets the validity state object",
962
+ "readonly": true
963
+ },
964
+ {
965
+ "kind": "field",
966
+ "name": "validationMessage",
967
+ "description": "Gets the validation message",
968
+ "readonly": true
969
+ },
970
+ {
971
+ "kind": "method",
972
+ "name": "handleBlur",
973
+ "privacy": "private"
974
+ },
975
+ {
976
+ "kind": "method",
977
+ "name": "handleFocus",
978
+ "privacy": "private"
979
+ },
980
+ {
981
+ "kind": "method",
982
+ "name": "handleClick",
983
+ "privacy": "private"
984
+ },
985
+ {
986
+ "kind": "method",
987
+ "name": "handleInvalid",
988
+ "privacy": "private",
989
+ "parameters": [
990
+ {
991
+ "name": "event",
992
+ "type": {
993
+ "text": "Event"
994
+ }
995
+ }
996
+ ]
1150
997
  },
1151
998
  {
1152
- "kind": "field",
1153
- "name": "hasPips",
1154
- "type": {
1155
- "text": "boolean"
1156
- },
1157
- "default": "true",
1158
- "attribute": "has-pips",
1159
- "reflects": true
999
+ "kind": "method",
1000
+ "name": "isButton",
1001
+ "privacy": "private"
1160
1002
  },
1161
1003
  {
1162
1004
  "kind": "method",
1163
- "name": "updateSlider"
1005
+ "name": "isLink",
1006
+ "privacy": "private"
1164
1007
  },
1165
1008
  {
1166
1009
  "kind": "method",
1167
- "name": "disabledChanged"
1010
+ "name": "handleDisabledChange"
1168
1011
  },
1169
1012
  {
1170
1013
  "kind": "method",
1171
- "name": "renderSlider"
1014
+ "name": "click",
1015
+ "description": "Simulates a click on the button."
1172
1016
  },
1173
1017
  {
1174
1018
  "kind": "method",
1175
- "name": "renderEmptySlider"
1019
+ "name": "focus",
1020
+ "parameters": [
1021
+ {
1022
+ "name": "options",
1023
+ "optional": true,
1024
+ "type": {
1025
+ "text": "FocusOptions"
1026
+ }
1027
+ }
1028
+ ],
1029
+ "description": "Sets focus on the button."
1176
1030
  },
1177
1031
  {
1178
1032
  "kind": "method",
1179
- "name": "_getStep",
1180
- "privacy": "private"
1033
+ "name": "blur",
1034
+ "description": "Removes focus from the button."
1181
1035
  },
1182
1036
  {
1183
1037
  "kind": "method",
1184
- "name": "_getSliderFormatter",
1185
- "privacy": "private",
1038
+ "name": "checkValidity",
1039
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
1040
+ },
1041
+ {
1042
+ "kind": "method",
1043
+ "name": "getForm",
1186
1044
  "return": {
1187
1045
  "type": {
1188
- "text": "Formatter"
1046
+ "text": "HTMLFormElement | null"
1189
1047
  }
1190
- }
1048
+ },
1049
+ "description": "Gets the associated form, if one exists."
1191
1050
  },
1192
1051
  {
1193
1052
  "kind": "method",
1194
- "name": "_formatDate",
1195
- "privacy": "private",
1053
+ "name": "reportValidity",
1054
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
1055
+ },
1056
+ {
1057
+ "kind": "method",
1058
+ "name": "setCustomValidity",
1196
1059
  "parameters": [
1197
1060
  {
1198
- "name": "date",
1061
+ "name": "message",
1199
1062
  "type": {
1200
- "text": "string | number | Date"
1063
+ "text": "string"
1201
1064
  }
1202
1065
  }
1203
- ]
1066
+ ],
1067
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
1204
1068
  }
1205
1069
  ],
1206
1070
  "attributes": [
1207
1071
  {
1208
- "name": "time-scale",
1209
- "type": {
1210
- "text": "TimeScale"
1211
- },
1212
- "default": "'daily'",
1213
- "fieldName": "timeScale"
1214
- },
1215
- {
1216
- "name": "min-date",
1072
+ "name": "title",
1217
1073
  "type": {
1218
1074
  "text": "string"
1219
1075
  },
1220
- "fieldName": "minDate"
1076
+ "default": "''",
1077
+ "fieldName": "title"
1221
1078
  },
1222
1079
  {
1223
- "name": "max-date",
1080
+ "name": "variant",
1224
1081
  "type": {
1225
- "text": "string"
1082
+ "text": "| 'default'\n | 'primary'\n | 'success'\n | 'neutral'\n | 'warning'\n | 'danger'\n | 'text'"
1226
1083
  },
1227
- "fieldName": "maxDate"
1084
+ "default": "'default'",
1085
+ "description": "The button's theme variant.",
1086
+ "fieldName": "variant"
1228
1087
  },
1229
1088
  {
1230
- "name": "start-date",
1089
+ "name": "size",
1231
1090
  "type": {
1232
- "text": "string"
1091
+ "text": "'small' | 'medium' | 'large'"
1233
1092
  },
1234
- "description": "The start date for the time series plot.",
1235
- "fieldName": "startDate"
1093
+ "default": "'medium'",
1094
+ "description": "The button's size.",
1095
+ "fieldName": "size"
1236
1096
  },
1237
1097
  {
1238
- "name": "end-date",
1098
+ "name": "caret",
1239
1099
  "type": {
1240
- "text": "string"
1100
+ "text": "boolean"
1241
1101
  },
1242
- "fieldName": "endDate"
1102
+ "default": "false",
1103
+ "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
1104
+ "fieldName": "caret"
1243
1105
  },
1244
1106
  {
1245
1107
  "name": "disabled",
@@ -1247,204 +1109,167 @@
1247
1109
  "text": "boolean"
1248
1110
  },
1249
1111
  "default": "false",
1112
+ "description": "Disables the button.",
1250
1113
  "fieldName": "disabled"
1251
1114
  },
1252
1115
  {
1253
- "name": "has-pips",
1116
+ "name": "loading",
1254
1117
  "type": {
1255
1118
  "text": "boolean"
1256
1119
  },
1257
- "default": "true",
1258
- "fieldName": "hasPips"
1259
- }
1260
- ],
1261
- "superclass": {
1262
- "name": "TerraElement",
1263
- "module": "/src/internal/terra-element.js"
1264
- },
1265
- "summary": "Short summary of the component's intended use.",
1266
- "tagNameWithoutPrefix": "date-range-slider",
1267
- "tagName": "terra-date-range-slider",
1268
- "customElement": true,
1269
- "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 */",
1270
- "documentation": "https://disc.gsfc.nasa.gov/components/date-range-slider",
1271
- "status": "experimental",
1272
- "since": "1.0"
1273
- }
1274
- ],
1275
- "exports": [
1276
- {
1277
- "kind": "js",
1278
- "name": "default",
1279
- "declaration": {
1280
- "name": "TerraDateRangeSlider",
1281
- "module": "components/date-range-slider/date-range-slider.js"
1282
- }
1283
- }
1284
- ]
1285
- },
1286
- {
1287
- "kind": "javascript-module",
1288
- "path": "components/loader/loader.js",
1289
- "declarations": [
1290
- {
1291
- "kind": "class",
1292
- "description": "",
1293
- "name": "TerraLoader",
1294
- "cssProperties": [
1295
- {
1296
- "description": "An example CSS custom property.",
1297
- "name": "--example"
1298
- }
1299
- ],
1300
- "cssParts": [
1120
+ "default": "false",
1121
+ "description": "Draws the button in a loading state.",
1122
+ "fieldName": "loading"
1123
+ },
1301
1124
  {
1302
- "description": "The component's base wrapper.",
1303
- "name": "base"
1304
- }
1305
- ],
1306
- "members": [
1125
+ "name": "outline",
1126
+ "type": {
1127
+ "text": "boolean"
1128
+ },
1129
+ "default": "false",
1130
+ "description": "Draws an outlined button.",
1131
+ "fieldName": "outline"
1132
+ },
1307
1133
  {
1308
- "kind": "field",
1309
- "name": "size",
1134
+ "name": "pill",
1310
1135
  "type": {
1311
- "text": "'small' | 'large'"
1136
+ "text": "boolean"
1312
1137
  },
1313
- "default": "'large'",
1314
- "description": "The loader's size",
1315
- "attribute": "size",
1316
- "reflects": true
1138
+ "default": "false",
1139
+ "description": "Draws a pill-style button with rounded edges.",
1140
+ "fieldName": "pill"
1317
1141
  },
1318
1142
  {
1319
- "kind": "field",
1320
- "name": "theme",
1143
+ "name": "circle",
1321
1144
  "type": {
1322
- "text": "'light' | 'dark'"
1145
+ "text": "boolean"
1323
1146
  },
1324
- "description": "The loader's theme, light or dark mode",
1325
- "attribute": "theme",
1326
- "reflects": true
1147
+ "default": "false",
1148
+ "description": "Draws a circular icon button. When this attribute is present, the button expects a single `<sl-icon>` in the\ndefault slot.",
1149
+ "fieldName": "circle"
1327
1150
  },
1328
1151
  {
1329
- "kind": "field",
1330
- "name": "percent",
1152
+ "name": "type",
1331
1153
  "type": {
1332
- "text": "number"
1154
+ "text": "'button' | 'submit' | 'reset'"
1333
1155
  },
1334
- "default": "0",
1335
- "description": "The percent complete for the loader to display",
1336
- "attribute": "percent"
1156
+ "default": "'button'",
1157
+ "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.",
1158
+ "fieldName": "type"
1337
1159
  },
1338
1160
  {
1339
- "kind": "field",
1340
- "name": "indeterminate",
1161
+ "name": "name",
1341
1162
  "type": {
1342
- "text": "boolean"
1163
+ "text": "string"
1343
1164
  },
1344
- "default": "false",
1345
- "description": "an indeterminate loader has an unknown progress and will show a spinner",
1346
- "attribute": "indeterminate"
1165
+ "default": "''",
1166
+ "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.",
1167
+ "fieldName": "name"
1347
1168
  },
1348
1169
  {
1349
- "kind": "field",
1350
- "name": "label",
1170
+ "name": "value",
1351
1171
  "type": {
1352
1172
  "text": "string"
1353
1173
  },
1354
- "default": "'Loading request'",
1355
- "description": "A label used by a screen reader which describes the loader element (e.g., \"Loading video of Tropical Storm Nepartak\")",
1356
- "attribute": "label"
1174
+ "default": "''",
1175
+ "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.",
1176
+ "fieldName": "value"
1357
1177
  },
1358
1178
  {
1359
- "kind": "field",
1360
- "name": "message",
1179
+ "name": "href",
1361
1180
  "type": {
1362
1181
  "text": "string"
1363
1182
  },
1364
1183
  "default": "''",
1365
- "description": "A message used by a screen reader to describe current value of loader element in a more human-understandable way (e.g, \"12% of 45MB\")",
1366
- "attribute": "message"
1184
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
1185
+ "fieldName": "href"
1367
1186
  },
1368
1187
  {
1369
- "kind": "method",
1370
- "name": "formatPercent",
1371
- "parameters": [
1372
- {
1373
- "name": "percent",
1374
- "type": {
1375
- "text": "number"
1376
- }
1377
- }
1378
- ]
1379
- }
1380
- ],
1381
- "attributes": [
1188
+ "name": "target",
1189
+ "type": {
1190
+ "text": "'_blank' | '_parent' | '_self' | '_top'"
1191
+ },
1192
+ "description": "Tells the browser where to open the link. Only used when `href` is present.",
1193
+ "fieldName": "target"
1194
+ },
1195
+ {
1196
+ "name": "rel",
1197
+ "type": {
1198
+ "text": "string"
1199
+ },
1200
+ "default": "'noreferrer noopener'",
1201
+ "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.",
1202
+ "fieldName": "rel"
1203
+ },
1382
1204
  {
1383
- "name": "size",
1205
+ "name": "download",
1384
1206
  "type": {
1385
- "text": "'small' | 'large'"
1207
+ "text": "string | undefined"
1386
1208
  },
1387
- "default": "'large'",
1388
- "description": "The loader's size",
1389
- "fieldName": "size"
1209
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
1210
+ "fieldName": "download"
1390
1211
  },
1391
1212
  {
1392
- "name": "theme",
1213
+ "name": "form",
1393
1214
  "type": {
1394
- "text": "'light' | 'dark'"
1215
+ "text": "string"
1395
1216
  },
1396
- "description": "The loader's theme, light or dark mode",
1397
- "fieldName": "theme"
1217
+ "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.",
1218
+ "fieldName": "form"
1398
1219
  },
1399
1220
  {
1400
- "name": "percent",
1221
+ "name": "formaction",
1401
1222
  "type": {
1402
- "text": "number"
1223
+ "text": "string"
1403
1224
  },
1404
- "default": "0",
1405
- "description": "The percent complete for the loader to display",
1406
- "fieldName": "percent"
1225
+ "description": "Used to override the form owner's `action` attribute.",
1226
+ "fieldName": "formAction"
1407
1227
  },
1408
1228
  {
1409
- "name": "indeterminate",
1229
+ "name": "formenctype",
1410
1230
  "type": {
1411
- "text": "boolean"
1231
+ "text": "| 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain'"
1412
1232
  },
1413
- "default": "false",
1414
- "description": "an indeterminate loader has an unknown progress and will show a spinner",
1415
- "fieldName": "indeterminate"
1233
+ "description": "Used to override the form owner's `enctype` attribute.",
1234
+ "fieldName": "formEnctype"
1416
1235
  },
1417
1236
  {
1418
- "name": "label",
1237
+ "name": "formmethod",
1419
1238
  "type": {
1420
- "text": "string"
1239
+ "text": "'post' | 'get'"
1421
1240
  },
1422
- "default": "'Loading request'",
1423
- "description": "A label used by a screen reader which describes the loader element (e.g., \"Loading video of Tropical Storm Nepartak\")",
1424
- "fieldName": "label"
1241
+ "description": "Used to override the form owner's `method` attribute.",
1242
+ "fieldName": "formMethod"
1425
1243
  },
1426
1244
  {
1427
- "name": "message",
1245
+ "name": "formnovalidate",
1428
1246
  "type": {
1429
- "text": "string"
1247
+ "text": "boolean"
1430
1248
  },
1431
- "default": "''",
1432
- "description": "A message used by a screen reader to describe current value of loader element in a more human-understandable way (e.g, \"12% of 45MB\")",
1433
- "fieldName": "message"
1249
+ "description": "Used to override the form owner's `novalidate` attribute.",
1250
+ "fieldName": "formNoValidate"
1251
+ },
1252
+ {
1253
+ "name": "formtarget",
1254
+ "type": {
1255
+ "text": "| '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string"
1256
+ },
1257
+ "description": "Used to override the form owner's `target` attribute.",
1258
+ "fieldName": "formTarget"
1434
1259
  }
1435
1260
  ],
1436
1261
  "superclass": {
1437
1262
  "name": "TerraElement",
1438
1263
  "module": "/src/internal/terra-element.js"
1439
1264
  },
1440
- "summary": "Loaders are used to indicate there is content that is loading.",
1441
- "tagNameWithoutPrefix": "loader",
1442
- "tagName": "terra-loader",
1265
+ "summary": "Buttons represent actions that are available to the user.",
1266
+ "tagNameWithoutPrefix": "button",
1267
+ "tagName": "terra-button",
1443
1268
  "customElement": true,
1444
- "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 */",
1445
- "documentation": "https://disc.gsfc.nasa.gov/components/loader",
1446
- "status": "experimental",
1447
- "since": "1.0"
1269
+ "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 */",
1270
+ "documentation": "https://shoelace.style/components/button",
1271
+ "status": "stable",
1272
+ "since": "2.0"
1448
1273
  }
1449
1274
  ],
1450
1275
  "exports": [
@@ -1452,8 +1277,8 @@
1452
1277
  "kind": "js",
1453
1278
  "name": "default",
1454
1279
  "declaration": {
1455
- "name": "TerraLoader",
1456
- "module": "components/loader/loader.js"
1280
+ "name": "TerraButton",
1281
+ "module": "components/button/button.js"
1457
1282
  }
1458
1283
  }
1459
1284
  ]
@@ -1684,6 +1509,181 @@
1684
1509
  }
1685
1510
  ]
1686
1511
  },
1512
+ {
1513
+ "kind": "javascript-module",
1514
+ "path": "components/loader/loader.js",
1515
+ "declarations": [
1516
+ {
1517
+ "kind": "class",
1518
+ "description": "",
1519
+ "name": "TerraLoader",
1520
+ "cssProperties": [
1521
+ {
1522
+ "description": "An example CSS custom property.",
1523
+ "name": "--example"
1524
+ }
1525
+ ],
1526
+ "cssParts": [
1527
+ {
1528
+ "description": "The component's base wrapper.",
1529
+ "name": "base"
1530
+ }
1531
+ ],
1532
+ "members": [
1533
+ {
1534
+ "kind": "field",
1535
+ "name": "size",
1536
+ "type": {
1537
+ "text": "'small' | 'large'"
1538
+ },
1539
+ "default": "'large'",
1540
+ "description": "The loader's size",
1541
+ "attribute": "size",
1542
+ "reflects": true
1543
+ },
1544
+ {
1545
+ "kind": "field",
1546
+ "name": "theme",
1547
+ "type": {
1548
+ "text": "'light' | 'dark'"
1549
+ },
1550
+ "description": "The loader's theme, light or dark mode",
1551
+ "attribute": "theme",
1552
+ "reflects": true
1553
+ },
1554
+ {
1555
+ "kind": "field",
1556
+ "name": "percent",
1557
+ "type": {
1558
+ "text": "number"
1559
+ },
1560
+ "default": "0",
1561
+ "description": "The percent complete for the loader to display",
1562
+ "attribute": "percent"
1563
+ },
1564
+ {
1565
+ "kind": "field",
1566
+ "name": "indeterminate",
1567
+ "type": {
1568
+ "text": "boolean"
1569
+ },
1570
+ "default": "false",
1571
+ "description": "an indeterminate loader has an unknown progress and will show a spinner",
1572
+ "attribute": "indeterminate"
1573
+ },
1574
+ {
1575
+ "kind": "field",
1576
+ "name": "label",
1577
+ "type": {
1578
+ "text": "string"
1579
+ },
1580
+ "default": "'Loading request'",
1581
+ "description": "A label used by a screen reader which describes the loader element (e.g., \"Loading video of Tropical Storm Nepartak\")",
1582
+ "attribute": "label"
1583
+ },
1584
+ {
1585
+ "kind": "field",
1586
+ "name": "message",
1587
+ "type": {
1588
+ "text": "string"
1589
+ },
1590
+ "default": "''",
1591
+ "description": "A message used by a screen reader to describe current value of loader element in a more human-understandable way (e.g, \"12% of 45MB\")",
1592
+ "attribute": "message"
1593
+ },
1594
+ {
1595
+ "kind": "method",
1596
+ "name": "formatPercent",
1597
+ "parameters": [
1598
+ {
1599
+ "name": "percent",
1600
+ "type": {
1601
+ "text": "number"
1602
+ }
1603
+ }
1604
+ ]
1605
+ }
1606
+ ],
1607
+ "attributes": [
1608
+ {
1609
+ "name": "size",
1610
+ "type": {
1611
+ "text": "'small' | 'large'"
1612
+ },
1613
+ "default": "'large'",
1614
+ "description": "The loader's size",
1615
+ "fieldName": "size"
1616
+ },
1617
+ {
1618
+ "name": "theme",
1619
+ "type": {
1620
+ "text": "'light' | 'dark'"
1621
+ },
1622
+ "description": "The loader's theme, light or dark mode",
1623
+ "fieldName": "theme"
1624
+ },
1625
+ {
1626
+ "name": "percent",
1627
+ "type": {
1628
+ "text": "number"
1629
+ },
1630
+ "default": "0",
1631
+ "description": "The percent complete for the loader to display",
1632
+ "fieldName": "percent"
1633
+ },
1634
+ {
1635
+ "name": "indeterminate",
1636
+ "type": {
1637
+ "text": "boolean"
1638
+ },
1639
+ "default": "false",
1640
+ "description": "an indeterminate loader has an unknown progress and will show a spinner",
1641
+ "fieldName": "indeterminate"
1642
+ },
1643
+ {
1644
+ "name": "label",
1645
+ "type": {
1646
+ "text": "string"
1647
+ },
1648
+ "default": "'Loading request'",
1649
+ "description": "A label used by a screen reader which describes the loader element (e.g., \"Loading video of Tropical Storm Nepartak\")",
1650
+ "fieldName": "label"
1651
+ },
1652
+ {
1653
+ "name": "message",
1654
+ "type": {
1655
+ "text": "string"
1656
+ },
1657
+ "default": "''",
1658
+ "description": "A message used by a screen reader to describe current value of loader element in a more human-understandable way (e.g, \"12% of 45MB\")",
1659
+ "fieldName": "message"
1660
+ }
1661
+ ],
1662
+ "superclass": {
1663
+ "name": "TerraElement",
1664
+ "module": "/src/internal/terra-element.js"
1665
+ },
1666
+ "summary": "Loaders are used to indicate there is content that is loading.",
1667
+ "tagNameWithoutPrefix": "loader",
1668
+ "tagName": "terra-loader",
1669
+ "customElement": true,
1670
+ "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 */",
1671
+ "documentation": "https://disc.gsfc.nasa.gov/components/loader",
1672
+ "status": "experimental",
1673
+ "since": "1.0"
1674
+ }
1675
+ ],
1676
+ "exports": [
1677
+ {
1678
+ "kind": "js",
1679
+ "name": "default",
1680
+ "declaration": {
1681
+ "name": "TerraLoader",
1682
+ "module": "components/loader/loader.js"
1683
+ }
1684
+ }
1685
+ ]
1686
+ },
1687
1687
  {
1688
1688
  "kind": "javascript-module",
1689
1689
  "path": "components/map/map.js",
@@ -3036,7 +3036,7 @@
3036
3036
  "package": {
3037
3037
  "name": "@nasa-terra/components",
3038
3038
  "description": "A collection of NASA Earthdata components",
3039
- "version": "0.0.6",
3039
+ "version": "0.0.7",
3040
3040
  "author": "NASA GES DISC <https://disc.gsfc.nasa.gov>",
3041
3041
  "homepage": "https://github.com/gesdisc/components",
3042
3042
  "license": "MIT"