@cloudscape-design/components-themeable 3.0.1309 → 3.0.1311

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 (146) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/collection-preferences/content-display/content-display-list.scss +10 -0
  3. package/lib/internal/scss/collection-preferences/content-display/content-display-option.scss +12 -0
  4. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  5. package/lib/internal/scss/table/header-cell/styles.scss +42 -5
  6. package/lib/internal/scss/table/resizer/styles.scss +26 -13
  7. package/lib/internal/scss/table/styles.scss +15 -0
  8. package/lib/internal/template/collection-preferences/content-display/content-display-option.js +1 -1
  9. package/lib/internal/template/collection-preferences/content-display/content-display-option.js.map +1 -1
  10. package/lib/internal/template/collection-preferences/content-display/index.d.ts +1 -1
  11. package/lib/internal/template/collection-preferences/content-display/index.d.ts.map +1 -1
  12. package/lib/internal/template/collection-preferences/content-display/index.js +63 -27
  13. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  14. package/lib/internal/template/collection-preferences/content-display/utils.d.ts +40 -1
  15. package/lib/internal/template/collection-preferences/content-display/utils.d.ts.map +1 -1
  16. package/lib/internal/template/collection-preferences/content-display/utils.js +107 -13
  17. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  18. package/lib/internal/template/collection-preferences/index.d.ts.map +1 -1
  19. package/lib/internal/template/collection-preferences/index.js +2 -2
  20. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  21. package/lib/internal/template/collection-preferences/interfaces.d.ts +30 -2
  22. package/lib/internal/template/collection-preferences/interfaces.d.ts.map +1 -1
  23. package/lib/internal/template/collection-preferences/interfaces.js.map +1 -1
  24. package/lib/internal/template/collection-preferences/styles.css.js +38 -36
  25. package/lib/internal/template/collection-preferences/styles.scoped.css +81 -37
  26. package/lib/internal/template/collection-preferences/styles.selectors.js +38 -36
  27. package/lib/internal/template/collection-preferences/utils.d.ts +1 -0
  28. package/lib/internal/template/collection-preferences/utils.d.ts.map +1 -1
  29. package/lib/internal/template/collection-preferences/utils.js +14 -0
  30. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  31. package/lib/internal/template/i18n/messages/all.all.js +1 -1
  32. package/lib/internal/template/i18n/messages/all.all.json +1 -1
  33. package/lib/internal/template/i18n/messages/all.en.js +1 -1
  34. package/lib/internal/template/i18n/messages/all.en.json +1 -1
  35. package/lib/internal/template/i18n/messages-types.d.ts +4 -0
  36. package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
  37. package/lib/internal/template/i18n/messages-types.js.map +1 -1
  38. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  39. package/lib/internal/template/internal/environment.js +2 -2
  40. package/lib/internal/template/internal/environment.json +2 -2
  41. package/lib/internal/template/pagination/internal.d.ts.map +1 -1
  42. package/lib/internal/template/pagination/internal.js +4 -1
  43. package/lib/internal/template/pagination/internal.js.map +1 -1
  44. package/lib/internal/template/table/column-groups/col-group.d.ts +8 -0
  45. package/lib/internal/template/table/column-groups/col-group.d.ts.map +1 -0
  46. package/lib/internal/template/table/column-groups/col-group.js +24 -0
  47. package/lib/internal/template/table/column-groups/col-group.js.map +1 -0
  48. package/lib/internal/template/table/column-groups/split-utils.d.ts +27 -0
  49. package/lib/internal/template/table/column-groups/split-utils.d.ts.map +1 -0
  50. package/lib/internal/template/table/column-groups/split-utils.js +43 -0
  51. package/lib/internal/template/table/column-groups/split-utils.js.map +1 -0
  52. package/lib/internal/template/table/column-groups/use-column-groups.d.ts +8 -0
  53. package/lib/internal/template/table/column-groups/use-column-groups.d.ts.map +1 -0
  54. package/lib/internal/template/table/column-groups/use-column-groups.js +23 -0
  55. package/lib/internal/template/table/column-groups/use-column-groups.js.map +1 -0
  56. package/lib/internal/template/table/column-groups/utils.d.ts +55 -0
  57. package/lib/internal/template/table/column-groups/utils.d.ts.map +1 -0
  58. package/lib/internal/template/table/column-groups/utils.js +204 -0
  59. package/lib/internal/template/table/column-groups/utils.js.map +1 -0
  60. package/lib/internal/template/table/header-cell/common-props.d.ts +24 -0
  61. package/lib/internal/template/table/header-cell/common-props.d.ts.map +1 -0
  62. package/lib/internal/template/table/header-cell/common-props.js +4 -0
  63. package/lib/internal/template/table/header-cell/common-props.js.map +1 -0
  64. package/lib/internal/template/table/header-cell/group-header-cell.d.ts +18 -0
  65. package/lib/internal/template/table/header-cell/group-header-cell.d.ts.map +1 -0
  66. package/lib/internal/template/table/header-cell/group-header-cell.js +44 -0
  67. package/lib/internal/template/table/header-cell/group-header-cell.js.map +1 -0
  68. package/lib/internal/template/table/header-cell/index.d.ts +8 -23
  69. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  70. package/lib/internal/template/table/header-cell/index.js +3 -3
  71. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  72. package/lib/internal/template/table/header-cell/styles.css.js +33 -30
  73. package/lib/internal/template/table/header-cell/styles.scoped.css +92 -68
  74. package/lib/internal/template/table/header-cell/styles.selectors.js +33 -30
  75. package/lib/internal/template/table/header-cell/th-element.d.ts +10 -1
  76. package/lib/internal/template/table/header-cell/th-element.d.ts.map +1 -1
  77. package/lib/internal/template/table/header-cell/th-element.js +6 -4
  78. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  79. package/lib/internal/template/table/index.d.ts.map +1 -1
  80. package/lib/internal/template/table/index.js +5 -2
  81. package/lib/internal/template/table/index.js.map +1 -1
  82. package/lib/internal/template/table/interfaces.d.ts +48 -1
  83. package/lib/internal/template/table/interfaces.d.ts.map +1 -1
  84. package/lib/internal/template/table/interfaces.js.map +1 -1
  85. package/lib/internal/template/table/internal.d.ts.map +1 -1
  86. package/lib/internal/template/table/internal.js +119 -102
  87. package/lib/internal/template/table/internal.js.map +1 -1
  88. package/lib/internal/template/table/resizer/index.d.ts +6 -2
  89. package/lib/internal/template/table/resizer/index.d.ts.map +1 -1
  90. package/lib/internal/template/table/resizer/index.js +5 -5
  91. package/lib/internal/template/table/resizer/index.js.map +1 -1
  92. package/lib/internal/template/table/resizer/styles.css.js +16 -13
  93. package/lib/internal/template/table/resizer/styles.scoped.css +36 -26
  94. package/lib/internal/template/table/resizer/styles.selectors.js +16 -13
  95. package/lib/internal/template/table/skeleton-rows.d.ts +23 -0
  96. package/lib/internal/template/table/skeleton-rows.d.ts.map +1 -0
  97. package/lib/internal/template/table/skeleton-rows.js +33 -0
  98. package/lib/internal/template/table/skeleton-rows.js.map +1 -0
  99. package/lib/internal/template/table/sticky-header.d.ts +3 -0
  100. package/lib/internal/template/table/sticky-header.d.ts.map +1 -1
  101. package/lib/internal/template/table/sticky-header.js +7 -2
  102. package/lib/internal/template/table/sticky-header.js.map +1 -1
  103. package/lib/internal/template/table/sticky-scrolling.d.ts.map +1 -1
  104. package/lib/internal/template/table/sticky-scrolling.js +6 -1
  105. package/lib/internal/template/table/sticky-scrolling.js.map +1 -1
  106. package/lib/internal/template/table/styles.css.js +36 -34
  107. package/lib/internal/template/table/styles.scoped.css +53 -41
  108. package/lib/internal/template/table/styles.selectors.js +36 -34
  109. package/lib/internal/template/table/table-role/grid-navigation.d.ts.map +1 -1
  110. package/lib/internal/template/table/table-role/grid-navigation.js +5 -7
  111. package/lib/internal/template/table/table-role/grid-navigation.js.map +1 -1
  112. package/lib/internal/template/table/table-role/table-role-helper.d.ts +3 -0
  113. package/lib/internal/template/table/table-role/table-role-helper.d.ts.map +1 -1
  114. package/lib/internal/template/table/table-role/table-role-helper.js +9 -4
  115. package/lib/internal/template/table/table-role/table-role-helper.js.map +1 -1
  116. package/lib/internal/template/table/table-role/utils.d.ts +19 -0
  117. package/lib/internal/template/table/table-role/utils.d.ts.map +1 -1
  118. package/lib/internal/template/table/table-role/utils.js +86 -7
  119. package/lib/internal/template/table/table-role/utils.js.map +1 -1
  120. package/lib/internal/template/table/thead.d.ts +5 -0
  121. package/lib/internal/template/table/thead.d.ts.map +1 -1
  122. package/lib/internal/template/table/thead.js +145 -18
  123. package/lib/internal/template/table/thead.js.map +1 -1
  124. package/lib/internal/template/table/use-column-widths.d.ts +4 -1
  125. package/lib/internal/template/table/use-column-widths.d.ts.map +1 -1
  126. package/lib/internal/template/table/use-column-widths.js +68 -18
  127. package/lib/internal/template/table/use-column-widths.js.map +1 -1
  128. package/lib/internal/template/table/use-sticky-header.d.ts.map +1 -1
  129. package/lib/internal/template/table/use-sticky-header.js +4 -1
  130. package/lib/internal/template/table/use-sticky-header.js.map +1 -1
  131. package/lib/internal/template/table/utils.d.ts.map +1 -1
  132. package/lib/internal/template/table/utils.js +14 -4
  133. package/lib/internal/template/table/utils.js.map +1 -1
  134. package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.d.ts +28 -2
  135. package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.js +60 -2
  136. package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.js.map +1 -1
  137. package/lib/internal/template/test-utils/dom/table/index.d.ts +18 -1
  138. package/lib/internal/template/test-utils/dom/table/index.js +22 -3
  139. package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
  140. package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.d.ts +28 -2
  141. package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.js +52 -2
  142. package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.js.map +1 -1
  143. package/lib/internal/template/test-utils/selectors/table/index.d.ts +18 -1
  144. package/lib/internal/template/test-utils/selectors/table/index.js +22 -3
  145. package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
  146. package/package.json +1 -1
@@ -150,14 +150,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
150
150
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
151
151
  SPDX-License-Identifier: Apache-2.0
152
152
  */
153
- .awsui_visible-content_tc96w_cfz4e_153:not(#\9),
154
- .awsui_visible-content-toggle_tc96w_cfz4e_154:not(#\9),
155
- .awsui_visible-content-groups_tc96w_cfz4e_155:not(#\9),
156
- .awsui_visible-content-group_tc96w_cfz4e_155:not(#\9) {
153
+ .awsui_visible-content_tc96w_1r78p_153:not(#\9),
154
+ .awsui_visible-content-toggle_tc96w_1r78p_154:not(#\9),
155
+ .awsui_visible-content-groups_tc96w_1r78p_155:not(#\9),
156
+ .awsui_visible-content-group_tc96w_1r78p_155:not(#\9) {
157
157
  /* used in test-utils */
158
158
  }
159
159
 
160
- .awsui_visible-content-title_tc96w_cfz4e_160:not(#\9) {
160
+ .awsui_visible-content-title_tc96w_1r78p_160:not(#\9) {
161
161
  font-size: var(--font-size-body-m-vv54cm, 14px);
162
162
  line-height: var(--line-height-body-m-bedeoh, 22px);
163
163
  font-weight: var(--font-display-label-weight-ise9n2, 400);
@@ -167,13 +167,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
167
167
  margin-inline: 0;
168
168
  }
169
169
 
170
- .awsui_visible-content-group-label_tc96w_cfz4e_170:not(#\9) {
170
+ .awsui_visible-content-group-label_tc96w_1r78p_170:not(#\9) {
171
171
  color: var(--color-text-group-label-yp8mcz, #545b64);
172
172
  padding-block-end: var(--space-xs-kw7k3v, 8px);
173
173
  border-block-end: var(--border-divider-list-width-8ggz94, 1px) solid var(--color-border-divider-secondary-4wvr5g, #eaeded);
174
174
  }
175
175
 
176
- .awsui_visible-content-option_tc96w_cfz4e_176:not(#\9) {
176
+ .awsui_visible-content-option_tc96w_1r78p_176:not(#\9) {
177
177
  display: flex;
178
178
  flex-wrap: nowrap;
179
179
  justify-content: space-between;
@@ -182,11 +182,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
182
182
  padding-inline-end: 0px;
183
183
  border-block-end: var(--border-divider-list-width-8ggz94, 1px) solid var(--color-border-divider-secondary-4wvr5g, #eaeded);
184
184
  }
185
- .awsui_visible-content-option_tc96w_cfz4e_176:not(#\9):last-child {
185
+ .awsui_visible-content-option_tc96w_1r78p_176:not(#\9):last-child {
186
186
  border-block-end: none;
187
187
  }
188
188
 
189
- .awsui_visible-content-option-label_tc96w_cfz4e_189:not(#\9) {
189
+ .awsui_visible-content-option-label_tc96w_1r78p_189:not(#\9) {
190
190
  overflow: hidden;
191
191
  text-overflow: ellipsis;
192
192
  padding-inline-end: var(--space-l-3cws6j, 20px);
@@ -209,11 +209,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
209
209
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
210
210
  SPDX-License-Identifier: Apache-2.0
211
211
  */
212
- .awsui_content-display-option-toggle_tc96w_cfz4e_212:not(#\9) {
212
+ .awsui_content-display-option-toggle_tc96w_1r78p_212:not(#\9) {
213
213
  /* used in test-utils */
214
214
  }
215
215
 
216
- .awsui_content-display-option-content_tc96w_cfz4e_216:not(#\9) {
216
+ .awsui_content-display-option-content_tc96w_1r78p_216:not(#\9) {
217
217
  border-collapse: separate;
218
218
  border-spacing: 0;
219
219
  box-sizing: border-box;
@@ -253,20 +253,60 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
253
253
  border-end-end-radius: var(--border-radius-item-xggxkd, 0px);
254
254
  }
255
255
 
256
- .awsui_content-display-option-label_tc96w_cfz4e_256:not(#\9) {
256
+ .awsui_content-display-option-label_tc96w_1r78p_256:not(#\9) {
257
257
  flex-grow: 1;
258
258
  min-inline-size: 0;
259
259
  word-break: break-word;
260
260
  padding-inline-end: var(--space-l-3cws6j, 20px);
261
261
  }
262
262
 
263
- .awsui_content-display_tc96w_cfz4e_212:not(#\9),
264
- .awsui_content-display-text-filter_tc96w_cfz4e_264:not(#\9),
265
- .awsui_content-display-no-match_tc96w_cfz4e_265:not(#\9) {
263
+ .awsui_content-display-group-header_tc96w_1r78p_263:not(#\9) {
264
+ border-collapse: separate;
265
+ border-spacing: 0;
266
+ box-sizing: border-box;
267
+ caption-side: top;
268
+ cursor: auto;
269
+ direction: inherit;
270
+ empty-cells: show;
271
+ font-family: serif;
272
+ font-style: normal;
273
+ font-variant: normal;
274
+ font-stretch: normal;
275
+ hyphens: none;
276
+ letter-spacing: normal;
277
+ list-style: disc outside none;
278
+ tab-size: 8;
279
+ text-align: start;
280
+ text-indent: 0;
281
+ text-shadow: none;
282
+ text-transform: none;
283
+ visibility: visible;
284
+ white-space: normal;
285
+ word-spacing: normal;
286
+ font-size: var(--font-size-body-m-vv54cm, 14px);
287
+ line-height: var(--line-height-body-m-bedeoh, 22px);
288
+ color: var(--color-text-body-default-5qid0u, #16191f);
289
+ font-weight: var(--font-weight-normal-7w835s, 400);
290
+ font-family: var(--font-family-base-8x5ngf, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
291
+ -webkit-font-smoothing: auto;
292
+ -moz-osx-font-smoothing: auto;
293
+ display: flex;
294
+ align-items: flex-start;
295
+ padding-block: var(--space-scaled-xs-sppte9, 8px);
296
+ padding-inline-end: var(--space-xs-kw7k3v, 8px);
297
+ border-start-start-radius: var(--border-radius-item-xggxkd, 0px);
298
+ border-start-end-radius: var(--border-radius-item-xggxkd, 0px);
299
+ border-end-start-radius: var(--border-radius-item-xggxkd, 0px);
300
+ border-end-end-radius: var(--border-radius-item-xggxkd, 0px);
301
+ }
302
+
303
+ .awsui_content-display_tc96w_1r78p_212:not(#\9),
304
+ .awsui_content-display-text-filter_tc96w_1r78p_304:not(#\9),
305
+ .awsui_content-display-no-match_tc96w_1r78p_305:not(#\9) {
266
306
  /* used in test-utils */
267
307
  }
268
308
 
269
- .awsui_content-display-title_tc96w_cfz4e_269:not(#\9) {
309
+ .awsui_content-display-title_tc96w_1r78p_309:not(#\9) {
270
310
  font-size: var(--font-size-body-m-vv54cm, 14px);
271
311
  line-height: var(--line-height-body-m-bedeoh, 22px);
272
312
  font-weight: var(--font-display-label-weight-ise9n2, 400);
@@ -275,7 +315,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
275
315
  margin-inline: 0;
276
316
  }
277
317
 
278
- .awsui_content-display-description_tc96w_cfz4e_278:not(#\9) {
318
+ .awsui_content-display-description_tc96w_1r78p_318:not(#\9) {
279
319
  color: var(--color-text-form-secondary-4sp9un, #687078);
280
320
  font-size: var(--font-size-body-s-psgqn2, 12px);
281
321
  line-height: var(--line-height-body-s-otgtsr, 16px);
@@ -283,37 +323,41 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
283
323
  margin-block-start: var(--space-scaled-xxxs-prgw5k, 2px);
284
324
  }
285
325
 
286
- .awsui_content-display-option-list_tc96w_cfz4e_286:not(#\9) {
326
+ .awsui_content-display-option-list_tc96w_1r78p_326:not(#\9) {
287
327
  position: relative;
288
328
  list-style: none;
289
329
  padding-block: 0;
290
330
  padding-inline: 0;
291
331
  }
292
332
 
293
- .awsui_root_tc96w_cfz4e_293:not(#\9),
294
- .awsui_modal-root_tc96w_cfz4e_294:not(#\9),
295
- .awsui_trigger-button_tc96w_cfz4e_295:not(#\9),
296
- .awsui_cancel-button_tc96w_cfz4e_296:not(#\9),
297
- .awsui_confirm-button_tc96w_cfz4e_297:not(#\9),
298
- .awsui_custom_tc96w_cfz4e_298:not(#\9),
299
- .awsui_content-before_tc96w_cfz4e_299:not(#\9) {
333
+ .awsui_content-display-group-children_tc96w_1r78p_333:not(#\9) {
334
+ padding-inline-start: calc(28px - var(--size-icon-normal-2f5zkr, 16px) - 2 * var(--space-scaled-xxxs-prgw5k, 2px));
335
+ }
336
+
337
+ .awsui_root_tc96w_1r78p_337:not(#\9),
338
+ .awsui_modal-root_tc96w_1r78p_338:not(#\9),
339
+ .awsui_trigger-button_tc96w_1r78p_339:not(#\9),
340
+ .awsui_cancel-button_tc96w_1r78p_340:not(#\9),
341
+ .awsui_confirm-button_tc96w_1r78p_341:not(#\9),
342
+ .awsui_custom_tc96w_1r78p_342:not(#\9),
343
+ .awsui_content-before_tc96w_1r78p_343:not(#\9) {
300
344
  /* used in test-utils */
301
345
  }
302
346
 
303
- .awsui_second-column-small_tc96w_cfz4e_303:not(#\9) {
347
+ .awsui_second-column-small_tc96w_1r78p_347:not(#\9) {
304
348
  padding-block-start: calc(2 * var(--space-scaled-l-66n9sr, 20px));
305
349
  }
306
350
 
307
- .awsui_wrap-lines_tc96w_cfz4e_307:not(#\9),
308
- .awsui_striped-rows_tc96w_cfz4e_308:not(#\9),
309
- .awsui_content-density_tc96w_cfz4e_309:not(#\9),
310
- .awsui_page-size_tc96w_cfz4e_310:not(#\9),
311
- .awsui_page-size-form-field_tc96w_cfz4e_311:not(#\9),
312
- .awsui_page-size-radio-group_tc96w_cfz4e_312:not(#\9),
313
- .awsui_sticky-columns_tc96w_cfz4e_313:not(#\9),
314
- .awsui_sticky-columns-form-field_tc96w_cfz4e_314:not(#\9),
315
- .awsui_sticky-columns-radio-group_tc96w_cfz4e_315:not(#\9),
316
- .awsui_sticky-columns-first_tc96w_cfz4e_316:not(#\9),
317
- .awsui_sticky-columns-last_tc96w_cfz4e_317:not(#\9) {
351
+ .awsui_wrap-lines_tc96w_1r78p_351:not(#\9),
352
+ .awsui_striped-rows_tc96w_1r78p_352:not(#\9),
353
+ .awsui_content-density_tc96w_1r78p_353:not(#\9),
354
+ .awsui_page-size_tc96w_1r78p_354:not(#\9),
355
+ .awsui_page-size-form-field_tc96w_1r78p_355:not(#\9),
356
+ .awsui_page-size-radio-group_tc96w_1r78p_356:not(#\9),
357
+ .awsui_sticky-columns_tc96w_1r78p_357:not(#\9),
358
+ .awsui_sticky-columns-form-field_tc96w_1r78p_358:not(#\9),
359
+ .awsui_sticky-columns-radio-group_tc96w_1r78p_359:not(#\9),
360
+ .awsui_sticky-columns-first_tc96w_1r78p_360:not(#\9),
361
+ .awsui_sticky-columns-last_tc96w_1r78p_361:not(#\9) {
318
362
  /* used in test-utils */
319
363
  }
@@ -2,41 +2,43 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "visible-content": "awsui_visible-content_tc96w_cfz4e_153",
6
- "visible-content-toggle": "awsui_visible-content-toggle_tc96w_cfz4e_154",
7
- "visible-content-groups": "awsui_visible-content-groups_tc96w_cfz4e_155",
8
- "visible-content-group": "awsui_visible-content-group_tc96w_cfz4e_155",
9
- "visible-content-title": "awsui_visible-content-title_tc96w_cfz4e_160",
10
- "visible-content-group-label": "awsui_visible-content-group-label_tc96w_cfz4e_170",
11
- "visible-content-option": "awsui_visible-content-option_tc96w_cfz4e_176",
12
- "visible-content-option-label": "awsui_visible-content-option-label_tc96w_cfz4e_189",
13
- "content-display-option-toggle": "awsui_content-display-option-toggle_tc96w_cfz4e_212",
14
- "content-display-option-content": "awsui_content-display-option-content_tc96w_cfz4e_216",
15
- "content-display-option-label": "awsui_content-display-option-label_tc96w_cfz4e_256",
16
- "content-display": "awsui_content-display_tc96w_cfz4e_212",
17
- "content-display-text-filter": "awsui_content-display-text-filter_tc96w_cfz4e_264",
18
- "content-display-no-match": "awsui_content-display-no-match_tc96w_cfz4e_265",
19
- "content-display-title": "awsui_content-display-title_tc96w_cfz4e_269",
20
- "content-display-description": "awsui_content-display-description_tc96w_cfz4e_278",
21
- "content-display-option-list": "awsui_content-display-option-list_tc96w_cfz4e_286",
22
- "root": "awsui_root_tc96w_cfz4e_293",
23
- "modal-root": "awsui_modal-root_tc96w_cfz4e_294",
24
- "trigger-button": "awsui_trigger-button_tc96w_cfz4e_295",
25
- "cancel-button": "awsui_cancel-button_tc96w_cfz4e_296",
26
- "confirm-button": "awsui_confirm-button_tc96w_cfz4e_297",
27
- "custom": "awsui_custom_tc96w_cfz4e_298",
28
- "content-before": "awsui_content-before_tc96w_cfz4e_299",
29
- "second-column-small": "awsui_second-column-small_tc96w_cfz4e_303",
30
- "wrap-lines": "awsui_wrap-lines_tc96w_cfz4e_307",
31
- "striped-rows": "awsui_striped-rows_tc96w_cfz4e_308",
32
- "content-density": "awsui_content-density_tc96w_cfz4e_309",
33
- "page-size": "awsui_page-size_tc96w_cfz4e_310",
34
- "page-size-form-field": "awsui_page-size-form-field_tc96w_cfz4e_311",
35
- "page-size-radio-group": "awsui_page-size-radio-group_tc96w_cfz4e_312",
36
- "sticky-columns": "awsui_sticky-columns_tc96w_cfz4e_313",
37
- "sticky-columns-form-field": "awsui_sticky-columns-form-field_tc96w_cfz4e_314",
38
- "sticky-columns-radio-group": "awsui_sticky-columns-radio-group_tc96w_cfz4e_315",
39
- "sticky-columns-first": "awsui_sticky-columns-first_tc96w_cfz4e_316",
40
- "sticky-columns-last": "awsui_sticky-columns-last_tc96w_cfz4e_317"
5
+ "visible-content": "awsui_visible-content_tc96w_1r78p_153",
6
+ "visible-content-toggle": "awsui_visible-content-toggle_tc96w_1r78p_154",
7
+ "visible-content-groups": "awsui_visible-content-groups_tc96w_1r78p_155",
8
+ "visible-content-group": "awsui_visible-content-group_tc96w_1r78p_155",
9
+ "visible-content-title": "awsui_visible-content-title_tc96w_1r78p_160",
10
+ "visible-content-group-label": "awsui_visible-content-group-label_tc96w_1r78p_170",
11
+ "visible-content-option": "awsui_visible-content-option_tc96w_1r78p_176",
12
+ "visible-content-option-label": "awsui_visible-content-option-label_tc96w_1r78p_189",
13
+ "content-display-option-toggle": "awsui_content-display-option-toggle_tc96w_1r78p_212",
14
+ "content-display-option-content": "awsui_content-display-option-content_tc96w_1r78p_216",
15
+ "content-display-option-label": "awsui_content-display-option-label_tc96w_1r78p_256",
16
+ "content-display-group-header": "awsui_content-display-group-header_tc96w_1r78p_263",
17
+ "content-display": "awsui_content-display_tc96w_1r78p_212",
18
+ "content-display-text-filter": "awsui_content-display-text-filter_tc96w_1r78p_304",
19
+ "content-display-no-match": "awsui_content-display-no-match_tc96w_1r78p_305",
20
+ "content-display-title": "awsui_content-display-title_tc96w_1r78p_309",
21
+ "content-display-description": "awsui_content-display-description_tc96w_1r78p_318",
22
+ "content-display-option-list": "awsui_content-display-option-list_tc96w_1r78p_326",
23
+ "content-display-group-children": "awsui_content-display-group-children_tc96w_1r78p_333",
24
+ "root": "awsui_root_tc96w_1r78p_337",
25
+ "modal-root": "awsui_modal-root_tc96w_1r78p_338",
26
+ "trigger-button": "awsui_trigger-button_tc96w_1r78p_339",
27
+ "cancel-button": "awsui_cancel-button_tc96w_1r78p_340",
28
+ "confirm-button": "awsui_confirm-button_tc96w_1r78p_341",
29
+ "custom": "awsui_custom_tc96w_1r78p_342",
30
+ "content-before": "awsui_content-before_tc96w_1r78p_343",
31
+ "second-column-small": "awsui_second-column-small_tc96w_1r78p_347",
32
+ "wrap-lines": "awsui_wrap-lines_tc96w_1r78p_351",
33
+ "striped-rows": "awsui_striped-rows_tc96w_1r78p_352",
34
+ "content-density": "awsui_content-density_tc96w_1r78p_353",
35
+ "page-size": "awsui_page-size_tc96w_1r78p_354",
36
+ "page-size-form-field": "awsui_page-size-form-field_tc96w_1r78p_355",
37
+ "page-size-radio-group": "awsui_page-size-radio-group_tc96w_1r78p_356",
38
+ "sticky-columns": "awsui_sticky-columns_tc96w_1r78p_357",
39
+ "sticky-columns-form-field": "awsui_sticky-columns-form-field_tc96w_1r78p_358",
40
+ "sticky-columns-radio-group": "awsui_sticky-columns-radio-group_tc96w_1r78p_359",
41
+ "sticky-columns-first": "awsui_sticky-columns-first_tc96w_1r78p_360",
42
+ "sticky-columns-last": "awsui_sticky-columns-last_tc96w_1r78p_361"
41
43
  };
42
44
 
@@ -38,6 +38,7 @@ interface StickyColumnsPreferenceProps extends CollectionPreferencesProps.Sticky
38
38
  };
39
39
  }
40
40
  export declare const StickyColumnsPreference: ({ firstColumns, lastColumns, onChange, value, }: StickyColumnsPreferenceProps) => JSX.Element;
41
+ export declare const collectVisibleIds: (items: ReadonlyArray<CollectionPreferencesProps.ContentDisplayItem>, ancestorVisible: boolean) => string[];
41
42
  interface CustomPreferenceProps<T = any> extends Pick<CollectionPreferencesProps<T>, 'customPreference'> {
42
43
  onChange: (value: T) => void;
43
44
  value: T;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/collection-preferences/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAWxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAI1D,eAAO,MAAM,eAAe,GAAI,8GAS7B,0BAA0B,CAAC,WAAW,KAAG,0BAA0B,CAAC,WASrE,CAAC;AAIH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,0BAA0B,CAAC,WAAW,EAC/C,SAAS,0BAA0B,CAAC,WAAW,KAC9C,0BAA0B,CAAC,WAkB7B,CAAC;AAEF,UAAU,uBAAuB;IAC/B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,GAAI,iBAAiB,uBAAuB,gBAa1E,CAAC;AAEF,UAAU,uBAAwB,SAAQ,0BAA0B,CAAC,kBAAkB;IACrF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,GAAI,qCAAqC,uBAAuB,gBAkB9F,CAAC;AAEF,UAAU,wBAAyB,SAAQ,0BAA0B,CAAC,mBAAmB;IACvF,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,mBAAmB,GAAI,yCAAyC,wBAAwB,gBAcpG,CAAC;AAEF,UAAU,0BAA2B,SAAQ,0BAA0B,CAAC,qBAAqB;IAC3F,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,0BAA0B,eAcxG;AAED,UAAU,6BAA8B,SAAQ,0BAA0B,CAAC,wBAAwB;IACjG,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IACrD,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACnC;AAED,eAAO,MAAM,wBAAwB,GAAI,yCAAyC,6BAA6B,gBAc9G,CAAC;AAEF,UAAU,4BAA6B,SAAQ,0BAA0B,CAAC,uBAAuB;IAC/F,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AA+BD,eAAO,MAAM,uBAAuB,GAAI,iDAKrC,4BAA4B,gBAqB9B,CAAC;AAEF,UAAU,qBAAqB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IACtG,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AACD,eAAO,MAAM,gBAAgB,GAAI,uCAAuC,qBAAqB,uBAc5F,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/collection-preferences/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAWxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAI1D,eAAO,MAAM,eAAe,GAAI,8GAS7B,0BAA0B,CAAC,WAAW,KAAG,0BAA0B,CAAC,WASrE,CAAC;AAIH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,0BAA0B,CAAC,WAAW,EAC/C,SAAS,0BAA0B,CAAC,WAAW,KAC9C,0BAA0B,CAAC,WAkB7B,CAAC;AAEF,UAAU,uBAAuB;IAC/B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,GAAI,iBAAiB,uBAAuB,gBAa1E,CAAC;AAEF,UAAU,uBAAwB,SAAQ,0BAA0B,CAAC,kBAAkB;IACrF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,GAAI,qCAAqC,uBAAuB,gBAkB9F,CAAC;AAEF,UAAU,wBAAyB,SAAQ,0BAA0B,CAAC,mBAAmB;IACvF,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,mBAAmB,GAAI,yCAAyC,wBAAwB,gBAcpG,CAAC;AAEF,UAAU,0BAA2B,SAAQ,0BAA0B,CAAC,qBAAqB;IAC3F,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,0BAA0B,eAcxG;AAED,UAAU,6BAA8B,SAAQ,0BAA0B,CAAC,wBAAwB;IACjG,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IACrD,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACnC;AAED,eAAO,MAAM,wBAAwB,GAAI,yCAAyC,6BAA6B,gBAc9G,CAAC;AAEF,UAAU,4BAA6B,SAAQ,0BAA0B,CAAC,uBAAuB;IAC/F,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AA+BD,eAAO,MAAM,uBAAuB,GAAI,iDAKrC,4BAA4B,gBAqB9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,aAAa,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,EACnE,iBAAiB,OAAO,KACvB,MAAM,EAYR,CAAC;AAEF,UAAU,qBAAqB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IACtG,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AACD,eAAO,MAAM,gBAAgB,GAAI,uCAAuC,qBAAqB,uBAc5F,CAAC"}
@@ -81,6 +81,20 @@ export const StickyColumnsPreference = ({ firstColumns, lastColumns, onChange, v
81
81
  firstColumns && (React.createElement(StickyPreference, { firstOrLast: "first", preference: firstColumns, value: value === null || value === void 0 ? void 0 : value.first, onChange: newValue => onChange({ ...value, first: newValue }) })),
82
82
  lastColumns && (React.createElement(StickyPreference, { firstOrLast: "last", preference: lastColumns, value: value === null || value === void 0 ? void 0 : value.last, onChange: newValue => onChange({ ...value, last: newValue }) }))));
83
83
  };
84
+ export const collectVisibleIds = (items, ancestorVisible) => {
85
+ const result = [];
86
+ for (const item of items) {
87
+ if (item.type === 'group') {
88
+ if (ancestorVisible && item.visible) {
89
+ result.push(...collectVisibleIds(item.children, true));
90
+ }
91
+ }
92
+ else if (ancestorVisible && item.visible) {
93
+ result.push(item.id);
94
+ }
95
+ }
96
+ return result;
97
+ };
84
98
  export const CustomPreference = ({ value, customPreference, onChange }) => {
85
99
  const [customState, setCustomState] = useState(value);
86
100
  if (customPreference) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/collection-preferences/utils.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 } from 'react';\nimport clsx from 'clsx';\n\nimport InternalCheckbox from '../checkbox/internal';\nimport InternalColumnLayout from '../column-layout/internal';\nimport InternalFormField from '../form-field/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport InternalRadioGroup from '../radio-group/internal';\nimport InternalSpaceBetween from '../space-between/internal';\nimport { getAnalyticsInnerContextAttribute } from './analytics-metadata/utils';\nimport { CollectionPreferencesProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport const copyPreferences = ({\n pageSize,\n wrapLines,\n stripedRows,\n contentDensity,\n visibleContent,\n contentDisplay,\n stickyColumns,\n custom,\n}: CollectionPreferencesProps.Preferences): CollectionPreferencesProps.Preferences => ({\n pageSize,\n wrapLines,\n stripedRows,\n contentDensity,\n visibleContent,\n contentDisplay,\n stickyColumns,\n custom,\n});\n\ntype CopyPreferenceName = keyof CollectionPreferencesProps.Preferences;\n\nexport const mergePreferences = (\n newPref: CollectionPreferencesProps.Preferences,\n oldPref: CollectionPreferencesProps.Preferences\n): CollectionPreferencesProps.Preferences => {\n const newObj = { ...oldPref };\n const prefNames: CopyPreferenceName[] = [\n 'pageSize',\n 'wrapLines',\n 'stripedRows',\n 'contentDensity',\n 'visibleContent',\n 'custom',\n 'contentDisplay',\n 'stickyColumns',\n ];\n for (const prefName of prefNames) {\n if (newPref[prefName] !== undefined) {\n newObj[prefName] = newPref[prefName];\n }\n }\n return newObj;\n};\n\ninterface ModalContentLayoutProps {\n left: React.ReactNode;\n right: React.ReactNode;\n}\n\nexport const ModalContentLayout = ({ left, right }: ModalContentLayoutProps) => {\n const [breakpoint, ref] = useContainerBreakpoints(['xs']);\n const smallContainer = breakpoint === 'default';\n\n const columns = left && right ? 2 : 1;\n return (\n <div ref={ref}>\n <InternalColumnLayout columns={smallContainer ? 1 : columns} variant=\"text-grid\">\n {left && <div>{left}</div>}\n {right && <div className={clsx(left && smallContainer && styles['second-column-small'])}>{right}</div>}\n </InternalColumnLayout>\n </div>\n );\n};\n\ninterface PageSizePreferenceProps extends CollectionPreferencesProps.PageSizePreference {\n onChange: (value: number) => void;\n value?: number;\n}\n\nexport const PageSizePreference = ({ title, options, value, onChange }: PageSizePreferenceProps) => {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div className={styles['page-size']} {...getAnalyticsInnerContextAttribute('pageSize')}>\n <InternalFormField\n label={i18n('pageSizePreference.title', title)}\n stretch={true}\n className={styles['page-size-form-field']}\n >\n <InternalRadioGroup\n className={styles['page-size-radio-group']}\n value={`${value}`}\n items={options.map(({ label, value }) => ({ label, value: `${value}` }))}\n onChange={({ detail }) => onChange(parseInt(detail.value, 10))}\n />\n </InternalFormField>\n </div>\n );\n};\n\ninterface WrapLinesPreferenceProps extends CollectionPreferencesProps.WrapLinesPreference {\n onChange: (value: boolean) => void;\n value?: boolean;\n}\n\nexport const WrapLinesPreference = ({ label, description, value, onChange }: WrapLinesPreferenceProps) => {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div {...getAnalyticsInnerContextAttribute('wrapLines')}>\n <InternalCheckbox\n checked={!!value}\n description={i18n('wrapLinesPreference.description', description)}\n onChange={({ detail }) => onChange(detail.checked)}\n className={styles['wrap-lines']}\n >\n {i18n('wrapLinesPreference.label', label)}\n </InternalCheckbox>\n </div>\n );\n};\n\ninterface StripedRowsPreferenceProps extends CollectionPreferencesProps.StripedRowsPreference {\n onChange: (value: boolean) => void;\n value?: boolean;\n}\n\nexport function StripedRowsPreference({ label, description, value, onChange }: StripedRowsPreferenceProps) {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div {...getAnalyticsInnerContextAttribute('stripedRows')}>\n <InternalCheckbox\n checked={!!value}\n description={i18n('stripedRowsPreference.description', description)}\n onChange={({ detail }) => onChange(detail.checked)}\n className={styles['striped-rows']}\n >\n {i18n('stripedRowsPreference.label', label)}\n </InternalCheckbox>\n </div>\n );\n}\n\ninterface ContentDensityPreferenceProps extends CollectionPreferencesProps.ContentDensityPreference {\n onChange: (value: 'comfortable' | 'compact') => void;\n value?: 'comfortable' | 'compact';\n}\n\nexport const ContentDensityPreference = ({ label, description, value, onChange }: ContentDensityPreferenceProps) => {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div {...getAnalyticsInnerContextAttribute('contentDensity')}>\n <InternalCheckbox\n checked={value === 'compact'}\n description={i18n('contentDensityPreference.description', description)}\n onChange={({ detail }) => onChange(detail.checked ? 'compact' : 'comfortable')}\n className={styles['content-density']}\n >\n {i18n('contentDensityPreference.label', label)}\n </InternalCheckbox>\n </div>\n );\n};\n\ninterface StickyColumnsPreferenceProps extends CollectionPreferencesProps.StickyColumnsPreference {\n onChange: (value?: { first?: number; last?: number }) => void;\n value?: { first?: number; last?: number };\n}\ninterface StickyPreference extends CollectionPreferencesProps.StickyColumnsPreference {\n onChange: (value: number) => void;\n preference: {\n title: string;\n description: string;\n options: ReadonlyArray<{\n label: string;\n value: number;\n }>;\n };\n value?: number;\n firstOrLast: 'first' | 'last';\n}\n\nconst StickyPreference = ({ firstOrLast, preference, value, onChange }: StickyPreference) => {\n const { title, description, options } = preference;\n return (\n <div className={styles[`sticky-columns-${firstOrLast}`]} {...getAnalyticsInnerContextAttribute('stickyColumns')}>\n <InternalFormField className={styles['sticky-columns-form-field']} label={title} description={description}>\n <InternalRadioGroup\n className={styles['sticky-columns-radio-group']}\n value={typeof value !== 'undefined' ? `${value}` : null}\n items={options.map(({ label, value }) => ({ label, value: `${value}` }))}\n onChange={({ detail }) => onChange(Number(detail.value))}\n />\n </InternalFormField>\n </div>\n );\n};\n\nexport const StickyColumnsPreference = ({\n firstColumns,\n lastColumns,\n onChange,\n value,\n}: StickyColumnsPreferenceProps) => {\n return (\n <InternalSpaceBetween className={styles['sticky-columns']} size=\"l\">\n {firstColumns && (\n <StickyPreference\n firstOrLast=\"first\"\n preference={firstColumns}\n value={value?.first}\n onChange={newValue => onChange({ ...value, first: newValue })}\n />\n )}\n {lastColumns && (\n <StickyPreference\n firstOrLast=\"last\"\n preference={lastColumns}\n value={value?.last}\n onChange={newValue => onChange({ ...value, last: newValue })}\n />\n )}\n </InternalSpaceBetween>\n );\n};\n\ninterface CustomPreferenceProps<T = any> extends Pick<CollectionPreferencesProps<T>, 'customPreference'> {\n onChange: (value: T) => void;\n value: T;\n}\nexport const CustomPreference = ({ value, customPreference, onChange }: CustomPreferenceProps) => {\n const [customState, setCustomState] = useState(value);\n if (customPreference) {\n return (\n <div className={styles.custom} {...getAnalyticsInnerContextAttribute('custom')}>\n {customPreference(customState, value => {\n // prevent value to be treated as a functional callback\n setCustomState(() => value);\n onChange(value);\n })}\n </div>\n );\n }\n return null;\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/collection-preferences/utils.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 } from 'react';\nimport clsx from 'clsx';\n\nimport InternalCheckbox from '../checkbox/internal';\nimport InternalColumnLayout from '../column-layout/internal';\nimport InternalFormField from '../form-field/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport InternalRadioGroup from '../radio-group/internal';\nimport InternalSpaceBetween from '../space-between/internal';\nimport { getAnalyticsInnerContextAttribute } from './analytics-metadata/utils';\nimport { CollectionPreferencesProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport const copyPreferences = ({\n pageSize,\n wrapLines,\n stripedRows,\n contentDensity,\n visibleContent,\n contentDisplay,\n stickyColumns,\n custom,\n}: CollectionPreferencesProps.Preferences): CollectionPreferencesProps.Preferences => ({\n pageSize,\n wrapLines,\n stripedRows,\n contentDensity,\n visibleContent,\n contentDisplay,\n stickyColumns,\n custom,\n});\n\ntype CopyPreferenceName = keyof CollectionPreferencesProps.Preferences;\n\nexport const mergePreferences = (\n newPref: CollectionPreferencesProps.Preferences,\n oldPref: CollectionPreferencesProps.Preferences\n): CollectionPreferencesProps.Preferences => {\n const newObj = { ...oldPref };\n const prefNames: CopyPreferenceName[] = [\n 'pageSize',\n 'wrapLines',\n 'stripedRows',\n 'contentDensity',\n 'visibleContent',\n 'custom',\n 'contentDisplay',\n 'stickyColumns',\n ];\n for (const prefName of prefNames) {\n if (newPref[prefName] !== undefined) {\n newObj[prefName] = newPref[prefName];\n }\n }\n return newObj;\n};\n\ninterface ModalContentLayoutProps {\n left: React.ReactNode;\n right: React.ReactNode;\n}\n\nexport const ModalContentLayout = ({ left, right }: ModalContentLayoutProps) => {\n const [breakpoint, ref] = useContainerBreakpoints(['xs']);\n const smallContainer = breakpoint === 'default';\n\n const columns = left && right ? 2 : 1;\n return (\n <div ref={ref}>\n <InternalColumnLayout columns={smallContainer ? 1 : columns} variant=\"text-grid\">\n {left && <div>{left}</div>}\n {right && <div className={clsx(left && smallContainer && styles['second-column-small'])}>{right}</div>}\n </InternalColumnLayout>\n </div>\n );\n};\n\ninterface PageSizePreferenceProps extends CollectionPreferencesProps.PageSizePreference {\n onChange: (value: number) => void;\n value?: number;\n}\n\nexport const PageSizePreference = ({ title, options, value, onChange }: PageSizePreferenceProps) => {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div className={styles['page-size']} {...getAnalyticsInnerContextAttribute('pageSize')}>\n <InternalFormField\n label={i18n('pageSizePreference.title', title)}\n stretch={true}\n className={styles['page-size-form-field']}\n >\n <InternalRadioGroup\n className={styles['page-size-radio-group']}\n value={`${value}`}\n items={options.map(({ label, value }) => ({ label, value: `${value}` }))}\n onChange={({ detail }) => onChange(parseInt(detail.value, 10))}\n />\n </InternalFormField>\n </div>\n );\n};\n\ninterface WrapLinesPreferenceProps extends CollectionPreferencesProps.WrapLinesPreference {\n onChange: (value: boolean) => void;\n value?: boolean;\n}\n\nexport const WrapLinesPreference = ({ label, description, value, onChange }: WrapLinesPreferenceProps) => {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div {...getAnalyticsInnerContextAttribute('wrapLines')}>\n <InternalCheckbox\n checked={!!value}\n description={i18n('wrapLinesPreference.description', description)}\n onChange={({ detail }) => onChange(detail.checked)}\n className={styles['wrap-lines']}\n >\n {i18n('wrapLinesPreference.label', label)}\n </InternalCheckbox>\n </div>\n );\n};\n\ninterface StripedRowsPreferenceProps extends CollectionPreferencesProps.StripedRowsPreference {\n onChange: (value: boolean) => void;\n value?: boolean;\n}\n\nexport function StripedRowsPreference({ label, description, value, onChange }: StripedRowsPreferenceProps) {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div {...getAnalyticsInnerContextAttribute('stripedRows')}>\n <InternalCheckbox\n checked={!!value}\n description={i18n('stripedRowsPreference.description', description)}\n onChange={({ detail }) => onChange(detail.checked)}\n className={styles['striped-rows']}\n >\n {i18n('stripedRowsPreference.label', label)}\n </InternalCheckbox>\n </div>\n );\n}\n\ninterface ContentDensityPreferenceProps extends CollectionPreferencesProps.ContentDensityPreference {\n onChange: (value: 'comfortable' | 'compact') => void;\n value?: 'comfortable' | 'compact';\n}\n\nexport const ContentDensityPreference = ({ label, description, value, onChange }: ContentDensityPreferenceProps) => {\n const i18n = useInternalI18n('collection-preferences');\n return (\n <div {...getAnalyticsInnerContextAttribute('contentDensity')}>\n <InternalCheckbox\n checked={value === 'compact'}\n description={i18n('contentDensityPreference.description', description)}\n onChange={({ detail }) => onChange(detail.checked ? 'compact' : 'comfortable')}\n className={styles['content-density']}\n >\n {i18n('contentDensityPreference.label', label)}\n </InternalCheckbox>\n </div>\n );\n};\n\ninterface StickyColumnsPreferenceProps extends CollectionPreferencesProps.StickyColumnsPreference {\n onChange: (value?: { first?: number; last?: number }) => void;\n value?: { first?: number; last?: number };\n}\ninterface StickyPreference extends CollectionPreferencesProps.StickyColumnsPreference {\n onChange: (value: number) => void;\n preference: {\n title: string;\n description: string;\n options: ReadonlyArray<{\n label: string;\n value: number;\n }>;\n };\n value?: number;\n firstOrLast: 'first' | 'last';\n}\n\nconst StickyPreference = ({ firstOrLast, preference, value, onChange }: StickyPreference) => {\n const { title, description, options } = preference;\n return (\n <div className={styles[`sticky-columns-${firstOrLast}`]} {...getAnalyticsInnerContextAttribute('stickyColumns')}>\n <InternalFormField className={styles['sticky-columns-form-field']} label={title} description={description}>\n <InternalRadioGroup\n className={styles['sticky-columns-radio-group']}\n value={typeof value !== 'undefined' ? `${value}` : null}\n items={options.map(({ label, value }) => ({ label, value: `${value}` }))}\n onChange={({ detail }) => onChange(Number(detail.value))}\n />\n </InternalFormField>\n </div>\n );\n};\n\nexport const StickyColumnsPreference = ({\n firstColumns,\n lastColumns,\n onChange,\n value,\n}: StickyColumnsPreferenceProps) => {\n return (\n <InternalSpaceBetween className={styles['sticky-columns']} size=\"l\">\n {firstColumns && (\n <StickyPreference\n firstOrLast=\"first\"\n preference={firstColumns}\n value={value?.first}\n onChange={newValue => onChange({ ...value, first: newValue })}\n />\n )}\n {lastColumns && (\n <StickyPreference\n firstOrLast=\"last\"\n preference={lastColumns}\n value={value?.last}\n onChange={newValue => onChange({ ...value, last: newValue })}\n />\n )}\n </InternalSpaceBetween>\n );\n};\n\nexport const collectVisibleIds = (\n items: ReadonlyArray<CollectionPreferencesProps.ContentDisplayItem>,\n ancestorVisible: boolean\n): string[] => {\n const result: string[] = [];\n for (const item of items) {\n if (item.type === 'group') {\n if (ancestorVisible && item.visible) {\n result.push(...collectVisibleIds(item.children, true));\n }\n } else if (ancestorVisible && item.visible) {\n result.push(item.id);\n }\n }\n return result;\n};\n\ninterface CustomPreferenceProps<T = any> extends Pick<CollectionPreferencesProps<T>, 'customPreference'> {\n onChange: (value: T) => void;\n value: T;\n}\nexport const CustomPreference = ({ value, customPreference, onChange }: CustomPreferenceProps) => {\n const [customState, setCustomState] = useState(value);\n if (customPreference) {\n return (\n <div className={styles.custom} {...getAnalyticsInnerContextAttribute('custom')}>\n {customPreference(customState, value => {\n // prevent value to be treated as a functional callback\n setCustomState(() => value);\n onChange(value);\n })}\n </div>\n );\n }\n return null;\n};\n"]}