@wix/patterns 1.490.0 → 1.492.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 (540) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  9. package/dist/cjs/components/CmsFieldManagement/toFieldSpec.js +1 -0
  10. package/dist/cjs/components/CmsFieldManagement/toFieldSpec.js.map +1 -1
  11. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  12. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  14. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  16. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  22. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  24. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  29. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
  30. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
  31. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  32. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  33. package/dist/cjs/components/EditableTable/EditableCell.st.css +21 -4
  34. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +4 -3
  35. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  36. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +3 -0
  37. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
  38. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  39. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  40. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  41. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  42. package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +3 -3
  43. package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
  44. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  45. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  46. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  47. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  48. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  49. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  50. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  51. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  52. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  53. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  54. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  55. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  56. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  57. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  58. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  59. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  60. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  61. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  62. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  63. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  64. package/dist/cjs/components/EditableTable/cellTypes/index.js +3 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
  66. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.js +32 -0
  67. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.js.map +1 -0
  68. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js +66 -0
  69. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js.map +1 -0
  70. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/View.js +22 -0
  71. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/View.js.map +1 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/View.uni.driver.js +16 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/View.uni.driver.js.map +1 -0
  74. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js +42 -0
  75. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -0
  76. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  77. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  78. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  79. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  80. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  81. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  82. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +6 -6
  83. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
  84. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  85. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  86. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  87. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  88. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  89. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  90. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  91. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  92. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  93. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  94. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  95. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  96. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  97. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  98. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  99. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  100. package/dist/cjs/components/EntityPageFields/EntityPageField.js +14 -13
  101. package/dist/cjs/components/EntityPageFields/EntityPageField.js.map +1 -1
  102. package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js +3 -3
  103. package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js.map +1 -1
  104. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  105. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  106. package/dist/cjs/components/FieldCell/FieldCell.js +33 -21
  107. package/dist/cjs/components/FieldCell/FieldCell.js.map +1 -1
  108. package/dist/cjs/components/FormPage/FormPageActionsBar.js +43 -13
  109. package/dist/cjs/components/FormPage/FormPageActionsBar.js.map +1 -1
  110. package/dist/cjs/components/FormPage/FormPageSaveSplitAction.js +24 -9
  111. package/dist/cjs/components/FormPage/FormPageSaveSplitAction.js.map +1 -1
  112. package/dist/cjs/components/FormPageContent/FormPageContent.uni.driver.js +13 -2
  113. package/dist/cjs/components/FormPageContent/FormPageContent.uni.driver.js.map +1 -1
  114. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  115. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  116. package/dist/cjs/components/ImportButton/CmsImportFieldEditor.js +2 -4
  117. package/dist/cjs/components/ImportButton/CmsImportFieldEditor.js.map +1 -1
  118. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +22 -18
  119. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  120. package/dist/cjs/components/ImportButton/ImportModal.uni.driver.js +3 -0
  121. package/dist/cjs/components/ImportButton/ImportModal.uni.driver.js.map +1 -1
  122. package/dist/cjs/components/ImportButton/ImportStepConfiguration.js +44 -28
  123. package/dist/cjs/components/ImportButton/ImportStepConfiguration.js.map +1 -1
  124. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  125. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  126. package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js +82 -0
  127. package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js.map +1 -0
  128. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  129. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  130. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  131. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  132. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  133. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  134. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  135. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  136. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  137. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  138. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  139. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  140. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  141. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  142. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  143. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  144. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  145. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  146. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  147. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  148. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  149. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  150. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  151. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  152. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  153. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  154. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  155. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  156. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  157. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  158. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  159. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  160. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
  161. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  162. package/dist/cjs/components/Table/NumberCell.st.css.js +2 -2
  163. package/dist/cjs/components/Table/NumberCell.st.css.js.map +1 -1
  164. package/dist/cjs/components/Table/TableBaseRow.js +16 -3
  165. package/dist/cjs/components/Table/TableBaseRow.js.map +1 -1
  166. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  167. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  168. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  169. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  170. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  171. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  172. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  173. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  174. package/dist/cjs/components/common.st.css.js +4 -4
  175. package/dist/cjs/components/common.st.css.js.map +1 -1
  176. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
  177. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  178. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  179. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
  180. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
  181. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  182. package/dist/cjs/state/EditableTable/fieldTypeToCellType.js +1 -0
  183. package/dist/cjs/state/EditableTable/fieldTypeToCellType.js.map +1 -1
  184. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  185. package/dist/cjs/state/EntityPage/EntityPageState.js +8 -7
  186. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  187. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  188. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  189. package/dist/cjs/state/buildFieldFilters.js +5 -3
  190. package/dist/cjs/state/buildFieldFilters.js.map +1 -1
  191. package/dist/cjs/styles.global.css +2 -2
  192. package/dist/cjs/utils/fieldTypePrefixIcons.js +12 -8
  193. package/dist/cjs/utils/fieldTypePrefixIcons.js.map +1 -1
  194. package/dist/cjs/version.js +1 -1
  195. package/dist/cjs/version.js.map +1 -1
  196. package/dist/dts-bundle/components/EditableTable.d.ts +2 -1
  197. package/dist/dts-bundle/components/EntityPage.d.ts +3 -0
  198. package/dist/dts-bundle/components/LayoutSwitch.d.ts +2 -1
  199. package/dist/dts-bundle/components/schema/EntityPage.d.ts +3 -0
  200. package/dist/dts-bundle/hooks/schema/useEntityPage.d.ts +3 -0
  201. package/dist/dts-bundle/hooks/useEntityPage.d.ts +3 -0
  202. package/dist/dts-bundle/index.json +44 -44
  203. package/dist/dts-bundle/index.txt +15 -15
  204. package/dist/dts-bundle/types/CellType.d.ts +2 -1
  205. package/dist/dts-bundle/types/Column.d.ts +1 -1
  206. package/dist/dts-bundle/types/EntityPageState.d.ts +5 -2
  207. package/dist/dts-bundle/types/EntityPageStateParams.d.ts +3 -0
  208. package/dist/dts-bundle/types/OnSaveParams.d.ts +3 -0
  209. package/dist/dts-bundle/types/SchemaSource.d.ts +5 -3
  210. package/dist/dts-bundle/types/SchemaSourceInput.d.ts +5 -3
  211. package/dist/dts-bundle/types/UseCmsSchemaSourceDeps.d.ts +4 -2
  212. package/dist/dts-bundle/types/UseEntityPageParams.d.ts +3 -0
  213. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  214. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  215. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  216. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  217. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  218. package/dist/esm/components/CmsFieldManagement/toFieldSpec.js +1 -0
  219. package/dist/esm/components/CmsFieldManagement/toFieldSpec.js.map +1 -1
  220. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  221. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  222. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  223. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  224. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  225. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  226. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  227. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  228. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  229. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  230. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
  231. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  232. package/dist/esm/components/EditableTable/EditableCell.st.css +21 -4
  233. package/dist/esm/components/EditableTable/EditableCell.st.css.js +3 -3
  234. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  235. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +3 -0
  236. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
  237. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  238. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  239. package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
  241. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  242. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  243. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  244. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  245. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  246. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  247. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  248. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  249. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  250. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  251. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  252. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  253. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  254. package/dist/esm/components/EditableTable/cellTypes/index.js +3 -1
  255. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  256. package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.js +4 -0
  257. package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.js.map +1 -0
  258. package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js +58 -0
  259. package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js.map +1 -0
  260. package/dist/esm/components/EditableTable/cellTypes/mediaImage/View.js +4 -0
  261. package/dist/esm/components/EditableTable/cellTypes/mediaImage/View.js.map +1 -0
  262. package/dist/esm/components/EditableTable/cellTypes/mediaImage/View.uni.driver.js +12 -0
  263. package/dist/esm/components/EditableTable/cellTypes/mediaImage/View.uni.driver.js.map +1 -0
  264. package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js +37 -0
  265. package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -0
  266. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  267. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  268. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  269. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  270. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
  271. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
  272. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  273. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  274. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  275. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  276. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  277. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  278. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  279. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  280. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  281. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  282. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  283. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  284. package/dist/esm/components/EntityPageFields/EntityPageField.js +2 -1
  285. package/dist/esm/components/EntityPageFields/EntityPageField.js.map +1 -1
  286. package/dist/esm/components/EntityPageFields/EntityPageField.st.css.js +2 -2
  287. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  288. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  289. package/dist/esm/components/FieldCell/FieldCell.js +3 -0
  290. package/dist/esm/components/FieldCell/FieldCell.js.map +1 -1
  291. package/dist/esm/components/FormPage/FormPageActionsBar.js +8 -3
  292. package/dist/esm/components/FormPage/FormPageActionsBar.js.map +1 -1
  293. package/dist/esm/components/FormPage/FormPageSaveSplitAction.js +5 -3
  294. package/dist/esm/components/FormPage/FormPageSaveSplitAction.js.map +1 -1
  295. package/dist/esm/components/FormPageContent/FormPageContent.uni.driver.js +17 -2
  296. package/dist/esm/components/FormPageContent/FormPageContent.uni.driver.js.map +1 -1
  297. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  298. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  299. package/dist/esm/components/ImportButton/CmsImportFieldEditor.js +2 -4
  300. package/dist/esm/components/ImportButton/CmsImportFieldEditor.js.map +1 -1
  301. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +15 -5
  302. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  303. package/dist/esm/components/ImportButton/ImportModal.uni.driver.js +3 -0
  304. package/dist/esm/components/ImportButton/ImportModal.uni.driver.js.map +1 -1
  305. package/dist/esm/components/ImportButton/ImportStepConfiguration.js +17 -2
  306. package/dist/esm/components/ImportButton/ImportStepConfiguration.js.map +1 -1
  307. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  308. package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js +65 -0
  309. package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js.map +1 -0
  310. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  311. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  312. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  313. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  314. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  315. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  316. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  317. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  318. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  319. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  320. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  321. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  322. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  323. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  324. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  325. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  326. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  327. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  328. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  329. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  330. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  331. package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
  332. package/dist/esm/components/Table/TableBaseRow.js +14 -1
  333. package/dist/esm/components/Table/TableBaseRow.js.map +1 -1
  334. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  335. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  336. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  337. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  338. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  339. package/dist/esm/components/common.st.css.js +2 -2
  340. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  341. package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  342. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
  343. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  344. package/dist/esm/state/EditableTable/fieldTypeToCellType.js +1 -0
  345. package/dist/esm/state/EditableTable/fieldTypeToCellType.js.map +1 -1
  346. package/dist/esm/state/EntityPage/EntityPageState.js +3 -1
  347. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  348. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  349. package/dist/esm/state/buildFieldFilters.js +2 -0
  350. package/dist/esm/state/buildFieldFilters.js.map +1 -1
  351. package/dist/esm/styles.global.css +2 -2
  352. package/dist/esm/utils/fieldTypePrefixIcons.js +1 -0
  353. package/dist/esm/utils/fieldTypePrefixIcons.js.map +1 -1
  354. package/dist/esm/version.js +1 -1
  355. package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
  356. package/dist/types/components/CmsFieldManagement/toFieldSpec.d.ts +14 -2
  357. package/dist/types/components/CmsFieldManagement/toFieldSpec.d.ts.map +1 -1
  358. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  359. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +2233 -435
  360. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  361. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +1 -0
  362. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  363. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +27 -6
  364. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
  365. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2330 -484
  366. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  367. package/dist/types/components/EditableTable/cellTypes/JsonInputEdit.st.css.d.ts.map +1 -1
  368. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  369. package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
  370. package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
  371. package/dist/types/components/EditableTable/cellTypes/index.d.ts +2 -1
  372. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  373. package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.d.ts +5 -0
  374. package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.d.ts.map +1 -0
  375. package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.d.ts +29 -0
  376. package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.d.ts.map +1 -0
  377. package/dist/types/components/EditableTable/cellTypes/mediaImage/View.d.ts +5 -0
  378. package/dist/types/components/EditableTable/cellTypes/mediaImage/View.d.ts.map +1 -0
  379. package/dist/types/components/EditableTable/cellTypes/mediaImage/View.uni.driver.d.ts +10 -0
  380. package/dist/types/components/EditableTable/cellTypes/mediaImage/View.uni.driver.d.ts.map +1 -0
  381. package/dist/types/components/EditableTable/cellTypes/mediaImage/index.d.ts +5 -0
  382. package/dist/types/components/EditableTable/cellTypes/mediaImage/index.d.ts.map +1 -0
  383. package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
  384. package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.d.ts.map +1 -1
  385. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  386. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  387. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  388. package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -1
  389. package/dist/types/components/EntityPage/EntityPage.uni.driver.d.ts +4 -0
  390. package/dist/types/components/EntityPage/EntityPage.uni.driver.d.ts.map +1 -1
  391. package/dist/types/components/EntityPageFields/EntityPageField.d.ts.map +1 -1
  392. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  393. package/dist/types/components/FieldCell/FieldCell.d.ts.map +1 -1
  394. package/dist/types/components/FormPage/FormPageActionsBar.d.ts.map +1 -1
  395. package/dist/types/components/FormPage/FormPageSaveSplitAction.d.ts +3 -1
  396. package/dist/types/components/FormPage/FormPageSaveSplitAction.d.ts.map +1 -1
  397. package/dist/types/components/FormPageContent/FormPageContent.uni.driver.d.ts +4 -0
  398. package/dist/types/components/FormPageContent/FormPageContent.uni.driver.d.ts.map +1 -1
  399. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  400. package/dist/types/components/ImportButton/CmsImportFieldEditor.d.ts.map +1 -1
  401. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +899 -0
  402. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts.map +1 -1
  403. package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
  404. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +900 -0
  405. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts.map +1 -1
  406. package/dist/types/components/ImportButton/ImportStepConfiguration.d.ts.map +1 -1
  407. package/dist/types/components/ImportButton/SchemaImportFieldEditor.d.ts +8 -0
  408. package/dist/types/components/ImportButton/SchemaImportFieldEditor.d.ts.map +1 -0
  409. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  410. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +2065 -245
  411. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  412. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  413. package/dist/types/components/SettingsPage/SettingsPage.uni.driver.d.ts +4 -0
  414. package/dist/types/components/SettingsPage/SettingsPage.uni.driver.d.ts.map +1 -1
  415. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  416. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  417. package/dist/types/components/Table/Table.uni.driver.d.ts +2246 -448
  418. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  419. package/dist/types/components/Table/TableBaseRow.d.ts.map +1 -1
  420. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +2043 -245
  421. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  422. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +2051 -245
  423. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  424. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  425. package/dist/types/state/CollectionPage/TitleBadges.st.css.d.ts.map +1 -1
  426. package/dist/types/state/EditableTable/fieldTypeToCellType.d.ts.map +1 -1
  427. package/dist/types/state/EditableTable/types.d.ts +1 -0
  428. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  429. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  430. package/dist/types/state/buildFieldFilters.d.ts.map +1 -1
  431. package/dist/types/testkit/enzyme.d.ts +24345 -17145
  432. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  433. package/dist/types/testkit/jsdom.d.ts +23188 -14150
  434. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  435. package/dist/types/testkit/playwright.d.ts +26970 -17932
  436. package/dist/types/testkit/playwright.d.ts.map +1 -1
  437. package/dist/types/testkit/puppeteer.d.ts +31956 -22918
  438. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  439. package/dist/types/utils/fieldTypePrefixIcons.d.ts.map +1 -1
  440. package/dist/types/version.d.ts +1 -1
  441. package/package.json +7 -7
  442. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  443. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  444. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  445. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  446. package/src/components/CmsFieldManagement/toFieldSpec.ts +2 -5
  447. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  448. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  449. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  450. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  451. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  452. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  453. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  454. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  455. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  456. package/src/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.ts +2 -2
  457. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  458. package/src/components/EditableTable/EditableCell.st.css +21 -4
  459. package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
  460. package/src/components/EditableTable/EditableCell.uni.driver.ts +4 -0
  461. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  462. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  463. package/src/components/EditableTable/cellTypes/JsonInputEdit.st.css.ts +2 -2
  464. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  465. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  466. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  467. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  468. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  469. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  470. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  471. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  472. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  473. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  474. package/src/components/EditableTable/cellTypes/index.ts +3 -0
  475. package/src/components/EditableTable/cellTypes/mediaImage/Edit.tsx +17 -0
  476. package/src/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.ts +77 -0
  477. package/src/components/EditableTable/cellTypes/mediaImage/View.tsx +12 -0
  478. package/src/components/EditableTable/cellTypes/mediaImage/View.uni.driver.ts +13 -0
  479. package/src/components/EditableTable/cellTypes/mediaImage/index.ts +42 -0
  480. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  481. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  482. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  483. package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.ts +2 -2
  484. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  485. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  486. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  487. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  488. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  489. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  490. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  491. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  492. package/src/components/EntityPageFields/EntityPageField.st.css.ts +2 -2
  493. package/src/components/EntityPageFields/EntityPageField.tsx +2 -0
  494. package/src/components/Fade/Fade.st.css.ts +2 -2
  495. package/src/components/FieldCell/FieldCell.tsx +3 -0
  496. package/src/components/FormPage/FormPageActionsBar.tsx +34 -4
  497. package/src/components/FormPage/FormPageSaveSplitAction.tsx +21 -3
  498. package/src/components/FormPageContent/FormPageContent.uni.driver.ts +28 -2
  499. package/src/components/Heading/Heading.st.css.ts +2 -2
  500. package/src/components/ImportButton/CmsImportFieldEditor.tsx +2 -4
  501. package/src/components/ImportButton/ImportButtonModalLayout.tsx +13 -3
  502. package/src/components/ImportButton/ImportModal.uni.driver.ts +8 -0
  503. package/src/components/ImportButton/ImportStepConfiguration.tsx +22 -2
  504. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  505. package/src/components/ImportButton/SchemaImportFieldEditor.tsx +99 -0
  506. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  507. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  508. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  509. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  510. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  511. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  512. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  513. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  514. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  515. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  516. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  517. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  518. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  519. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  520. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  521. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  522. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  523. package/src/components/Table/NumberCell.st.css.ts +2 -2
  524. package/src/components/Table/TableBaseRow.tsx +20 -1
  525. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  526. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  527. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  528. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  529. package/src/components/common.st.css.ts +2 -2
  530. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  531. package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
  532. package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
  533. package/src/state/EditableTable/fieldTypeToCellType.ts +1 -0
  534. package/src/state/EditableTable/types.ts +1 -0
  535. package/src/state/EntityPage/EntityPageState.ts +5 -1
  536. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  537. package/src/state/buildFieldFilters.tsx +2 -0
  538. package/src/styles.global.css +2 -2
  539. package/src/utils/fieldTypePrefixIcons.tsx +1 -0
  540. package/src/version.ts +1 -1
@@ -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/CollectionPage/MobilePrimaryActionBar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"MobilePrimaryActionBar1567729410\";\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\":\"MobilePrimaryActionBar1567729410__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-space-300\":\"--wds-space-300\",\"wds-space-400\":\"--wds-space-400\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kCAAkC;AACpD,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;AAAwC,CAAC;AAC/D,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;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,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/CollectionPage/MobilePrimaryActionBar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"MobilePrimaryActionBar3326216446\";\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\":\"MobilePrimaryActionBar3326216446__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-space-300\":\"--wds-space-300\",\"wds-space-400\":\"--wds-space-400\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kCAAkC;AACpD,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;AAAwC,CAAC;AAC/D,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;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
@@ -5,16 +5,16 @@ 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_ = "TitleBadges3696893018";
8
+ var _namespace_ = "TitleBadges27876985";
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": "TitleBadges3696893018__root",
16
- "tooltip": "TitleBadges3696893018__tooltip",
17
- "tooltipTrigger": "TitleBadges3696893018__tooltipTrigger"
15
+ "root": "TitleBadges27876985__root",
16
+ "tooltip": "TitleBadges27876985__tooltip",
17
+ "tooltipTrigger": "TitleBadges27876985__tooltipTrigger"
18
18
  };
19
19
  var keyframes = exports.keyframes = {};
20
20
  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/CollectionPage/TitleBadges.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"TitleBadges3696893018\";\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\":\"TitleBadges3696893018__root\",\"tooltip\":\"TitleBadges3696893018__tooltip\",\"tooltipTrigger\":\"TitleBadges3696893018__tooltipTrigger\"};\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,uBAAuB;AACzC,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,6BAA6B;EAAC,SAAS,EAAC,gCAAgC;EAAC,gBAAgB,EAAC;AAAuC,CAAC;AACxJ,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/CollectionPage/TitleBadges.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"TitleBadges27876985\";\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\":\"TitleBadges27876985__root\",\"tooltip\":\"TitleBadges27876985__tooltip\",\"tooltipTrigger\":\"TitleBadges27876985__tooltipTrigger\"};\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,qBAAqB;AACvC,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,2BAA2B;EAAC,SAAS,EAAC,8BAA8B;EAAC,gBAAgB,EAAC;AAAqC,CAAC;AAClJ,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":[]}
@@ -22,6 +22,7 @@ const FIELD_TYPE_TO_CELL_TYPE = exports.FIELD_TYPE_TO_CELL_TYPE = {
22
22
  EMAIL: 'email',
23
23
  COLOR: 'color',
24
24
  IMAGE: 'image',
25
+ MEDIA_IMAGE: 'mediaImage',
25
26
  VIDEO: 'video',
26
27
  AUDIO: 'audio',
27
28
  MEDIA_GALLERY: 'mediaGallery',
@@ -1 +1 @@
1
- {"version":3,"names":["FIELD_TYPE_TO_CELL_TYPE","exports","SHORT_TEXT","LONG_TEXT","NUMBER","BOOLEAN","DATE","DATETIME","TIME","URL","EMAIL","COLOR","IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_TEXT","RICH_CONTENT","ADDRESS","REFERENCE","MULTI_REFERENCE","ARRAY","OBJECT","CUSTOM","UNKNOWN"],"sources":["../../../../src/state/EditableTable/fieldTypeToCellType.ts"],"sourcesContent":["import type { PatternsFieldType } from '@wix/bex-core';\nimport type { CellTypeConfigMap } from './types';\n\n/**\n * Maps a source field's neutral type to the EditableTable cell type used to\n * render and edit it. Reference / multi-reference need extra\n * typeConfig the projection can't supply yet, so the projection downgrades\n * those to a read-only display (see NEEDS_TYPE_CONFIG in\n * buildEditableFieldColumns); the ideal mapping is kept here for when that\n * lands. UNKNOWN has no cell of its own, so it displays as 'object'.\n */\nexport const FIELD_TYPE_TO_CELL_TYPE: Record<\n PatternsFieldType,\n keyof CellTypeConfigMap\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE: 'date',\n DATETIME: 'datetime',\n TIME: 'time',\n URL: 'url',\n EMAIL: 'email',\n COLOR: 'color',\n IMAGE: 'image',\n VIDEO: 'video',\n AUDIO: 'audio',\n MEDIA_GALLERY: 'mediaGallery',\n DOCUMENT: 'document',\n MULTI_DOCUMENT: 'multiDocument',\n RICH_TEXT: 'richText',\n RICH_CONTENT: 'richContent',\n ADDRESS: 'address',\n REFERENCE: 'reference',\n MULTI_REFERENCE: 'multiReference',\n ARRAY: 'array',\n OBJECT: 'object',\n // Reached only when a CUSTOM field's definition is missing or has no\n // editableTable slot — the column builder resolves the definition first.\n CUSTOM: 'object',\n UNKNOWN: 'object',\n};\n"],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAGZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,cAAc;EAC7BC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAE,UAAU;EACrBC,YAAY,EAAE,aAAa;EAC3BC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,eAAe,EAAE,gBAAgB;EACjCC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChB;EACA;EACAC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["FIELD_TYPE_TO_CELL_TYPE","exports","SHORT_TEXT","LONG_TEXT","NUMBER","BOOLEAN","DATE","DATETIME","TIME","URL","EMAIL","COLOR","IMAGE","MEDIA_IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_TEXT","RICH_CONTENT","ADDRESS","REFERENCE","MULTI_REFERENCE","ARRAY","OBJECT","CUSTOM","UNKNOWN"],"sources":["../../../../src/state/EditableTable/fieldTypeToCellType.ts"],"sourcesContent":["import type { PatternsFieldType } from '@wix/bex-core';\nimport type { CellTypeConfigMap } from './types';\n\n/**\n * Maps a source field's neutral type to the EditableTable cell type used to\n * render and edit it. Reference / multi-reference need extra\n * typeConfig the projection can't supply yet, so the projection downgrades\n * those to a read-only display (see NEEDS_TYPE_CONFIG in\n * buildEditableFieldColumns); the ideal mapping is kept here for when that\n * lands. UNKNOWN has no cell of its own, so it displays as 'object'.\n */\nexport const FIELD_TYPE_TO_CELL_TYPE: Record<\n PatternsFieldType,\n keyof CellTypeConfigMap\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE: 'date',\n DATETIME: 'datetime',\n TIME: 'time',\n URL: 'url',\n EMAIL: 'email',\n COLOR: 'color',\n IMAGE: 'image',\n MEDIA_IMAGE: 'mediaImage',\n VIDEO: 'video',\n AUDIO: 'audio',\n MEDIA_GALLERY: 'mediaGallery',\n DOCUMENT: 'document',\n MULTI_DOCUMENT: 'multiDocument',\n RICH_TEXT: 'richText',\n RICH_CONTENT: 'richContent',\n ADDRESS: 'address',\n REFERENCE: 'reference',\n MULTI_REFERENCE: 'multiReference',\n ARRAY: 'array',\n OBJECT: 'object',\n // Reached only when a CUSTOM field's definition is missing or has no\n // editableTable slot — the column builder resolves the definition first.\n CUSTOM: 'object',\n UNKNOWN: 'object',\n};\n"],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAGZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,WAAW,EAAE,YAAY;EACzBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,cAAc;EAC7BC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAE,UAAU;EACrBC,YAAY,EAAE,aAAa;EAC3BC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,eAAe,EAAE,gBAAgB;EACjCC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChB;EACA;EACAC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type {\n EditableCellConfig,\n Field,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n CellEditWrapperProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type { ValidationRule } from '@wix/bex-core';\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string.\n * `translate` is optional so cell types whose validate doesn't need\n * localization (text/number/date/…) can keep their existing call sites.\n * Cell types that DO localize (array/object) must be called with a translator. */\n validate?: (\n value: any,\n rules?: ValidationRule[],\n translate?: Translate,\n ) => string | null;\n\n /** Error message for pasted text that `deserialize` rejected. Receives the\n * raw text, not a typed value. Omit it to show the generic\n * \"not compatible\" message. */\n invalidInputMessage?: (raw: string, translate?: Translate) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Availability of Cairo's built-in cell context-menu actions. */\n contextMenu?: EditableCellConfig<unknown>['contextMenu'];\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Optional wrapper component the cell type defines to own behavior that must\n * outlive the inline editor. EditableCell mounts it around the cell content\n * and keeps it mounted across the edit↔view transition (e.g. a reference cell\n * navigating to an overlay and refreshing the table on return). The wrapper\n * hands anything the editor needs down via its own context. */\n EditWrapper?: ComponentType<CellEditWrapperProps>;\n\n /** Cell content can grow past row height when focused (e.g. multi-document\n * wraps chips into multiple rows). The framework releases the bottom anchor\n * and lays an opaque base under the selection tint so the overflow doesn't\n * bleed adjacent rows through.\n * Only applies to showEditWhenFocused cells — others release the bottom\n * anchor via :editing already. */\n growable?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n /** When true, type-to-edit flushes the edit-mode render synchronously and\n * focuses the input within the same keydown event, then lets the browser's\n * default action deliver the keystroke to the now-focused input naturally\n * (no preventDefault, no programmatic value injection).\n * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a\n * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */\n nativeTypeToEdit?: boolean;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n color: never;\n date: never;\n time: never;\n datetime: never;\n object: never;\n array: never;\n image: never;\n document: never;\n multiDocument: never;\n richContent: never;\n video: never;\n audio: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n multiReference: ReferenceTypeConfig;\n address: AddressCellTypeConfig;\n /** An inline custom cell: the full cell contract minus the registry key.\n * Authorable directly on a column (`cellType: 'custom'` + `typeConfig`),\n * and also produced by the column builder when a schema field's type\n * definition (registered via the source's `fieldTypes`) has an\n * `editableTable` slot. */\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Field metadata associated with the column, when available. */\n field?: Field;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type {\n EditableCellConfig,\n Field,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n CellEditWrapperProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type { ValidationRule } from '@wix/bex-core';\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string.\n * `translate` is optional so cell types whose validate doesn't need\n * localization (text/number/date/…) can keep their existing call sites.\n * Cell types that DO localize (array/object) must be called with a translator. */\n validate?: (\n value: any,\n rules?: ValidationRule[],\n translate?: Translate,\n ) => string | null;\n\n /** Error message for pasted text that `deserialize` rejected. Receives the\n * raw text, not a typed value. Omit it to show the generic\n * \"not compatible\" message. */\n invalidInputMessage?: (raw: string, translate?: Translate) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Availability of Cairo's built-in cell context-menu actions. */\n contextMenu?: EditableCellConfig<unknown>['contextMenu'];\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Optional wrapper component the cell type defines to own behavior that must\n * outlive the inline editor. EditableCell mounts it around the cell content\n * and keeps it mounted across the edit↔view transition (e.g. a reference cell\n * navigating to an overlay and refreshing the table on return). The wrapper\n * hands anything the editor needs down via its own context. */\n EditWrapper?: ComponentType<CellEditWrapperProps>;\n\n /** Cell content can grow past row height when focused (e.g. multi-document\n * wraps chips into multiple rows). The framework releases the bottom anchor\n * and lays an opaque base under the selection tint so the overflow doesn't\n * bleed adjacent rows through.\n * Only applies to showEditWhenFocused cells — others release the bottom\n * anchor via :editing already. */\n growable?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n /** When true, type-to-edit flushes the edit-mode render synchronously and\n * focuses the input within the same keydown event, then lets the browser's\n * default action deliver the keystroke to the now-focused input naturally\n * (no preventDefault, no programmatic value injection).\n * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a\n * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */\n nativeTypeToEdit?: boolean;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n color: never;\n date: never;\n time: never;\n datetime: never;\n object: never;\n array: never;\n image: never;\n mediaImage: never;\n document: never;\n multiDocument: never;\n richContent: never;\n video: never;\n audio: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n multiReference: ReferenceTypeConfig;\n address: AddressCellTypeConfig;\n /** An inline custom cell: the full cell contract minus the registry key.\n * Authorable directly on a column (`cellType: 'custom'` + `typeConfig`),\n * and also produced by the column builder when a schema field's type\n * definition (registered via the source's `fieldTypes`) has an\n * `editableTable` slot. */\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Field metadata associated with the column, when available. */\n field?: Field;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -299,7 +299,8 @@ class EntityPageState {
299
299
  return this._saveHolds.size > 0;
300
300
  }
301
301
  async handleSubmit(e) {
302
- if (this.formPage.submitTask.status.isLoading || this.isSaveHeld) {
302
+ var _this$actionsBarConfi2;
303
+ if (this.formPage.submitTask.status.isLoading || this.isSaveHeld || (_this$actionsBarConfi2 = this.actionsBarConfig) != null && (_this$actionsBarConfi2 = _this$actionsBarConfi2.saveCta) != null && _this$actionsBarConfi2.disabled) {
303
304
  return;
304
305
  }
305
306
  this.events.emit('save');
@@ -308,11 +309,11 @@ class EntityPageState {
308
309
  data: widgetsFormData
309
310
  } = await this.formPage.validate();
310
311
  if (!isValid) {
311
- var _this$actionsBarConfi2;
312
+ var _this$actionsBarConfi3;
312
313
  this.bi.reportButtonClick({
313
314
  ctaName: 'Save',
314
315
  isValid: false,
315
- additionalInfo: (_this$actionsBarConfi2 = this.actionsBarConfig) == null || (_this$actionsBarConfi2 = _this$actionsBarConfi2.saveCta) == null ? void 0 : _this$actionsBarConfi2.biAdditionalInfo
316
+ additionalInfo: (_this$actionsBarConfi3 = this.actionsBarConfig) == null || (_this$actionsBarConfi3 = _this$actionsBarConfi3.saveCta) == null ? void 0 : _this$actionsBarConfi3.biAdditionalInfo
316
317
  });
317
318
  return;
318
319
  }
@@ -327,11 +328,11 @@ class EntityPageState {
327
328
  let savedEntity;
328
329
  let submitSuccessful = false;
329
330
  await form.handleSubmit(async () => {
330
- var _this$actionsBarConfi3;
331
+ var _this$actionsBarConfi4;
331
332
  bi.reportButtonClick({
332
333
  ctaName: 'Save',
333
334
  isValid: true,
334
- additionalInfo: (_this$actionsBarConfi3 = this.actionsBarConfig) == null || (_this$actionsBarConfi3 = _this$actionsBarConfi3.saveCta) == null ? void 0 : _this$actionsBarConfi3.biAdditionalInfo
335
+ additionalInfo: (_this$actionsBarConfi4 = this.actionsBarConfig) == null || (_this$actionsBarConfi4 = _this$actionsBarConfi4.saveCta) == null ? void 0 : _this$actionsBarConfi4.biAdditionalInfo
335
336
  });
336
337
  try {
337
338
  if (!this.isFetching) {
@@ -352,11 +353,11 @@ class EntityPageState {
352
353
  form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror
353
354
  }
354
355
  }, () => {
355
- var _this$actionsBarConfi4;
356
+ var _this$actionsBarConfi5;
356
357
  bi.reportButtonClick({
357
358
  ctaName: 'Save',
358
359
  isValid: false,
359
- additionalInfo: (_this$actionsBarConfi4 = this.actionsBarConfig) == null || (_this$actionsBarConfi4 = _this$actionsBarConfi4.saveCta) == null ? void 0 : _this$actionsBarConfi4.biAdditionalInfo
360
+ additionalInfo: (_this$actionsBarConfi5 = this.actionsBarConfig) == null || (_this$actionsBarConfi5 = _this$actionsBarConfi5.saveCta) == null ? void 0 : _this$actionsBarConfi5.biAdditionalInfo
360
361
  });
361
362
  } // can be used to report validation errors
362
363
  )(e);
@@ -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<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":[]}
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","_this$actionsBarConfi2","submitTask","isLoading","saveCta","disabled","isValid","widgetsFormData","validate","_this$actionsBarConfi3","run","savedEntity","submitSuccessful","_this$actionsBarConfi4","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi5","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 (\n this.formPage.submitTask.status.isLoading ||\n this.isSaveHeld ||\n this.actionsBarConfig?.saveCta?.disabled\n ) {\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_ = "FormPageHeader1471415525";
8
+ var _namespace_ = "FormPageHeader2963308741";
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": "FormPageHeader1471415525__root"
15
+ "root": "FormPageHeader2963308741__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_ = \"FormPageHeader1471415525\";\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\":\"FormPageHeader1471415525__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_ = \"FormPageHeader2963308741\";\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\":\"FormPageHeader2963308741__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":[]}
@@ -43,6 +43,7 @@ const FILTER_COMPONENT_BY_TYPE = {
43
43
  // Types with no value to match against — filter them on emptiness alone.
44
44
  TIME: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
45
45
  IMAGE: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
46
+ MEDIA_IMAGE: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
46
47
  VIDEO: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
47
48
  AUDIO: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
48
49
  MEDIA_GALLERY: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
@@ -77,6 +78,7 @@ const filterFactoryByType = config => {
77
78
  DATETIME: _bexCore.dateRangeFilter,
78
79
  TIME: _bexCore.idNameArrayFilter,
79
80
  IMAGE: _bexCore.idNameArrayFilter,
81
+ MEDIA_IMAGE: _bexCore.idNameArrayFilter,
80
82
  VIDEO: _bexCore.idNameArrayFilter,
81
83
  AUDIO: _bexCore.idNameArrayFilter,
82
84
  MEDIA_GALLERY: _bexCore.idNameArrayFilter,
@@ -183,7 +185,7 @@ const buildFieldFilterElement = (toolbar, field, config, source, ReferenceFilter
183
185
  __self: void 0,
184
186
  __source: {
185
187
  fileName: _jsxFileName,
186
- lineNumber: 234,
188
+ lineNumber: 236,
187
189
  columnNumber: 7
188
190
  }
189
191
  });
@@ -211,7 +213,7 @@ const buildFieldFilterElement = (toolbar, field, config, source, ReferenceFilter
211
213
  __self: void 0,
212
214
  __source: {
213
215
  fileName: _jsxFileName,
214
- lineNumber: 249,
216
+ lineNumber: 251,
215
217
  columnNumber: 7
216
218
  }
217
219
  });
@@ -240,7 +242,7 @@ const buildFieldFilterElement = (toolbar, field, config, source, ReferenceFilter
240
242
  __self: void 0,
241
243
  __source: {
242
244
  fileName: _jsxFileName,
243
- lineNumber: 268,
245
+ lineNumber: 270,
244
246
  columnNumber: 5
245
247
  }
246
248
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_fieldTypePrefixIcons","_CheckboxCustomFieldFilter","_DateCustomFieldFilter","_DateTimeCustomFieldFilter","_OperatorFilterCustomFieldFilter","_NumberRangeFilter","_HasValueCustomFieldFilter","_jsxFileName","FILTER_COMPONENT_BY_TYPE","SHORT_TEXT","OperatorFilterCustomFieldFilter","LONG_TEXT","URL","EMAIL","RICH_TEXT","ADDRESS","NUMBER","NumberRangeFilter","BOOLEAN","CheckboxCustomFieldFilter","DATE","DateCustomFieldFilter","DATETIME","DateTimeCustomFieldFilter","TIME","HasValueCustomFieldFilter","IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_CONTENT","OBJECT","COLOR","ARRAY","filterFactoryByType","config","stringFilter","params","stringOperatorFilter","allowedOperators","textOperators","numberRangeFilter","idNameArrayFilter","dateRangeFilter","REFERENCE","MULTI_REFERENCE","isFilterableFieldType","type","exports","resolveCustomFilter","field","source","customTypeConfig","resolveFieldTypeDefinition","isFilterTypeConfig","filter","undefined","isFilterableField","ReferenceFilter","isReferenceField","referenceItems","registerFieldFilters","toolbar","registerFilter","collection","registerFilterFieldValueGetter","id","item","getCellValue","query","addFilterIfNeeded","factoryByType","filterableFields","forEach","customFilter","createFilter","Object","assign","name","factory","isCustomField","buildFieldFilterElement","filters","label","displayName","_resolveCustomFilter","CustomComponent","Component","default","createElement","key","accordionItemProps","toolbarItemProps","toolbarTagProps","__self","__source","fileName","lineNumber","columnNumber","fetchItems","referencedCollectionId","referenceMetadata","fieldId","FilterComponent","decimal","numberIsDecimal","_extends2","fieldType","iconType","toFieldType","buildFieldFilters","map","el"],"sources":["../../../src/state/buildFieldFilters.tsx"],"sourcesContent":["import React, { type ComponentType } from 'react';\nimport {\n dateRangeFilter,\n idNameArrayFilter,\n isReferenceField,\n isFilterTypeConfig,\n numberRangeFilter,\n resolveFieldTypeDefinition,\n stringOperatorFilter,\n} from '@wix/bex-core';\nimport type {\n Field,\n FieldsSource,\n Filter,\n FilterStateBaseParams,\n FilterOperator,\n FilterTypeConfig,\n PatternsFieldType,\n} from '@wix/bex-core';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport type { FilterElement } from '../components/CollectionToolbarFilters';\nimport { toFieldType } from '../utils/fieldTypePrefixIcons';\nimport { CheckboxCustomFieldFilter } from '../components/CustomFieldFilters/CheckboxCustomFieldFilter';\nimport { DateCustomFieldFilter } from '../components/CustomFieldFilters/DateCustomFieldFilter';\nimport { DateTimeCustomFieldFilter } from '../components/CustomFieldFilters/DateTimeCustomFieldFilter';\nimport { OperatorFilterCustomFieldFilter } from '../components/CustomFieldFilters/OperatorFilterCustomFieldFilter';\nimport { NumberRangeFilter } from '../components/NumberRangeFilter';\nimport { HasValueCustomFieldFilter } from '../components/CustomFieldFilters/HasValueCustomFieldFilter';\nimport type {\n FetchReferenceItems,\n ReferenceFieldFilterProps,\n} from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\ntype FilterFactory = (\n params: Partial<FilterStateBaseParams<any>>,\n) => Filter<any>;\n\n/**\n * The reference filter, supplied by the source rather than imported here. It\n * reaches the referenced item's avatar in `@wix/patterns-fields`, which every\n * source would otherwise pay for — including sources with no reference fields.\n */\nexport type ReferenceFilterComponent = ComponentType<ReferenceFieldFilterProps>;\n\nexport type { FilterTypeConfig } from '@wix/bex-core';\n\n/**\n * The filter behavior a source supplies that the shared builder can't derive\n * from the neutral field type. The neutral type collapses distinct source types\n * (e.g. a DataExtension dropdown into SHORT_TEXT), so the source fills the gaps.\n */\nexport interface FieldFilterConfig {\n /** Operators the source's backend can run on text fields. */\n textOperators: FilterOperator[];\n /** Whether a NUMBER field's filter accepts decimals. Default: false. */\n numberIsDecimal?: (field: Field) => boolean;\n /** Filter type icon. Default: derived from the neutral field type. */\n iconType?: (field: Field) => ReturnType<typeof toFieldType>;\n /**\n * Queries a reference field's referenced collection for the options its\n * filter offers. Returning `undefined` for a field — or omitting this —\n * leaves that field without a filter, which is what a source that cannot\n * reach the referenced collection wants.\n */\n referenceItems?: (field: Field) => FetchReferenceItems | undefined;\n}\n\n// Field type → the filter element rendered in the toolbar. Its keys also define\n// which field types get an auto filter (see isFilterableFieldType).\nconst FILTER_COMPONENT_BY_TYPE: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n SHORT_TEXT: OperatorFilterCustomFieldFilter,\n LONG_TEXT: OperatorFilterCustomFieldFilter,\n URL: OperatorFilterCustomFieldFilter,\n EMAIL: OperatorFilterCustomFieldFilter,\n RICH_TEXT: OperatorFilterCustomFieldFilter,\n // The source matches an address against its formatted text.\n ADDRESS: OperatorFilterCustomFieldFilter,\n NUMBER: NumberRangeFilter,\n BOOLEAN: CheckboxCustomFieldFilter,\n DATE: DateCustomFieldFilter,\n DATETIME: DateTimeCustomFieldFilter,\n // Types with no value to match against — filter them on emptiness alone.\n TIME: HasValueCustomFieldFilter,\n IMAGE: HasValueCustomFieldFilter,\n VIDEO: HasValueCustomFieldFilter,\n AUDIO: HasValueCustomFieldFilter,\n MEDIA_GALLERY: HasValueCustomFieldFilter,\n DOCUMENT: HasValueCustomFieldFilter,\n MULTI_DOCUMENT: HasValueCustomFieldFilter,\n RICH_CONTENT: HasValueCustomFieldFilter,\n OBJECT: HasValueCustomFieldFilter,\n COLOR: HasValueCustomFieldFilter,\n ARRAY: HasValueCustomFieldFilter,\n // REFERENCE / MULTI_REFERENCE are absent on purpose: their filter component\n // is injected by the source (see ReferenceFilterComponent), so this file —\n // which every source's filters go through — never pulls it in.\n};\n\n// Field type → the filter state registered on the collection query. Text fields\n// use the source's allowed operators; the rest are fixed.\nconst filterFactoryByType = (\n config: FieldFilterConfig,\n): Partial<Record<PatternsFieldType, FilterFactory>> => {\n const stringFilter: FilterFactory = (params) =>\n stringOperatorFilter({ ...params, allowedOperators: config.textOperators });\n return {\n SHORT_TEXT: stringFilter,\n LONG_TEXT: stringFilter,\n URL: stringFilter,\n EMAIL: stringFilter,\n RICH_TEXT: stringFilter,\n ADDRESS: stringFilter,\n NUMBER: numberRangeFilter,\n BOOLEAN: idNameArrayFilter,\n DATE: dateRangeFilter,\n DATETIME: dateRangeFilter,\n TIME: idNameArrayFilter,\n IMAGE: idNameArrayFilter,\n VIDEO: idNameArrayFilter,\n AUDIO: idNameArrayFilter,\n MEDIA_GALLERY: idNameArrayFilter,\n DOCUMENT: idNameArrayFilter,\n MULTI_DOCUMENT: idNameArrayFilter,\n RICH_CONTENT: idNameArrayFilter,\n OBJECT: idNameArrayFilter,\n COLOR: idNameArrayFilter,\n ARRAY: idNameArrayFilter,\n REFERENCE: idNameArrayFilter,\n MULTI_REFERENCE: idNameArrayFilter,\n };\n};\n\n/** A field gets an auto filter when its type maps to a filter element. */\nexport const isFilterableFieldType = (type: PatternsFieldType): boolean =>\n type in FILTER_COMPONENT_BY_TYPE;\n\n/** The active filter config of a CUSTOM field's type definition, if any. */\nconst resolveCustomFilter = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n): FilterTypeConfig | undefined => {\n const customTypeConfig = resolveFieldTypeDefinition(source, field);\n return customTypeConfig && isFilterTypeConfig(customTypeConfig.filter)\n ? customTypeConfig.filter\n : undefined;\n};\n\n/** A field gets an auto filter when its type maps to a filter element, or —\n * for a CUSTOM field — when its type definition declares a filter config. A\n * reference field also needs the source to reach the referenced collection. */\nexport const isFilterableField = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n config?: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): boolean => {\n if (field.type === 'CUSTOM') {\n return !!resolveCustomFilter(field, source);\n }\n if (isReferenceField(field)) {\n return !!ReferenceFilter && !!config?.referenceItems?.(field);\n }\n return isFilterableFieldType(field.type);\n};\n\n/**\n * Registers a filter state per filterable field on the collection query, so the\n * built elements have a filter to read. Idempotent — addFilterIfNeeded skips a\n * field that is already registered.\n */\nexport const registerFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<\n FieldsSource,\n 'filterableFields' | 'fieldTypes' | 'getCellValue'\n >,\n config: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): void => {\n const registerFilter = (field: Field, filter: Filter<any>) => {\n toolbar.collection.registerFilterFieldValueGetter(field.id, (item) =>\n source.getCellValue(item, field),\n );\n toolbar.collection.query.addFilterIfNeeded(field.id as any, filter);\n };\n const factoryByType = filterFactoryByType(config);\n source.filterableFields.forEach((field) => {\n if (field.type === 'CUSTOM') {\n const customFilter = resolveCustomFilter(field, source);\n if (!customFilter) {\n return;\n }\n const filter = customFilter.createFilter(field);\n // The collection registers the filter under the field's id.\n Object.assign(filter, { name: field.id });\n registerFilter(field, filter);\n return;\n }\n if (\n isReferenceField(field) &&\n !(ReferenceFilter && config.referenceItems?.(field))\n ) {\n return;\n }\n const factory = factoryByType[field.type];\n if (!factory) {\n return;\n }\n registerFilter(field, factory({ name: field.id, isCustomField: true }));\n });\n};\n\n/** Builds the toolbar filter element for a field, or null when it has none. */\nconst buildFieldFilterElement = (\n toolbar: ToolbarCollectionState<any, any>,\n field: Field,\n config: FieldFilterConfig,\n source: Pick<FieldsSource, 'fieldTypes'>,\n ReferenceFilter?: ReferenceFilterComponent,\n): FilterElement | null => {\n const filter = toolbar.collection.filters[field.id];\n if (!filter) {\n return null;\n }\n const label = field.displayName || field.id;\n if (field.type === 'CUSTOM') {\n const CustomComponent = resolveCustomFilter(field, source)?.Component;\n if (!CustomComponent) {\n return null;\n }\n return (\n <CustomComponent\n key={field.id}\n filter={filter}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n if (isReferenceField(field)) {\n const fetchItems = config.referenceItems?.(field);\n if (!ReferenceFilter || !fetchItems) {\n return null;\n }\n return (\n <ReferenceFilter\n key={field.id}\n filter={filter}\n fetchItems={fetchItems}\n referencedCollectionId={field.referenceMetadata.referencedCollectionId}\n fieldId={field.id}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n const FilterComponent = FILTER_COMPONENT_BY_TYPE[field.type];\n if (!FilterComponent) {\n return null;\n }\n const decimal =\n field.type === 'NUMBER' ? config.numberIsDecimal?.(field) : false;\n return (\n <FilterComponent\n key={field.id}\n filter={filter}\n fieldType={config.iconType?.(field) ?? toFieldType(field.type)}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n {...(decimal ? { decimal: true } : {})}\n />\n ) as FilterElement;\n};\n\n/** Builds the toolbar filter elements for a source's filterable fields. */\nexport const buildFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<FieldsSource, 'filterableFields' | 'fieldTypes'>,\n config: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): FilterElement[] =>\n source.filterableFields\n .map((field) =>\n buildFieldFilterElement(toolbar, field, config, source, ReferenceFilter),\n )\n .filter((el): el is FilterElement => el !== null);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_fieldTypePrefixIcons","_CheckboxCustomFieldFilter","_DateCustomFieldFilter","_DateTimeCustomFieldFilter","_OperatorFilterCustomFieldFilter","_NumberRangeFilter","_HasValueCustomFieldFilter","_jsxFileName","FILTER_COMPONENT_BY_TYPE","SHORT_TEXT","OperatorFilterCustomFieldFilter","LONG_TEXT","URL","EMAIL","RICH_TEXT","ADDRESS","NUMBER","NumberRangeFilter","BOOLEAN","CheckboxCustomFieldFilter","DATE","DateCustomFieldFilter","DATETIME","DateTimeCustomFieldFilter","TIME","HasValueCustomFieldFilter","IMAGE","MEDIA_IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_CONTENT","OBJECT","COLOR","ARRAY","filterFactoryByType","config","stringFilter","params","stringOperatorFilter","allowedOperators","textOperators","numberRangeFilter","idNameArrayFilter","dateRangeFilter","REFERENCE","MULTI_REFERENCE","isFilterableFieldType","type","exports","resolveCustomFilter","field","source","customTypeConfig","resolveFieldTypeDefinition","isFilterTypeConfig","filter","undefined","isFilterableField","ReferenceFilter","isReferenceField","referenceItems","registerFieldFilters","toolbar","registerFilter","collection","registerFilterFieldValueGetter","id","item","getCellValue","query","addFilterIfNeeded","factoryByType","filterableFields","forEach","customFilter","createFilter","Object","assign","name","factory","isCustomField","buildFieldFilterElement","filters","label","displayName","_resolveCustomFilter","CustomComponent","Component","default","createElement","key","accordionItemProps","toolbarItemProps","toolbarTagProps","__self","__source","fileName","lineNumber","columnNumber","fetchItems","referencedCollectionId","referenceMetadata","fieldId","FilterComponent","decimal","numberIsDecimal","_extends2","fieldType","iconType","toFieldType","buildFieldFilters","map","el"],"sources":["../../../src/state/buildFieldFilters.tsx"],"sourcesContent":["import React, { type ComponentType } from 'react';\nimport {\n dateRangeFilter,\n idNameArrayFilter,\n isReferenceField,\n isFilterTypeConfig,\n numberRangeFilter,\n resolveFieldTypeDefinition,\n stringOperatorFilter,\n} from '@wix/bex-core';\nimport type {\n Field,\n FieldsSource,\n Filter,\n FilterStateBaseParams,\n FilterOperator,\n FilterTypeConfig,\n PatternsFieldType,\n} from '@wix/bex-core';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport type { FilterElement } from '../components/CollectionToolbarFilters';\nimport { toFieldType } from '../utils/fieldTypePrefixIcons';\nimport { CheckboxCustomFieldFilter } from '../components/CustomFieldFilters/CheckboxCustomFieldFilter';\nimport { DateCustomFieldFilter } from '../components/CustomFieldFilters/DateCustomFieldFilter';\nimport { DateTimeCustomFieldFilter } from '../components/CustomFieldFilters/DateTimeCustomFieldFilter';\nimport { OperatorFilterCustomFieldFilter } from '../components/CustomFieldFilters/OperatorFilterCustomFieldFilter';\nimport { NumberRangeFilter } from '../components/NumberRangeFilter';\nimport { HasValueCustomFieldFilter } from '../components/CustomFieldFilters/HasValueCustomFieldFilter';\nimport type {\n FetchReferenceItems,\n ReferenceFieldFilterProps,\n} from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\ntype FilterFactory = (\n params: Partial<FilterStateBaseParams<any>>,\n) => Filter<any>;\n\n/**\n * The reference filter, supplied by the source rather than imported here. It\n * reaches the referenced item's avatar in `@wix/patterns-fields`, which every\n * source would otherwise pay for — including sources with no reference fields.\n */\nexport type ReferenceFilterComponent = ComponentType<ReferenceFieldFilterProps>;\n\nexport type { FilterTypeConfig } from '@wix/bex-core';\n\n/**\n * The filter behavior a source supplies that the shared builder can't derive\n * from the neutral field type. The neutral type collapses distinct source types\n * (e.g. a DataExtension dropdown into SHORT_TEXT), so the source fills the gaps.\n */\nexport interface FieldFilterConfig {\n /** Operators the source's backend can run on text fields. */\n textOperators: FilterOperator[];\n /** Whether a NUMBER field's filter accepts decimals. Default: false. */\n numberIsDecimal?: (field: Field) => boolean;\n /** Filter type icon. Default: derived from the neutral field type. */\n iconType?: (field: Field) => ReturnType<typeof toFieldType>;\n /**\n * Queries a reference field's referenced collection for the options its\n * filter offers. Returning `undefined` for a field — or omitting this —\n * leaves that field without a filter, which is what a source that cannot\n * reach the referenced collection wants.\n */\n referenceItems?: (field: Field) => FetchReferenceItems | undefined;\n}\n\n// Field type → the filter element rendered in the toolbar. Its keys also define\n// which field types get an auto filter (see isFilterableFieldType).\nconst FILTER_COMPONENT_BY_TYPE: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n SHORT_TEXT: OperatorFilterCustomFieldFilter,\n LONG_TEXT: OperatorFilterCustomFieldFilter,\n URL: OperatorFilterCustomFieldFilter,\n EMAIL: OperatorFilterCustomFieldFilter,\n RICH_TEXT: OperatorFilterCustomFieldFilter,\n // The source matches an address against its formatted text.\n ADDRESS: OperatorFilterCustomFieldFilter,\n NUMBER: NumberRangeFilter,\n BOOLEAN: CheckboxCustomFieldFilter,\n DATE: DateCustomFieldFilter,\n DATETIME: DateTimeCustomFieldFilter,\n // Types with no value to match against — filter them on emptiness alone.\n TIME: HasValueCustomFieldFilter,\n IMAGE: HasValueCustomFieldFilter,\n MEDIA_IMAGE: HasValueCustomFieldFilter,\n VIDEO: HasValueCustomFieldFilter,\n AUDIO: HasValueCustomFieldFilter,\n MEDIA_GALLERY: HasValueCustomFieldFilter,\n DOCUMENT: HasValueCustomFieldFilter,\n MULTI_DOCUMENT: HasValueCustomFieldFilter,\n RICH_CONTENT: HasValueCustomFieldFilter,\n OBJECT: HasValueCustomFieldFilter,\n COLOR: HasValueCustomFieldFilter,\n ARRAY: HasValueCustomFieldFilter,\n // REFERENCE / MULTI_REFERENCE are absent on purpose: their filter component\n // is injected by the source (see ReferenceFilterComponent), so this file —\n // which every source's filters go through — never pulls it in.\n};\n\n// Field type → the filter state registered on the collection query. Text fields\n// use the source's allowed operators; the rest are fixed.\nconst filterFactoryByType = (\n config: FieldFilterConfig,\n): Partial<Record<PatternsFieldType, FilterFactory>> => {\n const stringFilter: FilterFactory = (params) =>\n stringOperatorFilter({ ...params, allowedOperators: config.textOperators });\n return {\n SHORT_TEXT: stringFilter,\n LONG_TEXT: stringFilter,\n URL: stringFilter,\n EMAIL: stringFilter,\n RICH_TEXT: stringFilter,\n ADDRESS: stringFilter,\n NUMBER: numberRangeFilter,\n BOOLEAN: idNameArrayFilter,\n DATE: dateRangeFilter,\n DATETIME: dateRangeFilter,\n TIME: idNameArrayFilter,\n IMAGE: idNameArrayFilter,\n MEDIA_IMAGE: idNameArrayFilter,\n VIDEO: idNameArrayFilter,\n AUDIO: idNameArrayFilter,\n MEDIA_GALLERY: idNameArrayFilter,\n DOCUMENT: idNameArrayFilter,\n MULTI_DOCUMENT: idNameArrayFilter,\n RICH_CONTENT: idNameArrayFilter,\n OBJECT: idNameArrayFilter,\n COLOR: idNameArrayFilter,\n ARRAY: idNameArrayFilter,\n REFERENCE: idNameArrayFilter,\n MULTI_REFERENCE: idNameArrayFilter,\n };\n};\n\n/** A field gets an auto filter when its type maps to a filter element. */\nexport const isFilterableFieldType = (type: PatternsFieldType): boolean =>\n type in FILTER_COMPONENT_BY_TYPE;\n\n/** The active filter config of a CUSTOM field's type definition, if any. */\nconst resolveCustomFilter = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n): FilterTypeConfig | undefined => {\n const customTypeConfig = resolveFieldTypeDefinition(source, field);\n return customTypeConfig && isFilterTypeConfig(customTypeConfig.filter)\n ? customTypeConfig.filter\n : undefined;\n};\n\n/** A field gets an auto filter when its type maps to a filter element, or —\n * for a CUSTOM field — when its type definition declares a filter config. A\n * reference field also needs the source to reach the referenced collection. */\nexport const isFilterableField = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n config?: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): boolean => {\n if (field.type === 'CUSTOM') {\n return !!resolveCustomFilter(field, source);\n }\n if (isReferenceField(field)) {\n return !!ReferenceFilter && !!config?.referenceItems?.(field);\n }\n return isFilterableFieldType(field.type);\n};\n\n/**\n * Registers a filter state per filterable field on the collection query, so the\n * built elements have a filter to read. Idempotent — addFilterIfNeeded skips a\n * field that is already registered.\n */\nexport const registerFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<\n FieldsSource,\n 'filterableFields' | 'fieldTypes' | 'getCellValue'\n >,\n config: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): void => {\n const registerFilter = (field: Field, filter: Filter<any>) => {\n toolbar.collection.registerFilterFieldValueGetter(field.id, (item) =>\n source.getCellValue(item, field),\n );\n toolbar.collection.query.addFilterIfNeeded(field.id as any, filter);\n };\n const factoryByType = filterFactoryByType(config);\n source.filterableFields.forEach((field) => {\n if (field.type === 'CUSTOM') {\n const customFilter = resolveCustomFilter(field, source);\n if (!customFilter) {\n return;\n }\n const filter = customFilter.createFilter(field);\n // The collection registers the filter under the field's id.\n Object.assign(filter, { name: field.id });\n registerFilter(field, filter);\n return;\n }\n if (\n isReferenceField(field) &&\n !(ReferenceFilter && config.referenceItems?.(field))\n ) {\n return;\n }\n const factory = factoryByType[field.type];\n if (!factory) {\n return;\n }\n registerFilter(field, factory({ name: field.id, isCustomField: true }));\n });\n};\n\n/** Builds the toolbar filter element for a field, or null when it has none. */\nconst buildFieldFilterElement = (\n toolbar: ToolbarCollectionState<any, any>,\n field: Field,\n config: FieldFilterConfig,\n source: Pick<FieldsSource, 'fieldTypes'>,\n ReferenceFilter?: ReferenceFilterComponent,\n): FilterElement | null => {\n const filter = toolbar.collection.filters[field.id];\n if (!filter) {\n return null;\n }\n const label = field.displayName || field.id;\n if (field.type === 'CUSTOM') {\n const CustomComponent = resolveCustomFilter(field, source)?.Component;\n if (!CustomComponent) {\n return null;\n }\n return (\n <CustomComponent\n key={field.id}\n filter={filter}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n if (isReferenceField(field)) {\n const fetchItems = config.referenceItems?.(field);\n if (!ReferenceFilter || !fetchItems) {\n return null;\n }\n return (\n <ReferenceFilter\n key={field.id}\n filter={filter}\n fetchItems={fetchItems}\n referencedCollectionId={field.referenceMetadata.referencedCollectionId}\n fieldId={field.id}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n const FilterComponent = FILTER_COMPONENT_BY_TYPE[field.type];\n if (!FilterComponent) {\n return null;\n }\n const decimal =\n field.type === 'NUMBER' ? config.numberIsDecimal?.(field) : false;\n return (\n <FilterComponent\n key={field.id}\n filter={filter}\n fieldType={config.iconType?.(field) ?? toFieldType(field.type)}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n {...(decimal ? { decimal: true } : {})}\n />\n ) as FilterElement;\n};\n\n/** Builds the toolbar filter elements for a source's filterable fields. */\nexport const buildFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<FieldsSource, 'filterableFields' | 'fieldTypes'>,\n config: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): FilterElement[] =>\n source.filterableFields\n .map((field) =>\n buildFieldFilterElement(toolbar, field, config, source, ReferenceFilter),\n )\n .filter((el): el is FilterElement => el !== null);\n"],"mappings":"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","ignoreList":[]}