@react-md/core 1.0.0-next.1 → 1.0.0-next.2

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 (138) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -0
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  5. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  6. package/coverage/lcov-report/Toast.tsx.html +868 -0
  7. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  8. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  9. package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
  10. package/coverage/lcov-report/icon/index.html +1 -1
  11. package/coverage/lcov-report/index.html +1 -1
  12. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  13. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  14. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  15. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  16. package/coverage/lcov-report/snackbar/index.html +59 -14
  17. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  18. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  19. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  20. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  21. package/coverage/lcov-report/transition/config.ts.html +5 -5
  22. package/coverage/lcov-report/transition/index.html +1 -1
  23. package/coverage/lcov-report/typography/Typography.tsx.html +108 -402
  24. package/coverage/lcov-report/typography/index.html +10 -10
  25. package/dist/_core.scss +34 -1
  26. package/dist/_utils.scss +57 -0
  27. package/dist/app-bar/_app-bar.scss +15 -23
  28. package/dist/avatar/_avatar.scss +25 -34
  29. package/dist/badge/_badge.scss +71 -44
  30. package/dist/box/_box.scss +18 -29
  31. package/dist/button/_button.scss +50 -62
  32. package/dist/card/_card.scss +14 -23
  33. package/dist/chip/_chip.scss +33 -46
  34. package/dist/dialog/_dialog.scss +95 -93
  35. package/dist/divider/Divider.d.ts +0 -1
  36. package/dist/divider/Divider.js.map +1 -1
  37. package/dist/divider/_divider.scss +33 -43
  38. package/dist/form/Label.d.ts +5 -5
  39. package/dist/form/Label.js.map +1 -1
  40. package/dist/form/TextArea.js +1 -1
  41. package/dist/form/TextArea.js.map +1 -1
  42. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  43. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  44. package/dist/form/_form.scss +200 -203
  45. package/dist/form/textAreaStyles.d.ts +2 -2
  46. package/dist/form/textAreaStyles.js.map +1 -1
  47. package/dist/form/types.d.ts +0 -2
  48. package/dist/form/types.js.map +1 -1
  49. package/dist/icon/_icon.scss +31 -47
  50. package/dist/interaction/_interaction.scss +47 -57
  51. package/dist/layout/_layout.scss +14 -19
  52. package/dist/link/_link.scss +15 -23
  53. package/dist/list/_list.scss +53 -63
  54. package/dist/menu/_menu.scss +16 -27
  55. package/dist/overlay/_overlay.scss +14 -19
  56. package/dist/progress/_progress.scss +25 -30
  57. package/dist/segmented-button/_segmented-button.scss +32 -43
  58. package/dist/sheet/_sheet.scss +24 -42
  59. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  60. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  61. package/dist/snackbar/Snackbar.d.ts +1 -3
  62. package/dist/snackbar/Snackbar.js +2 -3
  63. package/dist/snackbar/Snackbar.js.map +1 -1
  64. package/dist/snackbar/Toast.d.ts +1 -1
  65. package/dist/snackbar/Toast.js +5 -1
  66. package/dist/snackbar/Toast.js.map +1 -1
  67. package/dist/snackbar/ToastManager.d.ts +2 -1
  68. package/dist/snackbar/ToastManager.js +1 -1
  69. package/dist/snackbar/ToastManager.js.map +1 -1
  70. package/dist/snackbar/_snackbar.scss +15 -23
  71. package/dist/table/_table.scss +55 -70
  72. package/dist/tabs/_tabs.scss +25 -30
  73. package/dist/theme/_theme.scss +31 -89
  74. package/dist/tooltip/_tooltip.scss +16 -25
  75. package/dist/transition/_transition.scss +38 -37
  76. package/dist/tree/_tree.scss +102 -109
  77. package/dist/typography/_typography.scss +17 -22
  78. package/dist/window-splitter/_window-splitter.scss +19 -45
  79. package/package.json +1 -1
  80. package/src/_core.scss +34 -1
  81. package/src/_utils.scss +57 -0
  82. package/src/app-bar/_app-bar.scss +15 -23
  83. package/src/avatar/_avatar.scss +25 -34
  84. package/src/badge/_badge.scss +71 -44
  85. package/src/box/_box.scss +18 -29
  86. package/src/button/_button.scss +50 -62
  87. package/src/card/_card.scss +14 -23
  88. package/src/chip/_chip.scss +33 -46
  89. package/src/dialog/_dialog.scss +95 -93
  90. package/src/divider/Divider.tsx +0 -1
  91. package/src/divider/_divider.scss +33 -43
  92. package/src/form/Label.tsx +5 -5
  93. package/src/form/TextArea.tsx +1 -1
  94. package/src/form/TextFieldContainerStyles.ts +7 -7
  95. package/src/form/_form.scss +200 -203
  96. package/src/form/textAreaStyles.ts +2 -2
  97. package/src/form/types.ts +0 -2
  98. package/src/icon/_icon.scss +31 -47
  99. package/src/interaction/_interaction.scss +47 -57
  100. package/src/layout/_layout.scss +14 -19
  101. package/src/link/_link.scss +15 -23
  102. package/src/list/_list.scss +53 -63
  103. package/src/menu/_menu.scss +16 -27
  104. package/src/overlay/_overlay.scss +14 -19
  105. package/src/progress/_progress.scss +25 -30
  106. package/src/segmented-button/_segmented-button.scss +32 -43
  107. package/src/sheet/_sheet.scss +24 -42
  108. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  109. package/src/snackbar/Snackbar.tsx +17 -25
  110. package/src/snackbar/Toast.tsx +7 -2
  111. package/src/snackbar/ToastManager.tsx +3 -2
  112. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  113. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  114. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  115. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  116. package/src/snackbar/_snackbar.scss +15 -23
  117. package/src/table/_table.scss +55 -70
  118. package/src/tabs/_tabs.scss +25 -30
  119. package/src/theme/_theme.scss +31 -89
  120. package/src/tooltip/_tooltip.scss +16 -25
  121. package/src/transition/_transition.scss +38 -37
  122. package/src/tree/_tree.scss +102 -109
  123. package/src/typography/_typography.scss +17 -22
  124. package/src/window-splitter/_window-splitter.scss +19 -45
  125. package/.turbo/turbo-lint.log +0 -12
  126. package/.turbo/turbo-test.log +0 -166
  127. package/.turbo/turbo-typecheck.log +0 -4
  128. package/dist/divider/VerticalDivider.d.ts +0 -32
  129. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  130. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  131. package/dist/icon/MaterialIconsProvider.js +0 -17
  132. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  133. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  134. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  135. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  136. package/dist/link/LinkProvider.d.ts +0 -29
  137. package/dist/menu/menuConfig.d.ts +0 -60
  138. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
@@ -6,7 +6,7 @@
6
6
  > @react-md/core@1.0.0-next.1 build-esm /home/mlaursen/code/react-md/packages/core
7
7
  > swc src -d ./dist
8
8
 
9
- Successfully compiled: 363 files with swc (295.72ms)
9
+ Successfully compiled: 363 files with swc (363.6ms)
10
10
 
11
11
  > @react-md/core@1.0.0-next.1 build-scss /home/mlaursen/code/react-md/packages/core
12
12
  > node scripts/copySassFiles.js
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @react-md/core
2
2
 
3
+ ## 1.0.0-next.2
4
+
5
+ ### Major Changes
6
+
7
+ - Updated custom properties to require a defined value instead of always providing a fallback. This decreases the bundle size by a good amount.
8
+
9
+ Also updated the `Snackbar` so that it no longer has a `role="status"` to fix accessibility. Instead, each toast will have `role="status"` or `role="alert"`.
10
+
3
11
  ## 1.0.0-next.1
4
12
 
5
13
  ### Major Changes
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1699995634484" clover="3.2.0">
3
- <project timestamp="1699995634484" name="All files">
2
+ <coverage generated="1700343545055" clover="3.2.0">
3
+ <project timestamp="1700343545055" name="All files">
4
4
  <metrics statements="0" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0" elements="0" coveredelements="0" complexity="0" loc="0" ncloc="0" packages="0" files="0" classes="0"/>
5
5
  </project>
6
6
  </coverage>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">99.22% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>128/129</span>
28
+ <span class='fraction'>147/147</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">83.33% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>10/12</span>
35
+ <span class='fraction'>18/18</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/7</span>
42
+ <span class='fraction'>12/12</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">99.22% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>128/129</span>
49
+ <span class='fraction'>147/147</span>
50
50
  </div>
51
51
 
52
52
 
@@ -192,7 +192,27 @@
192
192
  <a name='L127'></a><a href='#L127'>127</a>
193
193
  <a name='L128'></a><a href='#L128'>128</a>
194
194
  <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
214
+ <span class="cline-any cline-yes">1x</span>
215
+ <span class="cline-any cline-yes">1x</span>
196
216
  <span class="cline-any cline-yes">1x</span>
197
217
  <span class="cline-any cline-yes">1x</span>
198
218
  <span class="cline-any cline-yes">1x</span>
@@ -202,10 +222,10 @@
202
222
  <span class="cline-any cline-yes">1x</span>
203
223
  <span class="cline-any cline-yes">1x</span>
204
224
  <span class="cline-any cline-yes">1x</span>
225
+ <span class="cline-any cline-yes">130x</span>
226
+ <span class="cline-any cline-yes">130x</span>
205
227
  <span class="cline-any cline-yes">1x</span>
206
228
  <span class="cline-any cline-yes">1x</span>
207
- <span class="cline-any cline-yes">22x</span>
208
- <span class="cline-any cline-yes">22x</span>
209
229
  <span class="cline-any cline-yes">1x</span>
210
230
  <span class="cline-any cline-yes">1x</span>
211
231
  <span class="cline-any cline-yes">1x</span>
@@ -237,100 +257,116 @@
237
257
  <span class="cline-any cline-yes">1x</span>
238
258
  <span class="cline-any cline-yes">1x</span>
239
259
  <span class="cline-any cline-yes">1x</span>
240
- <span class="cline-any cline-yes">18x</span>
241
- <span class="cline-any cline-yes">18x</span>
242
- <span class="cline-any cline-yes">18x</span>
243
- <span class="cline-any cline-yes">18x</span>
244
- <span class="cline-any cline-yes">18x</span>
245
- <span class="cline-any cline-yes">18x</span>
246
- <span class="cline-any cline-yes">18x</span>
247
- <span class="cline-any cline-yes">18x</span>
248
- <span class="cline-any cline-yes">18x</span>
249
- <span class="cline-any cline-yes">18x</span>
250
- <span class="cline-any cline-yes">18x</span>
251
- <span class="cline-any cline-yes">18x</span>
252
- <span class="cline-any cline-yes">18x</span>
253
- <span class="cline-any cline-yes">18x</span>
254
- <span class="cline-any cline-yes">18x</span>
255
- <span class="cline-any cline-yes">18x</span>
256
- <span class="cline-any cline-yes">18x</span>
257
- <span class="cline-any cline-yes">18x</span>
258
- <span class="cline-any cline-yes">18x</span>
259
- <span class="cline-any cline-yes">18x</span>
260
- <span class="cline-any cline-yes">18x</span>
261
- <span class="cline-any cline-yes">18x</span>
262
- <span class="cline-any cline-yes">18x</span>
263
- <span class="cline-any cline-yes">18x</span>
264
- <span class="cline-any cline-yes">18x</span>
265
- <span class="cline-any cline-yes">18x</span>
266
- <span class="cline-any cline-yes">9x</span>
267
- <span class="cline-any cline-yes">9x</span>
268
- <span class="cline-any cline-yes">9x</span>
269
- <span class="cline-any cline-yes">18x</span>
270
- <span class="cline-any cline-yes">18x</span>
271
- <span class="cline-any cline-yes">18x</span>
272
- <span class="cline-any cline-yes">18x</span>
260
+ <span class="cline-any cline-yes">112x</span>
261
+ <span class="cline-any cline-yes">112x</span>
262
+ <span class="cline-any cline-yes">112x</span>
263
+ <span class="cline-any cline-yes">112x</span>
264
+ <span class="cline-any cline-yes">112x</span>
265
+ <span class="cline-any cline-yes">112x</span>
266
+ <span class="cline-any cline-yes">112x</span>
267
+ <span class="cline-any cline-yes">112x</span>
268
+ <span class="cline-any cline-yes">112x</span>
269
+ <span class="cline-any cline-yes">112x</span>
270
+ <span class="cline-any cline-yes">112x</span>
271
+ <span class="cline-any cline-yes">112x</span>
272
+ <span class="cline-any cline-yes">112x</span>
273
+ <span class="cline-any cline-yes">112x</span>
274
+ <span class="cline-any cline-yes">112x</span>
275
+ <span class="cline-any cline-yes">112x</span>
276
+ <span class="cline-any cline-yes">112x</span>
277
+ <span class="cline-any cline-yes">112x</span>
278
+ <span class="cline-any cline-yes">112x</span>
279
+ <span class="cline-any cline-yes">112x</span>
280
+ <span class="cline-any cline-yes">112x</span>
281
+ <span class="cline-any cline-yes">112x</span>
282
+ <span class="cline-any cline-yes">112x</span>
283
+ <span class="cline-any cline-yes">112x</span>
284
+ <span class="cline-any cline-yes">112x</span>
285
+ <span class="cline-any cline-yes">112x</span>
286
+ <span class="cline-any cline-yes">112x</span>
287
+ <span class="cline-any cline-yes">40x</span>
288
+ <span class="cline-any cline-yes">40x</span>
289
+ <span class="cline-any cline-yes">40x</span>
290
+ <span class="cline-any cline-yes">40x</span>
291
+ <span class="cline-any cline-yes">28x</span>
292
+ <span class="cline-any cline-yes">28x</span>
293
+ <span class="cline-any cline-yes">40x</span>
294
+ <span class="cline-any cline-yes">34x</span>
295
+ <span class="cline-any cline-yes">34x</span>
296
+ <span class="cline-any cline-yes">40x</span>
297
+ <span class="cline-any cline-yes">4x</span>
298
+ <span class="cline-any cline-yes">4x</span>
299
+ <span class="cline-any cline-yes">40x</span>
300
+ <span class="cline-any cline-yes">2x</span>
301
+ <span class="cline-any cline-yes">2x</span>
302
+ <span class="cline-any cline-yes">40x</span>
303
+ <span class="cline-any cline-yes">112x</span>
304
+ <span class="cline-any cline-yes">112x</span>
305
+ <span class="cline-any cline-yes">112x</span>
306
+ <span class="cline-any cline-yes">40x</span>
307
+ <span class="cline-any cline-yes">40x</span>
308
+ <span class="cline-any cline-yes">40x</span>
309
+ <span class="cline-any cline-yes">112x</span>
310
+ <span class="cline-any cline-yes">112x</span>
311
+ <span class="cline-any cline-yes">112x</span>
312
+ <span class="cline-any cline-yes">112x</span>
273
313
  <span class="cline-any cline-yes">2x</span>
274
314
  <span class="cline-any cline-yes">1x</span>
275
315
  <span class="cline-any cline-yes">1x</span>
276
316
  <span class="cline-any cline-yes">1x</span>
277
317
  <span class="cline-any cline-yes">1x</span>
278
318
  <span class="cline-any cline-yes">2x</span>
279
- <span class="cline-any cline-yes">18x</span>
280
- <span class="cline-any cline-yes">18x</span>
281
- <span class="cline-any cline-yes">18x</span>
282
- <span class="cline-any cline-yes">18x</span>
283
- <span class="cline-any cline-yes">18x</span>
284
- <span class="cline-any cline-no">&nbsp;</span>
285
- <span class="cline-any cline-yes">18x</span>
286
- <span class="cline-any cline-yes">18x</span>
287
- <span class="cline-any cline-yes">18x</span>
288
- <span class="cline-any cline-yes">18x</span>
289
- <span class="cline-any cline-yes">18x</span>
290
- <span class="cline-any cline-yes">18x</span>
291
- <span class="cline-any cline-yes">18x</span>
292
- <span class="cline-any cline-yes">18x</span>
293
- <span class="cline-any cline-yes">18x</span>
294
- <span class="cline-any cline-yes">18x</span>
295
- <span class="cline-any cline-yes">18x</span>
296
- <span class="cline-any cline-yes">18x</span>
297
- <span class="cline-any cline-yes">18x</span>
298
- <span class="cline-any cline-yes">5x</span>
299
- <span class="cline-any cline-yes">5x</span>
300
- <span class="cline-any cline-yes">5x</span>
301
- <span class="cline-any cline-yes">5x</span>
302
- <span class="cline-any cline-yes">18x</span>
319
+ <span class="cline-any cline-yes">112x</span>
320
+ <span class="cline-any cline-yes">112x</span>
321
+ <span class="cline-any cline-yes">112x</span>
322
+ <span class="cline-any cline-yes">112x</span>
323
+ <span class="cline-any cline-yes">112x</span>
324
+ <span class="cline-any cline-yes">112x</span>
325
+ <span class="cline-any cline-yes">112x</span>
326
+ <span class="cline-any cline-yes">112x</span>
327
+ <span class="cline-any cline-yes">112x</span>
328
+ <span class="cline-any cline-yes">112x</span>
329
+ <span class="cline-any cline-yes">112x</span>
330
+ <span class="cline-any cline-yes">112x</span>
331
+ <span class="cline-any cline-yes">112x</span>
332
+ <span class="cline-any cline-yes">112x</span>
333
+ <span class="cline-any cline-yes">112x</span>
334
+ <span class="cline-any cline-yes">34x</span>
335
+ <span class="cline-any cline-yes">34x</span>
336
+ <span class="cline-any cline-yes">34x</span>
337
+ <span class="cline-any cline-yes">34x</span>
338
+ <span class="cline-any cline-yes">112x</span>
339
+ <span class="cline-any cline-yes">27x</span>
340
+ <span class="cline-any cline-yes">27x</span>
341
+ <span class="cline-any cline-yes">27x</span>
342
+ <span class="cline-any cline-yes">27x</span>
343
+ <span class="cline-any cline-yes">112x</span>
303
344
  <span class="cline-any cline-yes">3x</span>
304
345
  <span class="cline-any cline-yes">3x</span>
305
346
  <span class="cline-any cline-yes">3x</span>
306
347
  <span class="cline-any cline-yes">3x</span>
307
- <span class="cline-any cline-yes">18x</span>
308
- <span class="cline-any cline-yes">2x</span>
309
- <span class="cline-any cline-yes">2x</span>
310
- <span class="cline-any cline-yes">2x</span>
311
- <span class="cline-any cline-yes">2x</span>
312
- <span class="cline-any cline-yes">18x</span>
313
- <span class="cline-any cline-yes">1x</span>
314
- <span class="cline-any cline-yes">1x</span>
315
- <span class="cline-any cline-yes">1x</span>
316
- <span class="cline-any cline-yes">1x</span>
317
- <span class="cline-any cline-yes">18x</span>
318
- <span class="cline-any cline-yes">18x</span>
319
- <span class="cline-any cline-yes">18x</span>
320
- <span class="cline-any cline-yes">18x</span>
321
- <span class="cline-any cline-yes">18x</span>
322
- <span class="cline-any cline-yes">18x</span>
323
- <span class="cline-any cline-yes">18x</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { ReactElement } from "react";
325
- import { useCallback, useEffect } from "react";
326
- import { usePageInactive } from "../usePageInactive";
327
- import type { ConfigurableToastProps } from "./Toast";
328
- import { Toast } from "./Toast";
329
- import type { ToastMeta } from "./ToastManagerProvider";
330
- import { useToastManager } from "./ToastManagerProvider";
331
- &nbsp;
332
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
333
- import { RemoveToastProvider } from "./useRemoveToast";
348
+ <span class="cline-any cline-yes">112x</span>
349
+ <span class="cline-any cline-yes">1x</span>
350
+ <span class="cline-any cline-yes">1x</span>
351
+ <span class="cline-any cline-yes">1x</span>
352
+ <span class="cline-any cline-yes">1x</span>
353
+ <span class="cline-any cline-yes">112x</span>
354
+ <span class="cline-any cline-yes">112x</span>
355
+ <span class="cline-any cline-yes">112x</span>
356
+ <span class="cline-any cline-yes">112x</span>
357
+ <span class="cline-any cline-yes">112x</span>
358
+ <span class="cline-any cline-yes">112x</span>
359
+ <span class="cline-any cline-yes">112x</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use client";
361
+ import { useEffect, useMemo, type ReactElement } from "react";
362
+ import { usePageInactive } from "../usePageInactive.js";
363
+ import { Toast, type ConfigurableToastProps } from "./Toast.js";
364
+ import { type ToastMeta } from "./ToastManager.js";
365
+ import { useToastManager } from "./ToastManagerProvider.js";
366
+ import {
367
+ CurrentToastActionsProvider,
368
+ type CurrentToastActions,
369
+ } from "./useCurrentToastActions.js";
334
370
  &nbsp;
335
371
  const noop = (): void =&gt; {
336
372
  // do nothing
@@ -349,6 +385,8 @@ export interface ToastRendererProps extends ConfigurableToastProps, ToastMeta {
349
385
  }
350
386
  &nbsp;
351
387
  /**
388
+ * **Client Component**
389
+ *
352
390
  * This is the default implementation for rendering toasts that will:
353
391
  *
354
392
  * - controls the visibility of the toast with the {@link useToast} hook
@@ -382,7 +420,7 @@ export function DefaultToastRenderer(props: ToastRendererProps): ReactElement {
382
420
  } = props;
383
421
  const {
384
422
  closeButtonProps,
385
- closeButton = !!closeButtonProps,
423
+ closeButton = !!closeButtonProps || !!remaining.closeButtonProps,
386
424
  onEntered: defaultEntered = noop,
387
425
  onExited: defaultExited = noop,
388
426
  onMouseEnter: defaultMouseEnter = noop,
@@ -390,33 +428,49 @@ export function DefaultToastRenderer(props: ToastRendererProps): ReactElement {
390
428
  ...defaults
391
429
  } = toastDefaults;
392
430
  &nbsp;
393
- const toastManager = useToastManager(toastId);
431
+ const toastManager = useToastManager();
432
+ const currentToastActions = useMemo&lt;CurrentToastActions&gt;(
433
+ () =&gt; ({
434
+ clearTimer() {
435
+ toastManager.clearTimer(toastId);
436
+ },
437
+ removeToast(transition) {
438
+ toastManager.removeToast(toastId, transition);
439
+ },
440
+ startRemoveTimeout() {
441
+ toastManager.startRemoveTimeout(toastId);
442
+ },
443
+ pauseRemoveTimeout() {
444
+ toastManager.pauseRemoveTimeout(toastId);
445
+ },
446
+ resumeRemoveTimeout() {
447
+ toastManager.resumeRemoveTimeout(toastId);
448
+ },
449
+ }),
450
+ [toastId, toastManager]
451
+ );
394
452
  useEffect(() =&gt; {
395
453
  return () =&gt; {
396
- toastManager.clearTimer();
454
+ currentToastActions.clearTimer();
397
455
  };
398
- }, [toastManager]);
456
+ }, [currentToastActions]);
399
457
  usePageInactive({
400
458
  disabled: !visible,
401
459
  onChange(active) {
402
460
  if (active) {
403
- toastManager.resumeRemoveTimeout();
461
+ currentToastActions.resumeRemoveTimeout();
404
462
  } else {
405
- toastManager.pauseRemoveTimeout();
463
+ currentToastActions.pauseRemoveTimeout();
406
464
  }
407
465
  },
408
466
  });
409
467
  &nbsp;
410
468
  return (
411
- &lt;RemoveToastProvider
412
- value={useCallback(() =&gt; {
413
- <span class="cstat-no" title="statement not covered" > toastManager.removeToast(true);</span>
414
- }, [toastManager])}
415
- &gt;
469
+ &lt;CurrentToastActionsProvider value={currentToastActions}&gt;
416
470
  &lt;Toast
417
471
  closeButton={
418
472
  closeButton ||
419
- (!<span class="branch-0 cbranch-no" title="branch not covered" >visibleTime &amp;&amp; !remaining.<span class="branch-0 cbranch-no" title="branch not covered" >action &amp;&amp; !</span>remaining.actionButton)</span>
473
+ (!visibleTime &amp;&amp; !remaining.action &amp;&amp; !remaining.actionButton)
420
474
  }
421
475
  closeButtonProps={closeButtonProps}
422
476
  {...defaults}
@@ -426,28 +480,28 @@ export function DefaultToastRenderer(props: ToastRendererProps): ReactElement {
426
480
  onEntered={(appearing) =&gt; {
427
481
  defaultEntered(appearing);
428
482
  onEntered(appearing);
429
- toastManager.startRemoveTimeout();
483
+ currentToastActions.startRemoveTimeout();
430
484
  }}
431
485
  onExited={() =&gt; {
432
486
  defaultExited();
433
487
  onExited();
434
- toastManager.removeToast(false);
488
+ currentToastActions.removeToast(false);
435
489
  }}
436
490
  onMouseEnter={(event) =&gt; {
437
491
  defaultMouseEnter(event);
438
492
  onMouseEnter(event);
439
- toastManager.pauseRemoveTimeout();
493
+ currentToastActions.pauseRemoveTimeout();
440
494
  }}
441
495
  onMouseLeave={(event) =&gt; {
442
496
  defaultMouseLeave(event);
443
497
  onMouseLeave(event);
444
- toastManager.resumeRemoveTimeout();
498
+ currentToastActions.resumeRemoveTimeout();
445
499
  }}
446
500
  &gt;
447
501
  {defaults.children}
448
502
  {remaining.children}
449
503
  &lt;/Toast&gt;
450
- &lt;/RemoveToastProvider&gt;
504
+ &lt;/CurrentToastActionsProvider&gt;
451
505
  );
452
506
  }
453
507
  &nbsp;</pre></td></tr></table></pre>
@@ -457,7 +511,7 @@ export function DefaultToastRenderer(props: ToastRendererProps): ReactElement {
457
511
  <div class='footer quiet pad2 space-top1 center small'>
458
512
  Code coverage generated by
459
513
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
460
- at 2023-06-12T14:30:38.913Z
514
+ at 2023-11-17T21:52:53.225Z
461
515
  </div>
462
516
  <script src="prettify.js"></script>
463
517
  <script>