@wix/patterns 1.452.0 → 1.454.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 (363) 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/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
  10. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
  11. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  12. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  14. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  16. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  22. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  24. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  29. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  30. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  31. package/dist/cjs/components/EditableTable/EditableCell.st.css +7 -0
  32. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  33. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  34. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  35. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  36. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  37. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  38. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  39. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  40. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  41. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  45. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  46. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  47. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  48. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  49. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  50. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  51. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  52. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  53. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  54. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  55. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  56. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  57. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  58. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  59. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  60. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  61. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  62. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  63. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  64. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  65. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  66. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  67. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  68. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  69. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  70. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  71. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  72. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  73. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  74. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  75. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  76. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  77. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  78. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  79. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  80. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  81. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  82. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  83. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  84. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  85. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  86. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  87. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  88. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  89. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  90. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  91. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  92. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  93. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  94. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  95. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  96. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  97. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  98. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  99. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  100. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  101. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  102. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  103. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  104. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  105. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  106. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  107. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  108. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  109. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  110. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  111. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  112. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  113. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  114. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  115. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  116. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  117. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  118. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  119. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  120. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  121. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  122. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
  123. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  124. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  125. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  126. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  127. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  128. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  129. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  130. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  131. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  132. package/dist/cjs/components/common.st.css.js +4 -4
  133. package/dist/cjs/components/common.st.css.js.map +1 -1
  134. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  135. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  136. package/dist/cjs/state/EditableTable/CellValueState.js +57 -9
  137. package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
  138. package/dist/cjs/state/EditableTable/EditableTableState.js +10 -0
  139. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  140. package/dist/cjs/state/EditableTable/MutationState.js +1 -0
  141. package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
  142. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  143. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  144. package/dist/cjs/styles.global.css +2 -2
  145. package/dist/cjs/version.js +1 -1
  146. package/dist/cjs/version.js.map +1 -1
  147. package/dist/docs/ActionCellProps.md +62 -0
  148. package/dist/docs/MultiAutoInlineCheckboxFilter.md +1 -1
  149. package/dist/docs/MultiInlineCheckboxFilter.md +1 -1
  150. package/dist/docs/bulkActionModal.md +70 -21
  151. package/dist/docs/index.json +42 -42
  152. package/dist/docs/useAmbassadorCollection.md +72 -16
  153. package/dist/docs/useCollection.md +29 -13
  154. package/dist/docs/useEntity.md +29 -7
  155. package/dist/docs/useEntityPage.md +48 -23
  156. package/dist/docs/useEntityPageContext.md +15 -3
  157. package/dist/docs/useNestedTable.md +81 -26
  158. package/dist/docs/usePickerContent.md +26 -12
  159. package/dist/docs/usePickerModal.md +98 -16
  160. package/dist/docs/usePickerStandalone.md +49 -19
  161. package/dist/docs/useSettingsPage.md +43 -22
  162. package/dist/docs/useSettingsPageContext.md +14 -3
  163. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  164. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  165. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  166. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  167. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  168. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  169. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  170. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  171. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  172. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  173. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  174. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  175. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  176. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  177. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  178. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  179. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  180. package/dist/esm/components/EditableTable/EditableCell.st.css +7 -0
  181. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  182. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  183. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  184. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  185. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  186. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  187. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  188. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  189. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  190. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  191. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  192. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  193. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  194. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  195. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  196. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  197. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  198. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  199. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  200. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  201. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  202. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  203. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  204. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  205. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  206. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  207. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  208. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  209. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  210. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  211. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  212. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  213. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  214. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  215. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  216. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  217. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  218. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  219. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  220. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  221. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  222. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  223. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  224. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  225. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  226. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  227. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  228. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  229. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  230. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  231. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  232. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  233. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  234. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  235. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  236. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  237. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  238. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  239. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  240. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  241. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  242. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  243. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  244. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  245. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  246. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  247. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  248. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  249. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  250. package/dist/esm/components/common.st.css.js +2 -2
  251. package/dist/esm/components/common.st.css.js.map +1 -1
  252. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  253. package/dist/esm/state/EditableTable/CellValueState.js +55 -8
  254. package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
  255. package/dist/esm/state/EditableTable/EditableTableState.js +8 -0
  256. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  257. package/dist/esm/state/EditableTable/MutationState.js +1 -0
  258. package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
  259. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  260. package/dist/esm/styles.global.css +2 -2
  261. package/dist/esm/version.js +1 -1
  262. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  263. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  264. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  265. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  266. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  267. package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
  268. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  269. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  270. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  271. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  272. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  273. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  274. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  275. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  276. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  277. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  278. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  279. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  280. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  281. package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
  282. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  283. package/dist/types/components/common.st.css.d.ts.map +1 -1
  284. package/dist/types/state/EditableTable/CellValueState.d.ts +10 -5
  285. package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
  286. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
  287. package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
  288. package/dist/types/version.d.ts +1 -1
  289. package/package.json +7 -7
  290. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  291. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  292. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  293. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  294. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  295. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  296. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  297. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  298. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  299. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  300. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  301. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  302. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  303. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  304. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  305. package/src/components/EditableTable/EditableCell.st.css +7 -0
  306. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  307. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  308. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  309. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  310. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  311. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  312. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  313. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  314. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  315. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  316. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  317. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  318. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  319. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  320. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  321. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  322. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  323. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  324. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  325. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  326. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  327. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  328. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  329. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  330. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  331. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  332. package/src/components/Fade/Fade.st.css.ts +2 -2
  333. package/src/components/Heading/Heading.st.css.ts +2 -2
  334. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  335. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  336. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  337. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  338. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  339. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  340. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  341. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  342. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  343. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  344. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  345. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  346. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  347. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  348. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  349. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  350. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  351. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  352. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  353. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  354. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  355. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  356. package/src/components/common.st.css.ts +2 -2
  357. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  358. package/src/state/EditableTable/CellValueState.ts +57 -8
  359. package/src/state/EditableTable/EditableTableState.ts +10 -0
  360. package/src/state/EditableTable/MutationState.ts +2 -4
  361. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  362. package/src/styles.global.css +2 -2
  363. package/src/version.ts +1 -1
@@ -24,21 +24,43 @@ const entity = useEntity(state);
24
24
  ### Example
25
25
 
26
26
  ```tsx
27
- function MyEntityPage({ state }) {
28
- const entity = useEntity(state);
27
+ import React from 'react';
28
+ import { EntityPage, useEntity, useEntityPage } from '@wix/patterns';
29
+ import { useForm } from '@wix/patterns/form';
30
+
31
+ interface Shift {
32
+ id?: string;
33
+ name?: string;
34
+ }
35
+
36
+ interface ShiftFormFields {
37
+ name?: string;
38
+ }
39
+
40
+ function ShiftPage() {
41
+ const form = useForm<ShiftFormFields>();
42
+
43
+ const state = useEntityPage<Shift, ShiftFormFields>({
44
+ parentPageId: '',
45
+ form,
46
+ fetch: () => Promise.resolve({ entity: { id: '1', name: 'Morning' } }),
47
+ onSave: () => Promise.resolve({ updatedEntity: { id: '1' } }),
48
+ });
49
+
50
+ // `entity` is `Shift | undefined` — undefined until the fetch resolves.
51
+ const entity = useEntity<Shift, ShiftFormFields>(state);
29
52
 
30
53
  return (
31
54
  <EntityPage state={state}>
32
- <EntityPage.Header
33
- title={{ text: entity?.name ?? "Loading..." }}
34
- subtitle={entity?.description}
35
- />
55
+ <EntityPage.Header title={{ text: entity?.name ?? 'Loading…' }} />
36
56
  <EntityPage.Content>
37
- {/* Card.Content receives the entity automatically */}
57
+ <EntityPage.MainContent>...</EntityPage.MainContent>
38
58
  </EntityPage.Content>
39
59
  </EntityPage>
40
60
  );
41
61
  }
62
+
63
+ export default ShiftPage;
42
64
  ```
43
65
 
44
66
  ### Returns
@@ -9,34 +9,59 @@
9
9
  A React hook that creates the state for an [`EntityPage`](./?path=/story/base-components-pages-entity-page--entitypage). Configure entity fetching, save flow, form integration, toasts, and navigation. The returned [`EntityPageState`](./?path=/story/base-components-pages-entity-page-state--entitypagestate) is passed to `<EntityPage state={state}>`.
10
10
 
11
11
  ```tsx
12
- import { useEntityPage } from '@wix/patterns/page';
12
+ import { useEntityPage } from '@wix/patterns';
13
13
  ```
14
14
 
15
15
  ### Example
16
16
 
17
17
  ```tsx
18
- import { useEntityPage, EntityPage } from '@wix/patterns/page';
19
- import { useForm } from 'react-hook-form';
20
-
21
- const form = useForm({ defaultValues: { name: '' } });
22
-
23
- const state = useEntityPage({
24
- fetch: () => api.getItem(itemId).then((entity) => ({ entity })),
25
- onSave: ({ submittedValues }) =>
26
- api.updateItem(itemId, submittedValues).then((updatedEntity) => ({ updatedEntity })),
27
- form,
28
- container,
29
- parentPath: '/my-collection',
30
- });
31
-
32
- return (
33
- <EntityPage state={state}>
34
- <EntityPage.Header title={{ text: 'Edit Item' }} />
35
- <EntityPage.Content>
36
- <EntityPage.MainContent>...</EntityPage.MainContent>
37
- </EntityPage.Content>
38
- </EntityPage>
39
- );
18
+ import React from 'react';
19
+ import { EntityPage, useEntityPage } from '@wix/patterns';
20
+ import { useForm } from '@wix/patterns/form';
21
+
22
+ interface Shift {
23
+ id?: string;
24
+ name?: string;
25
+ }
26
+
27
+ interface ShiftFormFields {
28
+ name?: string;
29
+ }
30
+
31
+ const api = {
32
+ getShift: (id: string): Promise<Shift> =>
33
+ Promise.resolve({ id, name: 'Morning' }),
34
+ updateShift: (id: string, values: Partial<Shift>): Promise<Shift> =>
35
+ Promise.resolve({ id, ...values }),
36
+ };
37
+
38
+ function EditShift({ shiftId }: { shiftId: string }) {
39
+ const form = useForm<ShiftFormFields>({ defaultValues: { name: '' } });
40
+
41
+ const state = useEntityPage<Shift, ShiftFormFields>({
42
+ parentPageId: '',
43
+ parentPath: '/shifts',
44
+ form,
45
+ fetch: () => api.getShift(shiftId).then((entity) => ({ entity })),
46
+ // `onSave` receives `widgetsFormData` — what the widget fields
47
+ // contributed. The values the user typed come from the form itself.
48
+ onSave: ({ widgetsFormData }) =>
49
+ api
50
+ .updateShift(shiftId, { ...form.getValues(), ...widgetsFormData })
51
+ .then((updatedEntity) => ({ updatedEntity })),
52
+ });
53
+
54
+ return (
55
+ <EntityPage state={state}>
56
+ <EntityPage.Header title={{ text: 'Edit Shift' }} />
57
+ <EntityPage.Content>
58
+ <EntityPage.MainContent>...</EntityPage.MainContent>
59
+ </EntityPage.Content>
60
+ </EntityPage>
61
+ );
62
+ }
63
+
64
+ export default EditShift;
40
65
  ```
41
66
 
42
67
  ### Returns
@@ -15,11 +15,23 @@ import { useEntityPageContext } from '@wix/patterns/page';
15
15
  ### Example
16
16
 
17
17
  ```tsx
18
- function MyCardContent() {
19
- const state = useEntityPageContext();
20
- // Access state.entity, state.form, etc.
18
+ import React from 'react';
19
+ import { useEntityPageContext } from '@wix/patterns';
20
+
21
+ interface Shift {
22
+ id?: string;
23
+ name?: string;
24
+ }
25
+
26
+ // Rendered inside `<EntityPage>`, which provides the state. Pass the entity
27
+ // type so `state.entity` is typed rather than `unknown`.
28
+ function ShiftCardContent() {
29
+ const state = useEntityPageContext<Shift>();
30
+
21
31
  return <div>{state.entity?.name}</div>;
22
32
  }
33
+
34
+ export default ShiftCardContent;
23
35
  ```
24
36
 
25
37
  ### Returns
@@ -17,36 +17,91 @@ import { useNestedTable } from '@wix/patterns';
17
17
  ### Example
18
18
 
19
19
  ```tsx
20
- import { useNestedTable, NestedTable, createNestedTableLevel } from '@wix/patterns';
21
-
22
- const columns = [
23
- { id: 'name', title: 'Name' },
24
- { id: 'status', title: 'Status' },
25
- ];
26
-
27
- const state = useNestedTable({
28
- columns,
29
- mainColumn: { title: 'Name' },
30
- levels: [
31
- createNestedTableLevel({
20
+ import { Page } from '@wix/design-system';
21
+ import React from 'react';
22
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
23
+ import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
24
+ import {
25
+ PageWrapper,
26
+ NestedTable,
27
+ useNestedTable,
28
+ createNestedTableSingleEntityLevels,
29
+ useCreateCollection,
30
+ Filter,
31
+ stringsArrayFilter,
32
+ } from '@wix/patterns';
33
+ import { CollectionPage } from '@wix/patterns/page';
34
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
35
+
36
+ type ContactFilters = {
37
+ parentId: Filter<string[]>;
38
+ };
39
+
40
+ function SingleEntityNestedTable() {
41
+ const httpClient = useHttpClient();
42
+
43
+ const createCollection = useCreateCollection();
44
+
45
+ const state = useNestedTable({
46
+ columns: [
47
+ {
48
+ id: 'lastSeen',
49
+ title: 'Last Seen',
50
+ },
51
+ ],
52
+ levels: createNestedTableSingleEntityLevels(5, {
53
+ createCollection: () => {
54
+ const collection = createCollection<Contact, ContactFilters>({
55
+ queryName: 'SingleEntityNestedTable-contacts',
56
+ filters: {
57
+ parentId: stringsArrayFilter(),
58
+ },
59
+ fetchData: (query) => {
60
+ const { limit, offset, search, filters } = query;
61
+ return httpClient
62
+ .request(
63
+ queryContacts({
64
+ query: { paging: { limit, offset }, filter: filters },
65
+ search,
66
+ }),
67
+ )
68
+ .then((res) => {
69
+ const {
70
+ data: { contacts = [], pagingMetadata = {} },
71
+ } = res;
72
+ return {
73
+ items: contacts,
74
+ total: pagingMetadata.total,
75
+ };
76
+ });
77
+ },
78
+ fetchErrorMessage: ({ err }) => String(err),
79
+ });
80
+
81
+ return {
82
+ collection,
83
+ parentFilter: collection.filters.parentId,
84
+ };
85
+ },
32
86
  parentKey: (item) => item.parentId,
33
- createCollection: () => ({
34
- collection: useCollection({
35
- queryName: 'my-nested-items',
36
- fetchData: (query) => fetchItems(query),
37
- itemKey: (item) => item.id,
38
- }),
39
- }),
40
- renderMainColumn: (item) => ({ title: item.name }),
41
87
  columns: {
42
- name: (item) => item.name,
43
- status: (item) => item.status,
88
+ lastSeen: (item) => String(item.lastSeen),
44
89
  },
90
+ renderMainColumn: (item) => ({
91
+ subtitle: item.level,
92
+ }),
45
93
  }),
46
- ],
47
- });
48
-
49
- return <NestedTable state={state} />;
94
+ });
95
+
96
+ return (
97
+ <CollectionPage height="400px">
98
+ <CollectionPage.Header title={{ text: 'Contacts' }} />
99
+ <CollectionPage.Content>
100
+ <NestedTable state={state} />
101
+ </CollectionPage.Content>
102
+ </CollectionPage>
103
+ );
104
+ }
50
105
  ```
51
106
 
52
107
  ### Returns
@@ -19,26 +19,40 @@ import { usePickerContent } from '@wix/patterns';
19
19
  ### Example
20
20
 
21
21
  ```tsx
22
- import { usePickerContent, PickerContent } from '@wix/patterns';
23
-
24
- const MyPickerContent = ({ modalState }) => {
25
- const contentState = usePickerContent({
26
- modalState,
27
- filters: { status: stringFilter() },
28
- fetchData: (query) => fetchItems(query),
22
+ import React from 'react';
23
+ import {
24
+ PickerContent,
25
+ PickerContentComponentProps,
26
+ usePickerContent,
27
+ } from '@wix/patterns';
28
+
29
+ interface Item {
30
+ id: string;
31
+ name: string;
32
+ status: string;
33
+ }
34
+
35
+ // A PickerModal renders this component as its `pickerContentComponent` and
36
+ // supplies `modalState` through props — the content hook never builds it, and
37
+ // it does not take `fetchData`: the modal owns fetching.
38
+ function ItemsPickerContent(props: PickerContentComponentProps<Item>) {
39
+ const state = usePickerContent({
40
+ modalState: props.modalState,
41
+ fetchErrorMessage: ({ err }) => String(err),
29
42
  itemKey: (item) => item.id,
30
43
  itemName: (item) => item.name,
31
44
  });
32
45
 
33
46
  return (
34
47
  <PickerContent
35
- state={contentState}
36
- columns={[
37
- { title: 'Name', render: (item) => item.name },
38
- ]}
48
+ state={state}
49
+ renderItem={(item) => ({ subtitle: item.status })}
50
+ {...props}
39
51
  />
40
52
  );
41
- };
53
+ }
54
+
55
+ export default ItemsPickerContent;
42
56
  ```
43
57
 
44
58
  ### Returns
@@ -25,22 +25,104 @@ import { usePickerModal } from '@wix/patterns/essentials';
25
25
  ### Example
26
26
 
27
27
  ```tsx
28
- import { usePickerModal, PickerModal } from '@wix/patterns/bm';
29
-
30
- const pickerState = usePickerModal({
31
- queryName: 'my-picker',
32
- fetchData: (query) => fetchItems(query),
33
- limit: 50,
34
- onSelect: (items) => handleSelect(items),
35
- pickerContentComponent: () => import('./MyPickerContent'),
36
- });
37
-
38
- return (
39
- <>
40
- <button onClick={pickerState.open}>Open Picker</button>
41
- <PickerModal state={pickerState} />
42
- </>
43
- );
28
+ import { Avatar, EmptyState, Page } from '@wix/design-system';
29
+ import React from 'react';
30
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
31
+ import {
32
+ OffsetQuery,
33
+ PickerContent,
34
+ PickerContentComponentProps,
35
+ PickerModal,
36
+ PickerModalOpenButton,
37
+ usePickerContent,
38
+ } from '@wix/patterns';
39
+ import {
40
+ WixPatternsEssentialsProvider,
41
+ usePickerModal,
42
+ } from '@wix/patterns/essentials';
43
+ import { useHttpClient } from '@wix/fe-essentials/react';
44
+ import { Contact } from '@wix/ambassador-contacts-v4-contact/types';
45
+
46
+ function PickerModalSingleSelectExample() {
47
+ const httpClient = useHttpClient();
48
+
49
+ // Usually we will extract this component to a separate file and use dynamic import when passing it as `pickerContentComponent`
50
+ const pickerContentComponent = async () => ({
51
+ default: function ContactsPicker(
52
+ props: PickerContentComponentProps<Contact>,
53
+ ) {
54
+ const state = usePickerContent({
55
+ modalState: props.modalState,
56
+ fetchErrorMessage: ({ err }) => String(err),
57
+ itemName: (contact) => contact.id as string,
58
+ });
59
+
60
+ return (
61
+ // wrap with a provider that suits your environment
62
+ <WixPatternsEssentialsProvider>
63
+ <PickerContent
64
+ state={state}
65
+ renderItem={(contact) => ({
66
+ subtitle: contact.level,
67
+ image: (
68
+ <Avatar size="size60" shape="square" name={contact.name} />
69
+ ),
70
+ })}
71
+ renderEmptyState={() => (
72
+ <EmptyState title="You don’t have any contacts that support this action." />
73
+ )}
74
+ {...props}
75
+ />
76
+ </WixPatternsEssentialsProvider>
77
+ );
78
+ },
79
+ });
80
+
81
+ const state = usePickerModal<Contact>({
82
+ queryName: 'PickerModalSingleSelectExample',
83
+ fetchData: (query: OffsetQuery) => {
84
+ const { limit, offset, search, filters } = query;
85
+ return httpClient
86
+ .request(
87
+ queryContacts({
88
+ query: { paging: { limit, offset }, filter: filters },
89
+ search,
90
+ }),
91
+ )
92
+ .then(({ data: { contacts, pagingMetadata } }) => ({
93
+ items: contacts as Contact[],
94
+ total: pagingMetadata?.total,
95
+ }));
96
+ },
97
+ limit: 25,
98
+ // Usually we will use dynamic import, i.e pickerContentComponent: () => import('./ContactsPicker')
99
+ pickerContentComponent,
100
+ onSelect: (_contacts) => {
101
+ // Do something with contacts
102
+ },
103
+ });
104
+
105
+ return (
106
+ <Page>
107
+ <Page.Header
108
+ title="Picker Modal Example"
109
+ actionsBar={
110
+ <>
111
+ <PickerModalOpenButton state={state}>
112
+ Select a Contact
113
+ </PickerModalOpenButton>
114
+
115
+ <PickerModal
116
+ title="Select a Contact"
117
+ state={state}
118
+ renderError={(err) => <EmptyState title={String(err)} />}
119
+ />
120
+ </>
121
+ }
122
+ />
123
+ </Page>
124
+ );
125
+ }
44
126
  ```
45
127
 
46
128
  ### Returns
@@ -21,25 +21,55 @@ import { usePickerStandalone } from '@wix/patterns';
21
21
  ### Example
22
22
 
23
23
  ```tsx
24
- import { usePickerStandalone, PickerStandalone } from '@wix/patterns';
25
-
26
- const state = usePickerStandalone({
27
- queryName: 'site-picker',
28
- fetchData: (query) => fetchSites(query),
29
- itemKey: (site) => site.id,
30
- itemName: (site) => site.name,
31
- limit: 20,
32
- defaultDestinationUrl: (site) => `/site/${site.id}/dashboard`,
33
- });
34
-
35
- return (
36
- <PickerStandalone
37
- state={state}
38
- columns={[
39
- { title: 'Site Name', render: (site) => site.name },
40
- ]}
41
- />
42
- );
24
+ import React from 'react';
25
+ import { EmptyState } from '@wix/design-system';
26
+ import { queryContacts } from '@wix/ambassador-contacts-v4-contact/http';
27
+ import {
28
+ OffsetQuery,
29
+ PickerStandalone,
30
+ usePickerStandalone,
31
+ } from '@wix/patterns';
32
+ import { useHttpClient } from '@wix/fe-essentials/react';
33
+
34
+ function Basic() {
35
+ const httpClient = useHttpClient();
36
+
37
+ const fetchData = (query: OffsetQuery) => {
38
+ const { limit, offset, search } = query;
39
+ return httpClient
40
+ .request(
41
+ queryContacts({
42
+ query: { paging: { limit, offset } },
43
+ search,
44
+ }),
45
+ )
46
+ .then(({ data: { contacts, pagingMetadata } }) => ({
47
+ items: contacts || [],
48
+ total: pagingMetadata?.total,
49
+ }));
50
+ };
51
+
52
+ const state = usePickerStandalone({
53
+ queryName: 'picker-standalone-basic',
54
+ fetchData,
55
+ limit: 25,
56
+ defaultDestinationUrl: 'https://www.wix.com',
57
+ fetchErrorMessage: () => 'Error fetching contacts',
58
+ itemName: (contact) => contact.name as string,
59
+ });
60
+
61
+ return (
62
+ <PickerStandalone
63
+ height="666px"
64
+ defaultTitle="Select a Contact"
65
+ state={state}
66
+ renderError={() => <EmptyState title="Error has occured" />}
67
+ renderEmptyState={() => (
68
+ <EmptyState title="You don't have any contacts that support this action." />
69
+ )}
70
+ />
71
+ );
72
+ }
43
73
  ```
44
74
 
45
75
  ### Returns
@@ -9,33 +9,54 @@
9
9
  A React hook that creates the state for a [`SettingsPage`](./?path=/story/base-components-pages-settings-page--settingspage). Configure settings fetching, save/cancel flow, form integration, and toasts. The returned [`SettingsPageState`](./?path=/story/base-components-pages-settings-page-state--settingspagestate) is passed to `<SettingsPage state={state}>`.
10
10
 
11
11
  ```tsx
12
- import { useSettingsPage } from '@wix/patterns/page';
12
+ import { useSettingsPage } from '@wix/patterns';
13
13
  ```
14
14
 
15
15
  ### Example
16
16
 
17
17
  ```tsx
18
- import { useSettingsPage, SettingsPage } from '@wix/patterns/page';
19
- import { useForm } from 'react-hook-form';
20
-
21
- const form = useForm({ defaultValues: { notifications: true } });
22
-
23
- const state = useSettingsPage({
24
- fetch: () => api.getSettings().then((settings) => ({ settings })),
25
- onSave: () => api.saveSettings(form.getValues()),
26
- onCancel: () => form.reset(),
27
- form,
28
- container,
29
- });
30
-
31
- return (
32
- <SettingsPage state={state}>
33
- <SettingsPage.Header title={{ text: 'Settings' }} />
34
- <SettingsPage.Content>
35
- <SettingsPage.MainContent>...</SettingsPage.MainContent>
36
- </SettingsPage.Content>
37
- </SettingsPage>
38
- );
18
+ import React from 'react';
19
+ import { SettingsPage, useSettingsPage } from '@wix/patterns';
20
+ import { useForm } from '@wix/patterns/form';
21
+
22
+ interface Settings {
23
+ notifications?: boolean;
24
+ }
25
+
26
+ interface SettingsFormFields {
27
+ notifications?: boolean;
28
+ }
29
+
30
+ const api = {
31
+ getSettings: (): Promise<Settings> =>
32
+ Promise.resolve({ notifications: true }),
33
+ saveSettings: (values: SettingsFormFields): Promise<void> =>
34
+ Promise.resolve(),
35
+ };
36
+
37
+ function AppSettings() {
38
+ const form = useForm<SettingsFormFields>({
39
+ defaultValues: { notifications: true },
40
+ });
41
+
42
+ const state = useSettingsPage<Settings, SettingsFormFields>({
43
+ form,
44
+ fetch: () => api.getSettings().then((settings) => ({ settings })),
45
+ onSave: () => api.saveSettings(form.getValues()),
46
+ onCancel: async () => form.reset(),
47
+ });
48
+
49
+ return (
50
+ <SettingsPage state={state}>
51
+ <SettingsPage.Header title={{ text: 'Settings' }} />
52
+ <SettingsPage.Content>
53
+ <SettingsPage.MainContent>...</SettingsPage.MainContent>
54
+ </SettingsPage.Content>
55
+ </SettingsPage>
56
+ );
57
+ }
58
+
59
+ export default AppSettings;
39
60
  ```
40
61
 
41
62
  ### Returns
@@ -15,11 +15,22 @@ import { useSettingsPageContext } from '@wix/patterns/page';
15
15
  ### Example
16
16
 
17
17
  ```tsx
18
- function MySettingsCard() {
19
- const state = useSettingsPageContext();
20
- // Access state.form, state.settings, etc.
18
+ import React from 'react';
19
+ import { useSettingsPageContext } from '@wix/patterns';
20
+
21
+ interface AppSettings {
22
+ theme?: string;
23
+ }
24
+
25
+ // Rendered inside `<SettingsPage>`, which provides the state. Pass the
26
+ // settings type so `state.settings` is typed rather than `unknown`.
27
+ function ThemeSummary() {
28
+ const state = useSettingsPageContext<AppSettings>();
29
+
21
30
  return <div>Current value: {state.settings?.theme}</div>;
22
31
  }
32
+
33
+ export default ThemeSummary;
23
34
  ```
24
35
 
25
36
  ### Returns
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "CardContainer3189623173";
3
+ var _namespace_ = "CardContainer3564880150";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "CardContainer3189623173__root" };
9
+ export var classes = { "root": "CardContainer3564880150__root" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
3
- var _namespace_ = "CmsFieldForm4067018512";
3
+ var _namespace_ = "CmsFieldForm1400944717";
4
4
  var _style_ = classesRuntime.bind(null, _namespace_);
5
5
  export var cssStates = statesRuntime.bind(null, _namespace_);
6
6
  export var style = _style_;
7
7
  export var st = _style_;
8
8
  export var namespace = _namespace_;
9
- export var classes = { "root": "CmsFieldForm4067018512__root", "fullBleedDivider": "CmsFieldForm4067018512__fullBleedDivider" };
9
+ export var classes = { "root": "CmsFieldForm1400944717__root", "fullBleedDivider": "CmsFieldForm1400944717__fullBleedDivider" };
10
10
  export var keyframes = {};
11
11
  export var layers = {};
12
12
  export var containers = {};