@wix/patterns 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/cjs/aiAssistance/AiAssistance.js +12 -0
  2. package/dist/cjs/aiAssistance/AiAssistance.js.map +1 -0
  3. package/dist/cjs/aiAssistance/createAiAssistance.js +43 -0
  4. package/dist/cjs/aiAssistance/createAiAssistance.js.map +1 -0
  5. package/dist/cjs/aiAssistance/index.js +10 -0
  6. package/dist/cjs/aiAssistance/index.js.map +1 -0
  7. package/dist/cjs/aiAssistance/useAiAssistanceContext.js +16 -0
  8. package/dist/cjs/aiAssistance/useAiAssistanceContext.js.map +1 -0
  9. package/dist/cjs/bm/buildBMCairoEssentials.js +0 -2
  10. package/dist/cjs/bm/buildBMCairoEssentials.js.map +1 -1
  11. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  12. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  14. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  16. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  21. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
  22. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
  23. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  24. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  25. package/dist/cjs/components/EntityPage/EntityPage.js +9 -5
  26. package/dist/cjs/components/EntityPage/EntityPage.js.map +1 -1
  27. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  28. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  29. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  30. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  31. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  32. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  33. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  34. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  35. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  36. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  37. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  38. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  39. package/dist/cjs/components/NestedTable/NestedTableRow.js +0 -3
  40. package/dist/cjs/components/NestedTable/NestedTableRow.js.map +1 -1
  41. package/dist/cjs/components/NestedTable/NestedTableRow.st.css +2 -2
  42. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  43. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  44. package/dist/cjs/components/NestedTable/NestedTableWSRTable.js +11 -16
  45. package/dist/cjs/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  46. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  47. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  48. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  49. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  50. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  51. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  52. package/dist/cjs/components/Router/PatternsReactRoute.js +9 -0
  53. package/dist/cjs/components/Router/PatternsReactRoute.js.map +1 -0
  54. package/dist/cjs/components/Router/PatternsReactRouter.js +89 -0
  55. package/dist/cjs/components/Router/PatternsReactRouter.js.map +1 -0
  56. package/dist/cjs/components/Router/index.js +16 -0
  57. package/dist/cjs/components/Router/index.js.map +1 -0
  58. package/dist/cjs/components/Router/types.js +2 -0
  59. package/dist/cjs/components/Router/types.js.map +1 -0
  60. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  61. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  62. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  63. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  64. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  65. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  66. package/dist/cjs/components/Table/TableVirtual.js +7 -25
  67. package/dist/cjs/components/Table/TableVirtual.js.map +1 -1
  68. package/dist/cjs/components/Table/TableVirtualHeader.st.css +3 -0
  69. package/dist/cjs/components/Table/{TableVirtual.st.css.js → TableVirtualHeader.st.css.js} +3 -4
  70. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -0
  71. package/dist/cjs/components/Table/getVirtualTableProps.js +36 -0
  72. package/dist/cjs/components/Table/getVirtualTableProps.js.map +1 -0
  73. package/dist/cjs/components/TableFolders/TableFoldersContent.js +14 -18
  74. package/dist/cjs/components/TableFolders/TableFoldersContent.js.map +1 -1
  75. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  76. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  77. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  78. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  79. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  80. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  81. package/dist/cjs/components/common.st.css.js +4 -4
  82. package/dist/cjs/components/common.st.css.js.map +1 -1
  83. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js +2 -4
  84. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  85. package/dist/cjs/dashboard/WixPatternsDashboardProviderInternal.js +1 -5
  86. package/dist/cjs/dashboard/WixPatternsDashboardProviderInternal.js.map +1 -1
  87. package/dist/cjs/exports/aiAssistance.js +10 -0
  88. package/dist/cjs/exports/aiAssistance.js.map +1 -0
  89. package/dist/cjs/giza/buildWixPatternsEssentials.js +0 -2
  90. package/dist/cjs/giza/buildWixPatternsEssentials.js.map +1 -1
  91. package/dist/cjs/hooks/useEntityPage.js.map +1 -1
  92. package/dist/cjs/hooks/useTableCollection.js +2 -0
  93. package/dist/cjs/hooks/useTableCollection.js.map +1 -1
  94. package/dist/cjs/index.js +12 -2
  95. package/dist/cjs/index.js.map +1 -1
  96. package/dist/cjs/state/EntityPage/EntityPageState.js +36 -9
  97. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  98. package/dist/cjs/state/NestedTableState/NestedTableState.js.map +1 -1
  99. package/dist/cjs/state/TableFoldersState.js.map +1 -1
  100. package/dist/cjs/state/TableState.js +3 -0
  101. package/dist/cjs/state/TableState.js.map +1 -1
  102. package/dist/cjs/styles.global.css +1 -1
  103. package/dist/cjs/version.js +1 -1
  104. package/dist/cjs/version.js.map +1 -1
  105. package/dist/esm/aiAssistance/AiAssistance.js +8 -0
  106. package/dist/esm/aiAssistance/AiAssistance.js.map +1 -0
  107. package/dist/esm/aiAssistance/createAiAssistance.js +29 -0
  108. package/dist/esm/aiAssistance/createAiAssistance.js.map +1 -0
  109. package/dist/esm/aiAssistance/index.js +2 -0
  110. package/dist/esm/aiAssistance/index.js.map +1 -0
  111. package/dist/esm/aiAssistance/useAiAssistanceContext.js +9 -0
  112. package/dist/esm/aiAssistance/useAiAssistanceContext.js.map +1 -0
  113. package/dist/esm/bm/buildBMCairoEssentials.js +1 -2
  114. package/dist/esm/bm/buildBMCairoEssentials.js.map +1 -1
  115. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  116. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  117. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  118. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  119. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  120. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
  121. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
  122. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  123. package/dist/esm/components/EntityPage/EntityPage.js +3 -1
  124. package/dist/esm/components/EntityPage/EntityPage.js.map +1 -1
  125. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  126. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  127. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  128. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  129. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  130. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  131. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  132. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  133. package/dist/esm/components/NestedTable/NestedTableRow.js +1 -1
  134. package/dist/esm/components/NestedTable/NestedTableRow.js.map +1 -1
  135. package/dist/esm/components/NestedTable/NestedTableRow.st.css +2 -2
  136. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  137. package/dist/esm/components/NestedTable/NestedTableWSRTable.js +2 -3
  138. package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  139. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  140. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  141. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  142. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  143. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  144. package/dist/esm/components/Router/PatternsReactRoute.js +4 -0
  145. package/dist/esm/components/Router/PatternsReactRoute.js.map +1 -0
  146. package/dist/esm/components/Router/PatternsReactRouter.js +37 -0
  147. package/dist/esm/components/Router/PatternsReactRouter.js.map +1 -0
  148. package/dist/esm/components/Router/index.js +3 -0
  149. package/dist/esm/components/Router/index.js.map +1 -0
  150. package/dist/esm/components/Router/types.js +2 -0
  151. package/dist/esm/components/Router/types.js.map +1 -0
  152. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  153. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  154. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  155. package/dist/esm/components/Table/TableVirtual.js +2 -11
  156. package/dist/esm/components/Table/TableVirtual.js.map +1 -1
  157. package/dist/esm/components/Table/TableVirtualHeader.st.css +3 -0
  158. package/dist/esm/components/Table/{TableVirtual.st.css.js → TableVirtualHeader.st.css.js} +3 -3
  159. package/dist/esm/components/Table/TableVirtualHeader.st.css.js.map +1 -0
  160. package/dist/esm/components/Table/getVirtualTableProps.js +21 -0
  161. package/dist/esm/components/Table/getVirtualTableProps.js.map +1 -0
  162. package/dist/esm/components/TableFolders/TableFoldersContent.js +3 -3
  163. package/dist/esm/components/TableFolders/TableFoldersContent.js.map +1 -1
  164. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  165. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  166. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  167. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  168. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  169. package/dist/esm/components/common.st.css.js +2 -2
  170. package/dist/esm/components/common.st.css.js.map +1 -1
  171. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js +22 -7
  172. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  173. package/dist/esm/dashboard/WixPatternsDashboardProviderInternal.js +1 -2
  174. package/dist/esm/dashboard/WixPatternsDashboardProviderInternal.js.map +1 -1
  175. package/dist/esm/exports/aiAssistance.js +2 -0
  176. package/dist/esm/exports/aiAssistance.js.map +1 -0
  177. package/dist/esm/giza/buildWixPatternsEssentials.js +1 -3
  178. package/dist/esm/giza/buildWixPatternsEssentials.js.map +1 -1
  179. package/dist/esm/hooks/useEntityPage.js.map +1 -1
  180. package/dist/esm/hooks/useTableCollection.js +2 -0
  181. package/dist/esm/hooks/useTableCollection.js.map +1 -1
  182. package/dist/esm/index.js +2 -0
  183. package/dist/esm/index.js.map +1 -1
  184. package/dist/esm/state/EntityPage/EntityPageState.js +31 -5
  185. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  186. package/dist/esm/state/NestedTableState/NestedTableState.js.map +1 -1
  187. package/dist/esm/state/TableFoldersState.js.map +1 -1
  188. package/dist/esm/state/TableState.js +3 -0
  189. package/dist/esm/state/TableState.js.map +1 -1
  190. package/dist/esm/styles.global.css +1 -1
  191. package/dist/esm/version.js +1 -1
  192. package/dist/types/aiAssistance/AiAssistance.d.ts +6 -0
  193. package/dist/types/aiAssistance/AiAssistance.d.ts.map +1 -0
  194. package/dist/types/aiAssistance/createAiAssistance.d.ts +5 -0
  195. package/dist/types/aiAssistance/createAiAssistance.d.ts.map +1 -0
  196. package/dist/types/aiAssistance/index.d.ts +2 -0
  197. package/dist/types/aiAssistance/index.d.ts.map +1 -0
  198. package/dist/types/aiAssistance/useAiAssistanceContext.d.ts +17 -0
  199. package/dist/types/aiAssistance/useAiAssistanceContext.d.ts.map +1 -0
  200. package/dist/types/bm/buildBMCairoEssentials.d.ts.map +1 -1
  201. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +132 -2
  202. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts.map +1 -1
  203. package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.d.ts.map +1 -1
  204. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +132 -2
  205. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
  206. package/dist/types/components/EntityPage/EntityPage.d.ts.map +1 -1
  207. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  208. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  209. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +132 -2
  210. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  211. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts.map +1 -1
  212. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  213. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  214. package/dist/types/components/Router/PatternsReactRoute.d.ts +5 -0
  215. package/dist/types/components/Router/PatternsReactRoute.d.ts.map +1 -0
  216. package/dist/types/components/Router/PatternsReactRouter.d.ts +6 -0
  217. package/dist/types/components/Router/PatternsReactRouter.d.ts.map +1 -0
  218. package/dist/types/components/Router/index.d.ts +3 -0
  219. package/dist/types/components/Router/index.d.ts.map +1 -0
  220. package/dist/types/components/Router/types.d.ts +5 -0
  221. package/dist/types/components/Router/types.d.ts.map +1 -0
  222. package/dist/types/components/Table/Table.uni.driver.d.ts +132 -2
  223. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  224. package/dist/types/components/Table/TableVirtual.d.ts.map +1 -1
  225. package/dist/types/components/Table/{TableVirtual.st.css.d.ts → TableVirtualHeader.st.css.d.ts} +1 -2
  226. package/dist/types/components/Table/TableVirtualHeader.st.css.d.ts.map +1 -0
  227. package/dist/types/components/Table/getVirtualTableProps.d.ts +10 -0
  228. package/dist/types/components/Table/getVirtualTableProps.d.ts.map +1 -0
  229. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +132 -2
  230. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  231. package/dist/types/components/TableFolders/TableFoldersContent.d.ts.map +1 -1
  232. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +138 -2
  233. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  234. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +138 -2
  235. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
  236. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  237. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  238. package/dist/types/components/common.st.css.d.ts.map +1 -1
  239. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts +1 -3
  240. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts.map +1 -1
  241. package/dist/types/dashboard/WixPatternsDashboardProviderInternal.d.ts.map +1 -1
  242. package/dist/types/exports/aiAssistance.d.ts +2 -0
  243. package/dist/types/exports/aiAssistance.d.ts.map +1 -0
  244. package/dist/types/giza/buildWixPatternsEssentials.d.ts.map +1 -1
  245. package/dist/types/hooks/useEntityPage.d.ts +1 -1
  246. package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
  247. package/dist/types/hooks/useTableCollection.d.ts +6 -1
  248. package/dist/types/hooks/useTableCollection.d.ts.map +1 -1
  249. package/dist/types/index.d.ts +2 -0
  250. package/dist/types/index.d.ts.map +1 -1
  251. package/dist/types/state/EntityPage/EntityPageState.d.ts +14 -3
  252. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  253. package/dist/types/state/NestedTableState/NestedTableState.d.ts +11 -1
  254. package/dist/types/state/NestedTableState/NestedTableState.d.ts.map +1 -1
  255. package/dist/types/state/TableFoldersState.d.ts +18 -1
  256. package/dist/types/state/TableFoldersState.d.ts.map +1 -1
  257. package/dist/types/state/TableState.d.ts +27 -1
  258. package/dist/types/state/TableState.d.ts.map +1 -1
  259. package/dist/types/testkit/enzyme.d.ts +792 -12
  260. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  261. package/dist/types/testkit/jsdom.d.ts +792 -12
  262. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  263. package/dist/types/testkit/puppeteer.d.ts +792 -12
  264. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  265. package/dist/types/version.d.ts +1 -1
  266. package/package.json +4 -3
  267. package/dist/cjs/components/Table/TableVirtual.st.css +0 -27
  268. package/dist/cjs/components/Table/TableVirtual.st.css.js.map +0 -1
  269. package/dist/esm/components/Table/TableVirtual.st.css +0 -27
  270. package/dist/esm/components/Table/TableVirtual.st.css.js.map +0 -1
  271. package/dist/types/components/Table/TableVirtual.st.css.d.ts.map +0 -1
@@ -19,11 +19,13 @@ class EntityPageState {
19
19
  (0, _defineProperty2.default)(this, "_entity", null);
20
20
  (0, _defineProperty2.default)(this, "_form", void 0);
21
21
  (0, _defineProperty2.default)(this, "_parentPageId", void 0);
22
+ (0, _defineProperty2.default)(this, "_parentPath", void 0);
22
23
  (0, _defineProperty2.default)(this, "container", void 0);
23
24
  (0, _defineProperty2.default)(this, "reportBI", void 0);
24
25
  (0, _defineProperty2.default)(this, "bi", void 0);
25
26
  (0, _defineProperty2.default)(this, "_isSubmitSuccessful", undefined);
26
27
  (0, _defineProperty2.default)(this, "_isFormDirty", false);
28
+ (0, _defineProperty2.default)(this, "_withinRouter", false);
27
29
  (0, _defineProperty2.default)(this, "formPage", new _bexCore.FormPageState());
28
30
  (0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
29
31
  this.fetch = params.fetch;
@@ -32,6 +34,7 @@ class EntityPageState {
32
34
  this.saveErrorToast = params.saveErrorToast;
33
35
  this._form = params.form;
34
36
  this._parentPageId = params.parentPageId;
37
+ this._parentPath = params.parentPath;
35
38
  this.container = params.container;
36
39
  this.reportBI = this.container.createBILogger({
37
40
  componentType: 'Entity page',
@@ -52,7 +55,11 @@ class EntityPageState {
52
55
  isFormDirty: _mobx.computed
53
56
  });
54
57
  }
55
- init() {
58
+ init({
59
+ withinRouter
60
+ }) {
61
+ this._withinRouter = withinRouter;
62
+ this._checkPageParams();
56
63
  const {
57
64
  initTask,
58
65
  container
@@ -111,17 +118,20 @@ class EntityPageState {
111
118
  this.navigateToParent();
112
119
  }
113
120
  navigateToParent() {
114
- var _this$container$navig, _this$container;
115
- (_this$container$navig = (_this$container = this.container).navigateTo) == null || _this$container$navig.call(_this$container, {
116
- pageId: this._parentPageId
117
- });
121
+ if (this._withinRouter) {
122
+ this.container.navigate(this._parentPath);
123
+ } else {
124
+ this.container.navigateTo({
125
+ pageId: this._parentPageId
126
+ });
127
+ }
118
128
  }
119
129
  _showErrorToast(err, e) {
120
- var _this$saveErrorToast, _this$container$showT, _this$container2;
130
+ var _this$saveErrorToast, _this$container$showT, _this$container;
121
131
  const errorToast = (_this$saveErrorToast = this.saveErrorToast) == null ? void 0 : _this$saveErrorToast.call(this, err);
122
132
  const message = typeof errorToast === 'string' ? errorToast : errorToast == null ? void 0 : errorToast.message;
123
133
  const showTryAgain = typeof errorToast === 'string' ? true : (errorToast == null ? void 0 : errorToast.tryAgain) !== false;
124
- (_this$container$showT = (_this$container2 = this.container).showToast) == null || _this$container$showT.call(_this$container2, {
134
+ (_this$container$showT = (_this$container = this.container).showToast) == null || _this$container$showT.call(_this$container, {
125
135
  type: 'ERROR',
126
136
  biName: 'cairo-entity-page-save-error-toast',
127
137
  message: message ?? this.container.translate((err == null ? void 0 : err.code) === 'ERR_NETWORK' ? 'cairo.entityPage.saveError-offline.toast.description' : 'cairo.entityPage.saveError-technical.toast.description'),
@@ -137,9 +147,9 @@ class EntityPageState {
137
147
  });
138
148
  }
139
149
  _showSuccessToast() {
140
- var _this$saveSuccessToas, _this$container$showT2, _this$container3;
150
+ var _this$saveSuccessToas, _this$container$showT2, _this$container2;
141
151
  const message = typeof this.saveSuccessToast === 'string' ? this.saveSuccessToast : (_this$saveSuccessToas = this.saveSuccessToast) == null ? void 0 : _this$saveSuccessToas.message;
142
- (_this$container$showT2 = (_this$container3 = this.container).showToast) == null || _this$container$showT2.call(_this$container3, {
152
+ (_this$container$showT2 = (_this$container2 = this.container).showToast) == null || _this$container$showT2.call(_this$container2, {
143
153
  type: 'SUCCESS',
144
154
  biName: 'cairo-entity-page-save-success-toast',
145
155
  message: message ?? this.container.translate('cairo.entityPage.success.toast')
@@ -201,6 +211,23 @@ class EntityPageState {
201
211
  });
202
212
  await this.submitTask.status.promise;
203
213
  }
214
+ _checkPageParams() {
215
+ if (this._withinRouter) {
216
+ if (this._parentPath === undefined) {
217
+ throw new Error('parentPath was not defined in useEntityPage');
218
+ }
219
+ if (!this.container.navigate) {
220
+ throw new Error('navigate was not defined in Patterns Provider');
221
+ }
222
+ } else {
223
+ if (this._parentPageId === undefined) {
224
+ throw new Error('parentPageId was not defined in useEntityPage');
225
+ }
226
+ if (!this.container.navigateTo) {
227
+ throw new Error('navigateTo was not defined in Patterns Provider');
228
+ }
229
+ }
230
+ }
204
231
  }
205
232
  exports.EntityPageState = EntityPageState;
206
233
  //# sourceMappingURL=EntityPageState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","_this$container$navig","_this$container","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container2","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container3","submitTask","events","emit","isValid","extraFields","validate","run","widgetsFormData","errorMonitor","captureException","setError","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns an object with an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n */\n parentPageId: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly initTask = new TaskState();\n readonly submitTask = new TaskState();\n\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n\n _entity: T | null = null;\n private readonly _form: UseFormReturn<V>;\n private readonly _parentPageId: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n readonly formPage = new FormPageState();\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this._form = params.form;\n this._parentPageId = params.parentPageId;\n\n this.container = params.container;\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n });\n }\n\n init() {\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.initTask.runOnce();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent() {\n this.container.navigateTo?.({\n pageId: this._parentPageId,\n });\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (this.isFormDirty) {\n await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n this.navigateToParent();\n });\n await this.submitTask.status.promise;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","_parentPath","parentPath","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","withinRouter","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","navigate","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","widgetsFormData","errorMonitor","captureException","setError","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns an object with an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly initTask = new TaskState();\n readonly submitTask = new TaskState();\n\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n\n _entity: T | null = null;\n private readonly _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _withinRouter = false;\n\n readonly formPage = new FormPageState();\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this._form = params.form;\n this._parentPageId = params.parentPageId;\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n });\n }\n\n init({ withinRouter }: { withinRouter: boolean }) {\n this._withinRouter = withinRouter;\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.initTask.runOnce();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent() {\n if (this._withinRouter) {\n this.container.navigate!(this._parentPath!);\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (this.isFormDirty) {\n await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n this.navigateToParent();\n });\n await this.submitTask.status.promise;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=/story/base-components-collections-table-table--table) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection();\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=/story/base-components-collections-table-table--table) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n */\n readonly tableState: TableState<unknown, {}>;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection();\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_TableState","_TableVirtualState","isItemKeyedItem","keyedItem","item","_tag","isFolderKeyedItem","TableFoldersState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","container","virtual","TableVirtualState","table","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","TableState","makeObservable","showItemsSection","computed","showFoldersSection","keyedItems","result","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","folders","fetchedLastPage","hasItemsOnlyActiveFilters","tableState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","multi","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","map","originalKeyedItem","init","disposers","forEach","d","exports"],"sources":["../../../src/state/TableFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n KeyedItem,\n} from '@wix/bex-core';\nimport { computed, makeObservable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { TableState } from './TableState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n}\n\ninterface Item<T1> {\n _tag: 'item';\n originalKeyedItem: KeyedItem<T1>;\n}\n\ninterface Folder<T2> {\n _tag: 'folder';\n originalKeyedItem: KeyedItem<T2>;\n}\n\nexport type RowItem<T1, T2> = Item<T1> | Folder<T2>;\nexport type RowKeyedItem<T1, T2> = KeyedItem<RowItem<T1, T2>>;\n\nexport function isItemKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Item<T1>> {\n return keyedItem.item._tag === 'item';\n}\n\nexport function isFolderKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Folder<T2>> {\n return keyedItem.item._tag === 'folder';\n}\n\ninterface TableFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class TableFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly table;\n readonly toolbar;\n readonly virtual;\n readonly collections;\n\n constructor(params: TableFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'TableFolders',\n });\n\n this.collections = new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.table = new TableState({\n container: this.container,\n collection: params.items,\n toolbar: this.toolbar as ToolbarCollectionState<T1, {}>,\n });\n\n makeObservable(this, {\n showItemsSection: computed,\n showFoldersSection: computed,\n keyedItems: computed,\n });\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showFoldersSection || this.collections.folders.fetchedLastPage)\n );\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get tableState() {\n return this.table;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n get keyedItems(): RowKeyedItem<T1, T2>[] {\n const {\n showFoldersSection,\n showItemsSection,\n collections: { folders, items },\n } = this;\n return [\n ...(showFoldersSection\n ? folders.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'folder' as const,\n originalKeyedItem: keyedItem,\n },\n }))\n : []),\n ...(showItemsSection\n ? items.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'item' as const,\n originalKeyedItem: keyedItem,\n },\n originalKeyedItem: keyedItem,\n }))\n : []),\n ];\n }\n\n init(params: TableFoldersStateInitParams) {\n const disposers = [this.collections.init(params)];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_TableState","_TableVirtualState","isItemKeyedItem","keyedItem","item","_tag","isFolderKeyedItem","TableFoldersState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","container","virtual","TableVirtualState","table","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","TableState","makeObservable","showItemsSection","computed","showFoldersSection","keyedItems","result","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","folders","fetchedLastPage","hasItemsOnlyActiveFilters","tableState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","multi","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","map","originalKeyedItem","init","disposers","forEach","d","exports"],"sources":["../../../src/state/TableFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n KeyedItem,\n} from '@wix/bex-core';\nimport { computed, makeObservable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { TableState } from './TableState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n}\n\ninterface Item<T1> {\n _tag: 'item';\n originalKeyedItem: KeyedItem<T1>;\n}\n\ninterface Folder<T2> {\n _tag: 'folder';\n originalKeyedItem: KeyedItem<T2>;\n}\n\nexport type RowItem<T1, T2> = Item<T1> | Folder<T2>;\nexport type RowKeyedItem<T1, T2> = KeyedItem<RowItem<T1, T2>>;\n\nexport function isItemKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Item<T1>> {\n return keyedItem.item._tag === 'item';\n}\n\nexport function isFolderKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Folder<T2>> {\n return keyedItem.item._tag === 'folder';\n}\n\ninterface TableFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport interface TableFoldersStatePublicAPI<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n */\n readonly toolbar: ToolbarCollectionState<T1, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n */\n readonly tableState: TableState<T1, {}>;\n\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instances for folders and items\n */\n readonly collections: {\n readonly folders: CollectionState<T2, F2>;\n readonly items: CollectionState<T1, F1>;\n };\n}\n\nexport class TableFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements\n ICollectionComponentState,\n TableFoldersStatePublicAPI<T1, F1, T2, F2>\n{\n readonly container;\n readonly table;\n readonly toolbar;\n readonly virtual;\n readonly collections;\n\n constructor(params: TableFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'TableFolders',\n });\n\n this.collections = new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.table = new TableState({\n container: this.container,\n collection: params.items,\n toolbar: this.toolbar as ToolbarCollectionState<T1, {}>,\n });\n\n makeObservable(this, {\n showItemsSection: computed,\n showFoldersSection: computed,\n keyedItems: computed,\n });\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showFoldersSection || this.collections.folders.fetchedLastPage)\n );\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get tableState() {\n return this.table;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n get keyedItems(): RowKeyedItem<T1, T2>[] {\n const {\n showFoldersSection,\n showItemsSection,\n collections: { folders, items },\n } = this;\n return [\n ...(showFoldersSection\n ? folders.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'folder' as const,\n originalKeyedItem: keyedItem,\n },\n }))\n : []),\n ...(showItemsSection\n ? items.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'item' as const,\n originalKeyedItem: keyedItem,\n },\n originalKeyedItem: keyedItem,\n }))\n : []),\n ];\n }\n\n init(params: TableFoldersStateInitParams) {\n const disposers = [this.collections.init(params)];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,gCAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AA4BO,SAASK,eAAeA,CAC7BC,SAA+B,EACG;EAClC,OAAOA,SAAS,CAACC,IAAI,CAACC,IAAI,KAAK,MAAM;AACvC;AAEO,SAASC,iBAAiBA,CAC/BH,SAA+B,EACK;EACpC,OAAOA,SAAS,CAACC,IAAI,CAACC,IAAI,KAAK,QAAQ;AACzC;AA6BO,MAAME,iBAAiB,CAQ9B;EAOEC,WAAWA,CAACC,MAA+C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BA4F3C,MAAM,IAAI,CAACC,OAAO,CAACC,eAAe,CAAC,CAAC;IA3FpD,IAAI,CAACC,SAAS,GAAGL,MAAM,CAACK,SAAS;IAEjC,IAAI,CAACC,OAAO,GAAG,IAAIC,oCAAiB,CAAC;MACnCC,KAAK,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACL,OAAO,GACVH,MAAM,CAACG,OAAO,IACd,IAAIM,8CAAsB,CAAC;MACzBC,UAAU,EAAEV,MAAM,CAACW,KAGlB;MACDN,SAAS,EAAEL,MAAM,CAACK,SAAS;MAC3BO,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAI,CAACC,WAAW,GAAG,IAAIC,gEAA+B,CAAC;MACrD,GAAGd,MAAM;MACTG,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACK,KAAK,GAAG,IAAIO,sBAAU,CAAC;MAC1BV,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,UAAU,EAAEV,MAAM,CAACW,KAAK;MACxBR,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAAa,oBAAc,EAAC,IAAI,EAAE;MACnBC,gBAAgB,EAAEC,cAAQ;MAC1BC,kBAAkB,EAAED,cAAQ;MAC5BE,UAAU,EAAEF;IACd,CAAC,CAAC;EACJ;EAEA,IAAID,gBAAgBA,CAAA,EAAG;IACrB,OACE,CAAC,IAAI,CAACJ,WAAW,CAACF,KAAK,CAACU,MAAM,CAACC,qBAAqB,IACpD,CAAC,IAAI,CAACT,WAAW,CAACU,2BAA2B,KAC5C,CAAC,IAAI,CAACJ,kBAAkB,IAAI,IAAI,CAACN,WAAW,CAACW,OAAO,CAACC,eAAe,CAAC;EAE1E;EAEA,IAAIN,kBAAkBA,CAAA,EAAG;IACvB,OACE,CAAC,IAAI,CAACN,WAAW,CAACW,OAAO,CAACH,MAAM,CAACC,qBAAqB,IACtD,CAAC,IAAI,CAACT,WAAW,CAACa,yBAAyB;EAE/C;EAEA,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACnB,KAAK;EACnB;EAEA,IAAIoB,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACf,WAAW,CAACe,cAAc;EACxC;EAEA,IAAIC,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAAChB,WAAW,CAACgB,iBAAiB;EAC3C;EAEA,IAAIC,uBAAuBA,CAAA,EAAG;IAC5B,OAAO,IAAI,CAACjB,WAAW,CAACiB,uBAAuB;EACjD;EAEA,IAAIC,6BAA6BA,CAAA,EAAG;IAClC,OAAO,IAAI,CAAClB,WAAW,CAACkB,6BAA6B;EACvD;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC7B,OAAO,CAAC8B,KAAK,CAACD,cAAc;EAC1C;EAEA,IAAIE,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAC/B,OAAO,CAAC8B,KAAK,CAACC,WAAW;EACvC;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,MAAM;MAAEC,QAAQ;MAAEjC;IAAQ,CAAC,GAAG,IAAI;IAClC,OACEiC,QAAQ,CAACC,MAAM,CAACC,MAAM,IACtBF,QAAQ,CAACC,MAAM,CAACE,SAAS,IACzBpC,OAAO,CAAC8B,KAAK,CAACE,gBAAgB;EAElC;EAEA,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACjC,OAAO,CAACiC,QAAQ;EAC9B;EAIA,IAAIhB,UAAUA,CAAA,EAA2B;IACvC,MAAM;MACJD,kBAAkB;MAClBF,gBAAgB;MAChBJ,WAAW,EAAE;QAAEW,OAAO;QAAEb;MAAM;IAChC,CAAC,GAAG,IAAI;IACR,OAAO,CACL,IAAIQ,kBAAkB,GAClBK,OAAO,CAACH,MAAM,CAACD,UAAU,CAACoB,GAAG,CAAE9C,SAAS,KAAM;MAC5C,GAAGA,SAAS;MACZC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAiB;QACvB6C,iBAAiB,EAAE/C;MACrB;IACF,CAAC,CAAC,CAAC,GACH,EAAE,CAAC,EACP,IAAIuB,gBAAgB,GAChBN,KAAK,CAACU,MAAM,CAACD,UAAU,CAACoB,GAAG,CAAE9C,SAAS,KAAM;MAC1C,GAAGA,SAAS;MACZC,IAAI,EAAE;QACJC,IAAI,EAAE,MAAe;QACrB6C,iBAAiB,EAAE/C;MACrB,CAAC;MACD+C,iBAAiB,EAAE/C;IACrB,CAAC,CAAC,CAAC,GACH,EAAE,CAAC,CACR;EACH;EAEAgD,IAAIA,CAAC1C,MAAmC,EAAE;IACxC,MAAM2C,SAAS,GAAG,CAAC,IAAI,CAAC9B,WAAW,CAAC6B,IAAI,CAAC1C,MAAM,CAAC,CAAC;IAEjD,OAAO,MAAM;MACX2C,SAAS,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;EACH;AACF;AAACC,OAAA,CAAAhD,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -24,6 +24,9 @@ class TableState {
24
24
  table: this
25
25
  });
26
26
  }
27
+ get visibleColumns() {
28
+ return this.toolbar.selectedOrderedColumnsOrAll;
29
+ }
27
30
 
28
31
  // backwards compat
29
32
  get table() {
@@ -1 +1 @@
1
- {"version":3,"names":["_ToolbarCollectionState","require","_TableVirtualState","TableState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","items","onAddItemActionComplete","ToolbarCollectionState","collection","container","componentType","virtual","TableVirtualState","table","tableState","itemsContentWidth","itemsContentRect","rect","width","itemsToRenderCount","result","size","init","keyedItems","getStickyColumnsCount","_customColumnsState$d","horizontalScroll","stickyColumns","tableDragAndDropState","customColumnsState","customColumnsProps","customColumnsStateInitialized","stickySelectionColumn","showSelection","customColumnsIsEffective","reorderDisabledColumnsIsEffective","dragAndDrop","orderedColumnsByReorderDisabled","reorderDisabled","length","checkboxColumnStickyCompat","showEmptyState","multi","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","exports"],"sources":["../../../src/state/TableState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\ninterface TableDragAndDropStateBase<T, F extends FiltersMap> {\n getStickyColumnsCount: (params: { stickyColumns: number }) => number;\n init: () => void;\n dnd: DragAndDropState<T, F>;\n}\n\nexport interface TableStateInitParams\n extends ToolbarCollectionStateParamsInitParams {\n hasMultiLevelSorting?: boolean;\n}\n\nexport class TableState<T, F extends FiltersMap>\n implements ICollectionComponentState\n{\n readonly toolbar;\n readonly virtual;\n\n tableDragAndDropState: TableDragAndDropStateBase<T, F> | null = null;\n\n constructor(params: TableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Table',\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n // backwards compat\n get table() {\n return this.toolbar;\n }\n\n get collection() {\n return this.table.collection;\n }\n\n get tableState() {\n return this;\n }\n\n get itemsContentWidth() {\n return this.toolbar.itemsContentRect.rect.width ?? 0;\n }\n\n get itemsToRenderCount() {\n return this.collection.result.size;\n }\n\n init(params: TableStateInitParams) {\n return this.table.init(params);\n }\n\n get keyedItems() {\n return this.collection.result.keyedItems;\n }\n\n getStickyColumnsCount(params: {\n stickyColumns?: number;\n horizontalScroll?: boolean;\n showSelection?: boolean;\n stickySelectionColumn?: boolean;\n }) {\n const { horizontalScroll } = params;\n\n if (!horizontalScroll) {\n return params.stickyColumns;\n }\n\n const { tableDragAndDropState, toolbar } = this;\n\n const {\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = toolbar;\n\n const { stickySelectionColumn, showSelection } = params;\n\n let stickyColumns = params.stickyColumns ?? 0;\n\n const customColumnsIsEffective =\n customColumnsProps && customColumnsState && customColumnsStateInitialized;\n\n const reorderDisabledColumnsIsEffective =\n !!customColumnsState?.dragAndDrop?.orderedColumnsByReorderDisabled\n .reorderDisabled?.length;\n\n if (customColumnsIsEffective) {\n stickyColumns = customColumnsState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n if (tableDragAndDropState) {\n stickyColumns = tableDragAndDropState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n const checkboxColumnStickyCompat =\n reorderDisabledColumnsIsEffective ||\n stickySelectionColumn ||\n tableDragAndDropState != null;\n\n if (showSelection && checkboxColumnStickyCompat) {\n stickyColumns += 1;\n }\n\n return stickyColumns;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_ToolbarCollectionState","require","_TableVirtualState","TableState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","items","onAddItemActionComplete","ToolbarCollectionState","collection","container","componentType","virtual","TableVirtualState","table","visibleColumns","selectedOrderedColumnsOrAll","tableState","itemsContentWidth","itemsContentRect","rect","width","itemsToRenderCount","result","size","init","keyedItems","getStickyColumnsCount","_customColumnsState$d","horizontalScroll","stickyColumns","tableDragAndDropState","customColumnsState","customColumnsProps","customColumnsStateInitialized","stickySelectionColumn","showSelection","customColumnsIsEffective","reorderDisabledColumnsIsEffective","dragAndDrop","orderedColumnsByReorderDisabled","reorderDisabled","length","checkboxColumnStickyCompat","showEmptyState","multi","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","exports"],"sources":["../../../src/state/TableState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\ninterface TableDragAndDropStateBase<T, F extends FiltersMap> {\n getStickyColumnsCount: (params: { stickyColumns: number }) => number;\n init: () => void;\n dnd: DragAndDropState<T, F>;\n}\n\nexport interface TableStateInitParams\n extends ToolbarCollectionStateParamsInitParams {\n hasMultiLevelSorting?: boolean;\n}\n\nexport interface TableStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @external\n * @param items - new items to add to the collection\n */\n onAddItemActionComplete(items: T[]): void;\n\n /**\n * Visible columns as selected via [CustomColumns](./?path=/story/features-display--customcolumns)\n * @external\n */\n readonly visibleColumns: { id: string }[];\n}\n\nexport class TableState<T, F extends FiltersMap>\n implements ICollectionComponentState, TableStatePublicAPI<T, F>\n{\n readonly toolbar;\n readonly virtual;\n\n tableDragAndDropState: TableDragAndDropStateBase<T, F> | null = null;\n\n constructor(params: TableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Table',\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n get visibleColumns() {\n return this.toolbar.selectedOrderedColumnsOrAll;\n }\n\n // backwards compat\n get table() {\n return this.toolbar;\n }\n\n get collection() {\n return this.table.collection;\n }\n\n get tableState() {\n return this;\n }\n\n get itemsContentWidth() {\n return this.toolbar.itemsContentRect.rect.width ?? 0;\n }\n\n get itemsToRenderCount() {\n return this.collection.result.size;\n }\n\n init(params: TableStateInitParams) {\n return this.table.init(params);\n }\n\n get keyedItems() {\n return this.collection.result.keyedItems;\n }\n\n getStickyColumnsCount(params: {\n stickyColumns?: number;\n horizontalScroll?: boolean;\n showSelection?: boolean;\n stickySelectionColumn?: boolean;\n }) {\n const { horizontalScroll } = params;\n\n if (!horizontalScroll) {\n return params.stickyColumns;\n }\n\n const { tableDragAndDropState, toolbar } = this;\n\n const {\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = toolbar;\n\n const { stickySelectionColumn, showSelection } = params;\n\n let stickyColumns = params.stickyColumns ?? 0;\n\n const customColumnsIsEffective =\n customColumnsProps && customColumnsState && customColumnsStateInitialized;\n\n const reorderDisabledColumnsIsEffective =\n !!customColumnsState?.dragAndDrop?.orderedColumnsByReorderDisabled\n .reorderDisabled?.length;\n\n if (customColumnsIsEffective) {\n stickyColumns = customColumnsState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n if (tableDragAndDropState) {\n stickyColumns = tableDragAndDropState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n const checkboxColumnStickyCompat =\n reorderDisabledColumnsIsEffective ||\n stickySelectionColumn ||\n tableDragAndDropState != null;\n\n if (showSelection && checkboxColumnStickyCompat) {\n stickyColumns += 1;\n }\n\n return stickyColumns;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- .Collapse3362922401__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse3362922401__exit{height:0}.CollectionToolbar2430657890__left{min-width:0}.CollectionToolbar2430657890__left.CollectionToolbar2430657890--expandable{flex:auto}.CollectionToolbar2430657890__root .CollectionToolbar2430657890__right{justify-content:flex-end!important;flex:auto}.CollectionToolbar2430657890__root .CollectionToolbar2430657890__right.CollectionToolbar2430657890__fullWidth{margin-inline-start:0!important}.SearchOrCustomFilter1196144254__search{min-width:140px;max-width:240px;flex:1 0}.AutoCompleteReadonly3008969232__root.AutoCompleteReadonly3008969232--disableEditing{cursor:pointer}.AutoCompleteReadonly3008969232__root.AutoCompleteReadonly3008969232--disableEditing input{cursor:pointer}.ViewsDropdown3013292828__root{width:200px}.CustomFieldsViewWidgetSection147751036__breakWord{overflow-wrap:break-word}.DragHandle2252748677__root{display:flex;align-items:center}.DragHandle2252748677__root:not(.DragHandle2252748677--disabled){cursor:grab;color:#a8caff}.DragHandle2252748677__root.DragHandle2252748677--disabled{color:#acafc4}.DragHandle2252748677__root:focus-visible:not(.DragHandle2252748677--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle2252748677__root.DragHandle2252748677--disabled{pointer-events:none}.DragHandle2252748677__root.DragHandle2252748677--dragging:not(.DragHandle2252748677--disabled){cursor:grabbing}.Fade2995985293__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade2995985293__root.Fade2995985293--exit{opacity:0}.Heading3162647008__root{visibility:visible}.Heading3162647008__root.Heading3162647008--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow1620435090__root.InputOverflow1620435090--selected:not(.InputOverflow1620435090--focused) input::placeholder{color:#000624}.MaxHeightText901261314__root{opacity:1}.MaxHeightText901261314__root.MaxHeightText901261314--height24{line-height:24px}.MaxLines4251040669__root{overflow:hidden}.MaxLines4251040669__root.MaxLines4251040669--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar458747536__root{min-width:0}.NestedTableRow3878599899__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow3878599899__root:hover{background-color:#e7f0ff}.NestedTableRow3878599899__root.NestedTableRow3878599899--expandable{cursor:pointer}.NestedTableRow3878599899__placeholder td{padding-top:0!important;padding-bottom:0!important}.NestedTableRow3878599899__root:hover td:first-of-type::before,.NestedTableRow3878599899__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.PickerContent3933731045__root{display:flex}.PickerContentAdditionalStep391660860__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep391660860__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem33972842__root{box-sizing:border-box}.ScrollableContent3334537034__root.ScrollableContent3334537034--overflowY{overflow-y:auto}.ScrollableContent3334537034__root.ScrollableContent3334537034--overflowX{overflow-x:auto}.ScrollableContent3334537034__root.ScrollableContent3334537034--smooth{scroll-behavior:smooth}.SkeletonCard4201645484__headerLoading{display:block!important}.SlidingModal1546088876__root{box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12);transition:transform .4s ease 0s;position:fixed;z-index:1}.TableVirtual4033046568__root{display:flex;min-width:100%;width:auto}.TableVirtual4033046568__thead{display:inline-flex;min-width:100%}.TableVirtual4033046568__root td,.TableVirtual4033046568__root th{align-items:center;display:flex}.TableVirtual4033046568__root.TableVirtual4033046568--horizontalScroll td,.TableVirtual4033046568__root.TableVirtual4033046568--horizontalScroll th{flex-shrink:0}.TableVirtual4033046568__root th{justify-content:start}.TabsFilter461985613__root .TabsFilter461985613__title{color:inherit!important}.ManageTagsModal3729036311__root{display:flex}.ToolbarItemBox1703574718__root{min-width:0}.ToolbarItemBox1703574718__root.ToolbarItemBox1703574718--removeStartPadding{margin-left:-24px}.ToolbarItemBox1703574718__root.ToolbarItemBox1703574718--expandable{flex:1 0}.common2703607632__column{display:flex;flex-direction:column}.common2703607632__fullHeight{height:100%;min-height:0}
1
+ .Collapse2587791356__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse2587791356__exit{height:0}.CollectionToolbar1827079511__left{min-width:0}.CollectionToolbar1827079511__left.CollectionToolbar1827079511--expandable{flex:auto}.CollectionToolbar1827079511__root .CollectionToolbar1827079511__right{justify-content:flex-end!important;flex:auto}.CollectionToolbar1827079511__root .CollectionToolbar1827079511__right.CollectionToolbar1827079511__fullWidth{margin-inline-start:0!important}.SearchOrCustomFilter3959314037__search{min-width:140px;max-width:240px;flex:1 0}.AutoCompleteReadonly1429259952__root.AutoCompleteReadonly1429259952--disableEditing{cursor:pointer}.AutoCompleteReadonly1429259952__root.AutoCompleteReadonly1429259952--disableEditing input{cursor:pointer}.ViewsDropdown1722911858__root{width:200px}.CustomFieldsViewWidgetSection1663850650__breakWord{overflow-wrap:break-word}.DragHandle2741521383__root{display:flex;align-items:center}.DragHandle2741521383__root:not(.DragHandle2741521383--disabled){cursor:grab;color:#a8caff}.DragHandle2741521383__root.DragHandle2741521383--disabled{color:#acafc4}.DragHandle2741521383__root:focus-visible:not(.DragHandle2741521383--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle2741521383__root.DragHandle2741521383--disabled{pointer-events:none}.DragHandle2741521383__root.DragHandle2741521383--dragging:not(.DragHandle2741521383--disabled){cursor:grabbing}.Fade2178741376__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade2178741376__root.Fade2178741376--exit{opacity:0}.Heading71808706__root{visibility:visible}.Heading71808706__root.Heading71808706--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow1044592252__root.InputOverflow1044592252--selected:not(.InputOverflow1044592252--focused) input::placeholder{color:#000624}.MaxHeightText510625601__root{opacity:1}.MaxHeightText510625601__root.MaxHeightText510625601--height24{line-height:24px}.MaxLines2736775864__root{overflow:hidden}.MaxLines2736775864__root.MaxLines2736775864--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar3498291181__root{min-width:0}.NestedTableRow2659282373__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow2659282373__root:hover{background-color:#e7f0ff}.NestedTableRow2659282373__root.NestedTableRow2659282373--expandable{cursor:pointer}.NestedTableRow2659282373__placeholder td{padding:0!important;width:100%}.NestedTableRow2659282373__root:hover td:first-of-type::before,.NestedTableRow2659282373__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.PickerContent2910238393__root{display:flex}.PickerContentAdditionalStep3954213832__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep3954213832__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem1395758475__root{box-sizing:border-box}.ScrollableContent1955466600__root.ScrollableContent1955466600--overflowY{overflow-y:auto}.ScrollableContent1955466600__root.ScrollableContent1955466600--overflowX{overflow-x:auto}.ScrollableContent1955466600__root.ScrollableContent1955466600--smooth{scroll-behavior:smooth}.SkeletonCard3840925226__headerLoading{display:block!important}.SlidingModal1865752072__root{box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12);transition:transform .4s ease 0s;position:fixed;z-index:1}.TableVirtualHeader2649746183__root{display:flex}.TabsFilter2481941672__root .TabsFilter2481941672__title{color:inherit!important}.ManageTagsModal47252120__root{display:flex}.ToolbarItemBox1560313816__root{min-width:0}.ToolbarItemBox1560313816__root.ToolbarItemBox1560313816--removeStartPadding{margin-left:-24px}.ToolbarItemBox1560313816__root.ToolbarItemBox1560313816--expandable{flex:1 0}.common674152864__column{display:flex;flex-direction:column}.common674152864__fullHeight{height:100%;min-height:0}
@@ -2,5 +2,5 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.version = void 0;
5
- const version = exports.version = 'patterns@1.21.0';
5
+ const version = exports.version = 'patterns@1.23.0';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.21.0';\n"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.23.0';\n"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,iBAAiB","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { fqdnToString, isFqdnValid, } from '@wix/bex-core';
2
+ export function createWixPatternsCreationEventName(collection) {
3
+ if (!collection.fqdn || (collection.fqdn && !isFqdnValid(collection.fqdn))) {
4
+ throw new Error('FQDN is invalid. Please provide a valid FQDN in the collection hook state (use<YourComponentName>Collection)');
5
+ }
6
+ return `ITEM_CREATED_${fqdnToString(collection.fqdn)}`;
7
+ }
8
+ //# sourceMappingURL=AiAssistance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiAssistance.js","sourceRoot":"","sources":["../../../src/aiAssistance/AiAssistance.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAC;AAQvB,MAAM,UAAU,kCAAkC,CAChD,UAAiC;IAEjC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAC1E,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;KACH;IACD,OAAO,gBAAgB,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { useOptimisticActions } from '@wix/bex-core/react';
2
+ import { createWixPatternsCreationEventName, } from './AiAssistance';
3
+ import { useAiAssistanceContext } from './useAiAssistanceContext';
4
+ export function createAiAssistance({ appDefId, }) {
5
+ return {
6
+ useAiAssistance: (collection) => {
7
+ useAiAssistanceCreation({ appDefId, collection });
8
+ },
9
+ };
10
+ }
11
+ function useAiAssistanceCreation(props) {
12
+ const { appDefId, collection } = props;
13
+ const optimisticActions = useOptimisticActions(collection);
14
+ const { useAssistantEffect } = useAiAssistanceContext();
15
+ useAssistantEffect((payload) => {
16
+ if (!payload.item) {
17
+ if (process.env.NODE_ENV !== 'production') {
18
+ console.warn('No item provided in the payload. Pass the new item that should be added to the collection like {item: myNewItem}. Skipping creation.');
19
+ }
20
+ return;
21
+ }
22
+ optimisticActions.createOne(payload.item, {
23
+ submit: async (newItem) => {
24
+ return newItem;
25
+ },
26
+ });
27
+ }, appDefId, createWixPatternsCreationEventName(collection));
28
+ }
29
+ //# sourceMappingURL=createAiAssistance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAiAssistance.js","sourceRoot":"","sources":["../../../src/aiAssistance/createAiAssistance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAEL,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,UAAU,kBAAkB,CAAC,EACjC,QAAQ,GAGT;IACC,OAAO;QACL,eAAe,EAAE,CACf,UAAiC,EAC3B,EAAE;YACR,uBAAuB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAA0B,KAGzD;IACC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,EAAE,kBAAkB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAExD,kBAAkB,CAChB,CAAC,OAAO,EAAE,EAAE;QACV,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACzC,OAAO,CAAC,IAAI,CACV,sIAAsI,CACvI,CAAC;aACH;YACD,OAAO;SACR;QACD,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;YACxC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,OAAO,OAAO,CAAC;YACjB,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EACD,QAAQ,EACR,kCAAkC,CAAC,UAAU,CAAC,CAC/C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './AiAssistance';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aiAssistance/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React, { useContext } from 'react';
2
+ import { useAssistantEffect } from '@wix/agent-platform-bm-sdk';
3
+ const defaultContextValue = {
4
+ useAssistantEffect,
5
+ };
6
+ export const AiAssistanceContext = React.createContext(defaultContextValue);
7
+ export const AiAssistanceContextProvider = AiAssistanceContext.Provider;
8
+ export const useAiAssistanceContext = () => useContext(AiAssistanceContext);
9
+ //# sourceMappingURL=useAiAssistanceContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAiAssistanceContext.js","sourceRoot":"","sources":["../../../src/aiAssistance/useAiAssistanceContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,mBAAmB,GAAG;IAC1B,kBAAkB;CACnB,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,QAAQ,CAAC;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC"}
@@ -3,7 +3,6 @@ import { buildCreateEssentials } from './buildCreateEssentials';
3
3
  import { Trans, useAppLoaded, useExperiments, useTranslation, } from '@wix/yoshi-flow-bm';
4
4
  import { closeSidePanel, getHostContainer, getModule, navigateTo, onNavigation, onSidePanelOpen, showToast, } from '@wix/business-manager-api';
5
5
  import { createAppSettingsCapsule, getWixPatternsWindowExperiments, } from '@wix/bex-core';
6
- import { useAssistantEffect } from '@wix/agent-platform-bm-sdk';
7
6
  export function buildBMCairoEssentials(flowAPI, { overrides } = {}) {
8
7
  const { moduleParams, moduleInfo, componentInfo, errorMonitor, httpClient, experiments, } = flowAPI;
9
8
  const { accountLanguage: language } = moduleParams;
@@ -35,7 +34,7 @@ export function buildBMCairoEssentials(flowAPI, { overrides } = {}) {
35
34
  pageComponentId: pageId,
36
35
  contextData: { appState, referrer },
37
36
  });
38
- }, useAssistantEffect, useAppLoaded: () => {
37
+ }, useAppLoaded: () => {
39
38
  useAppLoaded({ auto: true });
40
39
  } }, overrides), { user: Object.assign({ permissions: moduleParams.userPermissions }, overrides === null || overrides === void 0 ? void 0 : overrides.user), environment: Object.assign(Object.assign({ language,
41
40
  componentId, artifactId: moduleId }, overrides === null || overrides === void 0 ? void 0 : overrides.environment), { providerType: 'bm' }) });
@@ -1 +1 @@
1
- {"version":3,"file":"buildBMCairoEssentials.js","sourceRoot":"","sources":["../../../src/bm/buildBMCairoEssentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildBMCairoEssentials.js","sourceRoot":"","sources":["../../../src/bm/buildBMCairoEssentials.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "Collapse3362922401";
3
+ var _namespace_ = "Collapse2587791356";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "Collapse3362922401__root", "exit": "Collapse3362922401__exit" };
9
+ export var classes = { "root": "Collapse2587791356__root", "exit": "Collapse2587791356__exit" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "CollectionToolbar2430657890";
3
+ var _namespace_ = "CollectionToolbar1827079511";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "CollectionToolbar2430657890__root", "left": "CollectionToolbar2430657890__left", "right": "CollectionToolbar2430657890__right", "fullWidth": "CollectionToolbar2430657890__fullWidth" };
9
+ export var classes = { "root": "CollectionToolbar1827079511__root", "left": "CollectionToolbar1827079511__left", "right": "CollectionToolbar1827079511__right", "fullWidth": "CollectionToolbar1827079511__fullWidth" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "SearchOrCustomFilter1196144254";
3
+ var _namespace_ = "SearchOrCustomFilter3959314037";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "SearchOrCustomFilter1196144254__root", "search": "SearchOrCustomFilter1196144254__search" };
9
+ export var classes = { "root": "SearchOrCustomFilter3959314037__root", "search": "SearchOrCustomFilter3959314037__search" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "AutoCompleteReadonly3008969232";
3
+ var _namespace_ = "AutoCompleteReadonly1429259952";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "AutoCompleteReadonly3008969232__root" };
9
+ export var classes = { "root": "AutoCompleteReadonly1429259952__root" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "ViewsDropdown3013292828";
3
+ var _namespace_ = "ViewsDropdown1722911858";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "ViewsDropdown3013292828__root" };
9
+ export var classes = { "root": "ViewsDropdown1722911858__root" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};