@wix/patterns 1.366.0 → 1.370.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 (678) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  6. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  10. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js +6 -3
  12. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js +25 -30
  14. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  15. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  16. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js.map +1 -1
  18. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +66 -17
  19. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +22 -14
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  24. package/dist/cjs/components/CollectionToolbar/ToolbarOverflowMenu.js +329 -0
  25. package/dist/cjs/components/CollectionToolbar/ToolbarOverflowMenu.js.map +1 -0
  26. package/dist/cjs/components/CollectionToolbar/useToolbarOverflowItems.js +85 -0
  27. package/dist/cjs/components/CollectionToolbar/useToolbarOverflowItems.js.map +1 -0
  28. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  29. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  30. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  31. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  32. package/dist/cjs/components/CtaProps.js.map +1 -1
  33. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  34. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  36. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  38. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js +59 -0
  46. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js.map +1 -0
  47. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
  48. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +23 -0
  49. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -0
  50. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.uni.driver.js +20 -0
  51. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.uni.driver.js.map +1 -0
  52. package/dist/cjs/components/EditableTable/cellTypes/email/View.js +23 -0
  53. package/dist/cjs/components/EditableTable/cellTypes/email/View.js.map +1 -0
  54. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css +4 -0
  55. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +23 -0
  56. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -0
  57. package/dist/cjs/components/EditableTable/cellTypes/email/View.uni.driver.js +12 -0
  58. package/dist/cjs/components/EditableTable/cellTypes/email/View.uni.driver.js.map +1 -0
  59. package/dist/cjs/components/EditableTable/cellTypes/email/index.js +31 -0
  60. package/dist/cjs/components/EditableTable/cellTypes/email/index.js.map +1 -0
  61. package/dist/cjs/components/EditableTable/cellTypes/index.js +5 -1
  62. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js +4 -9
  64. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  66. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/number/View.js +4 -5
  68. package/dist/cjs/components/EditableTable/cellTypes/number/View.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.js +79 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.js.map +1 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
  74. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +23 -0
  75. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -0
  76. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.uni.driver.js +20 -0
  77. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.uni.driver.js.map +1 -0
  78. package/dist/cjs/components/EditableTable/cellTypes/object/View.js +30 -0
  79. package/dist/cjs/components/EditableTable/cellTypes/object/View.js.map +1 -0
  80. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css +4 -0
  81. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +23 -0
  82. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -0
  83. package/dist/cjs/components/EditableTable/cellTypes/object/View.uni.driver.js +12 -0
  84. package/dist/cjs/components/EditableTable/cellTypes/object/View.uni.driver.js.map +1 -0
  85. package/dist/cjs/components/EditableTable/cellTypes/object/index.js +45 -0
  86. package/dist/cjs/components/EditableTable/cellTypes/object/index.js.map +1 -0
  87. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  88. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js +3 -3
  90. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  92. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  93. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +3 -3
  94. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  95. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  96. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  97. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  98. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  99. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +15 -0
  100. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
  101. package/dist/cjs/components/EditableTable/useKeyboardNavigation.js +10 -0
  102. package/dist/cjs/components/EditableTable/useKeyboardNavigation.js.map +1 -1
  103. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  104. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  105. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  106. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  107. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  108. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  109. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  110. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  111. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  112. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  113. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  114. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  115. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  116. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  117. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  118. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  119. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  120. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  121. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  122. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  123. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  124. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  125. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  126. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  127. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  128. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  129. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  130. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  131. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  132. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  133. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  134. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  135. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  136. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  137. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  138. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  139. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  140. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  141. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js +14 -38
  142. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
  143. package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js +34 -0
  144. package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js.map +1 -0
  145. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  146. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  147. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  148. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  149. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  150. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  151. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  152. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  153. package/dist/cjs/components/common.st.css.js +4 -4
  154. package/dist/cjs/components/common.st.css.js.map +1 -1
  155. package/dist/cjs/hooks/useStaticListFilterCollection.js +2 -1
  156. package/dist/cjs/hooks/useStaticListFilterCollection.js.map +1 -1
  157. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  158. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  159. package/dist/cjs/state/EditableTable/CellInteractionState.js +65 -0
  160. package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -1
  161. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  162. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  163. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  164. package/dist/cjs/state/TableState.js +2 -0
  165. package/dist/cjs/state/TableState.js.map +1 -1
  166. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js +38 -4
  167. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
  168. package/dist/cjs/state/Toolbar/computeResponsiveTargetState.js +56 -17
  169. package/dist/cjs/state/Toolbar/computeResponsiveTargetState.js.map +1 -1
  170. package/dist/cjs/state/Toolbar/toolbarResponsiveConstants.js +5 -1
  171. package/dist/cjs/state/Toolbar/toolbarResponsiveConstants.js.map +1 -1
  172. package/dist/cjs/styles.global.css +1 -1
  173. package/dist/cjs/version.js +1 -1
  174. package/dist/cjs/version.js.map +1 -1
  175. package/dist/docs/AI Assistant.md +171 -0
  176. package/dist/docs/ActionCellProps.md +40 -0
  177. package/dist/docs/ActionSubItem.md +24 -0
  178. package/dist/docs/Allow Users to Add Extended Fields.md +194 -0
  179. package/dist/docs/AutoCompleteFilter.md +276 -0
  180. package/dist/docs/BulkActionModalRenderProp.md +22 -0
  181. package/dist/docs/BulkSelectState.md +18 -0
  182. package/dist/docs/Category.md +19 -0
  183. package/dist/docs/CollectionEmptyState.md +240 -0
  184. package/dist/docs/CollectionErrorState.md +107 -0
  185. package/dist/docs/CollectionNoResultsState.md +116 -0
  186. package/dist/docs/CollectionOptimisticActions.md +1074 -0
  187. package/dist/docs/CollectionPage.Content.md +154 -0
  188. package/dist/docs/CollectionPage.Header.md +216 -0
  189. package/dist/docs/CollectionPage.md +183 -0
  190. package/dist/docs/CollectionPremiumEmptyState.md +115 -0
  191. package/dist/docs/CollectionSearch.md +345 -0
  192. package/dist/docs/CollectionSection.md +16 -0
  193. package/dist/docs/CollectionState.md +29 -0
  194. package/dist/docs/CollectionSubToolbar.md +14 -0
  195. package/dist/docs/CollectionToolbar.md +18 -0
  196. package/dist/docs/Component Tests.md +191 -0
  197. package/dist/docs/ComputedQuery.md +45 -0
  198. package/dist/docs/CtaBaseProps.md +19 -0
  199. package/dist/docs/CustomColumns.md +916 -0
  200. package/dist/docs/CustomFieldsViewWidget.md +191 -0
  201. package/dist/docs/CustomFieldsWidget.md +635 -0
  202. package/dist/docs/Data Extension Overview.md +85 -0
  203. package/dist/docs/DataResultRaw.md +25 -0
  204. package/dist/docs/DateRangeFilter.md +202 -0
  205. package/dist/docs/Display Extended Fields.md +244 -0
  206. package/dist/docs/Enable Filters for Extended Fields.md +243 -0
  207. package/dist/docs/EntityPage.AdditionalContent.md +25 -0
  208. package/dist/docs/EntityPage.Card.md +250 -0
  209. package/dist/docs/EntityPage.Content.md +24 -0
  210. package/dist/docs/EntityPage.Header.md +260 -0
  211. package/dist/docs/EntityPage.MainContent.md +24 -0
  212. package/dist/docs/EntityPage.Slots.md +75 -0
  213. package/dist/docs/EntityPage.md +1030 -0
  214. package/dist/docs/EntityPageState.md +23 -0
  215. package/dist/docs/Explore Apps.md +170 -0
  216. package/dist/docs/ExportTo.md +894 -0
  217. package/dist/docs/Filter Overview.md +448 -0
  218. package/dist/docs/FilterProps.md +26 -0
  219. package/dist/docs/FormPageState.md +17 -0
  220. package/dist/docs/Grid Sections.md +170 -0
  221. package/dist/docs/Grid.md +598 -0
  222. package/dist/docs/GridDragAndDrop.md +131 -0
  223. package/dist/docs/GridFolders.md +259 -0
  224. package/dist/docs/GridFoldersSection.md +16 -0
  225. package/dist/docs/GridFoldersState.md +20 -0
  226. package/dist/docs/GridSectionsProp.md +22 -0
  227. package/dist/docs/GridState.md +22 -0
  228. package/dist/docs/Highlighted Search.md +114 -0
  229. package/dist/docs/InMemoryBackend.md +81 -0
  230. package/dist/docs/Indeterminate.md +273 -0
  231. package/dist/docs/Internal Scroll.md +236 -0
  232. package/dist/docs/More Actions.md +1015 -0
  233. package/dist/docs/MoreActionsItem.md +33 -0
  234. package/dist/docs/MultiAutoInlineCheckboxFilter.md +850 -0
  235. package/dist/docs/MultiBulkActionToolbar.md +1174 -0
  236. package/dist/docs/MultiInlineCheckboxFilter.md +871 -0
  237. package/dist/docs/MultiLevelSorting.md +376 -0
  238. package/dist/docs/MultiSelectCheckboxFilter.md +369 -0
  239. package/dist/docs/MultiSelectCollectionFilter.md +218 -0
  240. package/dist/docs/NestedTable.md +1101 -0
  241. package/dist/docs/NestedTableLevel.md +24 -0
  242. package/dist/docs/NestedTableNodeState.md +23 -0
  243. package/dist/docs/NestedTableOptimisticActions.md +21 -0
  244. package/dist/docs/NestedTableState.md +21 -0
  245. package/dist/docs/Next.js.md +143 -0
  246. package/dist/docs/NumberRangeFilter.md +230 -0
  247. package/dist/docs/OperatorFilterPicker.md +195 -0
  248. package/dist/docs/PageWrapper.md +50 -0
  249. package/dist/docs/PatternsReactRoute.md +31 -0
  250. package/dist/docs/PatternsReactRouter.md +24 -0
  251. package/dist/docs/PickerContent.md +129 -0
  252. package/dist/docs/PickerModal.md +680 -0
  253. package/dist/docs/PickerStandalone.md +332 -0
  254. package/dist/docs/PrimaryActionButton.md +323 -0
  255. package/dist/docs/PrimaryActions.md +173 -0
  256. package/dist/docs/PrimaryPageButton.md +140 -0
  257. package/dist/docs/RadioGroupFilter.md +73 -0
  258. package/dist/docs/RequestId.md +58 -0
  259. package/dist/docs/SecondaryActions.md +175 -0
  260. package/dist/docs/SettingsPage.AdditionalContent.md +25 -0
  261. package/dist/docs/SettingsPage.Card.md +246 -0
  262. package/dist/docs/SettingsPage.Content.md +24 -0
  263. package/dist/docs/SettingsPage.Header.md +176 -0
  264. package/dist/docs/SettingsPage.MainContent.md +24 -0
  265. package/dist/docs/SettingsPage.md +680 -0
  266. package/dist/docs/SettingsPageState.md +22 -0
  267. package/dist/docs/SingleSelectFilter.md +401 -0
  268. package/dist/docs/Sled Tests.md +109 -0
  269. package/dist/docs/Sortable Columns.md +250 -0
  270. package/dist/docs/Suggestions.md +370 -0
  271. package/dist/docs/SummaryBar.md +515 -0
  272. package/dist/docs/Table Sections.md +473 -0
  273. package/dist/docs/Table.md +1065 -0
  274. package/dist/docs/TableColumn.md +35 -0
  275. package/dist/docs/TableDragAndDrop.md +502 -0
  276. package/dist/docs/TableFolders.md +419 -0
  277. package/dist/docs/TableFoldersState.md +22 -0
  278. package/dist/docs/TableGridSwitch.md +298 -0
  279. package/dist/docs/TableGridSwitchDragAndDrop.md +170 -0
  280. package/dist/docs/TableGridSwitchFolders.md +446 -0
  281. package/dist/docs/TableGridSwitchFoldersState.md +22 -0
  282. package/dist/docs/TableGridSwitchState.md +23 -0
  283. package/dist/docs/TableSectionsProp.md +22 -0
  284. package/dist/docs/TableState.md +24 -0
  285. package/dist/docs/TableTopNotification.md +314 -0
  286. package/dist/docs/TabsFilter.md +484 -0
  287. package/dist/docs/Tags Overview.md +118 -0
  288. package/dist/docs/Tags.md +718 -0
  289. package/dist/docs/TagsWidget.md +419 -0
  290. package/dist/docs/ToolbarCollectionState.md +19 -0
  291. package/dist/docs/ToolbarFilters.md +1588 -0
  292. package/dist/docs/ToolbarSecondaryActions.md +383 -0
  293. package/dist/docs/ToolbarTitle.md +324 -0
  294. package/dist/docs/View.md +23 -0
  295. package/dist/docs/Views.md +786 -0
  296. package/dist/docs/WidgetsFormProvider.md +61 -0
  297. package/dist/docs/WixPatternsBMProvider.md +31 -0
  298. package/dist/docs/WixPatternsBaseProvider.md +87 -0
  299. package/dist/docs/WixPatternsEssentialsProvider.md +43 -0
  300. package/dist/docs/WixPatternsGizaProvider.md +37 -0
  301. package/dist/docs/WixPatternsProvider.md +68 -0
  302. package/dist/docs/Working with Cache.md +114 -0
  303. package/dist/docs/arrayFilter.md +226 -0
  304. package/dist/docs/bulkActionModal.md +40 -0
  305. package/dist/docs/createNestedTableLevel.md +24 -0
  306. package/dist/docs/createNestedTableSingleEntityLevels.md +20 -0
  307. package/dist/docs/customFilter.md +182 -0
  308. package/dist/docs/dateRangeFilter.md +55 -0
  309. package/dist/docs/deleteSecondaryAction.md +122 -0
  310. package/dist/docs/idNameArrayFilter.md +206 -0
  311. package/dist/docs/index.json +662 -0
  312. package/dist/docs/operatorFilter.md +183 -0
  313. package/dist/docs/stringFilter.md +204 -0
  314. package/dist/docs/stringsArrayFilter.md +118 -0
  315. package/dist/docs/useAmbassadorCollection.md +45 -0
  316. package/dist/docs/useCollection.md +61 -0
  317. package/dist/docs/useCreateCollection.md +32 -0
  318. package/dist/docs/useCreateNestedOptimisticActions.md +21 -0
  319. package/dist/docs/useEntity.md +44 -0
  320. package/dist/docs/useEntityPage.md +57 -0
  321. package/dist/docs/useEntityPageContext.md +28 -0
  322. package/dist/docs/useFilterCollection.md +163 -0
  323. package/dist/docs/useGridCollection.md +58 -0
  324. package/dist/docs/useGridFolders.md +25 -0
  325. package/dist/docs/useItemsSelectionFilter.md +60 -0
  326. package/dist/docs/useNestedTable.md +66 -0
  327. package/dist/docs/useOptimisticActions.md +1288 -0
  328. package/dist/docs/usePatternsNavigate.md +57 -0
  329. package/dist/docs/usePickerContent.md +61 -0
  330. package/dist/docs/usePickerModal.md +68 -0
  331. package/dist/docs/usePickerStandalone.md +56 -0
  332. package/dist/docs/useSelector.md +181 -0
  333. package/dist/docs/useSettingsPage.md +54 -0
  334. package/dist/docs/useSettingsPageContext.md +28 -0
  335. package/dist/docs/useStaticListFilterCollection.md +194 -0
  336. package/dist/docs/useTableCollection.md +58 -0
  337. package/dist/docs/useTableFolders.md +25 -0
  338. package/dist/docs/useTableGridSwitchCollection.md +58 -0
  339. package/dist/docs/useTableGridSwitchFolders.md +25 -0
  340. package/dist/docs/useWidgetsFormContext.md +19 -0
  341. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  342. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  343. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  344. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  345. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  346. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  347. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +3 -1
  348. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  349. package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +3 -2
  350. package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  351. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  352. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  353. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +39 -6
  354. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
  355. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +2 -1
  356. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
  357. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  358. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  359. package/dist/esm/components/CollectionToolbar/ToolbarOverflowMenu.js +110 -0
  360. package/dist/esm/components/CollectionToolbar/ToolbarOverflowMenu.js.map +1 -0
  361. package/dist/esm/components/CollectionToolbar/useToolbarOverflowItems.js +74 -0
  362. package/dist/esm/components/CollectionToolbar/useToolbarOverflowItems.js.map +1 -0
  363. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  364. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  365. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  366. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  367. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  368. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  369. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  370. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  371. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  372. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  373. package/dist/esm/components/EditableTable/cellTypes/email/Edit.js +21 -0
  374. package/dist/esm/components/EditableTable/cellTypes/email/Edit.js.map +1 -0
  375. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
  376. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +15 -0
  377. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -0
  378. package/dist/esm/components/EditableTable/cellTypes/email/Edit.uni.driver.js +13 -0
  379. package/dist/esm/components/EditableTable/cellTypes/email/Edit.uni.driver.js.map +1 -0
  380. package/dist/esm/components/EditableTable/cellTypes/email/View.js +5 -0
  381. package/dist/esm/components/EditableTable/cellTypes/email/View.js.map +1 -0
  382. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css +4 -0
  383. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +15 -0
  384. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -0
  385. package/dist/esm/components/EditableTable/cellTypes/email/View.uni.driver.js +8 -0
  386. package/dist/esm/components/EditableTable/cellTypes/email/View.uni.driver.js.map +1 -0
  387. package/dist/esm/components/EditableTable/cellTypes/email/index.js +22 -0
  388. package/dist/esm/components/EditableTable/cellTypes/email/index.js.map +1 -0
  389. package/dist/esm/components/EditableTable/cellTypes/index.js +5 -1
  390. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  391. package/dist/esm/components/EditableTable/cellTypes/number/Edit.js +2 -5
  392. package/dist/esm/components/EditableTable/cellTypes/number/Edit.js.map +1 -1
  393. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  394. package/dist/esm/components/EditableTable/cellTypes/number/View.js +2 -2
  395. package/dist/esm/components/EditableTable/cellTypes/number/View.js.map +1 -1
  396. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  397. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  398. package/dist/esm/components/EditableTable/cellTypes/object/Edit.js +39 -0
  399. package/dist/esm/components/EditableTable/cellTypes/object/Edit.js.map +1 -0
  400. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
  401. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +15 -0
  402. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -0
  403. package/dist/esm/components/EditableTable/cellTypes/object/Edit.uni.driver.js +13 -0
  404. package/dist/esm/components/EditableTable/cellTypes/object/Edit.uni.driver.js.map +1 -0
  405. package/dist/esm/components/EditableTable/cellTypes/object/View.js +5 -0
  406. package/dist/esm/components/EditableTable/cellTypes/object/View.js.map +1 -0
  407. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css +4 -0
  408. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +15 -0
  409. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -0
  410. package/dist/esm/components/EditableTable/cellTypes/object/View.uni.driver.js +8 -0
  411. package/dist/esm/components/EditableTable/cellTypes/object/View.uni.driver.js.map +1 -0
  412. package/dist/esm/components/EditableTable/cellTypes/object/index.js +47 -0
  413. package/dist/esm/components/EditableTable/cellTypes/object/index.js.map +1 -0
  414. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  415. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  416. package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js +2 -2
  417. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  418. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  419. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  420. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  421. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  422. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  423. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +15 -1
  424. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
  425. package/dist/esm/components/EditableTable/useKeyboardNavigation.js +10 -0
  426. package/dist/esm/components/EditableTable/useKeyboardNavigation.js.map +1 -1
  427. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  428. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  429. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  430. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  431. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  432. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  433. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  434. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  435. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  436. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  437. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  438. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  439. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  440. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  441. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  442. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  443. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  444. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  445. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  446. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  447. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  448. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  449. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  450. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  451. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  452. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  453. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  454. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  455. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  456. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js +2 -12
  457. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
  458. package/dist/esm/components/TableGridSwitchButton/layoutConfig.js +14 -0
  459. package/dist/esm/components/TableGridSwitchButton/layoutConfig.js.map +1 -0
  460. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  461. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  462. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  463. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  464. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  465. package/dist/esm/components/common.st.css.js +2 -2
  466. package/dist/esm/hooks/useStaticListFilterCollection.js +1 -0
  467. package/dist/esm/hooks/useStaticListFilterCollection.js.map +1 -1
  468. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  469. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  470. package/dist/esm/state/EditableTable/CellInteractionState.js +58 -0
  471. package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -1
  472. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  473. package/dist/esm/state/TableState.js +2 -0
  474. package/dist/esm/state/TableState.js.map +1 -1
  475. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js +40 -5
  476. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
  477. package/dist/esm/state/Toolbar/computeResponsiveTargetState.js +46 -18
  478. package/dist/esm/state/Toolbar/computeResponsiveTargetState.js.map +1 -1
  479. package/dist/esm/state/Toolbar/toolbarResponsiveConstants.js +4 -0
  480. package/dist/esm/state/Toolbar/toolbarResponsiveConstants.js.map +1 -1
  481. package/dist/esm/styles.global.css +1 -1
  482. package/dist/esm/version.js +1 -1
  483. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  484. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +24 -24
  485. package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
  486. package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
  487. package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
  488. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  489. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts +3 -0
  490. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts.map +1 -1
  491. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts +5 -1
  492. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts.map +1 -1
  493. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts.map +1 -1
  494. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  495. package/dist/types/components/CollectionToolbar/ToolbarOverflowMenu.d.ts +24 -0
  496. package/dist/types/components/CollectionToolbar/ToolbarOverflowMenu.d.ts.map +1 -0
  497. package/dist/types/components/CollectionToolbar/useToolbarOverflowItems.d.ts +17 -0
  498. package/dist/types/components/CollectionToolbar/useToolbarOverflowItems.d.ts.map +1 -0
  499. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  500. package/dist/types/components/CtaProps.d.ts +1 -1
  501. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
  502. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
  503. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  504. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  505. package/dist/types/components/EditableTable/cellTypes/email/Edit.d.ts +4 -0
  506. package/dist/types/components/EditableTable/cellTypes/email/Edit.d.ts.map +1 -0
  507. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts +14 -0
  508. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -0
  509. package/dist/types/components/EditableTable/cellTypes/email/Edit.uni.driver.d.ts +22 -0
  510. package/dist/types/components/EditableTable/cellTypes/email/Edit.uni.driver.d.ts.map +1 -0
  511. package/dist/types/components/EditableTable/cellTypes/email/View.d.ts +4 -0
  512. package/dist/types/components/EditableTable/cellTypes/email/View.d.ts.map +1 -0
  513. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts +14 -0
  514. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -0
  515. package/dist/types/components/EditableTable/cellTypes/email/View.uni.driver.d.ts +15 -0
  516. package/dist/types/components/EditableTable/cellTypes/email/View.uni.driver.d.ts.map +1 -0
  517. package/dist/types/components/EditableTable/cellTypes/email/index.d.ts +5 -0
  518. package/dist/types/components/EditableTable/cellTypes/email/index.d.ts.map +1 -0
  519. package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
  520. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  521. package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts.map +1 -1
  522. package/dist/types/components/EditableTable/cellTypes/number/View.d.ts.map +1 -1
  523. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  524. package/dist/types/components/EditableTable/cellTypes/object/Edit.d.ts +4 -0
  525. package/dist/types/components/EditableTable/cellTypes/object/Edit.d.ts.map +1 -0
  526. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts +14 -0
  527. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -0
  528. package/dist/types/components/EditableTable/cellTypes/object/Edit.uni.driver.d.ts +22 -0
  529. package/dist/types/components/EditableTable/cellTypes/object/Edit.uni.driver.d.ts.map +1 -0
  530. package/dist/types/components/EditableTable/cellTypes/object/View.d.ts +4 -0
  531. package/dist/types/components/EditableTable/cellTypes/object/View.d.ts.map +1 -0
  532. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts +14 -0
  533. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -0
  534. package/dist/types/components/EditableTable/cellTypes/object/View.uni.driver.d.ts +15 -0
  535. package/dist/types/components/EditableTable/cellTypes/object/View.uni.driver.d.ts.map +1 -0
  536. package/dist/types/components/EditableTable/cellTypes/object/index.d.ts +5 -0
  537. package/dist/types/components/EditableTable/cellTypes/object/index.d.ts.map +1 -0
  538. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  539. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  540. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  541. package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -1
  542. package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts.map +1 -1
  543. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  544. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  545. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  546. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  547. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  548. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  549. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  550. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  551. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  552. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  553. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +37 -37
  554. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  555. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  556. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  557. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  558. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  559. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  560. package/dist/types/components/Table/Table.uni.driver.d.ts +26 -26
  561. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +37 -37
  562. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +40 -40
  563. package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.d.ts.map +1 -1
  564. package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts +9 -0
  565. package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts.map +1 -0
  566. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  567. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  568. package/dist/types/hooks/useStaticListFilterCollection.d.ts.map +1 -1
  569. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  570. package/dist/types/state/EditableTable/CellInteractionState.d.ts +7 -0
  571. package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -1
  572. package/dist/types/state/EditableTable/types.d.ts +2 -0
  573. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  574. package/dist/types/state/TableState.d.ts +2 -0
  575. package/dist/types/state/TableState.d.ts.map +1 -1
  576. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts +3 -0
  577. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts.map +1 -1
  578. package/dist/types/state/Toolbar/computeResponsiveTargetState.d.ts +8 -1
  579. package/dist/types/state/Toolbar/computeResponsiveTargetState.d.ts.map +1 -1
  580. package/dist/types/state/Toolbar/toolbarResponsiveConstants.d.ts +2 -0
  581. package/dist/types/state/Toolbar/toolbarResponsiveConstants.d.ts.map +1 -1
  582. package/dist/types/testkit/enzyme.d.ts +194 -194
  583. package/dist/types/testkit/jsdom.d.ts +207 -207
  584. package/dist/types/testkit/playwright.d.ts +194 -194
  585. package/dist/types/testkit/puppeteer.d.ts +205 -205
  586. package/dist/types/version.d.ts +1 -1
  587. package/package.json +10 -7
  588. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  589. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  590. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  591. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  592. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  593. package/src/components/CollectionTable/CollectionTableWSRTable.tsx +3 -0
  594. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  595. package/src/components/CollectionToolbar/CollectionToolbar.tsx +11 -4
  596. package/src/components/CollectionToolbar/CollectionToolbarActionsGroupProps.ts +3 -0
  597. package/src/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.tsx +73 -16
  598. package/src/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.tsx +4 -0
  599. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  600. package/src/components/CollectionToolbar/ToolbarOverflowMenu.tsx +323 -0
  601. package/src/components/CollectionToolbar/useToolbarOverflowItems.ts +112 -0
  602. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  603. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  604. package/src/components/CtaProps.ts +1 -1
  605. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  606. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  607. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  608. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  609. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  610. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  611. package/src/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
  612. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +25 -0
  613. package/src/components/EditableTable/cellTypes/email/Edit.tsx +46 -0
  614. package/src/components/EditableTable/cellTypes/email/Edit.uni.driver.ts +23 -0
  615. package/src/components/EditableTable/cellTypes/email/View.st.css +4 -0
  616. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +25 -0
  617. package/src/components/EditableTable/cellTypes/email/View.tsx +8 -0
  618. package/src/components/EditableTable/cellTypes/email/View.uni.driver.ts +9 -0
  619. package/src/components/EditableTable/cellTypes/email/index.ts +23 -0
  620. package/src/components/EditableTable/cellTypes/index.ts +6 -0
  621. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  622. package/src/components/EditableTable/cellTypes/number/Edit.tsx +3 -8
  623. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  624. package/src/components/EditableTable/cellTypes/number/View.tsx +2 -4
  625. package/src/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
  626. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +25 -0
  627. package/src/components/EditableTable/cellTypes/object/Edit.tsx +72 -0
  628. package/src/components/EditableTable/cellTypes/object/Edit.uni.driver.ts +22 -0
  629. package/src/components/EditableTable/cellTypes/object/View.st.css +4 -0
  630. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +25 -0
  631. package/src/components/EditableTable/cellTypes/object/View.tsx +12 -0
  632. package/src/components/EditableTable/cellTypes/object/View.uni.driver.ts +9 -0
  633. package/src/components/EditableTable/cellTypes/object/index.ts +49 -0
  634. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  635. package/src/components/EditableTable/cellTypes/select/View.st.css.ts +2 -2
  636. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  637. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  638. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  639. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  640. package/src/components/EditableTable/useCellFocusAndEditing.ts +16 -1
  641. package/src/components/EditableTable/useKeyboardNavigation.ts +11 -0
  642. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  643. package/src/components/Fade/Fade.st.css.ts +2 -2
  644. package/src/components/Heading/Heading.st.css.ts +2 -2
  645. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  646. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  647. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  648. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  649. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  650. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  651. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  652. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  653. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  654. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  655. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  656. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  657. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  658. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  659. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  660. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  661. package/src/components/TableGridSwitchButton/TableGridSwitchButton.tsx +2 -21
  662. package/src/components/TableGridSwitchButton/layoutConfig.tsx +20 -0
  663. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  664. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  665. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  666. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  667. package/src/components/common.st.css.ts +2 -2
  668. package/src/hooks/useStaticListFilterCollection.ts +1 -0
  669. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  670. package/src/state/EditableTable/CellInteractionState.ts +63 -0
  671. package/src/state/EditableTable/types.ts +2 -0
  672. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  673. package/src/state/TableState.ts +3 -0
  674. package/src/state/Toolbar/ToolbarResponsiveState.ts +64 -10
  675. package/src/state/Toolbar/computeResponsiveTargetState.ts +68 -18
  676. package/src/state/Toolbar/toolbarResponsiveConstants.ts +4 -0
  677. package/src/styles.global.css +1 -1
  678. package/src/version.ts +1 -1
@@ -0,0 +1,1174 @@
1
+ # MultiBulkActionToolbar
2
+
3
+ **Category:** Features/Actions/Bulk Actions
4
+
5
+ ## Design
6
+
7
+ ### Description
8
+
9
+ Provides the ability to perform multiple operations on multiple items.
10
+
11
+ There are 2 types of actions:
12
+
13
+ - **Primary actions:** Appear as separate CTAs and can be used a popover menus.
14
+
15
+ - **Secondary Actions:** Appear under the **More action** popover menu, and are found on the left next to the divider.
16
+
17
+ ```tsx
18
+ import { MultiBulkActionToolbar } from '@wix/patterns';
19
+ ```
20
+
21
+ ---
22
+
23
+ ### Variations
24
+
25
+ ### Bulk action
26
+
27
+ Basic bulk action.
28
+
29
+ ```tsx
30
+ import {
31
+ Avatar,
32
+ Card,
33
+ CustomModalLayout,
34
+ Modal,
35
+ Page,
36
+ Text,
37
+ } from '@wix/design-system';
38
+ import React from 'react';
39
+ import {
40
+ MultiBulkActionToolbar,
41
+ Filter,
42
+ Table,
43
+ OffsetQuery,
44
+ stringsArrayFilter,
45
+ useTableCollection,
46
+ ToolbarTitle,
47
+ } from '@wix/patterns';
48
+ import { Edit, Download, ChangeOrder, Block } from '@wix/wix-ui-icons-common';
49
+ import { contacts } from '@wix/crm';
50
+
51
+ type ContactsFilters = {
52
+ level: Filter<string[]>;
53
+ };
54
+
55
+ function BulkActions() {
56
+
57
+ const state = useTableCollection<contacts.Contact, ContactsFilters>({
58
+ queryName: 'MultiBulkActionToolbar-BulkActions',
59
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
60
+ const { limit, offset, search, filters } = query;
61
+
62
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
63
+
64
+ if (search) {
65
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
66
+ }
67
+
68
+ if (filters.level) {
69
+ queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
70
+ }
71
+
72
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
73
+ items,
74
+ total,
75
+ }));
76
+ },
77
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
78
+ fetchErrorMessage: () => 'Error fetching contacts',
79
+ filters: {
80
+ level: stringsArrayFilter({
81
+ initialValue: ['Beginner'],
82
+ }),
83
+ },
84
+ });
85
+ const collection = state.collection;
86
+ React.useEffect(() => {
87
+ collection.bulkSelect.selectAll();
88
+ }, []);
89
+
90
+ return (
91
+ <Page height="400px">
92
+ <Page.Header title="Contacts" />
93
+ <Page.Content>
94
+ <Table
95
+ state={state}
96
+ title={<ToolbarTitle title="Contacts" showTotal />}
97
+ columns={[
98
+ {
99
+ title: '',
100
+ width: '50px',
101
+ render: (contact) => (
102
+ <Avatar
103
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
104
+ imgProps={{ src: contact.info?.picture?.image }}
105
+ />
106
+ ),
107
+ },
108
+ {
109
+ title: 'Name',
110
+ width: '250px',
111
+ render: (contact) =>
112
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
113
+ },
114
+ {
115
+ title: 'Level',
116
+ render: (contact) => contact.info?.jobTitle,
117
+ },
118
+ {
119
+ title: 'Last Activity',
120
+ render: (contact) =>
121
+ contact.lastActivity?.activityDate?.toLocaleString(),
122
+ },
123
+ ]}
124
+ bulkActionModal={({
125
+ isModalOpen,
126
+ selectedValues,
127
+ closeModal,
128
+ query,
129
+ }) => (
130
+ <Modal isOpen={isModalOpen}>
131
+ <CustomModalLayout
132
+ height={300}
133
+ dataHook="bulk-action-custom-modal-layout"
134
+ title="Edit Contacts"
135
+ primaryButtonOnClick={closeModal}
136
+ primaryButtonText="save"
137
+ secondaryButtonOnClick={closeModal}
138
+ secondaryButtonText="cancel"
139
+ >
140
+ {selectedValues.map((value, index) => (
141
+ <Card>
142
+ <Text
143
+ key={value._id}
144
+ dataHook={`selected-value-text-${index}`}
145
+ >
146
+ Page: {query.page}; Name:{' '}
147
+ {`${value.info?.name?.first} ${value.info?.name?.last}`}
148
+ </Text>
149
+ </Card>
150
+ ))}
151
+ </CustomModalLayout>
152
+ </Modal>
153
+ )}
154
+ bulkActionToolbar={({ selectedValues, openModal }) => {
155
+ const disabled = selectedValues.length > 4;
156
+ return (
157
+ <MultiBulkActionToolbar
158
+ primaryActionItems={[
159
+ {
160
+ dataHook: 'edit-button',
161
+ onClick: openModal,
162
+ label: 'Edit',
163
+ prefixIcon: <Edit />,
164
+ },
165
+ {
166
+ dataHook: 'download-button',
167
+ onClick: openModal,
168
+ label: 'Download',
169
+ prefixIcon: <Download />,
170
+ tooltip: disabled
171
+ ? 'Downloading is supported for up to 10 items'
172
+ : undefined,
173
+ disabled,
174
+ },
175
+ ]}
176
+ secondaryActionItems={[
177
+ {
178
+ dataHook: 'block-button',
179
+ onClick: openModal,
180
+ label: 'Block',
181
+ prefixIcon: <Block />,
182
+ },
183
+ {
184
+ dataHook: 'change-button',
185
+ onClick: openModal,
186
+ label: 'Change',
187
+ disabled,
188
+ prefixIcon: <ChangeOrder />,
189
+ },
190
+ ]}
191
+ />
192
+ );
193
+ }}
194
+ />
195
+ </Page.Content>
196
+ </Page>
197
+ );
198
+ }
199
+ ```
200
+
201
+ ### Popover menu
202
+
203
+ A popoever menu for the primary action.
204
+
205
+ ```tsx
206
+ import { Avatar, Page } from '@wix/design-system';
207
+ import React from 'react';
208
+ import {
209
+ MultiBulkActionToolbar,
210
+ Filter,
211
+ Table,
212
+ PageWrapper,
213
+ OffsetQuery,
214
+ stringsArrayFilter,
215
+ useTableCollection,
216
+ ToolbarTitle,
217
+ } from '@wix/patterns';
218
+ import { Visible, Hidden } from '@wix/wix-ui-icons-common';
219
+ import { contacts } from '@wix/crm';
220
+
221
+ type ContactsFilters = {
222
+ level: Filter<string[]>;
223
+ };
224
+
225
+ function MultiBulkActionsPopoverMenu() {
226
+
227
+ const state = useTableCollection<contacts.Contact, ContactsFilters>({
228
+ queryName: 'MultiBulkActionToolbar-PopoverMenu',
229
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
230
+ const { limit, offset, search, filters } = query;
231
+
232
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
233
+
234
+ if (search) {
235
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
236
+ }
237
+
238
+ if (filters.level) {
239
+ queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
240
+ }
241
+
242
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
243
+ items,
244
+ total,
245
+ }));
246
+ },
247
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
248
+ fetchErrorMessage: () => 'Error fetching contacts',
249
+ filters: {
250
+ level: stringsArrayFilter({
251
+ initialValue: ['Beginner'],
252
+ }),
253
+ },
254
+ });
255
+ const collection = state.collection;
256
+ React.useEffect(() => {
257
+ collection.bulkSelect.selectAll();
258
+ }, []);
259
+
260
+ const options = [
261
+ { label: 'Visible', icon: <Visible /> },
262
+ { label: 'Hidden', icon: <Hidden /> },
263
+ ];
264
+
265
+ const [selectedOption, setSelectedOption] = React.useState({
266
+ label: 'Set Visibility',
267
+ icon: <Visible />,
268
+ });
269
+
270
+ return (
271
+ <PageWrapper>
272
+ <Page height="400px">
273
+ <Page.Header title="Contacts" />
274
+ <Page.Content>
275
+ <Table
276
+ state={state}
277
+ title={<ToolbarTitle title="Contacts" showTotal />}
278
+ columns={[
279
+ {
280
+ title: '',
281
+ width: '50px',
282
+ render: (contact) => (
283
+ <Avatar
284
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
285
+ imgProps={{ src: contact.info?.picture?.image }}
286
+ />
287
+ ),
288
+ },
289
+ {
290
+ title: 'Name',
291
+ width: '250px',
292
+ render: (contact) =>
293
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
294
+ },
295
+ {
296
+ title: 'Level',
297
+ render: (contact) => contact.info?.jobTitle,
298
+ },
299
+ {
300
+ title: 'Last Activity',
301
+ render: (contact) =>
302
+ contact.lastActivity?.activityDate?.toLocaleString(),
303
+ },
304
+ ]}
305
+ bulkActionToolbar={({ selectedValues, openModal }) => {
306
+ return (
307
+ <MultiBulkActionToolbar
308
+ primaryActionItems={[
309
+ {
310
+ dataHook: 'set-visibility',
311
+ label: selectedOption.label,
312
+ prefixIcon: selectedOption.icon,
313
+ subItems: options.map((el, i) => ({
314
+ prefixIcon: el.icon,
315
+ label: el.label,
316
+ onClick: () => setSelectedOption(el),
317
+ })),
318
+ },
319
+ ]}
320
+ />
321
+ );
322
+ }}
323
+ />
324
+ </Page.Content>
325
+ </Page>
326
+ </PageWrapper>
327
+ );
328
+ }
329
+ ```
330
+
331
+ ### Basic secondary action
332
+
333
+ Popoever menu for primary and secondary actions.
334
+
335
+ ```tsx
336
+ import { Avatar, CustomModalLayout, Modal, Page } from '@wix/design-system';
337
+ import React from 'react';
338
+ import {
339
+ MultiBulkActionToolbar,
340
+ Filter,
341
+ Table,
342
+ PageWrapper,
343
+ OffsetQuery,
344
+ stringsArrayFilter,
345
+ useTableCollection,
346
+ ToolbarTitle,
347
+ } from '@wix/patterns';
348
+ import {
349
+ Visible,
350
+ Download,
351
+ Block,
352
+ ChangeOrder,
353
+ } from '@wix/wix-ui-icons-common';
354
+ import { contacts } from '@wix/crm';
355
+
356
+ type ContactsFilters = {
357
+ level: Filter<string[]>;
358
+ };
359
+
360
+ function MultiBulkActionToolbarSecondaryActions() {
361
+
362
+ const state = useTableCollection<contacts.Contact, ContactsFilters>({
363
+ queryName: 'MultiBulkActionToolbar-SecondaryActions',
364
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
365
+ const { limit, offset, search, filters } = query;
366
+
367
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
368
+
369
+ if (search) {
370
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
371
+ }
372
+
373
+ if (filters.level) {
374
+ queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
375
+ }
376
+
377
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
378
+ items,
379
+ total,
380
+ }));
381
+ },
382
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
383
+ fetchErrorMessage: () => 'Error fetching contacts',
384
+ filters: {
385
+ level: stringsArrayFilter({
386
+ initialValue: ['Beginner'],
387
+ }),
388
+ },
389
+ });
390
+ const collection = state.collection;
391
+ React.useEffect(() => {
392
+ collection.bulkSelect.selectAll();
393
+ }, []);
394
+
395
+ return (
396
+ <PageWrapper>
397
+ <Page height="400px">
398
+ <Page.Content>
399
+ <Table
400
+ state={state}
401
+ title={<ToolbarTitle title="Contacts" showTotal />}
402
+ columns={[
403
+ {
404
+ title: '',
405
+ width: '50px',
406
+ render: (contact) => (
407
+ <Avatar
408
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
409
+ imgProps={{ src: contact.info?.picture?.image }}
410
+ />
411
+ ),
412
+ },
413
+ {
414
+ title: 'Name',
415
+ width: '250px',
416
+ render: (contact) =>
417
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
418
+ },
419
+ {
420
+ title: 'Level',
421
+ render: (contact) => contact.info?.jobTitle,
422
+ },
423
+ {
424
+ title: 'Last Activity',
425
+ render: (contact) =>
426
+ contact.lastActivity?.activityDate?.toLocaleString(),
427
+ },
428
+ ]}
429
+ bulkActionModal={({
430
+ isModalOpen,
431
+ allSelected,
432
+ selectedValues,
433
+ uncheckedValues,
434
+ closeModal,
435
+ query,
436
+ }) => (
437
+ <Modal isOpen={isModalOpen}>
438
+ <CustomModalLayout
439
+ height={300}
440
+ dataHook="bulk-action-custom-modal-layout"
441
+ title="Edit Product"
442
+ primaryButtonOnClick={closeModal}
443
+ primaryButtonText="Save"
444
+ secondaryButtonOnClick={closeModal}
445
+ secondaryButtonText="Cancel"
446
+ >
447
+ <pre>
448
+ {JSON.stringify(
449
+ {
450
+ allSelected,
451
+ selectedValues: selectedValues.length,
452
+ uncheckedValues: uncheckedValues.length,
453
+ query: {
454
+ page: query.page,
455
+ },
456
+ },
457
+ null,
458
+ 2,
459
+ )}
460
+ </pre>
461
+ </CustomModalLayout>
462
+ </Modal>
463
+ )}
464
+ bulkActionToolbar={({ selectedValues, openModal }) => {
465
+ return (
466
+ <MultiBulkActionToolbar
467
+ primaryActionItems={[
468
+ {
469
+ dataHook: 'primary-action-1',
470
+ label: 'Primary 1',
471
+ prefixIcon: <Visible />,
472
+ subItems: [
473
+ { label: 'option 1' },
474
+ { label: 'option 2' },
475
+ { label: 'option 3' },
476
+ ],
477
+ },
478
+ {
479
+ dataHook: 'primary-action-2',
480
+ label: 'Primary 2',
481
+ prefixIcon: <Download />,
482
+ subItems: [
483
+ { label: 'option 1' },
484
+ { label: 'option 2' },
485
+ { label: 'option 3' },
486
+ ],
487
+ },
488
+ ]}
489
+ secondaryActionItems={[
490
+ {
491
+ dataHook: 'secondary-action-1',
492
+ onClick: openModal,
493
+ label: 'Secondary 1',
494
+ prefixIcon: <Block />,
495
+ },
496
+ {
497
+ dataHook: 'secondary-action-2',
498
+ onClick: openModal,
499
+ disabled: true,
500
+ label: 'Secondary 2',
501
+ prefixIcon: <ChangeOrder />,
502
+ },
503
+ ]}
504
+ />
505
+ );
506
+ }}
507
+ />
508
+ </Page.Content>
509
+ </Page>
510
+ </PageWrapper>
511
+ );
512
+ }
513
+ ```
514
+
515
+ ### Primary & Secondary actions with a divider
516
+
517
+ Create groups of `primaryActionItems -> subItems` & `secondaryActionItems` with a divider between each group. Each member of a group is defined in the same array. The groups arrays are included in the `items` array.
518
+
519
+ ```tsx
520
+ import {
521
+ Avatar,
522
+ Card,
523
+ CustomModalLayout,
524
+ Modal,
525
+ Page,
526
+ Text,
527
+ } from '@wix/design-system';
528
+ import React from 'react';
529
+ import {
530
+ MultiBulkActionToolbar,
531
+ Filter,
532
+ Table,
533
+ OffsetQuery,
534
+ stringsArrayFilter,
535
+ useTableCollection,
536
+ ToolbarTitle,
537
+ } from '@wix/patterns';
538
+ import {
539
+ Edit,
540
+ Download,
541
+ ChangeOrder,
542
+ Block,
543
+ UploadExport,
544
+ } from '@wix/wix-ui-icons-common';
545
+ import { contacts } from '@wix/crm';
546
+
547
+ type ContactsFilters = {
548
+ level: Filter<string[]>;
549
+ };
550
+
551
+ function BulkActionsWithDividers() {
552
+
553
+ const state = useTableCollection<contacts.Contact, ContactsFilters>({
554
+ queryName: 'MultiBulkActionToolbar-BulkActions',
555
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
556
+ const { limit, offset, search, filters } = query;
557
+
558
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
559
+
560
+ if (search) {
561
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
562
+ }
563
+
564
+ if (filters.level) {
565
+ queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
566
+ }
567
+
568
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
569
+ items,
570
+ total,
571
+ }));
572
+ },
573
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
574
+ fetchErrorMessage: () => 'Error fetching contacts',
575
+ filters: {
576
+ level: stringsArrayFilter({
577
+ initialValue: ['Beginner'],
578
+ }),
579
+ },
580
+ });
581
+ const collection = state.collection;
582
+ React.useEffect(() => {
583
+ collection.bulkSelect.selectAll();
584
+ }, []);
585
+
586
+ return (
587
+ <Page height="400px">
588
+ <Page.Header title="Contacts" />
589
+ <Page.Content>
590
+ <Table
591
+ state={state}
592
+ title={<ToolbarTitle title="Contacts" showTotal />}
593
+ columns={[
594
+ {
595
+ title: '',
596
+ width: '50px',
597
+ render: (contact) => (
598
+ <Avatar
599
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
600
+ imgProps={{ src: contact.info?.picture?.image }}
601
+ />
602
+ ),
603
+ },
604
+ {
605
+ title: 'Name',
606
+ width: '250px',
607
+ render: (contact) =>
608
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
609
+ },
610
+ {
611
+ title: 'Level',
612
+ render: (contact) => contact.info?.jobTitle,
613
+ },
614
+ {
615
+ title: 'Last Activity',
616
+ render: (contact) =>
617
+ contact.lastActivity?.activityDate?.toLocaleString(),
618
+ },
619
+ ]}
620
+ bulkActionModal={({
621
+ isModalOpen,
622
+ selectedValues,
623
+ closeModal,
624
+ query,
625
+ }) => (
626
+ <Modal isOpen={isModalOpen}>
627
+ <CustomModalLayout
628
+ height={300}
629
+ dataHook="bulk-action-custom-modal-layout"
630
+ title="Edit Contacts"
631
+ primaryButtonOnClick={closeModal}
632
+ primaryButtonText="save"
633
+ secondaryButtonOnClick={closeModal}
634
+ secondaryButtonText="cancel"
635
+ >
636
+ {selectedValues.map((value, index) => (
637
+ <Card>
638
+ <Text
639
+ key={value._id}
640
+ dataHook={`selected-value-text-${index}`}
641
+ >
642
+ Page: {query.page}; Name:{' '}
643
+ {`${value.info?.name?.first} ${value.info?.name?.last}`}
644
+ </Text>
645
+ </Card>
646
+ ))}
647
+ </CustomModalLayout>
648
+ </Modal>
649
+ )}
650
+ bulkActionToolbar={({ selectedValues, openModal }) => {
651
+ const disabled = selectedValues.length > 4;
652
+ return (
653
+ <MultiBulkActionToolbar
654
+ primaryActionItems={[
655
+ {
656
+ dataHook: 'delete-button',
657
+ onClick: openModal,
658
+ label: 'Delete Items',
659
+ prefixIcon: <Block />,
660
+ subItems: [
661
+ [
662
+ {
663
+ dataHook: 'remove-button',
664
+ label: 'Remove',
665
+ onClick: openModal,
666
+ },
667
+ {
668
+ dataHook: 'soft-delete-button',
669
+ label: 'Soft Delete',
670
+ onClick: openModal,
671
+ },
672
+ ],
673
+ [
674
+ {
675
+ dataHook: 'archive-button',
676
+ label: 'Archive',
677
+ onClick: openModal,
678
+ },
679
+ ],
680
+ ],
681
+ },
682
+ {
683
+ dataHook: 'edit-button',
684
+ onClick: openModal,
685
+ label: 'Edit',
686
+ prefixIcon: <Edit />,
687
+ },
688
+ {
689
+ dataHook: 'download-button',
690
+ onClick: openModal,
691
+ label: 'Download',
692
+ prefixIcon: <Download />,
693
+ tooltip: disabled
694
+ ? 'Downloading is supported for up to 10 items'
695
+ : undefined,
696
+ disabled,
697
+ },
698
+ ]}
699
+ secondaryActionItems={[
700
+ [
701
+ {
702
+ dataHook: 'block-button',
703
+ onClick: openModal,
704
+ label: 'Block',
705
+ prefixIcon: <Block />,
706
+ },
707
+ {
708
+ dataHook: 'change-button',
709
+ onClick: openModal,
710
+ label: 'Change',
711
+ disabled,
712
+ prefixIcon: <ChangeOrder />,
713
+ },
714
+ ],
715
+ [
716
+ {
717
+ dataHook: 'download-button',
718
+ onClick: openModal,
719
+ label: 'Download',
720
+ prefixIcon: <Download />,
721
+ },
722
+ {
723
+ dataHook: 'export-button',
724
+ onClick: openModal,
725
+ label: 'Export',
726
+ disabled,
727
+ prefixIcon: <UploadExport />,
728
+ },
729
+ ],
730
+ ]}
731
+ />
732
+ );
733
+ }}
734
+ />
735
+ </Page.Content>
736
+ </Page>
737
+ );
738
+ }
739
+ ```
740
+
741
+ ### Maximum selection
742
+
743
+ `maxSelection` sets a limit on the number of items a visitor can select.
744
+
745
+ ```tsx
746
+ import {
747
+ Avatar,
748
+ Card,
749
+ CustomModalLayout,
750
+ Modal,
751
+ Page,
752
+ Text,
753
+ } from '@wix/design-system';
754
+ import React from 'react';
755
+ import {
756
+ MultiBulkActionToolbar,
757
+ Filter,
758
+ Table,
759
+ PageWrapper,
760
+ OffsetQuery,
761
+ stringsArrayFilter,
762
+ useTableCollection,
763
+ ToolbarTitle,
764
+ } from '@wix/patterns';
765
+ import { Edit, Download, ChangeOrder, Block } from '@wix/wix-ui-icons-common';
766
+ import { contacts } from '@wix/crm';
767
+
768
+ type ContactsFilters = {
769
+ level: Filter<string[]>;
770
+ };
771
+
772
+ function MultiBulkActionToolbarMaxSelection() {
773
+ const tableState = useTableCollection<contacts.Contact, ContactsFilters>({
774
+ queryName: 'contacts-BulkActionsWithMaxSelection',
775
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
776
+ const { limit, offset, search, filters } = query;
777
+
778
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
779
+
780
+ if (search) {
781
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
782
+ }
783
+
784
+ if (filters.level) {
785
+ queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
786
+ }
787
+
788
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
789
+ items,
790
+ total,
791
+ }));
792
+ },
793
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
794
+ fetchErrorMessage: () => 'Error Fetching Contacts',
795
+ filters: {
796
+ level: stringsArrayFilter({
797
+ initialValue: ['Beginner'],
798
+ }),
799
+ },
800
+ });
801
+
802
+ return (
803
+ <PageWrapper>
804
+ <Page height="400px">
805
+ <Page.Header title="Contacts" />
806
+ <Page.Content>
807
+ <Table
808
+ state={tableState}
809
+ title={<ToolbarTitle title="Contacts" showTotal />}
810
+ maxSelection={5}
811
+ columns={[
812
+ {
813
+ title: '',
814
+ width: '50px',
815
+ render: (contact) => (
816
+ <Avatar
817
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
818
+ imgProps={{ src: contact.info?.picture?.image }}
819
+ />
820
+ ),
821
+ },
822
+ {
823
+ title: 'Name',
824
+ width: '250px',
825
+ render: (contact) =>
826
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
827
+ },
828
+ {
829
+ title: 'Level',
830
+ render: (contact) => contact.info?.jobTitle,
831
+ },
832
+ {
833
+ title: 'Last Activity',
834
+ render: (contact) =>
835
+ contact.lastActivity?.activityDate?.toLocaleString(),
836
+ },
837
+ ]}
838
+ bulkActionModal={({
839
+ isModalOpen,
840
+ selectedValues,
841
+ closeModal,
842
+ query,
843
+ }) => (
844
+ <Modal isOpen={isModalOpen}>
845
+ <CustomModalLayout
846
+ height={300}
847
+ dataHook="bulk-action-custom-modal-layout"
848
+ title="Edit Contacts"
849
+ primaryButtonOnClick={closeModal}
850
+ primaryButtonText="save"
851
+ secondaryButtonOnClick={closeModal}
852
+ secondaryButtonText="cancel"
853
+ >
854
+ {selectedValues.map((value, index) => (
855
+ <Card>
856
+ <Text
857
+ key={value._id}
858
+ dataHook={`selected-value-text-${index}`}
859
+ >
860
+ Page: {query.page}; Name:{' '}
861
+ {`${value.info?.name?.first} ${value.info?.name?.last}`}
862
+ </Text>
863
+ </Card>
864
+ ))}
865
+ </CustomModalLayout>
866
+ </Modal>
867
+ )}
868
+ bulkActionToolbar={({ selectedValues, openModal }) => {
869
+ const disabled = selectedValues.length > 4;
870
+ return (
871
+ <MultiBulkActionToolbar
872
+ primaryActionItems={[
873
+ {
874
+ dataHook: 'edit-button',
875
+ onClick: openModal,
876
+ label: 'Edit',
877
+ prefixIcon: <Edit />,
878
+ },
879
+ {
880
+ dataHook: 'download-button',
881
+ onClick: openModal,
882
+ label: 'Download',
883
+ prefixIcon: <Download />,
884
+ tooltip: disabled
885
+ ? 'Downloading is supported for up to 10 items'
886
+ : undefined,
887
+ disabled,
888
+ },
889
+ ]}
890
+ secondaryActionItems={[
891
+ {
892
+ dataHook: 'block-button',
893
+ onClick: openModal,
894
+ label: 'Block',
895
+ prefixIcon: <Block />,
896
+ },
897
+ {
898
+ dataHook: 'change-button',
899
+ onClick: openModal,
900
+ label: 'Change',
901
+ disabled,
902
+ prefixIcon: <ChangeOrder />,
903
+ },
904
+ ]}
905
+ />
906
+ );
907
+ }}
908
+ />
909
+ </Page.Content>
910
+ </Page>
911
+ </PageWrapper>
912
+ );
913
+ }
914
+ ```
915
+
916
+ ### Extend menu items
917
+
918
+ You can extend existing menu items using [Slots and Plugins](./?path=/story/features-enrich-slots-and-plugins--slots-and-plugins) using your own `containerId`.
919
+
920
+ ```tsx
921
+ import { Avatar, CustomModalLayout, Modal, Page } from '@wix/design-system';
922
+ import React from 'react';
923
+ import {
924
+ MultiBulkActionToolbar,
925
+ Filter,
926
+ Table,
927
+ PageWrapper,
928
+ OffsetQuery,
929
+ stringsArrayFilter,
930
+ useTableCollection,
931
+ } from '@wix/patterns';
932
+ import {
933
+ Visible,
934
+ Download,
935
+ Block,
936
+ ChangeOrder,
937
+ } from '@wix/wix-ui-icons-common';
938
+ import { contacts } from '@wix/crm';
939
+
940
+ type ContactsFilters = {
941
+ level: Filter<string[]>;
942
+ };
943
+
944
+ function MultiBulkActionToolbarExtensionMenuItems() {
945
+
946
+ const state = useTableCollection<contacts.Contact, ContactsFilters>({
947
+ queryName: 'MultiBulkActionToolbar-ExtensionMenuItems',
948
+ paginationMode: 'offset',
949
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
950
+ const { limit, offset, search, filters } = query;
951
+
952
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
953
+
954
+ if (search) {
955
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
956
+ }
957
+
958
+ if (filters.level) {
959
+ queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
960
+ }
961
+
962
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
963
+ items,
964
+ total,
965
+ }));
966
+ },
967
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
968
+ fetchErrorMessage: () => 'Error fetching contacts',
969
+ filters: {
970
+ level: stringsArrayFilter({
971
+ initialValue: ['Beginner'],
972
+ }),
973
+ },
974
+ });
975
+
976
+ return (
977
+ <PageWrapper>
978
+ <Page height="400px">
979
+ <Page.Header title="Contacts" />
980
+ <Page.Content>
981
+ <Table
982
+ state={state}
983
+ columns={[
984
+ {
985
+ title: '',
986
+ width: '50px',
987
+ render: (contact) => (
988
+ <Avatar
989
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
990
+ imgProps={{ src: contact.info?.picture?.image }}
991
+ />
992
+ ),
993
+ },
994
+ {
995
+ title: 'Name',
996
+ width: '250px',
997
+ render: (contact) =>
998
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
999
+ },
1000
+ {
1001
+ title: 'Level',
1002
+ render: (contact) => contact.info?.jobTitle,
1003
+ },
1004
+ {
1005
+ title: 'Last Activity',
1006
+ render: (contact) =>
1007
+ contact.lastActivity?.activityDate?.toLocaleString(),
1008
+ },
1009
+ ]}
1010
+ bulkActionModal={({
1011
+ isModalOpen,
1012
+ allSelected,
1013
+ selectedValues,
1014
+ uncheckedValues,
1015
+ closeModal,
1016
+ query,
1017
+ }) => (
1018
+ <Modal isOpen={isModalOpen}>
1019
+ <CustomModalLayout
1020
+ height={300}
1021
+ dataHook="bulk-action-custom-modal-layout"
1022
+ title="Edit Product"
1023
+ primaryButtonOnClick={closeModal}
1024
+ primaryButtonText="Save"
1025
+ secondaryButtonOnClick={closeModal}
1026
+ secondaryButtonText="Cancel"
1027
+ >
1028
+ <pre>
1029
+ {JSON.stringify(
1030
+ {
1031
+ allSelected,
1032
+ selectedValues: selectedValues.length,
1033
+ uncheckedValues: uncheckedValues.length,
1034
+ query: {
1035
+ page: query.page,
1036
+ },
1037
+ },
1038
+ null,
1039
+ 2,
1040
+ )}
1041
+ </pre>
1042
+ </CustomModalLayout>
1043
+ </Modal>
1044
+ )}
1045
+ bulkActionToolbar={({ selectedValues, openModal }) => {
1046
+ return (
1047
+ <MultiBulkActionToolbar
1048
+ containerId="cd910877-1bb2-445e-822a-aa04a342c2f5"
1049
+ primaryActionItems={[
1050
+ {
1051
+ dataHook: 'primary-action-1',
1052
+ label: 'Primary 1',
1053
+ prefixIcon: <Visible />,
1054
+ subItems: [
1055
+ { label: 'option 1' },
1056
+ { label: 'option 2' },
1057
+ { label: 'option 3' },
1058
+ ],
1059
+ },
1060
+ {
1061
+ dataHook: 'primary-action-2',
1062
+ label: 'Primary 2',
1063
+ prefixIcon: <Download />,
1064
+ subItems: [
1065
+ { label: 'option 1' },
1066
+ { label: 'option 2' },
1067
+ { label: 'option 3' },
1068
+ ],
1069
+ },
1070
+ ]}
1071
+ secondaryActionItems={[
1072
+ {
1073
+ dataHook: 'secondary-action-1',
1074
+ onClick: openModal,
1075
+ label: 'Secondary 1',
1076
+ prefixIcon: <Block />,
1077
+ },
1078
+ {
1079
+ dataHook: 'secondary-action-2',
1080
+ onClick: openModal,
1081
+ disabled: true,
1082
+ label: 'Secondary 2',
1083
+ prefixIcon: <ChangeOrder />,
1084
+ },
1085
+ ]}
1086
+ />
1087
+ );
1088
+ }}
1089
+ />
1090
+ </Page.Content>
1091
+ </Page>
1092
+ </PageWrapper>
1093
+ );
1094
+ }
1095
+ ```
1096
+
1097
+ ## API
1098
+
1099
+ ### Extensions
1100
+
1101
+ Any menu item that extends the provided `containerId` will be invoked with the following payload:
1102
+
1103
+ ```ts
1104
+ {
1105
+ /**
1106
+ * An array of IDs representing the items that have been selected.
1107
+ */
1108
+ selectedIds: string[];
1109
+
1110
+ /**
1111
+ * An array of IDs representing the items that have been unchecked, applicable only when the "Select All" option was selected.
1112
+ */
1113
+ uncheckedIds: string[];
1114
+
1115
+ /**
1116
+ * A boolean value indicating whether the "Select All" option was selected.
1117
+ */
1118
+ allSelected: boolean;
1119
+
1120
+ /**
1121
+ * The total number of items that were selected. The calculation of this value depends on whether you have opted in to use the `useNewSelectAllLogic` behavior or not.
1122
+ */
1123
+ total: number;
1124
+ }
1125
+ ```
1126
+
1127
+ Also, you can pass more data to the extension by using the `containerProps` property in the `MultiBulkActionToolbar` component. This data will be passed to the extension as part of the payload.
1128
+
1129
+ ```jsx
1130
+ To read more about extensions in general and what else is possible, go to the main [Slots and Plugins](./?path=/story/features-enrich-slots-and-plugins--slots-and-plugins) guide.
1131
+
1132
+
1133
+ ### Props
1134
+
1135
+ | Prop | Type | Required | Default | Description |
1136
+ |------|------|----------|---------|-------------|
1137
+ | `primaryActionItems` | `ActionSubitem[]` | No | - | List of primary actions. Primary actions are displayed as individual buttons. |
1138
+ | `secondaryActionItems` | `ActionSubitem[] \| ActionSubitem[][]` | No | - | List of secondary actions. Secondary actions are displayed when clicking the More Actions menu. Secondary actions can be grouped by using an array of arrays, and a divider will be added between each group. \| [ActionSubitem[][]](./?path=/story/common-types--actionsubitem) |
1139
+ | `secondaryActionsPopoverMenuProps` | `Partial<PopoverMenuProps>` | No | - | [PopoverMenu](https://www.docs.wixdesignsystem.com/?path=/story/components-overlays--popovermenu) props to pass to the 'More Action' popover menu. |
1140
+ | `containerId` | `string` | No | - | This ID is used to specify the target container for [dashboard menu plugin](./?path=/story/features-enrich-slots-and-plugins--slots-and-plugins) items. |
1141
+ | `containerProps` | `Record<string, any>` | No | - | This prop is used to pass additional properties that can be used on the onClick of the container's extensions menu items. |
1142
+
1143
+ ## BI
1144
+
1145
+ ### Custom Columns Events
1146
+
1147
+ Event | Description |
1148
+ --------- | --------------- |
1149
+ [144:104](https://bo.wix.com/data-tools/bi-catalog-app/event/144:104) | Actual pick inside the Wix Patterns picker (CTA button or immediate CTA)
1150
+ [144:105](https://bo.wix.com/data-tools/bi-catalog-app/event/144:105) | Picker button actions (not within the modal)
1151
+ [144:114](https://bo.wix.com/data-tools/bi-catalog-app/event/144:114) | Sent when a user select/deselects an item(s) in a list
1152
+ [144:115](https://bo.wix.com/data-tools/bi-catalog-app/event/144:115) | Sent when a user clicks a CTA ('save', 'add', 'delete', 'continue', etc.) in a Wix Patterns component
1153
+
1154
+
1155
+
1156
+ ### Component load events
1157
+ Event | Description |
1158
+ --------- | --------------- |
1159
+ [144:110](https://bo.wix.com/data-tools/bi-catalog-app/event/144:110) | Sent when a Wix Patterns component starts loading
1160
+ [144:111](https://bo.wix.com/data-tools/bi-catalog-app/event/144:111) | Sent when a Wix Patterns component is done loading
1161
+
1162
+
1163
+ #### 🐪 Couldn't find what you need?
1164
+ * Check our [BI Catalog](https://bo.wix.com/data-tools/bi-catalog-app?viewId=all-items-view&selectedColumns=src%2Cevid%2Cname%2Cowner%2Cproduct%2CuserType+false%2CdateUpdated%2CdateCreated+false%2CcreatedBy+false%2Cstatus&source=%5B%7B%22id%22%3A%22144%22%2C%22name%22%3A%22144+-+Cairo%22%7D%5D)
1165
+ * Contact us on [#cairo-bi](https://wix.slack.com/archives/C03N53KURH9)
1166
+
1167
+
1168
+ ## Testkit
1169
+
1170
+ ### Usage
1171
+
1172
+ All `` testkit APIs are exposed directly from the `` [testkit](./?path=/story/base-components-collections-table-table--table&activeTab=Testkit)
1173
+
1174
+