@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,894 @@
1
+ # ExportTo
2
+
3
+ **Category:** Features/Export
4
+
5
+ ## Design
6
+
7
+ ### ExportTo
8
+
9
+ The ExportTo is a platformised solution for exporting lists of data.
10
+
11
+ This feature allows users to choose which data they want to export, whether it’s all the data in their table, filtered items, or items they’ve selected manually.
12
+
13
+ It consists of two parts: Client - responsible for the button and modal, and Server - that holds the logic and data.
14
+
15
+
16
+ ### Server Implementation
17
+
18
+ To work with this feature, you need to implement the API on the server side. All server-related information can be found in the [Export Service documentation](https://dev.wix.com/docs/rest/business-management/export/export-async-job-v1/integration).
19
+
20
+ ```tsx
21
+ import { ExportButton } from '@wix/patterns';
22
+ ```
23
+
24
+ ---
25
+
26
+ ### Variations
27
+
28
+ ### Export all table
29
+
30
+ ```tsx
31
+ import { Avatar, Page } from '@wix/design-system';
32
+ import React from 'react';
33
+ import {
34
+ CollectionToolbarFilters,
35
+ ExportButton,
36
+ Filter,
37
+ Table,
38
+ PageWrapper,
39
+ MultiSelectCheckboxFilter,
40
+ OffsetQuery,
41
+ stringsArrayFilter,
42
+ useTableCollection,
43
+ useExportConfig,
44
+ useStaticListFilterCollection,
45
+ ToolbarTitle,
46
+ } from '@wix/patterns';
47
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
48
+ import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
49
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
50
+
51
+ type ContactsFilters = {
52
+ level: Filter<string[]>;
53
+ };
54
+
55
+ function ExportAllTable() {
56
+ const httpClient = useHttpClient();
57
+
58
+ const state = useTableCollection<Contact, ContactsFilters>({
59
+ queryName: 'ExportAllTable',
60
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
61
+ const { limit, offset, search, filters } = query;
62
+ return httpClient
63
+ .request(
64
+ queryContacts({
65
+ query: { paging: { limit, offset }, filter: filters },
66
+ search,
67
+ }),
68
+ )
69
+ .then(({ data: { contacts = [], pagingMetadata } }) => ({
70
+ items: contacts,
71
+ total: pagingMetadata?.total,
72
+ }));
73
+ },
74
+ itemKey: (item) => item.id as string,
75
+ itemName: (item) => item.name as string,
76
+ fetchErrorMessage: () => 'Error fetching contacts',
77
+ filters: {
78
+ level: stringsArrayFilter(),
79
+ },
80
+ });
81
+
82
+ const exportConfig = useExportConfig<Contact, ContactsFilters>({
83
+ transformPlatformizedQuery: ({
84
+ platformizedQuery,
85
+ wixPatternsQuery,
86
+ selectedItems,
87
+ }) => {
88
+ // TODO: add logic here
89
+ return {
90
+ ...platformizedQuery,
91
+ paging: {
92
+ limit: 20,
93
+ },
94
+ };
95
+ },
96
+ methodMetadata: {
97
+ artifact: 'com.wixpress.fedinfra.exportservice.export-service',
98
+ service: 'ExportService',
99
+ method: 'QueryProductsExportSpi',
100
+ },
101
+ fields: [
102
+ { id: 'contact.id', header: 'id' },
103
+ { id: 'contact.info.name.first', header: 'First Name' },
104
+ { id: 'contact.info.name.last', header: 'Last Name' },
105
+ { id: 'contact.primary_info.email', header: 'Email' },
106
+ ],
107
+ });
108
+ const collection = state.collection;
109
+ const levelsCollection = useStaticListFilterCollection(
110
+ collection.filters.level,
111
+ [
112
+ 'Beginner',
113
+ 'Amateur',
114
+ 'Semi-Pro',
115
+ 'Professional',
116
+ 'World Class',
117
+ 'Legendary',
118
+ 'Ultimate',
119
+ ],
120
+ );
121
+
122
+ return (
123
+ <PageWrapper>
124
+ <Page height="400px">
125
+ <Page.Header title="Contacts" />
126
+ <Page.Content>
127
+ <Table
128
+ state={state}
129
+ title={<ToolbarTitle title="Contacts" showTotal />}
130
+ columns={[
131
+ {
132
+ title: '',
133
+ width: '50px',
134
+ render: (contact) => (
135
+ <Avatar
136
+ name={contact.name}
137
+ imgProps={{ src: contact.image }}
138
+ />
139
+ ),
140
+ },
141
+ {
142
+ title: 'Name',
143
+ width: '250px',
144
+ render: (contact) => contact.name,
145
+ },
146
+ {
147
+ title: 'Level',
148
+ render: (contact) => contact.level,
149
+ },
150
+ {
151
+ title: 'Last Seen',
152
+ render: (contact) => contact.lastSeen?.toLocaleString(),
153
+ },
154
+ ]}
155
+ filters={
156
+ <CollectionToolbarFilters
157
+ inline={1}
158
+ panelTitle="Filter your contacts"
159
+ >
160
+ <MultiSelectCheckboxFilter
161
+ popoverProps={{ appendTo: 'window' }}
162
+ filter={collection.filters.level}
163
+ collection={levelsCollection}
164
+ renderItem={(level) => ({ title: level })}
165
+ />
166
+ </CollectionToolbarFilters>
167
+ }
168
+ exportButton={<ExportButton {...exportConfig} />}
169
+ />
170
+ </Page.Content>
171
+ </Page>
172
+ </PageWrapper>
173
+ );
174
+ }
175
+ ```
176
+
177
+ ### Export filtered table
178
+
179
+ Export the table with the filters applied
180
+
181
+ ```tsx
182
+ import { Avatar, Page } from '@wix/design-system';
183
+ import React from 'react';
184
+ import {
185
+ CollectionToolbarFilters,
186
+ ExportButton,
187
+ Filter,
188
+ Table,
189
+ PageWrapper,
190
+ MultiSelectCheckboxFilter,
191
+ OffsetQuery,
192
+ stringsArrayFilter,
193
+ useTableCollection,
194
+ useExportConfig,
195
+ useStaticListFilterCollection,
196
+ ToolbarTitle,
197
+ } from '@wix/patterns';
198
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
199
+ import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
200
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
201
+
202
+ type ContactsFilters = {
203
+ level: Filter<string[]>;
204
+ };
205
+
206
+ function ExportFlilteredTable() {
207
+ const httpClient = useHttpClient();
208
+
209
+ const state = useTableCollection<Contact, ContactsFilters>({
210
+ queryName: 'contacts-BulkActions',
211
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
212
+ const { limit, offset, search, filters } = query;
213
+ return httpClient
214
+ .request(
215
+ queryContacts({
216
+ query: { paging: { limit, offset }, filter: filters },
217
+ search,
218
+ }),
219
+ )
220
+ .then(({ data: { contacts = [], pagingMetadata } }) => ({
221
+ items: contacts,
222
+ total: pagingMetadata?.total,
223
+ }));
224
+ },
225
+ itemKey: (item) => item.id as string,
226
+ itemName: (item) => item.name as string,
227
+ fetchErrorMessage: () => 'Error fetching contacts',
228
+ filters: {
229
+ level: stringsArrayFilter({
230
+ initialValue: ['Beginner'],
231
+ }),
232
+ },
233
+ });
234
+
235
+ const exportConfig = useExportConfig<Contact, ContactsFilters>({
236
+ saveAs: ({ wixPatternsQuery }) =>
237
+ `Contacts [${wixPatternsQuery.filters.level?.join(', ')}]`,
238
+ transformPlatformizedQuery: ({
239
+ platformizedQuery,
240
+ wixPatternsQuery,
241
+ selectedItems,
242
+ }) => {
243
+ // TODO: add logic here
244
+ return {
245
+ ...platformizedQuery,
246
+ paging: {
247
+ limit: 20,
248
+ },
249
+ };
250
+ },
251
+ methodMetadata: {
252
+ artifact: 'com.wixpress.fedinfra.exportservice.export-service',
253
+ service: 'ExportService',
254
+ method: 'QueryProductsExportSpi',
255
+ },
256
+ fields: [
257
+ { id: 'contact.id', header: 'id' },
258
+ { id: 'contact.info.name.first', header: 'First Name' },
259
+ { id: 'contact.info.name.last', header: 'Last Name' },
260
+ { id: 'contact.primary_info.email', header: 'Email' },
261
+ ],
262
+ });
263
+ const collection = state.collection;
264
+ const levelsCollection = useStaticListFilterCollection(
265
+ collection.filters.level,
266
+ [
267
+ 'Beginner',
268
+ 'Amateur',
269
+ 'Semi-Pro',
270
+ 'Professional',
271
+ 'World Class',
272
+ 'Legendary',
273
+ 'Ultimate',
274
+ ],
275
+ );
276
+
277
+ return (
278
+ <PageWrapper>
279
+ <Page height="400px">
280
+ <Page.Header title="Contacts" />
281
+ <Page.Content>
282
+ <Table
283
+ state={state}
284
+ title={<ToolbarTitle title="Contacts" showTotal />}
285
+ columns={[
286
+ {
287
+ title: '',
288
+ width: '50px',
289
+ render: (contact) => (
290
+ <Avatar
291
+ name={contact.name}
292
+ imgProps={{ src: contact.image }}
293
+ />
294
+ ),
295
+ },
296
+ {
297
+ title: 'Name',
298
+ width: '250px',
299
+ render: (contact) => contact.name,
300
+ },
301
+ {
302
+ title: 'Level',
303
+ render: (contact) => contact.level,
304
+ },
305
+ {
306
+ title: 'Last Seen',
307
+ render: (contact) => contact.lastSeen?.toLocaleString(),
308
+ },
309
+ ]}
310
+ filters={
311
+ <CollectionToolbarFilters
312
+ inline={1}
313
+ panelTitle="Filter your contacts"
314
+ >
315
+ <MultiSelectCheckboxFilter
316
+ popoverProps={{ appendTo: 'window' }}
317
+ filter={collection.filters.level}
318
+ collection={levelsCollection}
319
+ renderItem={(level) => ({ title: level })}
320
+ />
321
+ </CollectionToolbarFilters>
322
+ }
323
+ exportButton={<ExportButton {...exportConfig} />}
324
+ />
325
+ </Page.Content>
326
+ </Page>
327
+ </PageWrapper>
328
+ );
329
+ }
330
+ ```
331
+
332
+ ### Export table with selection / bulk selection
333
+
334
+ Export only the selected items from the table
335
+
336
+ ```tsx
337
+ import {
338
+ Avatar,
339
+ Card,
340
+ CustomModalLayout,
341
+ Modal,
342
+ Page,
343
+ Text,
344
+ } from '@wix/design-system';
345
+ import React from 'react';
346
+ import {
347
+ ExportButton,
348
+ Filter,
349
+ Table,
350
+ PageWrapper,
351
+ MultiBulkActionToolbar,
352
+ OffsetQuery,
353
+ stringsArrayFilter,
354
+ useTableCollection,
355
+ useExportConfig,
356
+ ToolbarTitle,
357
+ } from '@wix/patterns';
358
+ import { Block, ChangeOrder, Download, Edit } from '@wix/wix-ui-icons-common';
359
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
360
+ import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
361
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
362
+
363
+ type ContactsFilters = {
364
+ level: Filter<string[]>;
365
+ };
366
+
367
+ function ExportToBulkSelectExample() {
368
+ const httpClient = useHttpClient();
369
+
370
+ const state = useTableCollection<Contact, ContactsFilters>({
371
+ queryName: 'contacts-BulkActions',
372
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
373
+ const { limit, offset, search, filters } = query;
374
+ return httpClient
375
+ .request(
376
+ queryContacts({
377
+ query: { paging: { limit, offset }, filter: filters },
378
+ search,
379
+ }),
380
+ )
381
+ .then(({ data: { contacts = [], pagingMetadata } }) => ({
382
+ items: contacts,
383
+ total: pagingMetadata?.total,
384
+ }));
385
+ },
386
+ itemKey: (item) => item.id as string,
387
+ itemName: (item) => item.name as string,
388
+ fetchErrorMessage: () => 'Error fetching contacts',
389
+ filters: {
390
+ level: stringsArrayFilter({
391
+ initialValue: ['Beginner'],
392
+ }),
393
+ },
394
+ });
395
+
396
+ const exportConfig = useExportConfig<Contact, ContactsFilters>({
397
+ transformPlatformizedQuery: ({
398
+ platformizedQuery,
399
+ wixPatternsQuery,
400
+ selectedItems,
401
+ }) => {
402
+ // TODO: add logic here
403
+ return {
404
+ ...platformizedQuery,
405
+ paging: {
406
+ limit: 20,
407
+ },
408
+ };
409
+ },
410
+ methodMetadata: {
411
+ artifact: 'com.wixpress.fedinfra.exportservice.export-service',
412
+ service: 'ExportService',
413
+ method: 'QueryProductsExportSpi',
414
+ },
415
+ fields: [
416
+ { id: 'contact.id', header: 'id' },
417
+ { id: 'contact.info.name.first', header: 'First Name' },
418
+ { id: 'contact.info.name.last', header: 'Last Name' },
419
+ { id: 'contact.primary_info.email', header: 'Email' },
420
+ ],
421
+ });
422
+ const collection = state.collection;
423
+ React.useEffect(() => {
424
+ collection.bulkSelect.selectAll();
425
+ }, []);
426
+
427
+ return (
428
+ <PageWrapper>
429
+ <Page height="400px">
430
+ <Page.Header title="Contacts" />
431
+ <Page.Content>
432
+ <Table
433
+ state={state}
434
+ title={<ToolbarTitle title="Contacts" showTotal />}
435
+ columns={[
436
+ {
437
+ title: '',
438
+ width: '50px',
439
+ render: (contact) => (
440
+ <Avatar
441
+ name={contact.name}
442
+ imgProps={{ src: contact.image }}
443
+ />
444
+ ),
445
+ },
446
+ {
447
+ title: 'Name',
448
+ width: '250px',
449
+ render: (contact) => contact.name,
450
+ },
451
+ {
452
+ title: 'Level',
453
+ render: (contact) => contact.level,
454
+ },
455
+ {
456
+ title: 'Last Seen',
457
+ render: (contact) => contact.lastSeen?.toLocaleString(),
458
+ },
459
+ ]}
460
+ bulkActionModal={({
461
+ isModalOpen,
462
+ selectedValues,
463
+ closeModal,
464
+ query,
465
+ }) => (
466
+ <Modal isOpen={isModalOpen}>
467
+ <CustomModalLayout
468
+ height={300}
469
+ dataHook="bulk-action-custom-modal-layout"
470
+ title="Edit Contacts"
471
+ primaryButtonOnClick={closeModal}
472
+ primaryButtonText="save"
473
+ secondaryButtonOnClick={closeModal}
474
+ secondaryButtonText="cancle"
475
+ >
476
+ {selectedValues.map((value, index) => (
477
+ <Card>
478
+ <Text
479
+ key={value.id}
480
+ dataHook={`selected-value-text-${index}`}
481
+ >
482
+ Page: {query.page}; Name: {value.name}
483
+ </Text>
484
+ </Card>
485
+ ))}
486
+ </CustomModalLayout>
487
+ </Modal>
488
+ )}
489
+ bulkActionToolbar={({ selectedValues, openModal }) => {
490
+ const disabled = selectedValues.length > 4;
491
+ return (
492
+ <MultiBulkActionToolbar
493
+ primaryActionItems={[
494
+ {
495
+ dataHook: 'edit-button',
496
+ onClick: openModal,
497
+ label: 'Edit',
498
+ prefixIcon: <Edit />,
499
+ biName: 'edit',
500
+ },
501
+ {
502
+ dataHook: 'download-button',
503
+ onClick: openModal,
504
+ label: 'Download',
505
+ prefixIcon: <Download />,
506
+ tooltip: disabled
507
+ ? 'Downloading is supported for up to 10 items'
508
+ : undefined,
509
+ disabled,
510
+ biName: 'download',
511
+ },
512
+ ]}
513
+ secondaryActionItems={[
514
+ {
515
+ dataHook: 'block-button',
516
+ onClick: openModal,
517
+ label: 'Block',
518
+ prefixIcon: <Block />,
519
+ biName: 'block',
520
+ },
521
+ {
522
+ dataHook: 'change-button',
523
+ onClick: openModal,
524
+ label: 'Change',
525
+ disabled,
526
+ prefixIcon: <ChangeOrder />,
527
+ biName: 'change',
528
+ },
529
+ ]}
530
+ />
531
+ );
532
+ }}
533
+ exportButton={<ExportButton {...exportConfig} />}
534
+ />
535
+ </Page.Content>
536
+ </Page>
537
+ </PageWrapper>
538
+ );
539
+ }
540
+ ```
541
+
542
+ ### CTA is out of the table
543
+
544
+ The export button is out of the table
545
+
546
+ ```tsx
547
+ import { Avatar, Page, Button } from '@wix/design-system';
548
+ import React from 'react';
549
+ import {
550
+ CollectionToolbarFilters,
551
+ ExportModal,
552
+ Filter,
553
+ Table,
554
+ PageWrapper,
555
+ MultiSelectCheckboxFilter,
556
+ OffsetQuery,
557
+ stringsArrayFilter,
558
+ useTableCollection,
559
+ useExportConfig,
560
+ useStaticListFilterCollection,
561
+ ToolbarTitle,
562
+ } from '@wix/patterns';
563
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
564
+ import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
565
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
566
+
567
+ type ContactsFilters = {
568
+ level: Filter<string[]>;
569
+ };
570
+
571
+ function ExportToCTAOutOfTheTable() {
572
+ const httpClient = useHttpClient();
573
+
574
+ const state = useTableCollection<Contact, ContactsFilters>({
575
+ queryName: 'contacts-ExportToCTAOutOfTheTable',
576
+ paginationMode: 'offset',
577
+ itemKey: (item) => item.id as string,
578
+ itemName: (item) => item.name as string,
579
+ fetchData: (query: OffsetQuery<ContactsFilters>) => {
580
+ const { limit, offset, search, filters } = query;
581
+ return httpClient
582
+ .request(
583
+ queryContacts({
584
+ query: { paging: { limit, offset }, filter: filters },
585
+ search,
586
+ }),
587
+ )
588
+ .then(({ data: { contacts = [], pagingMetadata } }) => ({
589
+ items: contacts,
590
+ total: pagingMetadata?.total,
591
+ }));
592
+ },
593
+ fetchErrorMessage: () => 'Error fetching contacts',
594
+ filters: {
595
+ level: stringsArrayFilter({
596
+ initialValue: ['Beginner'],
597
+ }),
598
+ },
599
+ limit: 50,
600
+ });
601
+
602
+ const { table } = state;
603
+ const { collection } = table;
604
+
605
+ const exportConfig = useExportConfig<Contact, ContactsFilters>({
606
+ saveAs: ({ wixPatternsQuery }) =>
607
+ `Contacts [${wixPatternsQuery.filters.level?.join(', ')}]`,
608
+ transformPlatformizedQuery: ({
609
+ platformizedQuery,
610
+ wixPatternsQuery,
611
+ selectedItems,
612
+ }) => {
613
+ // TODO: add logic here
614
+ return {
615
+ ...platformizedQuery,
616
+ paging: {
617
+ limit: 20,
618
+ },
619
+ };
620
+ },
621
+ methodMetadata: {
622
+ artifact: 'com.wixpress.fedinfra.exportservice.export-service',
623
+ service: 'ExportService',
624
+ method: 'QueryProductsExportSpi',
625
+ },
626
+ fields: [
627
+ { id: 'contact.id', header: 'id' },
628
+ { id: 'contact.info.name.first', header: 'First Name' },
629
+ { id: 'contact.info.name.last', header: 'Last Name' },
630
+ { id: 'contact.primary_info.email', header: 'Email' },
631
+ ],
632
+ });
633
+
634
+ const levelsCollection = useStaticListFilterCollection(
635
+ collection.filters.level,
636
+ [
637
+ 'Beginner',
638
+ 'Amateur',
639
+ 'Semi-Pro',
640
+ 'Professional',
641
+ 'World Class',
642
+ 'Legendary',
643
+ 'Ultimate',
644
+ ],
645
+ );
646
+
647
+ return (
648
+ <PageWrapper>
649
+ <Page height="400px">
650
+ <Page.Header
651
+ actionsBar={
652
+ <Button onClick={() => table.exportState?.open()}>Export</Button>
653
+ }
654
+ />
655
+ <Page.Content>
656
+ <Table
657
+ state={state}
658
+ title={<ToolbarTitle title="title" showTotal />}
659
+ columns={[
660
+ {
661
+ title: '',
662
+ width: '50px',
663
+ render: (contact) => (
664
+ <Avatar
665
+ name={contact.name}
666
+ imgProps={{ src: contact.image }}
667
+ />
668
+ ),
669
+ },
670
+ {
671
+ title: 'Name',
672
+ width: '250px',
673
+ render: (contact) => contact.name,
674
+ },
675
+ {
676
+ title: 'Level',
677
+ render: (contact) => contact.level,
678
+ },
679
+ {
680
+ title: 'Last Seen',
681
+ render: (contact) => contact.lastSeen?.toLocaleString(),
682
+ },
683
+ ]}
684
+ filters={
685
+ <CollectionToolbarFilters
686
+ inline={1}
687
+ panelTitle="Filter your contacts"
688
+ >
689
+ <MultiSelectCheckboxFilter
690
+ popoverProps={{ appendTo: 'window' }}
691
+ filter={collection.filters.level}
692
+ collection={levelsCollection}
693
+ renderItem={(level) => ({ title: level })}
694
+ />
695
+ </CollectionToolbarFilters>
696
+ }
697
+ exportModal={<ExportModal {...exportConfig} />}
698
+ />
699
+ </Page.Content>
700
+ </Page>
701
+ </PageWrapper>
702
+ );
703
+ }
704
+ ```
705
+
706
+ ## API
707
+
708
+ ### API
709
+
710
+ The `ExportTo` is a platformised solution for exporting lists of data.
711
+
712
+ It consists of two parts:
713
+
714
+ - **Client**: Configure the `exportButton` prop or the `exportModal` prop. `exportModal` provides you with the functionality to open an export modal using a custom CTA, and `exportButton` is a built-in CTA that opens an export modal.
715
+ - **Server**: All server related docs can be found [here](https://dev.wix.com/docs/rest/business-management/export/export-async-job-v1/integration)
716
+
717
+ #### Client `exportButton`
718
+
719
+ Add an `exportButton` prop to your `Table`, and pass an `ExportButton` component:
720
+
721
+ ```jsx
722
+ //...
723
+ import { useExportConfig, Table } from '@wix/patterns';
724
+
725
+ const exportConfig = useExportConfig({
726
+ /* ... */
727
+ });
728
+
729
+ export default () => {
730
+ return (
731
+ } />
732
+ );
733
+ };
734
+ ```
735
+
736
+ #### Client `exportModal`
737
+
738
+ Add an `exportModal` prop to your `Table`, and pass an `ExportModal` component.
739
+ To open the modal use `table` from `useTableCollection` hook as `table.exportState.open()`
740
+
741
+ ```jsx
742
+ //...
743
+ import React from 'react';
744
+ import { useExportConfig, useTableCollection, Table } from '@wix/patterns';
745
+ import { Button } from '@wix/design-system';
746
+
747
+ const state = useTableCollection({ /* ... */ });
748
+ const exportConfig = useExportConfig({
749
+ /* ... */
750
+ });
751
+
752
+ export default () => {
753
+ return (
754
+ <>
755
+ state.table.exportState.open()}>
756
+ } />
757
+
758
+ );
759
+ };
760
+ ```
761
+
762
+ See example and API tab for more details.
763
+
764
+
765
+ ### transformPlatformizedQuery
766
+
767
+ The `transformPlatformizedQuery` is used for mapping between the `wixPatternsQuery` to `QueryV2`, which is the standard way to fetch data from the API/SPI server.
768
+
769
+ For example, in case of stores' `Product`:
770
+
771
+ ```ts
772
+ const exportStateQueryProductsExportSpi = useExport({
773
+ transformPlatformizedQuery: ({
774
+ platformizedQuery,
775
+ wixPatternsQuery,
776
+ selectedItems,
777
+ }) => {
778
+ const {
779
+ filters: { collections, stockStatus: [stockStatus = undefined] = [] },
780
+ } = wixPatternsQuery;
781
+ // In case the user chose to export selected items
782
+ if (selectedIds && selectedIds.length) {
783
+ // Filter by selectedIds
784
+ platformizedQuery.filter = {
785
+ includeHidden: true,
786
+ value: JSON.stringify({
787
+ id: { $hasSome: selectedIds },
788
+ }),
789
+ };
790
+ } else {
791
+ // In case the user chose to export filters
792
+ platformizedQuery.filter = {
793
+ includeHidden: true,
794
+ value: JSON.stringify({
795
+ // filter by collection IDs
796
+ ...(collections
797
+ ? {
798
+ 'collections.id': { $hasSome: collections.map((c) => c.id) },
799
+ }
800
+ : {}),
801
+ // filter by stockStatus
802
+ ...(stockStatus
803
+ ? {
804
+ inventoryStatus: stockStatus.id,
805
+ }
806
+ : {}),
807
+ }),
808
+ };
809
+ }
810
+
811
+ return {
812
+ ...platformizedQuery,
813
+ paging: {
814
+ limit: 20,
815
+ },
816
+ };
817
+ },
818
+ });
819
+ ```
820
+
821
+
822
+ ### Props
823
+
824
+ | Prop | Type | Required | Default | Description |
825
+ |------|------|----------|---------|-------------|
826
+ | `transformPlatformizedQuery` | `TransformQuery<T, F>` | No | - | A function to transform the cairo query to a QueryV2 object (which will be used to fetch data from the server): - `platformizedQuery`: QueryV2 - `wixPatternsQuery`: ComputedQueryFull<F> - `selectedItems?`: string[] - `uncheckedValues?`: T[] - `isSelectAll`: boolean The function should return a QueryV2 instance or a promise of QueryV2 |
827
+ | `differentQueryEndpointThanCollection` | `boolean` | No | - | When set to `true`, the export progress will not show total / out of items. |
828
+ | `customTotal` | `CustomTotalFn<T, F>` | No | - | A function that returns the number of total items in the export, to show in the progress bar. Use this option when the export has a different total than the collection itself. For example: table is showing products, but the export includes also variants. The function accepts the same arguments as `transformPlatformizedQuery`, with the following modifications: - `platformizedQuery` is already the transformed QueryV2 returned from `transformPlatformizedQuery` - `collectionTotalPromise` - A promise that resolves to the `total` of the underlying table collection. |
829
+ | `methodMetadata` | `MethodMetadata` | Yes | - | The target endpoint to query data from. This endpoint must be verified to be compatible with export-service first, see [server side docs](https://dev.wix.com/docs/rest/business-management/export/export-async-job-v1/integration) - `artifact: string` - `service: string` - `method: string` |
830
+ | `arrayFieldDelimiter` | `"SEMICOLON" \| "SEMICOLON_AND_SPACE"` | No | `SEMICOLON` | The delimiter to use for array fields |
831
+ | `methodSpec` | `{ requestQueryFieldNumber?: "DEFAULT" \| "FIELD_2" \| "FIELD_3" \| "FIELD_4" \| "FIELD_5" \| "FIELD_6" \| "FIELD_7" \| "FIELD_8" \| "FIELD_9"; responsePagingMetadataFieldName?: string \| ... 1 more ...; responseRepeatedFieldName?: string \| ... 1 more ... \| undefined; } \| undefined` | No | - | Additional endpoint possible variations `requestQueryFieldNumber?: number` - The field number of the request query field. The default is field number = 1 `responseRepeatedFieldName: string \| null` - The name of the response repeated field, i.e items/contacts/products etc. (required) `responsePagingMetadataFieldName?: string \| null` - The name of the response PagingMetadata field (default=paging_metadata) |
832
+ | `fields` | `FieldDescriptor[]` | Yes | - | Translated CSV headers - `id?`: string; The path to the field out of the query response items. You can ask your BED team to create a list of available paths by running this [Scala script](https://bo.wix.com/wix-docs/rest/drafts/exportservice/integration#drafts_exportservice_integration_fields). - `header?`: string; How to present the filed in the CSV headers (translated). |
833
+ | `saveAs` | `SaveAsFn<T, F>` | No | - | Optional function to configure the download file name: - `platformizedQuery`: QueryV2 - `wixPatternsQuery`: ComputedQueryFull<F> - `selectedItems?`: string[] - `uncheckedValues?`: T[] The function should return a string |
834
+ | `exportModalFooter` | `{ text: string; }` | No | - | Optional footer for export modal `text`: string |
835
+ | `exportModalTitle` | `string` | No | - | Optional custom title for the items to export |
836
+ | `onProgressModalTitle` | `string` | No | - | Optional custom title during the export process |
837
+ | `exportToCSVMessage` | `string` | No | - | Optional custom message for the items that will be exported to CSV |
838
+
839
+ ## BI
840
+
841
+ ### Export To Events
842
+
843
+ Event | Description |
844
+ --------- | --------------- |
845
+ [144:125](https://bo.wix.com/data-tools/bi-catalog-app/event/144:125) | Sent when a user clicks the "Export" CTA in a Wix Patterns component
846
+ [144:126](https://bo.wix.com/data-tools/bi-catalog-app/event/144:126) | Sent when user changes selection in the Wix Patterns export modal
847
+ [144:127](https://bo.wix.com/data-tools/bi-catalog-app/event/144:127) | Sent when the user clicks any CTA in the export modal
848
+ [144:128](https://bo.wix.com/data-tools/bi-catalog-app/event/144:128) | Sent when the export process begins
849
+ [144:129](https://bo.wix.com/data-tools/bi-catalog-app/event/144:129) | Sent when the user tries to cancel the export process AFTER it has begun
850
+ [144:130](https://bo.wix.com/data-tools/bi-catalog-app/event/144:130) | Sent when the user clicks any of the CTAs in the "Cancel the export?" modal
851
+ [144:131](https://bo.wix.com/data-tools/bi-catalog-app/event/144:131) | Sent when the export process ends, either successfully or not (failed/stopped by user)
852
+ [144:132](https://bo.wix.com/data-tools/bi-catalog-app/event/144:132) | Sent when the export ends successfully and the user is prompted that the file is being downloaded
853
+ [144:133](https://bo.wix.com/data-tools/bi-catalog-app/event/144:133) | Sent when the toast that tells the user that the export is done and the file is being downloaded is dismissed (by user or automatically)
854
+ [144:134](https://bo.wix.com/data-tools/bi-catalog-app/event/144:134) | Sent when the user clicks the "Download Manually" button in the toast that is displayed after the export process is complete
855
+ [144:135](https://bo.wix.com/data-tools/bi-catalog-app/event/144:135) | Sent when the user clicks a CTA in the "Export Failed" modal
856
+
857
+
858
+
859
+ ### Component load events
860
+ Event | Description |
861
+ --------- | --------------- |
862
+ [144:110](https://bo.wix.com/data-tools/bi-catalog-app/event/144:110) | Sent when a Wix Patterns component starts loading
863
+ [144:111](https://bo.wix.com/data-tools/bi-catalog-app/event/144:111) | Sent when a Wix Patterns component is done loading
864
+
865
+
866
+ #### 🐪 Couldn't find what you need?
867
+ * 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)
868
+ * Contact us on [#cairo-bi](https://wix.slack.com/archives/C03N53KURH9)
869
+
870
+
871
+ ## Testkit
872
+
873
+ ### Usage
874
+
875
+ `getExportButton` API is exposed from the `` [testkit](./?path=/story/components-collection--table&activeTab=Testkit)
876
+
877
+ ### Export `HttpClient` Mocks
878
+
879
+ #### BM Flow
880
+
881
+ When using `Flow BM` testkit, use the [wixPatternsTestProviderPropsOverrides](./?path=/story/testing-component-tests--component-tests#TableTestDriver.ts) Wix Patterns helper for injecting all relevant mocks.
882
+
883
+ #### Manually
884
+
885
+ For manually adding mocks:
886
+
887
+ ```ts
888
+ import { exportServiceMocks } from '@wix/patterns/testkit';
889
+ import { HttpClientMock, whenRequest } from '@wix/http-client-testkit';
890
+
891
+ const httpClient = new HttpClientMock([...exportServiceMocks(whenRequest)]);
892
+ ```
893
+
894
+