@carbon/ibm-products 2.10.1 → 2.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. package/README.md +7 -0
  2. package/css/index-full-carbon.css +72 -26
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +3 -3
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +1 -0
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +72 -26
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +69 -25
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +2 -2
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/APIKeyModal/APIKeyModal.js +10 -3
  18. package/es/components/AboutModal/AboutModal.js +10 -3
  19. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +17 -5
  20. package/es/components/CreateModal/CreateModal.js +10 -3
  21. package/es/components/Datagrid/Datagrid/DatagridContent.js +9 -7
  22. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +5 -3
  23. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +26 -13
  24. package/es/components/Datagrid/Datagrid/DatagridRow.js +47 -40
  25. package/es/components/Datagrid/Datagrid/DraggableElement.js +36 -132
  26. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +17 -49
  27. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +125 -40
  28. package/es/components/Datagrid/useActionsColumn.js +5 -3
  29. package/es/components/Datagrid/useExpandedRow.js +1 -1
  30. package/es/components/Datagrid/utils/DatagridPagination.js +1 -1
  31. package/es/components/EmptyStates/EmptyState.js +1 -1
  32. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  33. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  34. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  35. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  36. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  37. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  38. package/es/components/EmptyStates/assets/ErrorIllustration.js +6 -11
  39. package/es/components/EmptyStates/assets/NoDataIllustration.js +6 -11
  40. package/es/components/EmptyStates/assets/NoTagsIllustration.js +6 -12
  41. package/es/components/EmptyStates/assets/NotFoundIllustration.js +6 -12
  42. package/es/components/EmptyStates/assets/NotificationsIllustration.js +6 -12
  43. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -12
  44. package/es/components/ExportModal/ExportModal.js +10 -3
  45. package/es/components/ImportModal/ImportModal.js +10 -3
  46. package/es/components/RemoveModal/RemoveModal.js +10 -3
  47. package/es/components/TagSet/TagSet.js +5 -21
  48. package/es/components/TagSet/TagSetModal.js +7 -3
  49. package/es/components/Tearsheet/TearsheetShell.js +12 -26
  50. package/es/components/index.js +1 -1
  51. package/es/global/decorators/sidePanelDecorator.js +7 -0
  52. package/es/global/js/hooks/usePortalTarget.js +30 -0
  53. package/es/global/js/hooks/useWindowScroll.js +5 -0
  54. package/es/global/js/package-settings.js +1 -1
  55. package/es/global/js/utils/getNodeTextContent.js +47 -0
  56. package/flags.js +6 -0
  57. package/lib/components/APIKeyModal/APIKeyModal.js +10 -3
  58. package/lib/components/AboutModal/AboutModal.js +10 -3
  59. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +17 -5
  60. package/lib/components/CreateModal/CreateModal.js +10 -3
  61. package/lib/components/Datagrid/Datagrid/DatagridContent.js +9 -7
  62. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +4 -2
  63. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +26 -13
  64. package/lib/components/Datagrid/Datagrid/DatagridRow.js +46 -41
  65. package/lib/components/Datagrid/Datagrid/DraggableElement.js +37 -137
  66. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +20 -49
  67. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +130 -47
  68. package/lib/components/Datagrid/useActionsColumn.js +5 -3
  69. package/lib/components/Datagrid/useExpandedRow.js +1 -1
  70. package/lib/components/Datagrid/utils/DatagridPagination.js +1 -1
  71. package/lib/components/EmptyStates/EmptyState.js +1 -1
  72. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  73. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  74. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  75. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  76. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  77. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  78. package/lib/components/EmptyStates/assets/ErrorIllustration.js +6 -11
  79. package/lib/components/EmptyStates/assets/NoDataIllustration.js +6 -11
  80. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +6 -12
  81. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +6 -12
  82. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +6 -12
  83. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -12
  84. package/lib/components/ExportModal/ExportModal.js +10 -3
  85. package/lib/components/ImportModal/ImportModal.js +10 -3
  86. package/lib/components/RemoveModal/RemoveModal.js +10 -3
  87. package/lib/components/TagSet/TagSet.js +5 -21
  88. package/lib/components/TagSet/TagSetModal.js +7 -3
  89. package/lib/components/Tearsheet/TearsheetShell.js +12 -26
  90. package/lib/components/index.js +6 -0
  91. package/lib/global/decorators/sidePanelDecorator.js +7 -0
  92. package/lib/global/js/hooks/usePortalTarget.js +38 -0
  93. package/lib/global/js/hooks/useWindowScroll.js +6 -0
  94. package/lib/global/js/package-settings.js +1 -1
  95. package/lib/global/js/utils/getNodeTextContent.js +55 -0
  96. package/package.json +11 -7
  97. package/scss/components/ActionSet/_action-set.scss +2 -1
  98. package/scss/components/Datagrid/styles/_datagrid.scss +11 -6
  99. package/scss/components/Datagrid/styles/_draggableElement.scss +34 -16
  100. package/scss/components/Datagrid/styles/_useExpandedRow.scss +13 -0
  101. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +1 -1
  102. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +22 -11
  103. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +6 -3
  104. package/scss/components/FilterSummary/_filter-summary.scss +2 -1
  105. package/scss/global/decorators/_side-panel-decorator.scss +7 -0
  106. package/scss/global/js/utils/_story-as-full-page.scss +0 -6
@@ -2048,6 +2048,7 @@ p.c4p--about-modal__copyright-text:first-child {
2048
2048
  .c4p--action-set.cds--btn-set.c4p--action-set--xl .c4p--action-set__action-button:not(.c4p--action-set__action-button--ghost),
2049
2049
  .c4p--action-set.cds--btn-set.c4p--action-set--2xl .c4p--action-set__action-button:not(.c4p--action-set__action-button--ghost),
2050
2050
  .c4p--action-set.cds--btn-set.c4p--action-set--row-quadruple .c4p--action-set__action-button:not(.c4p--action-set__action-button--ghost) {
2051
+ /* stylelint-disable-next-line function-no-unknown -- to-rem carbon replacement for rem */
2051
2052
  max-width: 14.5rem;
2052
2053
  flex: 0 1 25%;
2053
2054
  }
@@ -5162,7 +5163,8 @@ c4p--card__icon:active {
5162
5163
  .c4p--filter-summary {
5163
5164
  display: flex;
5164
5165
  width: 100%;
5165
- height: rem(48px);
5166
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
5167
+ height: to-rem(48px);
5166
5168
  align-items: center;
5167
5169
  padding: 0.5rem;
5168
5170
  border-top: 1px solid var(--cds-border-subtle-01, #c6c6c6);
@@ -11314,10 +11316,10 @@ button.c4p--add-select__global-filter-toggle--open {
11314
11316
  padding-bottom: 0.125rem;
11315
11317
  }
11316
11318
  .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-center.c4p--datagrid__variable-row-height.cds--data-table--short .c4p--datagrid__cell, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-center.c4p--datagrid__variable-row-height.cds--data-table--sm .c4p--datagrid__cell, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-center.c4p--datagrid__variable-row-height.cds--data-table--md .c4p--datagrid__cell {
11317
- /* stylelint-disable-next-line carbon/layout-token-use */
11318
- padding-top: rem(7px);
11319
- /* stylelint-disable-next-line carbon/layout-token-use */
11320
- padding-bottom: rem(6px);
11319
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
11320
+ padding-top: to-rem(7px);
11321
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
11322
+ padding-bottom: to-rem(6px);
11321
11323
  }
11322
11324
  .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-center.c4p--datagrid__variable-row-height.cds--data-table--tall .c4p--datagrid__cell, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-center.c4p--datagrid__variable-row-height.cds--data-table--lg .c4p--datagrid__cell, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-center.c4p--datagrid__variable-row-height.cds--data-table--xl .c4p--datagrid__cell {
11323
11325
  padding-top: 1rem;
@@ -11330,8 +11332,8 @@ button.c4p--add-select__global-filter-toggle--open {
11330
11332
  padding-top: 1rem;
11331
11333
  }
11332
11334
  .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-top.cds--data-table--tall .cds--table-column-checkbox, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-top.cds--data-table--lg .cds--table-column-checkbox, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-top.cds--data-table--xl .cds--table-column-checkbox {
11333
- /* stylelint-disable-next-line carbon/layout-token-use */
11334
- padding-top: rem(13px);
11335
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
11336
+ padding-top: to-rem(13px);
11335
11337
  }
11336
11338
  .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-top.c4p--datagrid__variable-row-height.cds--data-table--tall .c4p--datagrid__cell, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-top.c4p--datagrid__variable-row-height.cds--data-table--lg .c4p--datagrid__cell, .c4p--datagrid__grid-container table.c4p--datagrid__vertical-align-top.c4p--datagrid__variable-row-height.cds--data-table--xl .c4p--datagrid__cell {
11337
11339
  padding-bottom: 1rem;
@@ -11462,6 +11464,7 @@ button.c4p--add-select__global-filter-toggle--open {
11462
11464
  }
11463
11465
 
11464
11466
  .c4p--datagrid__empty-state .c4p--datagrid__table-simple tr:hover td {
11467
+ border-bottom: none;
11465
11468
  background: transparent;
11466
11469
  }
11467
11470
 
@@ -11473,6 +11476,10 @@ button.c4p--add-select__global-filter-toggle--open {
11473
11476
  flex: 1 1 auto;
11474
11477
  }
11475
11478
 
11479
+ .c4p--datagrid__empty-state .c4p--datagrid__empty-state-cell {
11480
+ border-bottom: none;
11481
+ }
11482
+
11476
11483
  .c4p--datagrid__resizer {
11477
11484
  position: absolute;
11478
11485
  z-index: 1;
@@ -12219,6 +12226,7 @@ button.c4p--add-select__global-filter-toggle--open {
12219
12226
  * US Government Users Restricted Rights - Use, duplication or disclosure
12220
12227
  * restricted by GSA ADP Schedule Contract with IBM Corp.
12221
12228
  */
12229
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12222
12230
  .c4p--datagrid-filter-flyout__container {
12223
12231
  position: relative;
12224
12232
  }
@@ -12228,8 +12236,10 @@ button.c4p--add-select__global-filter-toggle--open {
12228
12236
  top: 3rem;
12229
12237
  right: 0;
12230
12238
  display: none;
12239
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12231
12240
  width: 40.125rem;
12232
12241
  background-color: var(--cds-layer-02, #ffffff);
12242
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12233
12243
  box-shadow: 0 1px 0.5rem 0 rgba(0, 0, 0, 0.25);
12234
12244
  }
12235
12245
 
@@ -12238,11 +12248,14 @@ button.c4p--add-select__global-filter-toggle--open {
12238
12248
  }
12239
12249
 
12240
12250
  .c4p--datagrid-filter-flyout--batch {
12251
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12241
12252
  min-height: 21.625rem;
12253
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12242
12254
  grid-template-rows: 1fr 3rem;
12243
12255
  }
12244
12256
 
12245
12257
  .c4p--datagrid-filter-flyout--instant {
12258
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12246
12259
  min-height: 17.625rem;
12247
12260
  grid-template-rows: 1fr;
12248
12261
  }
@@ -12253,10 +12266,13 @@ button.c4p--add-select__global-filter-toggle--open {
12253
12266
 
12254
12267
  .c4p--datagrid-filter-flyout__inner-container::before {
12255
12268
  position: absolute;
12269
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12256
12270
  top: -0.4375rem;
12257
12271
  right: 1px;
12258
12272
  display: block;
12273
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12259
12274
  width: 2.875rem;
12275
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12260
12276
  height: 0.9375rem;
12261
12277
  background-color: var(--cds-layer-02, #ffffff);
12262
12278
  content: "";
@@ -12273,6 +12289,7 @@ button.c4p--add-select__global-filter-toggle--open {
12273
12289
 
12274
12290
  .c4p--datagrid-filter-flyout__filters {
12275
12291
  display: grid;
12292
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12276
12293
  gap: 1rem 2rem;
12277
12294
  grid-template-columns: 1fr 1fr;
12278
12295
  }
@@ -12287,6 +12304,7 @@ button.c4p--add-select__global-filter-toggle--open {
12287
12304
  .c4p--datagrid-filter-flyout__trigger--open.cds--btn.cds--btn--icon-only {
12288
12305
  position: relative;
12289
12306
  background-color: var(--cds-layer-02, #ffffff);
12307
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12290
12308
  box-shadow: 0 1px 0.5rem 0 rgba(0, 0, 0, 0.25);
12291
12309
  }
12292
12310
 
@@ -12303,7 +12321,8 @@ button.c4p--add-select__global-filter-toggle--open {
12303
12321
  */
12304
12322
  .c4p--datagrid-filter-panel__container {
12305
12323
  position: relative;
12306
- width: rem(320px);
12324
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12325
+ width: to-rem(320px);
12307
12326
  height: clamp(var(--filter-panel-min-height), 100%, 100vh);
12308
12327
  border-top: 1px var(--cds-layer-accent-01, #e0e0e0) solid;
12309
12328
  background-color: var(--cds-layer-01, #f4f4f4);
@@ -12318,7 +12337,8 @@ button.c4p--add-select__global-filter-toggle--open {
12318
12337
  top: -1px;
12319
12338
  left: 0;
12320
12339
  display: block;
12321
- width: rem(47px);
12340
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12341
+ width: to-rem(47px);
12322
12342
  height: 1px;
12323
12343
  background-color: var(--cds-layer-01, #f4f4f4);
12324
12344
  content: "";
@@ -12385,7 +12405,8 @@ button.c4p--add-select__global-filter-toggle--open {
12385
12405
  position: sticky;
12386
12406
  z-index: 1;
12387
12407
  bottom: 0;
12388
- height: rem(64px);
12408
+ /* stylelint-disable-next-line -- to-rem carbon replacement for rem */
12409
+ height: to-rem(64px);
12389
12410
  margin-top: auto;
12390
12411
  }
12391
12412
 
@@ -12482,6 +12503,7 @@ th.c4p--datagrid__select-all-toggle-on.button {
12482
12503
  width: 2rem;
12483
12504
  height: 2rem;
12484
12505
  min-height: 2rem;
12506
+ align-items: center;
12485
12507
  justify-content: center;
12486
12508
  padding: 0;
12487
12509
  }
@@ -12489,11 +12511,16 @@ th.c4p--datagrid__select-all-toggle-on.button {
12489
12511
  fill: var(--cds-layer-selected-inverse, #161616);
12490
12512
  }
12491
12513
 
12514
+ .c4p--datagrid .cds--data-table tbody tr:hover + .c4p--datagrid__expanded-row,
12515
+ .c4p--datagrid .c4p--datagrid__expanded-row:hover,
12516
+ .c4p--datagrid .c4p--datagrid__expandable-row--hover td {
12517
+ background: var(--cds-layer-hover);
12518
+ }
12519
+
12492
12520
  .c4p--datagrid__draggable-handleStyle {
12493
12521
  display: flex;
12494
12522
  align-items: center;
12495
12523
  margin-right: 0.5rem;
12496
- cursor: grab;
12497
12524
  }
12498
12525
 
12499
12526
  .c4p--datagrid__draggable-handleStyle.disabled {
@@ -12504,32 +12531,55 @@ th.c4p--datagrid__select-all-toggle-on.button {
12504
12531
  fill: var(--cds-icon-on-color-disabled, #8d8d8d);
12505
12532
  }
12506
12533
 
12534
+ .c4p--datagrid__draggable-underlay {
12535
+ position: absolute;
12536
+ width: 100%;
12537
+ }
12538
+
12539
+ .c4p--datagrid__draggable-underlay-item {
12540
+ width: 100%;
12541
+ height: 3rem;
12542
+ border: 2px dashed var(--cds-focus, #0f62fe);
12543
+ /* stylelint-disable-next-line carbon/theme-token-use */
12544
+ background-color: #edf5ff;
12545
+ }
12546
+
12507
12547
  .c4p--datagrid__draggable-handleHolder {
12548
+ position: relative;
12508
12549
  display: flex;
12509
12550
  height: 3rem;
12510
12551
  border-bottom: 1px solid var(--cds-layer-active);
12511
12552
  background-color: var(--cds-layer);
12553
+ cursor: grab;
12512
12554
  }
12513
12555
 
12514
12556
  .c4p--datagrid__draggable-handleHolder:hover {
12515
12557
  background-color: var(--cds-layer-hover);
12516
12558
  }
12517
12559
 
12518
- .c4p--datagrid__draggable-handleHolder-selected {
12519
- display: flex;
12520
- height: 3rem;
12521
- border-bottom: 1px solid var(--cds-layer-active);
12560
+ .c4p--datagrid__draggable-handleHolder:focus {
12561
+ box-shadow: inset 0 0 0 1px var(--cds-focus, #0f62fe);
12562
+ outline: none;
12563
+ }
12564
+
12565
+ .c4p--datagrid__draggable-handleHolder--selected {
12522
12566
  background-color: var(--cds-layer-selected);
12523
12567
  }
12524
12568
 
12525
- .c4p--datagrid__draggable-handleHolder-selected:hover {
12526
- background-color: var(--cds-layer-selected-hover-01, #d1d1d1);
12569
+ .c4p--datagrid__draggable-handleHolder--dragging {
12570
+ z-index: 2;
12571
+ background-color: var(--cds-highlight, #d0e2ff);
12572
+ color: var(--cds-text-primary, #161616);
12573
+ outline: none;
12527
12574
  }
12528
12575
 
12529
- .c4p--datagrid__draggable-handleHolder-isOver {
12530
- border: 2px dashed var(--cds-focus, #0f62fe);
12531
- /* stylelint-disable-next-line carbon/theme-token-use */
12532
- background-color: #edf5ff;
12576
+ .c4p--datagrid__draggable-handleHolder:active,
12577
+ .c4p--datagrid__draggable-handleHolder--dragging {
12578
+ cursor: grabbing;
12579
+ }
12580
+
12581
+ .c4p--datagrid__draggable-handleHolder-selected:hover {
12582
+ background-color: var(--cds-layer-selected-hover-01, #d1d1d1);
12533
12583
  }
12534
12584
 
12535
12585
  .c4p--datagrid__draggable-handleHolder-droppable {
@@ -12547,11 +12597,6 @@ th.c4p--datagrid__select-all-toggle-on.button {
12547
12597
  transition: opacity 150ms cubic-bezier(0, 0, 0.38, 0.9);
12548
12598
  }
12549
12599
 
12550
- .c4p--datagrid__draggable-handleHolder-grabbed {
12551
- background-color: var(--cds-highlight, #d0e2ff);
12552
- color: var(--cds-text-primary, #161616);
12553
- }
12554
-
12555
12600
  .c4p--datagrid__draggable-handleHolder--sticky {
12556
12601
  color: var(--cds-text-on-color-disabled, #8d8d8d);
12557
12602
  }
@@ -15311,6 +15356,7 @@ a.cds--side-nav__link--current::before {
15311
15356
  .c4p--action-set.cds--btn-set.c4p--action-set--xl .c4p--action-set__action-button:not(.c4p--action-set__action-button--ghost),
15312
15357
  .c4p--action-set.cds--btn-set.c4p--action-set--2xl .c4p--action-set__action-button:not(.c4p--action-set__action-button--ghost),
15313
15358
  .c4p--action-set.cds--btn-set.c4p--action-set--row-quadruple .c4p--action-set__action-button:not(.c4p--action-set__action-button--ghost) {
15359
+ /* stylelint-disable-next-line function-no-unknown -- to-rem carbon replacement for rem */
15314
15360
  max-width: 14.5rem;
15315
15361
  flex: 0 1 25%;
15316
15362
  }