@wix/patterns 1.459.0 → 1.460.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 (651) 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 +32 -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/HeaderActionsPopover.st.css.js +2 -2
  36. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  38. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  46. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  48. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  50. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  52. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  54. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  56. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  58. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  60. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  64. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  66. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  68. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  72. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  74. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  76. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  80. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  81. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  82. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  83. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  84. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  85. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  86. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  87. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  88. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  89. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  90. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  91. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  92. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  93. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  94. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  95. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  96. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  97. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  98. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  99. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  100. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  101. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  102. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  103. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  104. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  105. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  106. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  107. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  108. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  109. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  110. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  111. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  112. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  113. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  114. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  115. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  116. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  117. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  118. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  119. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  120. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  121. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  122. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  123. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
  124. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  125. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  126. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  127. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  128. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  129. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  130. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  131. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  132. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  133. package/dist/cjs/components/common.st.css.js +4 -4
  134. package/dist/cjs/components/common.st.css.js.map +1 -1
  135. package/dist/cjs/schema/entityPageFieldManagement.js +3 -1
  136. package/dist/cjs/schema/entityPageFieldManagement.js.map +1 -1
  137. package/dist/cjs/state/CollectionFieldsSourceState.js +3 -1
  138. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  139. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  140. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  141. package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js +3 -0
  142. package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
  143. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  144. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  145. package/dist/cjs/state/ManageFieldsSource.js.map +1 -1
  146. package/dist/cjs/state/ToolbarCollectionState.js +6 -2
  147. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  148. package/dist/cjs/styles.global.css +2 -2
  149. package/dist/cjs/version.js +1 -1
  150. package/dist/cjs/version.js.map +1 -1
  151. package/dist/docs/ActionCellProps.md +6 -21
  152. package/dist/docs/AutoCompleteFilter.md +6 -128
  153. package/dist/docs/BulkActionModalRenderProp.md +6 -9
  154. package/dist/docs/CollectionEmptyState/2-ctas.tsx +67 -0
  155. package/dist/docs/CollectionEmptyState/demo.tsx +61 -0
  156. package/dist/docs/CollectionEmptyState/passive-empty-state.tsx +59 -0
  157. package/dist/docs/CollectionEmptyState.md +9 -207
  158. package/dist/docs/CollectionNoResultsState.md +6 -11
  159. package/dist/docs/CollectionOptimisticActions/create-many.tsx +110 -0
  160. package/dist/docs/CollectionOptimisticActions/create-one.tsx +104 -0
  161. package/dist/docs/CollectionOptimisticActions/delete-all.tsx +132 -0
  162. package/dist/docs/CollectionOptimisticActions/delete-many.tsx +104 -0
  163. package/dist/docs/CollectionOptimisticActions/delete-one.tsx +94 -0
  164. package/dist/docs/CollectionOptimisticActions/update-all.tsx +142 -0
  165. package/dist/docs/CollectionOptimisticActions/update-many.tsx +119 -0
  166. package/dist/docs/CollectionOptimisticActions/update-one.tsx +108 -0
  167. package/dist/docs/CollectionOptimisticActions.md +14 -939
  168. package/dist/docs/CollectionPage.md +6 -19
  169. package/dist/docs/CollectionPremiumEmptyState.md +6 -14
  170. package/dist/docs/CollectionSearch/default.tsx +57 -0
  171. package/dist/docs/CollectionSearch/max-length.tsx +59 -0
  172. package/dist/docs/CollectionSearch/placeholder.tsx +59 -0
  173. package/dist/docs/CollectionSearch/search-highlighting.tsx +60 -0
  174. package/dist/docs/CollectionSearch.md +10 -247
  175. package/dist/docs/ComputedQuery.md +6 -15
  176. package/dist/docs/CustomColumns/add-a-tooltip.tsx +85 -0
  177. package/dist/docs/CustomColumns/basic.tsx +78 -0
  178. package/dist/docs/CustomColumns/exclude-columns.tsx +79 -0
  179. package/dist/docs/CustomColumns/freeze-column-reorder.tsx +111 -0
  180. package/dist/docs/CustomColumns/get-visible-columns.tsx +92 -0
  181. package/dist/docs/CustomColumns/hide-specific-columns-by-default.tsx +79 -0
  182. package/dist/docs/CustomColumns/load-only-selected-columns.tsx +85 -0
  183. package/dist/docs/CustomColumns/lock-columns.tsx +80 -0
  184. package/dist/docs/CustomColumns/reorder-columns.tsx +84 -0
  185. package/dist/docs/CustomColumns.md +9 -791
  186. package/dist/docs/CustomFieldType/add-field-modal.tsx +206 -0
  187. package/dist/docs/CustomFieldType/editable-cell.tsx +206 -0
  188. package/dist/docs/CustomFieldType/entity-page-form.tsx +133 -0
  189. package/dist/docs/CustomFieldType/table-cell-and-filter.tsx +165 -0
  190. package/dist/docs/CustomFieldType.md +4 -718
  191. package/dist/docs/CustomFieldsWidget/basic.tsx +53 -0
  192. package/dist/docs/CustomFieldsWidget/controllable-state.tsx +78 -0
  193. package/dist/docs/CustomFieldsWidget/empty-state.tsx +20 -0
  194. package/dist/docs/CustomFieldsWidget/inline-theme.tsx +54 -0
  195. package/dist/docs/CustomFieldsWidget/responsive.tsx +44 -0
  196. package/dist/docs/CustomFieldsWidget/with-tpa-fields.tsx +57 -0
  197. package/dist/docs/CustomFieldsWidget/without-entity-page.tsx +42 -0
  198. package/dist/docs/CustomFieldsWidget.md +7 -362
  199. package/dist/docs/DateRangeFilter.Components.md +6 -71
  200. package/dist/docs/EntityPage/2-columns.tsx +72 -0
  201. package/dist/docs/EntityPage/basic.tsx +72 -0
  202. package/dist/docs/EntityPage/delete-action.tsx +77 -0
  203. package/dist/docs/EntityPage/delete-error-handling.tsx +65 -0
  204. package/dist/docs/EntityPage/demo.tsx +212 -0
  205. package/dist/docs/EntityPage/error-on-fetch.tsx +68 -0
  206. package/dist/docs/EntityPage/error-on-save.tsx +59 -0
  207. package/dist/docs/EntityPage/input-initialization-with-controller.tsx +96 -0
  208. package/dist/docs/EntityPage/input-initialization-with-usecontroller.tsx +99 -0
  209. package/dist/docs/EntityPage/loading.tsx +107 -0
  210. package/dist/docs/EntityPage/overriding-save-button-text.tsx +75 -0
  211. package/dist/docs/EntityPage.md +17 -1045
  212. package/dist/docs/ExportTo/cta-is-out-of-the-table.tsx +157 -0
  213. package/dist/docs/ExportTo/export-all-table.tsx +144 -0
  214. package/dist/docs/ExportTo/export-filtered-table.tsx +148 -0
  215. package/dist/docs/ExportTo/export-table-with-selection-bulk-selection.tsx +203 -0
  216. package/dist/docs/ExportTo.md +10 -674
  217. package/dist/docs/Filter Overview/interactive-example.tsx +211 -0
  218. package/dist/docs/Filter Overview.md +1 -213
  219. package/dist/docs/FilterProps.md +6 -13
  220. package/dist/docs/Grid/card-with-a-cta-that-opens-a-modal.tsx +103 -0
  221. package/dist/docs/Grid/card-with-a-cta-that-opens-a-popup.tsx +91 -0
  222. package/dist/docs/Grid/demo.tsx +73 -0
  223. package/dist/docs/Grid/grid-sections.tsx +62 -0
  224. package/dist/docs/Grid/grid-with-a-reduced-width.tsx +72 -0
  225. package/dist/docs/Grid/use-the-preset-prop.tsx +55 -0
  226. package/dist/docs/Grid.md +12 -509
  227. package/dist/docs/GridFolders.md +6 -45
  228. package/dist/docs/GridFoldersState.md +6 -3
  229. package/dist/docs/GridState.md +6 -5
  230. package/dist/docs/ImportButton/backup-error-handling.tsx +80 -0
  231. package/dist/docs/ImportButton/cms-import.tsx +38 -0
  232. package/dist/docs/ImportButton/create-new-field.tsx +40 -0
  233. package/dist/docs/ImportButton/platformized-import-fields-inline.tsx +65 -0
  234. package/dist/docs/ImportButton/platformized-import-from-a-source.tsx +50 -0
  235. package/dist/docs/ImportButton/required-fields.tsx +65 -0
  236. package/dist/docs/ImportButton/update-or-skip-by-id.tsx +40 -0
  237. package/dist/docs/ImportButton.md +7 -392
  238. package/dist/docs/Indeterminate/all-indeterminate.tsx +127 -0
  239. package/dist/docs/Indeterminate/items-indeterminate-status.tsx +126 -0
  240. package/dist/docs/Indeterminate.md +2 -257
  241. package/dist/docs/Internal Scroll/full-width-section.tsx +96 -0
  242. package/dist/docs/Internal Scroll/narrow-side-section.tsx +82 -0
  243. package/dist/docs/Internal Scroll.md +2 -182
  244. package/dist/docs/More Actions/collection-page-2.tsx +98 -0
  245. package/dist/docs/More Actions/collection-page.tsx +97 -0
  246. package/dist/docs/More Actions/explore-related-apps.tsx +129 -0
  247. package/dist/docs/More Actions/featured-more-actions-custom-position.tsx +116 -0
  248. package/dist/docs/More Actions/featured-more-actions-opt-out.tsx +86 -0
  249. package/dist/docs/More Actions/featured-more-actions.tsx +82 -0
  250. package/dist/docs/More Actions/integrate-with-extension.tsx +100 -0
  251. package/dist/docs/More Actions/more-actions-in-the-toolbar.tsx +96 -0
  252. package/dist/docs/More Actions/more-actions-with-a-divider.tsx +115 -0
  253. package/dist/docs/More Actions.md +9 -937
  254. package/dist/docs/MoreActionsItem.md +6 -16
  255. package/dist/docs/MultiAutoInlineCheckboxFilter.md +6 -879
  256. package/dist/docs/MultiBulkActionToolbar/basic-secondary-action.tsx +177 -0
  257. package/dist/docs/MultiBulkActionToolbar/bulk-action.tsx +169 -0
  258. package/dist/docs/MultiBulkActionToolbar/extend-menu-items.tsx +174 -0
  259. package/dist/docs/MultiBulkActionToolbar/maximum-selection.tsx +168 -0
  260. package/dist/docs/MultiBulkActionToolbar/popover-menu.tsx +123 -0
  261. package/dist/docs/MultiBulkActionToolbar/primary-secondary-actions-with-a-divider.tsx +218 -0
  262. package/dist/docs/MultiBulkActionToolbar.md +12 -1048
  263. package/dist/docs/MultiInlineCheckboxFilter.md +6 -878
  264. package/dist/docs/MultiLevelSorting/basic-multi-level-sorting.tsx +93 -0
  265. package/dist/docs/MultiLevelSorting/multi-level-sorting-with-custom-sort-order.tsx +100 -0
  266. package/dist/docs/MultiLevelSorting/multi-level-sorting-with-defined-sort-directions.tsx +96 -0
  267. package/dist/docs/MultiLevelSorting.md +9 -301
  268. package/dist/docs/MultiSelectCheckboxFilter.md +6 -133
  269. package/dist/docs/MultiSelectCollectionFilter.md +6 -138
  270. package/dist/docs/NestedTable/drag-and-drop.tsx +107 -0
  271. package/dist/docs/NestedTable/filters.tsx +192 -0
  272. package/dist/docs/NestedTable/flat-mode-search.tsx +92 -0
  273. package/dist/docs/NestedTable/node-api-usage.tsx +188 -0
  274. package/dist/docs/NestedTable/single-entity.tsx +85 -0
  275. package/dist/docs/NestedTable/various-entities.tsx +138 -0
  276. package/dist/docs/NestedTable.md +6 -814
  277. package/dist/docs/NumberRangeFilter.md +6 -13
  278. package/dist/docs/OperatorFilterPicker.md +6 -13
  279. package/dist/docs/PatternsReactRoute.md +6 -7
  280. package/dist/docs/PatternsReactRouter.md +9 -0
  281. package/dist/docs/PickerModal/multi-select.tsx +97 -0
  282. package/dist/docs/PickerModal/pre-selected-item.tsx +120 -0
  283. package/dist/docs/PickerModal/search-override.tsx +99 -0
  284. package/dist/docs/PickerModal/single-selection.tsx +98 -0
  285. package/dist/docs/PickerModal/with-filter-dropdown.tsx +139 -0
  286. package/dist/docs/PickerModal.md +11 -605
  287. package/dist/docs/PickerStandalone/basic.tsx +49 -0
  288. package/dist/docs/PickerStandalone/createnew.tsx +65 -0
  289. package/dist/docs/PickerStandalone/custom-empty-state.tsx +33 -0
  290. package/dist/docs/PickerStandalone/custom-items.tsx +78 -0
  291. package/dist/docs/PickerStandalone.md +4 -233
  292. package/dist/docs/PrimaryActionButton.md +6 -71
  293. package/dist/docs/PrimaryActions.md +6 -14
  294. package/dist/docs/PrimaryPageButton.md +6 -69
  295. package/dist/docs/RadioGroupFilter.md +6 -19
  296. package/dist/docs/SecondaryActions.md +6 -14
  297. package/dist/docs/SettingsPage/2-columns.tsx +70 -0
  298. package/dist/docs/SettingsPage/basic.tsx +66 -0
  299. package/dist/docs/SettingsPage/error-on-fetch.tsx +65 -0
  300. package/dist/docs/SettingsPage/error-on-save.tsx +59 -0
  301. package/dist/docs/SettingsPage/input-initialization-with-controller.tsx +89 -0
  302. package/dist/docs/SettingsPage/input-initialization-with-usecontroller.tsx +92 -0
  303. package/dist/docs/SettingsPage/loading.tsx +99 -0
  304. package/dist/docs/SettingsPage.md +13 -574
  305. package/dist/docs/SingleSelectFilter/custom-render-items.tsx +57 -0
  306. package/dist/docs/SingleSelectFilter/empty-state.tsx +33 -0
  307. package/dist/docs/SingleSelectFilter/sections.tsx +69 -0
  308. package/dist/docs/SingleSelectFilter/server-data.tsx +53 -0
  309. package/dist/docs/SingleSelectFilter/static-data.tsx +25 -0
  310. package/dist/docs/SingleSelectFilter.md +11 -374
  311. package/dist/docs/Sortable Columns/basic-sortable-column.tsx +90 -0
  312. package/dist/docs/Sortable Columns/custom-sort-order.tsx +94 -0
  313. package/dist/docs/Sortable Columns.md +2 -188
  314. package/dist/docs/Suggestions/carousel-customization.tsx +27 -0
  315. package/dist/docs/Suggestions/carousel-vs-container-layout.tsx +40 -0
  316. package/dist/docs/Suggestions/custom-card-rendering.tsx +99 -0
  317. package/dist/docs/Suggestions/with-transform-function.tsx +56 -0
  318. package/dist/docs/Suggestions.md +4 -230
  319. package/dist/docs/SummaryBar/error.tsx +75 -0
  320. package/dist/docs/SummaryBar/loading-with-error.tsx +96 -0
  321. package/dist/docs/SummaryBar/loading-with-success.tsx +105 -0
  322. package/dist/docs/SummaryBar/loading.tsx +73 -0
  323. package/dist/docs/SummaryBar/success.tsx +73 -0
  324. package/dist/docs/SummaryBar.md +11 -437
  325. package/dist/docs/Table/basic-table.tsx +74 -0
  326. package/dist/docs/Table/cursor-pagination.tsx +61 -0
  327. package/dist/docs/Table/fetch-total-async.tsx +83 -0
  328. package/dist/docs/Table/filters.tsx +152 -0
  329. package/dist/docs/Table/header.tsx +85 -0
  330. package/dist/docs/Table/horizontal-scroll.tsx +90 -0
  331. package/dist/docs/Table/table-disabled-rows.tsx +99 -0
  332. package/dist/docs/Table/using-ambassador.tsx +72 -0
  333. package/dist/docs/Table/using-with-external-data-source.tsx +79 -0
  334. package/dist/docs/Table/virtual.tsx +77 -0
  335. package/dist/docs/Table Sections/demo.tsx +96 -0
  336. package/dist/docs/Table Sections/with-badge.tsx +107 -0
  337. package/dist/docs/Table Sections/with-collapse.tsx +104 -0
  338. package/dist/docs/Table Sections/with-summary.tsx +118 -0
  339. package/dist/docs/Table Sections.md +4 -433
  340. package/dist/docs/Table.md +16 -961
  341. package/dist/docs/TableColumn.md +6 -21
  342. package/dist/docs/TableDragAndDrop/save-order-mode.tsx +85 -0
  343. package/dist/docs/TableDragAndDrop/specific-filters.tsx +135 -0
  344. package/dist/docs/TableDragAndDrop/specific-tabs.tsx +117 -0
  345. package/dist/docs/TableDragAndDrop/table.tsx +83 -0
  346. package/dist/docs/TableDragAndDrop.md +4 -428
  347. package/dist/docs/TableFolders/demo.tsx +101 -0
  348. package/dist/docs/TableFolders/table-folders.tsx +101 -0
  349. package/dist/docs/TableFolders/with-tags.tsx +124 -0
  350. package/dist/docs/TableFolders.md +9 -391
  351. package/dist/docs/TableFoldersState.md +6 -5
  352. package/dist/docs/TableGridSwitch/basic-table-grid-switch.tsx +91 -0
  353. package/dist/docs/TableGridSwitch/custom-columns.tsx +94 -0
  354. package/dist/docs/TableGridSwitch.md +8 -255
  355. package/dist/docs/TableGridSwitchFolders/demo.tsx +103 -0
  356. package/dist/docs/TableGridSwitchFolders/tablegridswitchfolders.tsx +103 -0
  357. package/dist/docs/TableGridSwitchFolders/with-tags.tsx +124 -0
  358. package/dist/docs/TableGridSwitchFolders.md +3 -336
  359. package/dist/docs/TableGridSwitchState.md +6 -6
  360. package/dist/docs/TableState.md +6 -7
  361. package/dist/docs/TableTopNotification/base.tsx +92 -0
  362. package/dist/docs/TableTopNotification/nested-table.tsx +114 -0
  363. package/dist/docs/TableTopNotification.md +8 -235
  364. package/dist/docs/TabsFilter/basic-tabs.tsx +96 -0
  365. package/dist/docs/TabsFilter/disabled-tabs.tsx +100 -0
  366. package/dist/docs/TabsFilter/tabs-with-a-basic-counter.tsx +149 -0
  367. package/dist/docs/TabsFilter/tabs-with-a-counter-badge.tsx +153 -0
  368. package/dist/docs/TabsFilter.md +10 -515
  369. package/dist/docs/Tags/basic.tsx +90 -0
  370. package/dist/docs/Tags/custom-config-for-tags-column.tsx +95 -0
  371. package/dist/docs/Tags/customized-filter-position.tsx +121 -0
  372. package/dist/docs/Tags/customized-tags-column-position.tsx +94 -0
  373. package/dist/docs/Tags/on-table-with-folders.tsx +124 -0
  374. package/dist/docs/Tags.md +5 -534
  375. package/dist/docs/ToolbarCollectionState.md +1 -1
  376. package/dist/docs/ToolbarFilters/2-filters-with-a-title.tsx +162 -0
  377. package/dist/docs/ToolbarFilters/2-filters-without-a-title.tsx +158 -0
  378. package/dist/docs/ToolbarFilters/add-filter-presets-for-future-dates.tsx +108 -0
  379. package/dist/docs/ToolbarFilters/apply-changes.tsx +167 -0
  380. package/dist/docs/ToolbarFilters/custom-label-for-tags.tsx +167 -0
  381. package/dist/docs/ToolbarFilters/customize-filter-display-tags.tsx +163 -0
  382. package/dist/docs/ToolbarFilters/mini-toolbar-with-filters.tsx +121 -0
  383. package/dist/docs/ToolbarFilters/mini-toolbar.tsx +80 -0
  384. package/dist/docs/ToolbarFilters/more-than-2-filters.tsx +164 -0
  385. package/dist/docs/ToolbarFilters/postpone-collection-filter-initial-fetch.tsx +158 -0
  386. package/dist/docs/ToolbarFilters.md +17 -1466
  387. package/dist/docs/ToolbarSecondaryActions/grouped-actions-with-dividers.tsx +91 -0
  388. package/dist/docs/ToolbarSecondaryActions/mixed-buttons-and-dropdown-menus.tsx +80 -0
  389. package/dist/docs/ToolbarSecondaryActions/multiple-actions-with-dropdown-menus.tsx +88 -0
  390. package/dist/docs/ToolbarSecondaryActions/multiple-secondary-action-buttons.tsx +73 -0
  391. package/dist/docs/ToolbarSecondaryActions.md +4 -340
  392. package/dist/docs/ToolbarTitle/title-and-count.tsx +60 -0
  393. package/dist/docs/ToolbarTitle/title-count-and-the-collection-s-item-limit.tsx +60 -0
  394. package/dist/docs/ToolbarTitle/title-subtitle-and-learn-more.tsx +68 -0
  395. package/dist/docs/ToolbarTitle/title.tsx +60 -0
  396. package/dist/docs/ToolbarTitle.md +4 -256
  397. package/dist/docs/Views/basic-view-that-can-be-chosen.tsx +142 -0
  398. package/dist/docs/Views/basic-view.tsx +134 -0
  399. package/dist/docs/Views/view-with-selected-columns.tsx +142 -0
  400. package/dist/docs/Views/views-separated-by-category-in-the-dropdown.tsx +209 -0
  401. package/dist/docs/Views.md +4 -635
  402. package/dist/docs/WidgetsFormProvider.md +9 -0
  403. package/dist/docs/WixPatternsBMProvider.md +9 -0
  404. package/dist/docs/WixPatternsBaseProvider.md +6 -3
  405. package/dist/docs/WixPatternsEssentialsProvider.md +9 -0
  406. package/dist/docs/WixPatternsGizaProvider.md +9 -0
  407. package/dist/docs/WixPatternsProvider.md +9 -0
  408. package/dist/docs/arrayFilter.md +6 -12
  409. package/dist/docs/customFilter.md +6 -19
  410. package/dist/docs/dateRangeFilter.Factories.md +6 -13
  411. package/dist/docs/deleteSecondaryAction.md +6 -13
  412. package/dist/docs/idNameArrayFilter.md +6 -12
  413. package/dist/docs/index.json +170 -96
  414. package/dist/docs/operatorFilter.md +6 -13
  415. package/dist/docs/stringFilter.md +6 -4
  416. package/dist/docs/stringsArrayFilter.md +6 -12
  417. package/dist/docs/useCreateCollection.md +6 -19
  418. package/dist/docs/useEntityPage.md +6 -13
  419. package/dist/docs/useFilterCollection.md +6 -13
  420. package/dist/docs/useGridCollection.md +6 -19
  421. package/dist/docs/useGridFolders.md +6 -4
  422. package/dist/docs/useOptimisticActions/custom-error-handling.tsx +178 -0
  423. package/dist/docs/useOptimisticActions/default-behaviour.tsx +155 -0
  424. package/dist/docs/useOptimisticActions/error-handling-and-retries.tsx +175 -0
  425. package/dist/docs/useOptimisticActions/items-orders.tsx +165 -0
  426. package/dist/docs/useOptimisticActions/revision-handling.tsx +109 -0
  427. package/dist/docs/useOptimisticActions/success-toast-with-undo.tsx +164 -0
  428. package/dist/docs/useOptimisticActions/update-with-query.tsx +195 -0
  429. package/dist/docs/useOptimisticActions.md +13 -1164
  430. package/dist/docs/usePatternsNavigate.md +11 -0
  431. package/dist/docs/usePickerModal.md +6 -16
  432. package/dist/docs/useStaticListFilterCollection.md +6 -4
  433. package/dist/docs/useTableCollection.md +6 -19
  434. package/dist/docs/useTableFolders.md +6 -4
  435. package/dist/docs/useTableGridSwitchCollection.md +6 -19
  436. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  437. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  438. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  439. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  440. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  441. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  442. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  443. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  444. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  445. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  446. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  447. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  448. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  449. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  450. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  451. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  452. package/dist/esm/components/CustomFieldModal/CustomFieldForm.js +4 -3
  453. package/dist/esm/components/CustomFieldModal/CustomFieldForm.js.map +1 -1
  454. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js +2 -2
  455. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
  456. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  457. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  458. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  459. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  460. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  461. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  462. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  463. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  464. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  465. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  466. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  467. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  468. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  469. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  470. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  471. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  472. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  473. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  474. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  475. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  476. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  477. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  478. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  479. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  480. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  481. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  482. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  483. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  484. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  485. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  486. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  487. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  488. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  489. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  490. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  491. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  492. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  493. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  494. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  495. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  496. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  497. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  498. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  499. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  500. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  501. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  502. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  503. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  504. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  505. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  506. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  507. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  508. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  509. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  510. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  511. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  512. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  513. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  514. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  515. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  516. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  517. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  518. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  519. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  520. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  521. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  522. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  523. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  524. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  525. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  526. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  527. package/dist/esm/components/common.st.css.js +2 -2
  528. package/dist/esm/schema/entityPageFieldManagement.js +2 -0
  529. package/dist/esm/schema/entityPageFieldManagement.js.map +1 -1
  530. package/dist/esm/state/CollectionFieldsSourceState.js +2 -0
  531. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  532. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  533. package/dist/esm/state/CustomFields/CustomFieldsPanelState.js +4 -0
  534. package/dist/esm/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
  535. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  536. package/dist/esm/state/ToolbarCollectionState.js +6 -2
  537. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  538. package/dist/esm/styles.global.css +2 -2
  539. package/dist/esm/version.js +1 -1
  540. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  541. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  542. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  543. package/dist/types/components/CustomFieldModal/CustomFieldForm.d.ts.map +1 -1
  544. package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdown.d.ts.map +1 -1
  545. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  546. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
  547. package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
  548. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  549. package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
  550. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  551. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  552. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  553. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  554. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  555. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  556. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  557. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  558. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  559. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  560. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  561. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  562. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  563. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  564. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  565. package/dist/types/schema/entityPageFieldManagement.d.ts.map +1 -1
  566. package/dist/types/state/CollectionFieldsSourceState.d.ts +2 -6
  567. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  568. package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts +2 -4
  569. package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts.map +1 -1
  570. package/dist/types/state/ManageFieldsSource.d.ts +2 -6
  571. package/dist/types/state/ManageFieldsSource.d.ts.map +1 -1
  572. package/dist/types/state/ToolbarCollectionState.d.ts +2 -4
  573. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  574. package/dist/types/version.d.ts +1 -1
  575. package/package.json +7 -7
  576. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  577. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  578. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  579. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  580. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  581. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  582. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  583. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  584. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  585. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  586. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  587. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  588. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  589. package/src/components/CustomFieldModal/CustomFieldForm.tsx +7 -2
  590. package/src/components/CustomFieldModal/CustomFieldTypeDropdown.tsx +3 -1
  591. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  592. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  593. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  594. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  595. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  596. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  597. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  598. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  599. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  600. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  601. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  602. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  603. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  604. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  605. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  606. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  607. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  608. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  609. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  610. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  611. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  612. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  613. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  614. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  615. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  616. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  617. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  618. package/src/components/Fade/Fade.st.css.ts +2 -2
  619. package/src/components/Heading/Heading.st.css.ts +2 -2
  620. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  621. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  622. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  623. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  624. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  625. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  626. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  627. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  628. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  629. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  630. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  631. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  632. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  633. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  634. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  635. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  636. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  637. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  638. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  639. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  640. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  641. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  642. package/src/components/common.st.css.ts +2 -2
  643. package/src/schema/entityPageFieldManagement.ts +2 -0
  644. package/src/state/CollectionFieldsSourceState.ts +4 -5
  645. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  646. package/src/state/CustomFields/CustomFieldsPanelState.ts +9 -5
  647. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  648. package/src/state/ManageFieldsSource.ts +2 -6
  649. package/src/state/ToolbarCollectionState.ts +14 -2
  650. package/src/styles.global.css +2 -2
  651. package/src/version.ts +1 -1
@@ -56,230 +56,14 @@ Create one item optimistically.
56
56
  In this example, click on "Create contact" to see a new contact.
57
57
  The item received in the submit function is temporary (can be without id which created in the server). Ensure you return the created item with all the properties from the server response. This will be the item in the collection at the end of this operation.
58
58
 
59
- ```tsx
60
- import { Avatar } from '@wix/design-system';
61
- import React from 'react';
62
- import { CollectionPage } from '@wix/patterns/page';
63
- import {
64
- Table,
65
- OffsetQuery,
66
- PrimaryActionButton,
67
- useTableCollection,
68
- useOptimisticActions,
69
- } from '@wix/patterns';
70
- import { contacts } from '@wix/crm';
71
-
72
- function CreateOne() {
73
- const state = useTableCollection<contacts.Contact>({
74
- queryName: 'contacts-CreateOne',
75
- itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
76
- fetchData: (query: OffsetQuery) => {
77
- const { limit, offset, search, filters } = query;
78
-
79
- let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
80
-
81
- if (search) {
82
- queryBuilder = queryBuilder.startsWith('info.name.first', search);
83
- }
84
-
85
- return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
86
- items,
87
- total,
88
- }));
89
- },
90
- fetchErrorMessage: () => 'Error fetching contacts',
91
- });
92
-
93
- const collection = state.collection;
94
-
95
- const optimisticActions = useOptimisticActions(collection);
96
-
97
- const _createContact = () => {
98
- const newContact = {
99
- id: new window.Date().toString(),
100
- info: {
101
- name: {
102
- first: 'New',
103
- last: 'Contact',
104
- },
105
- },
106
- };
107
-
108
- optimisticActions.createOne(newContact, {
109
- submit: async (_contacts) => {
110
- const response = (await Promise.all(
111
- _contacts.map((contact) =>
112
- contacts.createContact(contact.info as contacts.ContactInfo),
113
- ),
114
- )) as contacts.CreateContactResponse[];
115
-
116
- return response.map(({ contact }) => contact as contacts.Contact);
117
- },
118
- });
119
- };
120
-
121
- return (
122
- <CollectionPage height="400px">
123
- <CollectionPage.Header title={{ text: 'Contacts' }} />
124
- <CollectionPage.Content>
125
- <Table
126
- state={collection}
127
- primaryActionButton={
128
- <PrimaryActionButton onClick={_createContact}>
129
- Add Contact
130
- </PrimaryActionButton>
131
- }
132
- columns={[
133
- {
134
- title: '',
135
- width: '50px',
136
- render: (contact) => (
137
- <Avatar
138
- name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
139
- imgProps={{ src: contact.info?.picture?.image }}
140
- />
141
- ),
142
- },
143
- {
144
- title: 'Name',
145
- width: '250px',
146
- render: (contact) =>
147
- `${contact.info?.name?.first} ${contact.info?.name?.last}`,
148
- },
149
- {
150
- title: 'Level',
151
- render: (contact) => contact.info?.jobTitle,
152
- },
153
- {
154
- title: 'Last Activity',
155
- render: (contact) =>
156
- contact.lastActivity?.activityDate?.toLocaleString(),
157
- },
158
- ]}
159
- />
160
- </CollectionPage.Content>
161
- </CollectionPage>
162
- );
163
- }
164
- ```
59
+ Example code: read `dist/docs/CollectionOptimisticActions/create-one.tsx`
165
60
 
166
61
  ### Create many
167
62
 
168
63
  Create many items optimatically.
169
64
  In this example, click on "Create contacts" to see several new contacts. Scroll down to see the new contacts
170
65
 
171
- ```tsx
172
- import { Avatar } from '@wix/design-system';
173
- import React from 'react';
174
- import { CollectionPage } from '@wix/patterns/page';
175
- import {
176
- Table,
177
- OffsetQuery,
178
- PrimaryActionButton,
179
- useTableCollection,
180
- useOptimisticActions,
181
- } from '@wix/patterns';
182
- import { contacts } from '@wix/crm';
183
-
184
- function CreateMany() {
185
- const state = useTableCollection<contacts.Contact>({
186
- queryName: 'contacts-CreateMany',
187
- itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
188
- fetchData: (query: OffsetQuery) => {
189
- const { limit, offset, search, filters } = query;
190
-
191
- let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
192
-
193
- if (search) {
194
- queryBuilder = queryBuilder.startsWith('info.name.first', search);
195
- }
196
-
197
- return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
198
- items,
199
- total,
200
- }));
201
- },
202
- fetchErrorMessage: () => 'Error fetching contacts',
203
- });
204
-
205
- const collection = state.collection;
206
-
207
- const optimisticActions = useOptimisticActions(collection);
208
-
209
- const generateContacts = () =>
210
- Array.from({ length: 5 }, (_, index) => ({
211
- id: generateKey(index),
212
- info: {
213
- name: {
214
- first: 'Contact',
215
- last: generateKey(index),
216
- },
217
- },
218
- }));
219
-
220
- const generateKey = (index: number): string =>
221
- new window.Date().toString() + index;
222
-
223
- const _createContacts = () => {
224
- const newContacts = generateContacts();
225
-
226
- optimisticActions.createMany(newContacts, {
227
- submit: async (_contacts) => {
228
- const response = (await Promise.all(
229
- _contacts.map((contact) =>
230
- contacts.createContact(contact.info as contacts.ContactInfo),
231
- ),
232
- )) as contacts.CreateContactResponse[];
233
-
234
- return response.map(({ contact }) => contact as contacts.Contact);
235
- },
236
- });
237
- };
238
-
239
- return (
240
- <CollectionPage height="400px">
241
- <CollectionPage.Header title={{ text: 'Contacts' }} />
242
- <CollectionPage.Content>
243
- <Table
244
- state={collection}
245
- primaryActionButton={
246
- <PrimaryActionButton onClick={_createContacts}>
247
- Add contacts
248
- </PrimaryActionButton>
249
- }
250
- columns={[
251
- {
252
- title: '',
253
- width: '50px',
254
- render: (contact) => (
255
- <Avatar
256
- name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
257
- imgProps={{ src: contact.info?.picture?.image }}
258
- />
259
- ),
260
- },
261
- {
262
- title: 'Name',
263
- width: '250px',
264
- render: (contact) =>
265
- `${contact.info?.name?.first} ${contact.info?.name?.last}`,
266
- },
267
- {
268
- title: 'Level',
269
- render: (contact) => contact.info?.jobTitle,
270
- },
271
- {
272
- title: 'Last Activity',
273
- render: (contact) =>
274
- contact.lastActivity?.activityDate?.toLocaleString(),
275
- },
276
- ]}
277
- />
278
- </CollectionPage.Content>
279
- </CollectionPage>
280
- );
281
- }
282
- ```
66
+ Example code: read `dist/docs/CollectionOptimisticActions/create-many.tsx`
283
67
 
284
68
  ---
285
69
 
@@ -292,243 +76,14 @@ Allows updating items in the collection while submitting the update action to th
292
76
  Update one item in the table.
293
77
  In this example, click on update button to see the new level of contact
294
78
 
295
- ```tsx
296
- import { Avatar } from '@wix/design-system';
297
- import React from 'react';
298
- import { CollectionPage } from '@wix/patterns/page';
299
- import {
300
- Table,
301
- OffsetQuery,
302
- useTableCollection,
303
- useOptimisticActions,
304
- } from '@wix/patterns';
305
- import { contacts } from '@wix/crm';
306
-
307
- function UpdateOne() {
308
- const state = useTableCollection<contacts.Contact>({
309
- queryName: 'contacts-UpdateOne',
310
- itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
311
- fetchData: (query: OffsetQuery) => {
312
- const { limit, offset, search, filters } = query;
313
-
314
- let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
315
-
316
- if (search) {
317
- queryBuilder = queryBuilder.startsWith('info.name.first', search);
318
- }
319
-
320
- return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
321
- items,
322
- total,
323
- }));
324
- },
325
- fetchErrorMessage: () => 'Error fetching contacts',
326
- });
327
-
328
- const collection = state.collection;
329
-
330
- const optimisticActions = useOptimisticActions(collection);
331
-
332
- const _updateContact = (contact: contacts.Contact) => {
333
- const updatedContact = {
334
- ...contact,
335
- info: {
336
- ...contact.info,
337
- jobTitle: 'Ultimate',
338
- },
339
- };
340
-
341
- optimisticActions.updateOne(updatedContact, {
342
- submit: async (_contacts) => {
343
- const response = (await Promise.all(
344
- _contacts.map((contact) =>
345
- contacts.updateContact(
346
- contact._id as string,
347
- contact.info as contacts.ContactInfo,
348
- contact.revision as number,
349
- ),
350
- ),
351
- )) as contacts.UpdateContactResponse[];
352
-
353
- return response.map(({ contact }) => contact as contacts.Contact);
354
- },
355
- });
356
- };
357
-
358
- return (
359
- <CollectionPage height="400px">
360
- <CollectionPage.Header title={{ text: 'Contacts' }} />
361
- <CollectionPage.Content>
362
- <Table
363
- state={collection}
364
- columns={[
365
- {
366
- title: '',
367
- width: '50px',
368
- render: (contact) => (
369
- <Avatar
370
- name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
371
- imgProps={{ src: contact.info?.picture?.image }}
372
- />
373
- ),
374
- },
375
- {
376
- title: 'Name',
377
- width: '250px',
378
- render: (contact) =>
379
- `${contact.info?.name?.first} ${contact.info?.name?.last}`,
380
- },
381
- {
382
- title: 'Level',
383
- render: (contact) => contact.info?.jobTitle,
384
- },
385
- {
386
- title: 'Last Activity',
387
- render: (contact) =>
388
- contact.lastActivity?.activityDate?.toLocaleString(),
389
- },
390
- ]}
391
- actionCell={(contact) => ({
392
- primaryAction: {
393
- text: 'Update to Ultimate',
394
- onClick: () => {
395
- _updateContact(contact);
396
- },
397
- },
398
- })}
399
- />
400
- </CollectionPage.Content>
401
- </CollectionPage>
402
- );
403
- }
404
- ```
79
+ Example code: read `dist/docs/CollectionOptimisticActions/update-one.tsx`
405
80
 
406
81
  ### Update many
407
82
 
408
83
  Update many items optimatically by using bulk selection.
409
84
  In this example, click on all items and see only 2 items are selected because we use `maxSelection`, and only these 2 are been updated
410
85
 
411
- ```tsx
412
- import { Avatar } from '@wix/design-system';
413
- import React from 'react';
414
- import { CollectionPage } from '@wix/patterns/page';
415
- import {
416
- BulkActionButton,
417
- BulkActionToolbar,
418
- Table,
419
- OffsetQuery,
420
- useTableCollection,
421
- useOptimisticActions,
422
- } from '@wix/patterns';
423
- import { contacts } from '@wix/crm';
424
-
425
- function UpdateMany() {
426
- const state = useTableCollection<contacts.Contact>({
427
- queryName: 'contacts-UpdateMany',
428
- itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
429
- fetchData: (query: OffsetQuery) => {
430
- const { limit, offset, search, filters } = query;
431
-
432
- let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
433
-
434
- if (search) {
435
- queryBuilder = queryBuilder.startsWith('info.name.first', search);
436
- }
437
-
438
- return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
439
- items,
440
- total,
441
- }));
442
- },
443
- fetchErrorMessage: () => 'Error fetching contacts',
444
- });
445
-
446
- const collection = state.collection;
447
-
448
- const optimisticActions = useOptimisticActions(collection);
449
-
450
- const _updateContacts = (contactsToUpdate: contacts.Contact[]) => {
451
- const updatedContacts = contactsToUpdate.map((c) => ({
452
- ...c,
453
- info: {
454
- ...c.info,
455
- jobTitle: 'Ultimate',
456
- },
457
- }));
458
-
459
- optimisticActions.updateMany(updatedContacts, {
460
- successToast: `${contactsToUpdate.length} contacts updated`,
461
- submit: async (_contacts) => {
462
- const response = (await Promise.all(
463
- _contacts.map((contact) =>
464
- contacts.updateContact(
465
- contact._id as string,
466
- contact.info as contacts.ContactInfo,
467
- contact.revision as number,
468
- ),
469
- ),
470
- )) as contacts.UpdateContactResponse[];
471
-
472
- return response.map(({ contact }) => contact as contacts.Contact);
473
- },
474
- });
475
- };
476
-
477
- return (
478
- <CollectionPage height="400px">
479
- <CollectionPage.Header title={{ text: 'Contacts' }} />
480
- <CollectionPage.Content>
481
- <Table
482
- state={collection}
483
- columns={[
484
- {
485
- title: '',
486
- width: '50px',
487
- render: (contact) => (
488
- <Avatar
489
- name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
490
- imgProps={{ src: contact.info?.picture?.image }}
491
- />
492
- ),
493
- },
494
- {
495
- title: 'Name',
496
- width: '250px',
497
- render: (contact) =>
498
- `${contact.info?.name?.first} ${contact.info?.name?.last}`,
499
- },
500
- {
501
- title: 'Level',
502
- render: (contact) => contact.info?.jobTitle,
503
- },
504
- {
505
- title: 'Last Activity',
506
- render: (contact) =>
507
- contact.lastActivity?.activityDate?.toLocaleString(),
508
- },
509
- ]}
510
- showSelection
511
- maxSelection={2}
512
- bulkActionToolbar={({ selectedValues, clearSelection, total }) => (
513
- <BulkActionToolbar
514
- actionButton={
515
- <BulkActionButton
516
- onClick={() => {
517
- _updateContacts(selectedValues);
518
- clearSelection();
519
- }}
520
- >
521
- Update to Ultimate
522
- </BulkActionButton>
523
- }
524
- />
525
- )}
526
- />
527
- </CollectionPage.Content>
528
- </CollectionPage>
529
- );
530
- }
531
- ```
86
+ Example code: read `dist/docs/CollectionOptimisticActions/update-many.tsx`
532
87
 
533
88
  ### Update all
534
89
 
@@ -536,150 +91,7 @@ Update all items optimatically by using bulk selection.
536
91
  `updateAll` is for the use case when all items that match the current filtering should be updated, but naturally not all of them are currently visible in the table (because of pagination)
537
92
  In this example, click one time on several items and one time on all items and see the updated items
538
93
 
539
- ```tsx
540
- import { Avatar } from '@wix/design-system';
541
- import React from 'react';
542
- import { CollectionPage } from '@wix/patterns/page';
543
- import {
544
- BulkActionButton,
545
- BulkActionToolbar,
546
- Table,
547
- OffsetQuery,
548
- useTableCollection,
549
- useOptimisticActions,
550
- } from '@wix/patterns';
551
- import {
552
- bulkUpdateContacts,
553
- queryContacts,
554
- updateContact,
555
- } from '@wix/ambassador-contacts-v4-contact/http';
556
- import {
557
- Contact,
558
- ContactInfo,
559
- UpdateContactRequest,
560
- } from '@wix/ambassador-contacts-v4-contact/types';
561
- import { useHttpClient } from '@wix/yoshi-flow-bm';
562
-
563
- function UpdateAll() {
564
- const httpClient = useHttpClient();
565
-
566
- const state = useTableCollection<Contact>({
567
- queryName: 'contacts-UpdateAll',
568
- fetchData: (query: OffsetQuery) => {
569
- const { limit, offset, search, filters } = query;
570
- return httpClient
571
- .request(
572
- queryContacts({
573
- query: { paging: { limit, offset }, filter: filters },
574
- search,
575
- }),
576
- )
577
- .then(({ data: { contacts = [], pagingMetadata } }) => ({
578
- items: contacts,
579
- total: pagingMetadata?.total,
580
- }));
581
- },
582
- itemKey: (item) => item.id as string,
583
- itemName: (item) => item.name as string,
584
- fetchErrorMessage: () => 'Error fetching contacts',
585
- });
586
-
587
- const collection = state.collection;
588
-
589
- const optimisticActions = useOptimisticActions(collection);
590
-
591
- const _updateContacts = (
592
- contacts: Contact[],
593
- { allSelected, total }: { allSelected: boolean; total: number },
594
- ) => {
595
- if (allSelected) {
596
- const newLevelContact = { level: 'Legendary' } as Partial<Contact>;
597
- optimisticActions.updateAll(newLevelContact, {
598
- successToast: `${total} contacts changed`,
599
- submit: () =>
600
- httpClient.request(
601
- bulkUpdateContacts({
602
- info: newLevelContact as ContactInfo,
603
- }),
604
- ),
605
- });
606
- } else {
607
- const updatedContacts = contacts.map((c) => ({
608
- ...c,
609
- level: 'Legendary',
610
- }));
611
-
612
- optimisticActions.updateMany(updatedContacts, {
613
- successToast: `${contacts.length} contacts updated`,
614
- submit: (contacts) =>
615
- Promise.all(
616
- contacts.map((contact) =>
617
- httpClient.request(
618
- updateContact(contact as UpdateContactRequest),
619
- ),
620
- ),
621
- ),
622
- });
623
- }
624
- };
625
-
626
- return (
627
- <CollectionPage height="400px">
628
- <CollectionPage.Header title={{ text: 'Contacts' }} />
629
- <CollectionPage.Content>
630
- <Table
631
- state={collection}
632
- columns={[
633
- {
634
- title: '',
635
- width: '50px',
636
- render: (contact) => (
637
- <Avatar name={contact.name} imgProps={{ src: contact.image }} />
638
- ),
639
- },
640
- {
641
- title: 'Name',
642
- width: '250px',
643
- render: (contact) => contact.name,
644
- },
645
- {
646
- title: 'Level',
647
- render: (contact) => contact.level,
648
- },
649
- {
650
- title: 'Created Date',
651
- render: (contact) => contact.createdDate?.toDateString(),
652
- },
653
- ]}
654
- showSelection
655
- bulkActionToolbar={({
656
- selectedValues,
657
- clearSelection,
658
- allSelected,
659
- total,
660
- }) => (
661
- <BulkActionToolbar
662
- actionButton={
663
- <BulkActionButton
664
- onClick={() => {
665
- _updateContacts(selectedValues, {
666
- allSelected,
667
- total,
668
- });
669
- clearSelection();
670
- }}
671
- >
672
- Update to Legendary
673
- </BulkActionButton>
674
- }
675
- />
676
- )}
677
- />
678
- </CollectionPage.Content>
679
- </CollectionPage>
680
- );
681
- }
682
- ```
94
+ Example code: read `dist/docs/CollectionOptimisticActions/update-all.tsx`
683
95
 
684
96
  ---
685
97
 
@@ -691,352 +103,19 @@ Allows removing items from the collection while submitting the delete action to
691
103
 
692
104
  Delete one item optimatically.
693
105
 
694
- ```tsx
695
- import { Avatar } from '@wix/design-system';
696
- import React from 'react';
697
- import { CollectionPage } from '@wix/patterns/page';
698
- import {
699
- Table,
700
- OffsetQuery,
701
- useTableCollection,
702
- useOptimisticActions,
703
- } from '@wix/patterns';
704
- import { contacts } from '@wix/crm';
705
-
706
- function DeleteOne() {
707
- const state = useTableCollection<contacts.Contact>({
708
- queryName: 'contacts-DeleteOne',
709
- itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
710
- fetchData: (query: OffsetQuery) => {
711
- const { limit, offset, search, filters } = query;
712
-
713
- let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
714
-
715
- if (search) {
716
- queryBuilder = queryBuilder.startsWith('info.name.first', search);
717
- }
718
-
719
- return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
720
- items,
721
- total,
722
- }));
723
- },
724
- fetchErrorMessage: () => 'Error fetching contacts',
725
- });
726
-
727
- const collection = state.collection;
728
-
729
- const optimisticActions = useOptimisticActions(collection);
730
-
731
- const _deleteContact = (contact: contacts.Contact) => {
732
- optimisticActions.deleteOne(contact, {
733
- submit: async (_contacts) =>
734
- Promise.all(
735
- _contacts.map((contact) =>
736
- contacts.deleteContact(contact._id as string),
737
- ),
738
- ),
739
- });
740
- };
741
-
742
- return (
743
- <CollectionPage height="400px">
744
- <CollectionPage.Header title={{ text: 'Contacts' }} />
745
- <CollectionPage.Content>
746
- <Table
747
- state={collection}
748
- columns={[
749
- {
750
- title: '',
751
- width: '50px',
752
- render: (contact) => (
753
- <Avatar
754
- name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
755
- imgProps={{ src: contact.info?.picture?.image }}
756
- />
757
- ),
758
- },
759
- {
760
- title: 'Name',
761
- width: '250px',
762
- render: (contact) =>
763
- `${contact.info?.name?.first} ${contact.info?.name?.last}`,
764
- },
765
- {
766
- title: 'Level',
767
- render: (contact) => contact.info?.jobTitle,
768
- },
769
- {
770
- title: 'Last Activity',
771
- render: (contact) =>
772
- contact.lastActivity?.activityDate?.toLocaleString(),
773
- },
774
- ]}
775
- showSelection
776
- actionCell={(contact) => ({
777
- primaryAction: {
778
- text: 'Delete',
779
- onClick: () => {
780
- _deleteContact(contact);
781
- },
782
- },
783
- })}
784
- />
785
- </CollectionPage.Content>
786
- </CollectionPage>
787
- );
788
- }
789
- ```
106
+ Example code: read `dist/docs/CollectionOptimisticActions/delete-one.tsx`
790
107
 
791
108
  ### Delete many
792
109
 
793
110
  Delete many items optimatically by using bulk selection.
794
111
 
795
- ```tsx
796
- import { Avatar } from '@wix/design-system';
797
- import React from 'react';
798
- import { CollectionPage } from '@wix/patterns/page';
799
- import {
800
- BulkActionButton,
801
- BulkActionToolbar,
802
- Table,
803
- OffsetQuery,
804
- useTableCollection,
805
- useOptimisticActions,
806
- } from '@wix/patterns';
807
- import { contacts } from '@wix/crm';
808
-
809
- function DeleteMany() {
810
- const state = useTableCollection<contacts.Contact>({
811
- queryName: 'contacts-DeleteMany',
812
- itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
813
- fetchData: (query: OffsetQuery) => {
814
- const { limit, offset, search, filters } = query;
815
-
816
- let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
817
-
818
- if (search) {
819
- queryBuilder = queryBuilder.startsWith('info.name.first', search);
820
- }
821
-
822
- return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
823
- items,
824
- total,
825
- }));
826
- },
827
- fetchErrorMessage: () => 'Error fetching contacts',
828
- });
829
-
830
- const collection = state.collection;
831
-
832
- const optimisticActions = useOptimisticActions(collection);
833
-
834
- const _deleteContacts = (_contacts: contacts.Contact[]) => {
835
- optimisticActions.deleteMany<void[]>(_contacts, {
836
- successToast: `${_contacts.length} contacts deleted`,
837
- submit: async (contactsToDelete) =>
838
- Promise.all(
839
- contactsToDelete.map((contact) =>
840
- contacts.deleteContact(contact._id as string),
841
- ),
842
- ),
843
- });
844
- };
845
-
846
- return (
847
- <CollectionPage height="400px">
848
- <CollectionPage.Header title={{ text: 'Contacts' }} />
849
- <CollectionPage.Content>
850
- <Table
851
- state={collection}
852
- columns={[
853
- {
854
- title: '',
855
- width: '50px',
856
- render: (contact) => (
857
- <Avatar
858
- name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
859
- imgProps={{ src: contact.info?.picture?.image }}
860
- />
861
- ),
862
- },
863
- {
864
- title: 'Name',
865
- width: '250px',
866
- render: (contact) =>
867
- `${contact.info?.name?.first} ${contact.info?.name?.last}`,
868
- },
869
- {
870
- title: 'Level',
871
- render: (contact) => contact.info?.jobTitle,
872
- },
873
- {
874
- title: 'Last Activity',
875
- render: (contact) =>
876
- contact.lastActivity?.activityDate?.toLocaleString(),
877
- },
878
- ]}
879
- showSelection
880
- maxSelection={2}
881
- bulkActionToolbar={({ selectedValues, clearSelection }) => (
882
- <BulkActionToolbar
883
- actionButton={
884
- <BulkActionButton
885
- onClick={() => {
886
- _deleteContacts(selectedValues);
887
- clearSelection();
888
- }}
889
- >
890
- Delete
891
- </BulkActionButton>
892
- }
893
- />
894
- )}
895
- />
896
- </CollectionPage.Content>
897
- </CollectionPage>
898
- );
899
- }
900
- ```
112
+ Example code: read `dist/docs/CollectionOptimisticActions/delete-many.tsx`
901
113
 
902
114
  ### Delete all
903
115
 
904
116
  Delete all items optimatically by using bulk selection.
905
117
 
906
- ```tsx
907
- import { Avatar } from '@wix/design-system';
908
- import React from 'react';
909
- import { CollectionPage } from '@wix/patterns/page';
910
- import {
911
- BulkActionButton,
912
- BulkActionToolbar,
913
- Table,
914
- OffsetQuery,
915
- useTableCollection,
916
- useOptimisticActions,
917
- } from '@wix/patterns';
918
- import {
919
- deleteContact,
920
- queryContacts,
921
- bulkDeleteContacts,
922
- } from '@wix/ambassador-contacts-v4-contact/http';
923
- import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
924
- import { useHttpClient } from '@wix/yoshi-flow-bm';
925
-
926
- function DeleteAll() {
927
- const httpClient = useHttpClient();
928
-
929
- const state = useTableCollection<Contact>({
930
- queryName: 'contacts-DeleteAll',
931
- fetchData: (query: OffsetQuery) => {
932
- const { limit, offset, search, filters } = query;
933
- return httpClient
934
- .request(
935
- queryContacts({
936
- query: { paging: { limit, offset }, filter: filters },
937
- search,
938
- }),
939
- )
940
- .then(({ data: { contacts = [], pagingMetadata } }) => ({
941
- items: contacts,
942
- total: pagingMetadata?.total,
943
- }));
944
- },
945
- itemKey: (item) => item.id as string,
946
- itemName: (item) => item.name as string,
947
- fetchErrorMessage: () => 'Error fetching contacts',
948
- });
949
-
950
- const collection = state.collection;
951
-
952
- const optimisticActions = useOptimisticActions(collection);
953
-
954
- const _deleteContacts = (
955
- contacts: Contact[],
956
- { allSelected, total }: { allSelected: boolean; total: number },
957
- ) => {
958
- if (allSelected) {
959
- optimisticActions.deleteAll({
960
- successToast: `${total} contacts deleted`,
961
- submit: () => {
962
- try {
963
- return httpClient.request(bulkDeleteContacts({} as any));
964
- } catch (error) {
965
- console.log(error);
966
- }
967
-
968
- return Promise.resolve() as any;
969
- },
970
- });
971
- } else {
972
- optimisticActions.deleteMany(contacts, {
973
- successToast: `${contacts.length} contacts deleted`,
974
- submit: (contactsToDelete) =>
975
- Promise.all(
976
- contactsToDelete.map((contactToDelete) =>
977
- deleteContact({
978
- contactId: contactToDelete.id as string,
979
- }),
980
- ),
981
- ),
982
- });
983
- }
984
- };
985
-
986
- return (
987
- <CollectionPage height="400px">
988
- <CollectionPage.Header title={{ text: 'Contacts' }} />
989
- <CollectionPage.Content>
990
- <Table
991
- state={collection}
992
- columns={[
993
- {
994
- title: '',
995
- width: '50px',
996
- render: (contact) => (
997
- <Avatar name={contact.name} imgProps={{ src: contact.image }} />
998
- ),
999
- },
1000
- {
1001
- title: 'Name',
1002
- width: '250px',
1003
- render: (contact) => contact.name,
1004
- },
1005
- {
1006
- title: 'Level',
1007
- render: (contact) => contact.level,
1008
- },
1009
- {
1010
- title: 'Last Seen',
1011
- render: (contact) => contact.lastSeen?.toLocaleString(),
1012
- },
1013
- ]}
1014
- showSelection
1015
- bulkActionToolbar={({
1016
- selectedValues,
1017
- clearSelection,
1018
- allSelected,
1019
- total,
1020
- }) => (
1021
- <BulkActionToolbar
1022
- actionButton={
1023
- <BulkActionButton
1024
- onClick={() => {
1025
- _deleteContacts(selectedValues, { allSelected, total });
1026
- clearSelection();
1027
- }}
1028
- >
1029
- Delete
1030
- </BulkActionButton>
1031
- }
1032
- />
1033
- )}
1034
- />
1035
- </CollectionPage.Content>
1036
- </CollectionPage>
1037
- );
1038
- }
1039
- ```
118
+ Example code: read `dist/docs/CollectionOptimisticActions/delete-all.tsx`
1040
119
 
1041
120
  ## API
1042
121
 
@@ -1061,14 +140,10 @@ The params contains the following part of these props:
1061
140
 
1062
141
  ### Props
1063
142
 
1064
- | Prop | Type | Required | Default | Description |
1065
- |------|------|----------|---------|-------------|
1066
- | `createOne` | `(item: T, params: CreateManyParams<T>) => void` | Yes | - | Creates a single item in the collection. |
1067
- | `createMany` | `(items: T[], params: CreateManyParams<T>) => void` | Yes | - | Creates multiple items in the collection. |
1068
- | `updateMany` | `<R>(items: T[], params: UpdateManyParams<T, R>) => void` | Yes | - | Updates multiple items in the collection. @param items - The items to update. @param params - Additional parameters for the update operation. |
1069
- | `updateOne` | `<R>(item: T, params: UpdateManyParams<T, R>) => void` | Yes | - | Updates a single item in the collection. @param item - The item to update. @param params - Additional parameters for the operation. |
1070
- | `updateAll` | `{ <R>(patchOrFn: (item: T) => Partial<T>, params: UpdateAllParams<R>): void; <R>(patch: Partial<T>, params: UpdateAllParams<R>): void; }` | Yes | - | > `updateAll(fn)` API is not recommended as it's not possible to calculate "optimistic total", prefer updateAll(patchObject) API if possible. Updates all items in the collection based on a function or a patch object. Updates all items in the collection based on a patch object. @param patchOrFn - A function or a patch object to apply to each item. @param params - Additional parameters for the operation. @param patch - A patch object to apply to each item. @param params - Additional parameters for the operation. |
1071
- | `deleteMany` | `<R>(items: T[], params: DeleteManyParams<T, R>) => void` | Yes | - | Deletes multiple items from the collection. @param items - An array of items to delete. @param params - Additional parameters for the delete operation. |
1072
- | `deleteOne` | `<R>(item: T, params: DeleteManyParams<T, R>) => void` | Yes | - | Deletes a single item from the collection. @param item - The item to delete. @param params - Additional parameters for the operation. |
1073
- | `deleteAll` | `<R>(params: UpdateAllParams<R>) => void` | Yes | - | Deletes all items from the collection. @param params - Additional parameters for the operation. |
143
+ Read `dist/dts-bundle/components/CollectionOptimisticActions.d.ts` for `CollectionOptimisticActions`'s full prop list, with types and
144
+ descriptions. They are not repeated here, so the bundle is the single source of truth.
145
+
146
+ A one-line stub in that file is an answer, not a truncation: an empty body with a
147
+ "Produced by" note means you get the value from that hook or factory rather than
148
+ constructing it. `dist/dts-bundle/index.json` maps every name to its bundle path.
1074
149