pne-ui 4.0.8 → 4.0.9

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 (561) 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/filters/component/criterion/DateRangeCriterion.js +2 -2
  27. package/cjs/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -1
  28. package/cjs/component/search-ui/filters/state/store.d.ts +111 -215
  29. package/cjs/component/search-ui/filters/styled.d.ts +0 -1
  30. package/cjs/component/search-ui/multiget_select/state/store.d.ts +10 -35
  31. package/cjs/component/search-ui/state/store.d.ts +7 -7
  32. package/cjs/component/table/AbstractTable.js.map +1 -1
  33. package/cjs/component/table/PneTablePagination.d.ts +1 -2
  34. package/cjs/component/table/PneTablePaginationActions.d.ts +1 -1
  35. package/cjs/component/table/PneTableRow.d.ts +2 -5
  36. package/cjs/component/table/state/store.d.ts +1 -1
  37. package/cjs/component/widget-board/types.d.ts +0 -1
  38. package/cjs/component/widget-board/useWidgetBoardAutosize.d.ts +2 -2
  39. package/cjs/component/widget-board/useWidgetBoardLayoutSource.d.ts +4 -5
  40. package/cjs/component/widget-board/widgetBoardLayoutUtils.d.ts +1 -1
  41. package/cjs/createTheme.d.ts +1 -1
  42. package/cjs/exports/buttons.js +2 -4
  43. package/cjs/exports/buttons.js.map +1 -1
  44. package/cjs/exports/inputs.js +6 -8
  45. package/cjs/exports/inputs.js.map +1 -1
  46. package/cjs/exports/modals.js +3 -5
  47. package/cjs/exports/modals.js.map +1 -1
  48. package/cjs/exports/table.js +11 -13
  49. package/cjs/exports/table.js.map +1 -1
  50. package/cjs/exports/utils.js +2 -4
  51. package/cjs/exports/utils.js.map +1 -1
  52. package/esm/common/paynet/type.d.ts +2 -9
  53. package/esm/component/CustomIconWrapper.d.ts +2 -1
  54. package/esm/component/CustomIconWrapper.js.map +1 -1
  55. package/esm/component/PneButton.d.ts +1 -1
  56. package/esm/component/non-abstract-entity-selector/styled.d.ts +8 -13
  57. package/esm/component/overlay/PermanentOverlayContext.d.ts +0 -1
  58. package/esm/component/overlay/overlayStore.d.ts +4 -4
  59. package/esm/component/search-ui/filters/component/criterion/DateRangeCriterion.js +2 -2
  60. package/esm/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -1
  61. package/esm/component/search-ui/filters/state/store.d.ts +111 -215
  62. package/esm/component/search-ui/filters/styled.d.ts +0 -1
  63. package/esm/component/search-ui/multiget_select/state/store.d.ts +10 -35
  64. package/esm/component/search-ui/state/store.d.ts +7 -7
  65. package/esm/component/table/AbstractTable.js.map +1 -1
  66. package/esm/component/table/PneTablePagination.d.ts +1 -2
  67. package/esm/component/table/PneTablePaginationActions.d.ts +1 -1
  68. package/esm/component/table/PneTableRow.d.ts +2 -5
  69. package/esm/component/table/state/store.d.ts +1 -1
  70. package/esm/component/widget-board/types.d.ts +0 -1
  71. package/esm/component/widget-board/useWidgetBoardAutosize.d.ts +2 -2
  72. package/esm/component/widget-board/useWidgetBoardLayoutSource.d.ts +4 -5
  73. package/esm/component/widget-board/widgetBoardLayoutUtils.d.ts +1 -1
  74. package/esm/createTheme.d.ts +1 -1
  75. package/esm/src/common/index.d.ts +2 -0
  76. package/esm/src/common/index.js +3 -0
  77. package/esm/src/common/index.js.map +1 -0
  78. package/esm/src/common/paynet/dropdown.d.ts +7 -0
  79. package/esm/src/common/paynet/dropdown.js +56 -0
  80. package/esm/src/common/paynet/dropdown.js.map +1 -0
  81. package/esm/src/common/paynet/index.d.ts +3 -0
  82. package/esm/src/common/paynet/index.js +4 -0
  83. package/esm/src/common/paynet/index.js.map +1 -0
  84. package/esm/src/common/paynet/schema.d.ts +58 -0
  85. package/esm/src/common/paynet/schema.js +21 -0
  86. package/esm/src/common/paynet/schema.js.map +1 -0
  87. package/esm/src/common/paynet/skin.d.ts +36 -0
  88. package/esm/src/common/paynet/skin.js +2 -0
  89. package/esm/src/common/paynet/skin.js.map +1 -0
  90. package/esm/src/common/paynet/type.d.ts +36 -0
  91. package/esm/src/common/paynet/type.js +45 -0
  92. package/esm/src/common/paynet/type.js.map +1 -0
  93. package/esm/src/common/pne/index.d.ts +1 -0
  94. package/esm/src/common/pne/index.js +2 -0
  95. package/esm/src/common/pne/index.js.map +1 -0
  96. package/esm/src/common/pne/type.d.ts +19 -0
  97. package/esm/src/common/pne/type.js +18 -0
  98. package/esm/src/common/pne/type.js.map +1 -0
  99. package/esm/src/common/responsive/breakpoints.d.ts +3 -0
  100. package/esm/src/common/responsive/breakpoints.js +17 -0
  101. package/esm/src/common/responsive/breakpoints.js.map +1 -0
  102. package/esm/src/component/AutoTestAttribute.d.ts +8 -0
  103. package/esm/src/component/AutoTestAttribute.js +32 -0
  104. package/esm/src/component/AutoTestAttribute.js.map +1 -0
  105. package/esm/src/component/CustomIconWrapper.d.ts +9 -0
  106. package/esm/src/component/CustomIconWrapper.js +12 -0
  107. package/esm/src/component/CustomIconWrapper.js.map +1 -0
  108. package/esm/src/component/PneButton.d.ts +9 -0
  109. package/esm/src/component/PneButton.js +47 -0
  110. package/esm/src/component/PneButton.js.map +1 -0
  111. package/esm/src/component/PneButtonGroup.d.ts +3 -0
  112. package/esm/src/component/PneButtonGroup.js +15 -0
  113. package/esm/src/component/PneButtonGroup.js.map +1 -0
  114. package/esm/src/component/PneCheckbox.d.ts +3 -0
  115. package/esm/src/component/PneCheckbox.js +10 -0
  116. package/esm/src/component/PneCheckbox.js.map +1 -0
  117. package/esm/src/component/PneHighContrastLabeledCheckbox.d.ts +3 -0
  118. package/esm/src/component/PneHighContrastLabeledCheckbox.js +199 -0
  119. package/esm/src/component/PneHighContrastLabeledCheckbox.js.map +1 -0
  120. package/esm/src/component/PneLabeledCheckbox.d.ts +14 -0
  121. package/esm/src/component/PneLabeledCheckbox.js +12 -0
  122. package/esm/src/component/PneLabeledCheckbox.js.map +1 -0
  123. package/esm/src/component/PneModal.d.ts +12 -0
  124. package/esm/src/component/PneModal.js +63 -0
  125. package/esm/src/component/PneModal.js.map +1 -0
  126. package/esm/src/component/PneSwitch.d.ts +4 -0
  127. package/esm/src/component/PneSwitch.js +11 -0
  128. package/esm/src/component/PneSwitch.js.map +1 -0
  129. package/esm/src/component/PneTextField.d.ts +3 -0
  130. package/esm/src/component/PneTextField.js +11 -0
  131. package/esm/src/component/PneTextField.js.map +1 -0
  132. package/esm/src/component/cloudscape/CloudscapeBoardStyles.d.ts +10 -0
  133. package/esm/src/component/cloudscape/CloudscapeBoardStyles.js +88 -0
  134. package/esm/src/component/cloudscape/CloudscapeBoardStyles.js.map +1 -0
  135. package/esm/src/component/cloudscape/CloudscapeThemeProvider.d.ts +8 -0
  136. package/esm/src/component/cloudscape/CloudscapeThemeProvider.js +15 -0
  137. package/esm/src/component/cloudscape/CloudscapeThemeProvider.js.map +1 -0
  138. package/esm/src/component/cloudscape/boardI18n.d.ts +10 -0
  139. package/esm/src/component/cloudscape/boardI18n.js +47 -0
  140. package/esm/src/component/cloudscape/boardI18n.js.map +1 -0
  141. package/esm/src/component/cloudscape/cloudscapeTheme.d.ts +6 -0
  142. package/esm/src/component/cloudscape/cloudscapeTheme.js +11 -0
  143. package/esm/src/component/cloudscape/cloudscapeTheme.js.map +1 -0
  144. package/esm/src/component/confirm/PneConfirmProvider.d.ts +17 -0
  145. package/esm/src/component/confirm/PneConfirmProvider.js +75 -0
  146. package/esm/src/component/confirm/PneConfirmProvider.js.map +1 -0
  147. package/esm/src/component/confirm/index.d.ts +1 -0
  148. package/esm/src/component/confirm/index.js +2 -0
  149. package/esm/src/component/confirm/index.js.map +1 -0
  150. package/esm/src/component/dropdown/PneAsyncAutocomplete.d.ts +15 -0
  151. package/esm/src/component/dropdown/PneAsyncAutocomplete.js +65 -0
  152. package/esm/src/component/dropdown/PneAsyncAutocomplete.js.map +1 -0
  153. package/esm/src/component/dropdown/PneAutocomplete.d.ts +13 -0
  154. package/esm/src/component/dropdown/PneAutocomplete.js +16 -0
  155. package/esm/src/component/dropdown/PneAutocomplete.js.map +1 -0
  156. package/esm/src/component/dropdown/PneSelect.d.ts +13 -0
  157. package/esm/src/component/dropdown/PneSelect.js +44 -0
  158. package/esm/src/component/dropdown/PneSelect.js.map +1 -0
  159. package/esm/src/component/fab/PneFloatingActionButtons.d.ts +42 -0
  160. package/esm/src/component/fab/PneFloatingActionButtons.js +119 -0
  161. package/esm/src/component/fab/PneFloatingActionButtons.js.map +1 -0
  162. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelectModal.d.ts +19 -0
  163. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelectModal.js +64 -0
  164. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelectModal.js.map +1 -0
  165. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelector.d.ts +27 -0
  166. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelector.js +382 -0
  167. package/esm/src/component/non-abstract-entity-selector/AbstractEntitySelector.js.map +1 -0
  168. package/esm/src/component/non-abstract-entity-selector/ItemEntitySelector.d.ts +11 -0
  169. package/esm/src/component/non-abstract-entity-selector/ItemEntitySelector.js +8 -0
  170. package/esm/src/component/non-abstract-entity-selector/ItemEntitySelector.js.map +1 -0
  171. package/esm/src/component/non-abstract-entity-selector/styled.d.ts +30 -0
  172. package/esm/src/component/non-abstract-entity-selector/styled.js +145 -0
  173. package/esm/src/component/non-abstract-entity-selector/styled.js.map +1 -0
  174. package/esm/src/component/overlay/OverlayHost.d.ts +14 -0
  175. package/esm/src/component/overlay/OverlayHost.js +212 -0
  176. package/esm/src/component/overlay/OverlayHost.js.map +1 -0
  177. package/esm/src/component/overlay/PermanentOverlay.d.ts +14 -0
  178. package/esm/src/component/overlay/PermanentOverlay.js +29 -0
  179. package/esm/src/component/overlay/PermanentOverlay.js.map +1 -0
  180. package/esm/src/component/overlay/PermanentOverlayContext.d.ts +6 -0
  181. package/esm/src/component/overlay/PermanentOverlayContext.js +3 -0
  182. package/esm/src/component/overlay/PermanentOverlayContext.js.map +1 -0
  183. package/esm/src/component/overlay/overlayRuntime.d.ts +3 -0
  184. package/esm/src/component/overlay/overlayRuntime.js +39 -0
  185. package/esm/src/component/overlay/overlayRuntime.js.map +1 -0
  186. package/esm/src/component/overlay/overlayStore.d.ts +16 -0
  187. package/esm/src/component/overlay/overlayStore.js +70 -0
  188. package/esm/src/component/overlay/overlayStore.js.map +1 -0
  189. package/esm/src/component/overlay/types.d.ts +40 -0
  190. package/esm/src/component/overlay/types.js +2 -0
  191. package/esm/src/component/overlay/types.js.map +1 -0
  192. package/esm/src/component/responsive/useBreakpoint.d.ts +8 -0
  193. package/esm/src/component/responsive/useBreakpoint.js +17 -0
  194. package/esm/src/component/responsive/useBreakpoint.js.map +1 -0
  195. package/esm/src/component/search-ui/SearchUI.d.ts +89 -0
  196. package/esm/src/component/search-ui/SearchUI.js +103 -0
  197. package/esm/src/component/search-ui/SearchUI.js.map +1 -0
  198. package/esm/src/component/search-ui/SearchUIProvider.d.ts +114 -0
  199. package/esm/src/component/search-ui/SearchUIProvider.js +85 -0
  200. package/esm/src/component/search-ui/SearchUIProvider.js.map +1 -0
  201. package/esm/src/component/search-ui/filters/CriterionContainer.d.ts +7 -0
  202. package/esm/src/component/search-ui/filters/CriterionContainer.js +148 -0
  203. package/esm/src/component/search-ui/filters/CriterionContainer.js.map +1 -0
  204. package/esm/src/component/search-ui/filters/SearchUIFilters.d.ts +102 -0
  205. package/esm/src/component/search-ui/filters/SearchUIFilters.js +226 -0
  206. package/esm/src/component/search-ui/filters/SearchUIFilters.js.map +1 -0
  207. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderClearButton.d.ts +6 -0
  208. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderClearButton.js +15 -0
  209. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderClearButton.js.map +1 -0
  210. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderRemoveButton.d.ts +6 -0
  211. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderRemoveButton.js +11 -0
  212. package/esm/src/component/search-ui/filters/component/button/SearchUIFiltersCriterionHeaderRemoveButton.js.map +1 -0
  213. package/esm/src/component/search-ui/filters/component/criterion/CardTypesCriterion.d.ts +2 -0
  214. package/esm/src/component/search-ui/filters/component/criterion/CardTypesCriterion.js +20 -0
  215. package/esm/src/component/search-ui/filters/component/criterion/CardTypesCriterion.js.map +1 -0
  216. package/esm/src/component/search-ui/filters/component/criterion/CountriesCriterion.d.ts +2 -0
  217. package/esm/src/component/search-ui/filters/component/criterion/CountriesCriterion.js +19 -0
  218. package/esm/src/component/search-ui/filters/component/criterion/CountriesCriterion.js.map +1 -0
  219. package/esm/src/component/search-ui/filters/component/criterion/CriterionLeft.d.ts +7 -0
  220. package/esm/src/component/search-ui/filters/component/criterion/CriterionLeft.js +17 -0
  221. package/esm/src/component/search-ui/filters/component/criterion/CriterionLeft.js.map +1 -0
  222. package/esm/src/component/search-ui/filters/component/criterion/CriterionRight.d.ts +7 -0
  223. package/esm/src/component/search-ui/filters/component/criterion/CriterionRight.js +29 -0
  224. package/esm/src/component/search-ui/filters/component/criterion/CriterionRight.js.map +1 -0
  225. package/esm/src/component/search-ui/filters/component/criterion/CurrenciesCriterion.d.ts +2 -0
  226. package/esm/src/component/search-ui/filters/component/criterion/CurrenciesCriterion.js +20 -0
  227. package/esm/src/component/search-ui/filters/component/criterion/CurrenciesCriterion.js.map +1 -0
  228. package/esm/src/component/search-ui/filters/component/criterion/DateRangeCriterion.d.ts +6 -0
  229. package/esm/src/component/search-ui/filters/component/criterion/DateRangeCriterion.js +157 -0
  230. package/esm/src/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -0
  231. package/esm/src/component/search-ui/filters/component/criterion/ErrorCodeCriterion.d.ts +3 -0
  232. package/esm/src/component/search-ui/filters/component/criterion/ErrorCodeCriterion.js +40 -0
  233. package/esm/src/component/search-ui/filters/component/criterion/ErrorCodeCriterion.js.map +1 -0
  234. package/esm/src/component/search-ui/filters/component/criterion/ExactSearchCriterion.d.ts +2 -0
  235. package/esm/src/component/search-ui/filters/component/criterion/ExactSearchCriterion.js +37 -0
  236. package/esm/src/component/search-ui/filters/component/criterion/ExactSearchCriterion.js.map +1 -0
  237. package/esm/src/component/search-ui/filters/component/criterion/GroupingCriterion.d.ts +2 -0
  238. package/esm/src/component/search-ui/filters/component/criterion/GroupingCriterion.js +45 -0
  239. package/esm/src/component/search-ui/filters/component/criterion/GroupingCriterion.js.map +1 -0
  240. package/esm/src/component/search-ui/filters/component/criterion/MarkerStatusCriterion.d.ts +2 -0
  241. package/esm/src/component/search-ui/filters/component/criterion/MarkerStatusCriterion.js +19 -0
  242. package/esm/src/component/search-ui/filters/component/criterion/MarkerStatusCriterion.js.map +1 -0
  243. package/esm/src/component/search-ui/filters/component/criterion/MarkerTypesCriterion.d.ts +2 -0
  244. package/esm/src/component/search-ui/filters/component/criterion/MarkerTypesCriterion.js +20 -0
  245. package/esm/src/component/search-ui/filters/component/criterion/MarkerTypesCriterion.js.map +1 -0
  246. package/esm/src/component/search-ui/filters/component/criterion/MfoFonfigurationTypesCriterion.d.ts +2 -0
  247. package/esm/src/component/search-ui/filters/component/criterion/MfoFonfigurationTypesCriterion.js +20 -0
  248. package/esm/src/component/search-ui/filters/component/criterion/MfoFonfigurationTypesCriterion.js.map +1 -0
  249. package/esm/src/component/search-ui/filters/component/criterion/MultigetCriterionPanel.d.ts +8 -0
  250. package/esm/src/component/search-ui/filters/component/criterion/MultigetCriterionPanel.js +95 -0
  251. package/esm/src/component/search-ui/filters/component/criterion/MultigetCriterionPanel.js.map +1 -0
  252. package/esm/src/component/search-ui/filters/component/criterion/ProcessorLogEntryTypesCriterion.d.ts +2 -0
  253. package/esm/src/component/search-ui/filters/component/criterion/ProcessorLogEntryTypesCriterion.js +20 -0
  254. package/esm/src/component/search-ui/filters/component/criterion/ProcessorLogEntryTypesCriterion.js.map +1 -0
  255. package/esm/src/component/search-ui/filters/component/criterion/ProjectCurrencyCriterion.d.ts +2 -0
  256. package/esm/src/component/search-ui/filters/component/criterion/ProjectCurrencyCriterion.js +62 -0
  257. package/esm/src/component/search-ui/filters/component/criterion/ProjectCurrencyCriterion.js.map +1 -0
  258. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceStatusesCriterion.d.ts +2 -0
  259. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceStatusesCriterion.js +20 -0
  260. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceStatusesCriterion.js.map +1 -0
  261. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceTypesCriterion.d.ts +2 -0
  262. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceTypesCriterion.js +20 -0
  263. package/esm/src/component/search-ui/filters/component/criterion/RecurrenceTypesCriterion.js.map +1 -0
  264. package/esm/src/component/search-ui/filters/component/criterion/StatusCriterion.d.ts +2 -0
  265. package/esm/src/component/search-ui/filters/component/criterion/StatusCriterion.js +19 -0
  266. package/esm/src/component/search-ui/filters/component/criterion/StatusCriterion.js.map +1 -0
  267. package/esm/src/component/search-ui/filters/component/criterion/ThreeDCriterion.d.ts +2 -0
  268. package/esm/src/component/search-ui/filters/component/criterion/ThreeDCriterion.js +24 -0
  269. package/esm/src/component/search-ui/filters/component/criterion/ThreeDCriterion.js.map +1 -0
  270. package/esm/src/component/search-ui/filters/component/criterion/TransactionSessionStatusCriterion.d.ts +3 -0
  271. package/esm/src/component/search-ui/filters/component/criterion/TransactionSessionStatusCriterion.js +82 -0
  272. package/esm/src/component/search-ui/filters/component/criterion/TransactionSessionStatusCriterion.js.map +1 -0
  273. package/esm/src/component/search-ui/filters/component/criterion/TransactionStatusesCriterion.d.ts +3 -0
  274. package/esm/src/component/search-ui/filters/component/criterion/TransactionStatusesCriterion.js +21 -0
  275. package/esm/src/component/search-ui/filters/component/criterion/TransactionStatusesCriterion.js.map +1 -0
  276. package/esm/src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.d.ts +2 -0
  277. package/esm/src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js +20 -0
  278. package/esm/src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js.map +1 -0
  279. package/esm/src/component/search-ui/filters/component/criterion/orders-search/AmountMaskInput.d.ts +13 -0
  280. package/esm/src/component/search-ui/filters/component/criterion/orders-search/AmountMaskInput.js +16 -0
  281. package/esm/src/component/search-ui/filters/component/criterion/orders-search/AmountMaskInput.js.map +1 -0
  282. package/esm/src/component/search-ui/filters/component/criterion/orders-search/Card6And4MaskInput.d.ts +13 -0
  283. package/esm/src/component/search-ui/filters/component/criterion/orders-search/Card6And4MaskInput.js +9 -0
  284. package/esm/src/component/search-ui/filters/component/criterion/orders-search/Card6And4MaskInput.js.map +1 -0
  285. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCountrySelect.d.ts +2 -0
  286. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCountrySelect.js +33 -0
  287. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCountrySelect.js.map +1 -0
  288. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCriterion.d.ts +2 -0
  289. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCriterion.js +19 -0
  290. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchCriterion.js.map +1 -0
  291. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchInput.d.ts +2 -0
  292. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchInput.js +84 -0
  293. package/esm/src/component/search-ui/filters/component/criterion/orders-search/OrdersSearchInput.js.map +1 -0
  294. package/esm/src/component/search-ui/filters/component/criterion/style.d.ts +2 -0
  295. package/esm/src/component/search-ui/filters/component/criterion/style.js +12 -0
  296. package/esm/src/component/search-ui/filters/component/criterion/style.js.map +1 -0
  297. package/esm/src/component/search-ui/filters/component/select/SearchUIAbstractEntitySelect.d.ts +9 -0
  298. package/esm/src/component/search-ui/filters/component/select/SearchUIAbstractEntitySelect.js +82 -0
  299. package/esm/src/component/search-ui/filters/component/select/SearchUIAbstractEntitySelect.js.map +1 -0
  300. package/esm/src/component/search-ui/filters/component/select/SearchUIAddFilter.d.ts +8 -0
  301. package/esm/src/component/search-ui/filters/component/select/SearchUIAddFilter.js +47 -0
  302. package/esm/src/component/search-ui/filters/component/select/SearchUIAddFilter.js.map +1 -0
  303. package/esm/src/component/search-ui/filters/component/select/SearchUICollapsableGroupSelect.d.ts +8 -0
  304. package/esm/src/component/search-ui/filters/component/select/SearchUICollapsableGroupSelect.js +169 -0
  305. package/esm/src/component/search-ui/filters/component/select/SearchUICollapsableGroupSelect.js.map +1 -0
  306. package/esm/src/component/search-ui/filters/component/select/SearchUICountriesSelect.d.ts +10 -0
  307. package/esm/src/component/search-ui/filters/component/select/SearchUICountriesSelect.js +71 -0
  308. package/esm/src/component/search-ui/filters/component/select/SearchUICountriesSelect.js.map +1 -0
  309. package/esm/src/component/search-ui/filters/component/select/SearchUIDateRangeSpecTypeSelect.d.ts +3 -0
  310. package/esm/src/component/search-ui/filters/component/select/SearchUIDateRangeSpecTypeSelect.js +53 -0
  311. package/esm/src/component/search-ui/filters/component/select/SearchUIDateRangeSpecTypeSelect.js.map +1 -0
  312. package/esm/src/component/search-ui/filters/component/select/SearchUIExactSearchLabelSelect.d.ts +9 -0
  313. package/esm/src/component/search-ui/filters/component/select/SearchUIExactSearchLabelSelect.js +16 -0
  314. package/esm/src/component/search-ui/filters/component/select/SearchUIExactSearchLabelSelect.js.map +1 -0
  315. package/esm/src/component/search-ui/filters/component/select/SearchUIGroupingDateTypeSelect.d.ts +3 -0
  316. package/esm/src/component/search-ui/filters/component/select/SearchUIGroupingDateTypeSelect.js +19 -0
  317. package/esm/src/component/search-ui/filters/component/select/SearchUIGroupingDateTypeSelect.js.map +1 -0
  318. package/esm/src/component/search-ui/filters/component/select/SearchUIOrderDateTypeSelect.d.ts +2 -0
  319. package/esm/src/component/search-ui/filters/component/select/SearchUIOrderDateTypeSelect.js +28 -0
  320. package/esm/src/component/search-ui/filters/component/select/SearchUIOrderDateTypeSelect.js.map +1 -0
  321. package/esm/src/component/search-ui/filters/component/select/SearchUIOrdersSearchLabelSelect.d.ts +2 -0
  322. package/esm/src/component/search-ui/filters/component/select/SearchUIOrdersSearchLabelSelect.js +15 -0
  323. package/esm/src/component/search-ui/filters/component/select/SearchUIOrdersSearchLabelSelect.js.map +1 -0
  324. package/esm/src/component/search-ui/filters/component/select/SearchUIProcessorLogEntryTypeSelect.d.ts +9 -0
  325. package/esm/src/component/search-ui/filters/component/select/SearchUIProcessorLogEntryTypeSelect.js +20 -0
  326. package/esm/src/component/search-ui/filters/component/select/SearchUIProcessorLogEntryTypeSelect.js.map +1 -0
  327. package/esm/src/component/search-ui/filters/component/select/style.d.ts +2 -0
  328. package/esm/src/component/search-ui/filters/component/select/style.js +23 -0
  329. package/esm/src/component/search-ui/filters/component/select/style.js.map +1 -0
  330. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatePanel.d.ts +6 -0
  331. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatePanel.js +77 -0
  332. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatePanel.js.map +1 -0
  333. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatesMenu.d.ts +3 -0
  334. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatesMenu.js +100 -0
  335. package/esm/src/component/search-ui/filters/component/template/SearchUITemplatesMenu.js.map +1 -0
  336. package/esm/src/component/search-ui/filters/criterionAvailability.d.ts +7 -0
  337. package/esm/src/component/search-ui/filters/criterionAvailability.js +8 -0
  338. package/esm/src/component/search-ui/filters/criterionAvailability.js.map +1 -0
  339. package/esm/src/component/search-ui/filters/state/actions.d.ts +10 -0
  340. package/esm/src/component/search-ui/filters/state/actions.js +1047 -0
  341. package/esm/src/component/search-ui/filters/state/actions.js.map +1 -0
  342. package/esm/src/component/search-ui/filters/state/initial.d.ts +13 -0
  343. package/esm/src/component/search-ui/filters/state/initial.js +114 -0
  344. package/esm/src/component/search-ui/filters/state/initial.js.map +1 -0
  345. package/esm/src/component/search-ui/filters/state/store.d.ts +1067 -0
  346. package/esm/src/component/search-ui/filters/state/store.js +11 -0
  347. package/esm/src/component/search-ui/filters/state/store.js.map +1 -0
  348. package/esm/src/component/search-ui/filters/state/type.d.ts +84 -0
  349. package/esm/src/component/search-ui/filters/state/type.js +2 -0
  350. package/esm/src/component/search-ui/filters/state/type.js.map +1 -0
  351. package/esm/src/component/search-ui/filters/state/undo.d.ts +2 -0
  352. package/esm/src/component/search-ui/filters/state/undo.js +32 -0
  353. package/esm/src/component/search-ui/filters/state/undo.js.map +1 -0
  354. package/esm/src/component/search-ui/filters/styled.d.ts +6 -0
  355. package/esm/src/component/search-ui/filters/styled.js +77 -0
  356. package/esm/src/component/search-ui/filters/styled.js.map +1 -0
  357. package/esm/src/component/search-ui/filters/types.d.ts +231 -0
  358. package/esm/src/component/search-ui/filters/types.js +202 -0
  359. package/esm/src/component/search-ui/filters/types.js.map +1 -0
  360. package/esm/src/component/search-ui/multiget_select/MultigetSelect.d.ts +11 -0
  361. package/esm/src/component/search-ui/multiget_select/MultigetSelect.js +212 -0
  362. package/esm/src/component/search-ui/multiget_select/MultigetSelect.js.map +1 -0
  363. package/esm/src/component/search-ui/multiget_select/MultigetSelectTable.d.ts +2 -0
  364. package/esm/src/component/search-ui/multiget_select/MultigetSelectTable.js +70 -0
  365. package/esm/src/component/search-ui/multiget_select/MultigetSelectTable.js.map +1 -0
  366. package/esm/src/component/search-ui/multiget_select/state/IsolatedStoreProvider.d.ts +6 -0
  367. package/esm/src/component/search-ui/multiget_select/state/IsolatedStoreProvider.js +7 -0
  368. package/esm/src/component/search-ui/multiget_select/state/IsolatedStoreProvider.js.map +1 -0
  369. package/esm/src/component/search-ui/multiget_select/state/actions.d.ts +3 -0
  370. package/esm/src/component/search-ui/multiget_select/state/actions.js +49 -0
  371. package/esm/src/component/search-ui/multiget_select/state/actions.js.map +1 -0
  372. package/esm/src/component/search-ui/multiget_select/state/initial.d.ts +2 -0
  373. package/esm/src/component/search-ui/multiget_select/state/initial.js +13 -0
  374. package/esm/src/component/search-ui/multiget_select/state/initial.js.map +1 -0
  375. package/esm/src/component/search-ui/multiget_select/state/store.d.ts +112 -0
  376. package/esm/src/component/search-ui/multiget_select/state/store.js +20 -0
  377. package/esm/src/component/search-ui/multiget_select/state/store.js.map +1 -0
  378. package/esm/src/component/search-ui/multiget_select/state/type.d.ts +26 -0
  379. package/esm/src/component/search-ui/multiget_select/state/type.js +2 -0
  380. package/esm/src/component/search-ui/multiget_select/state/type.js.map +1 -0
  381. package/esm/src/component/search-ui/state/actions.d.ts +3 -0
  382. package/esm/src/component/search-ui/state/actions.js +8 -0
  383. package/esm/src/component/search-ui/state/actions.js.map +1 -0
  384. package/esm/src/component/search-ui/state/initial.d.ts +2 -0
  385. package/esm/src/component/search-ui/state/initial.js +32 -0
  386. package/esm/src/component/search-ui/state/initial.js.map +1 -0
  387. package/esm/src/component/search-ui/state/store.d.ts +83 -0
  388. package/esm/src/component/search-ui/state/store.js +9 -0
  389. package/esm/src/component/search-ui/state/store.js.map +1 -0
  390. package/esm/src/component/search-ui/state/type.d.ts +8 -0
  391. package/esm/src/component/search-ui/state/type.js +2 -0
  392. package/esm/src/component/search-ui/state/type.js.map +1 -0
  393. package/esm/src/component/table/AbstractHeaderTableCell.d.ts +4 -0
  394. package/esm/src/component/table/AbstractHeaderTableCell.js +20 -0
  395. package/esm/src/component/table/AbstractHeaderTableCell.js.map +1 -0
  396. package/esm/src/component/table/AbstractTable.d.ts +45 -0
  397. package/esm/src/component/table/AbstractTable.js +112 -0
  398. package/esm/src/component/table/AbstractTable.js.map +1 -0
  399. package/esm/src/component/table/AbstractTableCell.d.ts +4 -0
  400. package/esm/src/component/table/AbstractTableCell.js +7 -0
  401. package/esm/src/component/table/AbstractTableCell.js.map +1 -0
  402. package/esm/src/component/table/PneFirstPageIcon.d.ts +6 -0
  403. package/esm/src/component/table/PneFirstPageIcon.js +10 -0
  404. package/esm/src/component/table/PneFirstPageIcon.js.map +1 -0
  405. package/esm/src/component/table/PneHeaderTableCell.d.ts +4 -0
  406. package/esm/src/component/table/PneHeaderTableCell.js +17 -0
  407. package/esm/src/component/table/PneHeaderTableCell.js.map +1 -0
  408. package/esm/src/component/table/PneLastPageIcon.d.ts +6 -0
  409. package/esm/src/component/table/PneLastPageIcon.js +10 -0
  410. package/esm/src/component/table/PneLastPageIcon.js.map +1 -0
  411. package/esm/src/component/table/PneNextPageIcon.d.ts +6 -0
  412. package/esm/src/component/table/PneNextPageIcon.js +10 -0
  413. package/esm/src/component/table/PneNextPageIcon.js.map +1 -0
  414. package/esm/src/component/table/PnePreviousPageIcon.d.ts +6 -0
  415. package/esm/src/component/table/PnePreviousPageIcon.js +10 -0
  416. package/esm/src/component/table/PnePreviousPageIcon.js.map +1 -0
  417. package/esm/src/component/table/PneTable.d.ts +4 -0
  418. package/esm/src/component/table/PneTable.js +19 -0
  419. package/esm/src/component/table/PneTable.js.map +1 -0
  420. package/esm/src/component/table/PneTableCell.d.ts +6 -0
  421. package/esm/src/component/table/PneTableCell.js +20 -0
  422. package/esm/src/component/table/PneTableCell.js.map +1 -0
  423. package/esm/src/component/table/PneTableControlCell.d.ts +6 -0
  424. package/esm/src/component/table/PneTableControlCell.js +15 -0
  425. package/esm/src/component/table/PneTableControlCell.js.map +1 -0
  426. package/esm/src/component/table/PneTablePagination.d.ts +2 -0
  427. package/esm/src/component/table/PneTablePagination.js +28 -0
  428. package/esm/src/component/table/PneTablePagination.js.map +1 -0
  429. package/esm/src/component/table/PneTablePaginationActions.d.ts +12 -0
  430. package/esm/src/component/table/PneTablePaginationActions.js +119 -0
  431. package/esm/src/component/table/PneTablePaginationActions.js.map +1 -0
  432. package/esm/src/component/table/PneTableRow.d.ts +4 -0
  433. package/esm/src/component/table/PneTableRow.js +28 -0
  434. package/esm/src/component/table/PneTableRow.js.map +1 -0
  435. package/esm/src/component/table/PneTableSortLabel.d.ts +10 -0
  436. package/esm/src/component/table/PneTableSortLabel.js +35 -0
  437. package/esm/src/component/table/PneTableSortLabel.js.map +1 -0
  438. package/esm/src/component/table/state/actions.d.ts +3 -0
  439. package/esm/src/component/table/state/actions.js +8 -0
  440. package/esm/src/component/table/state/actions.js.map +1 -0
  441. package/esm/src/component/table/state/initial.d.ts +2 -0
  442. package/esm/src/component/table/state/initial.js +4 -0
  443. package/esm/src/component/table/state/initial.js.map +1 -0
  444. package/esm/src/component/table/state/store.d.ts +11 -0
  445. package/esm/src/component/table/state/store.js +9 -0
  446. package/esm/src/component/table/state/store.js.map +1 -0
  447. package/esm/src/component/table/state/type.d.ts +7 -0
  448. package/esm/src/component/table/state/type.js +2 -0
  449. package/esm/src/component/table/state/type.js.map +1 -0
  450. package/esm/src/component/table/type.d.ts +5 -0
  451. package/esm/src/component/table/type.js +2 -0
  452. package/esm/src/component/table/type.js.map +1 -0
  453. package/esm/src/component/table/useDelayedLoading.d.ts +9 -0
  454. package/esm/src/component/table/useDelayedLoading.js +48 -0
  455. package/esm/src/component/table/useDelayedLoading.js.map +1 -0
  456. package/esm/src/component/table/useTable.d.ts +41 -0
  457. package/esm/src/component/table/useTable.js +242 -0
  458. package/esm/src/component/table/useTable.js.map +1 -0
  459. package/esm/src/component/useModal.d.ts +8 -0
  460. package/esm/src/component/useModal.js +14 -0
  461. package/esm/src/component/useModal.js.map +1 -0
  462. package/esm/src/component/widget-board/WidgetBoard.d.ts +13 -0
  463. package/esm/src/component/widget-board/WidgetBoard.js +326 -0
  464. package/esm/src/component/widget-board/WidgetBoard.js.map +1 -0
  465. package/esm/src/component/widget-board/WidgetBoardFab.d.ts +6 -0
  466. package/esm/src/component/widget-board/WidgetBoardFab.js +23 -0
  467. package/esm/src/component/widget-board/WidgetBoardFab.js.map +1 -0
  468. package/esm/src/component/widget-board/WidgetBoardItem.d.ts +16 -0
  469. package/esm/src/component/widget-board/WidgetBoardItem.js +50 -0
  470. package/esm/src/component/widget-board/WidgetBoardItem.js.map +1 -0
  471. package/esm/src/component/widget-board/WidgetBoardScope.d.ts +7 -0
  472. package/esm/src/component/widget-board/WidgetBoardScope.js +17 -0
  473. package/esm/src/component/widget-board/WidgetBoardScope.js.map +1 -0
  474. package/esm/src/component/widget-board/WidgetBoardSkeleton.d.ts +2 -0
  475. package/esm/src/component/widget-board/WidgetBoardSkeleton.js +60 -0
  476. package/esm/src/component/widget-board/WidgetBoardSkeleton.js.map +1 -0
  477. package/esm/src/component/widget-board/WidgetBoardVisibilityModal.d.ts +10 -0
  478. package/esm/src/component/widget-board/WidgetBoardVisibilityModal.js +42 -0
  479. package/esm/src/component/widget-board/WidgetBoardVisibilityModal.js.map +1 -0
  480. package/esm/src/component/widget-board/WidgetLayoutsPanel.d.ts +21 -0
  481. package/esm/src/component/widget-board/WidgetLayoutsPanel.js +124 -0
  482. package/esm/src/component/widget-board/WidgetLayoutsPanel.js.map +1 -0
  483. package/esm/src/component/widget-board/index.d.ts +8 -0
  484. package/esm/src/component/widget-board/index.js +9 -0
  485. package/esm/src/component/widget-board/index.js.map +1 -0
  486. package/esm/src/component/widget-board/layoutPersistence.d.ts +2 -0
  487. package/esm/src/component/widget-board/layoutPersistence.js +60 -0
  488. package/esm/src/component/widget-board/layoutPersistence.js.map +1 -0
  489. package/esm/src/component/widget-board/types.d.ts +75 -0
  490. package/esm/src/component/widget-board/types.js +2 -0
  491. package/esm/src/component/widget-board/types.js.map +1 -0
  492. package/esm/src/component/widget-board/useWidgetBoardAutosize.d.ts +19 -0
  493. package/esm/src/component/widget-board/useWidgetBoardAutosize.js +180 -0
  494. package/esm/src/component/widget-board/useWidgetBoardAutosize.js.map +1 -0
  495. package/esm/src/component/widget-board/useWidgetBoardFabActions.d.ts +11 -0
  496. package/esm/src/component/widget-board/useWidgetBoardFabActions.js +99 -0
  497. package/esm/src/component/widget-board/useWidgetBoardFabActions.js.map +1 -0
  498. package/esm/src/component/widget-board/useWidgetBoardInteractionLock.d.ts +1 -0
  499. package/esm/src/component/widget-board/useWidgetBoardInteractionLock.js +25 -0
  500. package/esm/src/component/widget-board/useWidgetBoardInteractionLock.js.map +1 -0
  501. package/esm/src/component/widget-board/useWidgetBoardLayoutActions.d.ts +28 -0
  502. package/esm/src/component/widget-board/useWidgetBoardLayoutActions.js +140 -0
  503. package/esm/src/component/widget-board/useWidgetBoardLayoutActions.js.map +1 -0
  504. package/esm/src/component/widget-board/useWidgetBoardLayoutSource.d.ts +29 -0
  505. package/esm/src/component/widget-board/useWidgetBoardLayoutSource.js +68 -0
  506. package/esm/src/component/widget-board/useWidgetBoardLayoutSource.js.map +1 -0
  507. package/esm/src/component/widget-board/useWidgetBoardStateActions.d.ts +24 -0
  508. package/esm/src/component/widget-board/useWidgetBoardStateActions.js +245 -0
  509. package/esm/src/component/widget-board/useWidgetBoardStateActions.js.map +1 -0
  510. package/esm/src/component/widget-board/widgetBoardFabStore.d.ts +27 -0
  511. package/esm/src/component/widget-board/widgetBoardFabStore.js +12 -0
  512. package/esm/src/component/widget-board/widgetBoardFabStore.js.map +1 -0
  513. package/esm/src/component/widget-board/widgetBoardLayoutUtils.d.ts +21 -0
  514. package/esm/src/component/widget-board/widgetBoardLayoutUtils.js +113 -0
  515. package/esm/src/component/widget-board/widgetBoardLayoutUtils.js.map +1 -0
  516. package/esm/src/createTheme.d.ts +3 -0
  517. package/esm/src/createTheme.js +142 -0
  518. package/esm/src/createTheme.js.map +1 -0
  519. package/esm/src/exports/buttons.d.ts +2 -0
  520. package/esm/src/exports/buttons.js +3 -0
  521. package/esm/src/exports/buttons.js.map +1 -0
  522. package/esm/src/exports/cloudscape.d.ts +5 -0
  523. package/esm/src/exports/cloudscape.js +6 -0
  524. package/esm/src/exports/cloudscape.js.map +1 -0
  525. package/esm/src/exports/confirm.d.ts +1 -0
  526. package/esm/src/exports/confirm.js +2 -0
  527. package/esm/src/exports/confirm.js.map +1 -0
  528. package/esm/src/exports/entities.d.ts +2 -0
  529. package/esm/src/exports/entities.js +3 -0
  530. package/esm/src/exports/entities.js.map +1 -0
  531. package/esm/src/exports/fab.d.ts +1 -0
  532. package/esm/src/exports/fab.js +2 -0
  533. package/esm/src/exports/fab.js.map +1 -0
  534. package/esm/src/exports/inputs.d.ts +10 -0
  535. package/esm/src/exports/inputs.js +9 -0
  536. package/esm/src/exports/inputs.js.map +1 -0
  537. package/esm/src/exports/modals.d.ts +2 -0
  538. package/esm/src/exports/modals.js +3 -0
  539. package/esm/src/exports/modals.js.map +1 -0
  540. package/esm/src/exports/overlay.d.ts +4 -0
  541. package/esm/src/exports/overlay.js +5 -0
  542. package/esm/src/exports/overlay.js.map +1 -0
  543. package/esm/src/exports/search.d.ts +7 -0
  544. package/esm/src/exports/search.js +7 -0
  545. package/esm/src/exports/search.js.map +1 -0
  546. package/esm/src/exports/table.d.ts +13 -0
  547. package/esm/src/exports/table.js +11 -0
  548. package/esm/src/exports/table.js.map +1 -0
  549. package/esm/src/exports/theme.d.ts +2 -0
  550. package/esm/src/exports/theme.js +2 -0
  551. package/esm/src/exports/theme.js.map +1 -0
  552. package/esm/src/exports/utils.d.ts +4 -0
  553. package/esm/src/exports/utils.js +5 -0
  554. package/esm/src/exports/utils.js.map +1 -0
  555. package/esm/src/index.d.ts +62 -0
  556. package/esm/src/index.js +14 -0
  557. package/esm/src/index.js.map +1 -0
  558. package/esm/src/usePneTheme.d.ts +2 -0
  559. package/esm/src/usePneTheme.js +5 -0
  560. package/esm/src/usePneTheme.js.map +1 -0
  561. package/package.json +22 -19
@@ -0,0 +1,41 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { PaginatorProps, RowsPerPageOption } from './AbstractTable';
3
+ import { SxProps } from '@mui/material';
4
+ import { Order } from "../../common/pne/type";
5
+ import { TableDisplayOptions } from "./type";
6
+ type FetchDataArgs = {
7
+ page: number;
8
+ pageSize: number;
9
+ order: Order;
10
+ sortIndex: number;
11
+ extraDeps?: unknown[];
12
+ };
13
+ export type UseTableParams<D> = {
14
+ displayOptions?: Partial<TableDisplayOptions>;
15
+ onDisplayOptionsChange?: (options: TableDisplayOptions) => void;
16
+ paginatorActiveActionSx?: SxProps;
17
+ duplicatePagination?: boolean;
18
+ rowsPerPageOptions?: RowsPerPageOption[];
19
+ settingsContextName?: string;
20
+ dataUseState?: [D[], Dispatch<SetStateAction<D[]>>];
21
+ fetchData?: (args: FetchDataArgs) => Promise<D[]>;
22
+ fetchDataExtraDeps?: unknown[];
23
+ };
24
+ interface IUseTableResult<D> {
25
+ page: number;
26
+ pageSize: number;
27
+ loading: boolean;
28
+ setHasNext: Dispatch<SetStateAction<boolean>>;
29
+ paginator: PaginatorProps;
30
+ data: D[];
31
+ setData: Dispatch<SetStateAction<D[]>>;
32
+ setSortIndex: Dispatch<SetStateAction<number>>;
33
+ sortIndex: number;
34
+ setOrder: Dispatch<SetStateAction<Order>>;
35
+ order: Order;
36
+ onSortChange: (sortIndex: number, sortOrder: Order) => void;
37
+ useSimpleFetch: (dataGetter: () => Promise<D[]>) => void;
38
+ }
39
+ declare const useTable: <D>(params?: UseTableParams<D>) => IUseTableResult<D>;
40
+ export default useTable;
41
+ export declare const useIsFirstRender: () => boolean;
@@ -0,0 +1,242 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import { ensure } from "../../common/pne/type";
3
+ import { usePneTableStore } from "./state/store";
4
+ const PAGE_SIZE_SETTING_NAME = 'page_size';
5
+ const PAGE_NUMBER_SETTING_NAME = 'page_number';
6
+ const SORT_INDEX_SETTING_NAME = 'sort_index';
7
+ const SORT_ORDER_ASC_SETTING_NAME = 'sort_asc';
8
+ const useTable = (params = {}) => {
9
+ const { displayOptions, onDisplayOptionsChange, paginatorActiveActionSx = {}, rowsPerPageOptions = [10, 25, 50 /*, {label: '∞', value: -1}*/], settingsContextName, dataUseState, fetchData, fetchDataExtraDeps, duplicatePagination, } = params;
10
+ const { needToScrollToPagination, setNeedToScrollToPagination, } = usePneTableStore((store) => ({
11
+ needToScrollToPagination: store.needToScrollToPagination,
12
+ setNeedToScrollToPagination: store.setNeedToScrollToPagination,
13
+ }));
14
+ // const [initialDisplayOptions, setInitialDisplayOptions] = useState<TableDisplayOptions>({
15
+ // pageSize: 10,
16
+ // sortColumnIndex: 1,
17
+ // sortAsc: true
18
+ // })
19
+ let initialPageSize = rowsPerPageOptions[rowsPerPageOptions.length - 1];
20
+ if (displayOptions?.pageSize && rowsPerPageOptions.includes(displayOptions?.pageSize)) {
21
+ initialPageSize = displayOptions?.pageSize;
22
+ }
23
+ let initialSortIndex = displayOptions?.sortColumnIndex || 1;
24
+ let initialSortOrder = 'asc';
25
+ if (typeof displayOptions?.sortAsc !== 'undefined') {
26
+ initialSortOrder = displayOptions.sortAsc ? 'asc' : 'desc';
27
+ }
28
+ let initialPageNumber = 0;
29
+ if (settingsContextName) {
30
+ if (sessionStorage.hasOwnProperty(settingsContextName + PAGE_SIZE_SETTING_NAME)) {
31
+ initialPageSize = +ensure(sessionStorage.getItem(settingsContextName + PAGE_SIZE_SETTING_NAME));
32
+ }
33
+ if (sessionStorage.hasOwnProperty(settingsContextName + PAGE_NUMBER_SETTING_NAME)) {
34
+ initialPageNumber = +ensure(sessionStorage.getItem(settingsContextName + PAGE_NUMBER_SETTING_NAME));
35
+ }
36
+ if (sessionStorage.hasOwnProperty(settingsContextName + SORT_INDEX_SETTING_NAME)) {
37
+ initialSortIndex = +ensure(sessionStorage.getItem(settingsContextName + SORT_INDEX_SETTING_NAME));
38
+ }
39
+ if (sessionStorage.hasOwnProperty(settingsContextName + SORT_ORDER_ASC_SETTING_NAME)) {
40
+ initialSortOrder = ensure(sessionStorage.getItem(settingsContextName + SORT_ORDER_ASC_SETTING_NAME));
41
+ }
42
+ }
43
+ const [pageNumber, setPageNumber] = useState(initialPageNumber);
44
+ const [pageSize, setPageSize] = useState(initialPageSize);
45
+ const [hasNext, setHasNext] = useState(false);
46
+ const [disableActions, setDisableActions] = useState(false);
47
+ const [loading, setLoading] = useState(!!fetchData);
48
+ const [data, setData] = useState([]);
49
+ const [sortIndex, setSortIndex] = useState(initialSortIndex);
50
+ const [order, setOrder] = useState(initialSortOrder);
51
+ const getData = () => {
52
+ return dataUseState ? dataUseState[0] : data;
53
+ };
54
+ const getSetData = () => {
55
+ return dataUseState ? dataUseState[1] : setData;
56
+ };
57
+ useEffect(() => {
58
+ setPageSize(initialPageSize);
59
+ }, [initialPageSize]);
60
+ useEffect(() => {
61
+ setPageNumber(initialPageNumber);
62
+ }, [initialPageNumber]);
63
+ const isFirstRender = useIsFirstRender();
64
+ useEffect(() => {
65
+ if (!isFirstRender) {
66
+ if (getData().length === 0 && pageNumber !== 0) {
67
+ setPageNumber(0);
68
+ }
69
+ }
70
+ }, [getData().length]);
71
+ const displayedRowsLabel = () => {
72
+ if (getData().length === 0) {
73
+ if (pageNumber === 0) {
74
+ return 'Ø';
75
+ }
76
+ else {
77
+ return (pageNumber * pageSize + 1) + ' - ' + (pageNumber * pageSize + pageSize);
78
+ }
79
+ }
80
+ return (pageNumber * pageSize + 1) + ' - ' + (pageNumber * pageSize + getData().length);
81
+ };
82
+ const onSortChange = (sortIndex, sortOrder) => {
83
+ if (settingsContextName) {
84
+ sessionStorage.setItem(settingsContextName + SORT_INDEX_SETTING_NAME, sortIndex.toString());
85
+ }
86
+ if (settingsContextName) {
87
+ sessionStorage.setItem(settingsContextName + SORT_ORDER_ASC_SETTING_NAME, sortOrder);
88
+ }
89
+ };
90
+ const wrapSetHasNext = (hasNext) => {
91
+ setHasNext(hasNext);
92
+ setDisableActions(false);
93
+ };
94
+ const paginationRef = useRef(null);
95
+ const scrollToPagination = () => {
96
+ if (needToScrollToPagination) {
97
+ setTimeout(() => {
98
+ if (paginationRef.current) {
99
+ paginationRef.current.scrollIntoView({ behavior: "smooth", block: "end" });
100
+ }
101
+ }, 100);
102
+ setNeedToScrollToPagination(false);
103
+ }
104
+ };
105
+ const paginator = {
106
+ rowsPerPageOptions: rowsPerPageOptions,
107
+ rowsPerPage: pageSize,
108
+ page: pageNumber,
109
+ disableActions: disableActions,
110
+ onPageChange: (event, newPage) => {
111
+ setDisableActions(true);
112
+ setPageNumber(newPage);
113
+ if (settingsContextName) {
114
+ sessionStorage.setItem(settingsContextName + PAGE_NUMBER_SETTING_NAME, newPage.toString());
115
+ }
116
+ },
117
+ onPageSizeChange: (pageSize) => {
118
+ //infinity case
119
+ if (pageSize < 0) {
120
+ setPageSize(999);
121
+ sessionStorage.setItem(settingsContextName + PAGE_SIZE_SETTING_NAME, '999');
122
+ }
123
+ else {
124
+ setPageSize(pageSize);
125
+ sessionStorage.setItem(settingsContextName + PAGE_SIZE_SETTING_NAME, pageSize.toString());
126
+ }
127
+ setPageNumber(0);
128
+ sessionStorage.setItem(settingsContextName + PAGE_NUMBER_SETTING_NAME, '0');
129
+ if (onDisplayOptionsChange) {
130
+ onDisplayOptionsChange({
131
+ pageSize: pageSize,
132
+ sortColumnIndex: sortIndex,
133
+ sortAsc: order === 'asc'
134
+ });
135
+ }
136
+ },
137
+ hasNext,
138
+ displayedRowsLabel: displayedRowsLabel(),
139
+ activeActionSx: paginatorActiveActionSx,
140
+ duplicatePagination: duplicatePagination,
141
+ paginationRef: paginationRef,
142
+ };
143
+ const afterDataFetch = (dataList) => {
144
+ getSetData()(dataList.slice(0, pageSize));
145
+ wrapSetHasNext(dataList.length === pageSize + 1);
146
+ setLoading(false);
147
+ scrollToPagination();
148
+ };
149
+ const fetchDataDeps = [pageNumber, pageSize, order, sortIndex];
150
+ if (fetchDataExtraDeps) {
151
+ fetchDataDeps.push(...fetchDataExtraDeps);
152
+ }
153
+ const shouldSkipFetchDate = useRef(false);
154
+ useEffect(() => {
155
+ let mounted = true;
156
+ if (shouldSkipFetchDate.current) {
157
+ shouldSkipFetchDate.current = false;
158
+ return;
159
+ }
160
+ setLoading(true);
161
+ const asyncFetchData = async (args) => {
162
+ if (fetchData) {
163
+ try {
164
+ let data = await fetchData(args);
165
+ /**
166
+ * Если получаем пустой массив, то проверим, первая ли это страница. Если нет, то, вероятно,
167
+ * с новыми параметрами поиска сервер отдает меньший массив данных, и нам нужно сбросить страницу
168
+ * на первую
169
+ * Это нужно только для того, чтобы не было промежуточного отображения 'no rows' между этими
170
+ * двумя запросами, в случае, когда первый раз получили пустой массив
171
+ */
172
+ if (data.length === 0 && args.page > 0) {
173
+ // пробуем получить первую страницу данных с новыми параметрами поиска
174
+ data = await fetchData({ ...args, page: 0 });
175
+ // надо предотвратить следующую перерисовку из-за измененного pageNumber
176
+ if (mounted) {
177
+ shouldSkipFetchDate.current = true;
178
+ setPageNumber(0);
179
+ }
180
+ }
181
+ if (mounted) {
182
+ afterDataFetch(data);
183
+ }
184
+ }
185
+ catch (err) {
186
+ console.error(err);
187
+ if (mounted) {
188
+ setLoading(false);
189
+ }
190
+ }
191
+ }
192
+ };
193
+ asyncFetchData({
194
+ page: pageNumber,
195
+ pageSize,
196
+ order,
197
+ sortIndex,
198
+ extraDeps: fetchDataExtraDeps,
199
+ });
200
+ return () => {
201
+ mounted = false;
202
+ };
203
+ }, fetchDataDeps);
204
+ const useSimpleFetch = (getter) => {
205
+ if (fetchData) {
206
+ throw new Error('useTable: Do not use useSimpleFetch hook and dataGetter param together! It makes no sense');
207
+ }
208
+ useEffect(() => {
209
+ setLoading(true);
210
+ getter()
211
+ .then(afterDataFetch)
212
+ .catch((err) => {
213
+ console.error(err);
214
+ setLoading(false);
215
+ });
216
+ }, fetchDataDeps);
217
+ };
218
+ return {
219
+ page: pageNumber,
220
+ pageSize,
221
+ loading,
222
+ setHasNext: wrapSetHasNext,
223
+ paginator,
224
+ data: getData(),
225
+ setData: getSetData(),
226
+ sortIndex,
227
+ setSortIndex,
228
+ order,
229
+ setOrder,
230
+ onSortChange,
231
+ useSimpleFetch,
232
+ };
233
+ };
234
+ export default useTable;
235
+ export const useIsFirstRender = () => {
236
+ const isMountRef = useRef(true);
237
+ useEffect(() => {
238
+ isMountRef.current = false;
239
+ }, []);
240
+ return isMountRef.current;
241
+ };
242
+ //# sourceMappingURL=useTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTable.js","sourceRoot":"","sources":["../../../../src/component/table/useTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ declare const useModal: () => {
3
+ open: boolean;
4
+ setOpen: Dispatch<SetStateAction<boolean>>;
5
+ handleOpen: () => void;
6
+ handleClose: () => void;
7
+ };
8
+ export default useModal;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ const useModal = () => {
3
+ const [open, setOpen] = React.useState(false);
4
+ const handleOpen = () => setOpen(true);
5
+ const handleClose = () => setOpen(false);
6
+ return {
7
+ open,
8
+ setOpen,
9
+ handleOpen,
10
+ handleClose,
11
+ };
12
+ };
13
+ export default useModal;
14
+ //# sourceMappingURL=useModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/component/useModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,MAAM,QAAQ,GAAG,GAKf,EAAE;IACA,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAExC,OAAO;QACH,IAAI;QACJ,OAAO;QACP,UAAU;QACV,WAAW;KACd,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import type { WidgetBoardActionsState, WidgetBoardProps } from './types';
3
+ export type WidgetBoardHandle = {
4
+ resetLayout: () => void;
5
+ restoreHidden: () => void;
6
+ getActionsState: () => WidgetBoardActionsState;
7
+ };
8
+ export type WidgetBoardInteractionState = {
9
+ isInteractionLocked: boolean;
10
+ };
11
+ export declare const WidgetBoardInteractionContext: React.Context<WidgetBoardInteractionState>;
12
+ export declare const useWidgetBoardInteraction: () => WidgetBoardInteractionState;
13
+ export declare const WidgetBoard: React.ForwardRefExoticComponent<WidgetBoardProps & React.RefAttributes<WidgetBoardHandle>>;
@@ -0,0 +1,326 @@
1
+ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';
2
+ import Board from '@cloudscape-design/board-components/board';
3
+ import { Box } from '@mui/material';
4
+ import { CloudscapeBoardStyles } from '../cloudscape/CloudscapeBoardStyles';
5
+ import { CloudscapeThemeProvider } from '../cloudscape/CloudscapeThemeProvider';
6
+ import { createBoardI18nStrings } from '../cloudscape/boardI18n';
7
+ import { buildPresetFromState } from './layoutPersistence';
8
+ import { useWidgetBoardAutosize } from './useWidgetBoardAutosize';
9
+ import { useWidgetBoardInteractionLock } from './useWidgetBoardInteractionLock';
10
+ import { useWidgetBoardLayoutActions } from './useWidgetBoardLayoutActions';
11
+ import { useWidgetBoardLayoutSource } from './useWidgetBoardLayoutSource';
12
+ import { useWidgetBoardScopeStore } from './WidgetBoardScope';
13
+ import { useWidgetBoardStateActions } from './useWidgetBoardStateActions';
14
+ import { WidgetBoardItem } from './WidgetBoardItem';
15
+ import { WidgetBoardSkeleton } from './WidgetBoardSkeleton';
16
+ import { buildDefaultState, buildLayoutOptions, getLayoutConfigForWidth, layoutOptionsEqual, withLayout, } from './widgetBoardLayoutUtils';
17
+ const resolveLayoutForBreakpoint = (layoutByBreakpoint, breakpointKey) => layoutByBreakpoint[breakpointKey] ??
18
+ layoutByBreakpoint[String(breakpointKey)] ??
19
+ layoutByBreakpoint[Number(breakpointKey)] ??
20
+ Object.values(layoutByBreakpoint)[0];
21
+ const normalizeHeightMode = (value) => value ?? 'auto';
22
+ const stringifyColumnOffset = (value) => JSON.stringify(value ?? null);
23
+ const getFixedHeightModeLocks = (layoutByBreakpoint, breakpointKey) => {
24
+ const layout = resolveLayoutForBreakpoint(layoutByBreakpoint, breakpointKey);
25
+ if (!layout)
26
+ return {};
27
+ return Object.fromEntries(Object.entries(layout.widgets)
28
+ .filter(([, widget]) => normalizeHeightMode(widget.heightMode) === 'fixed')
29
+ .map(([id]) => [id, true]));
30
+ };
31
+ const isSameWidgetLayout = (current, base, { ignoreHiddenState = false } = {}) => {
32
+ if (!current || !base)
33
+ return false;
34
+ const currentSize = current.defaultSize;
35
+ const baseSize = base.defaultSize;
36
+ const currentHeightMode = normalizeHeightMode(current.heightMode);
37
+ const baseHeightMode = normalizeHeightMode(base.heightMode);
38
+ if (currentHeightMode !== baseHeightMode)
39
+ return false;
40
+ if (currentSize.columnSpan !== baseSize.columnSpan ||
41
+ stringifyColumnOffset(currentSize.columnOffset) !== stringifyColumnOffset(baseSize.columnOffset)) {
42
+ return false;
43
+ }
44
+ // For auto-height widgets rowSpan is runtime-derived by autosize and should not mark layout as user-modified.
45
+ if (currentHeightMode === 'fixed' && currentSize.rowSpan !== baseSize.rowSpan) {
46
+ return false;
47
+ }
48
+ if (!ignoreHiddenState && Boolean(current.initialState?.isHidden) !== Boolean(base.initialState?.isHidden))
49
+ return false;
50
+ if (Boolean(current.initialState?.isCollapsed) !== Boolean(base.initialState?.isCollapsed))
51
+ return false;
52
+ return true;
53
+ };
54
+ const differsFromBaseLayout = (current, base, { hiddenWidgetIds, ignoreHiddenState = false } = {}) => {
55
+ if (!current || !base)
56
+ return false;
57
+ const hiddenSet = hiddenWidgetIds ? new Set(hiddenWidgetIds) : null;
58
+ const widgetIds = new Set([...Object.keys(current.widgets), ...Object.keys(base.widgets)]);
59
+ for (const widgetId of widgetIds) {
60
+ if (hiddenSet?.has(widgetId))
61
+ continue;
62
+ if (!isSameWidgetLayout(current.widgets[widgetId], base.widgets[widgetId], { ignoreHiddenState })) {
63
+ return true;
64
+ }
65
+ }
66
+ return false;
67
+ };
68
+ export const WidgetBoardInteractionContext = React.createContext({
69
+ isInteractionLocked: false,
70
+ });
71
+ export const useWidgetBoardInteraction = () => React.useContext(WidgetBoardInteractionContext);
72
+ export const WidgetBoard = forwardRef(function WidgetBoard({ widgets, layoutByBreakpoint, loadLayouts, saveLayouts, onActionsStateChange, autoHeightEnabled = true, }, ref) {
73
+ const [isLoadingLayouts, setIsLoadingLayouts] = useState(true);
74
+ const scopeFabStore = useWidgetBoardScopeStore();
75
+ const { breakpoints, currentBreakpointKey, defaultOption, layoutOptions, layoutOptionsMap, layoutPreset, layoutSource, layoutSourceOwnerIdRef, loadRequestIdRef, lockedLayoutIdRef, selectedLayoutId, selectedLayoutRef, setLayoutOptions, setLayoutPreset, setLayoutSource, setSelectedLayoutId, } = useWidgetBoardLayoutSource({ layoutByBreakpoint });
76
+ useEffect(() => {
77
+ let cancelled = false;
78
+ const requestId = ++loadRequestIdRef.current;
79
+ setIsLoadingLayouts(true);
80
+ loadLayouts()
81
+ .then(result => {
82
+ if (cancelled || loadRequestIdRef.current !== requestId || !result?.options)
83
+ return;
84
+ const nextOptions = buildLayoutOptions(result.options, defaultOption);
85
+ setLayoutOptions(prev => (layoutOptionsEqual(prev, nextOptions) ? prev : nextOptions));
86
+ lockedLayoutIdRef.current = defaultOption.id;
87
+ const currentSelected = selectedLayoutRef.current;
88
+ let nextSelected = currentSelected && nextOptions.some(option => option.id === currentSelected) ? currentSelected : undefined;
89
+ if (result.selectedId && nextOptions.some(option => option.id === result.selectedId)) {
90
+ nextSelected = result.selectedId;
91
+ }
92
+ else if (!nextSelected) {
93
+ nextSelected = nextOptions[0]?.id;
94
+ }
95
+ const nextOptionsMap = new Map(nextOptions.map(option => [option.id, option]));
96
+ const nextLayoutSource = nextOptionsMap.get(nextSelected ?? '')?.layoutByBreakpoint ?? defaultOption.layoutByBreakpoint;
97
+ const nextBreakpoints = Object.keys(nextLayoutSource)
98
+ .map(Number)
99
+ .sort((a, b) => a - b);
100
+ const nextPreset = getLayoutConfigForWidth(typeof window !== 'undefined' ? window.innerWidth : undefined, nextLayoutSource, nextBreakpoints);
101
+ const nextBreakpointKey = String(nextPreset.breakpoint ?? nextBreakpoints[0]);
102
+ const fallbackForNext = nextLayoutSource[nextBreakpoints[0]] ?? Object.values(nextLayoutSource)[0] ?? { widgets: {} };
103
+ const nextDefinitions = withLayout(widgets, nextPreset.layout ?? fallbackForNext);
104
+ layoutSourceOwnerIdRef.current = nextSelected ?? defaultOption.id;
105
+ setLayoutSource(prev => (prev === nextLayoutSource ? prev : nextLayoutSource));
106
+ setLayoutPreset(nextPreset);
107
+ setLayoutState(buildDefaultState(nextDefinitions, nextBreakpointKey));
108
+ if (nextSelected && nextSelected !== currentSelected) {
109
+ setSelectedLayoutId(nextSelected);
110
+ }
111
+ else if (!currentSelected && nextSelected) {
112
+ setSelectedLayoutId(nextSelected);
113
+ }
114
+ })
115
+ .catch(error => {
116
+ console.warn('Failed to load widget layouts', error);
117
+ })
118
+ .finally(() => {
119
+ if (cancelled || loadRequestIdRef.current !== requestId)
120
+ return;
121
+ setIsLoadingLayouts(false);
122
+ });
123
+ return () => {
124
+ cancelled = true;
125
+ };
126
+ }, [
127
+ defaultOption,
128
+ layoutSourceOwnerIdRef,
129
+ loadLayouts,
130
+ loadRequestIdRef,
131
+ lockedLayoutIdRef,
132
+ selectedLayoutRef,
133
+ setLayoutOptions,
134
+ setLayoutPreset,
135
+ setLayoutSource,
136
+ setSelectedLayoutId,
137
+ widgets,
138
+ ]);
139
+ const lockedHeightModeByWidgetId = useMemo(() => getFixedHeightModeLocks(layoutByBreakpoint, currentBreakpointKey), [currentBreakpointKey, layoutByBreakpoint]);
140
+ const fallbackLayoutConfig = useMemo(() => {
141
+ const firstKey = breakpoints[0];
142
+ return layoutSource[firstKey] ?? Object.values(layoutSource)[0];
143
+ }, [breakpoints, layoutSource]);
144
+ const definitionsWithLayout = useMemo(() => withLayout(widgets, layoutPreset.layout ?? fallbackLayoutConfig ?? { widgets: {} }), [fallbackLayoutConfig, layoutPreset.layout, widgets]);
145
+ const definitionsMap = useMemo(() => new Map(definitionsWithLayout.map(def => [def.id, def])), [definitionsWithLayout]);
146
+ const defaultBreakpointLayout = useMemo(() => resolveLayoutForBreakpoint(defaultOption.layoutByBreakpoint, currentBreakpointKey) ?? Object.values(defaultOption.layoutByBreakpoint)[0] ?? { widgets: {} }, [currentBreakpointKey, defaultOption.layoutByBreakpoint]);
147
+ const defaultDefinitionsWithLayout = useMemo(() => withLayout(widgets, defaultBreakpointLayout), [defaultBreakpointLayout, widgets]);
148
+ const defaultDefinitionsMap = useMemo(() => new Map(defaultDefinitionsWithLayout.map(def => [def.id, def])), [defaultDefinitionsWithLayout]);
149
+ const effectiveSelectedLayoutId = selectedLayoutId ?? defaultOption.id;
150
+ const [layoutState, setLayoutState] = useState(() => buildDefaultState(definitionsWithLayout, currentBreakpointKey));
151
+ const isInteractionLocked = useWidgetBoardInteractionLock();
152
+ const interactionState = useMemo(() => ({ isInteractionLocked }), [isInteractionLocked]);
153
+ const { boardRootRef, handleContentRef, measuredRowsRef, remeasureAll } = useWidgetBoardAutosize({
154
+ autoHeightEnabled,
155
+ lockedHeightModeByWidgetId,
156
+ definitionsMap,
157
+ currentBreakpointKey,
158
+ isInteractionLocked,
159
+ layoutPresetBreakpoint: layoutPreset.breakpoint,
160
+ setLayoutState,
161
+ });
162
+ useEffect(() => {
163
+ measuredRowsRef.current = {};
164
+ setLayoutState(buildDefaultState(definitionsWithLayout, currentBreakpointKey));
165
+ }, [currentBreakpointKey, definitionsWithLayout, measuredRowsRef]);
166
+ useEffect(() => {
167
+ if (typeof window === 'undefined')
168
+ return;
169
+ let frameId = null;
170
+ const run = () => {
171
+ frameId = null;
172
+ remeasureAll();
173
+ setLayoutPreset(getLayoutConfigForWidth(window.innerWidth, layoutSource, breakpoints));
174
+ };
175
+ const handleResize = () => {
176
+ if (frameId !== null)
177
+ return;
178
+ frameId = window.requestAnimationFrame(run);
179
+ };
180
+ window.addEventListener('resize', handleResize);
181
+ return () => {
182
+ window.removeEventListener('resize', handleResize);
183
+ if (frameId !== null) {
184
+ window.cancelAnimationFrame(frameId);
185
+ }
186
+ };
187
+ }, [breakpoints, layoutSource, remeasureAll, setLayoutPreset]);
188
+ const buildCurrentPreset = useCallback(() => buildPresetFromState(layoutState, layoutSource, breakpoints, currentBreakpointKey), [breakpoints, currentBreakpointKey, layoutSource, layoutState]);
189
+ const { handleItemsChange, hideItem, setWidgetVisibility, resetLayout, restoreHidden, toggleCollapse } = useWidgetBoardStateActions({
190
+ currentBreakpointKey,
191
+ defaultDefinitionsMap,
192
+ definitionsMap,
193
+ definitionsWithLayout,
194
+ isDefaultLayoutSelected: effectiveSelectedLayoutId === defaultOption.id,
195
+ lockedHeightModeByWidgetId,
196
+ measuredRowsRef,
197
+ setLayoutState,
198
+ });
199
+ const actionsState = useMemo(() => {
200
+ const currentPreset = buildCurrentPreset();
201
+ const currentBreakpointLayout = resolveLayoutForBreakpoint(currentPreset, currentBreakpointKey);
202
+ let canResetLayout;
203
+ if (effectiveSelectedLayoutId === defaultOption.id) {
204
+ canResetLayout = differsFromBaseLayout(currentBreakpointLayout, defaultBreakpointLayout);
205
+ }
206
+ else {
207
+ const hiddenSet = new Set(layoutState.hidden);
208
+ const hasHiddenWidgets = hiddenSet.size > 0;
209
+ const visibleItems = layoutState.items.filter(item => {
210
+ const widgetId = item.id;
211
+ return definitionsMap.has(widgetId) && !hiddenSet.has(widgetId);
212
+ });
213
+ const visibleItemIdSet = new Set(visibleItems.map(item => item.id));
214
+ const defaultVisibleIds = defaultDefinitionsWithLayout
215
+ .filter(definition => definitionsMap.has(definition.id) && !hiddenSet.has(definition.id))
216
+ .map(definition => definition.id);
217
+ const hasDifferentVisibleWidgets = visibleItems.length !== defaultVisibleIds.length || defaultVisibleIds.some(id => !visibleItemIdSet.has(id));
218
+ const hasDifferentOrder = !hasHiddenWidgets && defaultVisibleIds.some((id, index) => visibleItems[index]?.id !== id);
219
+ if (hasDifferentVisibleWidgets || hasDifferentOrder) {
220
+ canResetLayout = true;
221
+ }
222
+ else {
223
+ const visibleItemsMap = new Map(visibleItems.map(item => [item.id, item]));
224
+ const collapsedSet = new Set(layoutState.collapsed);
225
+ const heightModeById = layoutState.heightModeMemory[currentBreakpointKey] ?? {};
226
+ canResetLayout = defaultVisibleIds.some(id => {
227
+ const item = visibleItemsMap.get(id);
228
+ const currentDefinition = definitionsMap.get(id);
229
+ const defaultDefinition = defaultDefinitionsMap.get(id);
230
+ if (!item || !currentDefinition || !defaultDefinition)
231
+ return true;
232
+ const defaultSize = defaultDefinition.layout.defaultSize;
233
+ if (item.columnSpan !== defaultSize.columnSpan)
234
+ return true;
235
+ if (!hasHiddenWidgets && stringifyColumnOffset(item.columnOffset) !== stringifyColumnOffset(defaultSize.columnOffset))
236
+ return true;
237
+ const currentHeightMode = normalizeHeightMode(heightModeById[id] ?? currentDefinition.layout.heightMode);
238
+ const defaultHeightMode = normalizeHeightMode(defaultDefinition.layout.heightMode);
239
+ if (currentHeightMode !== defaultHeightMode)
240
+ return true;
241
+ if (currentHeightMode === 'fixed' && item.rowSpan !== defaultSize.rowSpan)
242
+ return true;
243
+ const isCollapsed = collapsedSet.has(id);
244
+ const defaultIsCollapsed = Boolean(defaultDefinition.layout.initialState?.isCollapsed);
245
+ if (isCollapsed !== defaultIsCollapsed)
246
+ return true;
247
+ return false;
248
+ });
249
+ }
250
+ }
251
+ return {
252
+ hasHiddenWidgets: layoutState.hidden.some(widgetId => definitionsMap.has(widgetId)),
253
+ canResetLayout,
254
+ isDefaultLayoutSelected: effectiveSelectedLayoutId === defaultOption.id,
255
+ selectedLayoutId: effectiveSelectedLayoutId,
256
+ defaultLayoutId: defaultOption.id,
257
+ };
258
+ }, [
259
+ buildCurrentPreset,
260
+ currentBreakpointKey,
261
+ defaultBreakpointLayout,
262
+ defaultDefinitionsMap,
263
+ defaultDefinitionsWithLayout,
264
+ defaultOption.id,
265
+ definitionsMap,
266
+ effectiveSelectedLayoutId,
267
+ layoutState.collapsed,
268
+ layoutState.heightModeMemory,
269
+ layoutState.hidden,
270
+ layoutState.items,
271
+ ]);
272
+ const visibilityItems = useMemo(() => {
273
+ const hiddenSet = new Set(layoutState.hidden);
274
+ return definitionsWithLayout.map(definition => ({
275
+ id: definition.id,
276
+ title: definition.title,
277
+ visible: !hiddenSet.has(definition.id),
278
+ }));
279
+ }, [definitionsWithLayout, layoutState.hidden]);
280
+ useWidgetBoardLayoutActions({
281
+ buildCurrentPreset,
282
+ defaultLayoutId: defaultOption.id,
283
+ isLoadingLayouts,
284
+ layoutOptions,
285
+ layoutOptionsMap,
286
+ layoutSourceOwnerIdRef,
287
+ lockedLayoutIdRef,
288
+ saveLayouts,
289
+ fabStore: scopeFabStore,
290
+ actionsState,
291
+ visibilityItems,
292
+ onSetWidgetVisibility: setWidgetVisibility,
293
+ onResetLayout: resetLayout,
294
+ onRestoreHidden: restoreHidden,
295
+ selectedLayoutId,
296
+ setLayoutOptions,
297
+ setSelectedLayoutId,
298
+ });
299
+ useEffect(() => {
300
+ onActionsStateChange?.(actionsState);
301
+ }, [actionsState, onActionsStateChange]);
302
+ useImperativeHandle(ref, () => ({
303
+ resetLayout,
304
+ restoreHidden,
305
+ getActionsState: () => actionsState,
306
+ }), [actionsState, resetLayout, restoreHidden]);
307
+ const visibleItems = useMemo(() => layoutState.items.filter(item => definitionsMap.has(item.id)), [layoutState.items, definitionsMap]);
308
+ const boardI18nStrings = useMemo(() => createBoardI18nStrings(item => item.data.title), []);
309
+ const renderItem = (item) => {
310
+ const widgetId = item.id;
311
+ const definition = definitionsMap.get(widgetId);
312
+ if (!definition)
313
+ return React.createElement(React.Fragment, null);
314
+ const isCollapsed = layoutState.collapsed.includes(widgetId);
315
+ const isHeightModeLocked = Boolean(lockedHeightModeByWidgetId[widgetId]);
316
+ const baseHeightMode = isHeightModeLocked ? 'fixed' : layoutState.heightModeMemory[currentBreakpointKey]?.[widgetId] ?? definition.layout.heightMode ?? 'auto';
317
+ const heightMode = autoHeightEnabled ? baseHeightMode : 'fixed';
318
+ return (React.createElement(WidgetBoardItem, { item: item, definition: definition, heightMode: heightMode, isCollapsed: isCollapsed, isInteractionLocked: isInteractionLocked, onContentRef: handleContentRef, onHide: hideItem, onToggleCollapse: toggleCollapse }));
319
+ };
320
+ const boardElement = (React.createElement(Board, { items: visibleItems, renderItem: renderItem, i18nStrings: boardI18nStrings, onItemsChange: handleItemsChange, empty: React.createElement(Box, { sx: { p: 2, color: 'text.secondary' } }, "No widgets available") }));
321
+ return (React.createElement(CloudscapeThemeProvider, null,
322
+ React.createElement(CloudscapeBoardStyles, { hideNavigationArrows: true }),
323
+ React.createElement(WidgetBoardInteractionContext.Provider, { value: interactionState },
324
+ React.createElement(Box, { "data-pne-widget-board": 'true', ref: boardRootRef, sx: { position: 'relative', display: 'flex', flexDirection: 'column', gap: 2 } }, isLoadingLayouts ? React.createElement(WidgetBoardSkeleton, null) : boardElement))));
325
+ });
326
+ //# sourceMappingURL=WidgetBoard.js.map