@wix/patterns 1.485.0 → 1.487.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 (492) hide show
  1. package/bin/patterns-lookup.cjs +192 -0
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  3. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  7. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  9. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  10. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  11. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  12. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  13. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  14. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  16. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  18. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +3 -3
  19. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  24. package/dist/cjs/components/CollectionToolbarFilters/CollectionToolbarFilters.js +12 -10
  25. package/dist/cjs/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  27. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  29. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  30. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
  31. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
  32. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  33. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  34. package/dist/cjs/components/EditableTable/EditableCell.js +3 -2
  35. package/dist/cjs/components/EditableTable/EditableCell.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/EditableCell.uni.driver.js +6 -0
  39. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
  40. package/dist/cjs/components/EditableTable/EditableColumnHeader.uni.driver.js +1 -1
  41. package/dist/cjs/components/EditableTable/EditableColumnHeader.uni.driver.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/JsonInputEdit.st.css.js +3 -3
  47. package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
  48. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  49. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  50. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  51. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  52. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  53. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  54. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  55. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  56. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  57. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  58. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  59. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  60. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  61. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  62. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  63. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  64. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  65. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  66. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  67. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  68. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +26 -3
  69. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
  70. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.uni.driver.js +1 -0
  71. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.uni.driver.js.map +1 -1
  72. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  73. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  74. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  75. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  76. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  77. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  78. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.js +69 -0
  79. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.js.map +1 -0
  80. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css +51 -0
  81. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +32 -0
  82. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -0
  83. package/dist/cjs/components/EditableTable/cellTypes/reference/View.js +13 -7
  84. package/dist/cjs/components/EditableTable/cellTypes/reference/View.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/reference/View.uni.driver.js +1 -0
  86. package/dist/cjs/components/EditableTable/cellTypes/reference/View.uni.driver.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  88. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  90. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  92. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  93. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  94. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  95. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  96. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  97. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  98. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  99. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  100. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  101. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  102. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  103. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  104. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  105. package/dist/cjs/components/FieldActions/HeaderActionsPopover.js +9 -6
  106. package/dist/cjs/components/FieldActions/HeaderActionsPopover.js.map +1 -1
  107. package/dist/cjs/components/FieldCell/FieldCell.js +16 -17
  108. package/dist/cjs/components/FieldCell/FieldCell.js.map +1 -1
  109. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  110. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  111. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  112. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  113. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  114. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  115. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  116. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  117. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  118. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  119. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  120. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  121. package/dist/cjs/components/MoreFiltersCTA/MoreFiltersCTA.js +121 -14
  122. package/dist/cjs/components/MoreFiltersCTA/MoreFiltersCTA.js.map +1 -1
  123. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  124. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  125. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  126. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  127. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  128. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  129. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  130. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  131. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  132. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  133. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  134. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  135. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  136. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  137. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  138. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  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/SetupWidget/SetupWidget.st.css.js +10 -10
  142. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  143. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  144. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  145. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  146. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  147. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
  148. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  149. package/dist/cjs/components/Table/NumberCell.st.css +8 -0
  150. package/dist/cjs/components/Table/NumberCell.st.css.js +22 -0
  151. package/dist/cjs/components/Table/NumberCell.st.css.js.map +1 -0
  152. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  153. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  154. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  155. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  156. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  157. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  158. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  159. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  160. package/dist/cjs/components/common.st.css.js +4 -4
  161. package/dist/cjs/components/common.st.css.js.map +1 -1
  162. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
  163. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  164. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  165. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
  166. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
  167. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  168. package/dist/cjs/state/EditableTable/EditableTableState.js +9 -6
  169. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  170. package/dist/cjs/state/EntityPage/EntityPageState.js +2 -1
  171. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  172. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  173. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  174. package/dist/cjs/state/buildEditableFieldColumns.js +4 -0
  175. package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
  176. package/dist/cjs/state/buildFieldColumns.js +44 -59
  177. package/dist/cjs/state/buildFieldColumns.js.map +1 -1
  178. package/dist/cjs/styles.global.css +2 -2
  179. package/dist/cjs/version.js +1 -1
  180. package/dist/cjs/version.js.map +1 -1
  181. package/dist/docs/Reading the Doc Indices.md +78 -0
  182. package/dist/docs/ToolbarFilters.md +6 -0
  183. package/dist/docs/index.json +6 -0
  184. package/dist/docs/isCreateItemDisabled.md +173 -0
  185. package/dist/docs/useEntityPage.md +16 -6
  186. package/dist/dts-bundle/components/CollectionToolbarFilters.d.ts +7 -0
  187. package/dist/dts-bundle/hooks/schema/useEntityPage.d.ts +2 -2
  188. package/dist/dts-bundle/hooks/useEntityPage.d.ts +2 -2
  189. package/dist/dts-bundle/hooks/usePickerModal.d.ts +3 -0
  190. package/dist/dts-bundle/index.json +34 -34
  191. package/dist/dts-bundle/index.txt +10 -10
  192. package/dist/dts-bundle/types/CellType.d.ts +3 -0
  193. package/dist/dts-bundle/types/EntityPageState.d.ts +2 -2
  194. package/dist/dts-bundle/types/EntityPageStateParams.d.ts +2 -2
  195. package/dist/dts-bundle/types/OnSaveParams.d.ts +7 -2
  196. package/dist/dts-bundle/types/ToolbarCollectionBaseProps.d.ts +7 -0
  197. package/dist/dts-bundle/types/UseEntityPageParams.d.ts +2 -2
  198. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  199. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  200. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  201. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  202. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  203. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  204. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  205. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  206. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  207. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  208. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  209. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  210. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  211. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  212. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  213. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  214. package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js +9 -6
  215. package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
  216. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  217. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  218. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  219. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
  220. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  221. package/dist/esm/components/EditableTable/EditableCell.js +3 -3
  222. package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
  223. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  224. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  225. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +6 -0
  226. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
  227. package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js +1 -1
  228. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  229. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  230. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  231. package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
  232. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  233. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  234. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  235. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  236. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  237. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  238. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  239. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  241. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  242. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  243. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  244. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  245. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  246. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +6 -3
  247. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
  248. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.uni.driver.js +1 -0
  249. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.uni.driver.js.map +1 -1
  250. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  251. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  252. package/dist/esm/components/EditableTable/cellTypes/number/View.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/reference/EmptyReferenceView.js +13 -0
  255. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.js.map +1 -0
  256. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css +51 -0
  257. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +16 -0
  258. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -0
  259. package/dist/esm/components/EditableTable/cellTypes/reference/View.js +5 -4
  260. package/dist/esm/components/EditableTable/cellTypes/reference/View.js.map +1 -1
  261. package/dist/esm/components/EditableTable/cellTypes/reference/View.uni.driver.js +1 -0
  262. package/dist/esm/components/EditableTable/cellTypes/reference/View.uni.driver.js.map +1 -1
  263. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  264. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  265. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  266. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  267. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  268. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  269. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  270. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  271. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  272. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  273. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  274. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  275. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  276. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  277. package/dist/esm/components/FieldActions/HeaderActionsPopover.js +3 -2
  278. package/dist/esm/components/FieldActions/HeaderActionsPopover.js.map +1 -1
  279. package/dist/esm/components/FieldCell/FieldCell.js +1 -1
  280. package/dist/esm/components/FieldCell/FieldCell.js.map +1 -1
  281. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  282. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  283. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  284. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  285. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  286. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  287. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  288. package/dist/esm/components/MoreFiltersCTA/MoreFiltersCTA.js +21 -4
  289. package/dist/esm/components/MoreFiltersCTA/MoreFiltersCTA.js.map +1 -1
  290. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  291. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  292. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  293. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  294. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  295. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  296. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  297. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  298. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  299. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  300. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  301. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  302. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  303. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  304. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  305. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  306. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  307. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  308. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  309. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  310. package/dist/esm/components/Table/NumberCell.st.css +8 -0
  311. package/dist/esm/components/Table/NumberCell.st.css.js +15 -0
  312. package/dist/esm/components/Table/NumberCell.st.css.js.map +1 -0
  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/ToolbarItem/ToolbarItem.st.css.js +2 -2
  316. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  317. package/dist/esm/components/common.st.css.js +2 -2
  318. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  319. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  320. package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  321. package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
  322. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
  323. package/dist/esm/state/EditableTable/EditableTableState.js +8 -7
  324. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  325. package/dist/esm/state/EntityPage/EntityPageState.js +1 -0
  326. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  327. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  328. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  329. package/dist/esm/state/buildEditableFieldColumns.js +4 -0
  330. package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
  331. package/dist/esm/state/buildFieldColumns.js +23 -19
  332. package/dist/esm/state/buildFieldColumns.js.map +1 -1
  333. package/dist/esm/styles.global.css +2 -2
  334. package/dist/esm/version.js +1 -1
  335. package/dist/examples/ToolbarFilters/minimized-filters-button.tsx +123 -0
  336. package/dist/templates/collection-entity/ItemEntityPage.tsx +4 -2
  337. package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
  338. package/dist/types/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.d.ts.map +1 -1
  339. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  340. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  341. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  342. package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFilters.d.ts +7 -0
  343. package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFilters.d.ts.map +1 -1
  344. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  345. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  346. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +29 -3
  347. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
  348. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +44 -0
  349. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  350. package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
  351. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  352. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  353. package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
  354. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  355. package/dist/types/components/EditableTable/cellTypes/multiReference/View.d.ts.map +1 -1
  356. package/dist/types/components/EditableTable/cellTypes/multiReference/View.uni.driver.d.ts +1 -0
  357. package/dist/types/components/EditableTable/cellTypes/multiReference/View.uni.driver.d.ts.map +1 -1
  358. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  359. package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.d.ts +10 -0
  360. package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.d.ts.map +1 -0
  361. package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.d.ts +23 -0
  362. package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.d.ts.map +1 -0
  363. package/dist/types/components/EditableTable/cellTypes/reference/View.d.ts.map +1 -1
  364. package/dist/types/components/EditableTable/cellTypes/reference/View.uni.driver.d.ts +1 -0
  365. package/dist/types/components/EditableTable/cellTypes/reference/View.uni.driver.d.ts.map +1 -1
  366. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  367. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  368. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  369. package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -1
  370. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  371. package/dist/types/components/FieldActions/HeaderActionsPopover.d.ts.map +1 -1
  372. package/dist/types/components/FieldCell/FieldCell.d.ts.map +1 -1
  373. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  374. package/dist/types/components/MoreFiltersCTA/MoreFiltersCTA.d.ts +4 -1
  375. package/dist/types/components/MoreFiltersCTA/MoreFiltersCTA.d.ts.map +1 -1
  376. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  377. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  378. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  379. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  380. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  381. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  382. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  383. package/dist/types/components/Table/NumberCell.st.css.d.ts +13 -0
  384. package/dist/types/components/Table/NumberCell.st.css.d.ts.map +1 -0
  385. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  386. package/dist/types/state/CollectionPage/MobilePrimaryActionBar.st.css.d.ts.map +1 -1
  387. package/dist/types/state/EditableTable/EditableTableState.d.ts +3 -0
  388. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
  389. package/dist/types/state/EntityPage/EntityPageState.d.ts +7 -2
  390. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  391. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  392. package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
  393. package/dist/types/state/buildFieldColumns.d.ts.map +1 -1
  394. package/dist/types/testkit/jsdom.d.ts +44 -0
  395. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  396. package/dist/types/testkit/playwright.d.ts +44 -0
  397. package/dist/types/testkit/playwright.d.ts.map +1 -1
  398. package/dist/types/testkit/puppeteer.d.ts +44 -0
  399. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  400. package/dist/types/version.d.ts +1 -1
  401. package/package.json +9 -7
  402. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  403. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  404. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  405. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  406. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  407. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  408. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  409. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  410. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  411. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  412. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  413. package/src/components/CollectionToolbarFilters/CollectionToolbarFilters.tsx +22 -4
  414. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  415. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  416. package/src/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.ts +2 -2
  417. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  418. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  419. package/src/components/EditableTable/EditableCell.tsx +3 -3
  420. package/src/components/EditableTable/EditableCell.uni.driver.ts +8 -0
  421. package/src/components/EditableTable/EditableColumnHeader.uni.driver.ts +1 -1
  422. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  423. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  424. package/src/components/EditableTable/cellTypes/JsonInputEdit.st.css.ts +2 -2
  425. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  426. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  427. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  428. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  429. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  430. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  431. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  432. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  433. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  434. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  435. package/src/components/EditableTable/cellTypes/multiReference/View.tsx +12 -3
  436. package/src/components/EditableTable/cellTypes/multiReference/View.uni.driver.ts +1 -0
  437. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  438. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  439. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  440. package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css +51 -0
  441. package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.ts +25 -0
  442. package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.tsx +38 -0
  443. package/src/components/EditableTable/cellTypes/reference/View.tsx +10 -3
  444. package/src/components/EditableTable/cellTypes/reference/View.uni.driver.ts +1 -0
  445. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  446. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  447. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  448. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  449. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  450. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  451. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  452. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  453. package/src/components/Fade/Fade.st.css.ts +2 -2
  454. package/src/components/FieldActions/HeaderActionsPopover.tsx +3 -2
  455. package/src/components/FieldCell/FieldCell.tsx +1 -5
  456. package/src/components/Heading/Heading.st.css.ts +2 -2
  457. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  458. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  459. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  460. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  461. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  462. package/src/components/MoreFiltersCTA/MoreFiltersCTA.tsx +72 -4
  463. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  464. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  465. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  466. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  467. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  468. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  469. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  470. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  471. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  472. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  473. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  474. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  475. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  476. package/src/components/Table/NumberCell.st.css +8 -0
  477. package/src/components/Table/NumberCell.st.css.ts +25 -0
  478. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  479. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  480. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  481. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  482. package/src/components/common.st.css.ts +2 -2
  483. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  484. package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
  485. package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
  486. package/src/state/EditableTable/EditableTableState.ts +9 -9
  487. package/src/state/EntityPage/EntityPageState.ts +8 -2
  488. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  489. package/src/state/buildEditableFieldColumns.ts +4 -0
  490. package/src/state/buildFieldColumns.tsx +36 -31
  491. package/src/styles.global.css +2 -2
  492. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_EditableTableStateBIReporter","_buildEditableFieldColumns","TableStateWithDraftRows","TableState","constructor","params","mergeDraftRows","_defineProperty2","default","_mergeDraftRows","keyedItems","collection","result","showEmptyState","toolbar","multi","length","EditableTableState","_params$extraCellType","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","sort","id","clearResult","ToolbarCollectionState","container","componentType","mutation","bi","EditableTableStateBIReporter","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","isCreateItemDisabled","ref","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","reason","isAddItemDisabled","_this$isCreateItemDis","call","addItemDisabledReason","_this$isCreateItemDis2","isMultiDeleteDisabled","rowKeys","some","key","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","translate","editableCellFor","c","getKeyedItem","find","ki","_toIndices","pos","row","findIndex","col","_toPosition","visibleIds","filter","columns","disposeMutation","onBeforeUnload","onBeforeUnloadSubscription","event","_pendingCells","size","preventDefault","flushDrafts","remove","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","t","reportCta","ctaName","deleteModalCtaClicked","deleteModalShown","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","secondaryButtonOnClick","onCloseButtonClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","committed","valid","isCellEditing","validateEditingValue","isCellEditable","isColumnEditable","clearCells","cells","cleared","clipboardAction","actionName","clipboardCellCounts","handleCellClick","shiftKey","isEditing","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 { ReactNode } from 'react';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type {\n CreateItemDisabledResult,\n KeyedItem,\n RemoveItemDisabledResult,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport type { TableStateParams } 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 {\n clipboardCellCounts,\n EditableTableStateBIReporter,\n type ClipboardOrigin,\n type DeleteModalCta,\n type RowCreationOrigin,\n} from './EditableTableStateBIReporter';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type {\n CreateItemDisabledResult,\n RemoveItemDisabledResult,\n} from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n isCreateItemDisabled?: () => CreateItemDisabledResult;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\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<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\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 /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n isAddItemDisabled(): boolean;\n addItemDisabledReason(): ReactNode | undefined;\n}\n\n/**\n * Draft rows (added locally, not yet created on the server) are not part of\n * the collection result. This TableState merges them into the rendered list,\n * so everything that renders rows — the WDS table and the virtualizer — sees\n * them, and a table whose only rows are drafts does not show the empty state.\n */\nclass TableStateWithDraftRows<T, F extends FiltersMap> extends TableState<\n T,\n F\n> {\n private readonly _mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[];\n\n constructor(\n params: TableStateParams<T, F>,\n mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[],\n ) {\n super(params);\n this._mergeDraftRows = mergeDraftRows;\n }\n\n get keyedItems() {\n return this._mergeDraftRows(this.collection.result.keyedItems);\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState && this.keyedItems.length === 0;\n }\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 bi: EditableTableStateBIReporter<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n isCreateItemDisabled?: () => CreateItemDisabledResult = undefined;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: 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 TableStateWithDraftRows(\n {\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n },\n (keyedItems) => this.mutation._mergeDraftRows(keyedItems),\n );\n\n this.bi = new EditableTableStateBIReporter<T, F>(this);\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\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 makeObservable(this, {\n addItemDisabled: observable,\n isCreateItemDisabled: observable.ref,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.isCreateItemDisabled = permissions.isCreateItemDisabled;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isAddItemDisabled(): boolean {\n return this.addItemDisabled || !!this.isCreateItemDisabled?.().disabled;\n }\n\n addItemDisabledReason(): ReactNode | undefined {\n if (this.addItemDisabled) {\n return undefined;\n }\n const result = this.isCreateItemDisabled?.();\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\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 /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n this.collection.translate,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\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 // Draft rows are not in the collection — fall back to the merged list.\n return (\n this.collection.getKeyedItem(key) ??\n this.keyedItems.find((ki) => ki.key === key)\n );\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 onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\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._providedColumns = columns;\n const disposeMutation = this.mutation.init();\n\n const { onBeforeUnload } = this.toolbar.container;\n const onBeforeUnloadSubscription = onBeforeUnload?.((event) => {\n if (this.cellValue._pendingCells.size === 0) {\n return;\n }\n event.preventDefault();\n });\n\n return () => {\n this.cellValue.flushDrafts();\n disposeMutation();\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n addItem(afterItemKey?: string, origin?: RowCreationOrigin): string {\n return this.mutation.addItem(afterItemKey, origin);\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 // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n const reportCta = (ctaName: DeleteModalCta) =>\n this.bi.deleteModalCtaClicked({ ctaName, rowKeys: deletableRowKeys });\n this.bi.deleteModalShown(deletableRowKeys);\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 reportCta('Delete');\n this.deleteItems(deletableRowKeys);\n },\n secondaryButtonOnClick: () => reportCta('Cancel'),\n onCloseButtonClick: () => reportCta('X'),\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 const committed = this.cellValue.getCellValidation(rowKey, columnId);\n\n if (\n committed.valid ||\n !this.cellInteraction.isCellEditing(rowKey, columnId) ||\n this.cellInteraction.editingValue === undefined\n ) {\n return committed;\n }\n return this.cellValue.validateEditingValue(\n columnId,\n this.cellInteraction.editingValue,\n );\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[], origin: ClipboardOrigin = 'Keyboard') {\n const cleared = this.cellValue.clearCells(cells);\n if (cleared.length === 0) {\n return;\n }\n this.bi.clipboardAction({\n actionName: 'clear',\n origin,\n ...clipboardCellCounts(cleared),\n });\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 // A second double-click in an editor that is already open is not a new edit.\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\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":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_EditableTableStateBIReporter","_buildEditableFieldColumns","TableStateWithDraftRows","TableState","constructor","params","mergeDraftRows","_defineProperty2","default","_mergeDraftRows","keyedItems","collection","result","showEmptyState","toolbar","multi","length","EditableTableState","_params$extraCellType","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","sort","id","clearResult","ToolbarCollectionState","container","componentType","mutation","bi","EditableTableStateBIReporter","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","isCreateItemDisabled","ref","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","reason","isAddItemDisabled","_this$isCreateItemDis","call","addItemDisabledReason","_this$isCreateItemDis2","isMultiDeleteDisabled","rowKeys","some","key","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","translate","editableCellFor","c","getKeyedItem","find","ki","_toIndices","pos","row","findIndex","col","_toPosition","visibleIds","filter","columns","disposeMutation","onBeforeUnload","onBeforeUnloadSubscription","event","_pendingCells","size","preventDefault","flushDrafts","remove","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","t","reportCta","ctaName","deleteModalCtaClicked","deleteModalShown","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","secondaryButtonOnClick","onCloseButtonClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","committed","valid","isCellEditing","validateEditingValue","isCellEditable","canEditCell","isColumnEditable","clearCells","cells","cleared","clipboardAction","actionName","clipboardCellCounts","handleCellClick","shiftKey","isEditing","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 { ReactNode } from 'react';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type {\n CreateItemDisabledResult,\n KeyedItem,\n RemoveItemDisabledResult,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport type { TableStateParams } 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 {\n clipboardCellCounts,\n EditableTableStateBIReporter,\n type ClipboardOrigin,\n type DeleteModalCta,\n type RowCreationOrigin,\n} from './EditableTableStateBIReporter';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type {\n CreateItemDisabledResult,\n RemoveItemDisabledResult,\n} from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n isCreateItemDisabled?: () => CreateItemDisabledResult;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\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<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\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 /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n isAddItemDisabled(): boolean;\n addItemDisabledReason(): ReactNode | undefined;\n}\n\n/**\n * Draft rows (added locally, not yet created on the server) are not part of\n * the collection result. This TableState merges them into the rendered list,\n * so everything that renders rows — the WDS table and the virtualizer — sees\n * them, and a table whose only rows are drafts does not show the empty state.\n */\nclass TableStateWithDraftRows<T, F extends FiltersMap> extends TableState<\n T,\n F\n> {\n private readonly _mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[];\n\n constructor(\n params: TableStateParams<T, F>,\n mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[],\n ) {\n super(params);\n this._mergeDraftRows = mergeDraftRows;\n }\n\n get keyedItems() {\n return this._mergeDraftRows(this.collection.result.keyedItems);\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState && this.keyedItems.length === 0;\n }\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 bi: EditableTableStateBIReporter<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n isCreateItemDisabled?: () => CreateItemDisabledResult = undefined;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: 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 TableStateWithDraftRows(\n {\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n },\n (keyedItems) => this.mutation._mergeDraftRows(keyedItems),\n );\n\n this.bi = new EditableTableStateBIReporter<T, F>(this);\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\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 makeObservable(this, {\n addItemDisabled: observable,\n isCreateItemDisabled: observable.ref,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.isCreateItemDisabled = permissions.isCreateItemDisabled;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isAddItemDisabled(): boolean {\n return this.addItemDisabled || !!this.isCreateItemDisabled?.().disabled;\n }\n\n addItemDisabledReason(): ReactNode | undefined {\n if (this.addItemDisabled) {\n return undefined;\n }\n const result = this.isCreateItemDisabled?.();\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\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 /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n this.collection.translate,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\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 // Draft rows are not in the collection — fall back to the merged list.\n return (\n this.collection.getKeyedItem(key) ??\n this.keyedItems.find((ki) => ki.key === key)\n );\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 onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\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._providedColumns = columns;\n const disposeMutation = this.mutation.init();\n\n const { onBeforeUnload } = this.toolbar.container;\n const onBeforeUnloadSubscription = onBeforeUnload?.((event) => {\n if (this.cellValue._pendingCells.size === 0) {\n return;\n }\n event.preventDefault();\n });\n\n return () => {\n this.cellValue.flushDrafts();\n disposeMutation();\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n addItem(afterItemKey?: string, origin?: RowCreationOrigin): string {\n return this.mutation.addItem(afterItemKey, origin);\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 // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n const reportCta = (ctaName: DeleteModalCta) =>\n this.bi.deleteModalCtaClicked({ ctaName, rowKeys: deletableRowKeys });\n this.bi.deleteModalShown(deletableRowKeys);\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 reportCta('Delete');\n this.deleteItems(deletableRowKeys);\n },\n secondaryButtonOnClick: () => reportCta('Cancel'),\n onCloseButtonClick: () => reportCta('X'),\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 const committed = this.cellValue.getCellValidation(rowKey, columnId);\n\n if (\n committed.valid ||\n !this.cellInteraction.isCellEditing(rowKey, columnId) ||\n this.cellInteraction.editingValue === undefined\n ) {\n return committed;\n }\n return this.cellValue.validateEditingValue(\n columnId,\n this.cellInteraction.editingValue,\n );\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n /** `isCellEditable` does not include the table-level `updateItemDisabled`\n * permission. Use this to decide whether the user can edit the cell now. */\n canEditCell(rowKey: string, columnId: string): boolean {\n return !this.updateItemDisabled && this.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[], origin: ClipboardOrigin = 'Keyboard') {\n const cleared = this.cellValue.clearCells(cells);\n if (cleared.length === 0) {\n return;\n }\n this.bi.clipboardAction({\n actionName: 'clear',\n origin,\n ...clipboardCellCounts(cleared),\n });\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.canEditCell(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 (resolved.editOnClick(value) && this.canEditCell(rowKey, columnId)) {\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 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 // A second double-click in an editor that is already open is not a new edit.\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n return;\n }\n if (this.canEditCell(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":[]}
@@ -336,7 +336,8 @@ class EntityPageState {
336
336
  try {
337
337
  if (!this.isFetching) {
338
338
  const onSaveResult = await this.onSave({
339
- widgetsFormData
339
+ widgetsFormData,
340
+ entity: this.entity
340
341
  });
341
342
  savedEntity = onSaveResult == null ? void 0 : onSaveResult.updatedEntity;
342
343
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_schemaFieldsContainer","_EntityPageStateBIReporter","_events","_EntityPageDeleteActionState","EntityPageState","fieldsContainer","fieldsContainerOf","schemaSource","constructor","params","_defineProperty2","default","undefined","observable","set","deep","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","_isNewEntity","isNewEntity","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","_parentReferrer","parentReferrer","actionsBarConfig","container","deleteActionState","EntityPageDeleteActionState","deleteAction","getEntity","entity","getLoadedSchema","loadedSchema","onDeleted","action","deletedCollectionItem","handleEntityDeleted","emitDelete","events","emit","emitDeleteError","err","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","ref","setEntity","_schema","setSchema","_loadedSchema","setLoadedSchema","customColumnsState","setActionsBarConfig","holdSave","isSaveHeld","computed","isFormDirty","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsContainer","_this$schemaSource","_this$fieldsContainer2","_this$bi$appLoaded","_this$bi","data","Promise","all","loadSchema","status","promise","schema","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","cancelCta","biAdditionalInfo","navigateToParent","_isExistingEntity","isRouteKnown","updatedEntity","entityStringKey","navigateToParentWithState","entityObject","navigate","state","navigateTo","pageId","referrer","_showErrorToast","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","_deletedEntity","hold","_saveHolds","add","delete","size","submitTask","isLoading","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n SchemaSource,\n Schema,\n} from '@wix/bex-core';\nimport type { LoadedSchema } from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';\nimport { fieldsContainerOf } from '../../model/schemaFieldsContainer';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport type { SidePanelsState } from '../SidePanelsState';\nimport type { CustomColumnsEntityPageState } from '../CustomColumnsEntityPageState';\nimport {\n EntityPageDeleteAction,\n EntityPageDeleteActionState,\n} from './EntityPageDeleteActionState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * Enables deleting the loaded entity from the entity page. Pass `true` for a\n * schema-backed page to use the source backend, or an object to customize the\n * action and to provide a delete handler for manually wired pages.\n */\n deleteAction?: EntityPageDeleteAction<T>;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * Referrer forwarded to the parent page on back, cancel and save, so callers\n * can carry navigation context across the transition.\n *\n * Only used for parentPageId navigations; Patterns Router keeps its context\n * in router state.\n *\n * Forwarded by the BM and Giza providers. Dropped by the dashboard provider,\n * whose SDK Destination has no referrer field.\n */\n parentReferrer?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Whether the page was opened to create a new entity rather than to edit an\n * existing one. Decides how a save is announced to the parent page — created\n * vs updated — so a new item seeded with local defaults is still announced\n * as created. Pass a getter when the route can change while the page stays\n * mounted. When omitted, the announcement follows whether an entity was\n * loaded.\n */\n isNewEntity?: boolean | (() => boolean);\n\n /**\n * An optional schema source describing how to load the schema and access\n * the entity's data. When present, the page can read fields from the source\n * instead of relying only on hand-wired fetch/onSave callbacks.\n */\n schemaSource?: SchemaSource<T>;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n _schema: Schema | null = null;\n _loadedSchema: LoadedSchema<T> | null = null;\n private readonly _isNewEntity?: boolean | (() => boolean);\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n private readonly _parentReferrer?: string;\n\n actionsBarConfig: EntityPageStateParams<T>['actionsBarConfig'] = undefined;\n\n /**\n * The page's side-panel host, the way a table's lives on its toolbar.\n * Attached by the first feature that needs one, through\n * `SidePanelsState.setOnPage` — so a page with no panels neither builds nor\n * bundles the side-panel code. Everything on the page shares this host, which\n * is what keeps one panel open at a time.\n */\n panels: SidePanelsState | null = null;\n\n /** The fields card's \"Manage fields\" state, set by the card that owns it —\n * the panel is rendered by the host with no props and reads it from here,\n * as a table's panel reads `toolbar.customColumnsState`. */\n customColumnsState: CustomColumnsEntityPageState | null = null;\n\n // Shallow: a deep set would wrap the token objects, and release could not\n // find them again.\n private readonly _saveHolds = observable.set<object>([], { deep: false });\n\n readonly schemaSource?: SchemaSource<T>;\n\n /**\n * The container the page's field renderers are built with — the one the schema\n * carries, so a table on the same schema shares it. Initialized in `init()`\n * below, next to the schema load the fields also wait on; the schema-entry\n * EntityPage puts it in React context.\n */\n get fieldsContainer(): PatternsFieldsAppContainer | undefined {\n return fieldsContainerOf(this.schemaSource);\n }\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n readonly deleteActionState: EntityPageDeleteActionState<T>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n delete: () => void;\n deleteError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this._isNewEntity = params.isNewEntity;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n this._parentReferrer = params.parentReferrer;\n this.actionsBarConfig = params.actionsBarConfig;\n this.schemaSource = params.schemaSource;\n\n this.container = params.container;\n this.deleteActionState = new EntityPageDeleteActionState<T>({\n container: this.container,\n deleteAction: params.deleteAction,\n schemaSource: this.schemaSource,\n getEntity: () => this.entity,\n getLoadedSchema: () => this.loadedSchema,\n transformEntityToCollectionItem: this.transformEntityToCollectionItem,\n onDeleted: action((deletedCollectionItem) =>\n this.handleEntityDeleted(deletedCollectionItem),\n ),\n emitDelete: () => this.events.emit('delete'),\n emitDeleteError: (err) => this.events.emit('deleteError', err),\n });\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n _schema: observable.ref,\n setSchema: action,\n _loadedSchema: observable.ref,\n setLoadedSchema: action,\n customColumnsState: observable.ref,\n actionsBarConfig: observable.ref,\n setActionsBarConfig: action,\n holdSave: action,\n isSaveHeld: computed,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n // The field renderers can't translate until this resolves, so the page\n // waits on it alongside the fetch. Idempotent.\n this.fieldsContainer?.init();\n\n const [data, loadedSchema] = await Promise.all([\n this.fetch(),\n this.schemaSource?.loadSchema(),\n container.initTask.status.promise,\n this.fieldsContainer?.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n // A fields card can mirror a newer value while these promises settle.\n if (loadedSchema && !this.loadedSchema) {\n this.setLoadedSchema(loadedSchema);\n }\n if (loadedSchema && !this.schema) {\n this.setSchema(loadedSchema.schema);\n }\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n setSchema(schema: Schema | null) {\n this._schema = schema;\n }\n\n get schema(): Schema | null {\n return this._schema;\n }\n\n setActionsBarConfig(actionsBarConfig?: ActionsBarConfig) {\n this.actionsBarConfig = actionsBarConfig;\n }\n\n setLoadedSchema(loadedSchema: LoadedSchema<T> | null) {\n this._loadedSchema = loadedSchema;\n }\n\n get loadedSchema(): LoadedSchema<T> | null {\n return this._loadedSchema;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n private get _isExistingEntity(): boolean {\n const isNewEntity =\n typeof this._isNewEntity === 'function'\n ? this._isNewEntity()\n : this._isNewEntity;\n const isRouteKnown = isNewEntity !== undefined;\n return isRouteKnown ? !isNewEntity : !!this._entity;\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._isExistingEntity\n ? '_updatedEntity'\n : '_createdEntity';\n this.navigateToParentWithState({ [entityStringKey]: updatedEntity });\n }\n\n navigateToParentWithState(entityObject: Record<string, unknown>) {\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n ...(this._parentReferrer !== undefined && {\n referrer: this._parentReferrer,\n }),\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n private handleEntityDeleted(deletedCollectionItem: any) {\n this.isSubmitSuccessful = true;\n this.navigateToParentWithState({ _deletedEntity: deletedCollectionItem });\n }\n\n /**\n * Blocks `handleSubmit` until the returned release is called (idempotent).\n * For features whose form fields are not mounted yet — react-hook-form only\n * validates mounted controls, so a save in that window would skip their\n * required-field validation.\n */\n holdSave(): () => void {\n const hold = {};\n this._saveHolds.add(hold);\n return action(() => {\n this._saveHolds.delete(hold);\n });\n }\n\n get isSaveHeld(): boolean {\n return this._saveHolds.size > 0;\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading || this.isSaveHeld) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_schemaFieldsContainer","_EntityPageStateBIReporter","_events","_EntityPageDeleteActionState","EntityPageState","fieldsContainer","fieldsContainerOf","schemaSource","constructor","params","_defineProperty2","default","undefined","observable","set","deep","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","_isNewEntity","isNewEntity","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","_parentReferrer","parentReferrer","actionsBarConfig","container","deleteActionState","EntityPageDeleteActionState","deleteAction","getEntity","entity","getLoadedSchema","loadedSchema","onDeleted","action","deletedCollectionItem","handleEntityDeleted","emitDelete","events","emit","emitDeleteError","err","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","ref","setEntity","_schema","setSchema","_loadedSchema","setLoadedSchema","customColumnsState","setActionsBarConfig","holdSave","isSaveHeld","computed","isFormDirty","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsContainer","_this$schemaSource","_this$fieldsContainer2","_this$bi$appLoaded","_this$bi","data","Promise","all","loadSchema","status","promise","schema","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","cancelCta","biAdditionalInfo","navigateToParent","_isExistingEntity","isRouteKnown","updatedEntity","entityStringKey","navigateToParentWithState","entityObject","navigate","state","navigateTo","pageId","referrer","_showErrorToast","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","_deletedEntity","hold","_saveHolds","add","delete","size","submitTask","isLoading","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n SchemaSource,\n Schema,\n} from '@wix/bex-core';\nimport type { LoadedSchema } from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';\nimport { fieldsContainerOf } from '../../model/schemaFieldsContainer';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport type { SidePanelsState } from '../SidePanelsState';\nimport type { CustomColumnsEntityPageState } from '../CustomColumnsEntityPageState';\nimport {\n EntityPageDeleteAction,\n EntityPageDeleteActionState,\n} from './EntityPageDeleteActionState';\n\ntype OnSaveParams<T> = {\n widgetsFormData: { [key: string]: any };\n /**\n * The entity as `fetch` loaded it, or `null` on a create route. Use it for what\n * the form does not hold but the update needs, such as the record's revision.\n */\n entity: T | null;\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams<T>) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * Enables deleting the loaded entity from the entity page. Pass `true` for a\n * schema-backed page to use the source backend, or an object to customize the\n * action and to provide a delete handler for manually wired pages.\n */\n deleteAction?: EntityPageDeleteAction<T>;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * Referrer forwarded to the parent page on back, cancel and save, so callers\n * can carry navigation context across the transition.\n *\n * Only used for parentPageId navigations; Patterns Router keeps its context\n * in router state.\n *\n * Forwarded by the BM and Giza providers. Dropped by the dashboard provider,\n * whose SDK Destination has no referrer field.\n */\n parentReferrer?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Whether the page was opened to create a new entity rather than to edit an\n * existing one. Decides how a save is announced to the parent page — created\n * vs updated — so a new item seeded with local defaults is still announced\n * as created. Pass a getter when the route can change while the page stays\n * mounted. When omitted, the announcement follows whether an entity was\n * loaded.\n */\n isNewEntity?: boolean | (() => boolean);\n\n /**\n * An optional schema source describing how to load the schema and access\n * the entity's data. When present, the page can read fields from the source\n * instead of relying only on hand-wired fetch/onSave callbacks.\n */\n schemaSource?: SchemaSource<T>;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n _schema: Schema | null = null;\n _loadedSchema: LoadedSchema<T> | null = null;\n private readonly _isNewEntity?: boolean | (() => boolean);\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n private readonly _parentReferrer?: string;\n\n actionsBarConfig: EntityPageStateParams<T>['actionsBarConfig'] = undefined;\n\n /**\n * The page's side-panel host, the way a table's lives on its toolbar.\n * Attached by the first feature that needs one, through\n * `SidePanelsState.setOnPage` — so a page with no panels neither builds nor\n * bundles the side-panel code. Everything on the page shares this host, which\n * is what keeps one panel open at a time.\n */\n panels: SidePanelsState | null = null;\n\n /** The fields card's \"Manage fields\" state, set by the card that owns it —\n * the panel is rendered by the host with no props and reads it from here,\n * as a table's panel reads `toolbar.customColumnsState`. */\n customColumnsState: CustomColumnsEntityPageState | null = null;\n\n // Shallow: a deep set would wrap the token objects, and release could not\n // find them again.\n private readonly _saveHolds = observable.set<object>([], { deep: false });\n\n readonly schemaSource?: SchemaSource<T>;\n\n /**\n * The container the page's field renderers are built with — the one the schema\n * carries, so a table on the same schema shares it. Initialized in `init()`\n * below, next to the schema load the fields also wait on; the schema-entry\n * EntityPage puts it in React context.\n */\n get fieldsContainer(): PatternsFieldsAppContainer | undefined {\n return fieldsContainerOf(this.schemaSource);\n }\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n readonly deleteActionState: EntityPageDeleteActionState<T>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n delete: () => void;\n deleteError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this._isNewEntity = params.isNewEntity;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n this._parentReferrer = params.parentReferrer;\n this.actionsBarConfig = params.actionsBarConfig;\n this.schemaSource = params.schemaSource;\n\n this.container = params.container;\n this.deleteActionState = new EntityPageDeleteActionState<T>({\n container: this.container,\n deleteAction: params.deleteAction,\n schemaSource: this.schemaSource,\n getEntity: () => this.entity,\n getLoadedSchema: () => this.loadedSchema,\n transformEntityToCollectionItem: this.transformEntityToCollectionItem,\n onDeleted: action((deletedCollectionItem) =>\n this.handleEntityDeleted(deletedCollectionItem),\n ),\n emitDelete: () => this.events.emit('delete'),\n emitDeleteError: (err) => this.events.emit('deleteError', err),\n });\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n _schema: observable.ref,\n setSchema: action,\n _loadedSchema: observable.ref,\n setLoadedSchema: action,\n customColumnsState: observable.ref,\n actionsBarConfig: observable.ref,\n setActionsBarConfig: action,\n holdSave: action,\n isSaveHeld: computed,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n // The field renderers can't translate until this resolves, so the page\n // waits on it alongside the fetch. Idempotent.\n this.fieldsContainer?.init();\n\n const [data, loadedSchema] = await Promise.all([\n this.fetch(),\n this.schemaSource?.loadSchema(),\n container.initTask.status.promise,\n this.fieldsContainer?.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n // A fields card can mirror a newer value while these promises settle.\n if (loadedSchema && !this.loadedSchema) {\n this.setLoadedSchema(loadedSchema);\n }\n if (loadedSchema && !this.schema) {\n this.setSchema(loadedSchema.schema);\n }\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n setSchema(schema: Schema | null) {\n this._schema = schema;\n }\n\n get schema(): Schema | null {\n return this._schema;\n }\n\n setActionsBarConfig(actionsBarConfig?: ActionsBarConfig) {\n this.actionsBarConfig = actionsBarConfig;\n }\n\n setLoadedSchema(loadedSchema: LoadedSchema<T> | null) {\n this._loadedSchema = loadedSchema;\n }\n\n get loadedSchema(): LoadedSchema<T> | null {\n return this._loadedSchema;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n private get _isExistingEntity(): boolean {\n const isNewEntity =\n typeof this._isNewEntity === 'function'\n ? this._isNewEntity()\n : this._isNewEntity;\n const isRouteKnown = isNewEntity !== undefined;\n return isRouteKnown ? !isNewEntity : !!this._entity;\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._isExistingEntity\n ? '_updatedEntity'\n : '_createdEntity';\n this.navigateToParentWithState({ [entityStringKey]: updatedEntity });\n }\n\n navigateToParentWithState(entityObject: Record<string, unknown>) {\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n ...(this._parentReferrer !== undefined && {\n referrer: this._parentReferrer,\n }),\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n private handleEntityDeleted(deletedCollectionItem: any) {\n this.isSubmitSuccessful = true;\n this.navigateToParentWithState({ _deletedEntity: deletedCollectionItem });\n }\n\n /**\n * Blocks `handleSubmit` until the returned release is called (idempotent).\n * For features whose form fields are not mounted yet — react-hook-form only\n * validates mounted controls, so a save in that window would skip their\n * required-field validation.\n */\n holdSave(): () => void {\n const hold = {};\n this._saveHolds.add(hold);\n return action(() => {\n this._saveHolds.delete(hold);\n });\n }\n\n get isSaveHeld(): boolean {\n return this._saveHolds.size > 0;\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading || this.isSaveHeld) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n entity: this.entity,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "FormPageHeader2774877640";
8
+ var _namespace_ = "FormPageHeader981342176";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "FormPageHeader2774877640__root"
15
+ "root": "FormPageHeader981342176__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader2774877640\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader2774877640__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader981342176\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader981342176__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,yBAAyB;AAC3C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA+B,CAAC;AACtD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -148,6 +148,10 @@ function buildEditableFieldColumns(source, translate, editableCellFor) {
148
148
  infoTooltipProps: field.helpText ? {
149
149
  content: field.helpText
150
150
  } : undefined,
151
+ // The toolbar merges this column over the display column for the same
152
+ // field, so without an explicit value the cell would take the display
153
+ // column's align, which a custom type may set for its table cell.
154
+ align: 'start',
151
155
  hideable: true,
152
156
  sortable: (definition == null || (_definition$capabilit = definition.capabilities) == null ? void 0 : _definition$capabilit.sortable) ?? ((_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.sortable) ?? false,
153
157
  editable,
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_patternsFields","_resolveFieldPresentation","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","translate","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","fieldName","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","patternRegex","compilePattern","pattern","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_resolveFieldPresenta","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","fieldTypeIcons","resolveFieldPresentation","typeDisplay","icons","isPrimary","infoTooltipProps","helpText","content","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport { compilePattern } from '@wix/patterns-fields';\nimport { resolveFieldPresentation } from '../utils/resolveFieldPresentation';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(\n field: Field,\n translate: Translate,\n): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: translate('cairo.editableTable.field.validation.required', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n // A pattern the platform refuses to run (uncompilable, over-long, or able to\n // backtrack catastrophically) yields no rule, matching what the form inputs do.\n const patternRegex = compilePattern(v.pattern);\n if (patternRegex) {\n rules.push({\n type: 'pattern',\n value: patternRegex,\n message: translate('cairo.editableTable.field.validation.pattern', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: translate(\n 'cairo.editableTable.field.validation.specificValues',\n { fieldName: field.displayName },\n ),\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n translate: Translate,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field, translate);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n fieldTypeIcons: resolveFieldPresentation(source, field)?.typeDisplay\n ?.icons,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n // Also set by buildFieldColumns, and needed here too: this column reaches\n // the toolbar through simplifyColumn, which always emits the key, so it\n // would overwrite the display column's value with undefined.\n infoTooltipProps: field.helpText\n ? { content: field.helpText }\n : undefined,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_patternsFields","_resolveFieldPresentation","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","translate","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","fieldName","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","patternRegex","compilePattern","pattern","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_resolveFieldPresenta","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","fieldTypeIcons","resolveFieldPresentation","typeDisplay","icons","isPrimary","infoTooltipProps","helpText","content","align","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport { compilePattern } from '@wix/patterns-fields';\nimport { resolveFieldPresentation } from '../utils/resolveFieldPresentation';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(\n field: Field,\n translate: Translate,\n): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: translate('cairo.editableTable.field.validation.required', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n // A pattern the platform refuses to run (uncompilable, over-long, or able to\n // backtrack catastrophically) yields no rule, matching what the form inputs do.\n const patternRegex = compilePattern(v.pattern);\n if (patternRegex) {\n rules.push({\n type: 'pattern',\n value: patternRegex,\n message: translate('cairo.editableTable.field.validation.pattern', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: translate(\n 'cairo.editableTable.field.validation.specificValues',\n { fieldName: field.displayName },\n ),\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n translate: Translate,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field, translate);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n fieldTypeIcons: resolveFieldPresentation(source, field)?.typeDisplay\n ?.icons,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n // Also set by buildFieldColumns, and needed here too: this column reaches\n // the toolbar through simplifyColumn, which always emits the key, so it\n // would overwrite the display column's value with undefined.\n infoTooltipProps: field.helpText\n ? { content: field.helpText }\n : undefined,\n // The toolbar merges this column over the display column for the same\n // field, so without an explicit value the cell would take the display\n // column's align, which a custom type may set for its table cell.\n align: 'start',\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,54 +8,25 @@ var _bexCore = require("@wix/bex-core");
8
8
  var _FieldCell = require("../components/FieldCell/FieldCell");
9
9
  var _resolveFieldPresentation = require("../utils/resolveFieldPresentation");
10
10
  var _fieldTypePrefixIcons = require("../utils/fieldTypePrefixIcons");
11
+ var _NumberCellStCss = require("../components/Table/NumberCell.st.css.js");
11
12
  var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/state/buildFieldColumns.tsx";
12
13
  /**
13
- * Column width and alignment per field type. These match the widths the table
14
- * used before this builder existed, so columns keep the same layout. Types not
15
- * listed fall back to DEFAULT_LAYOUT.
14
+ * Column width per field type. These match the widths the table used before
15
+ * this builder existed, so columns keep the same layout. Types not listed fall
16
+ * back to DEFAULT_WIDTH.
16
17
  */
17
- const LAYOUT_BY_TYPE = {
18
- SHORT_TEXT: {
19
- width: '150px',
20
- align: 'start'
21
- },
22
- LONG_TEXT: {
23
- width: '250px',
24
- align: 'start'
25
- },
26
- URL: {
27
- width: '250px',
28
- align: 'start'
29
- },
30
- DATE: {
31
- width: '150px',
32
- align: 'center'
33
- },
34
- DATETIME: {
35
- width: '200px',
36
- align: 'center'
37
- },
38
- NUMBER: {
39
- width: '100px',
40
- align: 'center'
41
- },
42
- BOOLEAN: {
43
- width: '100px',
44
- align: 'center'
45
- },
46
- ARRAY: {
47
- width: '150px',
48
- align: 'start'
49
- },
50
- DOCUMENT: {
51
- width: '180px',
52
- align: 'start'
53
- }
54
- };
55
- const DEFAULT_LAYOUT = {
56
- width: '200px',
57
- align: 'start'
18
+ const WIDTH_BY_TYPE = {
19
+ SHORT_TEXT: '150px',
20
+ LONG_TEXT: '250px',
21
+ URL: '250px',
22
+ DATE: '150px',
23
+ DATETIME: '200px',
24
+ NUMBER: '100px',
25
+ BOOLEAN: '100px',
26
+ ARRAY: '150px',
27
+ DOCUMENT: '180px'
58
28
  };
29
+ const DEFAULT_WIDTH = '200px';
59
30
  /**
60
31
  * Builds table columns from a FieldsSource. Each column renders its value with
61
32
  * FieldCell by type. A source can replace any column property — including the
@@ -74,7 +45,10 @@ function buildFieldColumns(source, columnOverrides, ctx = {
74
45
  const layout = definition != null && definition.table ? {
75
46
  width: definition.table.width,
76
47
  align: definition.table.align ?? 'start'
77
- } : LAYOUT_BY_TYPE[field.type] ?? DEFAULT_LAYOUT;
48
+ } : {
49
+ width: WIDTH_BY_TYPE[field.type] ?? DEFAULT_WIDTH,
50
+ align: 'start'
51
+ };
78
52
  return {
79
53
  id,
80
54
  field,
@@ -93,20 +67,31 @@ function buildFieldColumns(source, columnOverrides, ctx = {
93
67
  fieldTypeIcons: (_resolveFieldPresenta = (0, _resolveFieldPresentation.resolveFieldPresentation)(source, field)) == null || (_resolveFieldPresenta = _resolveFieldPresenta.typeDisplay) == null ? void 0 : _resolveFieldPresenta.icons,
94
68
  width: layout.width,
95
69
  align: layout.align,
96
- render: (row, rowNum) => /*#__PURE__*/_react.default.createElement(_FieldCell.FieldCell, {
97
- type: field.type,
98
- value: source.getCellValue(row, field),
99
- fieldId: `${id}-${rowNum}`,
100
- columnId: id,
101
- row: row,
102
- definition: definition,
103
- __self: this,
104
- __source: {
105
- fileName: _jsxFileName,
106
- lineNumber: 84,
107
- columnNumber: 9
108
- }
109
- }),
70
+ render: (row, rowNum) => {
71
+ const cell = /*#__PURE__*/_react.default.createElement(_FieldCell.FieldCell, {
72
+ type: field.type,
73
+ value: source.getCellValue(row, field),
74
+ fieldId: `${id}-${rowNum}`,
75
+ columnId: id,
76
+ row: row,
77
+ definition: definition,
78
+ __self: this,
79
+ __source: {
80
+ fileName: _jsxFileName,
81
+ lineNumber: 83,
82
+ columnNumber: 11
83
+ }
84
+ });
85
+ return field.type === 'NUMBER' && !(definition != null && definition.table) ? /*#__PURE__*/_react.default.createElement("div", {
86
+ className: _NumberCellStCss.classes.root,
87
+ __self: this,
88
+ __source: {
89
+ fileName: _jsxFileName,
90
+ lineNumber: 93,
91
+ columnNumber: 11
92
+ }
93
+ }, cell) : cell;
94
+ },
110
95
  ...(columnOverrides == null ? void 0 : columnOverrides(field, ctx))
111
96
  };
112
97
  });