@12-apps/ui 6.62.0 → 6.63.0

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 (171) hide show
  1. package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
  2. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
  3. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
  4. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +22 -22
  5. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +28 -28
  6. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  7. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +4 -4
  8. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  9. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
  10. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +4 -4
  11. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +3 -3
  12. package/dist/_internal/components/data-display/DataViews/data-views-export.js +3 -3
  13. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +5 -5
  14. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +5 -5
  15. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
  16. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +19 -19
  17. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +4 -4
  18. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +3 -3
  19. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +3 -3
  20. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +8 -8
  21. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +6 -6
  22. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +7 -7
  23. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +3 -3
  24. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
  25. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  26. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
  27. package/dist/_internal/components/feedback/StackedModal/StackedModal.hooks.js +1 -1
  28. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -4
  29. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
  30. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +1 -1
  31. package/dist/_internal/components/feedback/index.js +8 -8
  32. package/dist/_internal/components/form/Button/Button.js +2 -2
  33. package/dist/_internal/components/form/Button/Button.styles.js +1 -1
  34. package/dist/_internal/components/form/index.js +2 -2
  35. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  36. package/dist/_internal/components/index.js +16 -16
  37. package/dist/_internal/components/layout/SettingCard/SettingCard.js +5 -5
  38. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +3 -3
  39. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +4 -4
  40. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +4 -4
  41. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +6 -6
  42. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +5 -5
  43. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +6 -6
  44. package/dist/_internal/components/layout/index.js +9 -9
  45. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +3 -3
  46. package/dist/_internal/components/navigation/index.js +3 -3
  47. package/dist/_internal/social-login-button/social-login-button.js +3 -3
  48. package/dist/_internal/user-avatar/user-avatar.js +3 -3
  49. package/dist/{chunk-CFAIMOFE.js → chunk-265RW6VX.js} +2 -2
  50. package/dist/{chunk-VZCZAHMX.js → chunk-2XOL4HJU.js} +4 -4
  51. package/dist/{chunk-4PYEDDYV.js → chunk-3AQ25I6D.js} +2 -2
  52. package/dist/{chunk-BTJFOPCQ.js → chunk-3FLJ4ZWZ.js} +2 -2
  53. package/dist/{chunk-XE4JVTM6.js → chunk-4HHCVL5D.js} +2 -2
  54. package/dist/{chunk-EFLRNSE6.js → chunk-5COIBRIP.js} +3 -3
  55. package/dist/{chunk-NFCAXQ3F.js → chunk-5P4GWCBS.js} +3 -3
  56. package/dist/{chunk-PZPTTAO5.js → chunk-64BEEFLJ.js} +7 -7
  57. package/dist/{chunk-KEDZTZCV.js → chunk-6FZ3PJXR.js} +2 -2
  58. package/dist/{chunk-YDTCM5F6.js → chunk-AGUK7VQP.js} +4 -4
  59. package/dist/{chunk-ZCUVZ5PR.js → chunk-C622UXU6.js} +2 -2
  60. package/dist/{chunk-CCCILWYZ.js → chunk-DOROD5GQ.js} +3 -3
  61. package/dist/{chunk-SKOAJPOS.js → chunk-EP674QTM.js} +3 -3
  62. package/dist/{chunk-USZMUOI6.js → chunk-F5LDJ52M.js} +3 -3
  63. package/dist/{chunk-INQO5AYV.js → chunk-GF5VDLCC.js} +3 -3
  64. package/dist/{chunk-2KGYTJCN.js → chunk-GLKUN3DL.js} +4 -3
  65. package/dist/{chunk-2KGYTJCN.js.map → chunk-GLKUN3DL.js.map} +1 -1
  66. package/dist/{chunk-6NWFX2XJ.js → chunk-GOIFPE2E.js} +2 -2
  67. package/dist/{chunk-PKGBW7KS.js → chunk-HM6T6EQR.js} +3 -3
  68. package/dist/{chunk-EXAXD7FA.js → chunk-JQBODXRV.js} +2 -2
  69. package/dist/{chunk-T2UP4XJF.js → chunk-JTIKY2D3.js} +20 -13
  70. package/dist/{chunk-T2UP4XJF.js.map → chunk-JTIKY2D3.js.map} +1 -1
  71. package/dist/{chunk-6J27G2HT.js → chunk-KYFRZX5C.js} +2 -2
  72. package/dist/{chunk-NQZNV3VR.js → chunk-LCVBED7G.js} +2 -2
  73. package/dist/{chunk-GRRW5NSR.js → chunk-NHAB477Y.js} +3 -3
  74. package/dist/{chunk-X7HCS3HP.js → chunk-PSYX2KEQ.js} +3 -3
  75. package/dist/{chunk-3UQMIFPA.js → chunk-QNXCCBRW.js} +2 -2
  76. package/dist/{chunk-ZUQX7XHJ.js → chunk-RG3GJTSK.js} +4 -4
  77. package/dist/{chunk-OGBLNORM.js → chunk-RQ2NKSIA.js} +19 -5
  78. package/dist/chunk-RQ2NKSIA.js.map +1 -0
  79. package/dist/{chunk-JA6GKU65.js → chunk-SAVNRXHT.js} +2 -2
  80. package/dist/{chunk-WQBHJXXW.js → chunk-TSHX4Q6M.js} +2 -2
  81. package/dist/{chunk-G3QKH23Y.js → chunk-TSMF7K37.js} +4 -2
  82. package/dist/chunk-TSMF7K37.js.map +1 -0
  83. package/dist/{chunk-XGIJGIN3.js → chunk-U5NRT6JR.js} +2 -2
  84. package/dist/{chunk-QJWIX4YZ.js → chunk-VE7QYG3W.js} +2 -2
  85. package/dist/{chunk-4JZ6XDVA.js → chunk-VLRHESS2.js} +2 -2
  86. package/dist/{chunk-JE6FNSQV.js → chunk-W4O3BTD5.js} +2 -2
  87. package/dist/{chunk-PPITQH3C.js → chunk-WA36P74Q.js} +2 -2
  88. package/dist/{chunk-UZCQHNXC.js → chunk-WM44LYFN.js} +2 -2
  89. package/dist/{chunk-NBM3YJ4P.js → chunk-X6WC5QBY.js} +2 -2
  90. package/dist/{chunk-L4HUZCKV.js → chunk-XOCWAQOA.js} +2 -2
  91. package/dist/{chunk-NEHCU3EZ.js → chunk-XSIVM4VO.js} +5 -2
  92. package/dist/{chunk-NEHCU3EZ.js.map → chunk-XSIVM4VO.js.map} +1 -1
  93. package/dist/{chunk-5NOCDQJD.js → chunk-YLSBEWPJ.js} +2 -2
  94. package/dist/{chunk-H7R6UKOE.js → chunk-YWIVVKCJ.js} +2 -2
  95. package/dist/data-display/CardKit.js +4 -4
  96. package/dist/data-display/DataViews.js +28 -28
  97. package/dist/feedback/ConfirmAction.js +3 -3
  98. package/dist/feedback/NotificationStatusNotice.js +3 -3
  99. package/dist/feedback/StackedModal.js +4 -4
  100. package/dist/form/Button.js +2 -2
  101. package/dist/form/total-form.js +3 -3
  102. package/dist/layout/SettingCard.js +9 -9
  103. package/dist/native/chunks/{chunk-MU5EIZSP.js → chunk-2MFMON74.js} +21 -11
  104. package/dist/native/chunks/chunk-2MFMON74.js.map +1 -0
  105. package/dist/native/chunks/{chunk-BUFQXX27.js → chunk-CNTOS6KK.js} +2 -2
  106. package/dist/native/data-display/EmptyState.js +2 -2
  107. package/dist/native/data-display/ErrorState.js +1 -1
  108. package/dist/native/data-display/FleetMap.js +2 -2
  109. package/dist/native/form/Button.js +1 -1
  110. package/dist/navigation/AppHeader.js +3 -3
  111. package/dist/social-login-button.js +3 -3
  112. package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
  113. package/dist/types/components/feedback/StackedModal/StackedModal.hooks.d.ts +6 -0
  114. package/dist/types/components/feedback/StackedModal/StackedModal.hooks.d.ts.map +1 -1
  115. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
  116. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  117. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  118. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +12 -0
  119. package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
  120. package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
  121. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
  122. package/dist/user-avatar.js +3 -3
  123. package/package.json +1 -1
  124. package/src/components/feedback/StackedModal/StackedModal.hooks.ts +11 -1
  125. package/src/components/feedback/StackedModal/StackedModal.md +28 -1
  126. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +4 -1
  127. package/src/components/feedback/StackedModal/StackedModal.styles.ts +4 -1
  128. package/src/components/feedback/StackedModal/StackedModal.tsx +22 -3
  129. package/src/components/feedback/StackedModal/StackedModal.types.ts +12 -0
  130. package/src/components/form/Button/Button.native.tsx +28 -13
  131. package/src/components/form/Button/Button.styles.ts +19 -12
  132. package/dist/chunk-G3QKH23Y.js.map +0 -1
  133. package/dist/chunk-OGBLNORM.js.map +0 -1
  134. package/dist/native/chunks/chunk-MU5EIZSP.js.map +0 -1
  135. /package/dist/{chunk-CFAIMOFE.js.map → chunk-265RW6VX.js.map} +0 -0
  136. /package/dist/{chunk-VZCZAHMX.js.map → chunk-2XOL4HJU.js.map} +0 -0
  137. /package/dist/{chunk-4PYEDDYV.js.map → chunk-3AQ25I6D.js.map} +0 -0
  138. /package/dist/{chunk-BTJFOPCQ.js.map → chunk-3FLJ4ZWZ.js.map} +0 -0
  139. /package/dist/{chunk-XE4JVTM6.js.map → chunk-4HHCVL5D.js.map} +0 -0
  140. /package/dist/{chunk-EFLRNSE6.js.map → chunk-5COIBRIP.js.map} +0 -0
  141. /package/dist/{chunk-NFCAXQ3F.js.map → chunk-5P4GWCBS.js.map} +0 -0
  142. /package/dist/{chunk-PZPTTAO5.js.map → chunk-64BEEFLJ.js.map} +0 -0
  143. /package/dist/{chunk-KEDZTZCV.js.map → chunk-6FZ3PJXR.js.map} +0 -0
  144. /package/dist/{chunk-YDTCM5F6.js.map → chunk-AGUK7VQP.js.map} +0 -0
  145. /package/dist/{chunk-ZCUVZ5PR.js.map → chunk-C622UXU6.js.map} +0 -0
  146. /package/dist/{chunk-CCCILWYZ.js.map → chunk-DOROD5GQ.js.map} +0 -0
  147. /package/dist/{chunk-SKOAJPOS.js.map → chunk-EP674QTM.js.map} +0 -0
  148. /package/dist/{chunk-USZMUOI6.js.map → chunk-F5LDJ52M.js.map} +0 -0
  149. /package/dist/{chunk-INQO5AYV.js.map → chunk-GF5VDLCC.js.map} +0 -0
  150. /package/dist/{chunk-6NWFX2XJ.js.map → chunk-GOIFPE2E.js.map} +0 -0
  151. /package/dist/{chunk-PKGBW7KS.js.map → chunk-HM6T6EQR.js.map} +0 -0
  152. /package/dist/{chunk-EXAXD7FA.js.map → chunk-JQBODXRV.js.map} +0 -0
  153. /package/dist/{chunk-6J27G2HT.js.map → chunk-KYFRZX5C.js.map} +0 -0
  154. /package/dist/{chunk-NQZNV3VR.js.map → chunk-LCVBED7G.js.map} +0 -0
  155. /package/dist/{chunk-GRRW5NSR.js.map → chunk-NHAB477Y.js.map} +0 -0
  156. /package/dist/{chunk-X7HCS3HP.js.map → chunk-PSYX2KEQ.js.map} +0 -0
  157. /package/dist/{chunk-3UQMIFPA.js.map → chunk-QNXCCBRW.js.map} +0 -0
  158. /package/dist/{chunk-ZUQX7XHJ.js.map → chunk-RG3GJTSK.js.map} +0 -0
  159. /package/dist/{chunk-JA6GKU65.js.map → chunk-SAVNRXHT.js.map} +0 -0
  160. /package/dist/{chunk-WQBHJXXW.js.map → chunk-TSHX4Q6M.js.map} +0 -0
  161. /package/dist/{chunk-XGIJGIN3.js.map → chunk-U5NRT6JR.js.map} +0 -0
  162. /package/dist/{chunk-QJWIX4YZ.js.map → chunk-VE7QYG3W.js.map} +0 -0
  163. /package/dist/{chunk-4JZ6XDVA.js.map → chunk-VLRHESS2.js.map} +0 -0
  164. /package/dist/{chunk-JE6FNSQV.js.map → chunk-W4O3BTD5.js.map} +0 -0
  165. /package/dist/{chunk-PPITQH3C.js.map → chunk-WA36P74Q.js.map} +0 -0
  166. /package/dist/{chunk-UZCQHNXC.js.map → chunk-WM44LYFN.js.map} +0 -0
  167. /package/dist/{chunk-NBM3YJ4P.js.map → chunk-X6WC5QBY.js.map} +0 -0
  168. /package/dist/{chunk-L4HUZCKV.js.map → chunk-XOCWAQOA.js.map} +0 -0
  169. /package/dist/{chunk-5NOCDQJD.js.map → chunk-YLSBEWPJ.js.map} +0 -0
  170. /package/dist/{chunk-H7R6UKOE.js.map → chunk-YWIVVKCJ.js.map} +0 -0
  171. /package/dist/native/chunks/{chunk-BUFQXX27.js.map → chunk-CNTOS6KK.js.map} +0 -0
@@ -48,22 +48,22 @@ import "../../../chunk-4VMFS3VJ.js";
48
48
  import "../../../chunk-QGUNUXTT.js";
49
49
  import {
50
50
  SettingGroup
51
- } from "../../../chunk-CCCILWYZ.js";
51
+ } from "../../../chunk-DOROD5GQ.js";
52
52
  import {
53
53
  SETTING_GRID_CONTAINER,
54
54
  SettingGrid
55
- } from "../../../chunk-PPITQH3C.js";
55
+ } from "../../../chunk-WA36P74Q.js";
56
56
  import {
57
57
  SettingCard
58
- } from "../../../chunk-YDTCM5F6.js";
58
+ } from "../../../chunk-AGUK7VQP.js";
59
59
  import {
60
60
  SettingToggle
61
- } from "../../../chunk-KEDZTZCV.js";
62
- import "../../../chunk-INQO5AYV.js";
61
+ } from "../../../chunk-6FZ3PJXR.js";
62
+ import "../../../chunk-GF5VDLCC.js";
63
63
  import "../../../chunk-XJQNSMGA.js";
64
64
  import "../../../chunk-SALQ65SM.js";
65
- import "../../../chunk-ZCUVZ5PR.js";
66
- import "../../../chunk-4PYEDDYV.js";
65
+ import "../../../chunk-C622UXU6.js";
66
+ import "../../../chunk-3AQ25I6D.js";
67
67
  import "../../../chunk-IQWPVPV5.js";
68
68
  import "../../../chunk-BFRVMCQM.js";
69
69
  import "../../../chunk-QS5OHHBY.js";
@@ -164,8 +164,8 @@ import "../../../chunk-W2TCSYLI.js";
164
164
  import "../../../chunk-FKUYRQSP.js";
165
165
  import "../../../chunk-HDBP55R3.js";
166
166
  import "../../../chunk-BA4RHQ3B.js";
167
- import "../../../chunk-JE6FNSQV.js";
168
- import "../../../chunk-T2UP4XJF.js";
167
+ import "../../../chunk-W4O3BTD5.js";
168
+ import "../../../chunk-JTIKY2D3.js";
169
169
  import "../../../chunk-G2FUZALJ.js";
170
170
  import "../../../chunk-TAMIZE4Q.js";
171
171
  import "../../../chunk-TYJR4GOF.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  AppHeaderDetails
4
- } from "../../../../chunk-XE4JVTM6.js";
4
+ } from "../../../../chunk-4HHCVL5D.js";
5
5
  import "../../../../chunk-ERTXRK6S.js";
6
6
  import "../../../../chunk-HC7ITMP4.js";
7
7
  import "../../../../chunk-LYVTJLCF.js";
@@ -15,8 +15,8 @@ import "../../../../chunk-AEIJSEVV.js";
15
15
  import "../../../../chunk-AL5E624U.js";
16
16
  import "../../../../chunk-Z2JH5KW5.js";
17
17
  import "../../../../chunk-LV7LSPBF.js";
18
- import "../../../../chunk-JE6FNSQV.js";
19
- import "../../../../chunk-T2UP4XJF.js";
18
+ import "../../../../chunk-W4O3BTD5.js";
19
+ import "../../../../chunk-JTIKY2D3.js";
20
20
  import "../../../../chunk-G2FUZALJ.js";
21
21
  import "../../../../chunk-TAMIZE4Q.js";
22
22
  import "../../../../chunk-TYJR4GOF.js";
@@ -52,7 +52,7 @@ import {
52
52
  } from "../../../chunk-47VRDPR2.js";
53
53
  import {
54
54
  AppHeaderDetails
55
- } from "../../../chunk-XE4JVTM6.js";
55
+ } from "../../../chunk-4HHCVL5D.js";
56
56
  import {
57
57
  AppHeaderBrand
58
58
  } from "../../../chunk-GWFAINQ7.js";
@@ -100,8 +100,8 @@ import "../../../chunk-OEMZFRLF.js";
100
100
  import "../../../chunk-O23DG4VH.js";
101
101
  import "../../../chunk-3UIDKLML.js";
102
102
  import "../../../chunk-PYC4CWCQ.js";
103
- import "../../../chunk-JE6FNSQV.js";
104
- import "../../../chunk-T2UP4XJF.js";
103
+ import "../../../chunk-W4O3BTD5.js";
104
+ import "../../../chunk-JTIKY2D3.js";
105
105
  import "../../../chunk-G2FUZALJ.js";
106
106
  import "../../../chunk-TAMIZE4Q.js";
107
107
  import "../../../chunk-TYJR4GOF.js";
@@ -5,7 +5,7 @@ import {
5
5
  GoogleIcon,
6
6
  SocialLoginButton,
7
7
  SocialLoginContainer
8
- } from "../../chunk-3UQMIFPA.js";
8
+ } from "../../chunk-QNXCCBRW.js";
9
9
  import "../../chunk-INGPH3YQ.js";
10
10
  import "../../chunk-6GP2DOOO.js";
11
11
  import "../../chunk-63D2UYRJ.js";
@@ -21,8 +21,8 @@ import "../../chunk-W2TCSYLI.js";
21
21
  import "../../chunk-FKUYRQSP.js";
22
22
  import "../../chunk-HDBP55R3.js";
23
23
  import "../../chunk-BA4RHQ3B.js";
24
- import "../../chunk-JE6FNSQV.js";
25
- import "../../chunk-T2UP4XJF.js";
24
+ import "../../chunk-W4O3BTD5.js";
25
+ import "../../chunk-JTIKY2D3.js";
26
26
  import "../../chunk-G2FUZALJ.js";
27
27
  import "../../chunk-TAMIZE4Q.js";
28
28
  import "../../chunk-AJBRO76D.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  UserAvatar,
4
4
  UserMenu
5
- } from "../../chunk-4JZ6XDVA.js";
5
+ } from "../../chunk-VLRHESS2.js";
6
6
  import "../../chunk-UDQSIRAP.js";
7
7
  import "../../chunk-AKC5GRJF.js";
8
8
  import "../../chunk-NVXRV3PL.js";
@@ -16,8 +16,8 @@ import "../../chunk-W2TCSYLI.js";
16
16
  import "../../chunk-FKUYRQSP.js";
17
17
  import "../../chunk-HDBP55R3.js";
18
18
  import "../../chunk-BA4RHQ3B.js";
19
- import "../../chunk-JE6FNSQV.js";
20
- import "../../chunk-T2UP4XJF.js";
19
+ import "../../chunk-W4O3BTD5.js";
20
+ import "../../chunk-JTIKY2D3.js";
21
21
  import "../../chunk-G2FUZALJ.js";
22
22
  import "../../chunk-TAMIZE4Q.js";
23
23
  import "../../chunk-AJBRO76D.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-JE6FNSQV.js";
9
+ } from "./chunk-W4O3BTD5.js";
10
10
  import {
11
11
  Text
12
12
  } from "./chunk-AJBRO76D.js";
@@ -85,4 +85,4 @@ function SelectAllStrip({
85
85
  export {
86
86
  SelectAllStrip
87
87
  };
88
- //# sourceMappingURL=chunk-CFAIMOFE.js.map
88
+ //# sourceMappingURL=chunk-265RW6VX.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  DataViewsDisplayPanel
3
- } from "./chunk-NFCAXQ3F.js";
3
+ } from "./chunk-5P4GWCBS.js";
4
4
  import {
5
5
  DataViewsExportMenu
6
- } from "./chunk-JA6GKU65.js";
6
+ } from "./chunk-SAVNRXHT.js";
7
7
  import {
8
8
  renderBulkActions
9
- } from "./chunk-NQZNV3VR.js";
9
+ } from "./chunk-LCVBED7G.js";
10
10
  import {
11
11
  useDataViewsCopy
12
12
  } from "./chunk-KHG57NAE.js";
@@ -138,4 +138,4 @@ function GridToolbar(props) {
138
138
  export {
139
139
  GridToolbar
140
140
  };
141
- //# sourceMappingURL=chunk-VZCZAHMX.js.map
141
+ //# sourceMappingURL=chunk-2XOL4HJU.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-SEWUYHSG.js";
19
19
  import {
20
20
  Button
21
- } from "./chunk-JE6FNSQV.js";
21
+ } from "./chunk-W4O3BTD5.js";
22
22
  import {
23
23
  BUTTON_SIZES
24
24
  } from "./chunk-G2FUZALJ.js";
@@ -139,4 +139,4 @@ export {
139
139
  PendingSpinner,
140
140
  LearnMore
141
141
  };
142
- //# sourceMappingURL=chunk-4PYEDDYV.js.map
142
+ //# sourceMappingURL=chunk-3AQ25I6D.js.map
@@ -2,7 +2,7 @@ import {
2
2
  buildGridColumns,
3
3
  buildRowActionsColumn,
4
4
  isActionsColumn
5
- } from "./chunk-NQZNV3VR.js";
5
+ } from "./chunk-LCVBED7G.js";
6
6
 
7
7
  // src/components/data-display/DataViews/data-views-columns.ts
8
8
  import { useTheme } from "@mui/material/styles/index.js";
@@ -62,4 +62,4 @@ export {
62
62
  useColumnsWithActions,
63
63
  useRenderedColumns
64
64
  };
65
- //# sourceMappingURL=chunk-BTJFOPCQ.js.map
65
+ //# sourceMappingURL=chunk-3FLJ4ZWZ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-ILQVNZ5B.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-JE6FNSQV.js";
9
+ } from "./chunk-W4O3BTD5.js";
10
10
  import {
11
11
  accentFor
12
12
  } from "./chunk-B7ZHEOQQ.js";
@@ -166,4 +166,4 @@ AppHeaderDetails.displayName = "AppHeaderDetails";
166
166
  export {
167
167
  AppHeaderDetails
168
168
  };
169
- //# sourceMappingURL=chunk-XE4JVTM6.js.map
169
+ //# sourceMappingURL=chunk-4HHCVL5D.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useColumnsWithActions,
3
3
  useRenderedColumns
4
- } from "./chunk-BTJFOPCQ.js";
4
+ } from "./chunk-3FLJ4ZWZ.js";
5
5
  import {
6
6
  filterRows
7
7
  } from "./chunk-YGQX7BNI.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  computeActiveFilterCount,
24
24
  defaultSortFields
25
- } from "./chunk-NQZNV3VR.js";
25
+ } from "./chunk-LCVBED7G.js";
26
26
  import {
27
27
  emptyViewState
28
28
  } from "./chunk-LHHAYZ55.js";
@@ -172,4 +172,4 @@ function useDataViewsState({
172
172
  export {
173
173
  useDataViewsState
174
174
  };
175
- //# sourceMappingURL=chunk-EFLRNSE6.js.map
175
+ //# sourceMappingURL=chunk-5COIBRIP.js.map
@@ -10,7 +10,7 @@ import {
10
10
  ViewFooter,
11
11
  ViewHeader,
12
12
  ViewsList
13
- } from "./chunk-5NOCDQJD.js";
13
+ } from "./chunk-YLSBEWPJ.js";
14
14
  import {
15
15
  useDataViewsCopy
16
16
  } from "./chunk-KHG57NAE.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-6DPAWXZ3.js";
20
20
  import {
21
21
  Button
22
- } from "./chunk-JE6FNSQV.js";
22
+ } from "./chunk-W4O3BTD5.js";
23
23
  import {
24
24
  rem,
25
25
  sxRem
@@ -265,4 +265,4 @@ function DataViewsDisplayPanel({
265
265
  export {
266
266
  DataViewsDisplayPanel
267
267
  };
268
- //# sourceMappingURL=chunk-NFCAXQ3F.js.map
268
+ //# sourceMappingURL=chunk-5P4GWCBS.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  GridMain
3
- } from "./chunk-PKGBW7KS.js";
3
+ } from "./chunk-HM6T6EQR.js";
4
4
  import {
5
5
  FilterDialog,
6
6
  GridFilterPanel
7
- } from "./chunk-SKOAJPOS.js";
7
+ } from "./chunk-EP674QTM.js";
8
8
  import {
9
9
  DataViewsEmpty
10
- } from "./chunk-6NWFX2XJ.js";
10
+ } from "./chunk-GOIFPE2E.js";
11
11
  import {
12
12
  InlineFilterControls
13
- } from "./chunk-NBM3YJ4P.js";
13
+ } from "./chunk-X6WC5QBY.js";
14
14
  import {
15
15
  GridHeaderRow
16
16
  } from "./chunk-X3AFXHY5.js";
@@ -30,10 +30,10 @@ import {
30
30
  } from "./chunk-5JWCNQSI.js";
31
31
  import {
32
32
  ShellToolbar
33
- } from "./chunk-UZCQHNXC.js";
33
+ } from "./chunk-WM44LYFN.js";
34
34
  import {
35
35
  togglePillValues
36
- } from "./chunk-NQZNV3VR.js";
36
+ } from "./chunk-LCVBED7G.js";
37
37
  import {
38
38
  DataViewsLayoutProvider,
39
39
  useDataViewsLayout
@@ -240,4 +240,4 @@ function GridShell(props) {
240
240
  export {
241
241
  GridShell
242
242
  };
243
- //# sourceMappingURL=chunk-PZPTTAO5.js.map
243
+ //# sourceMappingURL=chunk-64BEEFLJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SettingSwitchBlock,
3
3
  useSettingSwitchIds
4
- } from "./chunk-INQO5AYV.js";
4
+ } from "./chunk-GF5VDLCC.js";
5
5
  import {
6
6
  useSettingGroup
7
7
  } from "./chunk-XJQNSMGA.js";
@@ -44,4 +44,4 @@ SettingToggle.displayName = "SettingToggle";
44
44
  export {
45
45
  SettingToggle
46
46
  };
47
- //# sourceMappingURL=chunk-KEDZTZCV.js.map
47
+ //# sourceMappingURL=chunk-6FZ3PJXR.js.map
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-SALQ65SM.js";
4
4
  import {
5
5
  useSummaryInfo
6
- } from "./chunk-ZCUVZ5PR.js";
6
+ } from "./chunk-C622UXU6.js";
7
7
  import {
8
8
  LearnMore,
9
9
  PendingSpinner,
10
10
  SaveError,
11
11
  SettingHeader,
12
12
  partTestId
13
- } from "./chunk-4PYEDDYV.js";
13
+ } from "./chunk-3AQ25I6D.js";
14
14
  import {
15
15
  SETTING_CARD_OPEN_ATTR,
16
16
  actionsStyles,
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-SEWUYHSG.js";
24
24
  import {
25
25
  Button
26
- } from "./chunk-JE6FNSQV.js";
26
+ } from "./chunk-W4O3BTD5.js";
27
27
 
28
28
  // src/components/layout/SettingCard/SettingCard.tsx
29
29
  import Box from "@mui/material/Box/index.js";
@@ -170,4 +170,4 @@ SettingCard.displayName = "SettingCard";
170
170
  export {
171
171
  SettingCard
172
172
  };
173
- //# sourceMappingURL=chunk-YDTCM5F6.js.map
173
+ //# sourceMappingURL=chunk-AGUK7VQP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  partTestId
3
- } from "./chunk-4PYEDDYV.js";
3
+ } from "./chunk-3AQ25I6D.js";
4
4
  import {
5
5
  SETTING_CARD
6
6
  } from "./chunk-BFRVMCQM.js";
@@ -92,4 +92,4 @@ export {
92
92
  SummaryInfo,
93
93
  useSummaryInfo
94
94
  };
95
- //# sourceMappingURL=chunk-ZCUVZ5PR.js.map
95
+ //# sourceMappingURL=chunk-C622UXU6.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SettingSwitchBlock,
3
3
  useSettingSwitchIds
4
- } from "./chunk-INQO5AYV.js";
4
+ } from "./chunk-GF5VDLCC.js";
5
5
  import {
6
6
  SettingGroupContext
7
7
  } from "./chunk-XJQNSMGA.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-SALQ65SM.js";
11
11
  import {
12
12
  partTestId
13
- } from "./chunk-4PYEDDYV.js";
13
+ } from "./chunk-3AQ25I6D.js";
14
14
  import {
15
15
  dependentsStyles,
16
16
  hintStyles,
@@ -84,4 +84,4 @@ SettingGroup.displayName = "SettingGroup";
84
84
  export {
85
85
  SettingGroup
86
86
  };
87
- //# sourceMappingURL=chunk-CCCILWYZ.js.map
87
+ //# sourceMappingURL=chunk-DOROD5GQ.js.map
@@ -12,10 +12,10 @@ import {
12
12
  } from "./chunk-7LOCLC24.js";
13
13
  import {
14
14
  StackedModal
15
- } from "./chunk-OGBLNORM.js";
15
+ } from "./chunk-RQ2NKSIA.js";
16
16
  import {
17
17
  StackedModalContent
18
- } from "./chunk-2KGYTJCN.js";
18
+ } from "./chunk-GLKUN3DL.js";
19
19
  import {
20
20
  sxRem
21
21
  } from "./chunk-YKCAJ2TN.js";
@@ -157,4 +157,4 @@ export {
157
157
  GridFilterPanel,
158
158
  FilterDialog
159
159
  };
160
- //# sourceMappingURL=chunk-SKOAJPOS.js.map
160
+ //# sourceMappingURL=chunk-EP674QTM.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-PZPTTAO5.js";
3
+ } from "./chunk-64BEEFLJ.js";
4
4
  import {
5
5
  useDataViewsState
6
- } from "./chunk-EFLRNSE6.js";
6
+ } from "./chunk-5COIBRIP.js";
7
7
 
8
8
  // src/components/data-display/DataViews/DataViewsGrid.tsx
9
9
  import { useEffect, useRef } from "react";
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
27
27
  export {
28
28
  DataViewsGrid
29
29
  };
30
- //# sourceMappingURL=chunk-USZMUOI6.js.map
30
+ //# sourceMappingURL=chunk-F5LDJ52M.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useSummaryInfo
3
- } from "./chunk-ZCUVZ5PR.js";
3
+ } from "./chunk-C622UXU6.js";
4
4
  import {
5
5
  PendingSpinner,
6
6
  SaveError,
7
7
  SettingHeader,
8
8
  partTestId
9
- } from "./chunk-4PYEDDYV.js";
9
+ } from "./chunk-3AQ25I6D.js";
10
10
  import {
11
11
  clampStyles,
12
12
  descriptionStyles
@@ -87,4 +87,4 @@ export {
87
87
  useSettingSwitchIds,
88
88
  SettingSwitchBlock
89
89
  };
90
- //# sourceMappingURL=chunk-INQO5AYV.js.map
90
+ //# sourceMappingURL=chunk-GF5VDLCC.js.map
@@ -4,7 +4,7 @@ import {
4
4
  titleLeftStyles,
5
5
  titleRightStyles,
6
6
  titleStyles
7
- } from "./chunk-NEHCU3EZ.js";
7
+ } from "./chunk-XSIVM4VO.js";
8
8
  import {
9
9
  safeAreaBottom
10
10
  } from "./chunk-AKZWDZCZ.js";
@@ -223,10 +223,11 @@ var ModalPanelContents = ({
223
223
  content,
224
224
  modalActions,
225
225
  hasMobileActions,
226
+ hideHeader,
226
227
  ...header
227
228
  }) => /* @__PURE__ */ jsxs(Fragment, { children: [
228
229
  showSkeleton && /* @__PURE__ */ jsx(ModalLoadingOverlay, { loadingText, dataTestId: header.dataTestId }),
229
- /* @__PURE__ */ jsx(ModalHeader, { ...header }),
230
+ !hideHeader && /* @__PURE__ */ jsx(ModalHeader, { ...header }),
230
231
  /* @__PURE__ */ jsx(
231
232
  ModalBody,
232
233
  {
@@ -252,4 +253,4 @@ export {
252
253
  ModalFooter,
253
254
  ModalPanelContents
254
255
  };
255
- //# sourceMappingURL=chunk-2KGYTJCN.js.map
256
+ //# sourceMappingURL=chunk-GLKUN3DL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/feedback/StackedModal/StackedModal.parts.tsx"],"sourcesContent":["import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport DialogActions from '@mui/material/DialogActions/index.js';\nimport DialogContent from '@mui/material/DialogContent/index.js';\nimport DialogTitle from '@mui/material/DialogTitle/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { styled, useTheme } from '@mui/material/styles/index.js';\nimport type { ElementType, FC, ReactNode } from 'react';\nimport React from 'react';\nimport { rem } from '../../../tokens/relative';\nimport { safeAreaBottom } from '../../../utils/viewport';\nimport {\n loadingOverlayStyles,\n modalContentStyles,\n titleLeftStyles,\n titleRightStyles,\n titleStyles,\n} from './StackedModal.styles';\n\n// `component` typed through: the bar is a `div` when it holds a title (`ModalHeader`).\nconst StyledDialogTitle = styled(DialogTitle, {\n shouldForwardProp: (prop) => prop !== 'rtl',\n})<{ rtl?: boolean; component?: ElementType }>(({ theme, rtl }) => titleStyles(theme, rtl));\n\nconst DialogTitleLeft = styled(Box)(({ theme }) => titleLeftStyles(theme));\nconst DialogTitleRight = styled(Box)(({ theme }) => titleRightStyles(theme));\nconst LoadingOverlay = styled(Box)(({ theme }) => loadingOverlayStyles(theme));\n\n/**\n * The padded content wrapper callers put inside a StackedModal. The explicit\n * `typeof DialogContent` annotation keeps its type nameable across package\n * boundaries (TS2742) now that it is re-exported from the barrel.\n */\nexport const StackedModalContent: typeof DialogContent = styled(DialogContent)(({ theme }) =>\n modalContentStyles(theme),\n) as typeof DialogContent;\n\n/** Sub-element test IDs derive from the modal's own, or stay off when it has none. */\nexport const testId = (base: string | undefined, suffix: string): string | undefined =>\n base ? `${base}-${suffix}` : undefined;\n\n/**\n * A wrapper marking the subtree that should render as modal actions — the\n * StackedModal pulls it out of `children` and places it by device.\n */\nexport const StackedModalActions: FC<{ children?: ReactNode }> = ({ children }) => <>{children}</>;\n\n/** Separates the `StackedModalActions` subtree from the rest of the content. */\nconst splitModalChildren = (children: ReactNode): { content: ReactNode; actions: ReactNode } => {\n let actions: ReactNode = null;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<{ children?: ReactNode }>(child) && child.type === StackedModalActions) {\n actions = child.props.children;\n }\n });\n\n const content = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === StackedModalActions),\n );\n\n return { content, actions };\n};\n\n/**\n * Works out what renders where: a `StackedModalActions` child wins over the\n * `actions` prop, and on phones those actions move out of the header into a\n * pinned bottom bar.\n */\nexport const resolveModalContent = (\n children: ReactNode,\n actions: ReactNode,\n isMobile: boolean,\n): {\n content: ReactNode;\n modalActions: ReactNode;\n headerActions: ReactNode;\n hasMobileActions: boolean;\n} => {\n const { content, actions: childActions } = splitModalChildren(children);\n const modalActions = childActions ?? actions;\n return {\n content,\n modalActions,\n headerActions: isMobile ? null : modalActions,\n hasMobileActions: Boolean(isMobile && modalActions),\n };\n};\n\n/** The panel's own ARIA ids, unless the caller wired it to its own labels. */\nexport const modalAriaIds = (\n modalId: string,\n ariaLabelledBy?: string,\n ariaDescribedBy?: string,\n): { titleId: string; descId: string } => ({\n titleId: ariaLabelledBy || `modal-title-${modalId}`,\n descId: ariaDescribedBy || `modal-desc-${modalId}`,\n});\n\nexport const ModalLoadingOverlay: FC<{ loadingText?: string; dataTestId?: string }> = ({\n loadingText,\n dataTestId,\n}) => {\n const theme = useTheme();\n return (\n <LoadingOverlay data-testid={testId(dataTestId, 'loading-overlay')}>\n <CircularProgress size={rem(theme, 40)} data-testid={testId(dataTestId, 'loading-spinner')} />\n {loadingText && (\n <Typography variant=\"body2\" sx={{ mt: 2 }} data-testid={testId(dataTestId, 'loading-text')}>\n {loadingText}\n </Typography>\n )}\n </LoadingOverlay>\n );\n};\n\ninterface ModalHeaderProps {\n titleId: string;\n navigationTitle?: ReactNode;\n /** Deeper than the first panel, so the leading button goes back instead of closing. */\n canGoBack: boolean;\n onBack: () => void;\n /** The back arrow's accessible name — it carries a glyph only. REQUIRED. */\n backLabel: string;\n onClose: () => void;\n /** Renders the bar without its ✕ — the panel's content owns the dismiss. */\n hideClose?: boolean;\n /** Header actions — desktop only; on phones they move to the footer. */\n headerActions?: ReactNode;\n rtl?: boolean;\n dataTestId?: string;\n}\n\n/**\n * The bar's leading control: back at depth ≥2, otherwise close — and nothing at\n * all when the panel's content carries its own ✕ (`hideClose`).\n */\nconst HeaderLeadingButton: FC<\n Pick<\n ModalHeaderProps,\n 'canGoBack' | 'onBack' | 'backLabel' | 'onClose' | 'hideClose' | 'rtl' | 'dataTestId'\n >\n> = ({ canGoBack, onBack, backLabel, onClose, hideClose, rtl, dataTestId }) => {\n if (canGoBack) {\n return (\n <IconButton\n edge=\"start\"\n color=\"inherit\"\n onClick={onBack}\n aria-label={backLabel}\n size=\"small\"\n sx={{ transform: rtl ? 'rotate(180deg)' : 'none' }}\n data-testid={testId(dataTestId, 'back-button')}\n >\n <ChevronLeftIcon />\n </IconButton>\n );\n }\n if (hideClose) return null;\n return (\n <IconButton\n edge=\"start\"\n color=\"inherit\"\n onClick={onClose}\n aria-label=\"close\"\n size=\"small\"\n data-testid={testId(dataTestId, 'close-button')}\n >\n <CloseIcon />\n </IconButton>\n );\n};\n\nexport const ModalHeader: FC<ModalHeaderProps> = ({\n titleId,\n navigationTitle,\n canGoBack,\n onBack,\n onClose,\n hideClose,\n backLabel,\n headerActions,\n rtl,\n dataTestId,\n}) => (\n // The BAR is not a heading: it holds the ✕ or back button and the header\n // actions. The title inside it is the panel's one heading and carries the id\n // the dialog's `aria-labelledby` names, so the dialog is named by the title\n // alone — not \"close Title Save\" — and a screen reader hears it once.\n //\n // The bar's id is stated, never left to MUI: `DialogTitle` falls back to the\n // Dialog's `aria-labelledby` and would claim the title's id a second time.\n // With NO title the bar is drawn exactly as it always was — MUI's own `h2`,\n // holding the id — so an untitled panel keeps its markup and its name.\n <StyledDialogTitle\n component={navigationTitle ? 'div' : 'h2'}\n id={navigationTitle ? `${titleId}-bar` : titleId}\n rtl={rtl}\n data-testid={testId(dataTestId, 'header')}\n >\n <DialogTitleLeft>\n <HeaderLeadingButton\n canGoBack={canGoBack}\n onBack={onBack}\n backLabel={backLabel}\n onClose={onClose}\n hideClose={hideClose}\n rtl={rtl}\n dataTestId={dataTestId}\n />\n {navigationTitle && (\n <Typography\n id={titleId}\n variant=\"h6\"\n component=\"h2\"\n noWrap\n sx={{ ml: canGoBack || !hideClose ? 1 : 0 }}\n data-testid={testId(dataTestId, 'title')}\n >\n {navigationTitle}\n </Typography>\n )}\n </DialogTitleLeft>\n <DialogTitleRight data-testid={testId(dataTestId, 'header-actions')}>\n {headerActions}\n </DialogTitleRight>\n </StyledDialogTitle>\n);\n\nconst ContentSkeleton: FC = () => {\n const theme = useTheme();\n return (\n <Box sx={{ p: 3 }}>\n <Skeleton variant=\"text\" width=\"60%\" height={rem(theme, 32)} />\n <Skeleton variant=\"text\" width=\"100%\" />\n <Skeleton variant=\"text\" width=\"100%\" />\n <Skeleton variant=\"rectangular\" height={rem(theme, 200)} sx={{ mt: 2 }} />\n </Box>\n );\n};\n\ninterface ModalBodyProps {\n descId: string;\n showSkeleton: boolean;\n /** When there is no action bar, the body is what reaches the bottom of the panel. */\n endsPanel: boolean;\n dataTestId?: string;\n children?: ReactNode;\n}\n\nexport const ModalBody: FC<ModalBodyProps> = ({\n descId,\n showSkeleton,\n endsPanel,\n dataTestId,\n children,\n}) => (\n <Box\n id={descId}\n sx={{\n position: 'relative',\n flex: 1,\n overflow: 'auto',\n // iOS momentum scrolling, and no scroll-chaining to the page behind —\n // without `contain`, an overscroll at the end of the list rubber-bands the\n // whole panel and springs back before the last row can be tapped.\n WebkitOverflowScrolling: 'touch',\n overscrollBehavior: 'contain',\n // The content itself ends the panel when there is no action bar, so it has\n // to clear the home indicator on its own.\n ...(endsPanel ? safeAreaBottom(0) : {}),\n }}\n data-testid={testId(dataTestId, 'content')}\n >\n {showSkeleton ? <ContentSkeleton /> : children}\n </Box>\n);\n\n/** The phone-only pinned action bar; on desktop the actions live in the header. */\nexport const ModalFooter: FC<{ dataTestId?: string; children?: ReactNode }> = ({\n dataTestId,\n children,\n}) => (\n <DialogActions\n sx={{\n borderTop: (theme) => `1px solid ${theme.palette.divider}`,\n padding: 2,\n // Never let the action row sit under the iOS home indicator.\n flexShrink: 0,\n ...safeAreaBottom(16),\n }}\n data-testid={testId(dataTestId, 'footer')}\n >\n {children}\n </DialogActions>\n);\n\ninterface PanelContentsProps extends ModalHeaderProps {\n showSkeleton: boolean;\n loadingText?: string;\n descId: string;\n content: ReactNode;\n /** The resolved actions, already placed in the header or destined for the footer. */\n modalActions: ReactNode;\n hasMobileActions: boolean;\n}\n\n/** Everything inside the sliding panel: the loading veil, header, body and action bar. */\nexport const ModalPanelContents: FC<PanelContentsProps> = ({\n showSkeleton,\n loadingText,\n descId,\n content,\n modalActions,\n hasMobileActions,\n ...header\n}) => (\n <>\n {showSkeleton && (\n <ModalLoadingOverlay loadingText={loadingText} dataTestId={header.dataTestId} />\n )}\n <ModalHeader {...header} />\n <ModalBody\n descId={descId}\n showSkeleton={showSkeleton}\n endsPanel={!hasMobileActions}\n dataTestId={header.dataTestId}\n >\n {content}\n </ModalBody>\n {hasMobileActions && (\n <ModalFooter dataTestId={header.dataTestId}>{modalActions}</ModalFooter>\n )}\n </>\n);\n"],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,qBAAqB;AAC5B,OAAO,eAAe;AACtB,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,mBAAmB;AAC1B,OAAO,mBAAmB;AAC1B,OAAO,iBAAiB;AACxB,OAAO,gBAAgB;AACvB,OAAO,cAAc;AACrB,OAAO,gBAAgB;AACvB,SAAS,QAAQ,gBAAgB;AAEjC,OAAO,WAAW;AAqCiE,wBA4D/E,YA5D+E;AAzBnF,IAAM,oBAAoB,OAAO,aAAa;AAAA,EAC5C,mBAAmB,CAAC,SAAS,SAAS;AACxC,CAAC,EAA8C,CAAC,EAAE,OAAO,IAAI,MAAM,YAAY,OAAO,GAAG,CAAC;AAE1F,IAAM,kBAAkB,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,MAAM,gBAAgB,KAAK,CAAC;AACzE,IAAM,mBAAmB,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,MAAM,iBAAiB,KAAK,CAAC;AAC3E,IAAM,iBAAiB,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,MAAM,qBAAqB,KAAK,CAAC;AAOtE,IAAM,sBAA4C,OAAO,aAAa;AAAA,EAAE,CAAC,EAAE,MAAM,MACtF,mBAAmB,KAAK;AAC1B;AAGO,IAAM,SAAS,CAAC,MAA0B,WAC/C,OAAO,GAAG,IAAI,IAAI,MAAM,KAAK;AAMxB,IAAM,sBAAoD,CAAC,EAAE,SAAS,MAAM,gCAAG,UAAS;AAG/F,IAAM,qBAAqB,CAAC,aAAoE;AAC9F,MAAI,UAAqB;AAEzB,QAAM,SAAS,QAAQ,UAAU,CAAC,UAAU;AAC1C,QAAI,MAAM,eAAyC,KAAK,KAAK,MAAM,SAAS,qBAAqB;AAC/F,gBAAU,MAAM,MAAM;AAAA,IACxB;AAAA,EACF,CAAC;AAED,QAAM,UAAU,MAAM,SAAS,QAAQ,QAAQ,EAAE;AAAA,IAC/C,CAAC,UAAU,EAAE,MAAM,eAAe,KAAK,KAAK,MAAM,SAAS;AAAA,EAC7D;AAEA,SAAO,EAAE,SAAS,QAAQ;AAC5B;AAOO,IAAM,sBAAsB,CACjC,UACA,SACA,aAMG;AACH,QAAM,EAAE,SAAS,SAAS,aAAa,IAAI,mBAAmB,QAAQ;AACtE,QAAM,eAAe,gBAAgB;AACrC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,WAAW,OAAO;AAAA,IACjC,kBAAkB,QAAQ,YAAY,YAAY;AAAA,EACpD;AACF;AAGO,IAAM,eAAe,CAC1B,SACA,gBACA,qBACyC;AAAA,EACzC,SAAS,kBAAkB,eAAe,OAAO;AAAA,EACjD,QAAQ,mBAAmB,cAAc,OAAO;AAClD;AAEO,IAAM,sBAAyE,CAAC;AAAA,EACrF;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,kBAAe,eAAa,OAAO,YAAY,iBAAiB,GAC/D;AAAA,wBAAC,oBAAiB,MAAM,IAAI,OAAO,EAAE,GAAG,eAAa,OAAO,YAAY,iBAAiB,GAAG;AAAA,IAC3F,eACC,oBAAC,cAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,EAAE,GAAG,eAAa,OAAO,YAAY,cAAc,GACtF,uBACH;AAAA,KAEJ;AAEJ;AAuBA,IAAM,sBAKF,CAAC,EAAE,WAAW,QAAQ,WAAW,SAAS,WAAW,KAAK,WAAW,MAAM;AAC7E,MAAI,WAAW;AACb,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAY;AAAA,QACZ,MAAK;AAAA,QACL,IAAI,EAAE,WAAW,MAAM,mBAAmB,OAAO;AAAA,QACjD,eAAa,OAAO,YAAY,aAAa;AAAA,QAE7C,8BAAC,mBAAgB;AAAA;AAAA,IACnB;AAAA,EAEJ;AACA,MAAI,UAAW,QAAO;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,OAAM;AAAA,MACN,SAAS;AAAA,MACT,cAAW;AAAA,MACX,MAAK;AAAA,MACL,eAAa,OAAO,YAAY,cAAc;AAAA,MAE9C,8BAAC,aAAU;AAAA;AAAA,EACb;AAEJ;AAEO,IAAM,cAAoC,CAAC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,kBAAkB,QAAQ;AAAA,MACrC,IAAI,kBAAkB,GAAG,OAAO,SAAS;AAAA,MACzC;AAAA,MACA,eAAa,OAAO,YAAY,QAAQ;AAAA,MAExC;AAAA,6BAAC,mBACC;AAAA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACF;AAAA,UACC,mBACC;AAAA,YAAC;AAAA;AAAA,cACC,IAAI;AAAA,cACJ,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,QAAM;AAAA,cACN,IAAI,EAAE,IAAI,aAAa,CAAC,YAAY,IAAI,EAAE;AAAA,cAC1C,eAAa,OAAO,YAAY,OAAO;AAAA,cAEtC;AAAA;AAAA,UACH;AAAA,WAEJ;AAAA,QACA,oBAAC,oBAAiB,eAAa,OAAO,YAAY,gBAAgB,GAC/D,yBACH;AAAA;AAAA;AAAA,EACF;AAAA;AAGF,IAAM,kBAAsB,MAAM;AAChC,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,OAAI,IAAI,EAAE,GAAG,EAAE,GACd;AAAA,wBAAC,YAAS,SAAQ,QAAO,OAAM,OAAM,QAAQ,IAAI,OAAO,EAAE,GAAG;AAAA,IAC7D,oBAAC,YAAS,SAAQ,QAAO,OAAM,QAAO;AAAA,IACtC,oBAAC,YAAS,SAAQ,QAAO,OAAM,QAAO;AAAA,IACtC,oBAAC,YAAS,SAAQ,eAAc,QAAQ,IAAI,OAAO,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG;AAAA,KAC1E;AAEJ;AAWO,IAAM,YAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA;AAAA;AAAA;AAAA,MAIV,yBAAyB;AAAA,MACzB,oBAAoB;AAAA;AAAA;AAAA,MAGpB,GAAI,YAAY,eAAe,CAAC,IAAI,CAAC;AAAA,IACvC;AAAA,IACA,eAAa,OAAO,YAAY,SAAS;AAAA,IAExC,yBAAe,oBAAC,mBAAgB,IAAK;AAAA;AACxC;AAIK,IAAM,cAAiE,CAAC;AAAA,EAC7E;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC,IAAI;AAAA,MACF,WAAW,CAAC,UAAU,aAAa,MAAM,QAAQ,OAAO;AAAA,MACxD,SAAS;AAAA;AAAA,MAET,YAAY;AAAA,MACZ,GAAG,eAAe,EAAE;AAAA,IACtB;AAAA,IACA,eAAa,OAAO,YAAY,QAAQ;AAAA,IAEvC;AAAA;AACH;AAcK,IAAM,qBAA6C,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE,iCACG;AAAA,kBACC,oBAAC,uBAAoB,aAA0B,YAAY,OAAO,YAAY;AAAA,EAEhF,oBAAC,eAAa,GAAG,QAAQ;AAAA,EACzB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW,CAAC;AAAA,MACZ,YAAY,OAAO;AAAA,MAElB;AAAA;AAAA,EACH;AAAA,EACC,oBACC,oBAAC,eAAY,YAAY,OAAO,YAAa,wBAAa;AAAA,GAE9D;","names":[]}
1
+ {"version":3,"sources":["../src/components/feedback/StackedModal/StackedModal.parts.tsx"],"sourcesContent":["import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport DialogActions from '@mui/material/DialogActions/index.js';\nimport DialogContent from '@mui/material/DialogContent/index.js';\nimport DialogTitle from '@mui/material/DialogTitle/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { styled, useTheme } from '@mui/material/styles/index.js';\nimport type { ElementType, FC, ReactNode } from 'react';\nimport React from 'react';\nimport { rem } from '../../../tokens/relative';\nimport { safeAreaBottom } from '../../../utils/viewport';\nimport {\n loadingOverlayStyles,\n modalContentStyles,\n titleLeftStyles,\n titleRightStyles,\n titleStyles,\n} from './StackedModal.styles';\n\n// `component` typed through: the bar is a `div` when it holds a title (`ModalHeader`).\nconst StyledDialogTitle = styled(DialogTitle, {\n shouldForwardProp: (prop) => prop !== 'rtl',\n})<{ rtl?: boolean; component?: ElementType }>(({ theme, rtl }) => titleStyles(theme, rtl));\n\nconst DialogTitleLeft = styled(Box)(({ theme }) => titleLeftStyles(theme));\nconst DialogTitleRight = styled(Box)(({ theme }) => titleRightStyles(theme));\nconst LoadingOverlay = styled(Box)(({ theme }) => loadingOverlayStyles(theme));\n\n/**\n * The padded content wrapper callers put inside a StackedModal. The explicit\n * `typeof DialogContent` annotation keeps its type nameable across package\n * boundaries (TS2742) now that it is re-exported from the barrel.\n */\nexport const StackedModalContent: typeof DialogContent = styled(DialogContent)(({ theme }) =>\n modalContentStyles(theme),\n) as typeof DialogContent;\n\n/** Sub-element test IDs derive from the modal's own, or stay off when it has none. */\nexport const testId = (base: string | undefined, suffix: string): string | undefined =>\n base ? `${base}-${suffix}` : undefined;\n\n/**\n * A wrapper marking the subtree that should render as modal actions — the\n * StackedModal pulls it out of `children` and places it by device.\n */\nexport const StackedModalActions: FC<{ children?: ReactNode }> = ({ children }) => <>{children}</>;\n\n/** Separates the `StackedModalActions` subtree from the rest of the content. */\nconst splitModalChildren = (children: ReactNode): { content: ReactNode; actions: ReactNode } => {\n let actions: ReactNode = null;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<{ children?: ReactNode }>(child) && child.type === StackedModalActions) {\n actions = child.props.children;\n }\n });\n\n const content = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === StackedModalActions),\n );\n\n return { content, actions };\n};\n\n/**\n * Works out what renders where: a `StackedModalActions` child wins over the\n * `actions` prop, and on phones those actions move out of the header into a\n * pinned bottom bar.\n */\nexport const resolveModalContent = (\n children: ReactNode,\n actions: ReactNode,\n isMobile: boolean,\n): {\n content: ReactNode;\n modalActions: ReactNode;\n headerActions: ReactNode;\n hasMobileActions: boolean;\n} => {\n const { content, actions: childActions } = splitModalChildren(children);\n const modalActions = childActions ?? actions;\n return {\n content,\n modalActions,\n headerActions: isMobile ? null : modalActions,\n hasMobileActions: Boolean(isMobile && modalActions),\n };\n};\n\n/** The panel's own ARIA ids, unless the caller wired it to its own labels. */\nexport const modalAriaIds = (\n modalId: string,\n ariaLabelledBy?: string,\n ariaDescribedBy?: string,\n): { titleId: string; descId: string } => ({\n titleId: ariaLabelledBy || `modal-title-${modalId}`,\n descId: ariaDescribedBy || `modal-desc-${modalId}`,\n});\n\nexport const ModalLoadingOverlay: FC<{ loadingText?: string; dataTestId?: string }> = ({\n loadingText,\n dataTestId,\n}) => {\n const theme = useTheme();\n return (\n <LoadingOverlay data-testid={testId(dataTestId, 'loading-overlay')}>\n <CircularProgress size={rem(theme, 40)} data-testid={testId(dataTestId, 'loading-spinner')} />\n {loadingText && (\n <Typography variant=\"body2\" sx={{ mt: 2 }} data-testid={testId(dataTestId, 'loading-text')}>\n {loadingText}\n </Typography>\n )}\n </LoadingOverlay>\n );\n};\n\ninterface ModalHeaderProps {\n titleId: string;\n navigationTitle?: ReactNode;\n /** Deeper than the first panel, so the leading button goes back instead of closing. */\n canGoBack: boolean;\n onBack: () => void;\n /** The back arrow's accessible name — it carries a glyph only. REQUIRED. */\n backLabel: string;\n onClose: () => void;\n /** Renders the bar without its ✕ — the panel's content owns the dismiss. */\n hideClose?: boolean;\n /** Header actions — desktop only; on phones they move to the footer. */\n headerActions?: ReactNode;\n rtl?: boolean;\n dataTestId?: string;\n}\n\n/**\n * The bar's leading control: back at depth ≥2, otherwise close — and nothing at\n * all when the panel's content carries its own ✕ (`hideClose`).\n */\nconst HeaderLeadingButton: FC<\n Pick<\n ModalHeaderProps,\n 'canGoBack' | 'onBack' | 'backLabel' | 'onClose' | 'hideClose' | 'rtl' | 'dataTestId'\n >\n> = ({ canGoBack, onBack, backLabel, onClose, hideClose, rtl, dataTestId }) => {\n if (canGoBack) {\n return (\n <IconButton\n edge=\"start\"\n color=\"inherit\"\n onClick={onBack}\n aria-label={backLabel}\n size=\"small\"\n sx={{ transform: rtl ? 'rotate(180deg)' : 'none' }}\n data-testid={testId(dataTestId, 'back-button')}\n >\n <ChevronLeftIcon />\n </IconButton>\n );\n }\n if (hideClose) return null;\n return (\n <IconButton\n edge=\"start\"\n color=\"inherit\"\n onClick={onClose}\n aria-label=\"close\"\n size=\"small\"\n data-testid={testId(dataTestId, 'close-button')}\n >\n <CloseIcon />\n </IconButton>\n );\n};\n\nexport const ModalHeader: FC<ModalHeaderProps> = ({\n titleId,\n navigationTitle,\n canGoBack,\n onBack,\n onClose,\n hideClose,\n backLabel,\n headerActions,\n rtl,\n dataTestId,\n}) => (\n // The BAR is not a heading: it holds the ✕ or back button and the header\n // actions. The title inside it is the panel's one heading and carries the id\n // the dialog's `aria-labelledby` names, so the dialog is named by the title\n // alone — not \"close Title Save\" — and a screen reader hears it once.\n //\n // The bar's id is stated, never left to MUI: `DialogTitle` falls back to the\n // Dialog's `aria-labelledby` and would claim the title's id a second time.\n // With NO title the bar is drawn exactly as it always was — MUI's own `h2`,\n // holding the id — so an untitled panel keeps its markup and its name.\n <StyledDialogTitle\n component={navigationTitle ? 'div' : 'h2'}\n id={navigationTitle ? `${titleId}-bar` : titleId}\n rtl={rtl}\n data-testid={testId(dataTestId, 'header')}\n >\n <DialogTitleLeft>\n <HeaderLeadingButton\n canGoBack={canGoBack}\n onBack={onBack}\n backLabel={backLabel}\n onClose={onClose}\n hideClose={hideClose}\n rtl={rtl}\n dataTestId={dataTestId}\n />\n {navigationTitle && (\n <Typography\n id={titleId}\n variant=\"h6\"\n component=\"h2\"\n noWrap\n sx={{ ml: canGoBack || !hideClose ? 1 : 0 }}\n data-testid={testId(dataTestId, 'title')}\n >\n {navigationTitle}\n </Typography>\n )}\n </DialogTitleLeft>\n <DialogTitleRight data-testid={testId(dataTestId, 'header-actions')}>\n {headerActions}\n </DialogTitleRight>\n </StyledDialogTitle>\n);\n\nconst ContentSkeleton: FC = () => {\n const theme = useTheme();\n return (\n <Box sx={{ p: 3 }}>\n <Skeleton variant=\"text\" width=\"60%\" height={rem(theme, 32)} />\n <Skeleton variant=\"text\" width=\"100%\" />\n <Skeleton variant=\"text\" width=\"100%\" />\n <Skeleton variant=\"rectangular\" height={rem(theme, 200)} sx={{ mt: 2 }} />\n </Box>\n );\n};\n\ninterface ModalBodyProps {\n descId: string;\n showSkeleton: boolean;\n /** When there is no action bar, the body is what reaches the bottom of the panel. */\n endsPanel: boolean;\n dataTestId?: string;\n children?: ReactNode;\n}\n\nexport const ModalBody: FC<ModalBodyProps> = ({\n descId,\n showSkeleton,\n endsPanel,\n dataTestId,\n children,\n}) => (\n <Box\n id={descId}\n sx={{\n position: 'relative',\n flex: 1,\n overflow: 'auto',\n // iOS momentum scrolling, and no scroll-chaining to the page behind —\n // without `contain`, an overscroll at the end of the list rubber-bands the\n // whole panel and springs back before the last row can be tapped.\n WebkitOverflowScrolling: 'touch',\n overscrollBehavior: 'contain',\n // The content itself ends the panel when there is no action bar, so it has\n // to clear the home indicator on its own.\n ...(endsPanel ? safeAreaBottom(0) : {}),\n }}\n data-testid={testId(dataTestId, 'content')}\n >\n {showSkeleton ? <ContentSkeleton /> : children}\n </Box>\n);\n\n/** The phone-only pinned action bar; on desktop the actions live in the header. */\nexport const ModalFooter: FC<{ dataTestId?: string; children?: ReactNode }> = ({\n dataTestId,\n children,\n}) => (\n <DialogActions\n sx={{\n borderTop: (theme) => `1px solid ${theme.palette.divider}`,\n padding: 2,\n // Never let the action row sit under the iOS home indicator.\n flexShrink: 0,\n ...safeAreaBottom(16),\n }}\n data-testid={testId(dataTestId, 'footer')}\n >\n {children}\n </DialogActions>\n);\n\ninterface PanelContentsProps extends ModalHeaderProps {\n /** Draw no bar — already resolved: `hideHeader` on the ROOT panel only. */\n hideHeader?: boolean;\n showSkeleton: boolean;\n loadingText?: string;\n descId: string;\n content: ReactNode;\n /** The resolved actions, already placed in the header or destined for the footer. */\n modalActions: ReactNode;\n hasMobileActions: boolean;\n}\n\n/** Everything inside the sliding panel: the loading veil, header, body and action bar. */\nexport const ModalPanelContents: FC<PanelContentsProps> = ({\n showSkeleton,\n loadingText,\n descId,\n content,\n modalActions,\n hasMobileActions,\n hideHeader,\n ...header\n}) => (\n <>\n {showSkeleton && (\n <ModalLoadingOverlay loadingText={loadingText} dataTestId={header.dataTestId} />\n )}\n {!hideHeader && <ModalHeader {...header} />}\n <ModalBody\n descId={descId}\n showSkeleton={showSkeleton}\n endsPanel={!hasMobileActions}\n dataTestId={header.dataTestId}\n >\n {content}\n </ModalBody>\n {hasMobileActions && (\n <ModalFooter dataTestId={header.dataTestId}>{modalActions}</ModalFooter>\n )}\n </>\n);\n"],"mappings":"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","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-JE6FNSQV.js";
9
+ } from "./chunk-W4O3BTD5.js";
10
10
  import {
11
11
  Text
12
12
  } from "./chunk-AJBRO76D.js";
@@ -80,4 +80,4 @@ function DataViewsEmpty({
80
80
  export {
81
81
  DataViewsEmpty
82
82
  };
83
- //# sourceMappingURL=chunk-6NWFX2XJ.js.map
83
+ //# sourceMappingURL=chunk-GOIFPE2E.js.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-NHHWNA5W.js";
4
4
  import {
5
5
  SelectAllStrip
6
- } from "./chunk-CFAIMOFE.js";
6
+ } from "./chunk-265RW6VX.js";
7
7
  import {
8
8
  toGridExpansion
9
9
  } from "./chunk-O5UGAL2V.js";
10
10
  import {
11
11
  cardGridTracks
12
- } from "./chunk-NQZNV3VR.js";
12
+ } from "./chunk-LCVBED7G.js";
13
13
  import {
14
14
  ListCardGroup
15
15
  } from "./chunk-6FAYTKXW.js";
@@ -274,4 +274,4 @@ function GridMain(props) {
274
274
  export {
275
275
  GridMain
276
276
  };
277
- //# sourceMappingURL=chunk-PKGBW7KS.js.map
277
+ //# sourceMappingURL=chunk-HM6T6EQR.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  Button
6
- } from "./chunk-JE6FNSQV.js";
6
+ } from "./chunk-W4O3BTD5.js";
7
7
  import {
8
8
  fieldHeight
9
9
  } from "./chunk-RGVNXES5.js";
@@ -34,4 +34,4 @@ function SubmitButton({
34
34
  export {
35
35
  SubmitButton
36
36
  };
37
- //# sourceMappingURL=chunk-EXAXD7FA.js.map
37
+ //# sourceMappingURL=chunk-JQBODXRV.js.map