pne-ui 4.0.8 → 4.0.11

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 (573) hide show
  1. package/cjs/common/paynet/type.d.ts +2 -9
  2. package/cjs/common/paynet/type.js +3 -3
  3. package/cjs/common/paynet/type.js.map +1 -1
  4. package/cjs/common/pne/type.js +2 -2
  5. package/cjs/common/pne/type.js.map +1 -1
  6. package/cjs/component/CustomIconWrapper.d.ts +2 -1
  7. package/cjs/component/CustomIconWrapper.js.map +1 -1
  8. package/cjs/component/PneButton.d.ts +1 -1
  9. package/cjs/component/cloudscape/CloudscapeBoardStyles.js +1 -2
  10. package/cjs/component/cloudscape/CloudscapeBoardStyles.js.map +1 -1
  11. package/cjs/component/cloudscape/CloudscapeThemeProvider.js +1 -2
  12. package/cjs/component/cloudscape/CloudscapeThemeProvider.js.map +1 -1
  13. package/cjs/component/cloudscape/boardI18n.js +2 -2
  14. package/cjs/component/cloudscape/boardI18n.js.map +1 -1
  15. package/cjs/component/fab/PneFloatingActionButtons.js +1 -2
  16. package/cjs/component/fab/PneFloatingActionButtons.js.map +1 -1
  17. package/cjs/component/non-abstract-entity-selector/styled.d.ts +8 -13
  18. package/cjs/component/overlay/OverlayHost.js +1 -2
  19. package/cjs/component/overlay/OverlayHost.js.map +1 -1
  20. package/cjs/component/overlay/PermanentOverlay.js +1 -2
  21. package/cjs/component/overlay/PermanentOverlay.js.map +1 -1
  22. package/cjs/component/overlay/PermanentOverlayContext.d.ts +0 -1
  23. package/cjs/component/overlay/overlayStore.d.ts +4 -4
  24. package/cjs/component/responsive/useBreakpoint.js +1 -2
  25. package/cjs/component/responsive/useBreakpoint.js.map +1 -1
  26. package/cjs/component/search-ui/SearchUI.js +3 -2
  27. package/cjs/component/search-ui/SearchUI.js.map +1 -1
  28. package/cjs/component/search-ui/filters/component/criterion/DateRangeCriterion.js +2 -2
  29. package/cjs/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -1
  30. package/cjs/component/search-ui/filters/state/store.d.ts +111 -215
  31. package/cjs/component/search-ui/filters/styled.d.ts +0 -1
  32. package/cjs/component/search-ui/multiget_select/state/store.d.ts +10 -35
  33. package/cjs/component/search-ui/state/store.d.ts +7 -7
  34. package/cjs/component/table/AbstractTable.js.map +1 -1
  35. package/cjs/component/table/PneTablePagination.d.ts +1 -2
  36. package/cjs/component/table/PneTablePaginationActions.d.ts +1 -1
  37. package/cjs/component/table/PneTablePaginationActions.js +3 -2
  38. package/cjs/component/table/PneTablePaginationActions.js.map +1 -1
  39. package/cjs/component/table/PneTableRow.d.ts +2 -5
  40. package/cjs/component/table/state/store.d.ts +1 -1
  41. package/cjs/component/table/useTable.js +3 -2
  42. package/cjs/component/table/useTable.js.map +1 -1
  43. package/cjs/component/widget-board/types.d.ts +0 -1
  44. package/cjs/component/widget-board/useWidgetBoardAutosize.d.ts +2 -2
  45. package/cjs/component/widget-board/useWidgetBoardLayoutSource.d.ts +4 -5
  46. package/cjs/component/widget-board/widgetBoardLayoutUtils.d.ts +1 -1
  47. package/cjs/createTheme.d.ts +1 -1
  48. package/cjs/exports/buttons.js +2 -4
  49. package/cjs/exports/buttons.js.map +1 -1
  50. package/cjs/exports/inputs.js +6 -8
  51. package/cjs/exports/inputs.js.map +1 -1
  52. package/cjs/exports/modals.js +3 -5
  53. package/cjs/exports/modals.js.map +1 -1
  54. package/cjs/exports/table.js +11 -13
  55. package/cjs/exports/table.js.map +1 -1
  56. package/cjs/exports/utils.js +2 -4
  57. package/cjs/exports/utils.js.map +1 -1
  58. package/esm/common/paynet/type.d.ts +2 -9
  59. package/esm/component/CustomIconWrapper.d.ts +2 -1
  60. package/esm/component/CustomIconWrapper.js.map +1 -1
  61. package/esm/component/PneButton.d.ts +1 -1
  62. package/esm/component/non-abstract-entity-selector/styled.d.ts +8 -13
  63. package/esm/component/overlay/PermanentOverlayContext.d.ts +0 -1
  64. package/esm/component/overlay/overlayStore.d.ts +4 -4
  65. package/esm/component/search-ui/SearchUI.js +3 -2
  66. package/esm/component/search-ui/SearchUI.js.map +1 -1
  67. package/esm/component/search-ui/filters/component/criterion/DateRangeCriterion.js +2 -2
  68. package/esm/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -1
  69. package/esm/component/search-ui/filters/state/store.d.ts +111 -215
  70. package/esm/component/search-ui/filters/styled.d.ts +0 -1
  71. package/esm/component/search-ui/multiget_select/state/store.d.ts +10 -35
  72. package/esm/component/search-ui/state/store.d.ts +7 -7
  73. package/esm/component/table/AbstractTable.js.map +1 -1
  74. package/esm/component/table/PneTablePagination.d.ts +1 -2
  75. package/esm/component/table/PneTablePaginationActions.d.ts +1 -1
  76. package/esm/component/table/PneTablePaginationActions.js +3 -2
  77. package/esm/component/table/PneTablePaginationActions.js.map +1 -1
  78. package/esm/component/table/PneTableRow.d.ts +2 -5
  79. package/esm/component/table/state/store.d.ts +1 -1
  80. package/esm/component/table/useTable.js +3 -2
  81. package/esm/component/table/useTable.js.map +1 -1
  82. package/esm/component/widget-board/types.d.ts +0 -1
  83. package/esm/component/widget-board/useWidgetBoardAutosize.d.ts +2 -2
  84. package/esm/component/widget-board/useWidgetBoardLayoutSource.d.ts +4 -5
  85. package/esm/component/widget-board/widgetBoardLayoutUtils.d.ts +1 -1
  86. package/esm/createTheme.d.ts +1 -1
  87. package/esm/src/common/index.d.ts +2 -0
  88. package/esm/src/common/index.js +3 -0
  89. package/esm/src/common/index.js.map +1 -0
  90. package/esm/src/common/paynet/dropdown.d.ts +7 -0
  91. package/esm/src/common/paynet/dropdown.js +56 -0
  92. package/esm/src/common/paynet/dropdown.js.map +1 -0
  93. package/esm/src/common/paynet/index.d.ts +3 -0
  94. package/esm/src/common/paynet/index.js +4 -0
  95. package/esm/src/common/paynet/index.js.map +1 -0
  96. package/esm/src/common/paynet/schema.d.ts +58 -0
  97. package/esm/src/common/paynet/schema.js +21 -0
  98. package/esm/src/common/paynet/schema.js.map +1 -0
  99. package/esm/src/common/paynet/skin.d.ts +36 -0
  100. package/esm/src/common/paynet/skin.js +2 -0
  101. package/esm/src/common/paynet/skin.js.map +1 -0
  102. package/esm/src/common/paynet/type.d.ts +36 -0
  103. package/esm/src/common/paynet/type.js +45 -0
  104. package/esm/src/common/paynet/type.js.map +1 -0
  105. package/esm/src/common/pne/index.d.ts +1 -0
  106. package/esm/src/common/pne/index.js +2 -0
  107. package/esm/src/common/pne/index.js.map +1 -0
  108. package/esm/src/common/pne/type.d.ts +19 -0
  109. package/esm/src/common/pne/type.js +18 -0
  110. package/esm/src/common/pne/type.js.map +1 -0
  111. package/esm/src/common/responsive/breakpoints.d.ts +3 -0
  112. package/esm/src/common/responsive/breakpoints.js +17 -0
  113. package/esm/src/common/responsive/breakpoints.js.map +1 -0
  114. package/esm/src/component/AutoTestAttribute.d.ts +8 -0
  115. package/esm/src/component/AutoTestAttribute.js +32 -0
  116. package/esm/src/component/AutoTestAttribute.js.map +1 -0
  117. package/esm/src/component/CustomIconWrapper.d.ts +9 -0
  118. package/esm/src/component/CustomIconWrapper.js +12 -0
  119. package/esm/src/component/CustomIconWrapper.js.map +1 -0
  120. package/esm/src/component/PneButton.d.ts +9 -0
  121. package/esm/src/component/PneButton.js +47 -0
  122. package/esm/src/component/PneButton.js.map +1 -0
  123. package/esm/src/component/PneButtonGroup.d.ts +3 -0
  124. package/esm/src/component/PneButtonGroup.js +15 -0
  125. package/esm/src/component/PneButtonGroup.js.map +1 -0
  126. package/esm/src/component/PneCheckbox.d.ts +3 -0
  127. package/esm/src/component/PneCheckbox.js +10 -0
  128. package/esm/src/component/PneCheckbox.js.map +1 -0
  129. package/esm/src/component/PneHighContrastLabeledCheckbox.d.ts +3 -0
  130. package/esm/src/component/PneHighContrastLabeledCheckbox.js +199 -0
  131. package/esm/src/component/PneHighContrastLabeledCheckbox.js.map +1 -0
  132. package/esm/src/component/PneLabeledCheckbox.d.ts +14 -0
  133. package/esm/src/component/PneLabeledCheckbox.js +12 -0
  134. package/esm/src/component/PneLabeledCheckbox.js.map +1 -0
  135. package/esm/src/component/PneModal.d.ts +12 -0
  136. package/esm/src/component/PneModal.js +63 -0
  137. package/esm/src/component/PneModal.js.map +1 -0
  138. package/esm/src/component/PneSwitch.d.ts +4 -0
  139. package/esm/src/component/PneSwitch.js +11 -0
  140. package/esm/src/component/PneSwitch.js.map +1 -0
  141. package/esm/src/component/PneTextField.d.ts +3 -0
  142. package/esm/src/component/PneTextField.js +11 -0
  143. package/esm/src/component/PneTextField.js.map +1 -0
  144. package/esm/src/component/cloudscape/CloudscapeBoardStyles.d.ts +10 -0
  145. package/esm/src/component/cloudscape/CloudscapeBoardStyles.js +88 -0
  146. package/esm/src/component/cloudscape/CloudscapeBoardStyles.js.map +1 -0
  147. package/esm/src/component/cloudscape/CloudscapeThemeProvider.d.ts +8 -0
  148. package/esm/src/component/cloudscape/CloudscapeThemeProvider.js +15 -0
  149. package/esm/src/component/cloudscape/CloudscapeThemeProvider.js.map +1 -0
  150. package/esm/src/component/cloudscape/boardI18n.d.ts +10 -0
  151. package/esm/src/component/cloudscape/boardI18n.js +47 -0
  152. package/esm/src/component/cloudscape/boardI18n.js.map +1 -0
  153. package/esm/src/component/cloudscape/cloudscapeTheme.d.ts +6 -0
  154. package/esm/src/component/cloudscape/cloudscapeTheme.js +11 -0
  155. package/esm/src/component/cloudscape/cloudscapeTheme.js.map +1 -0
  156. package/esm/src/component/confirm/PneConfirmProvider.d.ts +17 -0
  157. package/esm/src/component/confirm/PneConfirmProvider.js +75 -0
  158. package/esm/src/component/confirm/PneConfirmProvider.js.map +1 -0
  159. package/esm/src/component/confirm/index.d.ts +1 -0
  160. package/esm/src/component/confirm/index.js +2 -0
  161. package/esm/src/component/confirm/index.js.map +1 -0
  162. package/esm/src/component/dropdown/PneAsyncAutocomplete.d.ts +15 -0
  163. package/esm/src/component/dropdown/PneAsyncAutocomplete.js +65 -0
  164. package/esm/src/component/dropdown/PneAsyncAutocomplete.js.map +1 -0
  165. package/esm/src/component/dropdown/PneAutocomplete.d.ts +13 -0
  166. package/esm/src/component/dropdown/PneAutocomplete.js +16 -0
  167. package/esm/src/component/dropdown/PneAutocomplete.js.map +1 -0
  168. package/esm/src/component/dropdown/PneSelect.d.ts +13 -0
  169. package/esm/src/component/dropdown/PneSelect.js +44 -0
  170. package/esm/src/component/dropdown/PneSelect.js.map +1 -0
  171. package/esm/src/component/fab/PneFloatingActionButtons.d.ts +42 -0
  172. package/esm/src/component/fab/PneFloatingActionButtons.js +119 -0
  173. package/esm/src/component/fab/PneFloatingActionButtons.js.map +1 -0
  174. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelectModal.d.ts +19 -0
  175. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelectModal.js +64 -0
  176. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelectModal.js.map +1 -0
  177. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelector.d.ts +27 -0
  178. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelector.js +382 -0
  179. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelector.js.map +1 -0
  180. package/esm/src/component/non-abstract-entity-selector/ItemEntitySelector.d.ts +11 -0
  181. package/esm/src/component/non-abstract-entity-selector/ItemEntitySelector.js +8 -0
  182. package/esm/src/component/non-abstract-entity-selector/ItemEntitySelector.js.map +1 -0
  183. package/esm/src/component/non-abstract-entity-selector/styled.d.ts +30 -0
  184. package/esm/src/component/non-abstract-entity-selector/styled.js +145 -0
  185. package/esm/src/component/non-abstract-entity-selector/styled.js.map +1 -0
  186. package/esm/src/component/overlay/OverlayHost.d.ts +14 -0
  187. package/esm/src/component/overlay/OverlayHost.js +212 -0
  188. package/esm/src/component/overlay/OverlayHost.js.map +1 -0
  189. package/esm/src/component/overlay/PermanentOverlay.d.ts +14 -0
  190. package/esm/src/component/overlay/PermanentOverlay.js +29 -0
  191. package/esm/src/component/overlay/PermanentOverlay.js.map +1 -0
  192. package/esm/src/component/overlay/PermanentOverlayContext.d.ts +6 -0
  193. package/esm/src/component/overlay/PermanentOverlayContext.js +3 -0
  194. package/esm/src/component/overlay/PermanentOverlayContext.js.map +1 -0
  195. package/esm/src/component/overlay/overlayRuntime.d.ts +3 -0
  196. package/esm/src/component/overlay/overlayRuntime.js +39 -0
  197. package/esm/src/component/overlay/overlayRuntime.js.map +1 -0
  198. package/esm/src/component/overlay/overlayStore.d.ts +16 -0
  199. package/esm/src/component/overlay/overlayStore.js +70 -0
  200. package/esm/src/component/overlay/overlayStore.js.map +1 -0
  201. package/esm/src/component/overlay/types.d.ts +40 -0
  202. package/esm/src/component/overlay/types.js +2 -0
  203. package/esm/src/component/overlay/types.js.map +1 -0
  204. package/esm/src/component/responsive/useBreakpoint.d.ts +8 -0
  205. package/esm/src/component/responsive/useBreakpoint.js +17 -0
  206. package/esm/src/component/responsive/useBreakpoint.js.map +1 -0
  207. package/esm/src/component/search-ui/SearchUI.d.ts +89 -0
  208. package/esm/src/component/search-ui/SearchUI.js +103 -0
  209. package/esm/src/component/search-ui/SearchUI.js.map +1 -0
  210. package/esm/src/component/search-ui/SearchUIProvider.d.ts +114 -0
  211. package/esm/src/component/search-ui/SearchUIProvider.js +85 -0
  212. package/esm/src/component/search-ui/SearchUIProvider.js.map +1 -0
  213. package/esm/src/component/search-ui/filters/CriterionContainer.d.ts +7 -0
  214. package/esm/src/component/search-ui/filters/CriterionContainer.js +148 -0
  215. package/esm/src/component/search-ui/filters/CriterionContainer.js.map +1 -0
  216. package/esm/src/component/search-ui/filters/SearchUIFilters.d.ts +102 -0
  217. package/esm/src/component/search-ui/filters/SearchUIFilters.js +226 -0
  218. package/esm/src/component/search-ui/filters/SearchUIFilters.js.map +1 -0
  219. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderClearButton.d.ts +6 -0
  220. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderClearButton.js +15 -0
  221. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderClearButton.js.map +1 -0
  222. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderRemoveButton.d.ts +6 -0
  223. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderRemoveButton.js +11 -0
  224. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderRemoveButton.js.map +1 -0
  225. package/esm/src/component/search-ui/filters/component/criterion/CardTypesCriterion.d.ts +2 -0
  226. package/esm/src/component/search-ui/filters/component/criterion/CardTypesCriterion.js +20 -0
  227. package/esm/src/component/search-ui/filters/component/criterion/CardTypesCriterion.js.map +1 -0
  228. package/esm/src/component/search-ui/filters/component/criterion/CountriesCriterion.d.ts +2 -0
  229. package/esm/src/component/search-ui/filters/component/criterion/CountriesCriterion.js +19 -0
  230. package/esm/src/component/search-ui/filters/component/criterion/CountriesCriterion.js.map +1 -0
  231. package/esm/src/component/search-ui/filters/component/criterion/CriterionLeft.d.ts +7 -0
  232. package/esm/src/component/search-ui/filters/component/criterion/CriterionLeft.js +17 -0
  233. package/esm/src/component/search-ui/filters/component/criterion/CriterionLeft.js.map +1 -0
  234. package/esm/src/component/search-ui/filters/component/criterion/CriterionRight.d.ts +7 -0
  235. package/esm/src/component/search-ui/filters/component/criterion/CriterionRight.js +29 -0
  236. package/esm/src/component/search-ui/filters/component/criterion/CriterionRight.js.map +1 -0
  237. package/esm/src/component/search-ui/filters/component/criterion/CurrenciesCriterion.d.ts +2 -0
  238. package/esm/src/component/search-ui/filters/component/criterion/CurrenciesCriterion.js +20 -0
  239. package/esm/src/component/search-ui/filters/component/criterion/CurrenciesCriterion.js.map +1 -0
  240. package/esm/src/component/search-ui/filters/component/criterion/DateRangeCriterion.d.ts +6 -0
  241. package/esm/src/component/search-ui/filters/component/criterion/DateRangeCriterion.js +157 -0
  242. package/esm/src/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -0
  243. package/esm/src/component/search-ui/filters/component/criterion/ErrorCodeCriterion.d.ts +3 -0
  244. package/esm/src/component/search-ui/filters/component/criterion/ErrorCodeCriterion.js +40 -0
  245. package/esm/src/component/search-ui/filters/component/criterion/ErrorCodeCriterion.js.map +1 -0
  246. package/esm/src/component/search-ui/filters/component/criterion/ExactSearchCriterion.d.ts +2 -0
  247. package/esm/src/component/search-ui/filters/component/criterion/ExactSearchCriterion.js +37 -0
  248. package/esm/src/component/search-ui/filters/component/criterion/ExactSearchCriterion.js.map +1 -0
  249. package/esm/src/component/search-ui/filters/component/criterion/GroupingCriterion.d.ts +2 -0
  250. package/esm/src/component/search-ui/filters/component/criterion/GroupingCriterion.js +45 -0
  251. package/esm/src/component/search-ui/filters/component/criterion/GroupingCriterion.js.map +1 -0
  252. package/esm/src/component/search-ui/filters/component/criterion/MarkerStatusCriterion.d.ts +2 -0
  253. package/esm/src/component/search-ui/filters/component/criterion/MarkerStatusCriterion.js +19 -0
  254. package/esm/src/component/search-ui/filters/component/criterion/MarkerStatusCriterion.js.map +1 -0
  255. package/esm/src/component/search-ui/filters/component/criterion/MarkerTypesCriterion.d.ts +2 -0
  256. package/esm/src/component/search-ui/filters/component/criterion/MarkerTypesCriterion.js +20 -0
  257. package/esm/src/component/search-ui/filters/component/criterion/MarkerTypesCriterion.js.map +1 -0
  258. package/esm/src/component/search-ui/filters/component/criterion/MfoFonfigurationTypesCriterion.d.ts +2 -0
  259. package/esm/src/component/search-ui/filters/component/criterion/MfoFonfigurationTypesCriterion.js +20 -0
  260. package/esm/src/component/search-ui/filters/component/criterion/MfoFonfigurationTypesCriterion.js.map +1 -0
  261. package/esm/src/component/search-ui/filters/component/criterion/MultigetCriterionPanel.d.ts +8 -0
  262. package/esm/src/component/search-ui/filters/component/criterion/MultigetCriterionPanel.js +95 -0
  263. package/esm/src/component/search-ui/filters/component/criterion/MultigetCriterionPanel.js.map +1 -0
  264. package/esm/src/component/search-ui/filters/component/criterion/ProcessorLogEntryTypesCriterion.d.ts +2 -0
  265. package/esm/src/component/search-ui/filters/component/criterion/ProcessorLogEntryTypesCriterion.js +20 -0
  266. package/esm/src/component/search-ui/filters/component/criterion/ProcessorLogEntryTypesCriterion.js.map +1 -0
  267. package/esm/src/component/search-ui/filters/component/criterion/ProjectCurrencyCriterion.d.ts +2 -0
  268. package/esm/src/component/search-ui/filters/component/criterion/ProjectCurrencyCriterion.js +62 -0
  269. package/esm/src/component/search-ui/filters/component/criterion/ProjectCurrencyCriterion.js.map +1 -0
  270. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceStatusesCriterion.d.ts +2 -0
  271. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceStatusesCriterion.js +20 -0
  272. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceStatusesCriterion.js.map +1 -0
  273. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceTypesCriterion.d.ts +2 -0
  274. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceTypesCriterion.js +20 -0
  275. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceTypesCriterion.js.map +1 -0
  276. package/esm/src/component/search-ui/filters/component/criterion/StatusCriterion.d.ts +2 -0
  277. package/esm/src/component/search-ui/filters/component/criterion/StatusCriterion.js +19 -0
  278. package/esm/src/component/search-ui/filters/component/criterion/StatusCriterion.js.map +1 -0
  279. package/esm/src/component/search-ui/filters/component/criterion/ThreeDCriterion.d.ts +2 -0
  280. package/esm/src/component/search-ui/filters/component/criterion/ThreeDCriterion.js +24 -0
  281. package/esm/src/component/search-ui/filters/component/criterion/ThreeDCriterion.js.map +1 -0
  282. package/esm/src/component/search-ui/filters/component/criterion/TransactionSessionStatusCriterion.d.ts +3 -0
  283. package/esm/src/component/search-ui/filters/component/criterion/TransactionSessionStatusCriterion.js +82 -0
  284. package/esm/src/component/search-ui/filters/component/criterion/TransactionSessionStatusCriterion.js.map +1 -0
  285. package/esm/src/component/search-ui/filters/component/criterion/TransactionStatusesCriterion.d.ts +3 -0
  286. package/esm/src/component/search-ui/filters/component/criterion/TransactionStatusesCriterion.js +21 -0
  287. package/esm/src/component/search-ui/filters/component/criterion/TransactionStatusesCriterion.js.map +1 -0
  288. package/esm/src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.d.ts +2 -0
  289. package/esm/src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js +20 -0
  290. package/esm/src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js.map +1 -0
  291. package/esm/src/component/search-ui/filters/component/criterion/orders-search/AmountMaskInput.d.ts +13 -0
  292. package/esm/src/component/search-ui/filters/component/criterion/orders-search/AmountMaskInput.js +16 -0
  293. package/esm/src/component/search-ui/filters/component/criterion/orders-search/AmountMaskInput.js.map +1 -0
  294. package/esm/src/component/search-ui/filters/component/criterion/orders-search/Card6And4MaskInput.d.ts +13 -0
  295. package/esm/src/component/search-ui/filters/component/criterion/orders-search/Card6And4MaskInput.js +9 -0
  296. package/esm/src/component/search-ui/filters/component/criterion/orders-search/Card6And4MaskInput.js.map +1 -0
  297. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCountrySelect.d.ts +2 -0
  298. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCountrySelect.js +33 -0
  299. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCountrySelect.js.map +1 -0
  300. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCriterion.d.ts +2 -0
  301. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCriterion.js +19 -0
  302. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCriterion.js.map +1 -0
  303. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchInput.d.ts +2 -0
  304. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchInput.js +84 -0
  305. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchInput.js.map +1 -0
  306. package/esm/src/component/search-ui/filters/component/criterion/style.d.ts +2 -0
  307. package/esm/src/component/search-ui/filters/component/criterion/style.js +12 -0
  308. package/esm/src/component/search-ui/filters/component/criterion/style.js.map +1 -0
  309. package/esm/src/component/search-ui/filters/component/select/SearchUIAbstractEntitySelect.d.ts +9 -0
  310. package/esm/src/component/search-ui/filters/component/select/SearchUIAbstractEntitySelect.js +82 -0
  311. package/esm/src/component/search-ui/filters/component/select/SearchUIAbstractEntitySelect.js.map +1 -0
  312. package/esm/src/component/search-ui/filters/component/select/SearchUIAddFilter.d.ts +8 -0
  313. package/esm/src/component/search-ui/filters/component/select/SearchUIAddFilter.js +47 -0
  314. package/esm/src/component/search-ui/filters/component/select/SearchUIAddFilter.js.map +1 -0
  315. package/esm/src/component/search-ui/filters/component/select/SearchUICollapsableGroupSelect.d.ts +8 -0
  316. package/esm/src/component/search-ui/filters/component/select/SearchUICollapsableGroupSelect.js +169 -0
  317. package/esm/src/component/search-ui/filters/component/select/SearchUICollapsableGroupSelect.js.map +1 -0
  318. package/esm/src/component/search-ui/filters/component/select/SearchUICountriesSelect.d.ts +10 -0
  319. package/esm/src/component/search-ui/filters/component/select/SearchUICountriesSelect.js +71 -0
  320. package/esm/src/component/search-ui/filters/component/select/SearchUICountriesSelect.js.map +1 -0
  321. package/esm/src/component/search-ui/filters/component/select/SearchUIDateRangeSpecTypeSelect.d.ts +3 -0
  322. package/esm/src/component/search-ui/filters/component/select/SearchUIDateRangeSpecTypeSelect.js +53 -0
  323. package/esm/src/component/search-ui/filters/component/select/SearchUIDateRangeSpecTypeSelect.js.map +1 -0
  324. package/esm/src/component/search-ui/filters/component/select/SearchUIExactSearchLabelSelect.d.ts +9 -0
  325. package/esm/src/component/search-ui/filters/component/select/SearchUIExactSearchLabelSelect.js +16 -0
  326. package/esm/src/component/search-ui/filters/component/select/SearchUIExactSearchLabelSelect.js.map +1 -0
  327. package/esm/src/component/search-ui/filters/component/select/SearchUIGroupingDateTypeSelect.d.ts +3 -0
  328. package/esm/src/component/search-ui/filters/component/select/SearchUIGroupingDateTypeSelect.js +19 -0
  329. package/esm/src/component/search-ui/filters/component/select/SearchUIGroupingDateTypeSelect.js.map +1 -0
  330. package/esm/src/component/search-ui/filters/component/select/SearchUIOrderDateTypeSelect.d.ts +2 -0
  331. package/esm/src/component/search-ui/filters/component/select/SearchUIOrderDateTypeSelect.js +28 -0
  332. package/esm/src/component/search-ui/filters/component/select/SearchUIOrderDateTypeSelect.js.map +1 -0
  333. package/esm/src/component/search-ui/filters/component/select/SearchUIOrdersSearchLabelSelect.d.ts +2 -0
  334. package/esm/src/component/search-ui/filters/component/select/SearchUIOrdersSearchLabelSelect.js +15 -0
  335. package/esm/src/component/search-ui/filters/component/select/SearchUIOrdersSearchLabelSelect.js.map +1 -0
  336. package/esm/src/component/search-ui/filters/component/select/SearchUIProcessorLogEntryTypeSelect.d.ts +9 -0
  337. package/esm/src/component/search-ui/filters/component/select/SearchUIProcessorLogEntryTypeSelect.js +20 -0
  338. package/esm/src/component/search-ui/filters/component/select/SearchUIProcessorLogEntryTypeSelect.js.map +1 -0
  339. package/esm/src/component/search-ui/filters/component/select/style.d.ts +2 -0
  340. package/esm/src/component/search-ui/filters/component/select/style.js +23 -0
  341. package/esm/src/component/search-ui/filters/component/select/style.js.map +1 -0
  342. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatePanel.d.ts +6 -0
  343. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatePanel.js +77 -0
  344. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatePanel.js.map +1 -0
  345. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatesMenu.d.ts +3 -0
  346. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatesMenu.js +100 -0
  347. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatesMenu.js.map +1 -0
  348. package/esm/src/component/search-ui/filters/criterionAvailability.d.ts +7 -0
  349. package/esm/src/component/search-ui/filters/criterionAvailability.js +8 -0
  350. package/esm/src/component/search-ui/filters/criterionAvailability.js.map +1 -0
  351. package/esm/src/component/search-ui/filters/state/actions.d.ts +10 -0
  352. package/esm/src/component/search-ui/filters/state/actions.js +1047 -0
  353. package/esm/src/component/search-ui/filters/state/actions.js.map +1 -0
  354. package/esm/src/component/search-ui/filters/state/initial.d.ts +13 -0
  355. package/esm/src/component/search-ui/filters/state/initial.js +114 -0
  356. package/esm/src/component/search-ui/filters/state/initial.js.map +1 -0
  357. package/esm/src/component/search-ui/filters/state/store.d.ts +1067 -0
  358. package/esm/src/component/search-ui/filters/state/store.js +11 -0
  359. package/esm/src/component/search-ui/filters/state/store.js.map +1 -0
  360. package/esm/src/component/search-ui/filters/state/type.d.ts +84 -0
  361. package/esm/src/component/search-ui/filters/state/type.js +2 -0
  362. package/esm/src/component/search-ui/filters/state/type.js.map +1 -0
  363. package/esm/src/component/search-ui/filters/state/undo.d.ts +2 -0
  364. package/esm/src/component/search-ui/filters/state/undo.js +32 -0
  365. package/esm/src/component/search-ui/filters/state/undo.js.map +1 -0
  366. package/esm/src/component/search-ui/filters/styled.d.ts +6 -0
  367. package/esm/src/component/search-ui/filters/styled.js +77 -0
  368. package/esm/src/component/search-ui/filters/styled.js.map +1 -0
  369. package/esm/src/component/search-ui/filters/types.d.ts +231 -0
  370. package/esm/src/component/search-ui/filters/types.js +202 -0
  371. package/esm/src/component/search-ui/filters/types.js.map +1 -0
  372. package/esm/src/component/search-ui/multiget_select/MultigetSelect.d.ts +11 -0
  373. package/esm/src/component/search-ui/multiget_select/MultigetSelect.js +212 -0
  374. package/esm/src/component/search-ui/multiget_select/MultigetSelect.js.map +1 -0
  375. package/esm/src/component/search-ui/multiget_select/MultigetSelectTable.d.ts +2 -0
  376. package/esm/src/component/search-ui/multiget_select/MultigetSelectTable.js +70 -0
  377. package/esm/src/component/search-ui/multiget_select/MultigetSelectTable.js.map +1 -0
  378. package/esm/src/component/search-ui/multiget_select/state/IsolatedStoreProvider.d.ts +6 -0
  379. package/esm/src/component/search-ui/multiget_select/state/IsolatedStoreProvider.js +7 -0
  380. package/esm/src/component/search-ui/multiget_select/state/IsolatedStoreProvider.js.map +1 -0
  381. package/esm/src/component/search-ui/multiget_select/state/actions.d.ts +3 -0
  382. package/esm/src/component/search-ui/multiget_select/state/actions.js +49 -0
  383. package/esm/src/component/search-ui/multiget_select/state/actions.js.map +1 -0
  384. package/esm/src/component/search-ui/multiget_select/state/initial.d.ts +2 -0
  385. package/esm/src/component/search-ui/multiget_select/state/initial.js +13 -0
  386. package/esm/src/component/search-ui/multiget_select/state/initial.js.map +1 -0
  387. package/esm/src/component/search-ui/multiget_select/state/store.d.ts +112 -0
  388. package/esm/src/component/search-ui/multiget_select/state/store.js +20 -0
  389. package/esm/src/component/search-ui/multiget_select/state/store.js.map +1 -0
  390. package/esm/src/component/search-ui/multiget_select/state/type.d.ts +26 -0
  391. package/esm/src/component/search-ui/multiget_select/state/type.js +2 -0
  392. package/esm/src/component/search-ui/multiget_select/state/type.js.map +1 -0
  393. package/esm/src/component/search-ui/state/actions.d.ts +3 -0
  394. package/esm/src/component/search-ui/state/actions.js +8 -0
  395. package/esm/src/component/search-ui/state/actions.js.map +1 -0
  396. package/esm/src/component/search-ui/state/initial.d.ts +2 -0
  397. package/esm/src/component/search-ui/state/initial.js +32 -0
  398. package/esm/src/component/search-ui/state/initial.js.map +1 -0
  399. package/esm/src/component/search-ui/state/store.d.ts +83 -0
  400. package/esm/src/component/search-ui/state/store.js +9 -0
  401. package/esm/src/component/search-ui/state/store.js.map +1 -0
  402. package/esm/src/component/search-ui/state/type.d.ts +8 -0
  403. package/esm/src/component/search-ui/state/type.js +2 -0
  404. package/esm/src/component/search-ui/state/type.js.map +1 -0
  405. package/esm/src/component/table/AbstractHeaderTableCell.d.ts +4 -0
  406. package/esm/src/component/table/AbstractHeaderTableCell.js +20 -0
  407. package/esm/src/component/table/AbstractHeaderTableCell.js.map +1 -0
  408. package/esm/src/component/table/AbstractTable.d.ts +45 -0
  409. package/esm/src/component/table/AbstractTable.js +112 -0
  410. package/esm/src/component/table/AbstractTable.js.map +1 -0
  411. package/esm/src/component/table/AbstractTableCell.d.ts +4 -0
  412. package/esm/src/component/table/AbstractTableCell.js +7 -0
  413. package/esm/src/component/table/AbstractTableCell.js.map +1 -0
  414. package/esm/src/component/table/PneFirstPageIcon.d.ts +6 -0
  415. package/esm/src/component/table/PneFirstPageIcon.js +10 -0
  416. package/esm/src/component/table/PneFirstPageIcon.js.map +1 -0
  417. package/esm/src/component/table/PneHeaderTableCell.d.ts +4 -0
  418. package/esm/src/component/table/PneHeaderTableCell.js +17 -0
  419. package/esm/src/component/table/PneHeaderTableCell.js.map +1 -0
  420. package/esm/src/component/table/PneLastPageIcon.d.ts +6 -0
  421. package/esm/src/component/table/PneLastPageIcon.js +10 -0
  422. package/esm/src/component/table/PneLastPageIcon.js.map +1 -0
  423. package/esm/src/component/table/PneNextPageIcon.d.ts +6 -0
  424. package/esm/src/component/table/PneNextPageIcon.js +10 -0
  425. package/esm/src/component/table/PneNextPageIcon.js.map +1 -0
  426. package/esm/src/component/table/PnePreviousPageIcon.d.ts +6 -0
  427. package/esm/src/component/table/PnePreviousPageIcon.js +10 -0
  428. package/esm/src/component/table/PnePreviousPageIcon.js.map +1 -0
  429. package/esm/src/component/table/PneTable.d.ts +4 -0
  430. package/esm/src/component/table/PneTable.js +19 -0
  431. package/esm/src/component/table/PneTable.js.map +1 -0
  432. package/esm/src/component/table/PneTableCell.d.ts +6 -0
  433. package/esm/src/component/table/PneTableCell.js +20 -0
  434. package/esm/src/component/table/PneTableCell.js.map +1 -0
  435. package/esm/src/component/table/PneTableControlCell.d.ts +6 -0
  436. package/esm/src/component/table/PneTableControlCell.js +15 -0
  437. package/esm/src/component/table/PneTableControlCell.js.map +1 -0
  438. package/esm/src/component/table/PneTablePagination.d.ts +2 -0
  439. package/esm/src/component/table/PneTablePagination.js +28 -0
  440. package/esm/src/component/table/PneTablePagination.js.map +1 -0
  441. package/esm/src/component/table/PneTablePaginationActions.d.ts +12 -0
  442. package/esm/src/component/table/PneTablePaginationActions.js +119 -0
  443. package/esm/src/component/table/PneTablePaginationActions.js.map +1 -0
  444. package/esm/src/component/table/PneTableRow.d.ts +4 -0
  445. package/esm/src/component/table/PneTableRow.js +28 -0
  446. package/esm/src/component/table/PneTableRow.js.map +1 -0
  447. package/esm/src/component/table/PneTableSortLabel.d.ts +10 -0
  448. package/esm/src/component/table/PneTableSortLabel.js +35 -0
  449. package/esm/src/component/table/PneTableSortLabel.js.map +1 -0
  450. package/esm/src/component/table/state/actions.d.ts +3 -0
  451. package/esm/src/component/table/state/actions.js +8 -0
  452. package/esm/src/component/table/state/actions.js.map +1 -0
  453. package/esm/src/component/table/state/initial.d.ts +2 -0
  454. package/esm/src/component/table/state/initial.js +4 -0
  455. package/esm/src/component/table/state/initial.js.map +1 -0
  456. package/esm/src/component/table/state/store.d.ts +11 -0
  457. package/esm/src/component/table/state/store.js +9 -0
  458. package/esm/src/component/table/state/store.js.map +1 -0
  459. package/esm/src/component/table/state/type.d.ts +7 -0
  460. package/esm/src/component/table/state/type.js +2 -0
  461. package/esm/src/component/table/state/type.js.map +1 -0
  462. package/esm/src/component/table/type.d.ts +5 -0
  463. package/esm/src/component/table/type.js +2 -0
  464. package/esm/src/component/table/type.js.map +1 -0
  465. package/esm/src/component/table/useDelayedLoading.d.ts +9 -0
  466. package/esm/src/component/table/useDelayedLoading.js +48 -0
  467. package/esm/src/component/table/useDelayedLoading.js.map +1 -0
  468. package/esm/src/component/table/useTable.d.ts +41 -0
  469. package/esm/src/component/table/useTable.js +242 -0
  470. package/esm/src/component/table/useTable.js.map +1 -0
  471. package/esm/src/component/useModal.d.ts +8 -0
  472. package/esm/src/component/useModal.js +14 -0
  473. package/esm/src/component/useModal.js.map +1 -0
  474. package/esm/src/component/widget-board/WidgetBoard.d.ts +13 -0
  475. package/esm/src/component/widget-board/WidgetBoard.js +326 -0
  476. package/esm/src/component/widget-board/WidgetBoard.js.map +1 -0
  477. package/esm/src/component/widget-board/WidgetBoardFab.d.ts +6 -0
  478. package/esm/src/component/widget-board/WidgetBoardFab.js +23 -0
  479. package/esm/src/component/widget-board/WidgetBoardFab.js.map +1 -0
  480. package/esm/src/component/widget-board/WidgetBoardItem.d.ts +16 -0
  481. package/esm/src/component/widget-board/WidgetBoardItem.js +50 -0
  482. package/esm/src/component/widget-board/WidgetBoardItem.js.map +1 -0
  483. package/esm/src/component/widget-board/WidgetBoardScope.d.ts +7 -0
  484. package/esm/src/component/widget-board/WidgetBoardScope.js +17 -0
  485. package/esm/src/component/widget-board/WidgetBoardScope.js.map +1 -0
  486. package/esm/src/component/widget-board/WidgetBoardSkeleton.d.ts +2 -0
  487. package/esm/src/component/widget-board/WidgetBoardSkeleton.js +60 -0
  488. package/esm/src/component/widget-board/WidgetBoardSkeleton.js.map +1 -0
  489. package/esm/src/component/widget-board/WidgetBoardVisibilityModal.d.ts +10 -0
  490. package/esm/src/component/widget-board/WidgetBoardVisibilityModal.js +42 -0
  491. package/esm/src/component/widget-board/WidgetBoardVisibilityModal.js.map +1 -0
  492. package/esm/src/component/widget-board/WidgetLayoutsPanel.d.ts +21 -0
  493. package/esm/src/component/widget-board/WidgetLayoutsPanel.js +124 -0
  494. package/esm/src/component/widget-board/WidgetLayoutsPanel.js.map +1 -0
  495. package/esm/src/component/widget-board/index.d.ts +8 -0
  496. package/esm/src/component/widget-board/index.js +9 -0
  497. package/esm/src/component/widget-board/index.js.map +1 -0
  498. package/esm/src/component/widget-board/layoutPersistence.d.ts +2 -0
  499. package/esm/src/component/widget-board/layoutPersistence.js +60 -0
  500. package/esm/src/component/widget-board/layoutPersistence.js.map +1 -0
  501. package/esm/src/component/widget-board/types.d.ts +75 -0
  502. package/esm/src/component/widget-board/types.js +2 -0
  503. package/esm/src/component/widget-board/types.js.map +1 -0
  504. package/esm/src/component/widget-board/useWidgetBoardAutosize.d.ts +19 -0
  505. package/esm/src/component/widget-board/useWidgetBoardAutosize.js +180 -0
  506. package/esm/src/component/widget-board/useWidgetBoardAutosize.js.map +1 -0
  507. package/esm/src/component/widget-board/useWidgetBoardFabActions.d.ts +11 -0
  508. package/esm/src/component/widget-board/useWidgetBoardFabActions.js +99 -0
  509. package/esm/src/component/widget-board/useWidgetBoardFabActions.js.map +1 -0
  510. package/esm/src/component/widget-board/useWidgetBoardInteractionLock.d.ts +1 -0
  511. package/esm/src/component/widget-board/useWidgetBoardInteractionLock.js +25 -0
  512. package/esm/src/component/widget-board/useWidgetBoardInteractionLock.js.map +1 -0
  513. package/esm/src/component/widget-board/useWidgetBoardLayoutActions.d.ts +28 -0
  514. package/esm/src/component/widget-board/useWidgetBoardLayoutActions.js +140 -0
  515. package/esm/src/component/widget-board/useWidgetBoardLayoutActions.js.map +1 -0
  516. package/esm/src/component/widget-board/useWidgetBoardLayoutSource.d.ts +29 -0
  517. package/esm/src/component/widget-board/useWidgetBoardLayoutSource.js +68 -0
  518. package/esm/src/component/widget-board/useWidgetBoardLayoutSource.js.map +1 -0
  519. package/esm/src/component/widget-board/useWidgetBoardStateActions.d.ts +24 -0
  520. package/esm/src/component/widget-board/useWidgetBoardStateActions.js +245 -0
  521. package/esm/src/component/widget-board/useWidgetBoardStateActions.js.map +1 -0
  522. package/esm/src/component/widget-board/widgetBoardFabStore.d.ts +27 -0
  523. package/esm/src/component/widget-board/widgetBoardFabStore.js +12 -0
  524. package/esm/src/component/widget-board/widgetBoardFabStore.js.map +1 -0
  525. package/esm/src/component/widget-board/widgetBoardLayoutUtils.d.ts +21 -0
  526. package/esm/src/component/widget-board/widgetBoardLayoutUtils.js +113 -0
  527. package/esm/src/component/widget-board/widgetBoardLayoutUtils.js.map +1 -0
  528. package/esm/src/createTheme.d.ts +3 -0
  529. package/esm/src/createTheme.js +142 -0
  530. package/esm/src/createTheme.js.map +1 -0
  531. package/esm/src/exports/buttons.d.ts +2 -0
  532. package/esm/src/exports/buttons.js +3 -0
  533. package/esm/src/exports/buttons.js.map +1 -0
  534. package/esm/src/exports/cloudscape.d.ts +5 -0
  535. package/esm/src/exports/cloudscape.js +6 -0
  536. package/esm/src/exports/cloudscape.js.map +1 -0
  537. package/esm/src/exports/confirm.d.ts +1 -0
  538. package/esm/src/exports/confirm.js +2 -0
  539. package/esm/src/exports/confirm.js.map +1 -0
  540. package/esm/src/exports/entities.d.ts +2 -0
  541. package/esm/src/exports/entities.js +3 -0
  542. package/esm/src/exports/entities.js.map +1 -0
  543. package/esm/src/exports/fab.d.ts +1 -0
  544. package/esm/src/exports/fab.js +2 -0
  545. package/esm/src/exports/fab.js.map +1 -0
  546. package/esm/src/exports/inputs.d.ts +10 -0
  547. package/esm/src/exports/inputs.js +9 -0
  548. package/esm/src/exports/inputs.js.map +1 -0
  549. package/esm/src/exports/modals.d.ts +2 -0
  550. package/esm/src/exports/modals.js +3 -0
  551. package/esm/src/exports/modals.js.map +1 -0
  552. package/esm/src/exports/overlay.d.ts +4 -0
  553. package/esm/src/exports/overlay.js +5 -0
  554. package/esm/src/exports/overlay.js.map +1 -0
  555. package/esm/src/exports/search.d.ts +7 -0
  556. package/esm/src/exports/search.js +7 -0
  557. package/esm/src/exports/search.js.map +1 -0
  558. package/esm/src/exports/table.d.ts +13 -0
  559. package/esm/src/exports/table.js +11 -0
  560. package/esm/src/exports/table.js.map +1 -0
  561. package/esm/src/exports/theme.d.ts +2 -0
  562. package/esm/src/exports/theme.js +2 -0
  563. package/esm/src/exports/theme.js.map +1 -0
  564. package/esm/src/exports/utils.d.ts +4 -0
  565. package/esm/src/exports/utils.js +5 -0
  566. package/esm/src/exports/utils.js.map +1 -0
  567. package/esm/src/index.d.ts +62 -0
  568. package/esm/src/index.js +14 -0
  569. package/esm/src/index.js.map +1 -0
  570. package/esm/src/usePneTheme.d.ts +2 -0
  571. package/esm/src/usePneTheme.js +5 -0
  572. package/esm/src/usePneTheme.js.map +1 -0
  573. package/package.json +22 -19
@@ -0,0 +1,212 @@
1
+ import React, { useCallback, useMemo, useState } from 'react';
2
+ import { Alert, Snackbar } from '@mui/material';
3
+ import { useBreakpoint } from '../responsive/useBreakpoint';
4
+ import { useOverlayStore } from './overlayStore';
5
+ import { Box } from '@mui/material';
6
+ import { PermanentOverlayContext } from './PermanentOverlayContext';
7
+ import { registerOverlayHost } from './overlayRuntime';
8
+ const STACK_GAP = 12;
9
+ const STACK_OFFSET = 24;
10
+ const PERMANENT_OFFSET = 24;
11
+ const clearTimer = (timer) => {
12
+ if (timer) {
13
+ clearTimeout(timer);
14
+ }
15
+ };
16
+ const ManagedSnackbar = ({ anchor, onRemove, snack }) => {
17
+ const autoHideMs = typeof snack.autoHideMs === 'number' && snack.autoHideMs > 0 ? snack.autoHideMs : null;
18
+ const [remainingMs, setRemainingMs] = useState(autoHideMs);
19
+ const timeoutRef = React.useRef(null);
20
+ const intervalRef = React.useRef(null);
21
+ const startedAtRef = React.useRef(null);
22
+ const remainingRef = React.useRef(autoHideMs);
23
+ const remove = useCallback(() => {
24
+ if (snack.id) {
25
+ onRemove(snack.id);
26
+ }
27
+ }, [onRemove, snack.id]);
28
+ const stopTimer = useCallback(() => {
29
+ clearTimer(timeoutRef.current);
30
+ clearTimer(intervalRef.current);
31
+ timeoutRef.current = null;
32
+ intervalRef.current = null;
33
+ }, []);
34
+ const syncRemaining = useCallback(() => {
35
+ if (startedAtRef.current == null || remainingRef.current == null) {
36
+ return;
37
+ }
38
+ const elapsed = Date.now() - startedAtRef.current;
39
+ setRemainingMs(Math.max(remainingRef.current - elapsed, 0));
40
+ }, []);
41
+ const startTimer = useCallback((duration) => {
42
+ if (autoHideMs == null) {
43
+ return;
44
+ }
45
+ if (duration <= 0) {
46
+ stopTimer();
47
+ remove();
48
+ return;
49
+ }
50
+ stopTimer();
51
+ remainingRef.current = duration;
52
+ startedAtRef.current = Date.now();
53
+ setRemainingMs(duration);
54
+ timeoutRef.current = setTimeout(() => {
55
+ stopTimer();
56
+ remove();
57
+ }, duration);
58
+ intervalRef.current = setInterval(syncRemaining, 50);
59
+ }, [autoHideMs, remove, stopTimer, syncRemaining]);
60
+ const pauseTimer = useCallback(() => {
61
+ if (autoHideMs == null || startedAtRef.current == null || remainingRef.current == null) {
62
+ return;
63
+ }
64
+ const elapsed = Date.now() - startedAtRef.current;
65
+ const nextRemaining = Math.max(remainingRef.current - elapsed, 0);
66
+ remainingRef.current = nextRemaining;
67
+ startedAtRef.current = null;
68
+ setRemainingMs(nextRemaining);
69
+ stopTimer();
70
+ }, [autoHideMs, stopTimer]);
71
+ const resumeTimer = useCallback(() => {
72
+ if (autoHideMs == null || startedAtRef.current != null) {
73
+ return;
74
+ }
75
+ startTimer(remainingRef.current ?? autoHideMs);
76
+ }, [autoHideMs, startTimer]);
77
+ React.useEffect(() => {
78
+ if (autoHideMs == null) {
79
+ return undefined;
80
+ }
81
+ startTimer(autoHideMs);
82
+ return stopTimer;
83
+ }, [autoHideMs, startTimer, stopTimer]);
84
+ const progressScale = autoHideMs != null && remainingMs != null
85
+ ? Math.max(Math.min(remainingMs / autoHideMs, 1), 0)
86
+ : null;
87
+ return (React.createElement(Snackbar, { open: true, anchorOrigin: anchor, "data-testid": snack.id ? `overlay-snackbar-${snack.id}` : 'overlay-snackbar', onClose: (_event, reason) => {
88
+ if (reason === 'clickaway')
89
+ return;
90
+ remove();
91
+ }, onMouseEnter: pauseTimer, onMouseLeave: resumeTimer, onFocus: pauseTimer, onBlur: resumeTimer, sx: { position: 'static', transform: 'none', pointerEvents: 'auto', minWidth: 288 } },
92
+ React.createElement(Alert, { elevation: 1, onClose: remove, severity: snack.variant ?? 'info', action: snack.action, sx: {
93
+ position: 'relative',
94
+ overflow: 'hidden',
95
+ alignItems: 'center',
96
+ } },
97
+ progressScale != null ? (React.createElement(Box, { "data-testid": 'overlay-snackbar-progress', sx: {
98
+ position: 'absolute',
99
+ top: 0,
100
+ left: 0,
101
+ right: 0,
102
+ height: '3px',
103
+ backgroundColor: 'currentColor',
104
+ opacity: 0.24,
105
+ transformOrigin: 'left',
106
+ transform: `scaleX(${progressScale})`,
107
+ pointerEvents: 'none',
108
+ } })) : null,
109
+ snack.message)));
110
+ };
111
+ /**
112
+ * Renders overlay elements (currently snackbars) driven by the shared overlay store.
113
+ * Mount this once near the root of the app and trigger notifications via `overlayActions`.
114
+ * Permanent overlays are registered declaratively via `<PermanentOverlay />` components.
115
+ */
116
+ export function OverlayHost({ anchorOrigin = { vertical: 'bottom', horizontal: 'left' }, maxSnack = 10, children, }) {
117
+ const snackbars = useOverlayStore(state => state.snackbars);
118
+ const removeSnackbar = useOverlayStore(state => state.removeSnackbar);
119
+ const breakpoint = useBreakpoint();
120
+ const [permanentOverlays, setPermanentOverlays] = useState(() => new Map());
121
+ const registerPermanentOverlay = useCallback((overlay) => {
122
+ setPermanentOverlays(prev => {
123
+ const next = new Map(prev);
124
+ next.set(overlay.slot, overlay);
125
+ return next;
126
+ });
127
+ }, []);
128
+ const unregisterPermanentOverlay = useCallback((id, slot) => {
129
+ setPermanentOverlays(prev => {
130
+ const next = new Map(prev);
131
+ if (slot) {
132
+ const current = next.get(slot);
133
+ if (current?.id === id)
134
+ next.delete(slot);
135
+ }
136
+ else {
137
+ for (const [key, value] of next.entries()) {
138
+ if (value.id === id)
139
+ next.delete(key);
140
+ }
141
+ }
142
+ return next;
143
+ });
144
+ }, []);
145
+ const contextValue = useMemo(() => ({ register: registerPermanentOverlay, unregister: unregisterPermanentOverlay }), [registerPermanentOverlay, unregisterPermanentOverlay]);
146
+ const visibleSnackbars = useMemo(() => {
147
+ if (typeof maxSnack === 'number' && maxSnack > 0 && snackbars.length > maxSnack) {
148
+ return snackbars.slice(snackbars.length - maxSnack);
149
+ }
150
+ return snackbars;
151
+ }, [maxSnack, snackbars]);
152
+ const groupedSnackbars = useMemo(() => {
153
+ const groups = [];
154
+ const map = new Map();
155
+ visibleSnackbars.forEach(snack => {
156
+ const anchor = snack.anchorOrigin ?? anchorOrigin;
157
+ const key = `${anchor.vertical}-${anchor.horizontal}`;
158
+ if (!map.has(key)) {
159
+ const group = { anchor, items: [] };
160
+ map.set(key, group);
161
+ groups.push(group);
162
+ }
163
+ map.get(key).items.push(snack);
164
+ });
165
+ return groups;
166
+ }, [anchorOrigin, visibleSnackbars]);
167
+ const permanentContent = useMemo(() => {
168
+ const entries = Array.from(permanentOverlays.values());
169
+ return entries
170
+ .map(entry => {
171
+ const content = entry.render({ breakpoint });
172
+ if (!content)
173
+ return null;
174
+ const offset = entry.offset ?? PERMANENT_OFFSET;
175
+ const vertical = entry.slot.startsWith('top') ? 'top' : 'bottom';
176
+ const horizontal = entry.slot.endsWith('left') ? 'left' : 'right';
177
+ return (React.createElement(Box, { key: entry.slot, sx: {
178
+ position: 'fixed',
179
+ zIndex: entry.zIndex ?? 1300,
180
+ [vertical]: offset,
181
+ [horizontal]: offset,
182
+ } }, content));
183
+ })
184
+ .filter(Boolean);
185
+ }, [breakpoint, permanentOverlays]);
186
+ React.useEffect(() => registerOverlayHost(), []);
187
+ return (React.createElement(PermanentOverlayContext.Provider, { value: contextValue },
188
+ children,
189
+ groupedSnackbars.map(group => {
190
+ const { anchor, items } = group;
191
+ const horizontalStyles = anchor.horizontal === 'left'
192
+ ? { left: STACK_OFFSET, right: 'auto', transform: 'none' }
193
+ : anchor.horizontal === 'right'
194
+ ? { right: STACK_OFFSET, left: 'auto', transform: 'none' }
195
+ : { left: '50%', transform: 'translateX(-50%)' };
196
+ const verticalStyles = anchor.vertical === 'top'
197
+ ? { top: STACK_OFFSET, bottom: 'auto', flexDirection: 'column-reverse' }
198
+ : { bottom: STACK_OFFSET, top: 'auto', flexDirection: 'column-reverse' };
199
+ return (React.createElement(Box, { key: `${anchor.vertical}-${anchor.horizontal}`, sx: {
200
+ position: 'fixed',
201
+ zIndex: 1400,
202
+ display: 'flex',
203
+ gap: `${STACK_GAP}px`,
204
+ pointerEvents: 'none',
205
+ ...horizontalStyles,
206
+ ...verticalStyles,
207
+ } }, items.map(snack => snack.id ? (React.createElement(ManagedSnackbar, { key: snack.id, anchor: anchor, onRemove: removeSnackbar, snack: snack })) : null)));
208
+ }),
209
+ permanentContent));
210
+ }
211
+ export default OverlayHost;
212
+ //# sourceMappingURL=OverlayHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayHost.js","sourceRoot":"","sources":["../../../../src/component/overlay/OverlayHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAuB,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AActD,MAAM,SAAS,GAAG,EAAE,CAAA;AACpB,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAE3B,MAAM,UAAU,GAAG,CAAC,KAA4E,EAAE,EAAE;IAChG,IAAI,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;AACL,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAwB,EAAE,EAAE;IAC1E,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;IACzG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,UAAU,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAuC,IAAI,CAAC,CAAA;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAwC,IAAI,CAAC,CAAA;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAA;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgB,UAAU,CAAC,CAAA;IAE5D,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACX,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAExB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC9B,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;QACzB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAA;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC/D,OAAM;QACV,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAA;QACjD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QAChD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACrB,OAAM;QACV,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAChB,SAAS,EAAE,CAAA;YACX,MAAM,EAAE,CAAA;YACR,OAAM;QACV,CAAC;QAED,SAAS,EAAE,CAAA;QACX,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAA;QAC/B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACjC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAExB,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,SAAS,EAAE,CAAA;YACX,MAAM,EAAE,CAAA;QACZ,CAAC,EAAE,QAAQ,CAAC,CAAA;QAEZ,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IACxD,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAA;IAElD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,UAAU,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACrF,OAAM;QACV,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAA;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,YAAY,CAAC,OAAO,GAAG,aAAa,CAAA;QACpC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;QAC3B,cAAc,CAAC,aAAa,CAAC,CAAA;QAC7B,SAAS,EAAE,CAAA;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,UAAU,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACrD,OAAM;QACV,CAAC;QAED,UAAU,CAAC,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,CAAA;IAClD,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;IAE5B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,UAAU,CAAC,UAAU,CAAC,CAAA;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;IAEvC,MAAM,aAAa,GAAG,UAAU,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;QAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,IAAI,CAAA;IAEV,OAAO,CACH,oBAAC,QAAQ,IACL,IAAI,QACJ,YAAY,EAAE,MAAM,iBACP,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAC3E,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,IAAI,MAAM,KAAK,WAAW;gBAAE,OAAM;YAClC,MAAM,EAAE,CAAA;QACZ,CAAC,EACD,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,WAAW,EACzB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE;QAEnF,oBAAC,KAAK,IACF,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,EACjC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,EAAE,EAAE;gBACA,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,QAAQ;aACvB;YAEA,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CACrB,oBAAC,GAAG,mBACY,2BAA2B,EACvC,EAAE,EAAE;oBACA,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,cAAc;oBAC/B,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,MAAM;oBACvB,SAAS,EAAE,UAAU,aAAa,GAAG;oBACrC,aAAa,EAAE,MAAM;iBACxB,GACH,CACL,CAAC,CAAC,CAAC,IAAI;YACP,KAAK,CAAC,OAAO,CACV,CACD,CACd,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EACxB,YAAY,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EACzD,QAAQ,GAAG,EAAE,EACb,QAAQ,GACO;IACf,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3D,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAElC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACtD,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAClB,CAAA;IAED,MAAM,wBAAwB,GAAG,WAAW,CAAC,CAAC,OAAiC,EAAE,EAAE;QAC/E,oBAAoB,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,0BAA0B,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,IAA2B,EAAE,EAAE;QACvF,oBAAoB,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC9B,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7C,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;oBACxC,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;wBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACzC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC,EACtF,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CACzD,CAAA;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC9E,OAAO,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,SAAS,CAAA;IACpB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEzB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,MAAM,GAAsE,EAAE,CAAA;QACpF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsE,CAAA;QACzF,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,YAAY,CAAA;YACjD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAA6B,EAAE,CAAA;gBAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACjB,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAEpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QACtD,OAAO,OAAO;aACT,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAA;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;YACjE,OAAO,CACH,oBAAC,GAAG,IACA,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,EAAE,EAAE;oBACA,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;oBAC5B,CAAC,QAAQ,CAAC,EAAE,MAAM;oBAClB,CAAC,UAAU,CAAC,EAAE,MAAM;iBACvB,IAEA,OAAO,CACN,CACT,CAAA;QACL,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAEnC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAA;IAEhD,OAAO,CACH,oBAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;QAChD,QAAQ;QACR,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;YAC/B,MAAM,gBAAgB,GAClB,MAAM,CAAC,UAAU,KAAK,MAAM;gBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;gBAC1D,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,OAAO;oBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;oBAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAA;YAE5D,MAAM,cAAc,GAChB,MAAM,CAAC,QAAQ,KAAK,KAAK;gBACrB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAyB,EAAE;gBACjF,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAyB,EAAE,CAAA;YAEzF,OAAO,CACH,oBAAC,GAAG,IACA,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,EAC9C,EAAE,EAAE;oBACA,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,MAAM;oBACf,GAAG,EAAE,GAAG,SAAS,IAAI;oBACrB,aAAa,EAAE,MAAM;oBACrB,GAAG,gBAAgB;oBACnB,GAAG,cAAc;iBACpB,IAEA,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAC3B,oBAAC,eAAe,IACZ,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,KAAK,GACd,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,CACP,CACT,CAAA;QACL,CAAC,CAAC;QACD,gBAAgB,CACc,CACtC,CAAA;AACL,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { PermanentOverlayRender, PermanentOverlaySlot } from './types';
2
+ type PermanentOverlayProps = {
3
+ id: string;
4
+ slot?: PermanentOverlaySlot;
5
+ render: PermanentOverlayRender;
6
+ offset?: number;
7
+ zIndex?: number;
8
+ };
9
+ /**
10
+ * Declaratively registers a permanent overlay with the nearest `<OverlayHost />` in the tree.
11
+ * Only one overlay per slot is kept; the latest registered wins.
12
+ */
13
+ export declare function PermanentOverlay({ id, slot, render, offset, zIndex }: PermanentOverlayProps): null;
14
+ export default PermanentOverlay;
@@ -0,0 +1,29 @@
1
+ import { useContext, useEffect, useRef } from 'react';
2
+ import { PermanentOverlayContext } from './PermanentOverlayContext';
3
+ const DEFAULT_SLOT = 'bottom-right';
4
+ /**
5
+ * Declaratively registers a permanent overlay with the nearest `<OverlayHost />` in the tree.
6
+ * Only one overlay per slot is kept; the latest registered wins.
7
+ */
8
+ export function PermanentOverlay({ id, slot = DEFAULT_SLOT, render, offset, zIndex }) {
9
+ const ctx = useContext(PermanentOverlayContext);
10
+ const renderRef = useRef(render);
11
+ useEffect(() => {
12
+ renderRef.current = render;
13
+ }, [render]);
14
+ useEffect(() => {
15
+ if (!ctx)
16
+ return;
17
+ ctx.register({
18
+ id,
19
+ slot,
20
+ offset,
21
+ zIndex,
22
+ render: context => renderRef.current(context),
23
+ });
24
+ return () => ctx.unregister(id, slot);
25
+ }, [ctx, id, slot, offset, zIndex]);
26
+ return null;
27
+ }
28
+ export default PermanentOverlay;
29
+ //# sourceMappingURL=PermanentOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermanentOverlay.js","sourceRoot":"","sources":["../../../../src/component/overlay/PermanentOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,MAAM,YAAY,GAAyB,cAAc,CAAA;AAUzD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAyB;IACvG,MAAM,GAAG,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAEhC,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAC9B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,GAAG,CAAC,QAAQ,CAAC;YACT,EAAE;YACF,IAAI;YACJ,MAAM;YACN,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;SAChD,CAAC,CAAA;QACF,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnC,OAAO,IAAI,CAAA;AACf,CAAC;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { PermanentOverlayInstance, PermanentOverlaySlot } from './types';
2
+ export type PermanentOverlayContextValue = {
3
+ register: (overlay: PermanentOverlayInstance) => void;
4
+ unregister: (id: string, slot?: PermanentOverlaySlot) => void;
5
+ };
6
+ export declare const PermanentOverlayContext: import("react").Context<PermanentOverlayContextValue | null>;
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ export const PermanentOverlayContext = createContext(null);
3
+ //# sourceMappingURL=PermanentOverlayContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermanentOverlayContext.js","sourceRoot":"","sources":["../../../../src/component/overlay/PermanentOverlayContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAQrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAsC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const registerOverlayHost: () => () => void;
2
+ export declare const reportMissingOverlayHost: (actionName: string) => void;
3
+ export declare const resetOverlayRuntimeForTests: () => void;
@@ -0,0 +1,39 @@
1
+ let overlayHostCount = 0;
2
+ let hasWarnedAboutMissingHost = false;
3
+ let hasWarnedAboutMultipleHosts = false;
4
+ const logOverlayConfigurationError = (message) => {
5
+ console.error(message);
6
+ };
7
+ const getMissingHostMessage = (actionName) => `[pne-ui] overlayActions.${actionName}() was called without a mounted <OverlayHost />. ` +
8
+ 'The snackbar was added to the overlay store but cannot render. ' +
9
+ 'Mount exactly one <OverlayHost /> near the application root.';
10
+ const getMultipleHostsMessage = () => `[pne-ui] Detected ${overlayHostCount} mounted <OverlayHost /> instances. ` +
11
+ 'OverlayHost is a singleton and must be mounted exactly once near the application root. ' +
12
+ 'Multiple hosts duplicate snackbars and can desynchronize their timers.';
13
+ export const registerOverlayHost = () => {
14
+ overlayHostCount += 1;
15
+ hasWarnedAboutMissingHost = false;
16
+ if (overlayHostCount > 1 && !hasWarnedAboutMultipleHosts) {
17
+ hasWarnedAboutMultipleHosts = true;
18
+ logOverlayConfigurationError(getMultipleHostsMessage());
19
+ }
20
+ return () => {
21
+ overlayHostCount = Math.max(overlayHostCount - 1, 0);
22
+ if (overlayHostCount <= 1) {
23
+ hasWarnedAboutMultipleHosts = false;
24
+ }
25
+ };
26
+ };
27
+ export const reportMissingOverlayHost = (actionName) => {
28
+ if (overlayHostCount > 0 || hasWarnedAboutMissingHost) {
29
+ return;
30
+ }
31
+ hasWarnedAboutMissingHost = true;
32
+ logOverlayConfigurationError(getMissingHostMessage(actionName));
33
+ };
34
+ export const resetOverlayRuntimeForTests = () => {
35
+ overlayHostCount = 0;
36
+ hasWarnedAboutMissingHost = false;
37
+ hasWarnedAboutMultipleHosts = false;
38
+ };
39
+ //# sourceMappingURL=overlayRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlayRuntime.js","sourceRoot":"","sources":["../../../../src/component/overlay/overlayRuntime.ts"],"names":[],"mappings":"AAAA,IAAI,gBAAgB,GAAG,CAAC,CAAA;AACxB,IAAI,yBAAyB,GAAG,KAAK,CAAA;AACrC,IAAI,2BAA2B,GAAG,KAAK,CAAA;AAEvC,MAAM,4BAA4B,GAAG,CAAC,OAAe,EAAE,EAAE;IACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAE,EAAE,CACjD,2BAA2B,UAAU,mDAAmD;IACxF,iEAAiE;IACjE,8DAA8D,CAAA;AAElE,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACjC,qBAAqB,gBAAgB,sCAAsC;IAC3E,yFAAyF;IACzF,wEAAwE,CAAA;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACpC,gBAAgB,IAAI,CAAC,CAAA;IACrB,yBAAyB,GAAG,KAAK,CAAA;IAEjC,IAAI,gBAAgB,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACvD,2BAA2B,GAAG,IAAI,CAAA;QAClC,4BAA4B,CAAC,uBAAuB,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,GAAG,EAAE;QACR,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAEpD,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YACxB,2BAA2B,GAAG,KAAK,CAAA;QACvC,CAAC;IACL,CAAC,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC3D,IAAI,gBAAgB,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC;QACpD,OAAM;IACV,CAAC;IAED,yBAAyB,GAAG,IAAI,CAAA;IAChC,4BAA4B,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC5C,gBAAgB,GAAG,CAAC,CAAA;IACpB,yBAAyB,GAAG,KAAK,CAAA;IACjC,2BAA2B,GAAG,KAAK,CAAA;AACvC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { OverlayState, SnackbarOptions, UndoSnackbarOptions } from './types';
2
+ export declare const useOverlayStore: import("zustand").UseBoundStore<import("zustand").StoreApi<OverlayState>>;
3
+ export declare const overlayActions: {
4
+ showSnackbar: (snackbar: SnackbarOptions) => void;
5
+ showSuccess: (snackbar: Omit<SnackbarOptions, "variant">) => void;
6
+ showError: (snackbar: Omit<SnackbarOptions, "variant">) => void;
7
+ showWarning: (snackbar: Omit<SnackbarOptions, "variant">) => void;
8
+ showInfo: (snackbar: Omit<SnackbarOptions, "variant">) => void;
9
+ /**
10
+ * Shows an info snackbar with a built-in undo button and returns the snackbar id.
11
+ * By default it behaves like other non-error snackbars and auto-hides after 5000 ms unless `autoHideMs` is overridden.
12
+ */
13
+ showUndoSnackbar: ({ undoLabel, onUndo, ...snackbar }: UndoSnackbarOptions) => string;
14
+ removeSnackbar: (id: string) => void;
15
+ clearSnackbars: () => void;
16
+ };
@@ -0,0 +1,70 @@
1
+ import React from 'react';
2
+ import UndoIcon from '@mui/icons-material/Undo';
3
+ import PneButton from '../PneButton';
4
+ import { create } from 'zustand';
5
+ import { reportMissingOverlayHost } from './overlayRuntime';
6
+ const defaultAutoHideMs = 5000;
7
+ const makeId = () => {
8
+ if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
9
+ return crypto.randomUUID();
10
+ }
11
+ return `snackbar-${Date.now()}-${Math.random().toString(16).slice(2)}`;
12
+ };
13
+ export const useOverlayStore = create(set => ({
14
+ snackbars: [],
15
+ enqueueSnackbar: snackbar => set(state => ({
16
+ snackbars: [
17
+ ...state.snackbars,
18
+ {
19
+ id: snackbar.id ?? makeId(),
20
+ variant: snackbar.variant ?? 'info',
21
+ autoHideMs: snackbar.autoHideMs ?? (snackbar.variant === 'error' ? undefined : defaultAutoHideMs),
22
+ ...snackbar,
23
+ },
24
+ ],
25
+ })),
26
+ removeSnackbar: id => set(state => ({ snackbars: state.snackbars.filter(snack => snack.id !== id) })),
27
+ clearSnackbars: () => set({ snackbars: [] }),
28
+ }));
29
+ const showWithVariant = (variant) => (snackbar) => {
30
+ reportMissingOverlayHost(`show${variant.charAt(0).toUpperCase()}${variant.slice(1)}`);
31
+ useOverlayStore.getState().enqueueSnackbar({ ...snackbar, variant });
32
+ };
33
+ export const overlayActions = {
34
+ showSnackbar: (snackbar) => {
35
+ reportMissingOverlayHost('showSnackbar');
36
+ useOverlayStore.getState().enqueueSnackbar(snackbar);
37
+ },
38
+ showSuccess: showWithVariant('success'),
39
+ showError: showWithVariant('error'),
40
+ showWarning: showWithVariant('warning'),
41
+ showInfo: showWithVariant('info'),
42
+ /**
43
+ * Shows an info snackbar with a built-in undo button and returns the snackbar id.
44
+ * By default it behaves like other non-error snackbars and auto-hides after 5000 ms unless `autoHideMs` is overridden.
45
+ */
46
+ showUndoSnackbar: ({ undoLabel = 'Undo', onUndo, ...snackbar }) => {
47
+ const id = snackbar.id ?? makeId();
48
+ reportMissingOverlayHost('showUndoSnackbar');
49
+ useOverlayStore.getState().enqueueSnackbar({
50
+ ...snackbar,
51
+ id,
52
+ action: React.createElement(PneButton, {
53
+ variant: 'text',
54
+ size: 'small',
55
+ startIcon: React.createElement(UndoIcon, { fontSize: 'inherit' }),
56
+ onClick: () => {
57
+ useOverlayStore.getState().removeSnackbar(id);
58
+ onUndo();
59
+ },
60
+ sx: {
61
+ fontWeight: 600,
62
+ },
63
+ }, undoLabel),
64
+ });
65
+ return id;
66
+ },
67
+ removeSnackbar: (id) => useOverlayStore.getState().removeSnackbar(id),
68
+ clearSnackbars: () => useOverlayStore.getState().clearSnackbars(),
69
+ };
70
+ //# sourceMappingURL=overlayStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlayStore.js","sourceRoot":"","sources":["../../../../src/component/overlay/overlayStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { SnackbarOrigin } from '@mui/material';
2
+ import type React from 'react';
3
+ export type SnackbarVariant = 'info' | 'success' | 'warning' | 'error';
4
+ export type SnackbarOptions = {
5
+ id?: string;
6
+ message: React.ReactNode;
7
+ variant?: SnackbarVariant;
8
+ /**
9
+ * Auto-close timeout in milliseconds. `undefined` keeps the snackbar open until closed explicitly.
10
+ * Timed snackbars render a progress bar in `OverlayHost`.
11
+ */
12
+ autoHideMs?: number;
13
+ action?: React.ReactNode;
14
+ anchorOrigin?: SnackbarOrigin;
15
+ };
16
+ /**
17
+ * Options for a snackbar with a built-in undo action.
18
+ * `OverlayHost` renders the same timed-progress indicator as for any other timed snackbar.
19
+ */
20
+ export type UndoSnackbarOptions = Omit<SnackbarOptions, 'action'> & {
21
+ undoLabel?: React.ReactNode;
22
+ onUndo: () => void;
23
+ };
24
+ export type OverlayState = {
25
+ snackbars: SnackbarOptions[];
26
+ enqueueSnackbar: (snackbar: SnackbarOptions) => void;
27
+ removeSnackbar: (id: string) => void;
28
+ clearSnackbars: () => void;
29
+ };
30
+ export type PermanentOverlayRender = (context: {
31
+ breakpoint: number;
32
+ }) => React.ReactNode;
33
+ export type PermanentOverlaySlot = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
34
+ export type PermanentOverlayInstance = {
35
+ id: string;
36
+ slot: PermanentOverlaySlot;
37
+ render: PermanentOverlayRender;
38
+ offset?: number;
39
+ zIndex?: number;
40
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/component/overlay/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ type UseBreakpointOptions = {
2
+ breakpoints?: readonly number[];
3
+ };
4
+ /**
5
+ * Returns the nearest configured breakpoint for the current window width.
6
+ */
7
+ export declare function useBreakpoint({ breakpoints }?: UseBreakpointOptions): number;
8
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { DEFAULT_BREAKPOINTS, resolveBreakpoint } from '../../common/responsive/breakpoints';
3
+ /**
4
+ * Returns the nearest configured breakpoint for the current window width.
5
+ */
6
+ export function useBreakpoint({ breakpoints = DEFAULT_BREAKPOINTS } = {}) {
7
+ const [current, setCurrent] = useState(() => typeof window !== 'undefined' ? resolveBreakpoint(window.innerWidth, breakpoints) : breakpoints[0]);
8
+ useEffect(() => {
9
+ if (typeof window === 'undefined')
10
+ return;
11
+ const handler = () => setCurrent(resolveBreakpoint(window.innerWidth, breakpoints));
12
+ window.addEventListener('resize', handler);
13
+ return () => window.removeEventListener('resize', handler);
14
+ }, [breakpoints]);
15
+ return current;
16
+ }
17
+ //# sourceMappingURL=useBreakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoint.js","sourceRoot":"","sources":["../../../../src/component/responsive/useBreakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAM5F;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,WAAW,GAAG,mBAAmB,KAA2B,EAAE;IAC1F,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACxC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CACrG,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACnF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,OAAO,CAAA;AAClB,CAAC"}
@@ -0,0 +1,89 @@
1
+ import React, { Dispatch, SetStateAction } from 'react';
2
+ import { SearchUIFiltersConfig } from './filters/SearchUIFilters';
3
+ import { CriterionTypeEnum, ExactCriterionSearchLabelEnum, SearchCriteria, SearchUIConditions } from './filters/types';
4
+ import { GetPagedOrderedSortedListRequest, Order } from '../../common';
5
+ import { TableCreateHeaderType } from '../..';
6
+ import { UseTableParams } from '../table/useTable';
7
+ /**
8
+ * Параметры запроса поиска, отправляемые в обработчик данных таблицы.
9
+ * Тип формируется на основе SearchCriteria без служебного флага `initialized`
10
+ * и стандартных параметров пагинации/сортировки списка.
11
+ */
12
+ export type SearchParams = Omit<SearchCriteria & GetPagedOrderedSortedListRequest, 'initialized'>;
13
+ /**
14
+ * Свойства компонента {@link SearchUI}.
15
+ * @template D Тип строки данных, возвращаемых запросом поиска и отображаемых в таблице.
16
+ */
17
+ type Props<D extends object> = {
18
+ /**
19
+ * Имя контекста настроек, под которым таблица и фильтры сохраняют состояние пользователя.
20
+ */
21
+ settingsContextName: string;
22
+ /**
23
+ * Полный список критериев, доступных пользователю для выбора.
24
+ */
25
+ possibleCriteria: CriterionTypeEnum[];
26
+ /**
27
+ * Критерии, которые должны быть активированы при первой загрузке фильтра.
28
+ */
29
+ predefinedCriteria?: CriterionTypeEnum[];
30
+ /**
31
+ * Допустимые точные метки поиска, отображаемые в выпадающем списке.
32
+ */
33
+ exactSearchLabels?: ExactCriterionSearchLabelEnum[];
34
+ /**
35
+ * Начальные значения условий фильтрации, кроме списка критериев.
36
+ */
37
+ initialSearchConditions?: Partial<Omit<SearchUIConditions, 'criteria'>>;
38
+ /**
39
+ * Внешнее управление состоянием фильтров. При изменении значения происходит синхронизация стора.
40
+ */
41
+ searchConditions?: Partial<SearchUIConditions>;
42
+ /**
43
+ * Функция загрузки данных по текущим параметрам поиска.
44
+ */
45
+ searchData: (searchParams: SearchParams) => Promise<D[]>;
46
+ /**
47
+ * Фабрика заголовка таблицы.
48
+ */
49
+ createTableHeader: TableCreateHeaderType;
50
+ /**
51
+ * Фабрика строки таблицы.
52
+ * @param rowData Данные текущей строки.
53
+ * @param index Индекс строки.
54
+ * @param data Все текущие данные таблицы.
55
+ * @param setData Сеттер для обновления данных таблицы.
56
+ */
57
+ createTableRow: (rowData: D, index: number, data: D[], setData: Dispatch<SetStateAction<D[]>>) => React.ReactElement;
58
+ /**
59
+ * Кастомизация поведения таблицы (пагинация, отображение, дублирование пагинатора).
60
+ */
61
+ tableParams?: Pick<UseTableParams<D>, 'rowsPerPageOptions' | 'duplicatePagination' | 'paginatorActiveActionSx' | 'displayOptions'>;
62
+ /**
63
+ * Внешнее управление данными таблицы через React.useState.
64
+ */
65
+ dataUseState?: [D[], Dispatch<SetStateAction<D[]>>];
66
+ /**
67
+ * Конфигурация виджета фильтров.
68
+ */
69
+ config?: SearchUIFiltersConfig;
70
+ };
71
+ /**
72
+ * Высокоуровневый компонент поискового UI, объединяющий фильтры и таблицу с результатами.
73
+ * @template D Тип строки данных, отображаемых в таблице.
74
+ * @param props Свойства компонента.
75
+ */
76
+ export declare const SearchUI: <D extends object>(props: Props<D>) => React.ReactElement;
77
+ /**
78
+ * Преобразует внутреннее состояние фильтров и таблицы в параметры запроса для загрузки данных.
79
+ * @param searchCriteria Текущее состояние критериев поиска.
80
+ * @param options Параметры пагинации и сортировки таблицы.
81
+ * @returns Объект параметров, совместимый с обработчиком `searchData`.
82
+ */
83
+ export declare const createSearchParams: (searchCriteria: SearchCriteria, options: {
84
+ page: number;
85
+ pageSize: number;
86
+ order?: Order;
87
+ sortIndex: number;
88
+ }) => SearchParams;
89
+ export {};