@wix/patterns 1.381.0 → 1.383.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 (631) 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.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  14. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  16. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  21. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  22. package/dist/cjs/components/CustomColumnsPanel/ColumnsList.js.map +1 -1
  23. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsCTAButton.js +8 -7
  24. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
  25. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.js +58 -0
  26. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.js.map +1 -0
  27. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.js +26 -0
  28. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.js.map +1 -0
  29. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsNoResults.js.map +1 -1
  30. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
  31. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsSearch.js.map +1 -1
  32. package/dist/cjs/components/CustomColumnsPanel/index.js +6 -0
  33. package/dist/cjs/components/CustomColumnsPanel/index.js.map +1 -1
  34. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  35. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  36. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  37. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  38. package/dist/cjs/components/EditableTable/EditableColumnHeader.uni.driver.js +2 -0
  39. package/dist/cjs/components/EditableTable/EditableColumnHeader.uni.driver.js.map +1 -1
  40. package/dist/cjs/components/EditableTable/EditableTable.js +13 -0
  41. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
  42. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  43. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  44. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  45. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  46. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  47. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  48. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  49. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  50. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  51. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  52. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  53. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  54. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  55. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  56. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  57. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  58. package/dist/cjs/components/EditableTable/cellTypes/index.js +5 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/index.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/richContent/Edit.js +4 -4
  69. package/dist/cjs/components/EditableTable/cellTypes/richContent/Edit.js.map +1 -1
  70. package/dist/cjs/components/EditableTable/cellTypes/richContent/View.uni.driver.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/richText/Edit.js +44 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/richText/Edit.js.map +1 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/richText/Edit.uni.driver.js +13 -0
  74. package/dist/cjs/components/EditableTable/cellTypes/richText/Edit.uni.driver.js.map +1 -0
  75. package/dist/cjs/components/EditableTable/cellTypes/richText/View.js +29 -0
  76. package/dist/cjs/components/EditableTable/cellTypes/richText/View.js.map +1 -0
  77. package/dist/cjs/components/EditableTable/cellTypes/richText/View.uni.driver.js +13 -0
  78. package/dist/cjs/components/EditableTable/cellTypes/richText/View.uni.driver.js.map +1 -0
  79. package/dist/cjs/components/EditableTable/cellTypes/richText/index.js +58 -0
  80. package/dist/cjs/components/EditableTable/cellTypes/richText/index.js.map +1 -0
  81. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  82. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  84. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  86. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  88. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  90. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/video/Edit.js +55 -0
  92. package/dist/cjs/components/EditableTable/cellTypes/video/Edit.js.map +1 -0
  93. package/dist/cjs/components/EditableTable/cellTypes/video/Edit.uni.driver.js +15 -0
  94. package/dist/cjs/components/EditableTable/cellTypes/video/Edit.uni.driver.js.map +1 -0
  95. package/dist/cjs/components/EditableTable/cellTypes/video/View.js +22 -0
  96. package/dist/cjs/components/EditableTable/cellTypes/video/View.js.map +1 -0
  97. package/dist/cjs/components/EditableTable/cellTypes/video/View.uni.driver.js +16 -0
  98. package/dist/cjs/components/EditableTable/cellTypes/video/View.uni.driver.js.map +1 -0
  99. package/dist/cjs/components/EditableTable/cellTypes/video/index.js +22 -0
  100. package/dist/cjs/components/EditableTable/cellTypes/video/index.js.map +1 -0
  101. package/dist/cjs/components/EditableTable/useBuiltInHeaderActions.js +27 -6
  102. package/dist/cjs/components/EditableTable/useBuiltInHeaderActions.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/SchemaCard/SchemaCard.js +109 -0
  136. package/dist/cjs/components/SchemaCard/SchemaCard.js.map +1 -0
  137. package/dist/cjs/components/SchemaCard/index.js +10 -0
  138. package/dist/cjs/components/SchemaCard/index.js.map +1 -0
  139. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  140. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  141. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  142. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  143. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  144. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  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/TagsFilter/TagsFilter.js +40 -16
  150. package/dist/cjs/components/TagsFilter/TagsFilter.js.map +1 -1
  151. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  152. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  153. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  154. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  155. package/dist/cjs/components/common.st.css.js +4 -4
  156. package/dist/cjs/components/common.st.css.js.map +1 -1
  157. package/dist/cjs/hooks/useEditableTableCollection.js +1 -0
  158. package/dist/cjs/hooks/useEditableTableCollection.js.map +1 -1
  159. package/dist/cjs/hooks/useEntityPage.js.map +1 -1
  160. package/dist/cjs/index.js +14 -0
  161. package/dist/cjs/index.js.map +1 -1
  162. package/dist/cjs/providers/SchemaCardContext.js +12 -0
  163. package/dist/cjs/providers/SchemaCardContext.js.map +1 -0
  164. package/dist/cjs/providers/SchemaContext.js +9 -0
  165. package/dist/cjs/providers/SchemaContext.js.map +1 -0
  166. package/dist/cjs/providers/index.js +10 -4
  167. package/dist/cjs/providers/index.js.map +1 -1
  168. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  169. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  170. package/dist/cjs/state/CustomColumnsDragAndDropState.js +7 -6
  171. package/dist/cjs/state/CustomColumnsDragAndDropState.js.map +1 -1
  172. package/dist/cjs/state/CustomColumnsEntityPageState.js +137 -0
  173. package/dist/cjs/state/CustomColumnsEntityPageState.js.map +1 -0
  174. package/dist/cjs/state/CustomColumnsPanelStateBase.js +70 -0
  175. package/dist/cjs/state/CustomColumnsPanelStateBase.js.map +1 -0
  176. package/dist/cjs/state/CustomColumnsState.js +13 -56
  177. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  178. package/dist/cjs/state/EditableTable/EditableTableState.js +4 -0
  179. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  180. package/dist/cjs/state/EditableTable/FieldActionsState.js +49 -0
  181. package/dist/cjs/state/EditableTable/FieldActionsState.js.map +1 -0
  182. package/dist/cjs/state/EditableTable/index.js.map +1 -1
  183. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  184. package/dist/cjs/state/EntityPage/EntityPageState.js +1 -28
  185. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  186. package/dist/cjs/state/EntityPage/index.js.map +1 -1
  187. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  188. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  189. package/dist/cjs/state/SchemaCard/SchemaCardState.js +33 -0
  190. package/dist/cjs/state/SchemaCard/SchemaCardState.js.map +1 -0
  191. package/dist/cjs/state/{EntityPage/EntityPageFieldsState.js → SchemaCard/SchemaFieldsState.js} +5 -7
  192. package/dist/cjs/state/SchemaCard/SchemaFieldsState.js.map +1 -0
  193. package/dist/cjs/state/SchemaCard/index.js +16 -0
  194. package/dist/cjs/state/SchemaCard/index.js.map +1 -0
  195. package/dist/cjs/state/TagsModalState.js +1 -1
  196. package/dist/cjs/state/TagsModalState.js.map +1 -1
  197. package/dist/cjs/styles.global.css +1 -1
  198. package/dist/cjs/test-utils/TagsMocks.js +88 -10
  199. package/dist/cjs/test-utils/TagsMocks.js.map +1 -1
  200. package/dist/cjs/types/SchemaConfig.js.map +1 -1
  201. package/dist/cjs/version.js +1 -1
  202. package/dist/cjs/version.js.map +1 -1
  203. package/dist/cjs/wix-design-system-version.js +1 -1
  204. package/dist/cjs/wix-design-system-version.js.map +1 -1
  205. package/dist/docs/index.json +24 -24
  206. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  207. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  208. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  209. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  210. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  211. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  212. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  213. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  214. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  215. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  216. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  217. package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js +5 -2
  218. package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
  219. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.js +24 -0
  220. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.js.map +1 -0
  221. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.js +12 -0
  222. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.js.map +1 -0
  223. package/dist/esm/components/CustomColumnsPanel/index.js +1 -0
  224. package/dist/esm/components/CustomColumnsPanel/index.js.map +1 -1
  225. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  226. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  227. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  228. package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js +2 -0
  229. package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js.map +1 -1
  230. package/dist/esm/components/EditableTable/EditableTable.js +4 -0
  231. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  232. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  233. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  234. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  235. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  236. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  237. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  238. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  239. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  241. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  242. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  243. package/dist/esm/components/EditableTable/cellTypes/index.js +5 -1
  244. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  245. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  246. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  247. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  248. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  249. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  250. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  251. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  252. package/dist/esm/components/EditableTable/cellTypes/richContent/Edit.js +4 -2
  253. package/dist/esm/components/EditableTable/cellTypes/richContent/Edit.js.map +1 -1
  254. package/dist/esm/components/EditableTable/cellTypes/richContent/View.uni.driver.js.map +1 -1
  255. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.js +15 -0
  256. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.js.map +1 -0
  257. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.uni.driver.js +9 -0
  258. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.uni.driver.js.map +1 -0
  259. package/dist/esm/components/EditableTable/cellTypes/richText/View.js +6 -0
  260. package/dist/esm/components/EditableTable/cellTypes/richText/View.js.map +1 -0
  261. package/dist/esm/components/EditableTable/cellTypes/richText/View.uni.driver.js +9 -0
  262. package/dist/esm/components/EditableTable/cellTypes/richText/View.uni.driver.js.map +1 -0
  263. package/dist/esm/components/EditableTable/cellTypes/richText/index.js +25 -0
  264. package/dist/esm/components/EditableTable/cellTypes/richText/index.js.map +1 -0
  265. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  266. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  267. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  268. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  269. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  270. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  271. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  272. package/dist/esm/components/EditableTable/cellTypes/video/Edit.js +12 -0
  273. package/dist/esm/components/EditableTable/cellTypes/video/Edit.js.map +1 -0
  274. package/dist/esm/components/EditableTable/cellTypes/video/Edit.uni.driver.js +11 -0
  275. package/dist/esm/components/EditableTable/cellTypes/video/Edit.uni.driver.js.map +1 -0
  276. package/dist/esm/components/EditableTable/cellTypes/video/View.js +4 -0
  277. package/dist/esm/components/EditableTable/cellTypes/video/View.js.map +1 -0
  278. package/dist/esm/components/EditableTable/cellTypes/video/View.uni.driver.js +12 -0
  279. package/dist/esm/components/EditableTable/cellTypes/video/View.uni.driver.js.map +1 -0
  280. package/dist/esm/components/EditableTable/cellTypes/video/index.js +17 -0
  281. package/dist/esm/components/EditableTable/cellTypes/video/index.js.map +1 -0
  282. package/dist/esm/components/EditableTable/useBuiltInHeaderActions.js +16 -1
  283. package/dist/esm/components/EditableTable/useBuiltInHeaderActions.js.map +1 -1
  284. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  285. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  286. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  287. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  288. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  289. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  290. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  291. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  292. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  293. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  294. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  295. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  296. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  297. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  298. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  299. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  300. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  301. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  302. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  303. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  304. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  305. package/dist/esm/components/SchemaCard/SchemaCard.js +45 -0
  306. package/dist/esm/components/SchemaCard/SchemaCard.js.map +1 -0
  307. package/dist/esm/components/SchemaCard/index.js +2 -0
  308. package/dist/esm/components/SchemaCard/index.js.map +1 -0
  309. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  310. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  311. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  312. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  313. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  314. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  315. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  316. package/dist/esm/components/TagsFilter/TagsFilter.js +21 -12
  317. package/dist/esm/components/TagsFilter/TagsFilter.js.map +1 -1
  318. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  319. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  320. package/dist/esm/components/common.st.css.js +2 -2
  321. package/dist/esm/components/common.st.css.js.map +1 -1
  322. package/dist/esm/hooks/useEditableTableCollection.js +1 -0
  323. package/dist/esm/hooks/useEditableTableCollection.js.map +1 -1
  324. package/dist/esm/hooks/useEntityPage.js.map +1 -1
  325. package/dist/esm/index.js +2 -0
  326. package/dist/esm/index.js.map +1 -1
  327. package/dist/esm/providers/SchemaCardContext.js +7 -0
  328. package/dist/esm/providers/SchemaCardContext.js.map +1 -0
  329. package/dist/esm/providers/SchemaContext.js +4 -0
  330. package/dist/esm/providers/SchemaContext.js.map +1 -0
  331. package/dist/esm/providers/index.js +2 -1
  332. package/dist/esm/providers/index.js.map +1 -1
  333. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  334. package/dist/esm/state/CustomColumnsDragAndDropState.js +6 -6
  335. package/dist/esm/state/CustomColumnsDragAndDropState.js.map +1 -1
  336. package/dist/esm/state/CustomColumnsEntityPageState.js +120 -0
  337. package/dist/esm/state/CustomColumnsEntityPageState.js.map +1 -0
  338. package/dist/esm/state/CustomColumnsPanelStateBase.js +53 -0
  339. package/dist/esm/state/CustomColumnsPanelStateBase.js.map +1 -0
  340. package/dist/esm/state/CustomColumnsState.js +20 -53
  341. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  342. package/dist/esm/state/EditableTable/EditableTableState.js +2 -0
  343. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  344. package/dist/esm/state/EditableTable/FieldActionsState.js +38 -0
  345. package/dist/esm/state/EditableTable/FieldActionsState.js.map +1 -0
  346. package/dist/esm/state/EntityPage/EntityPageState.js +0 -22
  347. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  348. package/dist/esm/state/EntityPage/index.js.map +1 -1
  349. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  350. package/dist/esm/state/SchemaCard/SchemaCardState.js +22 -0
  351. package/dist/esm/state/SchemaCard/SchemaCardState.js.map +1 -0
  352. package/dist/esm/state/{EntityPage/EntityPageFieldsState.js → SchemaCard/SchemaFieldsState.js} +7 -5
  353. package/dist/esm/state/SchemaCard/SchemaFieldsState.js.map +1 -0
  354. package/dist/esm/state/SchemaCard/index.js +3 -0
  355. package/dist/esm/state/SchemaCard/index.js.map +1 -0
  356. package/dist/esm/state/TagsModalState.js +2 -2
  357. package/dist/esm/state/TagsModalState.js.map +1 -1
  358. package/dist/esm/styles.global.css +1 -1
  359. package/dist/esm/test-utils/TagsMocks.js +65 -10
  360. package/dist/esm/test-utils/TagsMocks.js.map +1 -1
  361. package/dist/esm/version.js +1 -1
  362. package/dist/esm/wix-design-system-version.js +1 -1
  363. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +25 -24
  364. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  365. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  366. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  367. package/dist/types/components/CustomColumns/CustomColumns.d.ts +1 -1
  368. package/dist/types/components/CustomColumns/CustomColumnsFull.d.ts +1 -1
  369. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts +2 -2
  370. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
  371. package/dist/types/components/CustomColumnsPanel/ColumnsList.d.ts +2 -2
  372. package/dist/types/components/CustomColumnsPanel/ColumnsList.d.ts.map +1 -1
  373. package/dist/types/components/CustomColumnsPanel/CustomColumnsCTAButton.d.ts.map +1 -1
  374. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.d.ts +14 -0
  375. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.d.ts.map +1 -0
  376. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.d.ts +8 -0
  377. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.d.ts.map +1 -0
  378. package/dist/types/components/CustomColumnsPanel/CustomColumnsNoResults.d.ts +2 -2
  379. package/dist/types/components/CustomColumnsPanel/CustomColumnsNoResults.d.ts.map +1 -1
  380. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanel.d.ts +2 -2
  381. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanel.d.ts.map +1 -1
  382. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanelEntry.d.ts +1 -1
  383. package/dist/types/components/CustomColumnsPanel/CustomColumnsSearch.d.ts +2 -2
  384. package/dist/types/components/CustomColumnsPanel/CustomColumnsSearch.d.ts.map +1 -1
  385. package/dist/types/components/CustomColumnsPanel/index.d.ts +1 -0
  386. package/dist/types/components/CustomColumnsPanel/index.d.ts.map +1 -1
  387. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
  388. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
  389. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  390. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  391. package/dist/types/components/EditableTable/EditableColumnHeader.uni.driver.d.ts +2 -0
  392. package/dist/types/components/EditableTable/EditableColumnHeader.uni.driver.d.ts.map +1 -1
  393. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  394. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -1
  395. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  396. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  397. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  398. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  399. package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
  400. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  401. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  402. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  403. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  404. package/dist/types/components/EditableTable/cellTypes/richContent/Edit.d.ts.map +1 -1
  405. package/dist/types/components/EditableTable/cellTypes/richContent/View.uni.driver.d.ts.map +1 -1
  406. package/dist/types/components/EditableTable/cellTypes/richText/Edit.d.ts +4 -0
  407. package/dist/types/components/EditableTable/cellTypes/richText/Edit.d.ts.map +1 -0
  408. package/dist/types/components/EditableTable/cellTypes/richText/Edit.uni.driver.d.ts +16 -0
  409. package/dist/types/components/EditableTable/cellTypes/richText/Edit.uni.driver.d.ts.map +1 -0
  410. package/dist/types/components/EditableTable/cellTypes/richText/View.d.ts +4 -0
  411. package/dist/types/components/EditableTable/cellTypes/richText/View.d.ts.map +1 -0
  412. package/dist/types/components/EditableTable/cellTypes/richText/View.uni.driver.d.ts +16 -0
  413. package/dist/types/components/EditableTable/cellTypes/richText/View.uni.driver.d.ts.map +1 -0
  414. package/dist/types/components/EditableTable/cellTypes/richText/index.d.ts +2 -0
  415. package/dist/types/components/EditableTable/cellTypes/richText/index.d.ts.map +1 -0
  416. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  417. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  418. package/dist/types/components/EditableTable/cellTypes/video/Edit.d.ts +4 -0
  419. package/dist/types/components/EditableTable/cellTypes/video/Edit.d.ts.map +1 -0
  420. package/dist/types/components/EditableTable/cellTypes/video/Edit.uni.driver.d.ts +18 -0
  421. package/dist/types/components/EditableTable/cellTypes/video/Edit.uni.driver.d.ts.map +1 -0
  422. package/dist/types/components/EditableTable/cellTypes/video/View.d.ts +4 -0
  423. package/dist/types/components/EditableTable/cellTypes/video/View.d.ts.map +1 -0
  424. package/dist/types/components/EditableTable/cellTypes/video/View.uni.driver.d.ts +16 -0
  425. package/dist/types/components/EditableTable/cellTypes/video/View.uni.driver.d.ts.map +1 -0
  426. package/dist/types/components/EditableTable/cellTypes/video/index.d.ts +5 -0
  427. package/dist/types/components/EditableTable/cellTypes/video/index.d.ts.map +1 -0
  428. package/dist/types/components/EditableTable/useBuiltInHeaderActions.d.ts.map +1 -1
  429. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  430. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  431. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  432. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  433. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  434. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  435. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  436. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +42 -40
  437. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -1
  438. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +38 -37
  439. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  440. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  441. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  442. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  443. package/dist/types/components/SchemaCard/SchemaCard.d.ts +17 -0
  444. package/dist/types/components/SchemaCard/SchemaCard.d.ts.map +1 -0
  445. package/dist/types/components/SchemaCard/index.d.ts +2 -0
  446. package/dist/types/components/SchemaCard/index.d.ts.map +1 -0
  447. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  448. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  449. package/dist/types/components/Table/Table.uni.driver.d.ts +27 -26
  450. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  451. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +38 -37
  452. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  453. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +41 -40
  454. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  455. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  456. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  457. package/dist/types/components/TagsFilter/TagsFilter.d.ts.map +1 -1
  458. package/dist/types/components/common.st.css.d.ts.map +1 -1
  459. package/dist/types/hooks/useEditableTableCollection.d.ts +2 -0
  460. package/dist/types/hooks/useEditableTableCollection.d.ts.map +1 -1
  461. package/dist/types/hooks/useEntityPage.d.ts +1 -10
  462. package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
  463. package/dist/types/index.d.ts +2 -1
  464. package/dist/types/index.d.ts.map +1 -1
  465. package/dist/types/providers/SchemaCardContext.d.ts +7 -0
  466. package/dist/types/providers/SchemaCardContext.d.ts.map +1 -0
  467. package/dist/types/providers/SchemaContext.d.ts +9 -0
  468. package/dist/types/providers/SchemaContext.d.ts.map +1 -0
  469. package/dist/types/providers/index.d.ts +2 -1
  470. package/dist/types/providers/index.d.ts.map +1 -1
  471. package/dist/types/state/CustomColumnsDragAndDropState.d.ts +20 -6
  472. package/dist/types/state/CustomColumnsDragAndDropState.d.ts.map +1 -1
  473. package/dist/types/state/CustomColumnsEntityPageState.d.ts +39 -0
  474. package/dist/types/state/CustomColumnsEntityPageState.d.ts.map +1 -0
  475. package/dist/types/state/CustomColumnsPanelStateBase.d.ts +34 -0
  476. package/dist/types/state/CustomColumnsPanelStateBase.d.ts.map +1 -0
  477. package/dist/types/state/CustomColumnsState.d.ts +8 -34
  478. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  479. package/dist/types/state/EditableTable/EditableTableState.d.ts +10 -0
  480. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
  481. package/dist/types/state/EditableTable/FieldActionsState.d.ts +16 -0
  482. package/dist/types/state/EditableTable/FieldActionsState.d.ts.map +1 -0
  483. package/dist/types/state/EditableTable/index.d.ts +2 -2
  484. package/dist/types/state/EditableTable/index.d.ts.map +1 -1
  485. package/dist/types/state/EditableTable/types.d.ts +6 -0
  486. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  487. package/dist/types/state/EntityPage/EntityPageState.d.ts +1 -22
  488. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  489. package/dist/types/state/EntityPage/index.d.ts +0 -1
  490. package/dist/types/state/EntityPage/index.d.ts.map +1 -1
  491. package/dist/types/state/SchemaCard/SchemaCardState.d.ts +21 -0
  492. package/dist/types/state/SchemaCard/SchemaCardState.d.ts.map +1 -0
  493. package/dist/types/state/{EntityPage/EntityPageFieldsState.d.ts → SchemaCard/SchemaFieldsState.d.ts} +9 -9
  494. package/dist/types/state/SchemaCard/SchemaFieldsState.d.ts.map +1 -0
  495. package/dist/types/state/SchemaCard/index.d.ts +3 -0
  496. package/dist/types/state/SchemaCard/index.d.ts.map +1 -0
  497. package/dist/types/state/TagsModalState.d.ts +1 -1
  498. package/dist/types/state/TagsModalState.d.ts.map +1 -1
  499. package/dist/types/test-utils/TagsMocks.d.ts +12 -7
  500. package/dist/types/test-utils/TagsMocks.d.ts.map +1 -1
  501. package/dist/types/testkit/enzyme.d.ts +198 -194
  502. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  503. package/dist/types/testkit/jsdom.d.ts +253 -246
  504. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  505. package/dist/types/testkit/playwright.d.ts +199 -194
  506. package/dist/types/testkit/playwright.d.ts.map +1 -1
  507. package/dist/types/testkit/puppeteer.d.ts +210 -205
  508. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  509. package/dist/types/types/SchemaConfig.d.ts +1 -0
  510. package/dist/types/types/SchemaConfig.d.ts.map +1 -1
  511. package/dist/types/version.d.ts +1 -1
  512. package/dist/types/wix-design-system-version.d.ts +1 -1
  513. package/package.json +8 -8
  514. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  515. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  516. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  517. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  518. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  519. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  520. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  521. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  522. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  523. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  524. package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +2 -2
  525. package/src/components/CustomColumnsPanel/ColumnsList.tsx +2 -2
  526. package/src/components/CustomColumnsPanel/CustomColumnsCTAButton.tsx +7 -2
  527. package/src/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.tsx +45 -0
  528. package/src/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.tsx +20 -0
  529. package/src/components/CustomColumnsPanel/CustomColumnsNoResults.tsx +2 -2
  530. package/src/components/CustomColumnsPanel/CustomColumnsPanel.tsx +2 -2
  531. package/src/components/CustomColumnsPanel/CustomColumnsSearch.tsx +2 -2
  532. package/src/components/CustomColumnsPanel/index.ts +1 -0
  533. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  534. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  535. package/src/components/EditableTable/EditableColumnHeader.uni.driver.ts +3 -0
  536. package/src/components/EditableTable/EditableTable.tsx +10 -0
  537. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  538. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  539. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  540. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  541. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  542. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  543. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  544. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  545. package/src/components/EditableTable/cellTypes/index.ts +6 -0
  546. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  547. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  548. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  549. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  550. package/src/components/EditableTable/cellTypes/richContent/Edit.tsx +4 -2
  551. package/src/components/EditableTable/cellTypes/richContent/View.uni.driver.ts +1 -4
  552. package/src/components/EditableTable/cellTypes/richText/Edit.tsx +39 -0
  553. package/src/components/EditableTable/cellTypes/richText/Edit.uni.driver.ts +10 -0
  554. package/src/components/EditableTable/cellTypes/richText/View.tsx +12 -0
  555. package/src/components/EditableTable/cellTypes/richText/View.uni.driver.ts +10 -0
  556. package/src/components/EditableTable/cellTypes/richText/index.tsx +40 -0
  557. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  558. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  559. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  560. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  561. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  562. package/src/components/EditableTable/cellTypes/video/Edit.tsx +35 -0
  563. package/src/components/EditableTable/cellTypes/video/Edit.uni.driver.ts +14 -0
  564. package/src/components/EditableTable/cellTypes/video/View.tsx +7 -0
  565. package/src/components/EditableTable/cellTypes/video/View.uni.driver.ts +13 -0
  566. package/src/components/EditableTable/cellTypes/video/index.ts +18 -0
  567. package/src/components/EditableTable/useBuiltInHeaderActions.tsx +20 -0
  568. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  569. package/src/components/Fade/Fade.st.css.ts +2 -2
  570. package/src/components/Heading/Heading.st.css.ts +2 -2
  571. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  572. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  573. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  574. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  575. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  576. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  577. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  578. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  579. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  580. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  581. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  582. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  583. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  584. package/src/components/SchemaCard/SchemaCard.tsx +80 -0
  585. package/src/components/SchemaCard/index.ts +1 -0
  586. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  587. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  588. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  589. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  590. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  591. package/src/components/TagsFilter/TagsFilter.tsx +32 -18
  592. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  593. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  594. package/src/components/common.st.css.ts +2 -2
  595. package/src/hooks/useEditableTableCollection.ts +3 -0
  596. package/src/hooks/useEntityPage.ts +1 -11
  597. package/src/index.ts +2 -1
  598. package/src/providers/SchemaCardContext.ts +10 -0
  599. package/src/providers/SchemaContext.tsx +12 -0
  600. package/src/providers/index.ts +2 -1
  601. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  602. package/src/state/CustomColumnsDragAndDropState.ts +18 -9
  603. package/src/state/CustomColumnsEntityPageState.ts +174 -0
  604. package/src/state/CustomColumnsPanelStateBase.ts +109 -0
  605. package/src/state/CustomColumnsState.ts +25 -89
  606. package/src/state/EditableTable/EditableTableState.ts +16 -0
  607. package/src/state/EditableTable/FieldActionsState.ts +61 -0
  608. package/src/state/EditableTable/index.ts +2 -6
  609. package/src/state/EditableTable/types.ts +7 -0
  610. package/src/state/EntityPage/EntityPageState.ts +1 -52
  611. package/src/state/EntityPage/index.ts +0 -1
  612. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  613. package/src/state/SchemaCard/SchemaCardState.ts +44 -0
  614. package/src/state/{EntityPage/EntityPageFieldsState.ts → SchemaCard/SchemaFieldsState.ts} +19 -14
  615. package/src/state/SchemaCard/index.ts +2 -0
  616. package/src/state/TagsModalState.ts +6 -2
  617. package/src/styles.global.css +1 -1
  618. package/src/test-utils/TagsMocks.ts +90 -14
  619. package/src/types/SchemaConfig.ts +1 -0
  620. package/src/version.ts +1 -1
  621. package/src/wix-design-system-version.ts +1 -1
  622. package/dist/cjs/providers/SchemaProvider.js +0 -39
  623. package/dist/cjs/providers/SchemaProvider.js.map +0 -1
  624. package/dist/cjs/state/EntityPage/EntityPageFieldsState.js.map +0 -1
  625. package/dist/esm/providers/SchemaProvider.js +0 -13
  626. package/dist/esm/providers/SchemaProvider.js.map +0 -1
  627. package/dist/esm/state/EntityPage/EntityPageFieldsState.js.map +0 -1
  628. package/dist/types/providers/SchemaProvider.d.ts +0 -16
  629. package/dist/types/providers/SchemaProvider.d.ts.map +0 -1
  630. package/dist/types/state/EntityPage/EntityPageFieldsState.d.ts.map +0 -1
  631. package/src/providers/SchemaProvider.tsx +0 -53
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.FieldActionsState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _mobx = require("mobx");
8
+ var _bexCore = require("@wix/bex-core");
9
+ class FieldActionsState {
10
+ constructor(translate, handlers, permissions) {
11
+ (0, _defineProperty2.default)(this, "handlers", void 0);
12
+ (0, _defineProperty2.default)(this, "permissions", void 0);
13
+ (0, _defineProperty2.default)(this, "translate", void 0);
14
+ (0, _defineProperty2.default)(this, "confirmModal", new _bexCore.ConditionalModalState());
15
+ (0, _defineProperty2.default)(this, "deleteTask", new _bexCore.TaskState());
16
+ (0, _defineProperty2.default)(this, "_runDelete", async (fieldId, deleteField) => {
17
+ await this.deleteTask.run(() => deleteField(fieldId), err => console.error('[EditableTable] deleteField failed', err));
18
+ if (this.deleteTask.status.isSuccess) {
19
+ this.confirmModal.close();
20
+ }
21
+ });
22
+ this.translate = translate;
23
+ this.handlers = handlers;
24
+ this.permissions = permissions;
25
+ (0, _mobx.makeObservable)(this, {
26
+ confirmDelete: _mobx.action
27
+ });
28
+ }
29
+ confirmDelete(fieldId) {
30
+ var _this$handlers;
31
+ const deleteField = (_this$handlers = this.handlers) == null ? void 0 : _this$handlers.deleteField;
32
+ if (!deleteField) {
33
+ return;
34
+ }
35
+ const t = this.translate;
36
+ this.confirmModal.open({
37
+ theme: 'destructive',
38
+ title: t('cairo.deleteModal.title'),
39
+ content: t('cairo.deleteModal.body'),
40
+ primaryButtonText: t('cairo.delete.button'),
41
+ secondaryButtonText: t('cairo.cancel.button'),
42
+ primaryButtonOnClick: () => {
43
+ this._runDelete(fieldId, deleteField);
44
+ }
45
+ });
46
+ }
47
+ }
48
+ exports.FieldActionsState = FieldActionsState;
49
+ //# sourceMappingURL=FieldActionsState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_mobx","require","_bexCore","FieldActionsState","constructor","translate","handlers","permissions","_defineProperty2","default","ConditionalModalState","TaskState","fieldId","deleteField","deleteTask","run","err","console","error","status","isSuccess","confirmModal","close","makeObservable","confirmDelete","action","_this$handlers","t","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","_runDelete","exports"],"sources":["../../../../src/state/EditableTable/FieldActionsState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { ConditionalModalState, TaskState } from '@wix/bex-core';\nimport type { Translate } from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { FieldActions } from '../../types/SchemaConfig';\nimport type { EditableTableFieldActionsPermissions } from './EditableTableState';\n\nexport class FieldActionsState {\n readonly handlers: FieldActions | undefined;\n readonly permissions: EditableTableFieldActionsPermissions | undefined;\n readonly translate: Translate;\n\n readonly confirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly deleteTask = new TaskState<unknown>();\n\n constructor(\n translate: Translate,\n handlers?: FieldActions,\n permissions?: EditableTableFieldActionsPermissions,\n ) {\n this.translate = translate;\n this.handlers = handlers;\n this.permissions = permissions;\n makeObservable(this, {\n confirmDelete: action,\n });\n }\n\n confirmDelete(fieldId: string) {\n const deleteField = this.handlers?.deleteField;\n if (!deleteField) {\n return;\n }\n const t = this.translate;\n this.confirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this._runDelete(fieldId, deleteField);\n },\n });\n }\n\n private _runDelete = async (\n fieldId: string,\n deleteField: (id: string) => Promise<unknown>,\n ) => {\n await this.deleteTask.run(\n () => deleteField(fieldId),\n (err) => console.error('[EditableTable] deleteField failed', err),\n );\n if (this.deleteTask.status.isSuccess) {\n this.confirmModal.close();\n }\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAMO,MAAME,iBAAiB,CAAC;EAU7BC,WAAWA,CACTC,SAAoB,EACpBC,QAAuB,EACvBC,WAAkD,EAClD;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBATsB,IAAIC,8BAAqB,CAE/C,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,sBACmB,IAAIE,kBAAS,CAAU,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,sBAiCzB,OACnBG,OAAe,EACfC,WAA6C,KAC1C;MACH,MAAM,IAAI,CAACC,UAAU,CAACC,GAAG,CACvB,MAAMF,WAAW,CAACD,OAAO,CAAC,EACzBI,GAAG,IAAKC,OAAO,CAACC,KAAK,CAAC,oCAAoC,EAAEF,GAAG,CAClE,CAAC;MACD,IAAI,IAAI,CAACF,UAAU,CAACK,MAAM,CAACC,SAAS,EAAE;QACpC,IAAI,CAACC,YAAY,CAACC,KAAK,CAAC,CAAC;MAC3B;IACF,CAAC;IArCC,IAAI,CAACjB,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAAgB,oBAAc,EAAC,IAAI,EAAE;MACnBC,aAAa,EAAEC;IACjB,CAAC,CAAC;EACJ;EAEAD,aAAaA,CAACZ,OAAe,EAAE;IAAA,IAAAc,cAAA;IAC7B,MAAMb,WAAW,IAAAa,cAAA,GAAG,IAAI,CAACpB,QAAQ,qBAAboB,cAAA,CAAeb,WAAW;IAC9C,IAAI,CAACA,WAAW,EAAE;MAChB;IACF;IACA,MAAMc,CAAC,GAAG,IAAI,CAACtB,SAAS;IACxB,IAAI,CAACgB,YAAY,CAACO,IAAI,CAAC;MACrBC,KAAK,EAAE,aAAa;MACpBC,KAAK,EAAEH,CAAC,CAAC,yBAAyB,CAAC;MACnCI,OAAO,EAAEJ,CAAC,CAAC,wBAAwB,CAAC;MACpCK,iBAAiB,EAAEL,CAAC,CAAC,qBAAqB,CAAC;MAC3CM,mBAAmB,EAAEN,CAAC,CAAC,qBAAqB,CAAC;MAC7CO,oBAAoB,EAAEA,CAAA,KAAM;QAC1B,IAAI,CAACC,UAAU,CAACvB,OAAO,EAAEC,WAAW,CAAC;MACvC;IACF,CAAC,CAAC;EACJ;AAcF;AAACuB,OAAA,CAAAjC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n} from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n EditableTableFieldActionsPermissions,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type { Cell, ValidationResult, CellType, EditableColumn } from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | {\n type: 'specificValues';\n values: { id: string; value: string }[];\n message: string;\n };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n object: never;\n image: never;\n richContent: never;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | {\n type: 'specificValues';\n values: { id: string; value: string }[];\n message: string;\n };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n object: never;\n image: never;\n richContent: never;\n video: never;\n richText: RichTextCellTypeConfig;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -5,16 +5,9 @@ exports.__esModule = true;
5
5
  exports.EntityPageState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _bexCore = require("@wix/bex-core");
8
- var _lodash = require("lodash");
9
8
  var _mobx = require("mobx");
10
9
  var _EntityPageStateBIReporter = require("./EntityPageStateBIReporter");
11
10
  var _events = require("@wix/bex-core/events");
12
- var _EntityPageFieldsState = require("./EntityPageFieldsState");
13
- /**
14
- * Pass both `fields` and `persistencyKey` together to enable field order and visibility persistency.
15
- * Omit both to disable persistency.
16
- */
17
-
18
11
  class EntityPageState {
19
12
  constructor(params) {
20
13
  (0, _defineProperty2.default)(this, "fetch", void 0);
@@ -29,7 +22,6 @@ class EntityPageState {
29
22
  (0, _defineProperty2.default)(this, "container", void 0);
30
23
  (0, _defineProperty2.default)(this, "reportBI", void 0);
31
24
  (0, _defineProperty2.default)(this, "bi", void 0);
32
- (0, _defineProperty2.default)(this, "fieldsState", void 0);
33
25
  (0, _defineProperty2.default)(this, "_routerState", null);
34
26
  (0, _defineProperty2.default)(this, "formPage", void 0);
35
27
  (0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
@@ -44,24 +36,6 @@ class EntityPageState {
44
36
  this.transformEntityToCollectionItem = params.transformEntityToCollectionItem || (anEntity => anEntity);
45
37
  this._parentPath = params.parentPath;
46
38
  this.container = params.container;
47
- if (params.persistencyKey) {
48
- if ((0, _lodash.isEmpty)(params.fields)) {
49
- console.warn('EntityPageState: `fields` is empty — field persistency will not be enabled.');
50
- } else {
51
- const {
52
- componentId,
53
- artifactId
54
- } = params.container.environment;
55
- const namespace = [componentId || artifactId, params.persistencyKey].join('.');
56
- const dataCapsule = params.container._createComponentSettings({
57
- namespace
58
- });
59
- this.fieldsState = new _EntityPageFieldsState.EntityPageFieldsState({
60
- dataCapsule,
61
- fields: params.fields
62
- });
63
- }
64
- }
65
39
  this._routerState = params.routerState ?? null;
66
40
  if (this._routerState) {
67
41
  var _this$_routerState$cu;
@@ -111,8 +85,7 @@ class EntityPageState {
111
85
  this.bi.reportOnBeforeUnload();
112
86
  }));
113
87
  initTask.runOnce(async () => {
114
- var _this$fieldsState, _this$bi$appLoaded, _this$bi;
115
- (_this$fieldsState = this.fieldsState) == null || _this$fieldsState.init(); // starts async storage read (non-blocking)
88
+ var _this$bi$appLoaded, _this$bi;
116
89
  const [data] = await Promise.all([this.fetch(), container.initTask.status.promise]);
117
90
  this.setEntity(data.entity ?? null);
118
91
  (_this$bi$appLoaded = (_this$bi = this.bi).appLoaded) == null || _this$bi$appLoaded.call(_this$bi);
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_lodash","_mobx","_EntityPageStateBIReporter","_events","_EntityPageFieldsState","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","persistencyKey","isEmpty","fields","console","warn","componentId","artifactId","environment","namespace","join","dataCapsule","_createComponentSettings","fieldsState","EntityPageFieldsState","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsState","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","actionsBarConfig","cancelCta","biAdditionalInfo","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n} from '@wix/bex-core';\nimport { isEmpty } from 'lodash';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport {\n EntityPageFieldsState,\n EntityViewConfig,\n} from './EntityPageFieldsState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n}\n\n/**\n * Pass both `fields` and `persistencyKey` together to enable field order and visibility persistency.\n * Omit both to disable persistency.\n */\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V> &\n (\n | {\n /**\n * Field definitions for persistency.\n * Must be accompanied by `persistencyKey`.\n */\n fields: EntityViewConfig[];\n /**\n * A unique key identifying this entity page, used as the storage namespace for field\n * order and visibility persistency. Required when `fields` is set.\n * Should be unique per entity page type within the app (e.g. 'contacts', 'products').\n */\n persistencyKey: string;\n }\n | {\n fields?: never;\n persistencyKey?: never;\n }\n );\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n readonly fieldsState?: EntityPageFieldsState;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n if (params.persistencyKey) {\n if (isEmpty(params.fields)) {\n console.warn(\n 'EntityPageState: `fields` is empty — field persistency will not be enabled.',\n );\n } else {\n const { componentId, artifactId } = params.container.environment;\n const namespace = [\n componentId || artifactId,\n params.persistencyKey,\n ].join('.');\n const dataCapsule = params.container._createComponentSettings({\n namespace,\n });\n this.fieldsState = new EntityPageFieldsState({\n dataCapsule,\n fields: params.fields!,\n });\n }\n }\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n this.fieldsState?.init(); // starts async storage read (non-blocking)\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","actionsBarConfig","cancelCta","biAdditionalInfo","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_EntityPageState","require","Object","keys","forEach","key","exports","_useEntityPageHeader","_useEntityPageContent"],"sources":["../../../../src/state/EntityPage/index.ts"],"sourcesContent":["export * from './EntityPageState';\nexport type { EntityViewConfig } from './EntityPageFieldsState';\nexport * from './useEntityPageHeader';\nexport * from './useEntityPageContent';\n"],"mappings":";;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,gBAAA,CAAAK,GAAA;AAAA;AAEA,IAAAE,oBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,oBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,oBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,oBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,qBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,qBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,qBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,qBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_EntityPageState","require","Object","keys","forEach","key","exports","_useEntityPageHeader","_useEntityPageContent"],"sources":["../../../../src/state/EntityPage/index.ts"],"sourcesContent":["export * from './EntityPageState';\nexport * from './useEntityPageHeader';\nexport * from './useEntityPageContent';\n"],"mappings":";;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,gBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,oBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,oBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,oBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,oBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,qBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,qBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,qBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,qBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "FormPageHeader1086860638";
8
+ var _namespace_ = "FormPageHeader3143155106";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "FormPageHeader1086860638__root"
15
+ "root": "FormPageHeader3143155106__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader1086860638\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader1086860638__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader3143155106\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader3143155106__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.SchemaCardState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _lodash = require("lodash");
8
+ var _SchemaFieldsState = require("./SchemaFieldsState");
9
+ class SchemaCardState {
10
+ constructor(params) {
11
+ (0, _defineProperty2.default)(this, "fieldsState", void 0);
12
+ if ((0, _lodash.isEmpty)(params.fields)) {
13
+ console.warn('SchemaCardState: `fields` is empty — field persistency will not be enabled.');
14
+ }
15
+ const {
16
+ componentId,
17
+ artifactId
18
+ } = params.container.environment;
19
+ const namespace = [componentId || artifactId, params.persistencyKey].join('.');
20
+ const dataCapsule = params.container._createComponentSettings({
21
+ namespace
22
+ });
23
+ this.fieldsState = new _SchemaFieldsState.SchemaFieldsState({
24
+ dataCapsule,
25
+ fields: params.fields
26
+ });
27
+ }
28
+ init() {
29
+ this.fieldsState.init();
30
+ }
31
+ }
32
+ exports.SchemaCardState = SchemaCardState;
33
+ //# sourceMappingURL=SchemaCardState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_lodash","require","_SchemaFieldsState","SchemaCardState","constructor","params","_defineProperty2","default","isEmpty","fields","console","warn","componentId","artifactId","container","environment","namespace","persistencyKey","join","dataCapsule","_createComponentSettings","fieldsState","SchemaFieldsState","init","exports"],"sources":["../../../../src/state/SchemaCard/SchemaCardState.ts"],"sourcesContent":["import { isEmpty } from 'lodash';\nimport { WixPatternsContainer } from '@wix/bex-core';\nimport { SchemaFieldsState, SchemaViewConfig } from './SchemaFieldsState';\n\nexport interface SchemaCardStateParams {\n /**\n * Field definitions for persistency. Each field's visibility and order are\n * stored per `persistencyKey` so users' layout preferences survive page reloads.\n */\n fields: SchemaViewConfig[];\n /**\n * A unique key identifying this schema card, used as the storage namespace.\n * Should be unique per card type within the app (e.g. 'contacts', 'products').\n */\n persistencyKey: string;\n container: WixPatternsContainer;\n}\n\nexport class SchemaCardState {\n readonly fieldsState: SchemaFieldsState;\n\n constructor(params: SchemaCardStateParams) {\n if (isEmpty(params.fields)) {\n console.warn(\n 'SchemaCardState: `fields` is empty — field persistency will not be enabled.',\n );\n }\n const { componentId, artifactId } = params.container.environment;\n const namespace = [componentId || artifactId, params.persistencyKey].join(\n '.',\n );\n const dataCapsule = params.container._createComponentSettings({\n namespace,\n });\n this.fieldsState = new SchemaFieldsState({\n dataCapsule,\n fields: params.fields,\n });\n }\n\n init() {\n this.fieldsState.init();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AAgBO,MAAME,eAAe,CAAC;EAG3BC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACzC,IAAI,IAAAC,eAAO,EAACH,MAAM,CAACI,MAAM,CAAC,EAAE;MAC1BC,OAAO,CAACC,IAAI,CACV,6EACF,CAAC;IACH;IACA,MAAM;MAAEC,WAAW;MAAEC;IAAW,CAAC,GAAGR,MAAM,CAACS,SAAS,CAACC,WAAW;IAChE,MAAMC,SAAS,GAAG,CAACJ,WAAW,IAAIC,UAAU,EAAER,MAAM,CAACY,cAAc,CAAC,CAACC,IAAI,CACvE,GACF,CAAC;IACD,MAAMC,WAAW,GAAGd,MAAM,CAACS,SAAS,CAACM,wBAAwB,CAAC;MAC5DJ;IACF,CAAC,CAAC;IACF,IAAI,CAACK,WAAW,GAAG,IAAIC,oCAAiB,CAAC;MACvCH,WAAW;MACXV,MAAM,EAAEJ,MAAM,CAACI;IACjB,CAAC,CAAC;EACJ;EAEAc,IAAIA,CAAA,EAAG;IACL,IAAI,CAACF,WAAW,CAACE,IAAI,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAArB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -2,13 +2,13 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
- exports.EntityPageFieldsState = void 0;
5
+ exports.SchemaFieldsState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _bexCore = require("@wix/bex-core");
8
8
  var _mobx = require("mobx");
9
9
  var _indexOfCompareFn = require("../indexOfCompareFn");
10
- const STORAGE_KEY = 'entity-page-layout';
11
- class EntityPageFieldsState {
10
+ const STORAGE_KEY = 'schema-card-layout';
11
+ class SchemaFieldsState {
12
12
  constructor(params) {
13
13
  (0, _defineProperty2.default)(this, "_storedFields", []);
14
14
  (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
@@ -22,8 +22,6 @@ class EntityPageFieldsState {
22
22
  setFieldOrder: _mobx.action.bound
23
23
  });
24
24
  }
25
-
26
- // Called from EntityPageState.init() — mirrors CustomColumnsState._tableInit()
27
25
  init() {
28
26
  this.initTask.runOnce(async () => {
29
27
  try {
@@ -138,5 +136,5 @@ class EntityPageFieldsState {
138
136
  });
139
137
  }
140
138
  }
141
- exports.EntityPageFieldsState = EntityPageFieldsState;
142
- //# sourceMappingURL=EntityPageFieldsState.js.map
139
+ exports.SchemaFieldsState = SchemaFieldsState;
140
+ //# sourceMappingURL=SchemaFieldsState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bexCore","require","_mobx","_indexOfCompareFn","STORAGE_KEY","SchemaFieldsState","constructor","params","_defineProperty2","default","TaskState","Promise","resolve","makeObservable","_storedFields","observable","orderedFields","computed","setFieldVisibility","action","bound","setFieldOrder","init","initTask","runOnce","_fetchFromStorage","e","console","error","length","fields","sort","indexOfCompareFn","f","id","isFieldVisible","field","find","hideable","stored","isVisible","idx","findIndex","push","_persistQueue","then","status","promise","persistFields","catch","storedMap","Map","map","declaredMap","filter","has","get","dataCapsule","setItem","storedLayout","raw","getItem","Array","isArray","Error","message","declaredIds","Set","seenIds","merged","add","forEach","some","s","runInAction","exports"],"sources":["../../../../src/state/SchemaCard/SchemaFieldsState.ts"],"sourcesContent":["import { DataCapsule, TaskState } from '@wix/bex-core';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { indexOfCompareFn } from '../indexOfCompareFn';\n\nconst STORAGE_KEY = 'schema-card-layout';\n\nexport interface SchemaViewConfig {\n id: string;\n isVisible?: boolean;\n hideable?: boolean; // not persisted — consumer-only; false = always visible\n}\n\ntype StoredLayout = {\n fields: Pick<SchemaViewConfig, 'id' | 'isVisible'>[];\n};\n\nexport interface SchemaFieldsStateParams {\n dataCapsule: DataCapsule;\n fields: SchemaViewConfig[];\n}\n\nexport class SchemaFieldsState {\n _storedFields: SchemaViewConfig[] = [];\n readonly initTask = new TaskState();\n private _persistQueue: Promise<void> = Promise.resolve();\n private readonly params: SchemaFieldsStateParams;\n\n constructor(params: SchemaFieldsStateParams) {\n this.params = params;\n makeObservable(this, {\n _storedFields: observable,\n orderedFields: computed,\n setFieldVisibility: action.bound,\n setFieldOrder: action.bound,\n });\n }\n\n init() {\n this.initTask.runOnce(async () => {\n try {\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n }\n\n get orderedFields(): SchemaViewConfig[] {\n if (!this._storedFields.length) {\n return this.params.fields;\n }\n // Fields not in storage all get index -1; stable sort preserves their declaration order\n return [...this.params.fields].sort(\n indexOfCompareFn(this._storedFields, (f) => f?.id),\n );\n }\n\n isFieldVisible(id: string): boolean {\n const field = this.params.fields.find((f) => f.id === id);\n if (!field) {\n return true;\n } // unknown id — render by default\n if (field.hideable === false) {\n return true;\n } // non-hideable — always visible\n const stored = this._storedFields.find((f) => f.id === id);\n return stored ? stored.isVisible ?? true : field.isVisible ?? true;\n }\n\n setFieldVisibility(id: string, isVisible: boolean) {\n const idx = this._storedFields.findIndex((f) => f.id === id);\n if (idx >= 0) {\n // Replace element (not mutate in-place) so MobX tracks the array change\n this._storedFields[idx] = { ...this._storedFields[idx], isVisible };\n } else {\n this._storedFields.push({ id, isVisible });\n }\n // Wait for init to complete before persisting — prevents overwriting the\n // full stored layout when called before _fetchFromStorage resolves.\n // Serialize writes: chain onto the queue so rapid toggles don't race.\n this._persistQueue = this._persistQueue\n .then(() => this.initTask.status.promise)\n .then(() => this.persistFields())\n .catch((e) => console.error(e));\n }\n\n setFieldOrder(orderedFields: SchemaViewConfig[]) {\n const storedMap = new Map(this._storedFields.map((f) => [f.id, f]));\n const declaredMap = new Map(this.params.fields.map((f) => [f.id, f]));\n\n // Rebuild _storedFields in the new order, preserving existing visibility.\n // Only include fields that are still declared; unknown ids are silently dropped.\n this._storedFields = orderedFields\n .filter((f) => declaredMap.has(f.id))\n .map(\n (f) =>\n storedMap.get(f.id) ?? {\n id: f.id,\n isVisible: declaredMap.get(f.id)!.isVisible ?? true,\n },\n );\n\n this._persistQueue = this._persistQueue\n .then(() => this.initTask.status.promise)\n .then(() => this.persistFields())\n .catch((e) => console.error(e));\n }\n\n private async persistFields() {\n const fields = this._storedFields.map(({ id, isVisible }) => ({\n id,\n isVisible,\n }));\n await this.params.dataCapsule.setItem(STORAGE_KEY, { fields });\n }\n\n async _fetchFromStorage() {\n const { dataCapsule, fields } = this.params;\n let storedLayout: StoredLayout | null = null;\n try {\n const raw = await dataCapsule.getItem<StoredLayout>(STORAGE_KEY);\n storedLayout =\n raw && typeof raw === 'object' && Array.isArray(raw.fields)\n ? raw\n : null;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n storedLayout = null;\n } else {\n throw e;\n }\n }\n if (!storedLayout) {\n return;\n }\n\n // Merge: keep stored order/visibility; append new fields; drop removed ones.\n // Dedup by id — keeps the first occurrence, discarding any corrupt duplicates.\n const declaredIds = new Set(fields.map((f) => f.id));\n const seenIds = new Set<string>();\n const merged: SchemaViewConfig[] = storedLayout.fields.filter((f) => {\n if (!f?.id || !declaredIds.has(f.id) || seenIds.has(f.id)) {\n return false;\n }\n seenIds.add(f.id);\n return true;\n });\n fields.forEach((f) => {\n if (!merged.some((s) => s.id === f.id)) {\n merged.push({ id: f.id, isVisible: f.isVisible ?? true });\n }\n });\n runInAction(() => {\n this._storedFields = merged;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var _SchemaCardState = require("./SchemaCardState");
5
+ Object.keys(_SchemaCardState).forEach(function (key) {
6
+ if (key === "default" || key === "__esModule") return;
7
+ if (key in exports && exports[key] === _SchemaCardState[key]) return;
8
+ exports[key] = _SchemaCardState[key];
9
+ });
10
+ var _SchemaFieldsState = require("./SchemaFieldsState");
11
+ Object.keys(_SchemaFieldsState).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (key in exports && exports[key] === _SchemaFieldsState[key]) return;
14
+ exports[key] = _SchemaFieldsState[key];
15
+ });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_SchemaCardState","require","Object","keys","forEach","key","exports","_SchemaFieldsState"],"sources":["../../../../src/state/SchemaCard/index.ts"],"sourcesContent":["export * from './SchemaCardState';\nexport * from './SchemaFieldsState';\n"],"mappings":";;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,gBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,kBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,kBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,kBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,kBAAA,CAAAF,GAAA;AAAA","ignoreList":[]}
@@ -274,7 +274,7 @@ class TagsModalState {
274
274
  return this.tagsSearchState.searchValue;
275
275
  }
276
276
  get shownItems() {
277
- return this.tagsSearchState.filteredItems.sort((tag1, tag2) => new Date(tag1.createdDate).valueOf() - new Date(tag2.createdDate).valueOf());
277
+ return this.tagsSearchState.items.sort((tag1, tag2) => new Date(tag1.createdDate).valueOf() - new Date(tag2.createdDate).valueOf());
278
278
  }
279
279
  get isOpen() {
280
280
  return this.manageTagsModalState.isOpen;
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_bi","_util","actionOrigin","TagsModalState","constructor","tagsManagementState","entityTypeName","showUndoToast","_defineProperty2","default","ConditionalModalState","undefined","observable","array","deep","tagsSearchState","TagsSearchState","container","tagsBIReporter","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","makeObservable","editedTagId","editedTagErrorMessage","isShowingNewTagListItem","init","action","openManageTagsModal","closeManageTagsModal","handleSearchChange","handleSearchClear","handleCreateCtaClick","handleEditCtaClick","handleCancelEditCtaClick","openConfirmDeleteModal","createTagFromSearch","createTagFromList","updateTag","deleteTag","showNotification","hideNotification","disposers","addEventListener","events","toastConfig","window","clearTimeout","handleCreateCtaTimeout","showNotificationTimeout","createTagFromListTimeout","updateTagTimeout","forEach","d","origin","tagSubOrigin","manageTagsModalState","modal","open","_reportBiModalOpened","overrideShowToast","setSearchValue","_reportSearchEventsBi","close","_reportModalClosedBi","props","confirmModalState","theme","primaryButtonText","translate","secondaryButtonText","title","newSearchValue","_reportSearchChangedBi","setTimeout","_scrollContentTo","tag","id","toastConfigs","push","remove","clear","searchValue","shownItems","length","newName","slice","TAG_MAX_LENGTH","_createTag","name","isFromSearch","onSuccess","status","statusMessage","_isValidName","isLastTag","previousName","tagToUpdate","filteredListSize","optimisticActionParams","keepPosition","successToast","biName","message","errorToast","error","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","call","type","tagToDelete","primaryButtonOnClick","_this$container$error3","_this$container$error4","filteredItems","sort","tag1","tag2","Date","createdDate","valueOf","isOpen","createTag","visualType","_this$container$error5","_this$container$error6","tagName","_getValidationMessage","count","items","find","toLowerCase","_this$tagsManagementS","cairoTagsModalStartLoad","numTags","onModalClose","onSearch","_clearAllEvents","event","emit","direction","_this$ref","_this$ref2","ref","current","scrollTo","top","scrollHeight","behavior","exports"],"sources":["../../../src/state/TagsModalState.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n ConditionalModalState,\n TAG_MAX_LENGTH,\n TagsBIReporter,\n TagsManagementState,\n TagsSearchState,\n ToastConfig,\n} from '@wix/bex-core';\nimport { InputStatus, MessageModalLayoutProps } from '@wix/design-system';\nimport { cairoTagsModalStartLoad } from '@wix/bex-core/bi';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { addEventListener } from '@wix/bex-core/util';\n\nexport interface TagsModalStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityTypeName: string;\n readonly showUndoToast?: boolean;\n}\n\nconst actionOrigin = 'Manage Tags Modal';\n\nexport class TagsModalState {\n readonly tagsManagementState;\n readonly tagsSearchState;\n readonly manageTagsModalState = new ConditionalModalState();\n readonly confirmModalState = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly entityTypeName: string;\n readonly showUndoToast: boolean;\n origin?: string = undefined;\n tagSubOrigin?: string = undefined;\n editedTagId: string | null = null;\n editedTagErrorMessage: string | null = null;\n isShowingNewTagListItem: boolean = false;\n tagToDelete?: Tag;\n toastConfigs = observable.array([] as ToastConfig[], {\n deep: false,\n });\n ref: RefObject<HTMLDivElement> | null = null;\n\n constructor({ tagsManagementState, entityTypeName, showUndoToast = true }: TagsModalStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState,\n });\n this.entityTypeName = entityTypeName;\n this.showUndoToast = showUndoToast;\n this.container = tagsManagementState.container;\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'ManageTagsModal',\n ...tagsManagementState.fqdn,\n }),\n location: 'Manage tags modal',\n });\n\n makeObservable(this, {\n editedTagId: observable,\n editedTagErrorMessage: observable,\n isShowingNewTagListItem: observable,\n init: action,\n openManageTagsModal: action,\n closeManageTagsModal: action,\n handleSearchChange: action,\n handleSearchClear: action,\n handleCreateCtaClick: action,\n handleEditCtaClick: action,\n handleCancelEditCtaClick: action,\n openConfirmDeleteModal: action,\n createTagFromSearch: action,\n createTagFromList: action,\n updateTag: action,\n deleteTag: action,\n showNotification: action,\n hideNotification: action,\n });\n }\n\n init() {\n const disposers = [\n addEventListener(\n this.tagsManagementState.events,\n 'showToast',\n (toastConfig: ToastConfig) => {\n this.showNotification(toastConfig);\n },\n ),\n addEventListener(\n this.tagsManagementState.events,\n 'hideToast',\n (toastConfig: ToastConfig) => {\n this.hideNotification(toastConfig);\n },\n ),\n () => {\n window.clearTimeout(this.handleCreateCtaTimeout);\n window.clearTimeout(this.showNotificationTimeout);\n window.clearTimeout(this.createTagFromListTimeout);\n window.clearTimeout(this.updateTagTimeout);\n },\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n openManageTagsModal({\n origin,\n tagSubOrigin,\n }: {\n origin: string;\n tagSubOrigin?: string;\n }) {\n this.origin = origin;\n this.tagSubOrigin = tagSubOrigin;\n this.manageTagsModalState.modal.open();\n this._reportBiModalOpened();\n this.tagsManagementState.overrideShowToast = true;\n }\n\n closeManageTagsModal() {\n this.editedTagId = null;\n this.editedTagErrorMessage = null;\n this.isShowingNewTagListItem = false;\n this.tagsSearchState.setSearchValue('');\n this._reportSearchEventsBi('blur');\n this.manageTagsModalState.modal.close();\n this._reportModalClosedBi();\n this.origin = undefined;\n this.tagsManagementState.overrideShowToast = false;\n this.hideNotification();\n }\n\n openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>) {\n this.confirmModalState.open({\n theme: 'destructive',\n primaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.delete.CTA',\n ),\n secondaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.cancel.CTA',\n ),\n title: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.title',\n ),\n ...props,\n });\n }\n\n handleSearchChange(newSearchValue: string) {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n this._reportSearchChangedBi(newSearchValue);\n this.tagsSearchState.setSearchValue(newSearchValue);\n }\n\n handleSearchClear() {\n this._reportSearchEventsBi('clear');\n this.tagsSearchState.setSearchValue('');\n }\n\n handleCreateCtaClick() {\n this.tagsSearchState.setSearchValue('');\n this.editedTagId = null;\n this.isShowingNewTagListItem = true;\n this.handleCreateCtaTimeout = window.setTimeout(\n () => this._scrollContentTo('bottom'),\n 100,\n );\n }\n\n handleEditCtaClick(tag: Tag) {\n this._reportSearchEventsBi('select');\n this.editedTagId = tag.id!;\n }\n\n handleCancelEditCtaClick() {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n }\n\n showNotification(toastConfig: ToastConfig) {\n this.toastConfigs.push(toastConfig);\n this.showNotificationTimeout = window.setTimeout(() => {\n this.hideNotification(toastConfig);\n }, 6000);\n }\n\n hideNotification(toastConfig?: ToastConfig) {\n if (toastConfig) {\n this.toastConfigs.remove(toastConfig);\n } else {\n this.toastConfigs.clear();\n }\n }\n\n async createTagFromSearch() {\n if (!this.searchValue || this.shownItems.length) {\n return;\n }\n\n const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);\n this._reportSearchEventsBi('add');\n this._createTag({\n name: newName,\n isFromSearch: true,\n onSuccess: () => this._scrollContentTo('bottom'),\n });\n this.tagsSearchState.setSearchValue('');\n }\n\n async createTagFromList(newName: string) {\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n this.createTagFromListTimeout = window.setTimeout(\n () => this._scrollContentTo('bottom'),\n 100,\n );\n return;\n }\n\n this._createTag({\n name: newName,\n });\n this.isShowingNewTagListItem = false;\n }\n\n async updateTag({\n tag,\n newName,\n isLastTag,\n }: {\n tag: Tag;\n newName: string;\n isLastTag: boolean;\n }) {\n if (newName === tag.name) {\n this.editedTagId = null;\n return;\n }\n\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n if (isLastTag) {\n this.updateTagTimeout = window.setTimeout(\n () => this._scrollContentTo('bottom'),\n 100,\n );\n }\n return;\n }\n\n this.editedTagId = null;\n const previousName = tag.name!;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n\n this.tagsManagementState.updateTag({\n tagToUpdate: { ...tag, name: newName },\n previousName,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagSubOrigin: this.tagSubOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n keepPosition: true,\n successToast: {\n biName: 'cairo-save-rename-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.success',\n ),\n },\n showUndoToast: this.showUndoToast,\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n\n return {\n biName: 'cairo-save-rename-tag-error',\n message:\n resolvedError?.message ??\n this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.error',\n ),\n type: 'ERROR',\n };\n },\n },\n });\n }\n\n async deleteTag(tagToDelete: Tag) {\n this._reportSearchEventsBi('select');\n this.tagToDelete = tagToDelete;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n this.openConfirmDeleteModal({\n primaryButtonOnClick: async () => {\n this.tagsManagementState.deleteTag({\n tagToDelete,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagSubOrigin: this.tagSubOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-delete-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.success',\n ),\n },\n showUndoToast: this.showUndoToast,\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n\n return {\n biName: 'cairo-delete-tag-error',\n message:\n resolvedError?.message ??\n 'cairo.tags.manageTags.modal.toast.delete.error',\n type: 'ERROR',\n };\n },\n },\n });\n },\n });\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shownItems() {\n return this.tagsSearchState.filteredItems.sort(\n (tag1, tag2) =>\n new Date(tag1.createdDate!).valueOf() -\n new Date(tag2.createdDate!).valueOf(),\n );\n }\n\n get isOpen() {\n return this.manageTagsModalState.isOpen;\n }\n\n get toastConfig() {\n return this.toastConfigs[this.toastConfigs.length - 1] ?? null;\n }\n\n private handleCreateCtaTimeout?: number;\n private showNotificationTimeout?: number;\n private createTagFromListTimeout?: number;\n private updateTagTimeout?: number;\n\n private async _createTag({\n name,\n isFromSearch = false,\n onSuccess,\n }: {\n name: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void;\n }) {\n this.tagsManagementState.createTag({\n name,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n onSuccess,\n origin: actionOrigin,\n tagSubOrigin: this.tagSubOrigin,\n tagsBIReporter: this.tagsBIReporter,\n visualType: 'notification',\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.success',\n ),\n },\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n return {\n biName: 'cairo-save-new-tag-error',\n message:\n resolvedError?.message ??\n this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.error',\n ),\n action: resolvedError?.action,\n };\n },\n },\n });\n this.editedTagErrorMessage = null;\n }\n\n private _isValidName(tagName: string) {\n if (tagName.length === 0) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.emptyName',\n ),\n );\n }\n if (tagName.length > TAG_MAX_LENGTH) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.maxLength',\n { count: TAG_MAX_LENGTH },\n ),\n );\n }\n\n if (\n this.tagsManagementState.items.find(\n ({ name }) => name!.toLowerCase() === tagName.toLowerCase(),\n )\n ) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.exists',\n ),\n );\n }\n\n return { status: '' as InputStatus, statusMessage: '' };\n }\n\n private _reportBiModalOpened() {\n this.tagsBIReporter.reportBi(\n cairoTagsModalStartLoad({\n numTags: this.tagsManagementState.items?.length,\n origin: this.origin,\n }),\n );\n }\n\n private _reportModalClosedBi() {\n this.tagsBIReporter.onModalClose({ origin: this.origin });\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'clear' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _scrollContentTo(direction: 'top' | 'bottom' = 'top') {\n this.ref?.current?.scrollTo({\n top: direction === 'top' ? 0 : this.ref?.current?.scrollHeight,\n behavior: 'smooth',\n });\n }\n\n private _getValidationMessage(statusMessage: string) {\n return {\n status: 'error' as InputStatus,\n statusMessage,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_bi","_util","actionOrigin","TagsModalState","constructor","tagsManagementState","entityTypeName","showUndoToast","_defineProperty2","default","ConditionalModalState","undefined","observable","array","deep","tagsSearchState","TagsSearchState","container","tagsBIReporter","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","makeObservable","editedTagId","editedTagErrorMessage","isShowingNewTagListItem","init","action","openManageTagsModal","closeManageTagsModal","handleSearchChange","handleSearchClear","handleCreateCtaClick","handleEditCtaClick","handleCancelEditCtaClick","openConfirmDeleteModal","createTagFromSearch","createTagFromList","updateTag","deleteTag","showNotification","hideNotification","disposers","addEventListener","events","toastConfig","window","clearTimeout","handleCreateCtaTimeout","showNotificationTimeout","createTagFromListTimeout","updateTagTimeout","forEach","d","origin","tagSubOrigin","manageTagsModalState","modal","open","_reportBiModalOpened","overrideShowToast","setSearchValue","_reportSearchEventsBi","close","_reportModalClosedBi","props","confirmModalState","theme","primaryButtonText","translate","secondaryButtonText","title","newSearchValue","_reportSearchChangedBi","setTimeout","_scrollContentTo","tag","id","toastConfigs","push","remove","clear","searchValue","shownItems","length","newName","slice","TAG_MAX_LENGTH","_createTag","name","isFromSearch","onSuccess","status","statusMessage","_isValidName","isLastTag","previousName","tagToUpdate","filteredListSize","optimisticActionParams","keepPosition","successToast","biName","message","errorToast","error","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","call","type","tagToDelete","primaryButtonOnClick","_this$container$error3","_this$container$error4","items","sort","tag1","tag2","Date","createdDate","valueOf","isOpen","createTag","visualType","_this$container$error5","_this$container$error6","tagName","_getValidationMessage","count","find","toLowerCase","_this$tagsManagementS","cairoTagsModalStartLoad","numTags","onModalClose","onSearch","_clearAllEvents","event","emit","direction","_this$ref","_this$ref2","ref","current","scrollTo","top","scrollHeight","behavior","exports"],"sources":["../../../src/state/TagsModalState.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n ConditionalModalState,\n TAG_MAX_LENGTH,\n TagsBIReporter,\n TagsManagementState,\n TagsSearchState,\n ToastConfig,\n} from '@wix/bex-core';\nimport { InputStatus, MessageModalLayoutProps } from '@wix/design-system';\nimport { cairoTagsModalStartLoad } from '@wix/bex-core/bi';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { addEventListener } from '@wix/bex-core/util';\n\nexport interface TagsModalStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityTypeName: string;\n readonly showUndoToast?: boolean;\n}\n\nconst actionOrigin = 'Manage Tags Modal';\n\nexport class TagsModalState {\n readonly tagsManagementState;\n readonly tagsSearchState;\n readonly manageTagsModalState = new ConditionalModalState();\n readonly confirmModalState = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly entityTypeName: string;\n readonly showUndoToast: boolean;\n origin?: string = undefined;\n tagSubOrigin?: string = undefined;\n editedTagId: string | null = null;\n editedTagErrorMessage: string | null = null;\n isShowingNewTagListItem: boolean = false;\n tagToDelete?: Tag;\n toastConfigs = observable.array([] as ToastConfig[], {\n deep: false,\n });\n ref: RefObject<HTMLDivElement> | null = null;\n\n constructor({\n tagsManagementState,\n entityTypeName,\n showUndoToast = true,\n }: TagsModalStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState,\n });\n this.entityTypeName = entityTypeName;\n this.showUndoToast = showUndoToast;\n this.container = tagsManagementState.container;\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'ManageTagsModal',\n ...tagsManagementState.fqdn,\n }),\n location: 'Manage tags modal',\n });\n\n makeObservable(this, {\n editedTagId: observable,\n editedTagErrorMessage: observable,\n isShowingNewTagListItem: observable,\n init: action,\n openManageTagsModal: action,\n closeManageTagsModal: action,\n handleSearchChange: action,\n handleSearchClear: action,\n handleCreateCtaClick: action,\n handleEditCtaClick: action,\n handleCancelEditCtaClick: action,\n openConfirmDeleteModal: action,\n createTagFromSearch: action,\n createTagFromList: action,\n updateTag: action,\n deleteTag: action,\n showNotification: action,\n hideNotification: action,\n });\n }\n\n init() {\n const disposers = [\n addEventListener(\n this.tagsManagementState.events,\n 'showToast',\n (toastConfig: ToastConfig) => {\n this.showNotification(toastConfig);\n },\n ),\n addEventListener(\n this.tagsManagementState.events,\n 'hideToast',\n (toastConfig: ToastConfig) => {\n this.hideNotification(toastConfig);\n },\n ),\n () => {\n window.clearTimeout(this.handleCreateCtaTimeout);\n window.clearTimeout(this.showNotificationTimeout);\n window.clearTimeout(this.createTagFromListTimeout);\n window.clearTimeout(this.updateTagTimeout);\n },\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n openManageTagsModal({\n origin,\n tagSubOrigin,\n }: {\n origin: string;\n tagSubOrigin?: string;\n }) {\n this.origin = origin;\n this.tagSubOrigin = tagSubOrigin;\n this.manageTagsModalState.modal.open();\n this._reportBiModalOpened();\n this.tagsManagementState.overrideShowToast = true;\n }\n\n closeManageTagsModal() {\n this.editedTagId = null;\n this.editedTagErrorMessage = null;\n this.isShowingNewTagListItem = false;\n this.tagsSearchState.setSearchValue('');\n this._reportSearchEventsBi('blur');\n this.manageTagsModalState.modal.close();\n this._reportModalClosedBi();\n this.origin = undefined;\n this.tagsManagementState.overrideShowToast = false;\n this.hideNotification();\n }\n\n openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>) {\n this.confirmModalState.open({\n theme: 'destructive',\n primaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.delete.CTA',\n ),\n secondaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.cancel.CTA',\n ),\n title: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.title',\n ),\n ...props,\n });\n }\n\n handleSearchChange(newSearchValue: string) {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n this._reportSearchChangedBi(newSearchValue);\n this.tagsSearchState.setSearchValue(newSearchValue);\n }\n\n handleSearchClear() {\n this._reportSearchEventsBi('clear');\n this.tagsSearchState.setSearchValue('');\n }\n\n handleCreateCtaClick() {\n this.tagsSearchState.setSearchValue('');\n this.editedTagId = null;\n this.isShowingNewTagListItem = true;\n this.handleCreateCtaTimeout = window.setTimeout(\n () => this._scrollContentTo('bottom'),\n 100,\n );\n }\n\n handleEditCtaClick(tag: Tag) {\n this._reportSearchEventsBi('select');\n this.editedTagId = tag.id!;\n }\n\n handleCancelEditCtaClick() {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n }\n\n showNotification(toastConfig: ToastConfig) {\n this.toastConfigs.push(toastConfig);\n this.showNotificationTimeout = window.setTimeout(() => {\n this.hideNotification(toastConfig);\n }, 6000);\n }\n\n hideNotification(toastConfig?: ToastConfig) {\n if (toastConfig) {\n this.toastConfigs.remove(toastConfig);\n } else {\n this.toastConfigs.clear();\n }\n }\n\n async createTagFromSearch() {\n if (!this.searchValue || this.shownItems.length) {\n return;\n }\n\n const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);\n this._reportSearchEventsBi('add');\n this._createTag({\n name: newName,\n isFromSearch: true,\n onSuccess: () => this._scrollContentTo('bottom'),\n });\n this.tagsSearchState.setSearchValue('');\n }\n\n async createTagFromList(newName: string) {\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n this.createTagFromListTimeout = window.setTimeout(\n () => this._scrollContentTo('bottom'),\n 100,\n );\n return;\n }\n\n this._createTag({\n name: newName,\n });\n this.isShowingNewTagListItem = false;\n }\n\n async updateTag({\n tag,\n newName,\n isLastTag,\n }: {\n tag: Tag;\n newName: string;\n isLastTag: boolean;\n }) {\n if (newName === tag.name) {\n this.editedTagId = null;\n return;\n }\n\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n if (isLastTag) {\n this.updateTagTimeout = window.setTimeout(\n () => this._scrollContentTo('bottom'),\n 100,\n );\n }\n return;\n }\n\n this.editedTagId = null;\n const previousName = tag.name!;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n\n this.tagsManagementState.updateTag({\n tagToUpdate: { ...tag, name: newName },\n previousName,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagSubOrigin: this.tagSubOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n keepPosition: true,\n successToast: {\n biName: 'cairo-save-rename-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.success',\n ),\n },\n showUndoToast: this.showUndoToast,\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n\n return {\n biName: 'cairo-save-rename-tag-error',\n message:\n resolvedError?.message ??\n this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.error',\n ),\n type: 'ERROR',\n };\n },\n },\n });\n }\n\n async deleteTag(tagToDelete: Tag) {\n this._reportSearchEventsBi('select');\n this.tagToDelete = tagToDelete;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n this.openConfirmDeleteModal({\n primaryButtonOnClick: async () => {\n this.tagsManagementState.deleteTag({\n tagToDelete,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagSubOrigin: this.tagSubOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-delete-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.success',\n ),\n },\n showUndoToast: this.showUndoToast,\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n\n return {\n biName: 'cairo-delete-tag-error',\n message:\n resolvedError?.message ??\n 'cairo.tags.manageTags.modal.toast.delete.error',\n type: 'ERROR',\n };\n },\n },\n });\n },\n });\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shownItems() {\n return this.tagsSearchState.items.sort(\n (tag1, tag2) =>\n new Date(tag1.createdDate!).valueOf() -\n new Date(tag2.createdDate!).valueOf(),\n );\n }\n\n get isOpen() {\n return this.manageTagsModalState.isOpen;\n }\n\n get toastConfig() {\n return this.toastConfigs[this.toastConfigs.length - 1] ?? null;\n }\n\n private handleCreateCtaTimeout?: number;\n private showNotificationTimeout?: number;\n private createTagFromListTimeout?: number;\n private updateTagTimeout?: number;\n\n private async _createTag({\n name,\n isFromSearch = false,\n onSuccess,\n }: {\n name: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void;\n }) {\n this.tagsManagementState.createTag({\n name,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n onSuccess,\n origin: actionOrigin,\n tagSubOrigin: this.tagSubOrigin,\n tagsBIReporter: this.tagsBIReporter,\n visualType: 'notification',\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.success',\n ),\n },\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n return {\n biName: 'cairo-save-new-tag-error',\n message:\n resolvedError?.message ??\n this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.error',\n ),\n action: resolvedError?.action,\n };\n },\n },\n });\n this.editedTagErrorMessage = null;\n }\n\n private _isValidName(tagName: string) {\n if (tagName.length === 0) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.emptyName',\n ),\n );\n }\n if (tagName.length > TAG_MAX_LENGTH) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.maxLength',\n { count: TAG_MAX_LENGTH },\n ),\n );\n }\n\n if (\n this.tagsManagementState.items.find(\n ({ name }) => name!.toLowerCase() === tagName.toLowerCase(),\n )\n ) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.exists',\n ),\n );\n }\n\n return { status: '' as InputStatus, statusMessage: '' };\n }\n\n private _reportBiModalOpened() {\n this.tagsBIReporter.reportBi(\n cairoTagsModalStartLoad({\n numTags: this.tagsManagementState.items?.length,\n origin: this.origin,\n }),\n );\n }\n\n private _reportModalClosedBi() {\n this.tagsBIReporter.onModalClose({ origin: this.origin });\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'clear' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _scrollContentTo(direction: 'top' | 'bottom' = 'top') {\n this.ref?.current?.scrollTo({\n top: direction === 'top' ? 0 : this.ref?.current?.scrollHeight,\n behavior: 'smooth',\n });\n }\n\n private _getValidationMessage(statusMessage: string) {\n return {\n status: 'error' as InputStatus,\n statusMessage,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}