@wix/patterns 1.459.0 → 1.461.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 (719) 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/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  9. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  10. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  14. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  16. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  24. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  27. package/dist/cjs/components/CustomFieldModal/CustomFieldForm.js +33 -29
  28. package/dist/cjs/components/CustomFieldModal/CustomFieldForm.js.map +1 -1
  29. package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js +6 -5
  30. package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
  31. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  32. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  33. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  34. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +17 -0
  36. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +7 -11
  38. package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  40. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  42. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  46. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  50. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  52. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  54. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  56. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  58. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  60. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  64. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/mediaGallery/index.js +4 -4
  66. package/dist/cjs/components/EditableTable/cellTypes/mediaGallery/index.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  68. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.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.st.css.js +3 -3
  72. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  74. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js +1 -1
  76. package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/richText/index.js +1 -1
  78. package/dist/cjs/components/EditableTable/cellTypes/richText/index.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  80. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  82. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  84. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  86. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  88. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  90. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/useClipboardHandler.js +0 -3
  92. package/dist/cjs/components/EditableTable/useClipboardHandler.js.map +1 -1
  93. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  94. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  95. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  96. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  97. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  98. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  99. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  100. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  101. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  102. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  103. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  104. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  105. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  106. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  107. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  108. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  109. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  110. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  111. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  112. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  113. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  114. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  115. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  116. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  117. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  118. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  119. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  120. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  121. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  122. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  123. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  124. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  125. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  126. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  127. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  128. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  129. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  130. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  131. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  132. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  133. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  134. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  135. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
  136. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  137. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  138. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  139. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  140. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  141. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  142. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  143. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  144. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  145. package/dist/cjs/components/common.st.css.js +4 -4
  146. package/dist/cjs/components/common.st.css.js.map +1 -1
  147. package/dist/cjs/schema/entityPageFieldManagement.js +3 -1
  148. package/dist/cjs/schema/entityPageFieldManagement.js.map +1 -1
  149. package/dist/cjs/state/CollectionFieldsSourceState.js +3 -1
  150. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  151. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  152. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  153. package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js +3 -0
  154. package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
  155. package/dist/cjs/state/EditableTable/CellValueState.js +1 -2
  156. package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
  157. package/dist/cjs/state/EditableTable/ClipboardState.js +10 -14
  158. package/dist/cjs/state/EditableTable/ClipboardState.js.map +1 -1
  159. package/dist/cjs/state/EditableTable/utils.js +3 -0
  160. package/dist/cjs/state/EditableTable/utils.js.map +1 -1
  161. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  162. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  163. package/dist/cjs/state/ManageFieldsSource.js.map +1 -1
  164. package/dist/cjs/state/ToolbarCollectionState.js +6 -2
  165. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  166. package/dist/cjs/styles.global.css +2 -2
  167. package/dist/cjs/version.js +1 -1
  168. package/dist/cjs/version.js.map +1 -1
  169. package/dist/docs/ActionCellProps.md +6 -21
  170. package/dist/docs/AutoCompleteFilter.md +6 -128
  171. package/dist/docs/BulkActionModalRenderProp.md +6 -9
  172. package/dist/docs/CollectionEmptyState/2-ctas.tsx +67 -0
  173. package/dist/docs/CollectionEmptyState/demo.tsx +61 -0
  174. package/dist/docs/CollectionEmptyState/passive-empty-state.tsx +59 -0
  175. package/dist/docs/CollectionEmptyState.md +9 -207
  176. package/dist/docs/CollectionNoResultsState.md +6 -11
  177. package/dist/docs/CollectionOptimisticActions/create-many.tsx +110 -0
  178. package/dist/docs/CollectionOptimisticActions/create-one.tsx +104 -0
  179. package/dist/docs/CollectionOptimisticActions/delete-all.tsx +132 -0
  180. package/dist/docs/CollectionOptimisticActions/delete-many.tsx +104 -0
  181. package/dist/docs/CollectionOptimisticActions/delete-one.tsx +94 -0
  182. package/dist/docs/CollectionOptimisticActions/update-all.tsx +142 -0
  183. package/dist/docs/CollectionOptimisticActions/update-many.tsx +119 -0
  184. package/dist/docs/CollectionOptimisticActions/update-one.tsx +108 -0
  185. package/dist/docs/CollectionOptimisticActions.md +14 -939
  186. package/dist/docs/CollectionPage.md +6 -19
  187. package/dist/docs/CollectionPremiumEmptyState.md +6 -14
  188. package/dist/docs/CollectionSearch/default.tsx +57 -0
  189. package/dist/docs/CollectionSearch/max-length.tsx +59 -0
  190. package/dist/docs/CollectionSearch/placeholder.tsx +59 -0
  191. package/dist/docs/CollectionSearch/search-highlighting.tsx +60 -0
  192. package/dist/docs/CollectionSearch.md +10 -247
  193. package/dist/docs/ComputedQuery.md +6 -15
  194. package/dist/docs/CustomColumns/add-a-tooltip.tsx +85 -0
  195. package/dist/docs/CustomColumns/basic.tsx +78 -0
  196. package/dist/docs/CustomColumns/exclude-columns.tsx +79 -0
  197. package/dist/docs/CustomColumns/freeze-column-reorder.tsx +111 -0
  198. package/dist/docs/CustomColumns/get-visible-columns.tsx +92 -0
  199. package/dist/docs/CustomColumns/hide-specific-columns-by-default.tsx +79 -0
  200. package/dist/docs/CustomColumns/load-only-selected-columns.tsx +85 -0
  201. package/dist/docs/CustomColumns/lock-columns.tsx +80 -0
  202. package/dist/docs/CustomColumns/reorder-columns.tsx +84 -0
  203. package/dist/docs/CustomColumns.md +9 -791
  204. package/dist/docs/CustomFieldType/add-field-modal.tsx +206 -0
  205. package/dist/docs/CustomFieldType/editable-cell.tsx +206 -0
  206. package/dist/docs/CustomFieldType/entity-page-form.tsx +133 -0
  207. package/dist/docs/CustomFieldType/table-cell-and-filter.tsx +165 -0
  208. package/dist/docs/CustomFieldType.md +4 -718
  209. package/dist/docs/CustomFieldsWidget/basic.tsx +53 -0
  210. package/dist/docs/CustomFieldsWidget/controllable-state.tsx +78 -0
  211. package/dist/docs/CustomFieldsWidget/empty-state.tsx +20 -0
  212. package/dist/docs/CustomFieldsWidget/inline-theme.tsx +54 -0
  213. package/dist/docs/CustomFieldsWidget/responsive.tsx +44 -0
  214. package/dist/docs/CustomFieldsWidget/with-tpa-fields.tsx +57 -0
  215. package/dist/docs/CustomFieldsWidget/without-entity-page.tsx +42 -0
  216. package/dist/docs/CustomFieldsWidget.md +7 -362
  217. package/dist/docs/DateRangeFilter.Components.md +6 -71
  218. package/dist/docs/EntityPage/2-columns.tsx +72 -0
  219. package/dist/docs/EntityPage/basic.tsx +72 -0
  220. package/dist/docs/EntityPage/delete-action.tsx +77 -0
  221. package/dist/docs/EntityPage/delete-error-handling.tsx +65 -0
  222. package/dist/docs/EntityPage/demo.tsx +212 -0
  223. package/dist/docs/EntityPage/error-on-fetch.tsx +68 -0
  224. package/dist/docs/EntityPage/error-on-save.tsx +59 -0
  225. package/dist/docs/EntityPage/input-initialization-with-controller.tsx +96 -0
  226. package/dist/docs/EntityPage/input-initialization-with-usecontroller.tsx +99 -0
  227. package/dist/docs/EntityPage/loading.tsx +107 -0
  228. package/dist/docs/EntityPage/overriding-save-button-text.tsx +75 -0
  229. package/dist/docs/EntityPage.md +17 -1045
  230. package/dist/docs/ExportTo/cta-is-out-of-the-table.tsx +157 -0
  231. package/dist/docs/ExportTo/export-all-table.tsx +144 -0
  232. package/dist/docs/ExportTo/export-filtered-table.tsx +148 -0
  233. package/dist/docs/ExportTo/export-table-with-selection-bulk-selection.tsx +203 -0
  234. package/dist/docs/ExportTo.md +10 -674
  235. package/dist/docs/Filter Overview/interactive-example.tsx +211 -0
  236. package/dist/docs/Filter Overview.md +1 -213
  237. package/dist/docs/FilterProps.md +6 -13
  238. package/dist/docs/Grid/card-with-a-cta-that-opens-a-modal.tsx +103 -0
  239. package/dist/docs/Grid/card-with-a-cta-that-opens-a-popup.tsx +91 -0
  240. package/dist/docs/Grid/demo.tsx +73 -0
  241. package/dist/docs/Grid/grid-sections.tsx +62 -0
  242. package/dist/docs/Grid/grid-with-a-reduced-width.tsx +72 -0
  243. package/dist/docs/Grid/use-the-preset-prop.tsx +55 -0
  244. package/dist/docs/Grid.md +12 -509
  245. package/dist/docs/GridFolders.md +6 -45
  246. package/dist/docs/GridFoldersState.md +6 -3
  247. package/dist/docs/GridState.md +6 -5
  248. package/dist/docs/ImportButton/backup-error-handling.tsx +80 -0
  249. package/dist/docs/ImportButton/cms-import.tsx +38 -0
  250. package/dist/docs/ImportButton/create-new-field.tsx +40 -0
  251. package/dist/docs/ImportButton/platformized-import-fields-inline.tsx +65 -0
  252. package/dist/docs/ImportButton/platformized-import-from-a-source.tsx +50 -0
  253. package/dist/docs/ImportButton/required-fields.tsx +65 -0
  254. package/dist/docs/ImportButton/update-or-skip-by-id.tsx +40 -0
  255. package/dist/docs/ImportButton.md +7 -392
  256. package/dist/docs/Indeterminate/all-indeterminate.tsx +127 -0
  257. package/dist/docs/Indeterminate/items-indeterminate-status.tsx +126 -0
  258. package/dist/docs/Indeterminate.md +2 -257
  259. package/dist/docs/Internal Scroll/full-width-section.tsx +96 -0
  260. package/dist/docs/Internal Scroll/narrow-side-section.tsx +82 -0
  261. package/dist/docs/Internal Scroll.md +2 -182
  262. package/dist/docs/More Actions/collection-page-2.tsx +98 -0
  263. package/dist/docs/More Actions/collection-page.tsx +97 -0
  264. package/dist/docs/More Actions/explore-related-apps.tsx +129 -0
  265. package/dist/docs/More Actions/featured-more-actions-custom-position.tsx +116 -0
  266. package/dist/docs/More Actions/featured-more-actions-opt-out.tsx +86 -0
  267. package/dist/docs/More Actions/featured-more-actions.tsx +82 -0
  268. package/dist/docs/More Actions/integrate-with-extension.tsx +100 -0
  269. package/dist/docs/More Actions/more-actions-in-the-toolbar.tsx +96 -0
  270. package/dist/docs/More Actions/more-actions-with-a-divider.tsx +115 -0
  271. package/dist/docs/More Actions.md +9 -937
  272. package/dist/docs/MoreActionsItem.md +6 -16
  273. package/dist/docs/MultiAutoInlineCheckboxFilter.md +6 -879
  274. package/dist/docs/MultiBulkActionToolbar/basic-secondary-action.tsx +177 -0
  275. package/dist/docs/MultiBulkActionToolbar/bulk-action.tsx +169 -0
  276. package/dist/docs/MultiBulkActionToolbar/extend-menu-items.tsx +174 -0
  277. package/dist/docs/MultiBulkActionToolbar/maximum-selection.tsx +168 -0
  278. package/dist/docs/MultiBulkActionToolbar/popover-menu.tsx +123 -0
  279. package/dist/docs/MultiBulkActionToolbar/primary-secondary-actions-with-a-divider.tsx +218 -0
  280. package/dist/docs/MultiBulkActionToolbar.md +12 -1048
  281. package/dist/docs/MultiInlineCheckboxFilter.md +6 -878
  282. package/dist/docs/MultiLevelSorting/basic-multi-level-sorting.tsx +93 -0
  283. package/dist/docs/MultiLevelSorting/multi-level-sorting-with-custom-sort-order.tsx +100 -0
  284. package/dist/docs/MultiLevelSorting/multi-level-sorting-with-defined-sort-directions.tsx +96 -0
  285. package/dist/docs/MultiLevelSorting.md +9 -301
  286. package/dist/docs/MultiSelectCheckboxFilter.md +6 -133
  287. package/dist/docs/MultiSelectCollectionFilter.md +6 -138
  288. package/dist/docs/NestedTable/drag-and-drop.tsx +107 -0
  289. package/dist/docs/NestedTable/filters.tsx +192 -0
  290. package/dist/docs/NestedTable/flat-mode-search.tsx +92 -0
  291. package/dist/docs/NestedTable/node-api-usage.tsx +188 -0
  292. package/dist/docs/NestedTable/single-entity.tsx +85 -0
  293. package/dist/docs/NestedTable/various-entities.tsx +138 -0
  294. package/dist/docs/NestedTable.md +6 -814
  295. package/dist/docs/NumberRangeFilter.md +6 -13
  296. package/dist/docs/OperatorFilterPicker.md +6 -13
  297. package/dist/docs/PatternsReactRoute.md +6 -7
  298. package/dist/docs/PatternsReactRouter.md +9 -0
  299. package/dist/docs/PickerModal/multi-select.tsx +97 -0
  300. package/dist/docs/PickerModal/pre-selected-item.tsx +120 -0
  301. package/dist/docs/PickerModal/search-override.tsx +99 -0
  302. package/dist/docs/PickerModal/single-selection.tsx +98 -0
  303. package/dist/docs/PickerModal/with-filter-dropdown.tsx +139 -0
  304. package/dist/docs/PickerModal.md +11 -605
  305. package/dist/docs/PickerStandalone/basic.tsx +49 -0
  306. package/dist/docs/PickerStandalone/createnew.tsx +65 -0
  307. package/dist/docs/PickerStandalone/custom-empty-state.tsx +33 -0
  308. package/dist/docs/PickerStandalone/custom-items.tsx +78 -0
  309. package/dist/docs/PickerStandalone.md +4 -233
  310. package/dist/docs/PrimaryActionButton.md +6 -71
  311. package/dist/docs/PrimaryActions.md +6 -14
  312. package/dist/docs/PrimaryPageButton.md +6 -69
  313. package/dist/docs/RadioGroupFilter.md +6 -19
  314. package/dist/docs/SecondaryActions.md +6 -14
  315. package/dist/docs/SettingsPage/2-columns.tsx +70 -0
  316. package/dist/docs/SettingsPage/basic.tsx +66 -0
  317. package/dist/docs/SettingsPage/error-on-fetch.tsx +65 -0
  318. package/dist/docs/SettingsPage/error-on-save.tsx +59 -0
  319. package/dist/docs/SettingsPage/input-initialization-with-controller.tsx +89 -0
  320. package/dist/docs/SettingsPage/input-initialization-with-usecontroller.tsx +92 -0
  321. package/dist/docs/SettingsPage/loading.tsx +99 -0
  322. package/dist/docs/SettingsPage.md +13 -574
  323. package/dist/docs/SingleSelectFilter/custom-render-items.tsx +57 -0
  324. package/dist/docs/SingleSelectFilter/empty-state.tsx +33 -0
  325. package/dist/docs/SingleSelectFilter/sections.tsx +69 -0
  326. package/dist/docs/SingleSelectFilter/server-data.tsx +53 -0
  327. package/dist/docs/SingleSelectFilter/static-data.tsx +25 -0
  328. package/dist/docs/SingleSelectFilter.md +11 -374
  329. package/dist/docs/Sortable Columns/basic-sortable-column.tsx +90 -0
  330. package/dist/docs/Sortable Columns/custom-sort-order.tsx +94 -0
  331. package/dist/docs/Sortable Columns.md +2 -188
  332. package/dist/docs/Suggestions/carousel-customization.tsx +27 -0
  333. package/dist/docs/Suggestions/carousel-vs-container-layout.tsx +40 -0
  334. package/dist/docs/Suggestions/custom-card-rendering.tsx +99 -0
  335. package/dist/docs/Suggestions/with-transform-function.tsx +56 -0
  336. package/dist/docs/Suggestions.md +4 -230
  337. package/dist/docs/SummaryBar/error.tsx +75 -0
  338. package/dist/docs/SummaryBar/loading-with-error.tsx +96 -0
  339. package/dist/docs/SummaryBar/loading-with-success.tsx +105 -0
  340. package/dist/docs/SummaryBar/loading.tsx +73 -0
  341. package/dist/docs/SummaryBar/success.tsx +73 -0
  342. package/dist/docs/SummaryBar.md +11 -437
  343. package/dist/docs/Table/basic-table.tsx +74 -0
  344. package/dist/docs/Table/cursor-pagination.tsx +61 -0
  345. package/dist/docs/Table/fetch-total-async.tsx +83 -0
  346. package/dist/docs/Table/filters.tsx +152 -0
  347. package/dist/docs/Table/header.tsx +85 -0
  348. package/dist/docs/Table/horizontal-scroll.tsx +90 -0
  349. package/dist/docs/Table/table-disabled-rows.tsx +99 -0
  350. package/dist/docs/Table/using-ambassador.tsx +72 -0
  351. package/dist/docs/Table/using-with-external-data-source.tsx +79 -0
  352. package/dist/docs/Table/virtual.tsx +77 -0
  353. package/dist/docs/Table Sections/demo.tsx +96 -0
  354. package/dist/docs/Table Sections/with-badge.tsx +107 -0
  355. package/dist/docs/Table Sections/with-collapse.tsx +104 -0
  356. package/dist/docs/Table Sections/with-summary.tsx +118 -0
  357. package/dist/docs/Table Sections.md +4 -433
  358. package/dist/docs/Table.md +16 -961
  359. package/dist/docs/TableColumn.md +6 -21
  360. package/dist/docs/TableDragAndDrop/save-order-mode.tsx +85 -0
  361. package/dist/docs/TableDragAndDrop/specific-filters.tsx +135 -0
  362. package/dist/docs/TableDragAndDrop/specific-tabs.tsx +117 -0
  363. package/dist/docs/TableDragAndDrop/table.tsx +83 -0
  364. package/dist/docs/TableDragAndDrop.md +4 -428
  365. package/dist/docs/TableFolders/demo.tsx +101 -0
  366. package/dist/docs/TableFolders/table-folders.tsx +101 -0
  367. package/dist/docs/TableFolders/with-tags.tsx +124 -0
  368. package/dist/docs/TableFolders.md +9 -391
  369. package/dist/docs/TableFoldersState.md +6 -5
  370. package/dist/docs/TableGridSwitch/basic-table-grid-switch.tsx +91 -0
  371. package/dist/docs/TableGridSwitch/custom-columns.tsx +94 -0
  372. package/dist/docs/TableGridSwitch.md +8 -255
  373. package/dist/docs/TableGridSwitchFolders/demo.tsx +103 -0
  374. package/dist/docs/TableGridSwitchFolders/tablegridswitchfolders.tsx +103 -0
  375. package/dist/docs/TableGridSwitchFolders/with-tags.tsx +124 -0
  376. package/dist/docs/TableGridSwitchFolders.md +3 -336
  377. package/dist/docs/TableGridSwitchState.md +6 -6
  378. package/dist/docs/TableState.md +6 -7
  379. package/dist/docs/TableTopNotification/base.tsx +92 -0
  380. package/dist/docs/TableTopNotification/nested-table.tsx +114 -0
  381. package/dist/docs/TableTopNotification.md +8 -235
  382. package/dist/docs/TabsFilter/basic-tabs.tsx +96 -0
  383. package/dist/docs/TabsFilter/disabled-tabs.tsx +100 -0
  384. package/dist/docs/TabsFilter/tabs-with-a-basic-counter.tsx +149 -0
  385. package/dist/docs/TabsFilter/tabs-with-a-counter-badge.tsx +153 -0
  386. package/dist/docs/TabsFilter.md +10 -515
  387. package/dist/docs/Tags/basic.tsx +90 -0
  388. package/dist/docs/Tags/custom-config-for-tags-column.tsx +95 -0
  389. package/dist/docs/Tags/customized-filter-position.tsx +121 -0
  390. package/dist/docs/Tags/customized-tags-column-position.tsx +94 -0
  391. package/dist/docs/Tags/on-table-with-folders.tsx +124 -0
  392. package/dist/docs/Tags.md +5 -534
  393. package/dist/docs/ToolbarCollectionState.md +1 -1
  394. package/dist/docs/ToolbarFilters/2-filters-with-a-title.tsx +162 -0
  395. package/dist/docs/ToolbarFilters/2-filters-without-a-title.tsx +158 -0
  396. package/dist/docs/ToolbarFilters/add-filter-presets-for-future-dates.tsx +108 -0
  397. package/dist/docs/ToolbarFilters/apply-changes.tsx +167 -0
  398. package/dist/docs/ToolbarFilters/custom-label-for-tags.tsx +167 -0
  399. package/dist/docs/ToolbarFilters/customize-filter-display-tags.tsx +163 -0
  400. package/dist/docs/ToolbarFilters/mini-toolbar-with-filters.tsx +121 -0
  401. package/dist/docs/ToolbarFilters/mini-toolbar.tsx +80 -0
  402. package/dist/docs/ToolbarFilters/more-than-2-filters.tsx +164 -0
  403. package/dist/docs/ToolbarFilters/postpone-collection-filter-initial-fetch.tsx +158 -0
  404. package/dist/docs/ToolbarFilters.md +17 -1466
  405. package/dist/docs/ToolbarSecondaryActions/grouped-actions-with-dividers.tsx +91 -0
  406. package/dist/docs/ToolbarSecondaryActions/mixed-buttons-and-dropdown-menus.tsx +80 -0
  407. package/dist/docs/ToolbarSecondaryActions/multiple-actions-with-dropdown-menus.tsx +88 -0
  408. package/dist/docs/ToolbarSecondaryActions/multiple-secondary-action-buttons.tsx +73 -0
  409. package/dist/docs/ToolbarSecondaryActions.md +4 -340
  410. package/dist/docs/ToolbarTitle/title-and-count.tsx +60 -0
  411. package/dist/docs/ToolbarTitle/title-count-and-the-collection-s-item-limit.tsx +60 -0
  412. package/dist/docs/ToolbarTitle/title-subtitle-and-learn-more.tsx +68 -0
  413. package/dist/docs/ToolbarTitle/title.tsx +60 -0
  414. package/dist/docs/ToolbarTitle.md +4 -256
  415. package/dist/docs/Views/basic-view-that-can-be-chosen.tsx +142 -0
  416. package/dist/docs/Views/basic-view.tsx +134 -0
  417. package/dist/docs/Views/view-with-selected-columns.tsx +142 -0
  418. package/dist/docs/Views/views-separated-by-category-in-the-dropdown.tsx +209 -0
  419. package/dist/docs/Views.md +4 -635
  420. package/dist/docs/WidgetsFormProvider.md +9 -0
  421. package/dist/docs/WixPatternsBMProvider.md +9 -0
  422. package/dist/docs/WixPatternsBaseProvider.md +6 -3
  423. package/dist/docs/WixPatternsEssentialsProvider.md +9 -0
  424. package/dist/docs/WixPatternsGizaProvider.md +9 -0
  425. package/dist/docs/WixPatternsProvider.md +9 -0
  426. package/dist/docs/arrayFilter.md +6 -12
  427. package/dist/docs/customFilter.md +6 -19
  428. package/dist/docs/dateRangeFilter.Factories.md +6 -13
  429. package/dist/docs/deleteSecondaryAction.md +6 -13
  430. package/dist/docs/idNameArrayFilter.md +6 -12
  431. package/dist/docs/index.json +164 -90
  432. package/dist/docs/operatorFilter.md +6 -13
  433. package/dist/docs/stringFilter.md +6 -4
  434. package/dist/docs/stringsArrayFilter.md +6 -12
  435. package/dist/docs/useCreateCollection.md +6 -19
  436. package/dist/docs/useEntityPage.md +6 -13
  437. package/dist/docs/useFilterCollection.md +6 -13
  438. package/dist/docs/useGridCollection.md +6 -19
  439. package/dist/docs/useGridFolders.md +6 -4
  440. package/dist/docs/useOptimisticActions/custom-error-handling.tsx +178 -0
  441. package/dist/docs/useOptimisticActions/default-behaviour.tsx +155 -0
  442. package/dist/docs/useOptimisticActions/error-handling-and-retries.tsx +175 -0
  443. package/dist/docs/useOptimisticActions/items-orders.tsx +165 -0
  444. package/dist/docs/useOptimisticActions/revision-handling.tsx +109 -0
  445. package/dist/docs/useOptimisticActions/success-toast-with-undo.tsx +164 -0
  446. package/dist/docs/useOptimisticActions/update-with-query.tsx +195 -0
  447. package/dist/docs/useOptimisticActions.md +13 -1164
  448. package/dist/docs/usePatternsNavigate.md +11 -0
  449. package/dist/docs/usePickerModal.md +6 -16
  450. package/dist/docs/useStaticListFilterCollection.md +6 -4
  451. package/dist/docs/useTableCollection.md +6 -19
  452. package/dist/docs/useTableFolders.md +6 -4
  453. package/dist/docs/useTableGridSwitchCollection.md +6 -19
  454. package/dist/dts-bundle/index.json +1 -1
  455. package/dist/dts-bundle/types/EntityPageStateParams.d.ts +13 -0
  456. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  457. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  458. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  459. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  460. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  461. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  462. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  463. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  464. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  465. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  466. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  467. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  468. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  469. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  470. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  471. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  472. package/dist/esm/components/CustomFieldModal/CustomFieldForm.js +5 -4
  473. package/dist/esm/components/CustomFieldModal/CustomFieldForm.js.map +1 -1
  474. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js +2 -2
  475. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
  476. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  477. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  478. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  479. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +14 -0
  480. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
  481. package/dist/esm/components/EditableTable/EditableTableContextMenu.js +0 -4
  482. package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -1
  483. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  484. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  485. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  486. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  487. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  488. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  489. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  490. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  491. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  492. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  493. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  494. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  495. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  496. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  497. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  498. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  499. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  500. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  501. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  502. package/dist/esm/components/EditableTable/cellTypes/mediaGallery/index.js +3 -2
  503. package/dist/esm/components/EditableTable/cellTypes/mediaGallery/index.js.map +1 -1
  504. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  505. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  506. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  507. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  508. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  509. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  510. package/dist/esm/components/EditableTable/cellTypes/richContent/index.js +1 -1
  511. package/dist/esm/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
  512. package/dist/esm/components/EditableTable/cellTypes/richText/index.js +1 -1
  513. package/dist/esm/components/EditableTable/cellTypes/richText/index.js.map +1 -1
  514. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  515. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  516. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  517. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  518. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  519. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  520. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  521. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  522. package/dist/esm/components/EditableTable/useClipboardHandler.js +0 -3
  523. package/dist/esm/components/EditableTable/useClipboardHandler.js.map +1 -1
  524. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  525. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  526. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  527. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  528. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  529. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  530. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  531. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  532. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  533. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  534. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  535. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  536. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  537. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  538. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  539. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  540. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  541. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  542. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  543. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  544. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  545. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  546. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  547. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  548. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  549. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  550. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  551. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  552. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  553. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  554. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  555. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  556. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  557. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  558. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  559. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  560. package/dist/esm/components/common.st.css.js +2 -2
  561. package/dist/esm/components/common.st.css.js.map +1 -1
  562. package/dist/esm/schema/entityPageFieldManagement.js +2 -0
  563. package/dist/esm/schema/entityPageFieldManagement.js.map +1 -1
  564. package/dist/esm/state/CollectionFieldsSourceState.js +2 -0
  565. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  566. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  567. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  568. package/dist/esm/state/CustomFields/CustomFieldsPanelState.js +4 -0
  569. package/dist/esm/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
  570. package/dist/esm/state/EditableTable/CellValueState.js +5 -2
  571. package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
  572. package/dist/esm/state/EditableTable/ClipboardState.js +12 -16
  573. package/dist/esm/state/EditableTable/ClipboardState.js.map +1 -1
  574. package/dist/esm/state/EditableTable/utils.js +3 -0
  575. package/dist/esm/state/EditableTable/utils.js.map +1 -1
  576. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  577. package/dist/esm/state/ToolbarCollectionState.js +6 -2
  578. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  579. package/dist/esm/styles.global.css +2 -2
  580. package/dist/esm/version.js +1 -1
  581. package/dist/types/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.d.ts.map +1 -1
  582. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  583. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  584. package/dist/types/components/CustomFieldModal/CustomFieldForm.d.ts.map +1 -1
  585. package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdown.d.ts.map +1 -1
  586. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  587. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -0
  588. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  589. package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
  590. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  591. package/dist/types/components/EditableTable/cellTypes/array/Edit.st.css.d.ts.map +1 -1
  592. package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
  593. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
  594. package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
  595. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  596. package/dist/types/components/EditableTable/cellTypes/mediaGallery/index.d.ts.map +1 -1
  597. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  598. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  599. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  600. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  601. package/dist/types/components/EditableTable/useClipboardHandler.d.ts.map +1 -1
  602. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  603. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  604. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  605. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  606. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  607. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  608. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  609. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  610. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  611. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  612. package/dist/types/components/common.st.css.d.ts.map +1 -1
  613. package/dist/types/schema/entityPageFieldManagement.d.ts.map +1 -1
  614. package/dist/types/state/CollectionFieldsSourceState.d.ts +2 -6
  615. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  616. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  617. package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts +2 -4
  618. package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts.map +1 -1
  619. package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
  620. package/dist/types/state/EditableTable/ClipboardState.d.ts +1 -1
  621. package/dist/types/state/EditableTable/ClipboardState.d.ts.map +1 -1
  622. package/dist/types/state/EditableTable/utils.d.ts.map +1 -1
  623. package/dist/types/state/ManageFieldsSource.d.ts +2 -6
  624. package/dist/types/state/ManageFieldsSource.d.ts.map +1 -1
  625. package/dist/types/state/ToolbarCollectionState.d.ts +2 -4
  626. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  627. package/dist/types/testkit/jsdom.d.ts +1 -0
  628. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  629. package/dist/types/testkit/playwright.d.ts +1 -0
  630. package/dist/types/testkit/playwright.d.ts.map +1 -1
  631. package/dist/types/testkit/puppeteer.d.ts +1 -0
  632. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  633. package/dist/types/version.d.ts +1 -1
  634. package/package.json +7 -7
  635. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  636. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  637. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  638. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  639. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  640. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  641. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  642. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  643. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  644. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  645. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  646. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  647. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  648. package/src/components/CustomFieldModal/CustomFieldForm.tsx +11 -3
  649. package/src/components/CustomFieldModal/CustomFieldTypeDropdown.tsx +3 -1
  650. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  651. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  652. package/src/components/EditableTable/EditableTable.uni.driver.ts +18 -0
  653. package/src/components/EditableTable/EditableTableContextMenu.tsx +0 -4
  654. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  655. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  656. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  657. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  658. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  659. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  660. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  661. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  662. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  663. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  664. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  665. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  666. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  667. package/src/components/EditableTable/cellTypes/mediaGallery/index.tsx +6 -2
  668. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  669. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  670. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  671. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  672. package/src/components/EditableTable/cellTypes/richContent/index.tsx +1 -1
  673. package/src/components/EditableTable/cellTypes/richText/index.tsx +1 -1
  674. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  675. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  676. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  677. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  678. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  679. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  680. package/src/components/EditableTable/useClipboardHandler.ts +0 -4
  681. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  682. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  683. package/src/components/Fade/Fade.st.css.ts +2 -2
  684. package/src/components/Heading/Heading.st.css.ts +2 -2
  685. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  686. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  687. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  688. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  689. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  690. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  691. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  692. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  693. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  694. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  695. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  696. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  697. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  698. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  699. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  700. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  701. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  702. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  703. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  704. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  705. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  706. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  707. package/src/components/common.st.css.ts +2 -2
  708. package/src/schema/entityPageFieldManagement.ts +2 -0
  709. package/src/state/CollectionFieldsSourceState.ts +4 -5
  710. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  711. package/src/state/CustomFields/CustomFieldsPanelState.ts +9 -5
  712. package/src/state/EditableTable/CellValueState.ts +5 -2
  713. package/src/state/EditableTable/ClipboardState.ts +14 -21
  714. package/src/state/EditableTable/utils.ts +4 -0
  715. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  716. package/src/state/ManageFieldsSource.ts +2 -6
  717. package/src/state/ToolbarCollectionState.ts +14 -2
  718. package/src/styles.global.css +2 -2
  719. package/src/version.ts +1 -1
@@ -0,0 +1,175 @@
1
+ import { Avatar } from '@wix/design-system';
2
+ import React from 'react';
3
+ import { CollectionPage } from '@wix/patterns/page';
4
+ import {
5
+ Table,
6
+ OffsetQuery,
7
+ PrimaryActionButton,
8
+ useTableCollection,
9
+ useOptimisticActions,
10
+ } from '@wix/patterns';
11
+ import { Delete } from '@wix/wix-ui-icons-common';
12
+ import { contacts } from '@wix/crm';
13
+
14
+ function ErrorHandlingAndRetries() {
15
+
16
+ const state = useTableCollection<contacts.Contact>({
17
+ queryName: 'contacts-ErrorHandlingAndRetries',
18
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
19
+ fetchData: (query: OffsetQuery) => {
20
+ const { limit, offset, search, filters } = query;
21
+
22
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
23
+
24
+ if (search) {
25
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
26
+ }
27
+
28
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
29
+ items,
30
+ total,
31
+ }));
32
+ },
33
+ fetchErrorMessage: () => 'Error fetching contacts',
34
+ });
35
+
36
+ const collection = state.collection;
37
+
38
+ const optimisticActions = useOptimisticActions(collection);
39
+
40
+ const _createContact = () => {
41
+ const newContact = {
42
+ id: new window.Date().toString(),
43
+ info: {
44
+ name: {
45
+ first: 'New',
46
+ last: 'Contact',
47
+ },
48
+ },
49
+ };
50
+
51
+ optimisticActions.createOne(newContact, {
52
+ errorToast: (err) => 'failed to create a contact',
53
+ onError: (err) => {
54
+ // report error to server
55
+ console.log('error');
56
+ },
57
+ onTryAgain: () => {
58
+ // report error to server
59
+ console.log('try again');
60
+ },
61
+ submit: async (contacts) => {
62
+ return new Promise((resolve, reject) => {
63
+ window.setTimeout(() => {
64
+ reject(new Error('error'));
65
+ }, 1000);
66
+ });
67
+ },
68
+ });
69
+ };
70
+
71
+ const _updateContact = (contact: contacts.Contact) => {
72
+ const updatedContact = {
73
+ ...contact,
74
+ info: {
75
+ ...contact.info,
76
+ jobTitle: 'Ultimate',
77
+ },
78
+ };
79
+ optimisticActions.updateOne(updatedContact, {
80
+ errorToast: (err) => 'failed to update a contact',
81
+ onError: (err) => {
82
+ // report error to server
83
+ console.log('error');
84
+ },
85
+ onTryAgain: () => {
86
+ // report error to server
87
+ console.log('try again');
88
+ },
89
+ submit: async (contacts) => {
90
+ return new Promise((resolve, reject) => {
91
+ window.setTimeout(() => {
92
+ reject(new Error('error'));
93
+ }, 1000);
94
+ });
95
+ },
96
+ });
97
+ };
98
+
99
+ const _deleteContact = (contact: contacts.Contact) => {
100
+ optimisticActions.deleteOne(contact, {
101
+ errorToast: (err) => 'failed to delete a contact',
102
+ onError: (err) => {
103
+ // report error to server
104
+ console.log('error');
105
+ },
106
+ onTryAgain: () => {
107
+ // report error to server
108
+ console.log('try again');
109
+ },
110
+ submit: async (contacts) => {
111
+ return new Promise((resolve, reject) => {
112
+ window.setTimeout(() => {
113
+ reject(new Error('error'));
114
+ }, 1000);
115
+ });
116
+ },
117
+ });
118
+ };
119
+
120
+ return (
121
+ <CollectionPage height="400px">
122
+ <CollectionPage.Header title={{ text: 'Contacts' }} />
123
+ <CollectionPage.Content>
124
+ <Table
125
+ state={collection}
126
+ primaryActionButton={<PrimaryActionButton onClick={_createContact} />}
127
+ columns={[
128
+ {
129
+ title: '',
130
+ width: '50px',
131
+ render: (contact) => (
132
+ <Avatar
133
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
134
+ imgProps={{ src: contact.info?.picture?.image }}
135
+ />
136
+ ),
137
+ },
138
+ {
139
+ title: 'Name',
140
+ width: '250px',
141
+ render: (contact) =>
142
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
143
+ },
144
+ {
145
+ title: 'Level',
146
+ render: (contact) => contact.info?.jobTitle,
147
+ },
148
+ {
149
+ title: 'Last Activity',
150
+ render: (contact) =>
151
+ contact.lastActivity?.activityDate?.toLocaleString(),
152
+ },
153
+ ]}
154
+ actionCell={(contact) => ({
155
+ primaryAction: {
156
+ text: 'Update',
157
+ onClick: () => {
158
+ _updateContact(contact);
159
+ },
160
+ },
161
+ secondaryActions: [
162
+ {
163
+ icon: <Delete />,
164
+ text: 'Delete',
165
+ onClick: () => {
166
+ _deleteContact(contact);
167
+ },
168
+ },
169
+ ],
170
+ })}
171
+ />
172
+ </CollectionPage.Content>
173
+ </CollectionPage>
174
+ );
175
+ }
@@ -0,0 +1,165 @@
1
+ import { Avatar } from '@wix/design-system';
2
+ import React from 'react';
3
+ import { CollectionPage } from '@wix/patterns/page';
4
+ import {
5
+ Table,
6
+ OffsetQuery,
7
+ PrimaryActionButton,
8
+ useTableCollection,
9
+ useOptimisticActions,
10
+ } from '@wix/patterns';
11
+ import { Delete } from '@wix/wix-ui-icons-common';
12
+ import { contacts } from '@wix/crm';
13
+
14
+ function UndoAfterSuccess() {
15
+ const state = useTableCollection<contacts.Contact>({
16
+ queryName: 'contacts-UndoAfterSuccess',
17
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
18
+ fetchData: (query: OffsetQuery) => {
19
+ const { limit, offset, search, sort, filters } = query;
20
+
21
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
22
+
23
+ if (search) {
24
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
25
+ }
26
+
27
+ queryBuilder = queryBuilder.ascending('info.name.first');
28
+
29
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
30
+ items,
31
+ total,
32
+ }));
33
+ },
34
+ fetchErrorMessage: () => 'Error fetching contacts',
35
+ });
36
+
37
+ const collection = state.collection;
38
+
39
+ const optimisticActions = useOptimisticActions(collection, {
40
+ orderBy: ({ sort }) => [
41
+ ...(sort || []),
42
+ {
43
+ fieldName: (item) => item.info?.name?.first || '',
44
+ order: 'asc',
45
+ },
46
+ ],
47
+ });
48
+
49
+ const _createContact = () => {
50
+ const newContact = {
51
+ id: new window.Date().toString(),
52
+ info: {
53
+ name: {
54
+ first: 'Aaa',
55
+ last: 'Contact',
56
+ },
57
+ },
58
+ };
59
+
60
+ optimisticActions.createOne(newContact, {
61
+ submit: async (_contacts) => {
62
+ const response = (await Promise.all(
63
+ _contacts.map((contact) =>
64
+ contacts.createContact(contact.info as contacts.ContactInfo),
65
+ ),
66
+ )) as contacts.CreateContactResponse[];
67
+
68
+ return response.map(({ contact }) => contact as contacts.Contact);
69
+ },
70
+ });
71
+ };
72
+
73
+ const _updateContact = (contact: contacts.Contact) => {
74
+ const updatedContact = {
75
+ ...contact,
76
+ info: {
77
+ ...contact.info,
78
+ jobTitle: 'Ultimate',
79
+ },
80
+ };
81
+
82
+ optimisticActions.updateOne(updatedContact, {
83
+ submit: async (_contacts) => {
84
+ const response = (await Promise.all(
85
+ _contacts.map((contact) =>
86
+ contacts.updateContact(
87
+ contact._id as string,
88
+ contact.info as contacts.ContactInfo,
89
+ contact.revision as number,
90
+ ),
91
+ ),
92
+ )) as contacts.UpdateContactResponse[];
93
+
94
+ return response.map(({ contact }) => contact as contacts.Contact);
95
+ },
96
+ });
97
+ };
98
+
99
+ const _deleteContact = (contact: contacts.Contact) => {
100
+ optimisticActions.deleteOne(contact, {
101
+ submit: async (_contacts) =>
102
+ Promise.all(
103
+ _contacts.map((contact) =>
104
+ contacts.deleteContact(contact._id as string),
105
+ ),
106
+ ),
107
+ });
108
+ };
109
+
110
+ return (
111
+ <CollectionPage height="400px">
112
+ <CollectionPage.Header title={{ text: 'Contacts' }} />
113
+ <CollectionPage.Content>
114
+ <Table
115
+ state={collection}
116
+ primaryActionButton={<PrimaryActionButton onClick={_createContact} />}
117
+ columns={[
118
+ {
119
+ title: '',
120
+ width: '50px',
121
+ render: (contact) => (
122
+ <Avatar
123
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
124
+ imgProps={{ src: contact.info?.picture?.image }}
125
+ />
126
+ ),
127
+ },
128
+ {
129
+ title: 'Name',
130
+ width: '250px',
131
+ render: (contact) =>
132
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
133
+ },
134
+ {
135
+ title: 'Level',
136
+ render: (contact) => contact.info?.jobTitle,
137
+ },
138
+ {
139
+ title: 'Last Activity',
140
+ render: (contact) =>
141
+ contact.lastActivity?.activityDate?.toLocaleString(),
142
+ },
143
+ ]}
144
+ actionCell={(contact) => ({
145
+ primaryAction: {
146
+ text: 'Update',
147
+ onClick: () => {
148
+ _updateContact(contact);
149
+ },
150
+ },
151
+ secondaryActions: [
152
+ {
153
+ icon: <Delete />,
154
+ text: 'Delete',
155
+ onClick: () => {
156
+ _deleteContact(contact);
157
+ },
158
+ },
159
+ ],
160
+ })}
161
+ />
162
+ </CollectionPage.Content>
163
+ </CollectionPage>
164
+ );
165
+ }
@@ -0,0 +1,109 @@
1
+ import { Avatar } from '@wix/design-system';
2
+ import React from 'react';
3
+ import { CollectionPage } from '@wix/patterns/page';
4
+ import {
5
+ Table,
6
+ OffsetQuery,
7
+ useTableCollection,
8
+ useOptimisticActions,
9
+ } from '@wix/patterns';
10
+ import { contacts } from '@wix/crm';
11
+
12
+ function RevisionHandling() {
13
+ const state = useTableCollection<contacts.Contact>({
14
+ queryName: 'contacts-RevisionHandling',
15
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
16
+ fetchData: (query: OffsetQuery) => {
17
+ const { limit, offset, search, filters } = query;
18
+
19
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
20
+
21
+ if (search) {
22
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
23
+ }
24
+
25
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
26
+ items,
27
+ total,
28
+ }));
29
+ },
30
+ fetchErrorMessage: () => 'Error fetching contacts',
31
+ });
32
+
33
+ const collection = state.collection;
34
+
35
+ const optimisticActions = useOptimisticActions(collection);
36
+
37
+ const _updateContact = (contact: contacts.Contact) => {
38
+ const updatedContact = {
39
+ ...contact,
40
+ info: {
41
+ ...contact.info,
42
+ jobTitle: 'Ultimate',
43
+ },
44
+ revision: +contact.revision! + 1,
45
+ } as Partial<contacts.Contact>;
46
+
47
+ optimisticActions.updateOne(updatedContact, {
48
+ submit: async (_contacts) => {
49
+ const response = (await Promise.all(
50
+ _contacts.map((contact) =>
51
+ contacts.updateContact(
52
+ contact._id as string,
53
+ contact.info as contacts.ContactInfo,
54
+ contact.revision as number,
55
+ ),
56
+ ),
57
+ )) as contacts.UpdateContactResponse[];
58
+
59
+ return response.map(({ contact }) => contact as contacts.Contact);
60
+ },
61
+ });
62
+ };
63
+
64
+ return (
65
+ <CollectionPage height="400px">
66
+ <CollectionPage.Header title={{ text: 'Contacts' }} />
67
+ <CollectionPage.Content>
68
+ <Table
69
+ state={collection}
70
+ columns={[
71
+ {
72
+ title: '',
73
+ width: '50px',
74
+ render: (contact) => (
75
+ <Avatar
76
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
77
+ imgProps={{ src: contact.info?.picture?.image }}
78
+ />
79
+ ),
80
+ },
81
+ {
82
+ title: 'Name',
83
+ width: '250px',
84
+ render: (contact) =>
85
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
86
+ },
87
+ {
88
+ title: 'Level',
89
+ render: (contact) => contact.info?.jobTitle,
90
+ },
91
+ {
92
+ title: 'Last Activity',
93
+ render: (contact) =>
94
+ contact.lastActivity?.activityDate?.toLocaleString(),
95
+ },
96
+ ]}
97
+ actionCell={(contact) => ({
98
+ primaryAction: {
99
+ text: 'Update',
100
+ onClick: () => {
101
+ _updateContact(contact);
102
+ },
103
+ },
104
+ })}
105
+ />
106
+ </CollectionPage.Content>
107
+ </CollectionPage>
108
+ );
109
+ }
@@ -0,0 +1,164 @@
1
+ import { Avatar } from '@wix/design-system';
2
+ import React from 'react';
3
+ import { CollectionPage } from '@wix/patterns/page';
4
+ import {
5
+ Table,
6
+ OffsetQuery,
7
+ PrimaryActionButton,
8
+ useTableCollection,
9
+ useOptimisticActions,
10
+ } from '@wix/patterns';
11
+ import { Delete } from '@wix/wix-ui-icons-common';
12
+ import { contacts } from '@wix/crm';
13
+
14
+ function UndoBeforeSending() {
15
+ const state = useTableCollection<contacts.Contact>({
16
+ queryName: 'contacts-UndoBeforeSending',
17
+ itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
18
+ fetchData: (query: OffsetQuery) => {
19
+ const { limit, offset, search, filters } = query;
20
+
21
+ let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
22
+
23
+ if (search) {
24
+ queryBuilder = queryBuilder.startsWith('info.name.first', search);
25
+ }
26
+
27
+ return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
28
+ items,
29
+ total,
30
+ }));
31
+ },
32
+ fetchErrorMessage: () => 'Error fetching contacts',
33
+ });
34
+
35
+ const collection = state.collection;
36
+
37
+ const optimisticActions = useOptimisticActions(collection);
38
+
39
+ const _createContact = () => {
40
+ const newContact = {
41
+ id: new window.Date().toString(),
42
+ info: {
43
+ name: {
44
+ first: 'New',
45
+ last: 'Contact',
46
+ },
47
+ },
48
+ };
49
+
50
+ optimisticActions.createOne(newContact, {
51
+ showUndoToast: true,
52
+ showUndoSuccessToast: true,
53
+ successToast: 'New contact is created',
54
+ submit: async (_contacts) => {
55
+ const response = (await Promise.all(
56
+ _contacts.map((contact) =>
57
+ contacts.createContact(contact.info as contacts.ContactInfo),
58
+ ),
59
+ )) as contacts.CreateContactResponse[];
60
+
61
+ return response.map(({ contact }) => contact as contacts.Contact);
62
+ },
63
+ });
64
+ };
65
+
66
+ const _updateContact = (contact: contacts.Contact) => {
67
+ const updatedContact = {
68
+ ...contact,
69
+ info: {
70
+ ...contact.info,
71
+ jobTitle: 'Ultimate',
72
+ },
73
+ };
74
+
75
+ optimisticActions.updateOne(updatedContact, {
76
+ showUndoToast: true,
77
+ showUndoSuccessToast: true,
78
+ successToast: 'A contact has been updated',
79
+ submit: async (_contacts) => {
80
+ const response = (await Promise.all(
81
+ _contacts.map((contact) =>
82
+ contacts.updateContact(
83
+ contact._id as string,
84
+ contact.info as contacts.ContactInfo,
85
+ contact.revision as number,
86
+ ),
87
+ ),
88
+ )) as contacts.UpdateContactResponse[];
89
+
90
+ return response.map(({ contact }) => contact as contacts.Contact);
91
+ },
92
+ });
93
+ };
94
+
95
+ const _deleteContact = (contact: contacts.Contact) => {
96
+ optimisticActions.deleteOne(contact, {
97
+ showUndoToast: true,
98
+ showUndoSuccessToast: true,
99
+ successToast: 'A contact was deleted',
100
+ submit: async (_contacts) =>
101
+ Promise.all(
102
+ _contacts.map((contact) =>
103
+ contacts.deleteContact(contact._id as string),
104
+ ),
105
+ ),
106
+ });
107
+ };
108
+
109
+ return (
110
+ <CollectionPage height="400px">
111
+ <CollectionPage.Header title={{ text: 'Contacts' }} />
112
+ <CollectionPage.Content>
113
+ <Table
114
+ state={collection}
115
+ primaryActionButton={<PrimaryActionButton onClick={_createContact} />}
116
+ columns={[
117
+ {
118
+ title: '',
119
+ width: '50px',
120
+ render: (contact) => (
121
+ <Avatar
122
+ name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
123
+ imgProps={{ src: contact.info?.picture?.image }}
124
+ />
125
+ ),
126
+ },
127
+ {
128
+ title: 'Name',
129
+ width: '250px',
130
+ render: (contact) =>
131
+ `${contact.info?.name?.first} ${contact.info?.name?.last}`,
132
+ },
133
+ {
134
+ title: 'Level',
135
+ render: (contact) => contact.info?.jobTitle,
136
+ },
137
+ {
138
+ title: 'Last Activity',
139
+ render: (contact) =>
140
+ contact.lastActivity?.activityDate?.toLocaleString(),
141
+ },
142
+ ]}
143
+ actionCell={(contact) => ({
144
+ primaryAction: {
145
+ text: 'Update',
146
+ onClick: () => {
147
+ _updateContact(contact);
148
+ },
149
+ },
150
+ secondaryActions: [
151
+ {
152
+ icon: <Delete />,
153
+ text: 'Delete',
154
+ onClick: () => {
155
+ _deleteContact(contact);
156
+ },
157
+ },
158
+ ],
159
+ })}
160
+ />
161
+ </CollectionPage.Content>
162
+ </CollectionPage>
163
+ );
164
+ }