@wix/patterns 1.382.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 +4 -4
  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/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  210. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  211. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  212. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  213. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  214. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  215. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  216. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  217. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  218. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  219. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  220. package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js +5 -2
  221. package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
  222. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.js +24 -0
  223. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.js.map +1 -0
  224. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.js +12 -0
  225. package/dist/esm/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.js.map +1 -0
  226. package/dist/esm/components/CustomColumnsPanel/index.js +1 -0
  227. package/dist/esm/components/CustomColumnsPanel/index.js.map +1 -1
  228. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  229. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  230. package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js +2 -0
  231. package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js.map +1 -1
  232. package/dist/esm/components/EditableTable/EditableTable.js +4 -0
  233. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  234. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  235. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  236. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  237. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  238. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  239. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  240. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  241. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  242. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  243. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  244. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  245. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  246. package/dist/esm/components/EditableTable/cellTypes/index.js +5 -1
  247. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  248. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  249. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  250. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  251. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  252. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  253. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  254. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  255. package/dist/esm/components/EditableTable/cellTypes/richContent/Edit.js +4 -2
  256. package/dist/esm/components/EditableTable/cellTypes/richContent/Edit.js.map +1 -1
  257. package/dist/esm/components/EditableTable/cellTypes/richContent/View.uni.driver.js.map +1 -1
  258. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.js +15 -0
  259. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.js.map +1 -0
  260. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.uni.driver.js +9 -0
  261. package/dist/esm/components/EditableTable/cellTypes/richText/Edit.uni.driver.js.map +1 -0
  262. package/dist/esm/components/EditableTable/cellTypes/richText/View.js +6 -0
  263. package/dist/esm/components/EditableTable/cellTypes/richText/View.js.map +1 -0
  264. package/dist/esm/components/EditableTable/cellTypes/richText/View.uni.driver.js +9 -0
  265. package/dist/esm/components/EditableTable/cellTypes/richText/View.uni.driver.js.map +1 -0
  266. package/dist/esm/components/EditableTable/cellTypes/richText/index.js +25 -0
  267. package/dist/esm/components/EditableTable/cellTypes/richText/index.js.map +1 -0
  268. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  269. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  270. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  271. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  272. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  273. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  274. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  275. package/dist/esm/components/EditableTable/cellTypes/video/Edit.js +12 -0
  276. package/dist/esm/components/EditableTable/cellTypes/video/Edit.js.map +1 -0
  277. package/dist/esm/components/EditableTable/cellTypes/video/Edit.uni.driver.js +11 -0
  278. package/dist/esm/components/EditableTable/cellTypes/video/Edit.uni.driver.js.map +1 -0
  279. package/dist/esm/components/EditableTable/cellTypes/video/View.js +4 -0
  280. package/dist/esm/components/EditableTable/cellTypes/video/View.js.map +1 -0
  281. package/dist/esm/components/EditableTable/cellTypes/video/View.uni.driver.js +12 -0
  282. package/dist/esm/components/EditableTable/cellTypes/video/View.uni.driver.js.map +1 -0
  283. package/dist/esm/components/EditableTable/cellTypes/video/index.js +17 -0
  284. package/dist/esm/components/EditableTable/cellTypes/video/index.js.map +1 -0
  285. package/dist/esm/components/EditableTable/useBuiltInHeaderActions.js +16 -1
  286. package/dist/esm/components/EditableTable/useBuiltInHeaderActions.js.map +1 -1
  287. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  288. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  289. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  290. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  291. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  292. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  293. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  294. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  295. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  296. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  297. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  298. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  299. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  300. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  301. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  302. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  303. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  315. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  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/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  364. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +25 -24
  365. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  366. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  367. package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
  368. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  369. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  370. package/dist/types/components/CustomColumns/CustomColumns.d.ts +1 -1
  371. package/dist/types/components/CustomColumns/CustomColumnsFull.d.ts +1 -1
  372. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts +2 -2
  373. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
  374. package/dist/types/components/CustomColumnsPanel/ColumnsList.d.ts +2 -2
  375. package/dist/types/components/CustomColumnsPanel/ColumnsList.d.ts.map +1 -1
  376. package/dist/types/components/CustomColumnsPanel/CustomColumnsCTAButton.d.ts.map +1 -1
  377. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.d.ts +14 -0
  378. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPageCTA.d.ts.map +1 -0
  379. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.d.ts +8 -0
  380. package/dist/types/components/CustomColumnsPanel/CustomColumnsEntityPagePanelEntry.d.ts.map +1 -0
  381. package/dist/types/components/CustomColumnsPanel/CustomColumnsNoResults.d.ts +2 -2
  382. package/dist/types/components/CustomColumnsPanel/CustomColumnsNoResults.d.ts.map +1 -1
  383. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanel.d.ts +2 -2
  384. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanel.d.ts.map +1 -1
  385. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanelEntry.d.ts +1 -1
  386. package/dist/types/components/CustomColumnsPanel/CustomColumnsSearch.d.ts +2 -2
  387. package/dist/types/components/CustomColumnsPanel/CustomColumnsSearch.d.ts.map +1 -1
  388. package/dist/types/components/CustomColumnsPanel/index.d.ts +1 -0
  389. package/dist/types/components/CustomColumnsPanel/index.d.ts.map +1 -1
  390. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
  391. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
  392. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  393. package/dist/types/components/EditableTable/EditableColumnHeader.uni.driver.d.ts +2 -0
  394. package/dist/types/components/EditableTable/EditableColumnHeader.uni.driver.d.ts.map +1 -1
  395. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  396. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -1
  397. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  398. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  399. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  400. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  401. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  402. package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
  403. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  404. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  405. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  406. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  407. package/dist/types/components/EditableTable/cellTypes/richContent/Edit.d.ts.map +1 -1
  408. package/dist/types/components/EditableTable/cellTypes/richContent/View.uni.driver.d.ts.map +1 -1
  409. package/dist/types/components/EditableTable/cellTypes/richText/Edit.d.ts +4 -0
  410. package/dist/types/components/EditableTable/cellTypes/richText/Edit.d.ts.map +1 -0
  411. package/dist/types/components/EditableTable/cellTypes/richText/Edit.uni.driver.d.ts +16 -0
  412. package/dist/types/components/EditableTable/cellTypes/richText/Edit.uni.driver.d.ts.map +1 -0
  413. package/dist/types/components/EditableTable/cellTypes/richText/View.d.ts +4 -0
  414. package/dist/types/components/EditableTable/cellTypes/richText/View.d.ts.map +1 -0
  415. package/dist/types/components/EditableTable/cellTypes/richText/View.uni.driver.d.ts +16 -0
  416. package/dist/types/components/EditableTable/cellTypes/richText/View.uni.driver.d.ts.map +1 -0
  417. package/dist/types/components/EditableTable/cellTypes/richText/index.d.ts +2 -0
  418. package/dist/types/components/EditableTable/cellTypes/richText/index.d.ts.map +1 -0
  419. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  420. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  421. package/dist/types/components/EditableTable/cellTypes/video/Edit.d.ts +4 -0
  422. package/dist/types/components/EditableTable/cellTypes/video/Edit.d.ts.map +1 -0
  423. package/dist/types/components/EditableTable/cellTypes/video/Edit.uni.driver.d.ts +18 -0
  424. package/dist/types/components/EditableTable/cellTypes/video/Edit.uni.driver.d.ts.map +1 -0
  425. package/dist/types/components/EditableTable/cellTypes/video/View.d.ts +4 -0
  426. package/dist/types/components/EditableTable/cellTypes/video/View.d.ts.map +1 -0
  427. package/dist/types/components/EditableTable/cellTypes/video/View.uni.driver.d.ts +16 -0
  428. package/dist/types/components/EditableTable/cellTypes/video/View.uni.driver.d.ts.map +1 -0
  429. package/dist/types/components/EditableTable/cellTypes/video/index.d.ts +5 -0
  430. package/dist/types/components/EditableTable/cellTypes/video/index.d.ts.map +1 -0
  431. package/dist/types/components/EditableTable/useBuiltInHeaderActions.d.ts.map +1 -1
  432. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  433. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  434. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  435. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  436. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  437. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +42 -40
  438. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -1
  439. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  440. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +38 -37
  441. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  442. package/dist/types/components/PickerContent/PickerContentAdditionalStep.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.uni.driver.d.ts +1 -1
  456. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +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 +7 -7
  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,137 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.CustomColumnsEntityPageState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _mobx = require("mobx");
8
+ var _CustomColumnsPanelStateBase = require("./CustomColumnsPanelStateBase");
9
+ function fieldToColumn(field, hideable) {
10
+ var _field$validation;
11
+ return {
12
+ id: field.id,
13
+ name: field.displayName,
14
+ title: field.displayName,
15
+ render: () => null,
16
+ fieldType: field.type,
17
+ hideable,
18
+ validation: (_field$validation = field.validation) != null && _field$validation.required ? [{
19
+ type: 'required',
20
+ message: ''
21
+ }] : undefined
22
+ };
23
+ }
24
+ class CustomColumnsEntityPageState extends _CustomColumnsPanelStateBase.CustomColumnsPanelStateBase {
25
+ constructor(params) {
26
+ super({
27
+ container: params.container,
28
+ queryName: 'entity-page-custom-columns'
29
+ });
30
+ (0, _defineProperty2.default)(this, "panels", void 0);
31
+ (0, _defineProperty2.default)(this, "fieldsState", void 0);
32
+ (0, _defineProperty2.default)(this, "_showFieldTypeIcons", void 0);
33
+ (0, _defineProperty2.default)(this, "_schema", void 0);
34
+ (0, _defineProperty2.default)(this, "_dragAndDrop", void 0);
35
+ this.panels = params.panels;
36
+ this.fieldsState = params.fieldsState;
37
+ this._showFieldTypeIcons = params.showFieldTypeIcons ?? true;
38
+ this._schema = params.schema;
39
+ if (params.dragAndDrop) {
40
+ const {
41
+ fieldsState
42
+ } = params;
43
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
44
+ const self = this;
45
+ const {
46
+ CustomColumnsDragAndDropState: DnDState
47
+ } = params.dragAndDrop;
48
+ this._dragAndDrop = new DnDState({
49
+ customColumns: this,
50
+ dataSource: {
51
+ get columns() {
52
+ return self.orderedColumns;
53
+ },
54
+ selectedColumns: {
55
+ get value() {
56
+ return fieldsState.orderedFields.map(f => ({
57
+ id: f.id,
58
+ isSelected: fieldsState.isFieldVisible(f.id)
59
+ }));
60
+ },
61
+ refresh(reordered) {
62
+ fieldsState.setFieldOrder(reordered.map(s => ({
63
+ id: s.id,
64
+ isVisible: s.isSelected ?? true
65
+ })));
66
+ }
67
+ }
68
+ },
69
+ components: params.dragAndDrop,
70
+ modalsContainerRef: params.modalsContainerRef
71
+ });
72
+ }
73
+ this.initBaseObservables();
74
+ }
75
+ get orderedColumns() {
76
+ const {
77
+ fields,
78
+ displayField
79
+ } = this._schema;
80
+ return this.fieldsState.orderedFields.map(viewConfig => {
81
+ const field = fields[viewConfig.id];
82
+ if (!field) {
83
+ return null;
84
+ }
85
+ const hideable = field.id !== displayField;
86
+ return fieldToColumn(field, hideable);
87
+ }).filter(Boolean);
88
+ }
89
+ get showFieldTypeIcons() {
90
+ return this._showFieldTypeIcons;
91
+ }
92
+ get collectionDataExtension() {
93
+ return null;
94
+ }
95
+ get sidePanelTransition() {
96
+ return this.panels.sidePanel.transition;
97
+ }
98
+ get dragAndDrop() {
99
+ return this._dragAndDrop;
100
+ }
101
+ customizeColumnsInSidePanelBi(_params) {
102
+ // BI reporting — to be wired
103
+ }
104
+ onClose() {
105
+ this.panels.closeSidePanel();
106
+ }
107
+ init() {
108
+ var _this$_dragAndDrop;
109
+ const disposers = [(0, _mobx.reaction)(() => this.fieldsState.orderedFields, async () => {
110
+ const fields = this.fieldsState.orderedFields;
111
+ this.select.clear();
112
+ this.select.forceSetMany(fields.map(field => ({
113
+ value: {
114
+ id: field.id
115
+ },
116
+ status: this.fieldsState.isFieldVisible(field.id) ? this.select.finalStatus : this.select.startStatus
117
+ })));
118
+ await this.columnsCollection.refreshAllPages();
119
+ }, {
120
+ fireImmediately: true
121
+ }), (0, _mobx.reaction)(() => this.select.selectedValues, () => {
122
+ const fields = this.fieldsState.orderedFields;
123
+ for (const field of fields) {
124
+ const isChecked = this.select.isChecked(field.id);
125
+ const isCurrentlyVisible = this.fieldsState.isFieldVisible(field.id);
126
+ if (isChecked !== isCurrentlyVisible) {
127
+ this.fieldsState.setFieldVisibility(field.id, isChecked);
128
+ }
129
+ }
130
+ }), this.columnsCollection.init(), (_this$_dragAndDrop = this._dragAndDrop) == null ? void 0 : _this$_dragAndDrop.init()];
131
+ return () => {
132
+ disposers.forEach(d => d == null ? void 0 : d());
133
+ };
134
+ }
135
+ }
136
+ exports.CustomColumnsEntityPageState = CustomColumnsEntityPageState;
137
+ //# sourceMappingURL=CustomColumnsEntityPageState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_mobx","require","_CustomColumnsPanelStateBase","fieldToColumn","field","hideable","_field$validation","id","name","displayName","title","render","fieldType","type","validation","required","message","undefined","CustomColumnsEntityPageState","CustomColumnsPanelStateBase","constructor","params","container","queryName","_defineProperty2","default","panels","fieldsState","_showFieldTypeIcons","showFieldTypeIcons","_schema","schema","dragAndDrop","self","CustomColumnsDragAndDropState","DnDState","_dragAndDrop","customColumns","dataSource","columns","orderedColumns","selectedColumns","value","orderedFields","map","f","isSelected","isFieldVisible","refresh","reordered","setFieldOrder","s","isVisible","components","modalsContainerRef","initBaseObservables","fields","displayField","viewConfig","filter","Boolean","collectionDataExtension","sidePanelTransition","sidePanel","transition","customizeColumnsInSidePanelBi","_params","onClose","closeSidePanel","init","_this$_dragAndDrop","disposers","reaction","select","clear","forceSetMany","status","finalStatus","startStatus","columnsCollection","refreshAllPages","fireImmediately","selectedValues","isChecked","isCurrentlyVisible","setFieldVisibility","forEach","d","exports"],"sources":["../../../src/state/CustomColumnsEntityPageState.ts"],"sourcesContent":["import { TransitionState } from '@wix/bex-core';\nimport { reaction } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\nimport { SchemaFieldsState } from './SchemaCard/SchemaFieldsState';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { Field, SchemaConfig } from '../types/SchemaConfig';\n\nexport interface CustomColumnsEntityPageStateParams {\n panels: SidePanelsState;\n container: import('@wix/bex-core').WixPatternsContainer;\n fieldsState: SchemaFieldsState;\n schema: SchemaConfig;\n showFieldTypeIcons?: boolean;\n dragAndDrop?: typeof CustomColumnsDragAndDrop;\n modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nfunction fieldToColumn(field: Field, hideable: boolean): Column {\n return {\n id: field.id,\n name: field.displayName,\n title: field.displayName,\n render: () => null,\n fieldType: field.type as Column['fieldType'],\n hideable,\n validation: field.validation?.required\n ? [{ type: 'required' as const, message: '' }]\n : undefined,\n };\n}\n\nexport class CustomColumnsEntityPageState extends CustomColumnsPanelStateBase {\n readonly panels: SidePanelsState;\n readonly fieldsState: SchemaFieldsState;\n readonly _showFieldTypeIcons: boolean;\n readonly _schema: SchemaConfig;\n readonly _dragAndDrop?: CustomColumnsDragAndDropState<unknown, any>;\n\n constructor(params: CustomColumnsEntityPageStateParams) {\n super({\n container: params.container,\n queryName: 'entity-page-custom-columns',\n });\n\n this.panels = params.panels;\n this.fieldsState = params.fieldsState;\n this._showFieldTypeIcons = params.showFieldTypeIcons ?? true;\n this._schema = params.schema;\n\n if (params.dragAndDrop) {\n const { fieldsState } = params;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const { CustomColumnsDragAndDropState: DnDState } = params.dragAndDrop;\n this._dragAndDrop = new DnDState({\n customColumns: this,\n dataSource: {\n get columns() {\n return self.orderedColumns;\n },\n selectedColumns: {\n get value() {\n return fieldsState.orderedFields.map((f) => ({\n id: f.id,\n isSelected: fieldsState.isFieldVisible(f.id),\n }));\n },\n refresh(reordered) {\n fieldsState.setFieldOrder(\n reordered.map((s) => ({\n id: s.id,\n isVisible: s.isSelected ?? true,\n })),\n );\n },\n },\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.initBaseObservables();\n }\n\n get orderedColumns(): Column[] {\n const { fields, displayField } = this._schema;\n return this.fieldsState.orderedFields\n .map((viewConfig) => {\n const field = fields[viewConfig.id];\n if (!field) {\n return null;\n }\n const hideable = field.id !== displayField;\n return fieldToColumn(field, hideable);\n })\n .filter(Boolean) as Column[];\n }\n\n get showFieldTypeIcons() {\n return this._showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return null;\n }\n\n get sidePanelTransition(): TransitionState<string> | undefined {\n return this.panels.sidePanel.transition;\n }\n\n get dragAndDrop() {\n return this._dragAndDrop;\n }\n\n customizeColumnsInSidePanelBi(_params: {\n actionName: CustomColumnsActionName;\n }) {\n // BI reporting — to be wired\n }\n\n onClose() {\n this.panels.closeSidePanel();\n }\n\n init() {\n const disposers = [\n reaction(\n () => this.fieldsState.orderedFields,\n async () => {\n const fields = this.fieldsState.orderedFields;\n this.select.clear();\n this.select.forceSetMany(\n fields.map((field) => ({\n value: { id: field.id },\n status: this.fieldsState.isFieldVisible(field.id)\n ? this.select.finalStatus\n : this.select.startStatus,\n })),\n );\n await this.columnsCollection.refreshAllPages();\n },\n { fireImmediately: true },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const fields = this.fieldsState.orderedFields;\n for (const field of fields) {\n const isChecked = this.select.isChecked(field.id);\n const isCurrentlyVisible = this.fieldsState.isFieldVisible(\n field.id,\n );\n if (isChecked !== isCurrentlyVisible) {\n this.fieldsState.setFieldVisibility(field.id, isChecked);\n }\n }\n },\n ),\n this.columnsCollection.init(),\n this._dragAndDrop?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.CustomColumnsPanelStateBase = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _bexCore = require("@wix/bex-core");
8
+ var _mobx = require("mobx");
9
+ class CustomColumnsPanelStateBase {
10
+ constructor(params) {
11
+ (0, _defineProperty2.default)(this, "container", void 0);
12
+ (0, _defineProperty2.default)(this, "columnsCollection", void 0);
13
+ (0, _defineProperty2.default)(this, "select", new _bexCore.SelectState({
14
+ keyGetter: column => column.id
15
+ }));
16
+ (0, _defineProperty2.default)(this, "searchValue", '');
17
+ (0, _defineProperty2.default)(this, "onColumnClick", void 0);
18
+ (0, _defineProperty2.default)(this, "setSearchValue", (0, _mobx.action)(value => {
19
+ this.searchValue = value;
20
+ this.columnsCollection.refreshAllPages();
21
+ }));
22
+ (0, _defineProperty2.default)(this, "onColumnCheckboxToggle", (0, _mobx.action)(column => {
23
+ const {
24
+ select,
25
+ onColumnClick
26
+ } = this;
27
+ select.toggle(column);
28
+ onColumnClick == null || onColumnClick(column, select.isChecked(column.id));
29
+ }));
30
+ this.container = params.container;
31
+ this.columnsCollection = new _bexCore.CollectionState({
32
+ ...this.container,
33
+ events: {},
34
+ queryName: params.queryName,
35
+ fetchData: async () => {
36
+ const items = this.filteredColumns.filter(column => column.hiddenFromCustomColumnsSelection !== true);
37
+ return {
38
+ items
39
+ };
40
+ },
41
+ filters: {},
42
+ itemKey: item => item.id,
43
+ itemName: item => item.name
44
+ });
45
+ }
46
+ initBaseObservables() {
47
+ (0, _mobx.makeObservable)(this, {
48
+ searchValue: _mobx.observable,
49
+ setSearchValue: _mobx.action.bound,
50
+ orderedColumns: _mobx.computed,
51
+ filteredColumns: _mobx.computed
52
+ });
53
+ }
54
+ get filteredColumns() {
55
+ const {
56
+ orderedColumns,
57
+ searchValue
58
+ } = this;
59
+ if (!searchValue.trim()) {
60
+ return orderedColumns;
61
+ }
62
+ const searchLower = searchValue.toLowerCase();
63
+ return orderedColumns.filter(column => {
64
+ const name = column.name || (typeof column.title === 'string' ? column.title : column.id);
65
+ return name.toLowerCase().includes(searchLower);
66
+ });
67
+ }
68
+ }
69
+ exports.CustomColumnsPanelStateBase = CustomColumnsPanelStateBase;
70
+ //# sourceMappingURL=CustomColumnsPanelStateBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bexCore","require","_mobx","CustomColumnsPanelStateBase","constructor","params","_defineProperty2","default","SelectState","keyGetter","column","id","action","value","searchValue","columnsCollection","refreshAllPages","select","onColumnClick","toggle","isChecked","container","CollectionState","events","queryName","fetchData","items","filteredColumns","filter","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","initBaseObservables","makeObservable","observable","setSearchValue","bound","orderedColumns","computed","trim","searchLower","toLowerCase","title","includes","exports"],"sources":["../../../src/state/CustomColumnsPanelStateBase.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TransitionState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\n\nexport interface CustomColumnsPanelStateBaseParams {\n container: WixPatternsContainer;\n queryName: string;\n}\n\nexport abstract class CustomColumnsPanelStateBase<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> {\n readonly container: WixPatternsContainer;\n readonly columnsCollection: CollectionState<Column, FiltersMap>;\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n searchValue = '';\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n constructor(params: CustomColumnsPanelStateBaseParams) {\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: params.queryName,\n fetchData: async () => {\n const items = this.filteredColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n return { items };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n });\n }\n\n protected initBaseObservables() {\n makeObservable(this, {\n searchValue: observable,\n setSearchValue: action.bound,\n orderedColumns: computed,\n filteredColumns: computed,\n });\n }\n\n abstract get orderedColumns(): Column[];\n\n abstract get showFieldTypeIcons(): boolean;\n\n abstract get collectionDataExtension():\n | CollectionDataExtensionState<T, F>\n | null\n | undefined;\n\n abstract get sidePanelTransition(): TransitionState<string> | undefined;\n\n abstract get dragAndDrop(): CustomColumnsDragAndDropState<T, F> | undefined;\n\n abstract customizeColumnsInSidePanelBi(params: {\n actionName: CustomColumnsActionName;\n }): void;\n\n abstract onClose(): void;\n\n abstract init(): () => void;\n\n get filteredColumns(): Column[] {\n const { orderedColumns, searchValue } = this;\n\n if (!searchValue.trim()) {\n return orderedColumns;\n }\n\n const searchLower = searchValue.toLowerCase();\n return orderedColumns.filter((column) => {\n const name =\n column.name ||\n (typeof column.title === 'string' ? column.title : column.id);\n return name.toLowerCase().includes(searchLower);\n });\n }\n\n setSearchValue = action((value: string) => {\n this.searchValue = value;\n this.columnsCollection.refreshAllPages();\n });\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AAWO,MAAeE,2BAA2B,CAG/C;EAYAC,WAAWA,CAACC,MAAyC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBARrC,IAAIC,oBAAW,CAAiB;MAChDC,SAAS,EAAGC,MAAM,IAAKA,MAAM,CAACC;IAChC,CAAC,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,uBAEY,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAqEC,IAAAK,YAAM,EAAEC,KAAa,IAAK;MACzC,IAAI,CAACC,WAAW,GAAGD,KAAK;MACxB,IAAI,CAACE,iBAAiB,CAACC,eAAe,CAAC,CAAC;IAC1C,CAAC,CAAC;IAAA,IAAAV,gBAAA,CAAAC,OAAA,kCAEuB,IAAAK,YAAM,EAAEF,MAAc,IAAK;MAClD,MAAM;QAAEO,MAAM;QAAEC;MAAc,CAAC,GAAG,IAAI;MACtCD,MAAM,CAACE,MAAM,CAACT,MAAM,CAAC;MACrBQ,aAAa,YAAbA,aAAa,CAAGR,MAAM,EAAEO,MAAM,CAACG,SAAS,CAACV,MAAM,CAACC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAzEA,IAAI,CAACU,SAAS,GAAGhB,MAAM,CAACgB,SAAS;IAEjC,IAAI,CAACN,iBAAiB,GAAG,IAAIO,wBAAe,CAAC;MAC3C,GAAG,IAAI,CAACD,SAAS;MACjBE,MAAM,EAAE,CAAC,CAAC;MACVC,SAAS,EAAEnB,MAAM,CAACmB,SAAS;MAC3BC,SAAS,EAAE,MAAAA,CAAA,KAAY;QACrB,MAAMC,KAAK,GAAG,IAAI,CAACC,eAAe,CAACC,MAAM,CACtClB,MAAM,IAAKA,MAAM,CAACmB,gCAAgC,KAAK,IAC1D,CAAC;QACD,OAAO;UAAEH;QAAM,CAAC;MAClB,CAAC;MACDI,OAAO,EAAE,CAAC,CAAC;MACXC,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACrB,EAAE;MAC1BsB,QAAQ,EAAGD,IAAI,IAAKA,IAAI,CAACE;IAC3B,CAAC,CAAC;EACJ;EAEUC,mBAAmBA,CAAA,EAAG;IAC9B,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBtB,WAAW,EAAEuB,gBAAU;MACvBC,cAAc,EAAE1B,YAAM,CAAC2B,KAAK;MAC5BC,cAAc,EAAEC,cAAQ;MACxBd,eAAe,EAAEc;IACnB,CAAC,CAAC;EACJ;EAuBA,IAAId,eAAeA,CAAA,EAAa;IAC9B,MAAM;MAAEa,cAAc;MAAE1B;IAAY,CAAC,GAAG,IAAI;IAE5C,IAAI,CAACA,WAAW,CAAC4B,IAAI,CAAC,CAAC,EAAE;MACvB,OAAOF,cAAc;IACvB;IAEA,MAAMG,WAAW,GAAG7B,WAAW,CAAC8B,WAAW,CAAC,CAAC;IAC7C,OAAOJ,cAAc,CAACZ,MAAM,CAAElB,MAAM,IAAK;MACvC,MAAMwB,IAAI,GACRxB,MAAM,CAACwB,IAAI,KACV,OAAOxB,MAAM,CAACmC,KAAK,KAAK,QAAQ,GAAGnC,MAAM,CAACmC,KAAK,GAAGnC,MAAM,CAACC,EAAE,CAAC;MAC/D,OAAOuB,IAAI,CAACU,WAAW,CAAC,CAAC,CAACE,QAAQ,CAACH,WAAW,CAAC;IACjD,CAAC,CAAC;EACJ;AAYF;AAACI,OAAA,CAAA5C,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -10,61 +10,35 @@ var _CustomColumnsHistoryState = require("./CustomColumnsHistoryState");
10
10
  var _indexOfCompareFn = require("./indexOfCompareFn");
11
11
  var _events = require("events");
12
12
  var _bi = require("@wix/bex-core/bi");
13
+ var _CustomColumnsPanelStateBase = require("./CustomColumnsPanelStateBase");
13
14
  const asStoredColumnsOrNull = customColumnsResult => Array.isArray(customColumnsResult) ? customColumnsResult : null;
14
- class CustomColumnsState {
15
+ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanelStateBase {
15
16
  constructor(params) {
17
+ super({
18
+ container: params.container,
19
+ queryName: [params.container.environment.componentId, params.table.collection.queryName, 'customColumns'].filter(Boolean).join('/')
20
+ });
16
21
  (0, _defineProperty2.default)(this, "table", void 0);
17
- (0, _defineProperty2.default)(this, "container", void 0);
18
- (0, _defineProperty2.default)(this, "columnsCollection", void 0);
19
22
  (0, _defineProperty2.default)(this, "dragAndDrop", void 0);
20
23
  (0, _defineProperty2.default)(this, "customColumnsHistory", void 0);
21
- (0, _defineProperty2.default)(this, "onColumnClick", void 0);
22
24
  (0, _defineProperty2.default)(this, "_didFirstColumnsMerge", void 0);
23
25
  (0, _defineProperty2.default)(this, "_performedCustomColumnsActions", new Map());
24
26
  (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
25
27
  (0, _defineProperty2.default)(this, "_touched", false);
26
- (0, _defineProperty2.default)(this, "searchValue", '');
27
- (0, _defineProperty2.default)(this, "select", new _bexCore.SelectState({
28
- keyGetter: column => column.id
29
- }));
30
28
  (0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
31
- (0, _defineProperty2.default)(this, "onColumnCheckboxToggle", (0, _mobx.action)(column => {
32
- const {
33
- select,
34
- onColumnClick
35
- } = this;
36
- select.toggle(column);
37
- onColumnClick == null || onColumnClick(column, select.isChecked(column.id));
38
- }));
39
- (0, _defineProperty2.default)(this, "setSearchValue", (0, _mobx.action)(value => {
40
- this.searchValue = value;
41
- this.columnsCollection.refreshAllPages();
42
- }));
43
29
  this.table = params.table;
44
- this.container = params.container;
45
- this.columnsCollection = new _bexCore.CollectionState({
46
- ...this.container,
47
- events: {},
48
- queryName: [this.container.environment.componentId, this.table.collection.queryName, 'customColumns'].filter(Boolean).join('/'),
49
- fetchData: async () => {
50
- const {
51
- filteredColumns
52
- } = this;
53
- const items = filteredColumns.filter(column => column.hiddenFromCustomColumnsSelection !== true);
54
- return {
55
- items
56
- };
57
- },
58
- filters: {},
59
- itemKey: item => item.id,
60
- itemName: item => item.name
61
- });
62
30
  if (params.dragAndDrop) {
63
31
  const {
64
32
  CustomColumnsDragAndDropState
65
33
  } = params.dragAndDrop;
66
34
  this.dragAndDrop = new CustomColumnsDragAndDropState({
67
35
  customColumns: this,
36
+ dataSource: {
37
+ get columns() {
38
+ return params.table.columns;
39
+ },
40
+ selectedColumns: params.table.selectedColumns
41
+ },
68
42
  components: params.dragAndDrop,
69
43
  modalsContainerRef: params.modalsContainerRef
70
44
  });
@@ -73,14 +47,11 @@ class CustomColumnsState {
73
47
  customColumns: this,
74
48
  history: params.container.history
75
49
  }) : null;
50
+ this.initBaseObservables();
76
51
  (0, _mobx.makeObservable)(this, {
77
- searchValue: _mobx.observable,
78
52
  persistCustomColumns: _mobx.action.bound,
79
- setSearchValue: _mobx.action.bound,
80
53
  toSelectedColumns: _mobx.computed,
81
- orderedColumns: _mobx.computed,
82
54
  selectedOrderedColumns: _mobx.computed,
83
- filteredColumns: _mobx.computed,
84
55
  init: _mobx.action
85
56
  });
86
57
  }
@@ -384,20 +355,6 @@ class CustomColumnsState {
384
355
  }));
385
356
  this.table.sidePanel.close();
386
357
  }
387
- get filteredColumns() {
388
- const {
389
- orderedColumns,
390
- searchValue
391
- } = this;
392
- if (!searchValue.trim()) {
393
- return orderedColumns;
394
- }
395
- const searchLower = searchValue.toLowerCase();
396
- return orderedColumns.filter(column => {
397
- const name = column.name || (typeof column.title === 'string' ? column.title : column.id);
398
- return name.toLowerCase().includes(searchLower);
399
- });
400
- }
401
358
  }
402
359
  exports.CustomColumnsState = CustomColumnsState;
403
360
  //# sourceMappingURL=CustomColumnsState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","constructor","params","_defineProperty2","default","Map","TaskState","SelectState","keyGetter","column","id","EventEmitter","action","select","onColumnClick","toggle","isChecked","value","searchValue","columnsCollection","refreshAllPages","table","container","CollectionState","events","queryName","environment","componentId","collection","filter","Boolean","join","fetchData","filteredColumns","items","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","dragAndDrop","CustomColumnsDragAndDropState","customColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","makeObservable","observable","persistCustomColumns","bound","setSearchValue","toSelectedColumns","computed","orderedColumns","selectedOrderedColumns","init","columns","customColumnsState","selectedColumns","some","selectedColumn","isSelected","dataCapsule","viewsProps","_touched","setItem","registerSelectedColumnChange","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","fireImmediately","selectedValues","setValue","emitEvents","disposer","_getStoredCustomColumns","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","_fetchFromStorage","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","_selectedColumnsFromUrl","storedCustomColumns","selectedColumnsFromStorage","tableColumn","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","collectionDataExtension","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close","trim","searchLower","toLowerCase","title","includes","exports"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TaskState,\n TransitionState,\n TypedEmitter,\n withoutDefaults,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction, observable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = {\n readonly columnsCollection: CollectionState<Column, FiltersMap>;\n readonly searchValue: string;\n readonly orderedColumns: Column[];\n readonly dragAndDrop?: CustomColumnsDragAndDropState<T, F>;\n readonly select: SelectState<{ id: string }>;\n setSearchValue(value: string): void;\n onColumnCheckboxToggle(column: Column): void;\n customizeColumnsInSidePanelBi(params: {\n actionName: CustomColumnsActionName;\n }): void;\n init(): () => void;\n readonly showFieldTypeIcons: boolean;\n readonly collectionDataExtension?: CollectionDataExtensionState<T, F> | null;\n readonly sidePanelTransition?: TransitionState<string>;\n onClose(): void;\n};\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<T, F extends FiltersMap> {\n readonly table;\n readonly container;\n\n readonly columnsCollection;\n\n readonly dragAndDrop;\n\n readonly customColumnsHistory;\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n searchValue = '';\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n this.table = params.table;\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n const { filteredColumns } = this;\n\n const items = filteredColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n\n return {\n items,\n };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n });\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n makeObservable(this, {\n searchValue: observable,\n persistCustomColumns: action.bound,\n setSearchValue: action.bound,\n toSelectedColumns: computed,\n orderedColumns: computed,\n selectedOrderedColumns: computed,\n filteredColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem('custom-columns', table.selectedColumns.value);\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem('custom-columns'),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (customColumnsState?.customColumnsHistory?._selectedColumnsFromUrl) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return this.table.collectionDataExtension;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n\n get filteredColumns(): Column[] {\n const { orderedColumns, searchValue } = this;\n\n if (!searchValue.trim()) {\n return orderedColumns;\n }\n\n const searchLower = searchValue.toLowerCase();\n return orderedColumns.filter((column) => {\n const name =\n column.name ||\n (typeof column.title === 'string' ? column.title : column.id);\n return name.toLowerCase().includes(searchLower);\n });\n }\n\n setSearchValue = action((value: string) => {\n this.searchValue = value;\n this.columnsCollection.refreshAllPages();\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","persistCustomColumns","action","bound","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","dataCapsule","viewsProps","_touched","setItem","registerSelectedColumnChange","events","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","disposer","_getStoredCustomColumns","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","_fetchFromStorage","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","_selectedColumnsFromUrl","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","collectionDataExtension","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close","exports"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\nexport type { CollectionDataExtensionState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem('custom-columns', table.selectedColumns.value);\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem('custom-columns'),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (customColumnsState?.customColumnsHistory?._selectedColumnsFromUrl) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return this.table.collectionDataExtension;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,10 @@ var _CellInteractionState = require("./CellInteractionState");
12
12
  var _CellValueState = require("./CellValueState");
13
13
  var _ClipboardState = require("./ClipboardState");
14
14
  var _MutationState = require("./MutationState");
15
+ var _FieldActionsState = require("./FieldActionsState");
15
16
  class EditableTableState {
16
17
  constructor(params) {
18
+ var _params$permissions;
17
19
  (0, _defineProperty2.default)(this, "toolbar", void 0);
18
20
  (0, _defineProperty2.default)(this, "tableState", void 0);
19
21
  (0, _defineProperty2.default)(this, "cellInteraction", void 0);
@@ -21,6 +23,7 @@ class EditableTableState {
21
23
  (0, _defineProperty2.default)(this, "clipboard", void 0);
22
24
  (0, _defineProperty2.default)(this, "mutation", void 0);
23
25
  (0, _defineProperty2.default)(this, "deleteConfirmModal", new _bexCore.ConditionalModalState());
26
+ (0, _defineProperty2.default)(this, "fieldActions", void 0);
24
27
  (0, _defineProperty2.default)(this, "addItemDisabled", false);
25
28
  (0, _defineProperty2.default)(this, "updateItemDisabled", false);
26
29
  (0, _defineProperty2.default)(this, "removeItemDisabled", false);
@@ -56,6 +59,7 @@ class EditableTableState {
56
59
  }, this);
57
60
  this.clipboard = new _ClipboardState.ClipboardState(this);
58
61
  this.mutation = new _MutationState.MutationState(this, params.mutations, params.createOptimisticActions);
62
+ this.fieldActions = new _FieldActionsState.FieldActionsState(params.collection.translate, params.fieldActions, (_params$permissions = params.permissions) == null ? void 0 : _params$permissions.fieldActions);
59
63
  (0, _mobx.makeObservable)(this, {
60
64
  addItemDisabled: _mobx.observable,
61
65
  updateItemDisabled: _mobx.observable,
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","EditableTableState","constructor","params","_defineProperty2","default","ConditionalModalState","items","tableState","onAddItemActionComplete","columnId","forceDirection","multiple","collection","sort","id","clearResult","toolbar","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_allColumns","ref","editableColumns","computed","_columnMap","init","action","confirmDeleteItems","permissions","keyedItems","visibleColumns","itemsToRenderCount","Map","map","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","_buildCellTypeMap","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, EditableColumn, ValidationResult } from './types';\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _allColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(this);\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _allColumns: observable.ref,\n editableColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this._allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this._allColumns;\n }\n return visibleIds\n .map((id) => this._allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._allColumns = columns;\n this.cellValue._buildCellTypeMap();\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n const { translate: t } = this.collection;\n this.deleteConfirmModal.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.deleteItems(rowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAmCO,MAAMQ,kBAAkB,CAE/B;EAkBEC,WAAWA,CAACC,MAAsC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAVtB,IAAIC,8BAAqB,CAErD,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,2BAEe,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACL,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBAES,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCAsFVE,KAAU,IAAK;MACxC,OAAO,IAAI,CAACC,UAAU,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACvD,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,gBA8IM,CACLK,QAAgB,EAChB;MACEC,cAAc;MACdC;IACkD,CAAC,GAAG,CAAC,CAAC,KACvD;MACH,IAAI,CAACC,UAAU,CAACC,IAAI,CAClB;QAAEC,EAAE,EAAEL;MAAS,CAAC,EAChB;QAAEC,cAAc;QAAEK,WAAW,EAAE,IAAI;QAAEJ;MAAS,CAChD,CAAC;IACH,CAAC;IA9OC,IAAI,CAACK,OAAO,GACVd,MAAM,CAACc,OAAO,IACd,IAAIC,8CAAsB,CAAC;MACzBL,UAAU,EAAEV,MAAM,CAACU,UAAU;MAC7BM,SAAS,EAAEhB,MAAM,CAACgB,SAAS;MAC3BC,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAI,CAACZ,UAAU,GAAG,IAAIa,sBAAU,CAAC;MAC/BR,UAAU,EAAEV,MAAM,CAACU,UAAU;MAC7BM,SAAS,EAAEhB,MAAM,CAACgB,SAAS;MAC3BF,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACK,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAE/C,IAAI,CAACC,eAAe,GAAG,IAAIC,0CAAoB,CAC7C,CAACC,YAAY,EAAEC,IAAI,KAAK;MACtB,IAAI,CAACL,SAAS,CAACM,aAAa,CAACF,YAAY,EAAEC,IAAI,CAAC;IAClD,CAAC,EACD,IACF,CAAC;IACD,IAAI,CAACE,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAC/C,IAAI,CAACC,QAAQ,GAAG,IAAIC,4BAAa,CAC/B,IAAI,EACJ7B,MAAM,CAAC8B,SAAS,EAChB9B,MAAM,CAAC+B,uBACT,CAAC;IAED,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,gBAAU;MAC3BC,kBAAkB,EAAED,gBAAU;MAC9BE,kBAAkB,EAAEF,gBAAU;MAC9BG,WAAW,EAAEH,gBAAU,CAACI,GAAG;MAC3BC,eAAe,EAAEC,cAAQ;MACzBC,UAAU,EAAED,cAAQ;MACpBE,IAAI,EAAEC,YAAM;MACZC,kBAAkB,EAAED;IACtB,CAAC,CAAC;IAEF,IAAI3C,MAAM,CAAC6C,WAAW,EAAE;MACtB,IAAI,CAACZ,eAAe,GAAGjC,MAAM,CAAC6C,WAAW,CAACZ,eAAe,IAAI,KAAK;MAClE,IAAI,CAACE,kBAAkB,GAAGnC,MAAM,CAAC6C,WAAW,CAACV,kBAAkB,IAAI,KAAK;MACxE,IAAI,CAACC,kBAAkB,GAAGpC,MAAM,CAAC6C,WAAW,CAACT,kBAAkB,IAAI,KAAK;IAC1E;EACF;EAEA,IAAI1B,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACL,UAAU,CAACK,UAAU;EACnC;EAEA,IAAIoC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACzC,UAAU,CAACyC,UAAU;EACnC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC1C,UAAU,CAAC0C,cAAc;EACvC;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC3C,UAAU,CAAC2C,kBAAkB;EAC3C;EAEA,IAAIP,UAAUA,CAAA,EAAmC;IAC/C,OAAO,IAAIQ,GAAG,CAAC,IAAI,CAACZ,WAAW,CAACa,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACvC,EAAE,EAAEuC,CAAC,CAAC,CAAC,CAAC;EACxD;EAEAC,aAAaA,CAACC,GAAW,EAAmC;IAC1D,OAAO,IAAI,CAAC3C,UAAU,CAAC4C,YAAY,CAACD,GAAG,CAAC;EAC1C;EAEAE,UAAUA,CAACC,GAAS,EAAuC;IACzD,MAAMC,GAAG,GAAG,IAAI,CAACX,UAAU,CAACY,SAAS,CAAEC,EAAE,IAAKA,EAAE,CAACN,GAAG,KAAKG,GAAG,CAACI,MAAM,CAAC;IACpE,MAAMC,GAAG,GAAG,IAAI,CAACtB,eAAe,CAACmB,SAAS,CAAEP,CAAC,IAAKA,CAAC,CAACvC,EAAE,KAAK4C,GAAG,CAACjD,QAAQ,CAAC;IACxE,OAAOkD,GAAG,KAAK,CAAC,CAAC,IAAII,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG;MAAEJ,GAAG;MAAEI;IAAI,CAAC;EACvD;EAEAC,WAAWA,CAACL,GAAW,EAAEI,GAAW,EAAe;IACjD,MAAMF,EAAE,GAAG,IAAI,CAACb,UAAU,CAACW,GAAG,CAAC;IAC/B,MAAMN,CAAC,GAAG,IAAI,CAACZ,eAAe,CAACsB,GAAG,CAAC;IACnC,OAAOF,EAAE,IAAIR,CAAC,GAAG;MAAES,MAAM,EAAED,EAAE,CAACN,GAAG;MAAE9C,QAAQ,EAAE4C,CAAC,CAACvC;IAAG,CAAC,GAAG,IAAI;EAC5D;EAMA,IAAI2B,eAAeA,CAAA,EAAwB;IACzC,MAAMwB,UAAU,GAAG,IAAI,CAAChB,cAAc,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACvC,EAAE,CAAC;IACvD,IAAI,CAACmD,UAAU,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI,CAAC3B,WAAW;IACzB;IACA,OAAO0B,UAAU,CACdb,GAAG,CAAEtC,EAAE,IAAK,IAAI,CAACyB,WAAW,CAAC4B,IAAI,CAAEd,CAAC,IAAKA,CAAC,CAACvC,EAAE,KAAKA,EAAE,CAAC,CAAC,CACtDsD,MAAM,CAAEf,CAAC,IAA6BA,CAAC,KAAKgB,SAAS,CAAC;EAC3D;EAEAzB,IAAIA,CAAC0B,OAA4B,EAAE;IACjC,IAAI,CAAC/B,WAAW,GAAG+B,OAAO;IAC1B,IAAI,CAACjD,SAAS,CAACkD,iBAAiB,CAAC,CAAC;IAClC,OAAO,IAAI,CAACzC,QAAQ,CAACc,IAAI,CAAC,CAAC;EAC7B;EAEA4B,OAAOA,CAACC,YAAqB,EAAU;IACrC,OAAO,IAAI,CAAC3C,QAAQ,CAAC0C,OAAO,CAACC,YAAY,CAAC;EAC5C;EAEAC,aAAaA,CAACZ,MAAc,EAAE;IAC5B,IAAI,CAAChC,QAAQ,CAAC4C,aAAa,CAACZ,MAAM,CAAC;EACrC;EAEAa,WAAWA,CAACC,OAAiB,EAAE;IAC7B,IAAI,CAAC9C,QAAQ,CAAC6C,WAAW,CAACC,OAAO,CAAC;EACpC;EAEA9B,kBAAkBA,CAAC8B,OAAiB,EAAE;IACpC,MAAM;MAAEC,SAAS,EAAEC;IAAE,CAAC,GAAG,IAAI,CAAClE,UAAU;IACxC,IAAI,CAACmE,kBAAkB,CAACC,IAAI,CAAC;MAC3BC,KAAK,EAAE,aAAa;MACpBC,KAAK,EAAEJ,CAAC,CAAC,yBAAyB,CAAC;MACnCK,OAAO,EAAEL,CAAC,CAAC,wBAAwB,CAAC;MACpCM,iBAAiB,EAAEN,CAAC,CAAC,qBAAqB,CAAC;MAC3CO,mBAAmB,EAAEP,CAAC,CAAC,qBAAqB,CAAC;MAC7CQ,oBAAoB,EAAEA,CAAA,KAAM;QAC1B,IAAI,CAACX,WAAW,CAACC,OAAO,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EAEAW,yBAAyBA,CAAC9E,QAAgB,EAAE;IAC1C,OAAO,IAAI,CAACY,SAAS,CAACkE,yBAAyB,CAAC9E,QAAQ,CAAC;EAC3D;EAEA+E,mBAAmBA,CAAC1B,MAAc,EAAErD,QAAgB,EAAO;IACzD,OAAO,IAAI,CAACY,SAAS,CAACmE,mBAAmB,CAAC1B,MAAM,EAAErD,QAAQ,CAAC;EAC7D;EAEAgF,iBAAiBA,CAAC3B,MAAc,EAAErD,QAAgB,EAAoB;IACpE,OAAO,IAAI,CAACY,SAAS,CAACoE,iBAAiB,CAAC3B,MAAM,EAAErD,QAAQ,CAAC;EAC3D;EAEAiF,cAAcA,CAAC5B,MAAc,EAAErD,QAAgB,EAAW;IACxD,OAAO,IAAI,CAACY,SAAS,CAACqE,cAAc,CAAC5B,MAAM,EAAErD,QAAQ,CAAC;EACxD;EAEAkF,UAAUA,CAACC,KAAa,EAAE;IACxB,IAAI,CAACvE,SAAS,CAACsE,UAAU,CAACC,KAAK,CAAC;EAClC;EAEAC,eAAeA,CAAC/B,MAAc,EAAErD,QAAgB,EAAEqF,QAAiB,EAAE;IACnE,IAAI,IAAI,CAACvE,eAAe,CAACwE,SAAS,EAAE;MAClC,IAAI,IAAI,CAACxE,eAAe,CAACyE,aAAa,CAAClC,MAAM,EAAErD,QAAQ,CAAC,EAAE;QACxD;QACA;MACF;MACA;MACA;MACA,IAAIqF,QAAQ,EAAE;QACZ;MACF;MACA;MACA,IAAI,CAACvE,eAAe,CAAC0E,UAAU,CAAC,CAAC;;MAEjC;MACA,MAAMlC,GAAG,GAAG,IAAI,CAACpB,UAAU,CAACuD,GAAG,CAACzF,QAAQ,CAAC;MACzC,MAAM0F,GAAG,GAAGpC,GAAG,GAAG,IAAI,CAACwB,yBAAyB,CAACxB,GAAG,CAACjD,EAAE,CAAC,GAAG,IAAI;MAC/D,IAAIqF,GAAG,YAAHA,GAAG,CAAEC,WAAW,EAAE;QACpB,MAAMC,GAAG,GAAG,IAAI,CAACb,mBAAmB,CAAC1B,MAAM,EAAErD,QAAQ,CAAC;QACtD,IAAI0F,GAAG,CAACC,WAAW,CAACC,GAAG,CAAC,IAAI,IAAI,CAACX,cAAc,CAAC5B,MAAM,EAAErD,QAAQ,CAAC,EAAE;UACjE,IAAI,CAACc,eAAe,CAAC+E,SAAS,CAACxC,MAAM,EAAErD,QAAQ,CAAC;UAChD,IAAI,CAACc,eAAe,CAACgF,SAAS,CAACzC,MAAM,EAAErD,QAAQ,EAAE,OAAO,CAAC;UACzD;QACF;MACF;MAEA,IAAI,CAACc,eAAe,CAAC+E,SAAS,CAACxC,MAAM,EAAErD,QAAQ,CAAC;MAChD;IACF;IAEA,MAAM+F,MAAM,GAAG,IAAI,CAAC7D,UAAU,CAACuD,GAAG,CAACzF,QAAQ,CAAC;IAC5C,MAAMgG,QAAQ,GAAGD,MAAM,GAAG,IAAI,CAACjB,yBAAyB,CAACiB,MAAM,CAAC1F,EAAE,CAAC,GAAG,IAAI;IAC1E,IAAI2F,QAAQ,YAARA,QAAQ,CAAEC,WAAW,IAAID,QAAQ,YAARA,QAAQ,CAAEE,mBAAmB,EAAE;MAC1D;MACA;MACA,IAAI,CAACpF,eAAe,CAAC+E,SAAS,CAACxC,MAAM,EAAErD,QAAQ,CAAC;MAChD;IACF;IAEA,IAAIgG,QAAQ,YAARA,QAAQ,CAAEL,WAAW,EAAE;MACzB,MAAMQ,KAAK,GAAG,IAAI,CAACpB,mBAAmB,CAAC1B,MAAM,EAAErD,QAAQ,CAAC;MACxD,IACEgG,QAAQ,CAACL,WAAW,CAACQ,KAAK,CAAC,IAC3B,IAAI,CAAClB,cAAc,CAAC5B,MAAM,EAAErD,QAAQ,CAAC,EACrC;QACA,IAAI,CAACc,eAAe,CAAC+E,SAAS,CAACxC,MAAM,EAAErD,QAAQ,CAAC;QAChD,IAAI,CAACc,eAAe,CAACgF,SAAS,CAACzC,MAAM,EAAErD,QAAQ,EAAE,OAAO,CAAC;QACzD;MACF;IACF;IAEA,IAAIqF,QAAQ,IAAI,IAAI,CAACvE,eAAe,CAACsF,eAAe,EAAE;MACpD,IAAI,CAACtF,eAAe,CAACuF,WAAW,CAAC,IAAI,CAACvF,eAAe,CAACsF,eAAe,EAAE;QACrE/C,MAAM;QACNrD;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACc,eAAe,CAAC+E,SAAS,CAACxC,MAAM,EAAErD,QAAQ,CAAC;IAClD;EACF;EAEAsG,qBAAqBA,CAACjD,MAAc,EAAErD,QAAgB,EAAE;IACtD,IAAI,IAAI,CAAC4B,kBAAkB,EAAE;MAC3B;IACF;IACA,MAAMmE,MAAM,GAAG,IAAI,CAAC7D,UAAU,CAACuD,GAAG,CAACzF,QAAQ,CAAC;IAC5C,MAAMgG,QAAQ,GAAGD,MAAM,GAAG,IAAI,CAACjB,yBAAyB,CAACiB,MAAM,CAAC1F,EAAE,CAAC,GAAG,IAAI;IAC1E;IACA;IACA;IACA,IAAI2F,QAAQ,YAARA,QAAQ,CAAEC,WAAW,IAAID,QAAQ,YAARA,QAAQ,CAAEE,mBAAmB,EAAE;MAC1D;IACF;IACA,IAAI,IAAI,CAACjB,cAAc,CAAC5B,MAAM,EAAErD,QAAQ,CAAC,EAAE;MACzC,IAAI,CAACc,eAAe,CAACgF,SAAS,CAACzC,MAAM,EAAErD,QAAQ,EAAE,aAAa,CAAC;IACjE;EACF;AAcF;AAACuG,OAAA,CAAAhH,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_FieldActionsState","EditableTableState","constructor","params","_params$permissions","_defineProperty2","default","ConditionalModalState","items","tableState","onAddItemActionComplete","columnId","forceDirection","multiple","collection","sort","id","clearResult","toolbar","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","fieldActions","FieldActionsState","translate","permissions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_allColumns","ref","editableColumns","computed","_columnMap","init","action","confirmDeleteItems","keyedItems","visibleColumns","itemsToRenderCount","Map","map","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","_buildCellTypeMap","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport { FieldActionsState } from './FieldActionsState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, EditableColumn, ValidationResult } from './types';\nimport type { FieldActions } from '../../types/SchemaConfig';\n\nexport interface EditableTableFieldActionsPermissions {\n addDisabled?: boolean;\n editDisabled?: boolean;\n deleteDisabled?: boolean;\n}\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n fieldActions?: EditableTableFieldActionsPermissions;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly fieldActions?: FieldActions;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly fieldActions: FieldActionsState;\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _allColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(this);\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n this.fieldActions = new FieldActionsState(\n params.collection.translate,\n params.fieldActions,\n params.permissions?.fieldActions,\n );\n\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _allColumns: observable.ref,\n editableColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this._allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this._allColumns;\n }\n return visibleIds\n .map((id) => this._allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._allColumns = columns;\n this.cellValue._buildCellTypeMap();\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n const { translate: t } = this.collection;\n this.deleteConfirmModal.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.deleteItems(rowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}