@cloudscape-design/components 3.0.1308 → 3.0.1309

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 (137) hide show
  1. package/collection-preferences/content-display/content-display-option.js +1 -1
  2. package/collection-preferences/content-display/content-display-option.js.map +1 -1
  3. package/collection-preferences/content-display/index.d.ts +3 -7
  4. package/collection-preferences/content-display/index.d.ts.map +1 -1
  5. package/collection-preferences/content-display/index.js +63 -27
  6. package/collection-preferences/content-display/index.js.map +1 -1
  7. package/collection-preferences/content-display/utils.d.ts +41 -2
  8. package/collection-preferences/content-display/utils.d.ts.map +1 -1
  9. package/collection-preferences/content-display/utils.js +107 -13
  10. package/collection-preferences/content-display/utils.js.map +1 -1
  11. package/collection-preferences/index.d.ts.map +1 -1
  12. package/collection-preferences/index.js +2 -2
  13. package/collection-preferences/index.js.map +1 -1
  14. package/collection-preferences/interfaces.d.ts +30 -2
  15. package/collection-preferences/interfaces.d.ts.map +1 -1
  16. package/collection-preferences/interfaces.js.map +1 -1
  17. package/collection-preferences/styles.css.js +38 -36
  18. package/collection-preferences/styles.scoped.css +81 -37
  19. package/collection-preferences/styles.selectors.js +38 -36
  20. package/collection-preferences/utils.d.ts +1 -0
  21. package/collection-preferences/utils.d.ts.map +1 -1
  22. package/collection-preferences/utils.js +14 -0
  23. package/collection-preferences/utils.js.map +1 -1
  24. package/i18n/messages/all.all.js +1 -1
  25. package/i18n/messages/all.all.json +1 -1
  26. package/i18n/messages/all.en.js +1 -1
  27. package/i18n/messages/all.en.json +1 -1
  28. package/i18n/messages-types.d.ts +4 -0
  29. package/i18n/messages-types.d.ts.map +1 -1
  30. package/i18n/messages-types.js.map +1 -1
  31. package/internal/base-component/styles.scoped.css +1 -1
  32. package/internal/environment.js +2 -2
  33. package/internal/environment.json +2 -2
  34. package/internal/manifest.json +1 -1
  35. package/manifest.json +2 -2
  36. package/package.json +1 -1
  37. package/pagination/internal.d.ts.map +1 -1
  38. package/pagination/internal.js +4 -1
  39. package/pagination/internal.js.map +1 -1
  40. package/table/column-groups/col-group.d.ts +12 -0
  41. package/table/column-groups/col-group.d.ts.map +1 -0
  42. package/table/column-groups/col-group.js +24 -0
  43. package/table/column-groups/col-group.js.map +1 -0
  44. package/table/column-groups/split-utils.d.ts +31 -0
  45. package/table/column-groups/split-utils.d.ts.map +1 -0
  46. package/table/column-groups/split-utils.js +43 -0
  47. package/table/column-groups/split-utils.js.map +1 -0
  48. package/table/column-groups/use-column-groups.d.ts +7 -0
  49. package/table/column-groups/use-column-groups.d.ts.map +1 -0
  50. package/table/column-groups/use-column-groups.js +23 -0
  51. package/table/column-groups/use-column-groups.js.map +1 -0
  52. package/table/column-groups/utils.d.ts +54 -0
  53. package/table/column-groups/utils.d.ts.map +1 -0
  54. package/table/column-groups/utils.js +204 -0
  55. package/table/column-groups/utils.js.map +1 -0
  56. package/table/header-cell/common-props.d.ts +23 -0
  57. package/table/header-cell/common-props.d.ts.map +1 -0
  58. package/table/header-cell/common-props.js +4 -0
  59. package/table/header-cell/common-props.js.map +1 -0
  60. package/table/header-cell/group-header-cell.d.ts +45 -0
  61. package/table/header-cell/group-header-cell.d.ts.map +1 -0
  62. package/table/header-cell/group-header-cell.js +44 -0
  63. package/table/header-cell/group-header-cell.js.map +1 -0
  64. package/table/header-cell/index.d.ts +12 -22
  65. package/table/header-cell/index.d.ts.map +1 -1
  66. package/table/header-cell/index.js +3 -3
  67. package/table/header-cell/index.js.map +1 -1
  68. package/table/header-cell/styles.css.js +33 -30
  69. package/table/header-cell/styles.scoped.css +92 -68
  70. package/table/header-cell/styles.selectors.js +33 -30
  71. package/table/header-cell/th-element.d.ts +16 -0
  72. package/table/header-cell/th-element.d.ts.map +1 -1
  73. package/table/header-cell/th-element.js +6 -4
  74. package/table/header-cell/th-element.js.map +1 -1
  75. package/table/index.d.ts.map +1 -1
  76. package/table/index.js +5 -2
  77. package/table/index.js.map +1 -1
  78. package/table/interfaces.d.ts +37 -1
  79. package/table/interfaces.d.ts.map +1 -1
  80. package/table/interfaces.js.map +1 -1
  81. package/table/internal.d.ts.map +1 -1
  82. package/table/internal.js +17 -5
  83. package/table/internal.js.map +1 -1
  84. package/table/resizer/index.d.ts +9 -2
  85. package/table/resizer/index.d.ts.map +1 -1
  86. package/table/resizer/index.js +5 -5
  87. package/table/resizer/index.js.map +1 -1
  88. package/table/resizer/styles.css.js +16 -13
  89. package/table/resizer/styles.scoped.css +36 -26
  90. package/table/resizer/styles.selectors.js +16 -13
  91. package/table/sticky-header.d.ts +3 -0
  92. package/table/sticky-header.d.ts.map +1 -1
  93. package/table/sticky-header.js +7 -2
  94. package/table/sticky-header.js.map +1 -1
  95. package/table/sticky-scrolling.d.ts.map +1 -1
  96. package/table/sticky-scrolling.js +6 -1
  97. package/table/sticky-scrolling.js.map +1 -1
  98. package/table/styles.css.js +35 -34
  99. package/table/styles.scoped.css +47 -41
  100. package/table/styles.selectors.js +35 -34
  101. package/table/table-role/grid-navigation.d.ts.map +1 -1
  102. package/table/table-role/grid-navigation.js +5 -7
  103. package/table/table-role/grid-navigation.js.map +1 -1
  104. package/table/table-role/table-role-helper.d.ts +3 -0
  105. package/table/table-role/table-role-helper.d.ts.map +1 -1
  106. package/table/table-role/table-role-helper.js +9 -4
  107. package/table/table-role/table-role-helper.js.map +1 -1
  108. package/table/table-role/utils.d.ts +19 -0
  109. package/table/table-role/utils.d.ts.map +1 -1
  110. package/table/table-role/utils.js +86 -7
  111. package/table/table-role/utils.js.map +1 -1
  112. package/table/thead.d.ts +5 -0
  113. package/table/thead.d.ts.map +1 -1
  114. package/table/thead.js +145 -18
  115. package/table/thead.js.map +1 -1
  116. package/table/use-column-widths.d.ts +4 -0
  117. package/table/use-column-widths.d.ts.map +1 -1
  118. package/table/use-column-widths.js +68 -18
  119. package/table/use-column-widths.js.map +1 -1
  120. package/table/use-sticky-header.d.ts.map +1 -1
  121. package/table/use-sticky-header.js +4 -1
  122. package/table/use-sticky-header.js.map +1 -1
  123. package/table/utils.d.ts.map +1 -1
  124. package/table/utils.js +14 -4
  125. package/table/utils.js.map +1 -1
  126. package/test-utils/dom/collection-preferences/content-display-preference.d.ts +28 -2
  127. package/test-utils/dom/collection-preferences/content-display-preference.js +60 -2
  128. package/test-utils/dom/collection-preferences/content-display-preference.js.map +1 -1
  129. package/test-utils/dom/table/index.d.ts +18 -1
  130. package/test-utils/dom/table/index.js +22 -3
  131. package/test-utils/dom/table/index.js.map +1 -1
  132. package/test-utils/selectors/collection-preferences/content-display-preference.d.ts +28 -2
  133. package/test-utils/selectors/collection-preferences/content-display-preference.js +52 -2
  134. package/test-utils/selectors/collection-preferences/content-display-preference.js.map +1 -1
  135. package/test-utils/selectors/table/index.d.ts +18 -1
  136. package/test-utils/selectors/table/index.js +22 -3
  137. package/test-utils/selectors/table/index.js.map +1 -1
@@ -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_hw4t7_153",
6
- "visible-content-toggle": "awsui_visible-content-toggle_tc96w_hw4t7_154",
7
- "visible-content-groups": "awsui_visible-content-groups_tc96w_hw4t7_155",
8
- "visible-content-group": "awsui_visible-content-group_tc96w_hw4t7_155",
9
- "visible-content-title": "awsui_visible-content-title_tc96w_hw4t7_160",
10
- "visible-content-group-label": "awsui_visible-content-group-label_tc96w_hw4t7_170",
11
- "visible-content-option": "awsui_visible-content-option_tc96w_hw4t7_176",
12
- "visible-content-option-label": "awsui_visible-content-option-label_tc96w_hw4t7_189",
13
- "content-display-option-toggle": "awsui_content-display-option-toggle_tc96w_hw4t7_212",
14
- "content-display-option-content": "awsui_content-display-option-content_tc96w_hw4t7_216",
15
- "content-display-option-label": "awsui_content-display-option-label_tc96w_hw4t7_256",
16
- "content-display": "awsui_content-display_tc96w_hw4t7_212",
17
- "content-display-text-filter": "awsui_content-display-text-filter_tc96w_hw4t7_264",
18
- "content-display-no-match": "awsui_content-display-no-match_tc96w_hw4t7_265",
19
- "content-display-title": "awsui_content-display-title_tc96w_hw4t7_269",
20
- "content-display-description": "awsui_content-display-description_tc96w_hw4t7_278",
21
- "content-display-option-list": "awsui_content-display-option-list_tc96w_hw4t7_286",
22
- "root": "awsui_root_tc96w_hw4t7_293",
23
- "modal-root": "awsui_modal-root_tc96w_hw4t7_294",
24
- "trigger-button": "awsui_trigger-button_tc96w_hw4t7_295",
25
- "cancel-button": "awsui_cancel-button_tc96w_hw4t7_296",
26
- "confirm-button": "awsui_confirm-button_tc96w_hw4t7_297",
27
- "custom": "awsui_custom_tc96w_hw4t7_298",
28
- "content-before": "awsui_content-before_tc96w_hw4t7_299",
29
- "second-column-small": "awsui_second-column-small_tc96w_hw4t7_303",
30
- "wrap-lines": "awsui_wrap-lines_tc96w_hw4t7_307",
31
- "striped-rows": "awsui_striped-rows_tc96w_hw4t7_308",
32
- "content-density": "awsui_content-density_tc96w_hw4t7_309",
33
- "page-size": "awsui_page-size_tc96w_hw4t7_310",
34
- "page-size-form-field": "awsui_page-size-form-field_tc96w_hw4t7_311",
35
- "page-size-radio-group": "awsui_page-size-radio-group_tc96w_hw4t7_312",
36
- "sticky-columns": "awsui_sticky-columns_tc96w_hw4t7_313",
37
- "sticky-columns-form-field": "awsui_sticky-columns-form-field_tc96w_hw4t7_314",
38
- "sticky-columns-radio-group": "awsui_sticky-columns-radio-group_tc96w_hw4t7_315",
39
- "sticky-columns-first": "awsui_sticky-columns-first_tc96w_hw4t7_316",
40
- "sticky-columns-last": "awsui_sticky-columns-last_tc96w_hw4t7_317"
5
+ "visible-content": "awsui_visible-content_tc96w_d8g1a_153",
6
+ "visible-content-toggle": "awsui_visible-content-toggle_tc96w_d8g1a_154",
7
+ "visible-content-groups": "awsui_visible-content-groups_tc96w_d8g1a_155",
8
+ "visible-content-group": "awsui_visible-content-group_tc96w_d8g1a_155",
9
+ "visible-content-title": "awsui_visible-content-title_tc96w_d8g1a_160",
10
+ "visible-content-group-label": "awsui_visible-content-group-label_tc96w_d8g1a_170",
11
+ "visible-content-option": "awsui_visible-content-option_tc96w_d8g1a_176",
12
+ "visible-content-option-label": "awsui_visible-content-option-label_tc96w_d8g1a_189",
13
+ "content-display-option-toggle": "awsui_content-display-option-toggle_tc96w_d8g1a_212",
14
+ "content-display-option-content": "awsui_content-display-option-content_tc96w_d8g1a_216",
15
+ "content-display-option-label": "awsui_content-display-option-label_tc96w_d8g1a_256",
16
+ "content-display-group-header": "awsui_content-display-group-header_tc96w_d8g1a_263",
17
+ "content-display": "awsui_content-display_tc96w_d8g1a_212",
18
+ "content-display-text-filter": "awsui_content-display-text-filter_tc96w_d8g1a_304",
19
+ "content-display-no-match": "awsui_content-display-no-match_tc96w_d8g1a_305",
20
+ "content-display-title": "awsui_content-display-title_tc96w_d8g1a_309",
21
+ "content-display-description": "awsui_content-display-description_tc96w_d8g1a_318",
22
+ "content-display-option-list": "awsui_content-display-option-list_tc96w_d8g1a_326",
23
+ "content-display-group-children": "awsui_content-display-group-children_tc96w_d8g1a_333",
24
+ "root": "awsui_root_tc96w_d8g1a_337",
25
+ "modal-root": "awsui_modal-root_tc96w_d8g1a_338",
26
+ "trigger-button": "awsui_trigger-button_tc96w_d8g1a_339",
27
+ "cancel-button": "awsui_cancel-button_tc96w_d8g1a_340",
28
+ "confirm-button": "awsui_confirm-button_tc96w_d8g1a_341",
29
+ "custom": "awsui_custom_tc96w_d8g1a_342",
30
+ "content-before": "awsui_content-before_tc96w_d8g1a_343",
31
+ "second-column-small": "awsui_second-column-small_tc96w_d8g1a_347",
32
+ "wrap-lines": "awsui_wrap-lines_tc96w_d8g1a_351",
33
+ "striped-rows": "awsui_striped-rows_tc96w_d8g1a_352",
34
+ "content-density": "awsui_content-density_tc96w_d8g1a_353",
35
+ "page-size": "awsui_page-size_tc96w_d8g1a_354",
36
+ "page-size-form-field": "awsui_page-size-form-field_tc96w_d8g1a_355",
37
+ "page-size-radio-group": "awsui_page-size-radio-group_tc96w_d8g1a_356",
38
+ "sticky-columns": "awsui_sticky-columns_tc96w_d8g1a_357",
39
+ "sticky-columns-form-field": "awsui_sticky-columns-form-field_tc96w_d8g1a_358",
40
+ "sticky-columns-radio-group": "awsui_sticky-columns-radio-group_tc96w_d8g1a_359",
41
+ "sticky-columns-first": "awsui_sticky-columns-first_tc96w_d8g1a_360",
42
+ "sticky-columns-last": "awsui_sticky-columns-last_tc96w_d8g1a_361"
41
43
  };
42
44
 
@@ -75,6 +75,7 @@ export declare const StickyColumnsPreference: ({
75
75
  onChange,
76
76
  value
77
77
  }: StickyColumnsPreferenceProps) => JSX.Element;
78
+ export declare const collectVisibleIds: (items: ReadonlyArray<CollectionPreferencesProps.ContentDisplayItem>, ancestorVisible: boolean) => string[];
78
79
  interface CustomPreferenceProps<T = any> extends Pick<CollectionPreferencesProps<T>, 'customPreference'> {
79
80
  onChange: (value: T) => void;
80
81
  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"]}