@cloudscape-design/components 3.0.53 → 3.0.54

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 (45) hide show
  1. package/collection-preferences/styles.css.js +19 -19
  2. package/collection-preferences/styles.scoped.css +20 -21
  3. package/collection-preferences/styles.selectors.js +19 -19
  4. package/{internal/components/date-input → date-input}/index.d.ts +1 -1
  5. package/date-input/index.d.ts.map +1 -0
  6. package/date-input/index.js +15 -0
  7. package/date-input/index.js.map +1 -0
  8. package/date-input/interfaces.d.ts +9 -0
  9. package/date-input/interfaces.d.ts.map +1 -0
  10. package/date-input/interfaces.js +4 -0
  11. package/date-input/interfaces.js.map +1 -0
  12. package/date-input/internal.d.ts +6 -0
  13. package/date-input/internal.d.ts.map +1 -0
  14. package/date-input/internal.js +30 -0
  15. package/date-input/internal.js.map +1 -0
  16. package/date-input/styles.css.js +6 -0
  17. package/date-input/styles.scoped.css +7 -0
  18. package/date-input/styles.selectors.js +7 -0
  19. package/date-picker/index.d.ts.map +1 -1
  20. package/date-picker/index.js +2 -2
  21. package/date-picker/index.js.map +1 -1
  22. package/date-range-picker/calendar/index.js +3 -3
  23. package/date-range-picker/calendar/index.js.map +1 -1
  24. package/internal/environment.js +1 -1
  25. package/package.json +1 -1
  26. package/property-filter/styles.css.js +30 -28
  27. package/property-filter/styles.scoped.css +53 -35
  28. package/property-filter/styles.selectors.js +30 -28
  29. package/property-filter/token-editor.d.ts.map +1 -1
  30. package/property-filter/token-editor.js +17 -22
  31. package/property-filter/token-editor.js.map +1 -1
  32. package/test-utils/dom/date-input/index.d.ts +4 -0
  33. package/test-utils/dom/date-input/index.js +31 -0
  34. package/test-utils/dom/date-input/index.js.map +1 -0
  35. package/test-utils/selectors/date-input/index.d.ts +4 -0
  36. package/test-utils/selectors/date-input/index.js +31 -0
  37. package/test-utils/selectors/date-input/index.js.map +1 -0
  38. package/test-utils/tsconfig.tsbuildinfo +1 -1
  39. package/internal/components/date-input/index.d.ts.map +0 -1
  40. package/internal/components/date-input/index.js +0 -28
  41. package/internal/components/date-input/index.js.map +0 -1
  42. package/internal/components/date-input/interfaces.d.ts +0 -16
  43. package/internal/components/date-input/interfaces.d.ts.map +0 -1
  44. package/internal/components/date-input/interfaces.js +0 -2
  45. package/internal/components/date-input/interfaces.js.map +0 -1
@@ -1,33 +1,35 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_1wzqe_9leos_93",
5
- "search-field": "awsui_search-field_1wzqe_9leos_104",
6
- "input-wrapper": "awsui_input-wrapper_1wzqe_9leos_110",
7
- "add-token": "awsui_add-token_1wzqe_9leos_114",
8
- "tokens": "awsui_tokens_1wzqe_9leos_121",
9
- "token-operator": "awsui_token-operator_1wzqe_9leos_125",
10
- "token-editor": "awsui_token-editor_1wzqe_9leos_129",
11
- "token-editor-line": "awsui_token-editor-line_1wzqe_9leos_136",
12
- "token-editor-label": "awsui_token-editor-label_1wzqe_9leos_141",
13
- "token-editor-field": "awsui_token-editor-field_1wzqe_9leos_146",
14
- "token-editor-form": "awsui_token-editor-form_1wzqe_9leos_151",
15
- "token-editor-actions": "awsui_token-editor-actions_1wzqe_9leos_154",
16
- "token-editor-commit": "awsui_token-editor-commit_1wzqe_9leos_163",
17
- "custom-control": "awsui_custom-control_1wzqe_9leos_167",
18
- "input": "awsui_input_1wzqe_9leos_110",
19
- "results": "awsui_results_1wzqe_9leos_175",
20
- "results-visible": "awsui_results-visible_1wzqe_9leos_181",
21
- "separator": "awsui_separator_1wzqe_9leos_185",
22
- "toggle-collapsed": "awsui_toggle-collapsed_1wzqe_9leos_192",
23
- "token-trigger": "awsui_token-trigger_1wzqe_9leos_197",
24
- "token-editor-cancel": "awsui_token-editor-cancel_1wzqe_9leos_203",
25
- "remove-all": "awsui_remove-all_1wzqe_9leos_207",
26
- "token-label": "awsui_token-label_1wzqe_9leos_208",
27
- "join-operation": "awsui_join-operation_1wzqe_9leos_209",
28
- "property-selector": "awsui_property-selector_1wzqe_9leos_210",
29
- "operator-selector": "awsui_operator-selector_1wzqe_9leos_211",
30
- "value-selector": "awsui_value-selector_1wzqe_9leos_212",
31
- "token-editor-submit": "awsui_token-editor-submit_1wzqe_9leos_213"
4
+ "root": "awsui_root_1wzqe_1rh4s_93",
5
+ "search-field": "awsui_search-field_1wzqe_1rh4s_104",
6
+ "input-wrapper": "awsui_input-wrapper_1wzqe_1rh4s_110",
7
+ "add-token": "awsui_add-token_1wzqe_1rh4s_114",
8
+ "tokens": "awsui_tokens_1wzqe_1rh4s_121",
9
+ "token-operator": "awsui_token-operator_1wzqe_1rh4s_125",
10
+ "token-editor": "awsui_token-editor_1wzqe_1rh4s_129",
11
+ "token-editor-form": "awsui_token-editor-form_1wzqe_1rh4s_136",
12
+ "token-editor-label": "awsui_token-editor-label_1wzqe_1rh4s_142",
13
+ "token-editor-label-text": "awsui_token-editor-label-text_1wzqe_1rh4s_146",
14
+ "token-editor-label-property": "awsui_token-editor-label-property_1wzqe_1rh4s_151",
15
+ "token-editor-label-operator": "awsui_token-editor-label-operator_1wzqe_1rh4s_155",
16
+ "token-editor-label-value": "awsui_token-editor-label-value_1wzqe_1rh4s_159",
17
+ "token-editor-field-property": "awsui_token-editor-field-property_1wzqe_1rh4s_163",
18
+ "token-editor-field-operator": "awsui_token-editor-field-operator_1wzqe_1rh4s_167",
19
+ "token-editor-field-value": "awsui_token-editor-field-value_1wzqe_1rh4s_171",
20
+ "token-editor-actions": "awsui_token-editor-actions_1wzqe_1rh4s_175",
21
+ "token-editor-commit": "awsui_token-editor-commit_1wzqe_1rh4s_184",
22
+ "custom-control": "awsui_custom-control_1wzqe_1rh4s_188",
23
+ "input": "awsui_input_1wzqe_1rh4s_110",
24
+ "results": "awsui_results_1wzqe_1rh4s_196",
25
+ "results-visible": "awsui_results-visible_1wzqe_1rh4s_202",
26
+ "separator": "awsui_separator_1wzqe_1rh4s_206",
27
+ "toggle-collapsed": "awsui_toggle-collapsed_1wzqe_1rh4s_213",
28
+ "token-trigger": "awsui_token-trigger_1wzqe_1rh4s_218",
29
+ "token-editor-cancel": "awsui_token-editor-cancel_1wzqe_1rh4s_224",
30
+ "remove-all": "awsui_remove-all_1wzqe_1rh4s_228",
31
+ "token-label": "awsui_token-label_1wzqe_1rh4s_229",
32
+ "join-operation": "awsui_join-operation_1wzqe_1rh4s_230",
33
+ "token-editor-submit": "awsui_token-editor-submit_1wzqe_1rh4s_231"
32
34
  };
33
35
 
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_root_1wzqe_9leos_93:not(#\9) {
93
+ .awsui_root_1wzqe_1rh4s_93:not(#\9) {
94
94
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
95
95
  border-collapse: separate;
96
96
  border-spacing: 0;
@@ -127,57 +127,78 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
127
127
  font-family: var(--font-family-base-qnistn, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
128
128
  }
129
129
 
130
- .awsui_search-field_1wzqe_9leos_104:not(#\9) {
130
+ .awsui_search-field_1wzqe_1rh4s_104:not(#\9) {
131
131
  display: flex;
132
132
  align-items: center;
133
133
  max-width: calc(688px - 2 * var(--space-l-4vl6xu, 20px));
134
134
  }
135
135
 
136
- .awsui_input-wrapper_1wzqe_9leos_110:not(#\9) {
136
+ .awsui_input-wrapper_1wzqe_1rh4s_110:not(#\9) {
137
137
  flex-grow: 1;
138
138
  }
139
139
 
140
- .awsui_add-token_1wzqe_9leos_114:not(#\9) {
140
+ .awsui_add-token_1wzqe_1rh4s_114:not(#\9) {
141
141
  border-left: 1px solid var(--color-border-divider-default-7s2wjw, #e9ebed);
142
142
  box-sizing: border-box;
143
143
  margin-left: var(--space-m-17eucw, 16px);
144
144
  padding-left: var(--space-m-17eucw, 16px);
145
145
  }
146
146
 
147
- .awsui_tokens_1wzqe_9leos_121:not(#\9) {
147
+ .awsui_tokens_1wzqe_1rh4s_121:not(#\9) {
148
148
  margin-top: var(--space-xs-rsr2qu, 8px);
149
149
  }
150
150
 
151
- .awsui_token-operator_1wzqe_9leos_125:not(#\9) {
151
+ .awsui_token-operator_1wzqe_1rh4s_125:not(#\9) {
152
152
  font-weight: bold;
153
153
  }
154
154
 
155
- .awsui_token-editor_1wzqe_9leos_129:not(#\9) {
155
+ .awsui_token-editor_1wzqe_1rh4s_129:not(#\9) {
156
156
  margin: var(--space-xxs-ynfts5, 4px);
157
157
  min-width: 300px;
158
158
  display: flex;
159
159
  flex-direction: column;
160
160
  justify-content: space-between;
161
161
  }
162
- .awsui_token-editor-line_1wzqe_9leos_136:not(#\9) {
163
- display: flex;
164
- justify-content: space-between;
165
- align-items: center;
162
+ .awsui_token-editor-form_1wzqe_1rh4s_136:not(#\9) {
163
+ display: grid;
164
+ grid-template-columns: max-content minmax(var(--space-xl-a39hup, 24px), 1fr) minmax(200px, min-content);
165
+ grid-row-gap: var(--space-scaled-l-t03y3z, 20px);
166
+ margin-bottom: var(--space-scaled-l-t03y3z, 20px);
167
+ }
168
+ .awsui_token-editor-label_1wzqe_1rh4s_142:not(#\9) {
169
+ max-width: 200px;
170
+ align-self: center;
166
171
  }
167
- .awsui_token-editor-label_1wzqe_9leos_141:not(#\9) {
172
+ .awsui_token-editor-label-text_1wzqe_1rh4s_146:not(#\9) {
168
173
  word-wrap: break-word;
169
174
  max-width: 100%;
170
175
  overflow: hidden;
171
176
  }
172
- .awsui_token-editor-field_1wzqe_9leos_146:not(#\9) {
173
- width: 200px;
174
- flex-shrink: 0;
175
- margin-left: var(--space-xl-a39hup, 24px);
177
+ .awsui_token-editor-label-property_1wzqe_1rh4s_151:not(#\9) {
178
+ grid-row: 1;
179
+ grid-column: 1;
176
180
  }
177
- .awsui_token-editor-form_1wzqe_9leos_151:not(#\9) {
178
- margin-bottom: var(--space-scaled-l-t03y3z, 20px);
181
+ .awsui_token-editor-label-operator_1wzqe_1rh4s_155:not(#\9) {
182
+ grid-row: 2;
183
+ grid-column: 1;
184
+ }
185
+ .awsui_token-editor-label-value_1wzqe_1rh4s_159:not(#\9) {
186
+ grid-row: 3;
187
+ grid-column: 1;
188
+ }
189
+ .awsui_token-editor-field-property_1wzqe_1rh4s_163:not(#\9) {
190
+ grid-row: 1;
191
+ grid-column: 3;
192
+ }
193
+ .awsui_token-editor-field-operator_1wzqe_1rh4s_167:not(#\9) {
194
+ grid-row: 2;
195
+ grid-column: 3;
196
+ }
197
+ .awsui_token-editor-field-value_1wzqe_1rh4s_171:not(#\9) {
198
+ grid-row: 3;
199
+ grid-column: 3;
179
200
  }
180
- .awsui_token-editor-actions_1wzqe_9leos_154:not(#\9) {
201
+ .awsui_token-editor-actions_1wzqe_1rh4s_175:not(#\9) {
181
202
  display: flex;
182
203
  justify-content: flex-end;
183
204
  padding-top: var(--space-s-hv8c1d, 12px);
@@ -186,56 +207,53 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
186
207
  margin-left: calc(-1 * var(--space-m-17eucw, 16px) + -1 * var(--space-xxs-ynfts5, 4px));
187
208
  margin-right: calc(-1 * var(--space-m-17eucw, 16px) + -1 * var(--space-xxs-ynfts5, 4px));
188
209
  }
189
- .awsui_token-editor-commit_1wzqe_9leos_163:not(#\9) {
210
+ .awsui_token-editor-commit_1wzqe_1rh4s_184:not(#\9) {
190
211
  margin-left: var(--space-xs-rsr2qu, 8px);
191
212
  }
192
213
 
193
- .awsui_custom-control_1wzqe_9leos_167:not(#\9) {
214
+ .awsui_custom-control_1wzqe_1rh4s_188:not(#\9) {
194
215
  margin-right: var(--space-s-hv8c1d, 12px);
195
216
  }
196
217
 
197
- .awsui_input_1wzqe_9leos_110:not(#\9) {
218
+ .awsui_input_1wzqe_1rh4s_110:not(#\9) {
198
219
  flex: 1;
199
220
  }
200
221
 
201
- .awsui_results_1wzqe_9leos_175:not(#\9) {
222
+ .awsui_results_1wzqe_1rh4s_196:not(#\9) {
202
223
  color: var(--color-text-form-label-k3j0b4, #000716);
203
224
  display: inline-block;
204
225
  box-sizing: border-box;
205
226
  white-space: nowrap;
206
227
  }
207
- .awsui_results-visible_1wzqe_9leos_181:not(#\9) {
228
+ .awsui_results-visible_1wzqe_1rh4s_202:not(#\9) {
208
229
  padding-left: var(--space-s-hv8c1d, 12px);
209
230
  }
210
231
 
211
- .awsui_separator_1wzqe_9leos_185:not(#\9) {
232
+ .awsui_separator_1wzqe_1rh4s_206:not(#\9) {
212
233
  margin: 0px var(--space-scaled-m-pv0fmt, 16px);
213
234
  height: 100%;
214
235
  width: var(--border-divider-section-width-4wm2it, 2px);
215
236
  background-color: var(--color-border-divider-default-7s2wjw, #e9ebed);
216
237
  }
217
238
 
218
- .awsui_toggle-collapsed_1wzqe_9leos_192:not(#\9) {
239
+ .awsui_toggle-collapsed_1wzqe_1rh4s_213:not(#\9) {
219
240
  margin-top: calc(-1 * var(--space-scaled-xxs-95dhkm, 4px));
220
241
  margin-left: var(--space-xs-rsr2qu, 8px);
221
242
  }
222
243
 
223
- .awsui_token-trigger_1wzqe_9leos_197:not(#\9) {
244
+ .awsui_token-trigger_1wzqe_1rh4s_218:not(#\9) {
224
245
  min-width: 0;
225
246
  -ms-word-break: break-all;
226
247
  word-break: break-word;
227
248
  }
228
249
 
229
- .awsui_token-editor-cancel_1wzqe_9leos_203:not(#\9) {
250
+ .awsui_token-editor-cancel_1wzqe_1rh4s_224:not(#\9) {
230
251
  margin-right: var(--space-xs-rsr2qu, 8px);
231
252
  }
232
253
 
233
- .awsui_remove-all_1wzqe_9leos_207:not(#\9),
234
- .awsui_token-label_1wzqe_9leos_208:not(#\9),
235
- .awsui_join-operation_1wzqe_9leos_209:not(#\9),
236
- .awsui_property-selector_1wzqe_9leos_210:not(#\9),
237
- .awsui_operator-selector_1wzqe_9leos_211:not(#\9),
238
- .awsui_value-selector_1wzqe_9leos_212:not(#\9),
239
- .awsui_token-editor-submit_1wzqe_9leos_213:not(#\9) {
254
+ .awsui_remove-all_1wzqe_1rh4s_228:not(#\9),
255
+ .awsui_token-label_1wzqe_1rh4s_229:not(#\9),
256
+ .awsui_join-operation_1wzqe_1rh4s_230:not(#\9),
257
+ .awsui_token-editor-submit_1wzqe_1rh4s_231:not(#\9) {
240
258
  /* used in test-utils */
241
259
  }
@@ -2,33 +2,35 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_1wzqe_9leos_93",
6
- "search-field": "awsui_search-field_1wzqe_9leos_104",
7
- "input-wrapper": "awsui_input-wrapper_1wzqe_9leos_110",
8
- "add-token": "awsui_add-token_1wzqe_9leos_114",
9
- "tokens": "awsui_tokens_1wzqe_9leos_121",
10
- "token-operator": "awsui_token-operator_1wzqe_9leos_125",
11
- "token-editor": "awsui_token-editor_1wzqe_9leos_129",
12
- "token-editor-line": "awsui_token-editor-line_1wzqe_9leos_136",
13
- "token-editor-label": "awsui_token-editor-label_1wzqe_9leos_141",
14
- "token-editor-field": "awsui_token-editor-field_1wzqe_9leos_146",
15
- "token-editor-form": "awsui_token-editor-form_1wzqe_9leos_151",
16
- "token-editor-actions": "awsui_token-editor-actions_1wzqe_9leos_154",
17
- "token-editor-commit": "awsui_token-editor-commit_1wzqe_9leos_163",
18
- "custom-control": "awsui_custom-control_1wzqe_9leos_167",
19
- "input": "awsui_input_1wzqe_9leos_110",
20
- "results": "awsui_results_1wzqe_9leos_175",
21
- "results-visible": "awsui_results-visible_1wzqe_9leos_181",
22
- "separator": "awsui_separator_1wzqe_9leos_185",
23
- "toggle-collapsed": "awsui_toggle-collapsed_1wzqe_9leos_192",
24
- "token-trigger": "awsui_token-trigger_1wzqe_9leos_197",
25
- "token-editor-cancel": "awsui_token-editor-cancel_1wzqe_9leos_203",
26
- "remove-all": "awsui_remove-all_1wzqe_9leos_207",
27
- "token-label": "awsui_token-label_1wzqe_9leos_208",
28
- "join-operation": "awsui_join-operation_1wzqe_9leos_209",
29
- "property-selector": "awsui_property-selector_1wzqe_9leos_210",
30
- "operator-selector": "awsui_operator-selector_1wzqe_9leos_211",
31
- "value-selector": "awsui_value-selector_1wzqe_9leos_212",
32
- "token-editor-submit": "awsui_token-editor-submit_1wzqe_9leos_213"
5
+ "root": "awsui_root_1wzqe_1rh4s_93",
6
+ "search-field": "awsui_search-field_1wzqe_1rh4s_104",
7
+ "input-wrapper": "awsui_input-wrapper_1wzqe_1rh4s_110",
8
+ "add-token": "awsui_add-token_1wzqe_1rh4s_114",
9
+ "tokens": "awsui_tokens_1wzqe_1rh4s_121",
10
+ "token-operator": "awsui_token-operator_1wzqe_1rh4s_125",
11
+ "token-editor": "awsui_token-editor_1wzqe_1rh4s_129",
12
+ "token-editor-form": "awsui_token-editor-form_1wzqe_1rh4s_136",
13
+ "token-editor-label": "awsui_token-editor-label_1wzqe_1rh4s_142",
14
+ "token-editor-label-text": "awsui_token-editor-label-text_1wzqe_1rh4s_146",
15
+ "token-editor-label-property": "awsui_token-editor-label-property_1wzqe_1rh4s_151",
16
+ "token-editor-label-operator": "awsui_token-editor-label-operator_1wzqe_1rh4s_155",
17
+ "token-editor-label-value": "awsui_token-editor-label-value_1wzqe_1rh4s_159",
18
+ "token-editor-field-property": "awsui_token-editor-field-property_1wzqe_1rh4s_163",
19
+ "token-editor-field-operator": "awsui_token-editor-field-operator_1wzqe_1rh4s_167",
20
+ "token-editor-field-value": "awsui_token-editor-field-value_1wzqe_1rh4s_171",
21
+ "token-editor-actions": "awsui_token-editor-actions_1wzqe_1rh4s_175",
22
+ "token-editor-commit": "awsui_token-editor-commit_1wzqe_1rh4s_184",
23
+ "custom-control": "awsui_custom-control_1wzqe_1rh4s_188",
24
+ "input": "awsui_input_1wzqe_1rh4s_110",
25
+ "results": "awsui_results_1wzqe_1rh4s_196",
26
+ "results-visible": "awsui_results-visible_1wzqe_1rh4s_202",
27
+ "separator": "awsui_separator_1wzqe_1rh4s_206",
28
+ "toggle-collapsed": "awsui_toggle-collapsed_1wzqe_1rh4s_213",
29
+ "token-trigger": "awsui_token-trigger_1wzqe_1rh4s_218",
30
+ "token-editor-cancel": "awsui_token-editor-cancel_1wzqe_1rh4s_224",
31
+ "remove-all": "awsui_remove-all_1wzqe_1rh4s_228",
32
+ "token-label": "awsui_token-label_1wzqe_1rh4s_229",
33
+ "join-operation": "awsui_join-operation_1wzqe_1rh4s_230",
34
+ "token-editor-submit": "awsui_token-editor-submit_1wzqe_1rh4s_231"
33
35
  };
34
36
 
@@ -1 +1 @@
1
- {"version":3,"file":"token-editor.d.ts","sourceRoot":"","sources":["../../../src/property-filter/token-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAWhD,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,eAAe,EACf,KAAK,EACN,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAmMxF,UAAU,gBAAgB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,mBAAmB,CAAC;IAChC,gBAAgB,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,mBAAmB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IACzD,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,gBAAgB,GACjB,EAAE,gBAAgB,eAwGlB"}
1
+ {"version":3,"file":"token-editor.d.ts","sourceRoot":"","sources":["../../../src/property-filter/token-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAUhD,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,eAAe,EACf,KAAK,EACN,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AA6KxF,UAAU,gBAAgB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,mBAAmB,CAAC;IAChC,gBAAgB,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,mBAAmB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IACzD,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,gBAAgB,GACjB,EAAE,gBAAgB,eAgHlB"}
@@ -4,7 +4,6 @@ import { __assign } from "tslib";
4
4
  import React, { useState, useRef } from 'react';
5
5
  import clsx from 'clsx';
6
6
  import InternalSelect from '../select/internal';
7
- import InternalSpaceBetween from '../space-between/internal';
8
7
  import InternalAutosuggest from '../autosuggest/internal';
9
8
  import InternalPopover from '../popover/internal';
10
9
  import { InternalButton } from '../button/internal';
@@ -14,11 +13,12 @@ import { useLoadItems } from './use-load-items';
14
13
  import { getAllowedOperators, getPropertyOptions, getPropertyByKey, operatorToDescription, getPropertySuggestions, } from './controller';
15
14
  var freeTextOperators = [':', '!:'];
16
15
  function TokenEditorField(_a) {
17
- var className = _a.className, label = _a.label, children = _a.children;
16
+ var type = _a.type, label = _a.label, children = _a.children;
18
17
  var controlId = useUniqueId();
19
- return (React.createElement("div", { className: clsx(styles['token-editor-line'], className) },
20
- React.createElement("label", { className: styles['token-editor-label'], htmlFor: controlId }, label),
21
- React.createElement("div", { className: styles['token-editor-field'] }, children({ controlId: controlId }))));
18
+ return (React.createElement(React.Fragment, null,
19
+ React.createElement("label", { className: clsx(styles['token-editor-label'], styles["token-editor-label-".concat(type)]), htmlFor: controlId },
20
+ React.createElement("span", { className: styles['token-editor-label-text'] }, label)),
21
+ React.createElement("div", { className: clsx(styles['token-editor-field'], styles["token-editor-field-".concat(type)]) }, children({ controlId: controlId }))));
22
22
  }
23
23
  function PropertyInput(_a) {
24
24
  var controlId = _a.controlId, propertyKey = _a.propertyKey, onChangePropertyKey = _a.onChangePropertyKey, asyncProps = _a.asyncProps, filteringProperties = _a.filteringProperties, onLoadItems = _a.onLoadItems, customGroupsText = _a.customGroupsText, i18nStrings = _a.i18nStrings, disableFreeTextFiltering = _a.disableFreeTextFiltering;
@@ -76,14 +76,6 @@ function ValueInput(_a) {
76
76
  ? __assign(__assign({}, valueAutosuggestHandlers), asyncProps) : { empty: asyncProps.empty };
77
77
  return (React.createElement(InternalAutosuggest, __assign({ controlId: controlId, enteredTextLabel: i18nStrings.enteredTextLabel, value: value !== null && value !== void 0 ? value : '', onChange: function (e) { return onChangeValue(e.detail.value); }, disabled: !operator, options: valueOptions }, asyncValueAutosuggesProps, { virtualScroll: true })));
78
78
  }
79
- function TokenEditorForm(_a) {
80
- var i18nStrings = _a.i18nStrings, onCancel = _a.onCancel, onSubmit = _a.onSubmit, children = _a.children;
81
- return (React.createElement("div", { className: styles['token-editor'] },
82
- React.createElement("div", { className: styles['token-editor-form'] }, children),
83
- React.createElement("div", { className: styles['token-editor-actions'] },
84
- React.createElement(InternalButton, { variant: "link", className: styles['token-editor-cancel'], onClick: onCancel }, i18nStrings.cancelActionText),
85
- React.createElement(InternalButton, { className: styles['token-editor-submit'], onClick: onSubmit }, i18nStrings.applyActionText))));
86
- }
87
79
  export function TokenEditor(_a) {
88
80
  var asyncProperties = _a.asyncProperties, asyncProps = _a.asyncProps, customGroupsText = _a.customGroupsText, disableFreeTextFiltering = _a.disableFreeTextFiltering, expandToViewport = _a.expandToViewport, filteringOptions = _a.filteringOptions, filteringProperties = _a.filteringProperties, i18nStrings = _a.i18nStrings, onLoadItems = _a.onLoadItems, setToken = _a.setToken, token = _a.token, triggerComponent = _a.triggerComponent;
89
81
  var _b = useState(token), temporaryToken = _b[0], setTemporaryToken = _b[1];
@@ -108,22 +100,25 @@ export function TokenEditor(_a) {
108
100
  var onChangeValue = function (newValue) {
109
101
  setTemporaryToken(__assign(__assign({}, temporaryToken), { value: newValue }));
110
102
  };
111
- return (React.createElement(InternalPopover, { ref: popoverRef, className: styles['token-label'], triggerType: "text", header: i18nStrings.editTokenHeader, size: "large", position: "right", dismissAriaLabel: i18nStrings.dismissAriaLabel, __onOpen: function () { return setTemporaryToken(token); }, renderWithPortal: expandToViewport, content: React.createElement(TokenEditorForm, { i18nStrings: i18nStrings, onCancel: closePopover, onSubmit: function () {
112
- setToken(temporaryToken);
113
- closePopover();
114
- } },
115
- React.createElement(InternalSpaceBetween, { size: "l" },
116
- React.createElement(TokenEditorField, { label: i18nStrings.propertyText, className: styles['property-selector'] }, function (_a) {
103
+ return (React.createElement(InternalPopover, { ref: popoverRef, className: styles['token-label'], triggerType: "text", header: i18nStrings.editTokenHeader, size: "large", position: "right", dismissAriaLabel: i18nStrings.dismissAriaLabel, __onOpen: function () { return setTemporaryToken(token); }, renderWithPortal: expandToViewport, content: React.createElement("div", { className: styles['token-editor'] },
104
+ React.createElement("div", { className: styles['token-editor-form'] },
105
+ React.createElement(TokenEditorField, { label: i18nStrings.propertyText, type: "property" }, function (_a) {
117
106
  var controlId = _a.controlId;
118
107
  return (React.createElement(PropertyInput, { controlId: controlId, propertyKey: propertyKey, onChangePropertyKey: onChangePropertyKey, asyncProps: asyncProperties ? asyncProps : null, filteringProperties: filteringProperties, onLoadItems: onLoadItems, customGroupsText: customGroupsText, i18nStrings: i18nStrings, disableFreeTextFiltering: disableFreeTextFiltering }));
119
108
  }),
120
- React.createElement(TokenEditorField, { label: i18nStrings.operatorText, className: styles['operator-selector'] }, function (_a) {
109
+ React.createElement(TokenEditorField, { label: i18nStrings.operatorText, type: "operator" }, function (_a) {
121
110
  var controlId = _a.controlId;
122
111
  return (React.createElement(OperatorInput, { controlId: controlId, propertyKey: propertyKey, operator: operator, onChangeOperator: onChangeOperator, filteringProperties: filteringProperties, i18nStrings: i18nStrings }));
123
112
  }),
124
- React.createElement(TokenEditorField, { label: i18nStrings.valueText, className: styles['value-selector'] }, function (_a) {
113
+ React.createElement(TokenEditorField, { label: i18nStrings.valueText, type: "value" }, function (_a) {
125
114
  var controlId = _a.controlId;
126
115
  return (React.createElement(ValueInput, { controlId: controlId, propertyKey: propertyKey, operator: operator, value: value, onChangeValue: onChangeValue, asyncProps: asyncProps, filteringProperties: filteringProperties, filteringOptions: filteringOptions, onLoadItems: onLoadItems, i18nStrings: i18nStrings }));
127
- }))) }, triggerComponent));
116
+ })),
117
+ React.createElement("div", { className: styles['token-editor-actions'] },
118
+ React.createElement(InternalButton, { variant: "link", className: styles['token-editor-cancel'], onClick: closePopover }, i18nStrings.cancelActionText),
119
+ React.createElement(InternalButton, { className: styles['token-editor-submit'], onClick: function () {
120
+ setToken(temporaryToken);
121
+ closePopover();
122
+ } }, i18nStrings.applyActionText))) }, triggerComponent));
128
123
  }
129
124
  //# sourceMappingURL=token-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-editor.js","sourceRoot":"","sources":["../../../src/property-filter/token-editor.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { SelectProps } from '../select/interfaces';\nimport InternalSelect from '../select/internal';\nimport InternalSpaceBetween from '../space-between/internal';\nimport InternalAutosuggest from '../autosuggest/internal';\nimport InternalPopover, { InternalPopoverRef } from '../popover/internal';\nimport { InternalButton } from '../button/internal';\nimport { useUniqueId } from '../internal/hooks/use-unique-id/index';\n\nimport {\n ComparisonOperator,\n FilteringOption,\n FilteringProperty,\n GroupText,\n I18nStrings,\n LoadItemsDetail,\n Token,\n} from './interfaces';\nimport styles from './styles.css.js';\nimport { useLoadItems } from './use-load-items';\nimport {\n getAllowedOperators,\n getPropertyOptions,\n getPropertyByKey,\n operatorToDescription,\n getPropertySuggestions,\n} from './controller';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { DropdownStatusProps } from '../internal/components/dropdown-status/interfaces';\n\nconst freeTextOperators: ComparisonOperator[] = [':', '!:'];\n\ninterface TokenEditorFieldProps {\n label: React.ReactNode;\n className: string;\n children: ({ controlId }: { controlId: string }) => React.ReactNode;\n}\n\nfunction TokenEditorField({ className, label, children }: TokenEditorFieldProps) {\n const controlId = useUniqueId();\n return (\n <div className={clsx(styles['token-editor-line'], className)}>\n <label className={styles['token-editor-label']} htmlFor={controlId}>\n {label}\n </label>\n <div className={styles['token-editor-field']}>{children({ controlId })}</div>\n </div>\n );\n}\n\ninterface PropertyInputProps {\n controlId: string;\n asyncProps: null | DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disableFreeTextFiltering?: boolean;\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangePropertyKey: (propertyKey: undefined | string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n propertyKey: undefined | string;\n}\n\nfunction PropertyInput({\n controlId,\n propertyKey,\n onChangePropertyKey,\n asyncProps,\n filteringProperties,\n onLoadItems,\n customGroupsText,\n i18nStrings,\n disableFreeTextFiltering,\n}: PropertyInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const propertySelectHandlers = useLoadItems(onLoadItems);\n const asyncPropertySelectProps = asyncProps ? { ...asyncProps, ...propertySelectHandlers } : {};\n const propertyOptions: (SelectProps.Option | SelectProps.OptionGroup)[] = getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n ({ propertyLabel, key }) => ({\n value: key,\n label: propertyLabel,\n dontCloseOnSelect: true,\n })\n );\n const allPropertiesOption = {\n label: i18nStrings.allPropertiesLabel,\n value: undefined,\n };\n if (!disableFreeTextFiltering) {\n propertyOptions.unshift(allPropertiesOption);\n }\n return (\n <InternalSelect\n controlId={controlId}\n options={propertyOptions}\n selectedOption={\n property\n ? {\n value: propertyKey ?? undefined,\n label: property.propertyLabel,\n }\n : allPropertiesOption\n }\n onChange={e => onChangePropertyKey(e.detail.selectedOption.value)}\n {...asyncPropertySelectProps}\n />\n );\n}\n\ninterface OperatorInputProps {\n controlId: string;\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeOperator: (operator: ComparisonOperator) => void;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n}\n\nfunction OperatorInput({\n controlId,\n propertyKey,\n operator,\n onChangeOperator,\n filteringProperties,\n i18nStrings,\n}: OperatorInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const freeTextOperators: ComparisonOperator[] = [':', '!:'];\n const operatorOptions = (property ? getAllowedOperators(property) : freeTextOperators).map(operator => ({\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }));\n return (\n <InternalSelect\n controlId={controlId}\n options={operatorOptions}\n triggerVariant=\"option\"\n selectedOption={\n operator\n ? {\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }\n : null\n }\n onChange={e => onChangeOperator(e.detail.selectedOption.value as ComparisonOperator)}\n />\n );\n}\n\ninterface ValueInputProps {\n controlId: string;\n asyncProps: DropdownStatusProps;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeValue: (value: string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n value: undefined | string;\n}\n\nfunction ValueInput({\n controlId,\n propertyKey,\n operator,\n value,\n onChangeValue,\n asyncProps,\n filteringProperties,\n filteringOptions,\n onLoadItems,\n i18nStrings,\n}: ValueInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const valueOptions = property ? getPropertyOptions(property, filteringOptions).map(({ value }) => ({ value })) : [];\n const valueAutosuggestHandlers = useLoadItems(onLoadItems, '', property);\n const asyncValueAutosuggesProps = propertyKey\n ? { ...valueAutosuggestHandlers, ...asyncProps }\n : { empty: asyncProps.empty };\n return (\n <InternalAutosuggest\n controlId={controlId}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n value={value ?? ''}\n onChange={e => onChangeValue(e.detail.value)}\n disabled={!operator}\n options={valueOptions}\n {...asyncValueAutosuggesProps}\n virtualScroll={true}\n />\n );\n}\n\ninterface TokenEditorFormProps {\n i18nStrings: I18nStrings;\n onCancel(): void;\n onSubmit(): void;\n children: React.ReactNode;\n}\n\nfunction TokenEditorForm({ i18nStrings, onCancel, onSubmit, children }: TokenEditorFormProps) {\n return (\n <div className={styles['token-editor']}>\n <div className={styles['token-editor-form']}>{children}</div>\n\n <div className={styles['token-editor-actions']}>\n <InternalButton variant=\"link\" className={styles['token-editor-cancel']} onClick={onCancel}>\n {i18nStrings.cancelActionText}\n </InternalButton>\n <InternalButton className={styles['token-editor-submit']} onClick={onSubmit}>\n {i18nStrings.applyActionText}\n </InternalButton>\n </div>\n </div>\n );\n}\n\ninterface TokenEditorProps {\n asyncProperties?: boolean;\n asyncProps: DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disabled?: boolean;\n disableFreeTextFiltering?: boolean;\n expandToViewport?: boolean;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n setToken: (newToken: Token) => void;\n token: Token;\n triggerComponent?: React.ReactNode;\n}\n\nexport function TokenEditor({\n asyncProperties,\n asyncProps,\n customGroupsText,\n disableFreeTextFiltering,\n expandToViewport,\n filteringOptions,\n filteringProperties,\n i18nStrings,\n onLoadItems,\n setToken,\n token,\n triggerComponent,\n}: TokenEditorProps) {\n const [temporaryToken, setTemporaryToken] = useState<Token>(token);\n const popoverRef = useRef<InternalPopoverRef>(null);\n const closePopover = () => {\n popoverRef.current && popoverRef.current.dismissPopover();\n };\n\n const propertyKey = temporaryToken.propertyKey;\n const onChangePropertyKey = (newPropertyKey: undefined | string) => {\n const filteringProperty = filteringProperties.reduce<FilteringProperty | undefined>(\n (acc, property) => (property.key === newPropertyKey ? property : acc),\n undefined\n );\n const allowedOperators = filteringProperty ? getAllowedOperators(filteringProperty) : freeTextOperators;\n const operator =\n temporaryToken.operator && allowedOperators.indexOf(temporaryToken.operator) !== -1\n ? temporaryToken.operator\n : allowedOperators[0];\n setTemporaryToken({ ...temporaryToken, propertyKey: newPropertyKey, operator });\n };\n\n const operator = temporaryToken.operator;\n const onChangeOperator = (newOperator: ComparisonOperator) => {\n setTemporaryToken({ ...temporaryToken, operator: newOperator });\n };\n\n const value = temporaryToken.value;\n const onChangeValue = (newValue: string) => {\n setTemporaryToken({ ...temporaryToken, value: newValue });\n };\n\n return (\n <InternalPopover\n ref={popoverRef}\n className={styles['token-label']}\n triggerType=\"text\"\n header={i18nStrings.editTokenHeader}\n size=\"large\"\n position=\"right\"\n dismissAriaLabel={i18nStrings.dismissAriaLabel}\n __onOpen={() => setTemporaryToken(token)}\n renderWithPortal={expandToViewport}\n content={\n <TokenEditorForm\n i18nStrings={i18nStrings}\n onCancel={closePopover}\n onSubmit={() => {\n setToken(temporaryToken as Token);\n closePopover();\n }}\n >\n <InternalSpaceBetween size=\"l\">\n <TokenEditorField label={i18nStrings.propertyText} className={styles['property-selector']}>\n {({ controlId }) => (\n <PropertyInput\n controlId={controlId}\n propertyKey={propertyKey}\n onChangePropertyKey={onChangePropertyKey}\n asyncProps={asyncProperties ? asyncProps : null}\n filteringProperties={filteringProperties}\n onLoadItems={onLoadItems}\n customGroupsText={customGroupsText}\n i18nStrings={i18nStrings}\n disableFreeTextFiltering={disableFreeTextFiltering}\n />\n )}\n </TokenEditorField>\n\n <TokenEditorField label={i18nStrings.operatorText} className={styles['operator-selector']}>\n {({ controlId }) => (\n <OperatorInput\n controlId={controlId}\n propertyKey={propertyKey}\n operator={operator}\n onChangeOperator={onChangeOperator}\n filteringProperties={filteringProperties}\n i18nStrings={i18nStrings}\n />\n )}\n </TokenEditorField>\n\n <TokenEditorField label={i18nStrings.valueText} className={styles['value-selector']}>\n {({ controlId }) => (\n <ValueInput\n controlId={controlId}\n propertyKey={propertyKey}\n operator={operator}\n value={value}\n onChangeValue={onChangeValue}\n asyncProps={asyncProps}\n filteringProperties={filteringProperties}\n filteringOptions={filteringOptions}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n />\n )}\n </TokenEditorField>\n </InternalSpaceBetween>\n </TokenEditorForm>\n }\n >\n {triggerComponent}\n </InternalPopover>\n );\n}\n"]}
1
+ {"version":3,"file":"token-editor.js","sourceRoot":"","sources":["../../../src/property-filter/token-editor.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { SelectProps } from '../select/interfaces';\nimport InternalSelect from '../select/internal';\nimport InternalAutosuggest from '../autosuggest/internal';\nimport InternalPopover, { InternalPopoverRef } from '../popover/internal';\nimport { InternalButton } from '../button/internal';\nimport { useUniqueId } from '../internal/hooks/use-unique-id/index';\n\nimport {\n ComparisonOperator,\n FilteringOption,\n FilteringProperty,\n GroupText,\n I18nStrings,\n LoadItemsDetail,\n Token,\n} from './interfaces';\nimport styles from './styles.css.js';\nimport { useLoadItems } from './use-load-items';\nimport {\n getAllowedOperators,\n getPropertyOptions,\n getPropertyByKey,\n operatorToDescription,\n getPropertySuggestions,\n} from './controller';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { DropdownStatusProps } from '../internal/components/dropdown-status/interfaces';\n\nconst freeTextOperators: ComparisonOperator[] = [':', '!:'];\n\ninterface TokenEditorFieldProps {\n label: React.ReactNode;\n type: 'property' | 'operator' | 'value';\n children: ({ controlId }: { controlId: string }) => React.ReactNode;\n}\n\nfunction TokenEditorField({ type, label, children }: TokenEditorFieldProps) {\n const controlId = useUniqueId();\n return (\n <>\n <label className={clsx(styles['token-editor-label'], styles[`token-editor-label-${type}`])} htmlFor={controlId}>\n <span className={styles['token-editor-label-text']}>{label}</span>\n </label>\n <div className={clsx(styles['token-editor-field'], styles[`token-editor-field-${type}`])}>\n {children({ controlId })}\n </div>\n </>\n );\n}\n\ninterface PropertyInputProps {\n controlId: string;\n asyncProps: null | DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disableFreeTextFiltering?: boolean;\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangePropertyKey: (propertyKey: undefined | string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n propertyKey: undefined | string;\n}\n\nfunction PropertyInput({\n controlId,\n propertyKey,\n onChangePropertyKey,\n asyncProps,\n filteringProperties,\n onLoadItems,\n customGroupsText,\n i18nStrings,\n disableFreeTextFiltering,\n}: PropertyInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const propertySelectHandlers = useLoadItems(onLoadItems);\n const asyncPropertySelectProps = asyncProps ? { ...asyncProps, ...propertySelectHandlers } : {};\n const propertyOptions: (SelectProps.Option | SelectProps.OptionGroup)[] = getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n ({ propertyLabel, key }) => ({\n value: key,\n label: propertyLabel,\n dontCloseOnSelect: true,\n })\n );\n const allPropertiesOption = {\n label: i18nStrings.allPropertiesLabel,\n value: undefined,\n };\n if (!disableFreeTextFiltering) {\n propertyOptions.unshift(allPropertiesOption);\n }\n return (\n <InternalSelect\n controlId={controlId}\n options={propertyOptions}\n selectedOption={\n property\n ? {\n value: propertyKey ?? undefined,\n label: property.propertyLabel,\n }\n : allPropertiesOption\n }\n onChange={e => onChangePropertyKey(e.detail.selectedOption.value)}\n {...asyncPropertySelectProps}\n />\n );\n}\n\ninterface OperatorInputProps {\n controlId: string;\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeOperator: (operator: ComparisonOperator) => void;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n}\n\nfunction OperatorInput({\n controlId,\n propertyKey,\n operator,\n onChangeOperator,\n filteringProperties,\n i18nStrings,\n}: OperatorInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const freeTextOperators: ComparisonOperator[] = [':', '!:'];\n const operatorOptions = (property ? getAllowedOperators(property) : freeTextOperators).map(operator => ({\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }));\n return (\n <InternalSelect\n controlId={controlId}\n options={operatorOptions}\n triggerVariant=\"option\"\n selectedOption={\n operator\n ? {\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }\n : null\n }\n onChange={e => onChangeOperator(e.detail.selectedOption.value as ComparisonOperator)}\n />\n );\n}\n\ninterface ValueInputProps {\n controlId: string;\n asyncProps: DropdownStatusProps;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeValue: (value: string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n value: undefined | string;\n}\n\nfunction ValueInput({\n controlId,\n propertyKey,\n operator,\n value,\n onChangeValue,\n asyncProps,\n filteringProperties,\n filteringOptions,\n onLoadItems,\n i18nStrings,\n}: ValueInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const valueOptions = property ? getPropertyOptions(property, filteringOptions).map(({ value }) => ({ value })) : [];\n const valueAutosuggestHandlers = useLoadItems(onLoadItems, '', property);\n const asyncValueAutosuggesProps = propertyKey\n ? { ...valueAutosuggestHandlers, ...asyncProps }\n : { empty: asyncProps.empty };\n return (\n <InternalAutosuggest\n controlId={controlId}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n value={value ?? ''}\n onChange={e => onChangeValue(e.detail.value)}\n disabled={!operator}\n options={valueOptions}\n {...asyncValueAutosuggesProps}\n virtualScroll={true}\n />\n );\n}\n\ninterface TokenEditorProps {\n asyncProperties?: boolean;\n asyncProps: DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disabled?: boolean;\n disableFreeTextFiltering?: boolean;\n expandToViewport?: boolean;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n setToken: (newToken: Token) => void;\n token: Token;\n triggerComponent?: React.ReactNode;\n}\n\nexport function TokenEditor({\n asyncProperties,\n asyncProps,\n customGroupsText,\n disableFreeTextFiltering,\n expandToViewport,\n filteringOptions,\n filteringProperties,\n i18nStrings,\n onLoadItems,\n setToken,\n token,\n triggerComponent,\n}: TokenEditorProps) {\n const [temporaryToken, setTemporaryToken] = useState<Token>(token);\n const popoverRef = useRef<InternalPopoverRef>(null);\n const closePopover = () => {\n popoverRef.current && popoverRef.current.dismissPopover();\n };\n\n const propertyKey = temporaryToken.propertyKey;\n const onChangePropertyKey = (newPropertyKey: undefined | string) => {\n const filteringProperty = filteringProperties.reduce<FilteringProperty | undefined>(\n (acc, property) => (property.key === newPropertyKey ? property : acc),\n undefined\n );\n const allowedOperators = filteringProperty ? getAllowedOperators(filteringProperty) : freeTextOperators;\n const operator =\n temporaryToken.operator && allowedOperators.indexOf(temporaryToken.operator) !== -1\n ? temporaryToken.operator\n : allowedOperators[0];\n setTemporaryToken({ ...temporaryToken, propertyKey: newPropertyKey, operator });\n };\n\n const operator = temporaryToken.operator;\n const onChangeOperator = (newOperator: ComparisonOperator) => {\n setTemporaryToken({ ...temporaryToken, operator: newOperator });\n };\n\n const value = temporaryToken.value;\n const onChangeValue = (newValue: string) => {\n setTemporaryToken({ ...temporaryToken, value: newValue });\n };\n\n return (\n <InternalPopover\n ref={popoverRef}\n className={styles['token-label']}\n triggerType=\"text\"\n header={i18nStrings.editTokenHeader}\n size=\"large\"\n position=\"right\"\n dismissAriaLabel={i18nStrings.dismissAriaLabel}\n __onOpen={() => setTemporaryToken(token)}\n renderWithPortal={expandToViewport}\n content={\n <div className={styles['token-editor']}>\n <div className={styles['token-editor-form']}>\n <TokenEditorField label={i18nStrings.propertyText} type=\"property\">\n {({ controlId }) => (\n <PropertyInput\n controlId={controlId}\n propertyKey={propertyKey}\n onChangePropertyKey={onChangePropertyKey}\n asyncProps={asyncProperties ? asyncProps : null}\n filteringProperties={filteringProperties}\n onLoadItems={onLoadItems}\n customGroupsText={customGroupsText}\n i18nStrings={i18nStrings}\n disableFreeTextFiltering={disableFreeTextFiltering}\n />\n )}\n </TokenEditorField>\n\n <TokenEditorField label={i18nStrings.operatorText} type=\"operator\">\n {({ controlId }) => (\n <OperatorInput\n controlId={controlId}\n propertyKey={propertyKey}\n operator={operator}\n onChangeOperator={onChangeOperator}\n filteringProperties={filteringProperties}\n i18nStrings={i18nStrings}\n />\n )}\n </TokenEditorField>\n\n <TokenEditorField label={i18nStrings.valueText} type=\"value\">\n {({ controlId }) => (\n <ValueInput\n controlId={controlId}\n propertyKey={propertyKey}\n operator={operator}\n value={value}\n onChangeValue={onChangeValue}\n asyncProps={asyncProps}\n filteringProperties={filteringProperties}\n filteringOptions={filteringOptions}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n />\n )}\n </TokenEditorField>\n </div>\n\n <div className={styles['token-editor-actions']}>\n <InternalButton variant=\"link\" className={styles['token-editor-cancel']} onClick={closePopover}>\n {i18nStrings.cancelActionText}\n </InternalButton>\n <InternalButton\n className={styles['token-editor-submit']}\n onClick={() => {\n setToken(temporaryToken);\n closePopover();\n }}\n >\n {i18nStrings.applyActionText}\n </InternalButton>\n </div>\n </div>\n }\n >\n {triggerComponent}\n </InternalPopover>\n );\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import BaseInputWrapper from '../input/base-input';
2
+ export default class DateInputWrapper extends BaseInputWrapper {
3
+ static rootSelector: string;
4
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
19
+ // SPDX-License-Identifier: Apache-2.0
20
+ var base_input_1 = require("../input/base-input");
21
+ var styles_selectors_js_1 = require("../../../date-input/styles.selectors.js");
22
+ var DateInputWrapper = /** @class */ (function (_super) {
23
+ __extends(DateInputWrapper, _super);
24
+ function DateInputWrapper() {
25
+ return _super !== null && _super.apply(this, arguments) || this;
26
+ }
27
+ DateInputWrapper.rootSelector = styles_selectors_js_1.default.root;
28
+ return DateInputWrapper;
29
+ }(base_input_1.default));
30
+ exports.default = DateInputWrapper;
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/date-input/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,kDAAmD;AACnD,+EAAgE;AAEhE;IAA8C,oCAAgB;IAA9D;;IAEA,CAAC;IADQ,6BAAY,GAAW,6BAAS,CAAC,IAAI,CAAC;IAC/C,uBAAC;CAAA,AAFD,CAA8C,oBAAgB,GAE7D;kBAFoB,gBAAgB"}
@@ -0,0 +1,4 @@
1
+ import BaseInputWrapper from '../input/base-input';
2
+ export default class DateInputWrapper extends BaseInputWrapper {
3
+ static rootSelector: string;
4
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
19
+ // SPDX-License-Identifier: Apache-2.0
20
+ var base_input_1 = require("../input/base-input");
21
+ var styles_selectors_js_1 = require("../../../date-input/styles.selectors.js");
22
+ var DateInputWrapper = /** @class */ (function (_super) {
23
+ __extends(DateInputWrapper, _super);
24
+ function DateInputWrapper() {
25
+ return _super !== null && _super.apply(this, arguments) || this;
26
+ }
27
+ DateInputWrapper.rootSelector = styles_selectors_js_1.default.root;
28
+ return DateInputWrapper;
29
+ }(base_input_1.default));
30
+ exports.default = DateInputWrapper;
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/date-input/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,kDAAmD;AACnD,+EAAgE;AAChE;IAA8C,oCAAgB;IAA9D;;IAEA,CAAC;IADQ,6BAAY,GAAW,6BAAS,CAAC,IAAI,CAAC;IAC/C,uBAAC;CAAA,AAFD,CAA8C,oBAAgB,GAE7D;kBAFoB,gBAAgB"}