@wix/patterns 1.366.0 → 1.369.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 (672) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  6. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  10. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js +6 -3
  12. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js +25 -30
  14. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  15. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  16. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js.map +1 -1
  18. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +66 -17
  19. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +22 -14
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  24. package/dist/cjs/components/CollectionToolbar/ToolbarOverflowMenu.js +329 -0
  25. package/dist/cjs/components/CollectionToolbar/ToolbarOverflowMenu.js.map +1 -0
  26. package/dist/cjs/components/CollectionToolbar/useToolbarOverflowItems.js +85 -0
  27. package/dist/cjs/components/CollectionToolbar/useToolbarOverflowItems.js.map +1 -0
  28. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  29. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  30. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  31. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  32. package/dist/cjs/components/CtaProps.js.map +1 -1
  33. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  34. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  36. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  38. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js +59 -0
  46. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js.map +1 -0
  47. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
  48. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +23 -0
  49. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -0
  50. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.uni.driver.js +20 -0
  51. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.uni.driver.js.map +1 -0
  52. package/dist/cjs/components/EditableTable/cellTypes/email/View.js +23 -0
  53. package/dist/cjs/components/EditableTable/cellTypes/email/View.js.map +1 -0
  54. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css +4 -0
  55. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +23 -0
  56. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -0
  57. package/dist/cjs/components/EditableTable/cellTypes/email/View.uni.driver.js +12 -0
  58. package/dist/cjs/components/EditableTable/cellTypes/email/View.uni.driver.js.map +1 -0
  59. package/dist/cjs/components/EditableTable/cellTypes/email/index.js +31 -0
  60. package/dist/cjs/components/EditableTable/cellTypes/email/index.js.map +1 -0
  61. package/dist/cjs/components/EditableTable/cellTypes/index.js +5 -1
  62. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js +4 -9
  64. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  66. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/number/View.js +4 -5
  68. package/dist/cjs/components/EditableTable/cellTypes/number/View.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.js +79 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.js.map +1 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
  74. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +23 -0
  75. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -0
  76. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.uni.driver.js +20 -0
  77. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.uni.driver.js.map +1 -0
  78. package/dist/cjs/components/EditableTable/cellTypes/object/View.js +30 -0
  79. package/dist/cjs/components/EditableTable/cellTypes/object/View.js.map +1 -0
  80. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css +4 -0
  81. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +23 -0
  82. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -0
  83. package/dist/cjs/components/EditableTable/cellTypes/object/View.uni.driver.js +12 -0
  84. package/dist/cjs/components/EditableTable/cellTypes/object/View.uni.driver.js.map +1 -0
  85. package/dist/cjs/components/EditableTable/cellTypes/object/index.js +45 -0
  86. package/dist/cjs/components/EditableTable/cellTypes/object/index.js.map +1 -0
  87. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  88. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js +3 -3
  90. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  92. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  93. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +3 -3
  94. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  95. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  96. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  97. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  98. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  99. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +15 -0
  100. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
  101. package/dist/cjs/components/EditableTable/useKeyboardNavigation.js +10 -0
  102. package/dist/cjs/components/EditableTable/useKeyboardNavigation.js.map +1 -1
  103. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  104. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  105. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  106. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  107. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  108. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  109. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  110. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  111. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  112. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  113. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  114. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  115. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  116. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  117. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  118. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  119. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  120. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  121. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  122. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  123. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  124. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  125. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  126. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  127. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  128. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  129. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  130. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  131. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  132. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  133. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  134. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  135. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  136. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  137. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  138. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  139. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  140. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  141. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js +14 -38
  142. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
  143. package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js +34 -0
  144. package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js.map +1 -0
  145. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  146. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  147. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  148. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  149. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  150. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  151. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  152. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  153. package/dist/cjs/components/common.st.css.js +4 -4
  154. package/dist/cjs/components/common.st.css.js.map +1 -1
  155. package/dist/cjs/hooks/useStaticListFilterCollection.js +2 -1
  156. package/dist/cjs/hooks/useStaticListFilterCollection.js.map +1 -1
  157. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  158. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  159. package/dist/cjs/state/EditableTable/CellInteractionState.js +65 -0
  160. package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -1
  161. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  162. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  163. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  164. package/dist/cjs/state/TableState.js +2 -0
  165. package/dist/cjs/state/TableState.js.map +1 -1
  166. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js +38 -4
  167. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
  168. package/dist/cjs/state/Toolbar/computeResponsiveTargetState.js +56 -17
  169. package/dist/cjs/state/Toolbar/computeResponsiveTargetState.js.map +1 -1
  170. package/dist/cjs/state/Toolbar/toolbarResponsiveConstants.js +5 -1
  171. package/dist/cjs/state/Toolbar/toolbarResponsiveConstants.js.map +1 -1
  172. package/dist/cjs/styles.global.css +1 -1
  173. package/dist/cjs/version.js +1 -1
  174. package/dist/cjs/version.js.map +1 -1
  175. package/dist/docs/AI Assistant.md +171 -0
  176. package/dist/docs/ActionCellProps.md +40 -0
  177. package/dist/docs/ActionSubItem.md +24 -0
  178. package/dist/docs/Allow Users to Add Extended Fields.md +194 -0
  179. package/dist/docs/AutoCompleteFilter.md +276 -0
  180. package/dist/docs/BulkActionModalRenderProp.md +22 -0
  181. package/dist/docs/BulkSelectState.md +18 -0
  182. package/dist/docs/Category.md +19 -0
  183. package/dist/docs/CollectionEmptyState.md +240 -0
  184. package/dist/docs/CollectionErrorState.md +107 -0
  185. package/dist/docs/CollectionNoResultsState.md +116 -0
  186. package/dist/docs/CollectionOptimisticActions.md +1074 -0
  187. package/dist/docs/CollectionPage.Content.md +154 -0
  188. package/dist/docs/CollectionPage.Header.md +216 -0
  189. package/dist/docs/CollectionPage.md +183 -0
  190. package/dist/docs/CollectionPremiumEmptyState.md +115 -0
  191. package/dist/docs/CollectionSearch.md +345 -0
  192. package/dist/docs/CollectionSection.md +16 -0
  193. package/dist/docs/CollectionState.md +29 -0
  194. package/dist/docs/CollectionSubToolbar.md +14 -0
  195. package/dist/docs/CollectionToolbar.md +18 -0
  196. package/dist/docs/Component Tests.md +191 -0
  197. package/dist/docs/ComputedQuery.md +45 -0
  198. package/dist/docs/CtaBaseProps.md +19 -0
  199. package/dist/docs/CustomColumns.md +916 -0
  200. package/dist/docs/CustomFieldsViewWidget.md +191 -0
  201. package/dist/docs/CustomFieldsWidget.md +635 -0
  202. package/dist/docs/Data Extension Overview.md +85 -0
  203. package/dist/docs/DataResultRaw.md +25 -0
  204. package/dist/docs/DateRangeFilter.md +202 -0
  205. package/dist/docs/Display Extended Fields.md +244 -0
  206. package/dist/docs/Enable Filters for Extended Fields.md +243 -0
  207. package/dist/docs/EntityPage.AdditionalContent.md +25 -0
  208. package/dist/docs/EntityPage.Card.md +250 -0
  209. package/dist/docs/EntityPage.Content.md +24 -0
  210. package/dist/docs/EntityPage.Header.md +260 -0
  211. package/dist/docs/EntityPage.MainContent.md +24 -0
  212. package/dist/docs/EntityPage.Slots.md +75 -0
  213. package/dist/docs/EntityPage.md +1030 -0
  214. package/dist/docs/EntityPageState.md +23 -0
  215. package/dist/docs/Explore Apps.md +170 -0
  216. package/dist/docs/ExportTo.md +894 -0
  217. package/dist/docs/Filter Overview.md +448 -0
  218. package/dist/docs/FilterProps.md +26 -0
  219. package/dist/docs/FormPageState.md +17 -0
  220. package/dist/docs/Grid Sections.md +170 -0
  221. package/dist/docs/Grid.md +598 -0
  222. package/dist/docs/GridDragAndDrop.md +131 -0
  223. package/dist/docs/GridFolders.md +259 -0
  224. package/dist/docs/GridFoldersSection.md +16 -0
  225. package/dist/docs/GridFoldersState.md +20 -0
  226. package/dist/docs/GridSectionsProp.md +22 -0
  227. package/dist/docs/GridState.md +22 -0
  228. package/dist/docs/Highlighted Search.md +114 -0
  229. package/dist/docs/InMemoryBackend.md +81 -0
  230. package/dist/docs/Indeterminate.md +273 -0
  231. package/dist/docs/Internal Scroll.md +236 -0
  232. package/dist/docs/More Actions.md +1015 -0
  233. package/dist/docs/MoreActionsItem.md +33 -0
  234. package/dist/docs/MultiAutoInlineCheckboxFilter.md +850 -0
  235. package/dist/docs/MultiBulkActionToolbar.md +1174 -0
  236. package/dist/docs/MultiInlineCheckboxFilter.md +871 -0
  237. package/dist/docs/MultiLevelSorting.md +376 -0
  238. package/dist/docs/MultiSelectCheckboxFilter.md +369 -0
  239. package/dist/docs/MultiSelectCollectionFilter.md +218 -0
  240. package/dist/docs/NestedTable.md +1101 -0
  241. package/dist/docs/NestedTableLevel.md +24 -0
  242. package/dist/docs/NestedTableNodeState.md +23 -0
  243. package/dist/docs/NestedTableOptimisticActions.md +21 -0
  244. package/dist/docs/NestedTableState.md +21 -0
  245. package/dist/docs/Next.js.md +143 -0
  246. package/dist/docs/NumberRangeFilter.md +230 -0
  247. package/dist/docs/OperatorFilterPicker.md +195 -0
  248. package/dist/docs/PageWrapper.md +50 -0
  249. package/dist/docs/PatternsReactRoute.md +31 -0
  250. package/dist/docs/PatternsReactRouter.md +24 -0
  251. package/dist/docs/PickerContent.md +129 -0
  252. package/dist/docs/PickerModal.md +680 -0
  253. package/dist/docs/PickerStandalone.md +332 -0
  254. package/dist/docs/PrimaryActionButton.md +323 -0
  255. package/dist/docs/PrimaryActions.md +173 -0
  256. package/dist/docs/PrimaryPageButton.md +140 -0
  257. package/dist/docs/RadioGroupFilter.md +73 -0
  258. package/dist/docs/RequestId.md +58 -0
  259. package/dist/docs/SecondaryActions.md +175 -0
  260. package/dist/docs/SettingsPage.AdditionalContent.md +25 -0
  261. package/dist/docs/SettingsPage.Card.md +246 -0
  262. package/dist/docs/SettingsPage.Content.md +24 -0
  263. package/dist/docs/SettingsPage.Header.md +176 -0
  264. package/dist/docs/SettingsPage.MainContent.md +24 -0
  265. package/dist/docs/SettingsPage.md +680 -0
  266. package/dist/docs/SettingsPageState.md +22 -0
  267. package/dist/docs/SingleSelectFilter.md +401 -0
  268. package/dist/docs/Sled Tests.md +109 -0
  269. package/dist/docs/Sortable Columns.md +250 -0
  270. package/dist/docs/Suggestions.md +370 -0
  271. package/dist/docs/SummaryBar.md +515 -0
  272. package/dist/docs/Table Sections.md +473 -0
  273. package/dist/docs/Table.md +1065 -0
  274. package/dist/docs/TableColumn.md +35 -0
  275. package/dist/docs/TableDragAndDrop.md +502 -0
  276. package/dist/docs/TableFolders.md +419 -0
  277. package/dist/docs/TableFoldersState.md +22 -0
  278. package/dist/docs/TableGridSwitch.md +298 -0
  279. package/dist/docs/TableGridSwitchDragAndDrop.md +170 -0
  280. package/dist/docs/TableGridSwitchFolders.md +446 -0
  281. package/dist/docs/TableGridSwitchFoldersState.md +22 -0
  282. package/dist/docs/TableGridSwitchState.md +23 -0
  283. package/dist/docs/TableSectionsProp.md +22 -0
  284. package/dist/docs/TableState.md +24 -0
  285. package/dist/docs/TableTopNotification.md +314 -0
  286. package/dist/docs/TabsFilter.md +484 -0
  287. package/dist/docs/Tags Overview.md +118 -0
  288. package/dist/docs/Tags.md +718 -0
  289. package/dist/docs/TagsWidget.md +419 -0
  290. package/dist/docs/ToolbarCollectionState.md +19 -0
  291. package/dist/docs/ToolbarFilters.md +1588 -0
  292. package/dist/docs/ToolbarSecondaryActions.md +383 -0
  293. package/dist/docs/ToolbarTitle.md +324 -0
  294. package/dist/docs/View.md +23 -0
  295. package/dist/docs/Views.md +786 -0
  296. package/dist/docs/WidgetsFormProvider.md +61 -0
  297. package/dist/docs/WixPatternsBMProvider.md +31 -0
  298. package/dist/docs/WixPatternsBaseProvider.md +87 -0
  299. package/dist/docs/WixPatternsEssentialsProvider.md +43 -0
  300. package/dist/docs/WixPatternsGizaProvider.md +37 -0
  301. package/dist/docs/WixPatternsProvider.md +68 -0
  302. package/dist/docs/Working with Cache.md +114 -0
  303. package/dist/docs/arrayFilter.md +226 -0
  304. package/dist/docs/bulkActionModal.md +40 -0
  305. package/dist/docs/createNestedTableLevel.md +24 -0
  306. package/dist/docs/createNestedTableSingleEntityLevels.md +20 -0
  307. package/dist/docs/customFilter.md +182 -0
  308. package/dist/docs/dateRangeFilter.md +55 -0
  309. package/dist/docs/deleteSecondaryAction.md +122 -0
  310. package/dist/docs/idNameArrayFilter.md +206 -0
  311. package/dist/docs/index.json +662 -0
  312. package/dist/docs/operatorFilter.md +183 -0
  313. package/dist/docs/stringFilter.md +204 -0
  314. package/dist/docs/stringsArrayFilter.md +118 -0
  315. package/dist/docs/useAmbassadorCollection.md +45 -0
  316. package/dist/docs/useCollection.md +61 -0
  317. package/dist/docs/useCreateCollection.md +32 -0
  318. package/dist/docs/useCreateNestedOptimisticActions.md +21 -0
  319. package/dist/docs/useEntity.md +44 -0
  320. package/dist/docs/useEntityPage.md +57 -0
  321. package/dist/docs/useEntityPageContext.md +28 -0
  322. package/dist/docs/useFilterCollection.md +163 -0
  323. package/dist/docs/useGridCollection.md +58 -0
  324. package/dist/docs/useGridFolders.md +25 -0
  325. package/dist/docs/useItemsSelectionFilter.md +60 -0
  326. package/dist/docs/useNestedTable.md +66 -0
  327. package/dist/docs/useOptimisticActions.md +1288 -0
  328. package/dist/docs/usePatternsNavigate.md +57 -0
  329. package/dist/docs/usePickerContent.md +61 -0
  330. package/dist/docs/usePickerModal.md +68 -0
  331. package/dist/docs/usePickerStandalone.md +56 -0
  332. package/dist/docs/useSelector.md +181 -0
  333. package/dist/docs/useSettingsPage.md +54 -0
  334. package/dist/docs/useSettingsPageContext.md +28 -0
  335. package/dist/docs/useStaticListFilterCollection.md +194 -0
  336. package/dist/docs/useTableCollection.md +58 -0
  337. package/dist/docs/useTableFolders.md +25 -0
  338. package/dist/docs/useTableGridSwitchCollection.md +58 -0
  339. package/dist/docs/useTableGridSwitchFolders.md +25 -0
  340. package/dist/docs/useWidgetsFormContext.md +19 -0
  341. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  342. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  343. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  344. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  345. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  346. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  347. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  348. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +3 -1
  349. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  350. package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +3 -2
  351. package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  352. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  353. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +39 -6
  354. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
  355. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +2 -1
  356. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
  357. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  358. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  359. package/dist/esm/components/CollectionToolbar/ToolbarOverflowMenu.js +110 -0
  360. package/dist/esm/components/CollectionToolbar/ToolbarOverflowMenu.js.map +1 -0
  361. package/dist/esm/components/CollectionToolbar/useToolbarOverflowItems.js +74 -0
  362. package/dist/esm/components/CollectionToolbar/useToolbarOverflowItems.js.map +1 -0
  363. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  364. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  365. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  366. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  367. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  368. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  369. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  370. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  371. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  372. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  373. package/dist/esm/components/EditableTable/cellTypes/email/Edit.js +21 -0
  374. package/dist/esm/components/EditableTable/cellTypes/email/Edit.js.map +1 -0
  375. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
  376. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +15 -0
  377. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -0
  378. package/dist/esm/components/EditableTable/cellTypes/email/Edit.uni.driver.js +13 -0
  379. package/dist/esm/components/EditableTable/cellTypes/email/Edit.uni.driver.js.map +1 -0
  380. package/dist/esm/components/EditableTable/cellTypes/email/View.js +5 -0
  381. package/dist/esm/components/EditableTable/cellTypes/email/View.js.map +1 -0
  382. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css +4 -0
  383. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +15 -0
  384. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -0
  385. package/dist/esm/components/EditableTable/cellTypes/email/View.uni.driver.js +8 -0
  386. package/dist/esm/components/EditableTable/cellTypes/email/View.uni.driver.js.map +1 -0
  387. package/dist/esm/components/EditableTable/cellTypes/email/index.js +22 -0
  388. package/dist/esm/components/EditableTable/cellTypes/email/index.js.map +1 -0
  389. package/dist/esm/components/EditableTable/cellTypes/index.js +5 -1
  390. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  391. package/dist/esm/components/EditableTable/cellTypes/number/Edit.js +2 -5
  392. package/dist/esm/components/EditableTable/cellTypes/number/Edit.js.map +1 -1
  393. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  394. package/dist/esm/components/EditableTable/cellTypes/number/View.js +2 -2
  395. package/dist/esm/components/EditableTable/cellTypes/number/View.js.map +1 -1
  396. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  397. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  398. package/dist/esm/components/EditableTable/cellTypes/object/Edit.js +39 -0
  399. package/dist/esm/components/EditableTable/cellTypes/object/Edit.js.map +1 -0
  400. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
  401. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +15 -0
  402. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -0
  403. package/dist/esm/components/EditableTable/cellTypes/object/Edit.uni.driver.js +13 -0
  404. package/dist/esm/components/EditableTable/cellTypes/object/Edit.uni.driver.js.map +1 -0
  405. package/dist/esm/components/EditableTable/cellTypes/object/View.js +5 -0
  406. package/dist/esm/components/EditableTable/cellTypes/object/View.js.map +1 -0
  407. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css +4 -0
  408. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +15 -0
  409. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -0
  410. package/dist/esm/components/EditableTable/cellTypes/object/View.uni.driver.js +8 -0
  411. package/dist/esm/components/EditableTable/cellTypes/object/View.uni.driver.js.map +1 -0
  412. package/dist/esm/components/EditableTable/cellTypes/object/index.js +47 -0
  413. package/dist/esm/components/EditableTable/cellTypes/object/index.js.map +1 -0
  414. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  415. package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js +2 -2
  416. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  417. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  418. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  419. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  420. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  421. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  422. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +15 -1
  423. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
  424. package/dist/esm/components/EditableTable/useKeyboardNavigation.js +10 -0
  425. package/dist/esm/components/EditableTable/useKeyboardNavigation.js.map +1 -1
  426. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  427. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  428. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  429. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  430. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  431. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  432. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  433. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  434. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  435. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  436. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  437. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  438. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  439. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  440. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  441. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  442. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  443. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  444. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  445. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  446. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  447. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  448. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  449. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  450. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  451. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  452. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js +2 -12
  453. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
  454. package/dist/esm/components/TableGridSwitchButton/layoutConfig.js +14 -0
  455. package/dist/esm/components/TableGridSwitchButton/layoutConfig.js.map +1 -0
  456. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  457. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  458. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  459. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  460. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  461. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  462. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  463. package/dist/esm/components/common.st.css.js +2 -2
  464. package/dist/esm/hooks/useStaticListFilterCollection.js +1 -0
  465. package/dist/esm/hooks/useStaticListFilterCollection.js.map +1 -1
  466. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  467. package/dist/esm/state/EditableTable/CellInteractionState.js +58 -0
  468. package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -1
  469. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  470. package/dist/esm/state/TableState.js +2 -0
  471. package/dist/esm/state/TableState.js.map +1 -1
  472. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js +40 -5
  473. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
  474. package/dist/esm/state/Toolbar/computeResponsiveTargetState.js +46 -18
  475. package/dist/esm/state/Toolbar/computeResponsiveTargetState.js.map +1 -1
  476. package/dist/esm/state/Toolbar/toolbarResponsiveConstants.js +4 -0
  477. package/dist/esm/state/Toolbar/toolbarResponsiveConstants.js.map +1 -1
  478. package/dist/esm/styles.global.css +1 -1
  479. package/dist/esm/version.js +1 -1
  480. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  481. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  482. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +24 -24
  483. package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
  484. package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
  485. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  486. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts +3 -0
  487. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts.map +1 -1
  488. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts +5 -1
  489. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts.map +1 -1
  490. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts.map +1 -1
  491. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  492. package/dist/types/components/CollectionToolbar/ToolbarOverflowMenu.d.ts +24 -0
  493. package/dist/types/components/CollectionToolbar/ToolbarOverflowMenu.d.ts.map +1 -0
  494. package/dist/types/components/CollectionToolbar/useToolbarOverflowItems.d.ts +17 -0
  495. package/dist/types/components/CollectionToolbar/useToolbarOverflowItems.d.ts.map +1 -0
  496. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  497. package/dist/types/components/CtaProps.d.ts +1 -1
  498. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
  499. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
  500. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  501. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  502. package/dist/types/components/EditableTable/cellTypes/email/Edit.d.ts +4 -0
  503. package/dist/types/components/EditableTable/cellTypes/email/Edit.d.ts.map +1 -0
  504. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts +14 -0
  505. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -0
  506. package/dist/types/components/EditableTable/cellTypes/email/Edit.uni.driver.d.ts +22 -0
  507. package/dist/types/components/EditableTable/cellTypes/email/Edit.uni.driver.d.ts.map +1 -0
  508. package/dist/types/components/EditableTable/cellTypes/email/View.d.ts +4 -0
  509. package/dist/types/components/EditableTable/cellTypes/email/View.d.ts.map +1 -0
  510. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts +14 -0
  511. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -0
  512. package/dist/types/components/EditableTable/cellTypes/email/View.uni.driver.d.ts +15 -0
  513. package/dist/types/components/EditableTable/cellTypes/email/View.uni.driver.d.ts.map +1 -0
  514. package/dist/types/components/EditableTable/cellTypes/email/index.d.ts +5 -0
  515. package/dist/types/components/EditableTable/cellTypes/email/index.d.ts.map +1 -0
  516. package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
  517. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  518. package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts.map +1 -1
  519. package/dist/types/components/EditableTable/cellTypes/number/View.d.ts.map +1 -1
  520. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  521. package/dist/types/components/EditableTable/cellTypes/object/Edit.d.ts +4 -0
  522. package/dist/types/components/EditableTable/cellTypes/object/Edit.d.ts.map +1 -0
  523. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts +14 -0
  524. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -0
  525. package/dist/types/components/EditableTable/cellTypes/object/Edit.uni.driver.d.ts +22 -0
  526. package/dist/types/components/EditableTable/cellTypes/object/Edit.uni.driver.d.ts.map +1 -0
  527. package/dist/types/components/EditableTable/cellTypes/object/View.d.ts +4 -0
  528. package/dist/types/components/EditableTable/cellTypes/object/View.d.ts.map +1 -0
  529. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts +14 -0
  530. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -0
  531. package/dist/types/components/EditableTable/cellTypes/object/View.uni.driver.d.ts +15 -0
  532. package/dist/types/components/EditableTable/cellTypes/object/View.uni.driver.d.ts.map +1 -0
  533. package/dist/types/components/EditableTable/cellTypes/object/index.d.ts +5 -0
  534. package/dist/types/components/EditableTable/cellTypes/object/index.d.ts.map +1 -0
  535. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
  536. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  537. package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -1
  538. package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts.map +1 -1
  539. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  540. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  541. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  542. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  543. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  544. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  545. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  546. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  547. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  548. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +37 -37
  549. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  550. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  551. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  552. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  553. package/dist/types/components/Table/Table.uni.driver.d.ts +26 -26
  554. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +37 -37
  555. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +40 -40
  556. package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.d.ts.map +1 -1
  557. package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts +9 -0
  558. package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts.map +1 -0
  559. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  560. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  561. package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
  562. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  563. package/dist/types/hooks/useStaticListFilterCollection.d.ts.map +1 -1
  564. package/dist/types/state/EditableTable/CellInteractionState.d.ts +7 -0
  565. package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -1
  566. package/dist/types/state/EditableTable/types.d.ts +2 -0
  567. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  568. package/dist/types/state/TableState.d.ts +2 -0
  569. package/dist/types/state/TableState.d.ts.map +1 -1
  570. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts +3 -0
  571. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts.map +1 -1
  572. package/dist/types/state/Toolbar/computeResponsiveTargetState.d.ts +8 -1
  573. package/dist/types/state/Toolbar/computeResponsiveTargetState.d.ts.map +1 -1
  574. package/dist/types/state/Toolbar/toolbarResponsiveConstants.d.ts +2 -0
  575. package/dist/types/state/Toolbar/toolbarResponsiveConstants.d.ts.map +1 -1
  576. package/dist/types/testkit/enzyme.d.ts +194 -194
  577. package/dist/types/testkit/jsdom.d.ts +207 -207
  578. package/dist/types/testkit/playwright.d.ts +194 -194
  579. package/dist/types/testkit/puppeteer.d.ts +205 -205
  580. package/dist/types/version.d.ts +1 -1
  581. package/package.json +10 -7
  582. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  583. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  584. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  585. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  586. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  587. package/src/components/CollectionTable/CollectionTableWSRTable.tsx +3 -0
  588. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  589. package/src/components/CollectionToolbar/CollectionToolbar.tsx +11 -4
  590. package/src/components/CollectionToolbar/CollectionToolbarActionsGroupProps.ts +3 -0
  591. package/src/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.tsx +73 -16
  592. package/src/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.tsx +4 -0
  593. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  594. package/src/components/CollectionToolbar/ToolbarOverflowMenu.tsx +323 -0
  595. package/src/components/CollectionToolbar/useToolbarOverflowItems.ts +112 -0
  596. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  597. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  598. package/src/components/CtaProps.ts +1 -1
  599. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  600. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  601. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  602. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  603. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  604. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  605. package/src/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
  606. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +25 -0
  607. package/src/components/EditableTable/cellTypes/email/Edit.tsx +46 -0
  608. package/src/components/EditableTable/cellTypes/email/Edit.uni.driver.ts +23 -0
  609. package/src/components/EditableTable/cellTypes/email/View.st.css +4 -0
  610. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +25 -0
  611. package/src/components/EditableTable/cellTypes/email/View.tsx +8 -0
  612. package/src/components/EditableTable/cellTypes/email/View.uni.driver.ts +9 -0
  613. package/src/components/EditableTable/cellTypes/email/index.ts +23 -0
  614. package/src/components/EditableTable/cellTypes/index.ts +6 -0
  615. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  616. package/src/components/EditableTable/cellTypes/number/Edit.tsx +3 -8
  617. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  618. package/src/components/EditableTable/cellTypes/number/View.tsx +2 -4
  619. package/src/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
  620. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +25 -0
  621. package/src/components/EditableTable/cellTypes/object/Edit.tsx +72 -0
  622. package/src/components/EditableTable/cellTypes/object/Edit.uni.driver.ts +22 -0
  623. package/src/components/EditableTable/cellTypes/object/View.st.css +4 -0
  624. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +25 -0
  625. package/src/components/EditableTable/cellTypes/object/View.tsx +12 -0
  626. package/src/components/EditableTable/cellTypes/object/View.uni.driver.ts +9 -0
  627. package/src/components/EditableTable/cellTypes/object/index.ts +49 -0
  628. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  629. package/src/components/EditableTable/cellTypes/select/View.st.css.ts +2 -2
  630. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  631. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  632. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  633. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  634. package/src/components/EditableTable/useCellFocusAndEditing.ts +16 -1
  635. package/src/components/EditableTable/useKeyboardNavigation.ts +11 -0
  636. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  637. package/src/components/Fade/Fade.st.css.ts +2 -2
  638. package/src/components/Heading/Heading.st.css.ts +2 -2
  639. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  640. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  641. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  642. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  643. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  644. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  645. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  646. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  647. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  648. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  649. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  650. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  651. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  652. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  653. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  654. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  655. package/src/components/TableGridSwitchButton/TableGridSwitchButton.tsx +2 -21
  656. package/src/components/TableGridSwitchButton/layoutConfig.tsx +20 -0
  657. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  658. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  659. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  660. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  661. package/src/components/common.st.css.ts +2 -2
  662. package/src/hooks/useStaticListFilterCollection.ts +1 -0
  663. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  664. package/src/state/EditableTable/CellInteractionState.ts +63 -0
  665. package/src/state/EditableTable/types.ts +2 -0
  666. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  667. package/src/state/TableState.ts +3 -0
  668. package/src/state/Toolbar/ToolbarResponsiveState.ts +64 -10
  669. package/src/state/Toolbar/computeResponsiveTargetState.ts +68 -18
  670. package/src/state/Toolbar/toolbarResponsiveConstants.ts +4 -0
  671. package/src/styles.global.css +1 -1
  672. package/src/version.ts +1 -1
@@ -0,0 +1,680 @@
1
+ # SettingsPage
2
+
3
+ **Category:** Base Components/Pages/Settings Page
4
+
5
+ ## Overview
6
+
7
+ ### Introduction
8
+
9
+ The `SettingsPage` component serves as a container that encapsulates the logic and layout structure for rendering an settings page. It provides a structured and organized way to display and manage information related to a specific settings.
10
+
11
+ Here's a breakdown of its main purposes:
12
+
13
+ 1. **Appearance of the Settings Page**: The `SettingsPage` component handles the overall layout and structure of the settings page. It defines how the page is organized, including title and subtitle, more actions dropdown, CTAs, content basic layout and widgets. Also, it is responsible for rendering loading skeletons, error state, displaying notifications and other.
14
+
15
+ 2. **Handling Fetch**: The `SettingsPage` component typically integrates with a fetch mechanism (e.g., an API call) to retrieve data related to the settings being displayed on the page. This integration is done through the `fetch` function passed as a prop to the [`useSettingsPage`](./?path=/story/base-components-pages-settings-page-hooks-usesettingspage--usesettingspage) hook, allowing the component to retrieve the necessary data for rendering. You can use the [`useSettings`](./?path=/story/base-components-pages-settings-page-hooks-usesettings--usesettings) to access a fetched settings.
16
+
17
+ 3. **Handling Save and Validation Logic**: The [useForm](https://react-hook-form.com/docs/useform) hook from [react-hook-form](https://react-hook-form.com/) is used to create a form object, and the `onSave` function passed as a prop to the [`useSettingsPage`](./?path=/story/components-page-settingspage-hooks-usesettingspage--usesettingspage) hook, is triggered when the user initiates a save action.
18
+
19
+ 4. **Easy integration with open platform capabilities**: You can create a container in DevCenter and WixPatterns will fetch and present relevant extensions. You can use [`MoreActions`](./?path=/story/features-actions-more-actions--moreactions) to get Menu Item Extensions.
20
+
21
+ In summary, the ``SettingsPage`` component and the associated [`useSettingsPage`](./?path=/story/base-components-pages-settings-page-hooks-usesettingspage--usesettingspage) hook together provide a streamlined approach to rendering, fetching, saving, and validating data for a specific settings within an application.
22
+
23
+
24
+ ## Examples
25
+
26
+ ### Variations
27
+
28
+ ### Basic
29
+
30
+ This example demonstrates a basic usage of the `SettingsPage`.
31
+
32
+ ```tsx
33
+ import React from 'react';
34
+ import {
35
+ SettingsPage,
36
+ SettingsPageState,
37
+ useSettings,
38
+ useSettingsPage,
39
+ } from '@wix/patterns';
40
+ import { useForm } from '@wix/patterns/form';
41
+ import { Box, Card, Text } from '@wix/design-system';
42
+
43
+ interface MySettings {
44
+ id: string;
45
+ name?: string;
46
+ createdAt: Date;
47
+ updatedAt: Date;
48
+ }
49
+
50
+ interface FormValues {
51
+ name?: string;
52
+ }
53
+
54
+ function Basic() {
55
+ const form = useForm<FormValues>();
56
+ const state: SettingsPageState<MySettings, FormValues> = useSettingsPage<
57
+ MySettings,
58
+ FormValues
59
+ >({
60
+ form,
61
+ onCancel: async () => console.log('Cancel clicked!'),
62
+ onSave: async () => {
63
+ const formValues = form.getValues();
64
+ console.log('formValues', formValues); // Save updated settings
65
+ },
66
+ saveErrorToast: (e) => 'Failed to save',
67
+ fetch: () =>
68
+ Promise.resolve({
69
+ settings: {
70
+ id: 'id',
71
+ name: 'Settings Name',
72
+ createdAt: new window.Date(),
73
+ updatedAt: new window.Date(),
74
+ },
75
+ }),
76
+ });
77
+
78
+ const settings = useSettings<MySettings, FormValues>(state);
79
+
80
+ return (
81
+ <SettingsPage state={state}>
82
+ <SettingsPage.Header title={{ text: settings?.name ?? '' }} />
83
+ <SettingsPage.Content>
84
+ <SettingsPage.MainContent>
85
+ <SettingsPage.Card minHeight="24px">
86
+ <Card.Header title="Name Card" />
87
+ <Card.Divider />
88
+ <Card.Content>
89
+ <Box gap="SP2" direction="vertical">
90
+ <Text>{settings?.name}</Text>
91
+ </Box>
92
+ </Card.Content>
93
+ </SettingsPage.Card>
94
+ </SettingsPage.MainContent>
95
+ </SettingsPage.Content>
96
+ </SettingsPage>
97
+ );
98
+ }
99
+ ```
100
+
101
+ ---
102
+
103
+ ### 2 Columns
104
+
105
+ This example illustrates the use of both main and additional content.
106
+
107
+ ```tsx
108
+ import React from 'react';
109
+ import {
110
+ SettingsPage,
111
+ SettingsPageState,
112
+ useSettings,
113
+ useSettingsPage,
114
+ } from '@wix/patterns';
115
+ import { useForm } from '@wix/patterns/form';
116
+ import { Box, Card, Text } from '@wix/design-system';
117
+
118
+ interface MySettings {
119
+ id: string;
120
+ name?: string;
121
+ createdAt: Date;
122
+ updatedAt: Date;
123
+ }
124
+
125
+ function TwoColumns() {
126
+ const form = useForm();
127
+ const state: SettingsPageState<MySettings> = useSettingsPage<MySettings>({
128
+ form,
129
+ onCancel: async () => console.log('Cancel clicked!'),
130
+ onSave: async () => {
131
+ const formValues = form.getValues();
132
+ console.log('formValues', formValues); // Save updated settings
133
+ },
134
+ saveErrorToast: (e) => 'Failed to save',
135
+ fetch: () =>
136
+ Promise.resolve({
137
+ settings: {
138
+ id: 'id',
139
+ name: 'Settings Name',
140
+ createdAt: new window.Date(),
141
+ updatedAt: new window.Date(),
142
+ },
143
+ }),
144
+ });
145
+
146
+ const settings = useSettings<MySettings>(state);
147
+
148
+ return (
149
+ <SettingsPage state={state}>
150
+ <SettingsPage.Header title={{ text: settings?.name ?? '' }} />
151
+ <SettingsPage.Content>
152
+ <SettingsPage.MainContent>
153
+ <SettingsPage.Card minHeight="24px">
154
+ <Card.Header title="Main Content Card" />
155
+ <Card.Divider />
156
+ <Card.Content>
157
+ <Box gap="SP2" direction="vertical">
158
+ <Text>Stretched to 8/12 of available space.</Text>
159
+ </Box>
160
+ </Card.Content>
161
+ </SettingsPage.Card>
162
+ </SettingsPage.MainContent>
163
+ <SettingsPage.AdditionalContent>
164
+ <SettingsPage.Card minHeight="24px">
165
+ <Card.Header title="Side Content Card" />
166
+ <Card.Divider />
167
+ <Card.Content>
168
+ <Box gap="SP2" direction="vertical">
169
+ <Text>Stretched to 4/12 of available space.</Text>
170
+ </Box>
171
+ </Card.Content>
172
+ </SettingsPage.Card>
173
+ </SettingsPage.AdditionalContent>
174
+ </SettingsPage.Content>
175
+ </SettingsPage>
176
+ );
177
+ }
178
+ ```
179
+
180
+ ---
181
+
182
+ ### Loading
183
+
184
+ This sample illustrates the skeleton state of an settings page based on the provided structure.
185
+
186
+ ```tsx
187
+ import React from 'react';
188
+ import {
189
+ SettingsPage,
190
+ SettingsPageState,
191
+ useSettingsPage,
192
+ } from '@wix/patterns';
193
+ import { useForm } from '@wix/patterns/form';
194
+ import { Box, Card, Text } from '@wix/design-system';
195
+
196
+ interface MySettings {
197
+ id: string;
198
+ name?: string;
199
+ createdAt: Date;
200
+ updatedAt: Date;
201
+ }
202
+
203
+ interface FormFields {
204
+ id: string;
205
+ name?: string;
206
+ }
207
+
208
+ function Loading() {
209
+ const form = useForm<FormFields>();
210
+ const state: SettingsPageState<MySettings, FormFields> = useSettingsPage<
211
+ MySettings,
212
+ FormFields
213
+ >({
214
+ form,
215
+ onCancel: async () => console.log('Cancel clicked!'),
216
+ onSave: async () => {
217
+ const formValues = form.getValues();
218
+ console.log('formValues', formValues); // Save updated settings
219
+ },
220
+ saveErrorToast: (e) => 'Failed to save',
221
+ fetch: () =>
222
+ new Promise((resolve) => {
223
+ const dateToResolve = new window.Date(window.Date.now());
224
+ // keep waiting :)
225
+ if (dateToResolve.getFullYear() === 2500) {
226
+ resolve({
227
+ settings: {
228
+ id: 'id',
229
+ name: 'My Settings',
230
+ createdAt: new window.Date(),
231
+ updatedAt: new window.Date(),
232
+ },
233
+ });
234
+ }
235
+ }),
236
+ });
237
+
238
+ return (
239
+ <SettingsPage state={state}>
240
+ <SettingsPage.Header title={{ text: 'Settings Page' }} />
241
+ <SettingsPage.Content>
242
+ <SettingsPage.MainContent>
243
+ <SettingsPage.Card minHeight="24px">
244
+ <Card.Header title="Card" />
245
+ <Card.Divider />
246
+ <Card.Content>
247
+ <Box>
248
+ <Text>Main Card #1</Text>
249
+ </Box>
250
+ </Card.Content>
251
+ </SettingsPage.Card>
252
+ <SettingsPage.Card minHeight="24px">
253
+ <Card.Header title="Card" />
254
+ <Card.Divider />
255
+ <Card.Content>
256
+ <Box>
257
+ <Text>Main Card #2</Text>
258
+ </Box>
259
+ </Card.Content>
260
+ </SettingsPage.Card>
261
+ </SettingsPage.MainContent>
262
+ <SettingsPage.AdditionalContent>
263
+ <SettingsPage.Card minHeight="24px">
264
+ <Card.Header title="Card" />
265
+ <Card.Divider />
266
+ <Card.Content>
267
+ <Box>
268
+ <Text>Side Card #1</Text>
269
+ </Box>
270
+ </Card.Content>
271
+ </SettingsPage.Card>
272
+ <SettingsPage.Card minHeight="24px">
273
+ <Card.Header title="Card" />
274
+ <Card.Divider />
275
+ <Card.Content>
276
+ <Box>
277
+ <Text>Side Card #2</Text>
278
+ </Box>
279
+ </Card.Content>
280
+ </SettingsPage.Card>
281
+ </SettingsPage.AdditionalContent>
282
+ </SettingsPage.Content>
283
+ </SettingsPage>
284
+ );
285
+ }
286
+ ```
287
+
288
+ ---
289
+
290
+ ### Error on Fetch
291
+
292
+ This example demonstrates the error state when fetching an settings fails.
293
+
294
+ ```tsx
295
+ import React from 'react';
296
+ import {
297
+ SettingsPage,
298
+ SettingsPageState,
299
+ useSettings,
300
+ useSettingsPage,
301
+ } from '@wix/patterns';
302
+ import { useForm } from '@wix/patterns/form';
303
+ import { Box, Card, Text } from '@wix/design-system';
304
+
305
+ interface MySettings {
306
+ id: string;
307
+ name?: string;
308
+ createdAt: Date;
309
+ updatedAt: Date;
310
+ }
311
+
312
+ function FetchError() {
313
+ const form = useForm();
314
+ const state: SettingsPageState<MySettings> = useSettingsPage<MySettings>({
315
+ form,
316
+ onCancel: async () => console.log('Cancel clicked!'),
317
+ onSave: async () => {
318
+ const formValues = form.getValues();
319
+ console.log('formValues', formValues); // Save updated settings
320
+ },
321
+ saveErrorToast: (e) => 'Failed to save',
322
+ fetch: () =>
323
+ new Promise((_, reject) =>
324
+ window.setTimeout(() => reject(new Error('Something went wrong')), 1000),
325
+ ),
326
+ });
327
+
328
+ const settings = useSettings<MySettings>(state);
329
+
330
+ return (
331
+ <SettingsPage state={state}>
332
+ <SettingsPage.Header title={{ text: settings?.name ?? '' }} />
333
+ <SettingsPage.Content>
334
+ <SettingsPage.MainContent>
335
+ <SettingsPage.Card minHeight="24px">
336
+ <Card.Header title="Main Content Card" />
337
+ <Card.Divider />
338
+ <Card.Content>
339
+ <Box gap="SP2" direction="vertical">
340
+ <Text>Stretched to 8/12 of available space.</Text>
341
+ </Box>
342
+ </Card.Content>
343
+ </SettingsPage.Card>
344
+ </SettingsPage.MainContent>
345
+ <SettingsPage.AdditionalContent>
346
+ <SettingsPage.Card minHeight="24px">
347
+ <Card.Header title="Side Content Card" />
348
+ <Card.Divider />
349
+ <Card.Content>
350
+ <Box gap="SP2" direction="vertical">
351
+ <Text>Stretched to 4/12 of available space.</Text>
352
+ </Box>
353
+ </Card.Content>
354
+ </SettingsPage.Card>
355
+ </SettingsPage.AdditionalContent>
356
+ </SettingsPage.Content>
357
+ </SettingsPage>
358
+ );
359
+ }
360
+ ```
361
+
362
+ ---
363
+
364
+ ### Error on Save
365
+
366
+ This example demonstrates the error toast when saving an settings fails.
367
+
368
+ ```tsx
369
+ import React from 'react';
370
+ import {
371
+ SettingsPage,
372
+ SettingsPageState,
373
+ useSettings,
374
+ useSettingsPage,
375
+ } from '@wix/patterns';
376
+ import { useForm } from '@wix/patterns/form';
377
+ import { Box, Card, Text } from '@wix/design-system';
378
+
379
+ interface MySettings {
380
+ id: string;
381
+ name?: string;
382
+ createdAt: Date;
383
+ updatedAt: Date;
384
+ }
385
+
386
+ function SaveError() {
387
+ const form = useForm();
388
+ const state: SettingsPageState<MySettings> = useSettingsPage<MySettings>({
389
+ form,
390
+ onCancel: async () => console.log('Cancel clicked!'),
391
+ onSave: () => Promise.reject(new Error('Something went wrong')),
392
+ saveErrorToast: (e, { retry }) => ({
393
+ message: 'oops.. unknown error',
394
+ action: { text: 'Retry', onClick: retry },
395
+ }),
396
+ fetch: () =>
397
+ Promise.resolve({
398
+ settings: {
399
+ id: 'id',
400
+ name: 'Settings Name',
401
+ createdAt: new window.Date(),
402
+ updatedAt: new window.Date(),
403
+ },
404
+ }),
405
+ });
406
+
407
+ const settings = useSettings<MySettings>(state);
408
+
409
+ return (
410
+ <SettingsPage state={state}>
411
+ <SettingsPage.Header title={{ text: settings?.name ?? '' }} />
412
+ <SettingsPage.Content>
413
+ <SettingsPage.MainContent>
414
+ <SettingsPage.Card minHeight="24px">
415
+ <Card.Header title="Card" />
416
+ <Card.Divider />
417
+ <Card.Content>
418
+ <Box gap="SP2" direction="vertical">
419
+ <Text>I'm a card</Text>
420
+ </Box>
421
+ </Card.Content>
422
+ </SettingsPage.Card>
423
+ </SettingsPage.MainContent>
424
+ </SettingsPage.Content>
425
+ </SettingsPage>
426
+ );
427
+ }
428
+ ```
429
+
430
+ ---
431
+
432
+ ### Developer Examples
433
+
434
+ ### Input initialization with useController
435
+
436
+ This demonstrates how to use [useController](https://react-hook-form.com/docs/usecontroller) with the default value set at the `Card.Content` level. Note that the `state.settings` value is initialized following the Card skeleton loader. To obtain the initial value, it must be accessed within the Card.Content child, as illustrated in the following example. Accessing it before or at a higher level will result in an `undefined` value.
437
+
438
+ ```tsx
439
+ import React from 'react';
440
+ import {
441
+ SettingsPage,
442
+ SettingsPageState,
443
+ useSettings,
444
+ useSettingsPage,
445
+ useSettingsPageContext,
446
+ } from '@wix/patterns';
447
+ import { useController, useForm } from '@wix/patterns/form';
448
+ import { Box, Card, FormField, Input } from '@wix/design-system';
449
+
450
+ interface MySettings {
451
+ id: string;
452
+ name?: string;
453
+ createdAt: Date;
454
+ updatedAt: Date;
455
+ }
456
+
457
+ interface FormValues {
458
+ name?: string;
459
+ }
460
+
461
+ function useControllerExample() {
462
+ const form = useForm<FormValues>();
463
+ const state: SettingsPageState<MySettings, FormValues> = useSettingsPage<
464
+ MySettings,
465
+ FormValues
466
+ >({
467
+ form,
468
+ onCancel: async () => console.log('Cancel clicked!'),
469
+ onSave: async () => {
470
+ const formValues = form.getValues();
471
+ console.log('formValues', formValues); // Save updated settings
472
+ },
473
+ saveErrorToast: (e) => 'Failed to save',
474
+ fetch: () =>
475
+ Promise.resolve({
476
+ settings: {
477
+ id: 'id',
478
+ name: 'Settings Name',
479
+ createdAt: new window.Date(),
480
+ updatedAt: new window.Date(),
481
+ },
482
+ }),
483
+ });
484
+
485
+ // Usually we will extract this component to a separate file
486
+ const CardContent = () => {
487
+ const pageState = useSettingsPageContext<MySettings, FormValues>();
488
+ const name = useController({
489
+ name: 'name',
490
+ control: pageState.form.control,
491
+ defaultValue: pageState.settings?.name,
492
+ rules: {
493
+ required: { value: true, message: 'This field is required!' },
494
+ },
495
+ });
496
+
497
+ return (
498
+ <Box gap="SP2" direction="vertical">
499
+ <FormField label="Name">
500
+ <Input
501
+ dataHook="name-input"
502
+ inputRef={name.field.ref}
503
+ value={name.field.value}
504
+ onChange={name.field.onChange}
505
+ onBlur={name.field.onBlur}
506
+ />
507
+ </FormField>
508
+ </Box>
509
+ );
510
+ };
511
+
512
+ const settings = useSettings<MySettings, FormValues>(state);
513
+
514
+ return (
515
+ <SettingsPage state={state}>
516
+ <SettingsPage.Header title={{ text: settings?.name ?? '' }} />
517
+ <SettingsPage.Content>
518
+ <SettingsPage.MainContent>
519
+ <SettingsPage.Card minHeight="24px">
520
+ <Card.Header title="Name Card" />
521
+ <Card.Divider />
522
+ <Card.Content>
523
+ <CardContent />
524
+ </Card.Content>
525
+ </SettingsPage.Card>
526
+ </SettingsPage.MainContent>
527
+ </SettingsPage.Content>
528
+ </SettingsPage>
529
+ );
530
+ }
531
+ ```
532
+
533
+ ---
534
+
535
+ ### Input initialization with Controller
536
+
537
+ This demonstrates how to use [Controller](https://react-hook-form.com/docs/usecontroller/controller) where you can easily access the settings by using `useSettings`. This method allows for accessing the settings much earlier in the process. As a result, the default value will be dynamically updated as soon as the settings itself is updated, as shown in the example below.
538
+
539
+ ```tsx
540
+ import React from 'react';
541
+ import {
542
+ SettingsPage,
543
+ SettingsPageState,
544
+ useSettings,
545
+ useSettingsPage,
546
+ } from '@wix/patterns';
547
+ import { Controller, useForm } from '@wix/patterns/form';
548
+ import { Card, FormField, Input } from '@wix/design-system';
549
+
550
+ interface MySettings {
551
+ id: string;
552
+ name?: string;
553
+ createdAt: Date;
554
+ updatedAt: Date;
555
+ }
556
+
557
+ interface FormValues {
558
+ name?: string;
559
+ }
560
+
561
+ function ControllerExample() {
562
+ const form = useForm<FormValues>();
563
+ const state: SettingsPageState<MySettings, FormValues> = useSettingsPage<
564
+ MySettings,
565
+ FormValues
566
+ >({
567
+ form,
568
+ onCancel: async () => console.log('Cancel clicked!'),
569
+ onSave: async () => {
570
+ const formValues = form.getValues();
571
+ console.log('formValues', formValues); // Save updated settings
572
+ },
573
+ saveErrorToast: (e) => 'Failed to save',
574
+ fetch: () =>
575
+ Promise.resolve({
576
+ settings: {
577
+ id: 'id',
578
+ name: 'Settings Name',
579
+ createdAt: new window.Date(),
580
+ updatedAt: new window.Date(),
581
+ },
582
+ }),
583
+ });
584
+
585
+ const settings = useSettings<MySettings, FormValues>(state);
586
+
587
+ return (
588
+ <SettingsPage state={state}>
589
+ <SettingsPage.Header title={{ text: settings?.name ?? '' }} />
590
+ <SettingsPage.Content>
591
+ <SettingsPage.MainContent>
592
+ <SettingsPage.Card minHeight="24px">
593
+ <Card.Header title="Name Card" />
594
+ <Card.Divider />
595
+ <Card.Content>
596
+ <Controller
597
+ control={form.control}
598
+ name="name"
599
+ defaultValue={settings?.name}
600
+ rules={{
601
+ required: { value: true, message: 'This field is required!' },
602
+ }}
603
+ render={({
604
+ field: { onChange, onBlur, value, ref },
605
+ fieldState: { invalid, error },
606
+ }) => (
607
+ <FormField
608
+ label="Name"
609
+ status={invalid ? 'error' : undefined}
610
+ statusMessage={error?.message}
611
+ >
612
+ <Input
613
+ dataHook="name-input"
614
+ inputRef={ref}
615
+ value={value}
616
+ onChange={onChange}
617
+ onBlur={onBlur}
618
+ />
619
+ </FormField>
620
+ )}
621
+ />
622
+ </Card.Content>
623
+ </SettingsPage.Card>
624
+ </SettingsPage.MainContent>
625
+ </SettingsPage.Content>
626
+ </SettingsPage>
627
+ );
628
+ }
629
+ ```
630
+
631
+ ## API
632
+
633
+ ### Extends
634
+
635
+ [Page](https://www.docs.wixdesignsystem.com/?path=/story/components-layout-page--page)
636
+
637
+ ### Props
638
+
639
+ | Prop | Type | Required | Default | Description |
640
+ |------|------|----------|---------|-------------|
641
+ | `state` | `SettingsPageState<T, V>` | Yes | - | SettingsPageState instance created with the `useSettingsPage` hook |
642
+ | `children` | `ReactNode` | No | - | Accepts compound components as child items: - `<Page.Header/>` - `<Page.Content/>` - `<Page.Tail/>` - `<Page.Section/>` - `<Page.Footer/>` |
643
+ | `dataHook` | `string` | No | - | Applies a data-hook HTML attribute that can be used in the tests |
644
+ | `backgroundImageUrl` | `string` | No | - | Provides a link to the background image source (URL). Image will be displayed at the top of a page, underneath the \<Page.Header/>. |
645
+ | `maxWidth` | `number` | No | - | Sets the maximum width of the page (paddings excluded) |
646
+ | `minWidth` | `number` | No | - | Sets the minimum width of the page (paddings excluded) |
647
+ | `height` | `string` | No | - | Sets the height of the page in pixels (px), viewport height (vh), etc. |
648
+ | `sidePadding` | `number` | No | - | Sets the side paddings of a page |
649
+ | `className` | `string` | No | - | Specifies a CSS class name to be appended to the component’s root element. |
650
+ | `gradientClassName` | `string` | No | - | Specifies a CSS class name that defines a gradient background for \<Page.Header/> |
651
+ | `scrollableContentRef` | `((ref: HTMLElement \| null) => void)` | No | - | Defines a reference called together with page scrollable content ref after page mount. <br/> **Note** - if you need this ref only for listening to scroll events on the scrollable content then use this prop instead: `scrollProps = {onScrollChanged/onScrollAreaChanged}` |
652
+ | `zIndex` | `number` | No | - | Specifies the stack order (z-index) of a page |
653
+ | `horizontalScroll` | `boolean` | No | - | Enables page content to scroll horizontally when its width exceed maximum allowed width |
654
+ | `scrollProps` | `ScrollableContainerCommonProps` | No | - | Pass properties related to the scrollable content of the page. <br/> **onScrollAreaChanged** - defines a handler function for scroll area changes. Function is triggered when the user scrolls to a different area of the scrollable content. See signature for possible areas: `function({area: {y: AreaY, x: AreaX}, target: HTMLElement}) => void` `AreaY`: top \| middle \| bottom \| none `AreaX`: start \| middle \| end \| none (not implemented yet) <br/> **onScrollAreaChanged** - defines a general handler for scroll changes with throttling (100ms): `function({target: HTMLElement}) => void` |
655
+
656
+ ## BI
657
+
658
+ ### Settings Page Events
659
+
660
+ | Event | Description |
661
+ |-----------------------------------------------------------------------------------------------------------|------------------------------------------------------|
662
+ | [144:150](https://bo.wix.com/data-tools/bi-catalog-app/event/144:150) | Sent on `Cancel` / `Save` click with `isValid` flag. |
663
+ | [144:149](https://bo.wix.com/data-tools/bi-catalog-app/event/144:149) | Sent on unsuccessful `Save`. |
664
+ | [144:141](https://bo.wix.com/data-tools/bi-catalog-app/event/144:141) | Sent when a user clicks on a "try again" CTA. |
665
+ | [144:174](https://bo.wix.com/data-tools/bi-catalog-app/event/144:174) | Sent on navigation with a dirty state. |
666
+
667
+
668
+
669
+ ### Component load events
670
+ Event | Description |
671
+ --------- | --------------- |
672
+ [144:110](https://bo.wix.com/data-tools/bi-catalog-app/event/144:110) | Sent when a Wix Patterns component starts loading
673
+ [144:111](https://bo.wix.com/data-tools/bi-catalog-app/event/144:111) | Sent when a Wix Patterns component is done loading
674
+
675
+
676
+ #### 🐪 Couldn't find what you need?
677
+ * Check our [BI Catalog](https://bo.wix.com/data-tools/bi-catalog-app?viewId=all-items-view&selectedColumns=src%2Cevid%2Cname%2Cowner%2Cproduct%2CuserType+false%2CdateUpdated%2CdateCreated+false%2CcreatedBy+false%2Cstatus&source=%5B%7B%22id%22%3A%22144%22%2C%22name%22%3A%22144+-+Cairo%22%7D%5D)
678
+ * Contact us on [#cairo-bi](https://wix.slack.com/archives/C03N53KURH9)
679
+
680
+
@@ -0,0 +1,22 @@
1
+ # SettingsPageState
2
+
3
+ **Category:** Base Components/Pages/Settings Page/State
4
+
5
+ ## API
6
+
7
+ ### Overview
8
+
9
+ `SettingsPageState` is the state object that drives a [`SettingsPage`](./?path=/story/base-components-pages-settings-page--settingspage). It is created by the [`useSettingsPage`](./?path=/story/base-components-pages-settings-page-hooks-usesettingspage--usesettingspage) hook and manages:
10
+
11
+ - **Settings fetching** — loads the current settings from the server via `fetch`
12
+ - **Form state** — integrates with `react-hook-form` for editing
13
+ - **Save / cancel flow** — calls `onSave` and `onCancel` with success/error toasts
14
+ - **Dirty-form protection** — warns on `beforeunload` when the form has unsaved changes
15
+
16
+ Pass the returned state to ``.
17
+
18
+ ```tsx
19
+ import { useSettingsPage } from '@wix/patterns';
20
+ // Returns SettingsPageState
21
+ ```
22
+