@wix/patterns 1.440.0 → 1.443.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 (538) 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/formFields/CharactersLimitInput.st.css.js +3 -3
  10. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.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/CollectionToolbarFilters/CollectionToolbarFilters.js +18 -10
  26. package/dist/cjs/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  29. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  30. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  31. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +14 -13
  32. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  33. package/dist/cjs/components/CustomFieldFilters/HasValueCustomFieldFilter.js +45 -0
  34. package/dist/cjs/components/CustomFieldFilters/HasValueCustomFieldFilter.js.map +1 -0
  35. package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js +7 -5
  36. package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
  37. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  38. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  42. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  44. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  46. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  50. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  52. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  54. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  56. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  58. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  60. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  62. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  64. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  66. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  68. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  72. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  74. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  80. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  82. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  84. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  86. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  88. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  89. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  90. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  91. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  92. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  93. package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js +61 -0
  94. package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js.map +1 -0
  95. package/dist/cjs/components/EntityPageFields/EntityPageField.js +39 -18
  96. package/dist/cjs/components/EntityPageFields/EntityPageField.js.map +1 -1
  97. package/dist/cjs/components/EntityPageFields/EntityPageFields.js +26 -19
  98. package/dist/cjs/components/EntityPageFields/EntityPageFields.js.map +1 -1
  99. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  100. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  101. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  102. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  103. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  104. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  105. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  106. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  107. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  108. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  109. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  110. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  111. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  112. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  113. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  114. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  115. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  116. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  117. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  118. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  119. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  120. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  121. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  122. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  123. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  124. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  125. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  126. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  127. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  128. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  129. package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js +80 -0
  130. package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -0
  131. package/dist/cjs/components/ReferenceFieldFilter/index.js +10 -0
  132. package/dist/cjs/components/ReferenceFieldFilter/index.js.map +1 -0
  133. package/dist/cjs/components/ReferenceFieldFilter/pr-5715-comments.md +73 -0
  134. package/dist/cjs/components/SchemaSource/SchemaState.js +5 -1
  135. package/dist/cjs/components/SchemaSource/SchemaState.js.map +1 -1
  136. package/dist/cjs/components/SchemaSource/referenceCells.js +38 -2
  137. package/dist/cjs/components/SchemaSource/referenceCells.js.map +1 -1
  138. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +36 -12
  139. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  140. package/dist/cjs/components/SchemaSource/schemaRendering.js +18 -7
  141. package/dist/cjs/components/SchemaSource/schemaRendering.js.map +1 -1
  142. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  143. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  144. package/dist/cjs/components/SetupWidget/SetupStepGroup.js +39 -23
  145. package/dist/cjs/components/SetupWidget/SetupStepGroup.js.map +1 -1
  146. package/dist/cjs/components/SetupWidget/SetupStepRow.js +91 -68
  147. package/dist/cjs/components/SetupWidget/SetupStepRow.js.map +1 -1
  148. package/dist/cjs/components/SetupWidget/SetupStepSecondaryCta.js +69 -0
  149. package/dist/cjs/components/SetupWidget/SetupStepSecondaryCta.js.map +1 -0
  150. package/dist/cjs/components/SetupWidget/SetupWidget.js +16 -13
  151. package/dist/cjs/components/SetupWidget/SetupWidget.js.map +1 -1
  152. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
  153. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  154. package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js +9 -0
  155. package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -1
  156. package/dist/cjs/components/SetupWidget/index.js.map +1 -1
  157. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  158. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  159. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  160. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  161. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
  162. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  163. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  164. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  165. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  166. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  167. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  168. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  169. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  170. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  171. package/dist/cjs/components/common.st.css.js +4 -4
  172. package/dist/cjs/components/common.st.css.js.map +1 -1
  173. package/dist/cjs/hooks/useCreateWSRColumnBase.js +8 -6
  174. package/dist/cjs/hooks/useCreateWSRColumnBase.js.map +1 -1
  175. package/dist/cjs/hooks/useEntityPage.js.map +1 -1
  176. package/dist/cjs/index.js.map +1 -1
  177. package/dist/cjs/model/tableColumn.js.map +1 -1
  178. package/dist/cjs/state/CollectionFieldsSourceState.js +2 -2
  179. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  180. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  181. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  182. package/dist/cjs/state/EntityPage/EntityPageState.js +6 -1
  183. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  184. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  185. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  186. package/dist/cjs/state/TagsCollectionState.js.map +1 -1
  187. package/dist/cjs/state/ToolbarCollectionState.js +9 -2
  188. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  189. package/dist/cjs/state/buildEditableFieldColumns.js +1 -0
  190. package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
  191. package/dist/cjs/state/buildFieldColumns.js +2 -1
  192. package/dist/cjs/state/buildFieldColumns.js.map +1 -1
  193. package/dist/cjs/state/buildFieldFilters.js +92 -9
  194. package/dist/cjs/state/buildFieldFilters.js.map +1 -1
  195. package/dist/cjs/styles.global.css +2 -2
  196. package/dist/cjs/utils/fieldTypePrefixIcons.js +27 -7
  197. package/dist/cjs/utils/fieldTypePrefixIcons.js.map +1 -1
  198. package/dist/cjs/version.js +1 -1
  199. package/dist/cjs/version.js.map +1 -1
  200. package/dist/docs/CustomFieldType.md +407 -0
  201. package/dist/docs/TableColumn.md +1 -0
  202. package/dist/docs/ToolbarFilters.md +0 -9
  203. package/dist/docs/index.json +37 -37
  204. package/dist/docs/useEntityPage.md +1 -0
  205. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  206. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  207. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  208. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  209. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  210. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
  211. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  212. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  213. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  214. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  215. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  216. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  217. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  218. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  219. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  220. package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js +20 -9
  221. package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
  222. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  223. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  224. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  225. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  226. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +4 -1
  227. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  228. package/dist/esm/components/CustomFieldFilters/HasValueCustomFieldFilter.js +30 -0
  229. package/dist/esm/components/CustomFieldFilters/HasValueCustomFieldFilter.js.map +1 -0
  230. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js +2 -0
  231. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
  232. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  233. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  234. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  235. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  236. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  237. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  238. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  239. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  241. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  242. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  243. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  244. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  245. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  246. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  247. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  248. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  249. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  250. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  251. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  252. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  253. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  254. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  255. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  256. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  257. package/dist/esm/components/EditableTable/cellTypes/richContent/index.js +2 -1
  258. package/dist/esm/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
  259. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  260. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  261. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  262. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  263. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  264. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  265. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  266. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  267. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  268. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  269. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  270. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  271. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  272. package/dist/esm/components/EntityPageFields/EntityPageCustomField.js +27 -0
  273. package/dist/esm/components/EntityPageFields/EntityPageCustomField.js.map +1 -0
  274. package/dist/esm/components/EntityPageFields/EntityPageField.js +23 -13
  275. package/dist/esm/components/EntityPageFields/EntityPageField.js.map +1 -1
  276. package/dist/esm/components/EntityPageFields/EntityPageFields.js +2 -1
  277. package/dist/esm/components/EntityPageFields/EntityPageFields.js.map +1 -1
  278. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  279. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  280. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  281. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  282. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  283. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  284. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  285. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  286. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  287. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  288. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  289. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  290. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  291. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  292. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  293. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  294. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  295. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  296. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  297. package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js +45 -0
  298. package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -0
  299. package/dist/esm/components/ReferenceFieldFilter/index.js +2 -0
  300. package/dist/esm/components/ReferenceFieldFilter/index.js.map +1 -0
  301. package/dist/esm/components/ReferenceFieldFilter/pr-5715-comments.md +73 -0
  302. package/dist/esm/components/SchemaSource/SchemaState.js +4 -2
  303. package/dist/esm/components/SchemaSource/SchemaState.js.map +1 -1
  304. package/dist/esm/components/SchemaSource/referenceCells.js +31 -0
  305. package/dist/esm/components/SchemaSource/referenceCells.js.map +1 -1
  306. package/dist/esm/components/SchemaSource/schemaFieldManagement.js +52 -28
  307. package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  308. package/dist/esm/components/SchemaSource/schemaRendering.js +13 -4
  309. package/dist/esm/components/SchemaSource/schemaRendering.js.map +1 -1
  310. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  311. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  312. package/dist/esm/components/SetupWidget/SetupStepGroup.js +6 -1
  313. package/dist/esm/components/SetupWidget/SetupStepGroup.js.map +1 -1
  314. package/dist/esm/components/SetupWidget/SetupStepRow.js +21 -15
  315. package/dist/esm/components/SetupWidget/SetupStepRow.js.map +1 -1
  316. package/dist/esm/components/SetupWidget/SetupStepSecondaryCta.js +20 -0
  317. package/dist/esm/components/SetupWidget/SetupStepSecondaryCta.js.map +1 -0
  318. package/dist/esm/components/SetupWidget/SetupWidget.js +5 -3
  319. package/dist/esm/components/SetupWidget/SetupWidget.js.map +1 -1
  320. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  321. package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js +10 -1
  322. package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -1
  323. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  324. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  325. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  326. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  327. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  328. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  329. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  330. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  331. package/dist/esm/components/common.st.css.js +2 -2
  332. package/dist/esm/hooks/useCreateWSRColumnBase.js +2 -2
  333. package/dist/esm/hooks/useCreateWSRColumnBase.js.map +1 -1
  334. package/dist/esm/hooks/useEntityPage.js.map +1 -1
  335. package/dist/esm/index.js.map +1 -1
  336. package/dist/esm/model/tableColumn.js.map +1 -1
  337. package/dist/esm/state/CollectionFieldsSourceState.js +2 -2
  338. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  339. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  340. package/dist/esm/state/EntityPage/EntityPageState.js +4 -0
  341. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  342. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  343. package/dist/esm/state/TagsCollectionState.js.map +1 -1
  344. package/dist/esm/state/ToolbarCollectionState.js +7 -3
  345. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  346. package/dist/esm/state/buildEditableFieldColumns.js +1 -1
  347. package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
  348. package/dist/esm/state/buildFieldColumns.js +1 -0
  349. package/dist/esm/state/buildFieldColumns.js.map +1 -1
  350. package/dist/esm/state/buildFieldFilters.js +63 -8
  351. package/dist/esm/state/buildFieldFilters.js.map +1 -1
  352. package/dist/esm/styles.global.css +2 -2
  353. package/dist/esm/utils/fieldTypePrefixIcons.js +6 -1
  354. package/dist/esm/utils/fieldTypePrefixIcons.js.map +1 -1
  355. package/dist/esm/version.js +1 -1
  356. package/dist/types/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.d.ts.map +1 -1
  357. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  358. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  359. package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFilters.d.ts +10 -0
  360. package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFilters.d.ts.map +1 -1
  361. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  362. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  363. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
  364. package/dist/types/components/CustomFieldFilters/HasValueCustomFieldFilter.d.ts +24 -0
  365. package/dist/types/components/CustomFieldFilters/HasValueCustomFieldFilter.d.ts.map +1 -0
  366. package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdown.d.ts.map +1 -1
  367. package/dist/types/components/EditableTable/cellTypes/CellViewLayout.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/date/Edit.st.css.d.ts.map +1 -1
  371. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  372. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  373. package/dist/types/components/EditableTable/cellTypes/richContent/index.d.ts.map +1 -1
  374. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  375. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  376. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  377. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  378. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  379. package/dist/types/components/EntityPageFields/EntityPageCustomField.d.ts +14 -0
  380. package/dist/types/components/EntityPageFields/EntityPageCustomField.d.ts.map +1 -0
  381. package/dist/types/components/EntityPageFields/EntityPageField.d.ts +4 -2
  382. package/dist/types/components/EntityPageFields/EntityPageField.d.ts.map +1 -1
  383. package/dist/types/components/EntityPageFields/EntityPageFields.d.ts.map +1 -1
  384. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  385. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  386. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  387. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  388. package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts +48 -0
  389. package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts.map +1 -0
  390. package/dist/types/components/ReferenceFieldFilter/index.d.ts +2 -0
  391. package/dist/types/components/ReferenceFieldFilter/index.d.ts.map +1 -0
  392. package/dist/types/components/SchemaSource/SchemaState.d.ts +3 -0
  393. package/dist/types/components/SchemaSource/SchemaState.d.ts.map +1 -1
  394. package/dist/types/components/SchemaSource/referenceCells.d.ts +18 -2
  395. package/dist/types/components/SchemaSource/referenceCells.d.ts.map +1 -1
  396. package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
  397. package/dist/types/components/SchemaSource/schemaRendering.d.ts +7 -0
  398. package/dist/types/components/SchemaSource/schemaRendering.d.ts.map +1 -1
  399. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  400. package/dist/types/components/SetupWidget/SetupStepGroup.d.ts +3 -1
  401. package/dist/types/components/SetupWidget/SetupStepGroup.d.ts.map +1 -1
  402. package/dist/types/components/SetupWidget/SetupStepRow.d.ts +3 -1
  403. package/dist/types/components/SetupWidget/SetupStepRow.d.ts.map +1 -1
  404. package/dist/types/components/SetupWidget/SetupStepSecondaryCta.d.ts +14 -0
  405. package/dist/types/components/SetupWidget/SetupStepSecondaryCta.d.ts.map +1 -0
  406. package/dist/types/components/SetupWidget/SetupWidget.d.ts +7 -1
  407. package/dist/types/components/SetupWidget/SetupWidget.d.ts.map +1 -1
  408. package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts +8 -0
  409. package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts.map +1 -1
  410. package/dist/types/components/SetupWidget/index.d.ts +1 -1
  411. package/dist/types/components/SetupWidget/index.d.ts.map +1 -1
  412. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  413. package/dist/types/hooks/useCreateWSRColumnBase.d.ts.map +1 -1
  414. package/dist/types/hooks/useEntityPage.d.ts +1 -1
  415. package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
  416. package/dist/types/index.d.ts +1 -1
  417. package/dist/types/index.d.ts.map +1 -1
  418. package/dist/types/model/tableColumn.d.ts +19 -1
  419. package/dist/types/model/tableColumn.d.ts.map +1 -1
  420. package/dist/types/state/CollectionFieldsSourceState.d.ts +5 -0
  421. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  422. package/dist/types/state/EntityPage/EntityPageState.d.ts +12 -0
  423. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  424. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  425. package/dist/types/state/buildEditableFieldColumns.d.ts +2 -1
  426. package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
  427. package/dist/types/state/buildFieldColumns.d.ts.map +1 -1
  428. package/dist/types/state/buildFieldFilters.d.ts +20 -4
  429. package/dist/types/state/buildFieldFilters.d.ts.map +1 -1
  430. package/dist/types/testkit/jsdom.d.ts +4 -0
  431. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  432. package/dist/types/utils/fieldTypePrefixIcons.d.ts +8 -2
  433. package/dist/types/utils/fieldTypePrefixIcons.d.ts.map +1 -1
  434. package/dist/types/version.d.ts +1 -1
  435. package/package.json +7 -7
  436. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  437. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  438. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  439. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  440. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  441. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  442. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  443. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  444. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  445. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  446. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  447. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  448. package/src/components/CollectionToolbarFilters/CollectionToolbarFilters.tsx +24 -11
  449. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  450. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  451. package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +4 -1
  452. package/src/components/CustomFieldFilters/HasValueCustomFieldFilter.tsx +48 -0
  453. package/src/components/CustomFieldModal/CustomFieldTypeDropdown.tsx +2 -0
  454. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  455. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  456. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  457. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  458. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  459. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  460. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  461. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  462. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  463. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  464. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  465. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  466. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  467. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  468. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  469. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  470. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  471. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  472. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  473. package/src/components/EditableTable/cellTypes/richContent/index.tsx +4 -1
  474. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  475. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  476. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  477. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  478. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  479. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  480. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  481. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  482. package/src/components/EntityPageFields/EntityPageCustomField.tsx +61 -0
  483. package/src/components/EntityPageFields/EntityPageField.tsx +45 -17
  484. package/src/components/EntityPageFields/EntityPageFields.tsx +5 -0
  485. package/src/components/Fade/Fade.st.css.ts +2 -2
  486. package/src/components/Heading/Heading.st.css.ts +2 -2
  487. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  488. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  489. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  490. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  491. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  492. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  493. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  494. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  495. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  496. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  497. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  498. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  499. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  500. package/src/components/ReferenceFieldFilter/ReferenceFieldFilter.tsx +77 -0
  501. package/src/components/ReferenceFieldFilter/index.ts +1 -0
  502. package/src/components/ReferenceFieldFilter/pr-5715-comments.md +73 -0
  503. package/src/components/SchemaSource/SchemaState.ts +12 -2
  504. package/src/components/SchemaSource/referenceCells.ts +42 -0
  505. package/src/components/SchemaSource/schemaFieldManagement.ts +59 -31
  506. package/src/components/SchemaSource/schemaRendering.tsx +15 -4
  507. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  508. package/src/components/SetupWidget/SetupStepGroup.tsx +16 -0
  509. package/src/components/SetupWidget/SetupStepRow.tsx +49 -30
  510. package/src/components/SetupWidget/SetupStepSecondaryCta.tsx +58 -0
  511. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  512. package/src/components/SetupWidget/SetupWidget.tsx +15 -0
  513. package/src/components/SetupWidget/SetupWidget.uni.driver.ts +18 -0
  514. package/src/components/SetupWidget/index.ts +1 -0
  515. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  516. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  517. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  518. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  519. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  520. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  521. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  522. package/src/components/common.st.css.ts +2 -2
  523. package/src/hooks/useCreateWSRColumnBase.tsx +12 -3
  524. package/src/hooks/useEntityPage.ts +1 -0
  525. package/src/index.ts +3 -0
  526. package/src/model/tableColumn.ts +13 -1
  527. package/src/state/CollectionFieldsSourceState.ts +12 -1
  528. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  529. package/src/state/EntityPage/EntityPageState.ts +17 -0
  530. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  531. package/src/state/TagsCollectionState.ts +3 -3
  532. package/src/state/ToolbarCollectionState.ts +13 -5
  533. package/src/state/buildEditableFieldColumns.ts +1 -1
  534. package/src/state/buildFieldColumns.tsx +1 -0
  535. package/src/state/buildFieldFilters.tsx +105 -7
  536. package/src/styles.global.css +2 -2
  537. package/src/utils/fieldTypePrefixIcons.tsx +13 -0
  538. package/src/version.ts +1 -1
@@ -0,0 +1,73 @@
1
+ # PR #5715 review comments
2
+
3
+ [feat(FieldFilters): filter reference fields by the referenced items #CAIRO-4443](https://github.com/wix-private/cairo/pull/5715)
4
+
5
+ Reviewers tracked: **github-actions[bot]** (Codex, gpt-5.6-luna) and **kobiburnley**.
6
+
7
+ ## Review summaries
8
+
9
+ > **[Codex Code Review](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4961993440)** — github-actions[bot], on `060fc6e8`
10
+ > Found 4 issues.
11
+
12
+ > **[Re-review — 4f86803](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4970108817)** — kobiburnley
13
+ > **Verdict: Approve** — no blockers. Both blockers from the previous round are resolved, and the bundle one is resolved better than what I suggested […] CI agrees with the commit message's measurement (`DataExtension.umd.min.js`: 502,008 on master → 614,271 before → 502,429 after) […] Falcon was still running when I posted this.
14
+
15
+ (An earlier kobiburnley review body was just `ignore` — [link](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4969822009).)
16
+
17
+ **Do not collapse the two `displayName` points.** The re-review retires an earlier
18
+ note about a missing `displayName` on the grounds that it "doesn't matter for an
19
+ internal component" — that one is about the component's public identity, and it
20
+ is indeed moot. Inline comment #2 is a different, functional problem: the toolbar
21
+ reads `filter.type.displayName` to decide whether to force the side panel, so the
22
+ missing name changes layout whether or not the component is public. #2 stays open.
23
+
24
+ ## Inline comments
25
+
26
+ | # | Comment link | Description | Severity | Status | Resolution recommendation |
27
+ |---|---|---|---|---|---|
28
+ | 1 | [discussion_r3804846800](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846800) — `ReferenceFieldFilter.tsx:45` | `queryName: reference-filter-${fieldId}` carries no collection identity. Two fields with the same id pointing at different collections share a React Query entry; with `refetchOnMount: false` the second shows the first's options. | Major | done | Fixed in `375939be2`. The referenced collection is already on the field, so `buildFieldFilters` passes `field.referenceMetadata.referencedCollectionId` — no resolver change. Name is now `reference-filter-<collectionId>-<fieldId>`; the field id stays so two fields on one collection keep fetching independently as today. Pinned by `referenceFilterQueryName` unit tests + an element-props test in `EditableTable.referenceFieldFilters.spec.tsx`. |
29
+ | 2 | [discussion_r3804846803](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846803) — `ReferenceFieldFilter.tsx:41` | `CollectionToolbarFilters.forceShowSidePanel` matches on `filter.type.displayName` against a fixed list including `MultiSelectCollectionFilter`. The wrapper has no `displayName`, so a reference filter among the first `inline` filters renders inline instead of forcing the side panel. | Major | done | Fixed in `2ff75d038`. The component declares `displayName = 'ReferenceFieldFilter'` and the detection array becomes a named export, `SIDE_PANEL_FILTER_DISPLAY_NAMES`, carrying it. Did **not** set the name to `'MultiSelectCollectionFilter'` as suggested — the component would then misreport itself in devtools and error traces to satisfy a string match. Pinned from both sides in `EditableTable.referenceFieldFilters.spec.tsx` ("toolbar placement"). See F1 below for the wider gap this uncovered. |
30
+ | 3 | [discussion_r3804846812](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846812) — `buildFieldFilters.tsx` | The reference branch omits `fieldType`, which every other generated field filter passes. Source-driven tables enable field-type icons, so the reference filter shows the generic fallback icon. | Minor | open | **Verified real** — the generic branch passes `fieldType={config.iconType?.(field) ?? toFieldType(field.type)}`; the reference branch passes none. Pass the same expression in the reference branch. |
31
+ | 4 | [discussion_r3804846821](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846821) — `ReferenceFieldFilter.tsx:45` | Same cache-key collision as #1, with the added tenant/context angle: a shared cache could surface another collection's ids. | Major | done (collision) / open (tenant) | Collision fixed with #1 in `375939be2`. **The "clear or isolate the cache when that context changes" half is not addressed**: the cache lives in the container's QueryClient, so a tenant switch that replaces the container is already isolated — a deployment that keeps one container across tenants would need a broader fix than this component. |
32
+ | 5 | [discussion_r3811150592](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150592) — `ReferenceFieldFilter.tsx:3` | Blocker: the static `ReferenceAvatar` import from `@wix/patterns-fields` put that package in every Table/Grid's eager graph (~110kb), which is what `FieldCell.tsx`'s `lazyCell` exists to prevent. Bundle checks failing. | Blocker | done | Fixed in `4f86803c3` by injecting the component through `FieldsSourceComponents` instead of lazy-loading — the source supplies it, DataExtension supplies nothing. Measured `DataExtension.umd.min.js` 614,271 → 502,429 (master 502,008). All three bundle checks green; reviewer confirmed. |
33
+ | 6 | [discussion_r3811150602](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150602) — `buildFieldFilters.tsx` | Blocker: same root cause from the builder side. Plus: Falcon reported `3 failed (1 new)` vs #5714's clean run — confirm the new failure isn't the map change flipping an expectation. | Blocker | done (bundle) / **open (Falcon)** | Bundle half fixed by `4f86803c3` — `buildFieldFilters` now holds a type-only import. **The Falcon failure is not yet confirmed either way**; reviewer's own guess is the perfer bundle check counted as a test, but that is unverified. Check the latest Falcon run on `4f86803c3`. |
34
+
35
+ ## Non-blocking notes from the re-review summary
36
+
37
+ Not inline comments — no `comment_id`, so these are answered with a general PR comment.
38
+
39
+ | # | Description | Severity | Status | Resolution recommendation |
40
+ |---|---|---|---|---|
41
+ | N1 | The **schema** path now eagerly pulls the `@wix/patterns-fields` root barrel via `ReferenceAvatar` → `ReferenceFieldFilter` → `SchemaState`/`schemaRendering`. `ReferenceFieldCell.tsx`, twelve lines away, lazy-loads the same barrel with `lazyView` for exactly this reason. No bundle fixture covers the schema entry, so CI cannot see it. | Major (untested by CI) | open | The ~110kb moved rather than disappeared — it now lands on schema-source consumers. Copy `lazyView` into `ReferenceFieldFilter` (~3 lines). **Highest-value item here.** |
42
+ | N2 | The injected component is threaded as a 4th positional arg through four functions where it only acts as a truthiness flag, and is redundant with `config.referenceItems` (every source has both or neither). | Minor | open | Move the component onto `FieldFilterConfig` next to `referenceItems`: one parameter list, one source of truth. |
43
+ | N3 | `SchemaState.filterableFields` hardcodes the imported `ReferenceFieldFilter` while `buildFilters`/`registerFilters` read `components.ReferenceFieldFilter`. | Minor | open | Collapses into N2 — with the component on `FieldFilterConfig` there is only one place to read it. |
44
+ | N4 | Opening the Filters panel fires one referenced-collection query per reference field (`useCollectionFilterInitialFetchTiming` fetches on mount). | Minor | open | Pass `initialFetchTiming: 'focus'` to `MultiSelectCollectionFilter` to defer to first interaction. |
45
+ | N5 | `queryName` unique per field but not per collection. | Major | done | Closed by `375939be2` with #1/#4. |
46
+ | N6 | `_schemaOf` and `_request` both call `refSource.loadSchema()`; free while every `references` entry comes from `defineSchemaSource`, a double load for a hand-rolled `SchemaSource`. | Nit | open | Either route `_request` through `_schemaOf`, or document the memoization assumption at `itemsFetcherFor`. |
47
+ | N7 | `simplify` keeps only `{id, name}`, so a URL-restored filter shows options without images until the collection loads. | Nit | open | Cosmetic; likely dismiss. |
48
+
49
+ ## Follow-ups found while resolving
50
+
51
+ | # | Description | Severity | Status |
52
+ |---|---|---|---|
53
+ | F1 | **`forceShowSidePanel` has never fired for any field filter.** It matches on `displayName`, and four of the five wrappers in `CustomFieldFilters/` declare none: `CheckboxCustomFieldFilter` (wraps `RadioGroupFilter`), `DateCustomFieldFilter` and `DateTimeCustomFieldFilter` (wrap `DateRangeFilter`), `HasValueCustomFieldFilter` (wraps `MultiInlineCheckboxFilter`). Only `OperatorFilterCustomFieldFilter` names itself, and its wrapped filter is correctly absent from the list. So DATE, DATETIME and BOOLEAN field filters have always rendered inline, and #5714 extended that to the 11 has-value types. | Major, pre-existing | open — **deliberately out of scope here** |
54
+
55
+ Fixing F1 is one line per wrapper, but it changes toolbar layout for existing
56
+ DATE / BOOLEAN / has-value filters — a visible behaviour change unrelated to
57
+ this PR, worth its own change and a look from someone who owns the layout. The
58
+ doc comment on `SIDE_PANEL_FILTER_DISPLAY_NAMES` names the trap so the next
59
+ wrapper author sees it.
60
+
61
+ ## Suggested order
62
+
63
+ 1. ~~**#1/#4/N5** — cache-key collision~~ — done, `375939be2`.
64
+ 1. ~~**#2** — side-panel layout~~ — done, `2ff75d038`.
65
+ 2. **N1** — the bundle cost that moved to the schema entry and that CI cannot
66
+ catch. Parked mid-change: the work is saved as a patch at
67
+ `scratchpad/N1-lazy-avatar.patch` (extracts `lazyView` from
68
+ `ReferenceFieldCell` into a shared `lazyPatternsFields` helper and uses it
69
+ for `ReferenceAvatar`). Apply with `git apply` to resume.
70
+ 3. **#3** — field-type icon.
71
+ 4. **N2/N3** — parameter-threading cleanup.
72
+ 5. **#6 Falcon** — confirm the failing test.
73
+ 6. **N4**, then **N6/N7**. **F1** separately.
@@ -7,6 +7,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
7
7
  var _mobx = require("mobx");
8
8
  var _CollectionFieldsSourceState = require("../../state/CollectionFieldsSourceState");
9
9
  var _buildFieldFilters = require("../../state/buildFieldFilters");
10
+ var _ReferenceFieldFilter = require("../ReferenceFieldFilter");
10
11
  var _schemaFieldsSource = require("./schemaFieldsSource");
11
12
  var _schemaRendering = require("./schemaRendering");
12
13
  var _referenceCells = require("./referenceCells");
@@ -26,10 +27,13 @@ class SchemaState {
26
27
  (0, _defineProperty2.default)(this, "fieldsSource", void 0);
27
28
  /** Supplies the reference cells their referenced-collection config. */
28
29
  (0, _defineProperty2.default)(this, "referenceCells", void 0);
30
+ /** This source's filter behavior, read both here and by the spine. */
31
+ (0, _defineProperty2.default)(this, "filterConfig", void 0);
29
32
  (0, _defineProperty2.default)(this, "toolbar", undefined);
30
33
  this.sourceState = params.sourceState;
31
34
  this.fieldsSource = (0, _schemaFieldsSource.schemaFieldsSource)(this);
32
35
  this.referenceCells = new _referenceCells.ReferenceCellsState(this.sourceState);
36
+ this.filterConfig = (0, _schemaRendering.schemaFilterConfig)(this);
33
37
  (0, _mobx.makeObservable)(this, {
34
38
  filterableFields: _mobx.computed
35
39
  });
@@ -37,7 +41,7 @@ class SchemaState {
37
41
 
38
42
  /** Fields whose type maps to an auto filter in the toolbar. */
39
43
  get filterableFields() {
40
- return this.sourceState.fields.filter(f => (0, _buildFieldFilters.isFilterableField)(f, this.fieldsSource));
44
+ return this.sourceState.fields.filter(f => (0, _buildFieldFilters.isFilterableField)(f, this.fieldsSource, this.filterConfig, _ReferenceFieldFilter.ReferenceFieldFilter));
41
45
  }
42
46
 
43
47
  /** Attaches this source to a table's toolbar via the shared wrapper. */
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_CollectionFieldsSourceState","_buildFieldFilters","_schemaFieldsSource","_schemaRendering","_referenceCells","SchemaState","constructor","params","_defineProperty2","default","undefined","sourceState","fieldsSource","schemaFieldsSource","referenceCells","ReferenceCellsState","makeObservable","filterableFields","computed","fields","filter","f","isFilterableField","setOnTable","toolbar","CollectionFieldsSourceState","schemaRendering","exports"],"sources":["../../../../src/components/SchemaSource/SchemaState.ts"],"sourcesContent":["import { computed, makeObservable } from 'mobx';\nimport { Field, FieldsSource, SourceState } from '@wix/bex-core';\nimport type { ToolbarCollectionState } from '../../state';\nimport { CollectionFieldsSourceState } from '../../state/CollectionFieldsSourceState';\nimport { isFilterableField } from '../../state/buildFieldFilters';\nimport { schemaFieldsSource } from './schemaFieldsSource';\nimport { schemaRendering } from './schemaRendering';\nimport { ReferenceCellsState } from './referenceCells';\n\nexport interface SchemaStateParams<T> {\n sourceState: SourceState<T>;\n}\n\n/**\n * The collection-page side of a source: turns the loaded schema into a\n * source-neutral FieldsSource for the table, owns the field-management object\n * and the add/edit field modal, and builds the table columns from the fields.\n * The page-neutral holding (load, fields, field mutations) lives in the\n * composed core `SourceState`.\n */\nexport class SchemaState<T = Record<string, unknown>> {\n readonly sourceState: SourceState<T>;\n /** The read contract the collection spine consumes — a plain adapter whose\n * getters read through to `sourceState`, so MobX tracks through it. Built\n * once: the spine keeps this exact instance. */\n readonly fieldsSource: FieldsSource;\n /** Supplies the reference cells their referenced-collection config. */\n readonly referenceCells: ReferenceCellsState<T>;\n\n toolbar?: ToolbarCollectionState<any, any> = undefined;\n\n constructor(params: SchemaStateParams<T>) {\n this.sourceState = params.sourceState;\n this.fieldsSource = schemaFieldsSource(this);\n this.referenceCells = new ReferenceCellsState<T>(this.sourceState);\n\n makeObservable(this, {\n filterableFields: computed,\n });\n }\n\n /** Fields whose type maps to an auto filter in the toolbar. */\n get filterableFields(): Field[] {\n return this.sourceState.fields.filter((f) =>\n isFilterableField(f, this.fieldsSource),\n );\n }\n\n /** Attaches this source to a table's toolbar via the shared wrapper. */\n setOnTable(toolbar: ToolbarCollectionState<any, any>) {\n this.toolbar = toolbar;\n CollectionFieldsSourceState.setOnTable(toolbar, {\n fieldsSource: this.fieldsSource,\n ...schemaRendering(this),\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,4BAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMM,WAAW,CAA8B;EAWpDC,WAAWA,CAACC,MAA4B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAT1C;AACF;AACA;IAFE,IAAAD,gBAAA,CAAAC,OAAA;IAIA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mBAG6CC,SAAS;IAGpD,IAAI,CAACC,WAAW,GAAGJ,MAAM,CAACI,WAAW;IACrC,IAAI,CAACC,YAAY,GAAG,IAAAC,sCAAkB,EAAC,IAAI,CAAC;IAC5C,IAAI,CAACC,cAAc,GAAG,IAAIC,mCAAmB,CAAI,IAAI,CAACJ,WAAW,CAAC;IAElE,IAAAK,oBAAc,EAAC,IAAI,EAAE;MACnBC,gBAAgB,EAAEC;IACpB,CAAC,CAAC;EACJ;;EAEA;EACA,IAAID,gBAAgBA,CAAA,EAAY;IAC9B,OAAO,IAAI,CAACN,WAAW,CAACQ,MAAM,CAACC,MAAM,CAAEC,CAAC,IACtC,IAAAC,oCAAiB,EAACD,CAAC,EAAE,IAAI,CAACT,YAAY,CACxC,CAAC;EACH;;EAEA;EACAW,UAAUA,CAACC,OAAyC,EAAE;IACpD,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtBC,wDAA2B,CAACF,UAAU,CAACC,OAAO,EAAE;MAC9CZ,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/B,GAAG,IAAAc,gCAAe,EAAC,IAAI;IACzB,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAAtB,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_CollectionFieldsSourceState","_buildFieldFilters","_ReferenceFieldFilter","_schemaFieldsSource","_schemaRendering","_referenceCells","SchemaState","constructor","params","_defineProperty2","default","undefined","sourceState","fieldsSource","schemaFieldsSource","referenceCells","ReferenceCellsState","filterConfig","schemaFilterConfig","makeObservable","filterableFields","computed","fields","filter","f","isFilterableField","ReferenceFieldFilter","setOnTable","toolbar","CollectionFieldsSourceState","schemaRendering","exports"],"sources":["../../../../src/components/SchemaSource/SchemaState.ts"],"sourcesContent":["import { computed, makeObservable } from 'mobx';\nimport { Field, FieldsSource, SourceState } from '@wix/bex-core';\nimport type { ToolbarCollectionState } from '../../state';\nimport { CollectionFieldsSourceState } from '../../state/CollectionFieldsSourceState';\nimport { isFilterableField } from '../../state/buildFieldFilters';\nimport { ReferenceFieldFilter } from '../ReferenceFieldFilter';\nimport { schemaFieldsSource } from './schemaFieldsSource';\nimport { schemaFilterConfig, schemaRendering } from './schemaRendering';\nimport type { FieldFilterConfig } from '../../state/buildFieldFilters';\nimport { ReferenceCellsState } from './referenceCells';\n\nexport interface SchemaStateParams<T> {\n sourceState: SourceState<T>;\n}\n\n/**\n * The collection-page side of a source: turns the loaded schema into a\n * source-neutral FieldsSource for the table, owns the field-management object\n * and the add/edit field modal, and builds the table columns from the fields.\n * The page-neutral holding (load, fields, field mutations) lives in the\n * composed core `SourceState`.\n */\nexport class SchemaState<T = Record<string, unknown>> {\n readonly sourceState: SourceState<T>;\n /** The read contract the collection spine consumes — a plain adapter whose\n * getters read through to `sourceState`, so MobX tracks through it. Built\n * once: the spine keeps this exact instance. */\n readonly fieldsSource: FieldsSource;\n /** Supplies the reference cells their referenced-collection config. */\n readonly referenceCells: ReferenceCellsState<T>;\n /** This source's filter behavior, read both here and by the spine. */\n readonly filterConfig: FieldFilterConfig;\n\n toolbar?: ToolbarCollectionState<any, any> = undefined;\n\n constructor(params: SchemaStateParams<T>) {\n this.sourceState = params.sourceState;\n this.fieldsSource = schemaFieldsSource(this);\n this.referenceCells = new ReferenceCellsState<T>(this.sourceState);\n this.filterConfig = schemaFilterConfig(this);\n\n makeObservable(this, {\n filterableFields: computed,\n });\n }\n\n /** Fields whose type maps to an auto filter in the toolbar. */\n get filterableFields(): Field[] {\n return this.sourceState.fields.filter((f) =>\n isFilterableField(\n f,\n this.fieldsSource,\n this.filterConfig,\n ReferenceFieldFilter,\n ),\n );\n }\n\n /** Attaches this source to a table's toolbar via the shared wrapper. */\n setOnTable(toolbar: ToolbarCollectionState<any, any>) {\n this.toolbar = toolbar;\n CollectionFieldsSourceState.setOnTable(toolbar, {\n fieldsSource: this.fieldsSource,\n ...schemaRendering(this),\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,4BAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAEA,IAAAM,eAAA,GAAAN,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,WAAW,CAA8B;EAapDC,WAAWA,CAACC,MAA4B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAX1C;AACF;AACA;IAFE,IAAAD,gBAAA,CAAAC,OAAA;IAIA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mBAG6CC,SAAS;IAGpD,IAAI,CAACC,WAAW,GAAGJ,MAAM,CAACI,WAAW;IACrC,IAAI,CAACC,YAAY,GAAG,IAAAC,sCAAkB,EAAC,IAAI,CAAC;IAC5C,IAAI,CAACC,cAAc,GAAG,IAAIC,mCAAmB,CAAI,IAAI,CAACJ,WAAW,CAAC;IAClE,IAAI,CAACK,YAAY,GAAG,IAAAC,mCAAkB,EAAC,IAAI,CAAC;IAE5C,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,gBAAgB,EAAEC;IACpB,CAAC,CAAC;EACJ;;EAEA;EACA,IAAID,gBAAgBA,CAAA,EAAY;IAC9B,OAAO,IAAI,CAACR,WAAW,CAACU,MAAM,CAACC,MAAM,CAAEC,CAAC,IACtC,IAAAC,oCAAiB,EACfD,CAAC,EACD,IAAI,CAACX,YAAY,EACjB,IAAI,CAACI,YAAY,EACjBS,0CACF,CACF,CAAC;EACH;;EAEA;EACAC,UAAUA,CAACC,OAAyC,EAAE;IACpD,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtBC,wDAA2B,CAACF,UAAU,CAACC,OAAO,EAAE;MAC9Cf,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/B,GAAG,IAAAiB,gCAAe,EAAC,IAAI;IACzB,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAAzB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -65,6 +65,28 @@ class ReferenceCellsState {
65
65
  };
66
66
  }
67
67
 
68
+ /**
69
+ * Queries the referenced collection's items, for a reference field's filter.
70
+ * `undefined` when the source declares no reference for this field — that is
71
+ * what decides whether the field gets a filter at all.
72
+ *
73
+ * The returned function resolves the referenced schema on call rather than
74
+ * up front, so a caller that captures it once (the filter collection does)
75
+ * still queries correctly once the schema lands.
76
+ */
77
+ itemsFetcherFor(field) {
78
+ var _this$_sourceState$so;
79
+ const collectionId = referencedCollectionIdOf(field);
80
+ const refSource = collectionId && ((_this$_sourceState$so = this._sourceState.source.references) == null ? void 0 : _this$_sourceState$so[collectionId]);
81
+ if (!collectionId || !refSource) {
82
+ return undefined;
83
+ }
84
+ return async query => {
85
+ const schema = await this._schemaOf(collectionId, refSource);
86
+ return fetchReferenceItems(refSource, schema, query);
87
+ };
88
+ }
89
+
68
90
  /** The referenced collection's id / display / image fields, for rendering a
69
91
  * reference value. `undefined` until the referenced schema resolves. */
70
92
  refSchemaFor(field) {
@@ -75,12 +97,12 @@ class ReferenceCellsState {
75
97
  /** The referenced source and its loaded schema, requesting the load on first
76
98
  * ask. Returns `undefined` until it lands, or if the source has no entry. */
77
99
  _resolve(field) {
78
- var _this$_sourceState$so;
100
+ var _this$_sourceState$so2;
79
101
  const collectionId = referencedCollectionIdOf(field);
80
102
  if (!collectionId) {
81
103
  return undefined;
82
104
  }
83
- const refSource = (_this$_sourceState$so = this._sourceState.source.references) == null ? void 0 : _this$_sourceState$so[collectionId];
105
+ const refSource = (_this$_sourceState$so2 = this._sourceState.source.references) == null ? void 0 : _this$_sourceState$so2[collectionId];
84
106
  if (!refSource) {
85
107
  return undefined;
86
108
  }
@@ -95,6 +117,20 @@ class ReferenceCellsState {
95
117
  schema
96
118
  };
97
119
  }
120
+
121
+ /** The referenced schema, loading it if this is the first ask. Unlike
122
+ * `_request` this hands back the load, for callers that must wait. */
123
+ async _schemaOf(collectionId, refSource) {
124
+ const loaded = this._schemas.get(collectionId);
125
+ if (loaded) {
126
+ return loaded;
127
+ }
128
+ const {
129
+ schema
130
+ } = await refSource.loadSchema();
131
+ (0, _mobx.runInAction)(() => this._schemas.set(collectionId, schema));
132
+ return schema;
133
+ }
98
134
  _request(collectionId, refSource) {
99
135
  if (this._requested.has(collectionId)) {
100
136
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","referencedCollectionIdOf","field","_field$referenceMetad","type","referenceMetadata","referencedCollectionId","undefined","imageFieldOf","fields","_Object$entries$find","Object","entries","find","f","toRefSchema","schema","collectionId","id","displayField","idField","fromEntries","filter","map","ReferenceCellsState","constructor","sourceState","_defineProperty2","default","observable","Set","_sourceState","cellFor","resolved","_resolve","refSource","cellType","typeConfig","refSchema","fetchReferenceItems","query","refSchemaFor","_this$_sourceState$so","source","references","_schemas","get","_request","_requested","has","add","loadSchema","then","runInAction","set","catch","delete","exports","imageField","items","total","sourceFetchData","item","String","name","image","length"],"sources":["../../../../src/components/SchemaSource/referenceCells.ts"],"sourcesContent":["import { observable, runInAction } from 'mobx';\nimport { sourceFetchData } from '@wix/bex-core';\nimport type {\n Field,\n OffsetQuery,\n Schema,\n SchemaSource,\n SourceState,\n} from '@wix/bex-core';\nimport type { EditableCellUpgrade } from '../../state/CollectionFieldsSourceState';\nimport type {\n ReferenceItem,\n ReferenceTypeConfig,\n RefSchema,\n} from '../EditableTable/cellTypes/reference/types';\n\ntype RefRow = Record<string, unknown>;\n\nconst referencedCollectionIdOf = (field: Field): string | undefined =>\n field.type === 'REFERENCE' || field.type === 'MULTI_REFERENCE'\n ? field.referenceMetadata?.referencedCollectionId\n : undefined;\n\nconst imageFieldOf = (fields: Schema['fields']): string | undefined =>\n Object.entries(fields ?? {}).find(([, f]) => f?.type === 'IMAGE')?.[0];\n\nconst toRefSchema = (schema: Schema, collectionId: string): RefSchema => ({\n id: schema.id ?? collectionId,\n collectionId,\n displayField: schema.displayField,\n idField: schema.idField,\n fields: Object.fromEntries(\n Object.entries(schema.fields ?? {})\n .filter(([, f]) => f?.type === 'IMAGE')\n .map(([id]) => [id, { type: 'IMAGE' as const }]),\n ),\n});\n\n/**\n * Supplies the reference / multi-reference cells the `typeConfig` they need:\n * the referenced collection's schema (for the id / display / image fields) and\n * a query for its items.\n *\n * The referenced schema loads asynchronously, so `cellFor` answers `undefined`\n * until it lands and the column stays a read-only display; once loaded, the\n * column builder's computed re-runs and the cell upgrades to the real editor.\n */\nexport class ReferenceCellsState<T = Record<string, unknown>> {\n private readonly _sourceState: SourceState<T>;\n /** Referenced schema per referenced collection id, once loaded. */\n private readonly _schemas = observable.map<string, Schema>();\n /** Ids already requested. A plain Set, so reading `cellFor` from a computed\n * mutates no observable — only the async result does, in an action. */\n private readonly _requested = new Set<string>();\n\n constructor(sourceState: SourceState<T>) {\n this._sourceState = sourceState;\n }\n\n /** The cell type and config for a reference field, or `undefined` while the\n * referenced schema is still loading (or the source has no entry for it). */\n cellFor(field: Field): EditableCellUpgrade | undefined {\n const resolved = this._resolve(field);\n if (!resolved) {\n return undefined;\n }\n const { collectionId, refSource, schema } = resolved;\n\n return {\n cellType:\n field.type === 'MULTI_REFERENCE' ? 'multiReference' : 'reference',\n typeConfig: {\n refSchema: toRefSchema(schema, collectionId),\n fetchReferenceItems: (query) =>\n fetchReferenceItems(refSource, schema, query),\n } satisfies ReferenceTypeConfig,\n };\n }\n\n /** The referenced collection's id / display / image fields, for rendering a\n * reference value. `undefined` until the referenced schema resolves. */\n refSchemaFor(field: Field): RefSchema | undefined {\n const resolved = this._resolve(field);\n return resolved && toRefSchema(resolved.schema, resolved.collectionId);\n }\n\n /** The referenced source and its loaded schema, requesting the load on first\n * ask. Returns `undefined` until it lands, or if the source has no entry. */\n private _resolve(field: Field) {\n const collectionId = referencedCollectionIdOf(field);\n if (!collectionId) {\n return undefined;\n }\n const refSource = this._sourceState.source.references?.[collectionId];\n if (!refSource) {\n return undefined;\n }\n const schema = this._schemas.get(collectionId);\n if (!schema) {\n this._request(collectionId, refSource);\n return undefined;\n }\n return { collectionId, refSource, schema };\n }\n\n private _request(collectionId: string, refSource: SchemaSource<any>) {\n if (this._requested.has(collectionId)) {\n return;\n }\n this._requested.add(collectionId);\n refSource\n .loadSchema()\n .then(({ schema }) =>\n runInAction(() => this._schemas.set(collectionId, schema)),\n )\n .catch(() => {\n // The reference column keeps its read-only display. Retry on the next\n // schema load rather than holding a failed id forever.\n this._requested.delete(collectionId);\n });\n }\n}\n\nasync function fetchReferenceItems(\n refSource: SchemaSource<any>,\n schema: Schema,\n query: OffsetQuery,\n): Promise<{ items: ReferenceItem[]; total: number }> {\n const { idField, displayField } = schema;\n const imageField = imageFieldOf(schema.fields);\n const { items, total } = await sourceFetchData<RefRow>(refSource)(query);\n\n return {\n items: items.map((item) => ({\n id: String(item[idField] ?? ''),\n name: String(item[displayField] ?? ''),\n image: imageField ? (item[imageField] as string | undefined) : undefined,\n })),\n total: total ?? items.length,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","referencedCollectionIdOf","field","_field$referenceMetad","type","referenceMetadata","referencedCollectionId","undefined","imageFieldOf","fields","_Object$entries$find","Object","entries","find","f","toRefSchema","schema","collectionId","id","displayField","idField","fromEntries","filter","map","ReferenceCellsState","constructor","sourceState","_defineProperty2","default","observable","Set","_sourceState","cellFor","resolved","_resolve","refSource","cellType","typeConfig","refSchema","fetchReferenceItems","query","itemsFetcherFor","_this$_sourceState$so","source","references","_schemaOf","refSchemaFor","_this$_sourceState$so2","_schemas","get","_request","loaded","loadSchema","runInAction","set","_requested","has","add","then","catch","delete","exports","imageField","items","total","sourceFetchData","item","String","name","image","length"],"sources":["../../../../src/components/SchemaSource/referenceCells.ts"],"sourcesContent":["import { observable, runInAction } from 'mobx';\nimport { sourceFetchData } from '@wix/bex-core';\nimport type {\n Field,\n OffsetQuery,\n Schema,\n SchemaSource,\n SourceState,\n} from '@wix/bex-core';\nimport type { EditableCellUpgrade } from '../../state/CollectionFieldsSourceState';\nimport type {\n ReferenceItem,\n ReferenceTypeConfig,\n RefSchema,\n} from '../EditableTable/cellTypes/reference/types';\n\ntype RefRow = Record<string, unknown>;\n\nconst referencedCollectionIdOf = (field: Field): string | undefined =>\n field.type === 'REFERENCE' || field.type === 'MULTI_REFERENCE'\n ? field.referenceMetadata?.referencedCollectionId\n : undefined;\n\nconst imageFieldOf = (fields: Schema['fields']): string | undefined =>\n Object.entries(fields ?? {}).find(([, f]) => f?.type === 'IMAGE')?.[0];\n\nconst toRefSchema = (schema: Schema, collectionId: string): RefSchema => ({\n id: schema.id ?? collectionId,\n collectionId,\n displayField: schema.displayField,\n idField: schema.idField,\n fields: Object.fromEntries(\n Object.entries(schema.fields ?? {})\n .filter(([, f]) => f?.type === 'IMAGE')\n .map(([id]) => [id, { type: 'IMAGE' as const }]),\n ),\n});\n\n/**\n * Supplies the reference / multi-reference cells the `typeConfig` they need:\n * the referenced collection's schema (for the id / display / image fields) and\n * a query for its items.\n *\n * The referenced schema loads asynchronously, so `cellFor` answers `undefined`\n * until it lands and the column stays a read-only display; once loaded, the\n * column builder's computed re-runs and the cell upgrades to the real editor.\n */\nexport class ReferenceCellsState<T = Record<string, unknown>> {\n private readonly _sourceState: SourceState<T>;\n /** Referenced schema per referenced collection id, once loaded. */\n private readonly _schemas = observable.map<string, Schema>();\n /** Ids already requested. A plain Set, so reading `cellFor` from a computed\n * mutates no observable — only the async result does, in an action. */\n private readonly _requested = new Set<string>();\n\n constructor(sourceState: SourceState<T>) {\n this._sourceState = sourceState;\n }\n\n /** The cell type and config for a reference field, or `undefined` while the\n * referenced schema is still loading (or the source has no entry for it). */\n cellFor(field: Field): EditableCellUpgrade | undefined {\n const resolved = this._resolve(field);\n if (!resolved) {\n return undefined;\n }\n const { collectionId, refSource, schema } = resolved;\n\n return {\n cellType:\n field.type === 'MULTI_REFERENCE' ? 'multiReference' : 'reference',\n typeConfig: {\n refSchema: toRefSchema(schema, collectionId),\n fetchReferenceItems: (query) =>\n fetchReferenceItems(refSource, schema, query),\n } satisfies ReferenceTypeConfig,\n };\n }\n\n /**\n * Queries the referenced collection's items, for a reference field's filter.\n * `undefined` when the source declares no reference for this field — that is\n * what decides whether the field gets a filter at all.\n *\n * The returned function resolves the referenced schema on call rather than\n * up front, so a caller that captures it once (the filter collection does)\n * still queries correctly once the schema lands.\n */\n itemsFetcherFor(field: Field):\n | ((query: OffsetQuery) => Promise<{\n items: ReferenceItem[];\n total: number;\n }>)\n | undefined {\n const collectionId = referencedCollectionIdOf(field);\n const refSource =\n collectionId && this._sourceState.source.references?.[collectionId];\n if (!collectionId || !refSource) {\n return undefined;\n }\n return async (query) => {\n const schema = await this._schemaOf(collectionId, refSource);\n return fetchReferenceItems(refSource, schema, query);\n };\n }\n\n /** The referenced collection's id / display / image fields, for rendering a\n * reference value. `undefined` until the referenced schema resolves. */\n refSchemaFor(field: Field): RefSchema | undefined {\n const resolved = this._resolve(field);\n return resolved && toRefSchema(resolved.schema, resolved.collectionId);\n }\n\n /** The referenced source and its loaded schema, requesting the load on first\n * ask. Returns `undefined` until it lands, or if the source has no entry. */\n private _resolve(field: Field) {\n const collectionId = referencedCollectionIdOf(field);\n if (!collectionId) {\n return undefined;\n }\n const refSource = this._sourceState.source.references?.[collectionId];\n if (!refSource) {\n return undefined;\n }\n const schema = this._schemas.get(collectionId);\n if (!schema) {\n this._request(collectionId, refSource);\n return undefined;\n }\n return { collectionId, refSource, schema };\n }\n\n /** The referenced schema, loading it if this is the first ask. Unlike\n * `_request` this hands back the load, for callers that must wait. */\n private async _schemaOf(\n collectionId: string,\n refSource: SchemaSource<any>,\n ): Promise<Schema> {\n const loaded = this._schemas.get(collectionId);\n if (loaded) {\n return loaded;\n }\n const { schema } = await refSource.loadSchema();\n runInAction(() => this._schemas.set(collectionId, schema));\n return schema;\n }\n\n private _request(collectionId: string, refSource: SchemaSource<any>) {\n if (this._requested.has(collectionId)) {\n return;\n }\n this._requested.add(collectionId);\n refSource\n .loadSchema()\n .then(({ schema }) =>\n runInAction(() => this._schemas.set(collectionId, schema)),\n )\n .catch(() => {\n // The reference column keeps its read-only display. Retry on the next\n // schema load rather than holding a failed id forever.\n this._requested.delete(collectionId);\n });\n }\n}\n\nasync function fetchReferenceItems(\n refSource: SchemaSource<any>,\n schema: Schema,\n query: OffsetQuery,\n): Promise<{ items: ReferenceItem[]; total: number }> {\n const { idField, displayField } = schema;\n const imageField = imageFieldOf(schema.fields);\n const { items, total } = await sourceFetchData<RefRow>(refSource)(query);\n\n return {\n items: items.map((item) => ({\n id: String(item[idField] ?? ''),\n name: String(item[displayField] ?? ''),\n image: imageField ? (item[imageField] as string | undefined) : undefined,\n })),\n total: total ?? items.length,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAiBA,MAAME,wBAAwB,GAAIC,KAAY;EAAA,IAAAC,qBAAA;EAAA,OAC5CD,KAAK,CAACE,IAAI,KAAK,WAAW,IAAIF,KAAK,CAACE,IAAI,KAAK,iBAAiB,IAAAD,qBAAA,GAC1DD,KAAK,CAACG,iBAAiB,qBAAvBF,qBAAA,CAAyBG,sBAAsB,GAC/CC,SAAS;AAAA;AAEf,MAAMC,YAAY,GAAIC,MAAwB;EAAA,IAAAC,oBAAA;EAAA,QAAAA,oBAAA,GAC5CC,MAAM,CAACC,OAAO,CAACH,MAAM,IAAI,CAAC,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAK,CAAAA,CAAC,oBAADA,CAAC,CAAEV,IAAI,MAAK,OAAO,CAAC,qBAAjEM,oBAAA,CAAoE,CAAC,CAAC;AAAA;AAExE,MAAMK,WAAW,GAAGA,CAACC,MAAc,EAAEC,YAAoB,MAAiB;EACxEC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAID,YAAY;EAC7BA,YAAY;EACZE,YAAY,EAAEH,MAAM,CAACG,YAAY;EACjCC,OAAO,EAAEJ,MAAM,CAACI,OAAO;EACvBX,MAAM,EAAEE,MAAM,CAACU,WAAW,CACxBV,MAAM,CAACC,OAAO,CAACI,MAAM,CAACP,MAAM,IAAI,CAAC,CAAC,CAAC,CAChCa,MAAM,CAAC,CAAC,GAAGR,CAAC,CAAC,KAAK,CAAAA,CAAC,oBAADA,CAAC,CAAEV,IAAI,MAAK,OAAO,CAAC,CACtCmB,GAAG,CAAC,CAAC,CAACL,EAAE,CAAC,KAAK,CAACA,EAAE,EAAE;IAAEd,IAAI,EAAE;EAAiB,CAAC,CAAC,CACnD;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMoB,mBAAmB,CAA8B;EAQ5DC,WAAWA,CAACC,WAA2B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IANzC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAC4BC,gBAAU,CAACN,GAAG,CAAiB,CAAC;IAC5D;AACF;IADE,IAAAI,gBAAA,CAAAC,OAAA,sBAE8B,IAAIE,GAAG,CAAS,CAAC;IAG7C,IAAI,CAACC,YAAY,GAAGL,WAAW;EACjC;;EAEA;AACF;EACEM,OAAOA,CAAC9B,KAAY,EAAmC;IACrD,MAAM+B,QAAQ,GAAG,IAAI,CAACC,QAAQ,CAAChC,KAAK,CAAC;IACrC,IAAI,CAAC+B,QAAQ,EAAE;MACb,OAAO1B,SAAS;IAClB;IACA,MAAM;MAAEU,YAAY;MAAEkB,SAAS;MAAEnB;IAAO,CAAC,GAAGiB,QAAQ;IAEpD,OAAO;MACLG,QAAQ,EACNlC,KAAK,CAACE,IAAI,KAAK,iBAAiB,GAAG,gBAAgB,GAAG,WAAW;MACnEiC,UAAU,EAAE;QACVC,SAAS,EAAEvB,WAAW,CAACC,MAAM,EAAEC,YAAY,CAAC;QAC5CsB,mBAAmB,EAAGC,KAAK,IACzBD,mBAAmB,CAACJ,SAAS,EAAEnB,MAAM,EAAEwB,KAAK;MAChD;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,eAAeA,CAACvC,KAAY,EAKd;IAAA,IAAAwC,qBAAA;IACZ,MAAMzB,YAAY,GAAGhB,wBAAwB,CAACC,KAAK,CAAC;IACpD,MAAMiC,SAAS,GACblB,YAAY,MAAAyB,qBAAA,GAAI,IAAI,CAACX,YAAY,CAACY,MAAM,CAACC,UAAU,qBAAnCF,qBAAA,CAAsCzB,YAAY,CAAC;IACrE,IAAI,CAACA,YAAY,IAAI,CAACkB,SAAS,EAAE;MAC/B,OAAO5B,SAAS;IAClB;IACA,OAAO,MAAOiC,KAAK,IAAK;MACtB,MAAMxB,MAAM,GAAG,MAAM,IAAI,CAAC6B,SAAS,CAAC5B,YAAY,EAAEkB,SAAS,CAAC;MAC5D,OAAOI,mBAAmB,CAACJ,SAAS,EAAEnB,MAAM,EAAEwB,KAAK,CAAC;IACtD,CAAC;EACH;;EAEA;AACF;EACEM,YAAYA,CAAC5C,KAAY,EAAyB;IAChD,MAAM+B,QAAQ,GAAG,IAAI,CAACC,QAAQ,CAAChC,KAAK,CAAC;IACrC,OAAO+B,QAAQ,IAAIlB,WAAW,CAACkB,QAAQ,CAACjB,MAAM,EAAEiB,QAAQ,CAAChB,YAAY,CAAC;EACxE;;EAEA;AACF;EACUiB,QAAQA,CAAChC,KAAY,EAAE;IAAA,IAAA6C,sBAAA;IAC7B,MAAM9B,YAAY,GAAGhB,wBAAwB,CAACC,KAAK,CAAC;IACpD,IAAI,CAACe,YAAY,EAAE;MACjB,OAAOV,SAAS;IAClB;IACA,MAAM4B,SAAS,IAAAY,sBAAA,GAAG,IAAI,CAAChB,YAAY,CAACY,MAAM,CAACC,UAAU,qBAAnCG,sBAAA,CAAsC9B,YAAY,CAAC;IACrE,IAAI,CAACkB,SAAS,EAAE;MACd,OAAO5B,SAAS;IAClB;IACA,MAAMS,MAAM,GAAG,IAAI,CAACgC,QAAQ,CAACC,GAAG,CAAChC,YAAY,CAAC;IAC9C,IAAI,CAACD,MAAM,EAAE;MACX,IAAI,CAACkC,QAAQ,CAACjC,YAAY,EAAEkB,SAAS,CAAC;MACtC,OAAO5B,SAAS;IAClB;IACA,OAAO;MAAEU,YAAY;MAAEkB,SAAS;MAAEnB;IAAO,CAAC;EAC5C;;EAEA;AACF;EACE,MAAc6B,SAASA,CACrB5B,YAAoB,EACpBkB,SAA4B,EACX;IACjB,MAAMgB,MAAM,GAAG,IAAI,CAACH,QAAQ,CAACC,GAAG,CAAChC,YAAY,CAAC;IAC9C,IAAIkC,MAAM,EAAE;MACV,OAAOA,MAAM;IACf;IACA,MAAM;MAAEnC;IAAO,CAAC,GAAG,MAAMmB,SAAS,CAACiB,UAAU,CAAC,CAAC;IAC/C,IAAAC,iBAAW,EAAC,MAAM,IAAI,CAACL,QAAQ,CAACM,GAAG,CAACrC,YAAY,EAAED,MAAM,CAAC,CAAC;IAC1D,OAAOA,MAAM;EACf;EAEQkC,QAAQA,CAACjC,YAAoB,EAAEkB,SAA4B,EAAE;IACnE,IAAI,IAAI,CAACoB,UAAU,CAACC,GAAG,CAACvC,YAAY,CAAC,EAAE;MACrC;IACF;IACA,IAAI,CAACsC,UAAU,CAACE,GAAG,CAACxC,YAAY,CAAC;IACjCkB,SAAS,CACNiB,UAAU,CAAC,CAAC,CACZM,IAAI,CAAC,CAAC;MAAE1C;IAAO,CAAC,KACf,IAAAqC,iBAAW,EAAC,MAAM,IAAI,CAACL,QAAQ,CAACM,GAAG,CAACrC,YAAY,EAAED,MAAM,CAAC,CAC3D,CAAC,CACA2C,KAAK,CAAC,MAAM;MACX;MACA;MACA,IAAI,CAACJ,UAAU,CAACK,MAAM,CAAC3C,YAAY,CAAC;IACtC,CAAC,CAAC;EACN;AACF;AAAC4C,OAAA,CAAArC,mBAAA,GAAAA,mBAAA;AAED,eAAee,mBAAmBA,CAChCJ,SAA4B,EAC5BnB,MAAc,EACdwB,KAAkB,EACkC;EACpD,MAAM;IAAEpB,OAAO;IAAED;EAAa,CAAC,GAAGH,MAAM;EACxC,MAAM8C,UAAU,GAAGtD,YAAY,CAACQ,MAAM,CAACP,MAAM,CAAC;EAC9C,MAAM;IAAEsD,KAAK;IAAEC;EAAM,CAAC,GAAG,MAAM,IAAAC,wBAAe,EAAS9B,SAAS,CAAC,CAACK,KAAK,CAAC;EAExE,OAAO;IACLuB,KAAK,EAAEA,KAAK,CAACxC,GAAG,CAAE2C,IAAI,KAAM;MAC1BhD,EAAE,EAAEiD,MAAM,CAACD,IAAI,CAAC9C,OAAO,CAAC,IAAI,EAAE,CAAC;MAC/BgD,IAAI,EAAED,MAAM,CAACD,IAAI,CAAC/C,YAAY,CAAC,IAAI,EAAE,CAAC;MACtCkD,KAAK,EAAEP,UAAU,GAAII,IAAI,CAACJ,UAAU,CAAC,GAA0BvD;IACjE,CAAC,CAAC,CAAC;IACHyD,KAAK,EAAEA,KAAK,IAAID,KAAK,CAACO;EACxB,CAAC;AACH","ignoreList":[]}
@@ -11,15 +11,24 @@ var _standardFieldTypeLabels = require("./standardFieldTypeLabels");
11
11
  * field modal, permissions, and can-edit/add rules come from the source.
12
12
  */
13
13
  const schemaFieldManagement = sourceState => {
14
- const draftToField = draft => ({
15
- id: draft.key,
16
- displayName: draft.name,
17
- type: draft.type ?? 'SHORT_TEXT',
18
- isPii: draft.containsPii,
19
- validation: {
20
- required: false
21
- }
22
- });
14
+ const draftToField = draft => {
15
+ var _sourceState$source$f;
16
+ const definition = (_sourceState$source$f = sourceState.source.fieldTypes) == null ? void 0 : _sourceState$source$f.find(def => def.type === draft.type);
17
+ return {
18
+ id: draft.key,
19
+ displayName: draft.name,
20
+ ...(definition ? {
21
+ type: 'CUSTOM',
22
+ customType: definition.type
23
+ } : {
24
+ type: draft.type ?? 'SHORT_TEXT'
25
+ }),
26
+ isPii: draft.containsPii,
27
+ validation: {
28
+ required: false
29
+ }
30
+ };
31
+ };
23
32
  return {
24
33
  get canAddFields() {
25
34
  const {
@@ -70,7 +79,7 @@ const schemaFieldManagement = sourceState => {
70
79
  addTitle: t('cairo.customFields.addCustomField.modal.title'),
71
80
  editTitle: t('cairo.customFields.editCustomField.modal.title')
72
81
  },
73
- types: fieldModal.types.map(ft => {
82
+ types: [...fieldModal.types.map(ft => {
74
83
  // The standard pair applies only when the source didn't custom-label
75
84
  // the entry — a custom label with the standard placeholder would show
76
85
  // contradictory copy (the modal falls back to its generic placeholder).
@@ -86,7 +95,21 @@ const schemaFieldManagement = sourceState => {
86
95
  settingsSection: ft.settingsSection,
87
96
  patternsType: ft.patternsType
88
97
  };
89
- }),
98
+ }), ...(sourceState.source.fieldTypes ?? []).flatMap(def => {
99
+ var _def$fieldModal;
100
+ return (_def$fieldModal = def.fieldModal) != null && _def$fieldModal.creatable ? [{
101
+ id: def.type,
102
+ label: def.display.label,
103
+ namePlaceholder: def.fieldModal.namePlaceholder,
104
+ subtitle: def.fieldModal.subtitle,
105
+ group: def.fieldModal.group,
106
+ supportsPii: def.fieldModal.supportsPii,
107
+ piiWarning: def.fieldModal.piiWarning,
108
+ settingsSection: def.fieldModal.settingsSection,
109
+ patternsType: 'CUSTOM',
110
+ icons: def.display.icons
111
+ }] : [];
112
+ })],
90
113
  permissions: sourceState.source.fieldPermissions,
91
114
  supportsPii: sourceState.source.supportsPii
92
115
  };
@@ -120,7 +143,8 @@ const schemaFieldManagement = sourceState => {
120
143
  return {
121
144
  key: field.id,
122
145
  name: field.displayName,
123
- type: field.type,
146
+ // A CUSTOM field's picker option is keyed by its customType.
147
+ type: field.type === 'CUSTOM' ? field.customType : field.type,
124
148
  readApps: false,
125
149
  readUsers: false,
126
150
  writeApps: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_standardFieldTypeLabels","schemaFieldManagement","sourceState","draftToField","draft","id","key","displayName","name","type","isPii","containsPii","validation","required","canAddFields","schema","source","addFieldDisabled","canEditField","field","deleteField","fieldId","_sourceState$fieldAct","fields","fieldActions","runInAction","mergeFields","notify","message","biName","e","fieldModal","t","container","translate","text","addTitle","editTitle","types","map","ft","standard","label","standardFieldTypeLabels","patternsType","undefined","labelKey","namePlaceholder","namePlaceholderKey","subtitle","group","supportsPii","piiWarning","settingsSection","permissions","fieldPermissions","existingFieldKeys","f","addField","_sourceState$fieldAct2","settings","editField","_sourceState$fieldAct3","getFieldDraft","_sourceState$schema","readApps","readUsers","writeApps","writeUsers","exports"],"sources":["../../../../src/components/SchemaSource/schemaFieldManagement.ts"],"sourcesContent":["import {\n FieldDraft,\n FieldManagement,\n NonReferenceField,\n SourceState,\n} from '@wix/bex-core';\nimport { runInAction } from 'mobx';\nimport { standardFieldTypeLabels } from './standardFieldTypeLabels';\n\n/**\n * Builds the source-neutral FieldManagement over a source's state. add/edit/\n * delete call the schema's FieldActions, then merge the returned fields into\n * the loaded schema so the columns update from the response (no reload). The\n * field modal, permissions, and can-edit/add rules come from the source.\n */\nexport const schemaFieldManagement = (\n sourceState: SourceState<any>,\n): FieldManagement => {\n const draftToField = (draft: FieldDraft): NonReferenceField => ({\n id: draft.key,\n displayName: draft.name,\n type: (draft.type ?? 'SHORT_TEXT') as NonReferenceField['type'],\n isPii: draft.containsPii,\n validation: { required: false },\n });\n\n return {\n get canAddFields() {\n const { schema, source } = sourceState;\n return schema ? source.canAddFields(schema) : false;\n },\n addFieldDisabled: false,\n canEditField: (field) => {\n const { schema, source } = sourceState;\n return schema ? source.canEditField(field, schema) : false;\n },\n // Self-contained: does the delete and reports its own toast (matching the\n // DataExtension source). Rethrows on failure so the shared delete modal stays\n // open for a retry.\n deleteField: async (fieldId) => {\n try {\n const fields = await sourceState.fieldActions?.deleteField?.(fieldId);\n if (fields) {\n runInAction(() => sourceState.mergeFields(fields));\n }\n sourceState.notify({\n type: 'SUCCESS',\n message: 'Field deleted',\n biName: 'cairo-field-action-delete-success',\n });\n } catch (e) {\n sourceState.notify({\n type: 'ERROR',\n message: \"Couldn't delete field\",\n biName: 'cairo-field-action-delete-error',\n });\n throw e;\n }\n },\n\n get fieldModal() {\n const t = sourceState.container.translate;\n const { fieldModal } = sourceState.source;\n return {\n text: fieldModal.text ?? {\n addTitle: t('cairo.customFields.addCustomField.modal.title'),\n editTitle: t('cairo.customFields.editCustomField.modal.title'),\n },\n types: fieldModal.types.map((ft) => {\n // The standard pair applies only when the source didn't custom-label\n // the entry — a custom label with the standard placeholder would show\n // contradictory copy (the modal falls back to its generic placeholder).\n const standard =\n ft.label == null\n ? standardFieldTypeLabels[ft.patternsType]\n : undefined;\n return {\n id: ft.patternsType,\n label:\n ft.label ?? (standard ? t(standard.labelKey) : ft.patternsType),\n namePlaceholder:\n ft.namePlaceholder ??\n (standard ? t(standard.namePlaceholderKey) : undefined),\n subtitle: ft.subtitle,\n group: ft.group,\n supportsPii: ft.supportsPii,\n piiWarning: ft.piiWarning,\n settingsSection: ft.settingsSection,\n patternsType: ft.patternsType,\n };\n }),\n permissions: sourceState.source.fieldPermissions,\n supportsPii: sourceState.source.supportsPii,\n };\n },\n get existingFieldKeys() {\n return sourceState.fields.map((f) => f.id);\n },\n\n addField: async (draft) => {\n const fields = await sourceState.fieldActions?.addField?.(\n draftToField(draft),\n draft.settings,\n );\n if (fields) {\n runInAction(() => sourceState.mergeFields(fields));\n }\n },\n editField: async (fieldId, draft) => {\n const fields = await sourceState.fieldActions?.editField?.(\n fieldId,\n { displayName: draft.name, isPii: draft.containsPii },\n draft.settings,\n );\n if (fields) {\n runInAction(() => sourceState.mergeFields(fields));\n }\n },\n getFieldDraft: (fieldId) => {\n const field = sourceState.schema?.fields[fieldId];\n if (!field) {\n return undefined;\n }\n return {\n key: field.id,\n name: field.displayName,\n type: field.type,\n readApps: false,\n readUsers: false,\n writeApps: false,\n writeUsers: false,\n containsPii: field.isPii ?? false,\n field,\n };\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_standardFieldTypeLabels","schemaFieldManagement","sourceState","draftToField","draft","_sourceState$source$f","definition","source","fieldTypes","find","def","type","id","key","displayName","name","customType","isPii","containsPii","validation","required","canAddFields","schema","addFieldDisabled","canEditField","field","deleteField","fieldId","_sourceState$fieldAct","fields","fieldActions","runInAction","mergeFields","notify","message","biName","e","fieldModal","t","container","translate","text","addTitle","editTitle","types","map","ft","standard","label","standardFieldTypeLabels","patternsType","undefined","labelKey","namePlaceholder","namePlaceholderKey","subtitle","group","supportsPii","piiWarning","settingsSection","flatMap","_def$fieldModal","creatable","display","icons","permissions","fieldPermissions","existingFieldKeys","f","addField","_sourceState$fieldAct2","settings","editField","_sourceState$fieldAct3","getFieldDraft","_sourceState$schema","readApps","readUsers","writeApps","writeUsers","exports"],"sources":["../../../../src/components/SchemaSource/schemaFieldManagement.ts"],"sourcesContent":["import {\n FieldDraft,\n FieldManagement,\n NonReferenceField,\n SourceState,\n} from '@wix/bex-core';\nimport { runInAction } from 'mobx';\nimport { standardFieldTypeLabels } from './standardFieldTypeLabels';\n\n/**\n * Builds the source-neutral FieldManagement over a source's state. add/edit/\n * delete call the schema's FieldActions, then merge the returned fields into\n * the loaded schema so the columns update from the response (no reload). The\n * field modal, permissions, and can-edit/add rules come from the source.\n */\nexport const schemaFieldManagement = (\n sourceState: SourceState<any>,\n): FieldManagement => {\n const draftToField = (draft: FieldDraft): NonReferenceField => {\n const definition = sourceState.source.fieldTypes?.find(\n (def) => def.type === draft.type,\n );\n return {\n id: draft.key,\n displayName: draft.name,\n ...(definition\n ? { type: 'CUSTOM' as const, customType: definition.type }\n : { type: (draft.type ?? 'SHORT_TEXT') as NonReferenceField['type'] }),\n isPii: draft.containsPii,\n validation: { required: false },\n };\n };\n\n return {\n get canAddFields() {\n const { schema, source } = sourceState;\n return schema ? source.canAddFields(schema) : false;\n },\n addFieldDisabled: false,\n canEditField: (field) => {\n const { schema, source } = sourceState;\n return schema ? source.canEditField(field, schema) : false;\n },\n // Self-contained: does the delete and reports its own toast (matching the\n // DataExtension source). Rethrows on failure so the shared delete modal stays\n // open for a retry.\n deleteField: async (fieldId) => {\n try {\n const fields = await sourceState.fieldActions?.deleteField?.(fieldId);\n if (fields) {\n runInAction(() => sourceState.mergeFields(fields));\n }\n sourceState.notify({\n type: 'SUCCESS',\n message: 'Field deleted',\n biName: 'cairo-field-action-delete-success',\n });\n } catch (e) {\n sourceState.notify({\n type: 'ERROR',\n message: \"Couldn't delete field\",\n biName: 'cairo-field-action-delete-error',\n });\n throw e;\n }\n },\n\n get fieldModal() {\n const t = sourceState.container.translate;\n const { fieldModal } = sourceState.source;\n return {\n text: fieldModal.text ?? {\n addTitle: t('cairo.customFields.addCustomField.modal.title'),\n editTitle: t('cairo.customFields.editCustomField.modal.title'),\n },\n types: [\n ...fieldModal.types.map((ft) => {\n // The standard pair applies only when the source didn't custom-label\n // the entry — a custom label with the standard placeholder would show\n // contradictory copy (the modal falls back to its generic placeholder).\n const standard =\n ft.label == null\n ? standardFieldTypeLabels[ft.patternsType]\n : undefined;\n return {\n id: ft.patternsType,\n label:\n ft.label ?? (standard ? t(standard.labelKey) : ft.patternsType),\n namePlaceholder:\n ft.namePlaceholder ??\n (standard ? t(standard.namePlaceholderKey) : undefined),\n subtitle: ft.subtitle,\n group: ft.group,\n supportsPii: ft.supportsPii,\n piiWarning: ft.piiWarning,\n settingsSection: ft.settingsSection,\n patternsType: ft.patternsType,\n };\n }),\n ...(sourceState.source.fieldTypes ?? []).flatMap((def) =>\n def.fieldModal?.creatable\n ? [\n {\n id: def.type,\n label: def.display.label,\n namePlaceholder: def.fieldModal.namePlaceholder,\n subtitle: def.fieldModal.subtitle,\n group: def.fieldModal.group,\n supportsPii: def.fieldModal.supportsPii,\n piiWarning: def.fieldModal.piiWarning,\n settingsSection: def.fieldModal.settingsSection,\n patternsType: 'CUSTOM' as const,\n icons: def.display.icons,\n },\n ]\n : [],\n ),\n ],\n permissions: sourceState.source.fieldPermissions,\n supportsPii: sourceState.source.supportsPii,\n };\n },\n get existingFieldKeys() {\n return sourceState.fields.map((f) => f.id);\n },\n\n addField: async (draft) => {\n const fields = await sourceState.fieldActions?.addField?.(\n draftToField(draft),\n draft.settings,\n );\n if (fields) {\n runInAction(() => sourceState.mergeFields(fields));\n }\n },\n editField: async (fieldId, draft) => {\n const fields = await sourceState.fieldActions?.editField?.(\n fieldId,\n { displayName: draft.name, isPii: draft.containsPii },\n draft.settings,\n );\n if (fields) {\n runInAction(() => sourceState.mergeFields(fields));\n }\n },\n getFieldDraft: (fieldId) => {\n const field = sourceState.schema?.fields[fieldId];\n if (!field) {\n return undefined;\n }\n return {\n key: field.id,\n name: field.displayName,\n // A CUSTOM field's picker option is keyed by its customType.\n type: field.type === 'CUSTOM' ? field.customType : field.type,\n readApps: false,\n readUsers: false,\n writeApps: false,\n writeUsers: false,\n containsPii: field.isPii ?? false,\n field,\n };\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
- exports.schemaRendering = void 0;
5
+ exports.schemaRendering = exports.schemaFilterConfig = void 0;
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _bexCore = require("@wix/bex-core");
8
8
  var _schemaFieldActions = require("./schemaFieldActions");
@@ -10,20 +10,30 @@ var _FieldManagementModals = require("../CustomFieldsPanel/FieldManagementModals
10
10
  var _CustomColumnsFull = require("../CustomColumns/CustomColumnsFull");
11
11
  var _CollectionToolbarFilters = require("../CollectionToolbarFilters");
12
12
  var _ReferenceFieldCell = require("./ReferenceFieldCell");
13
+ var _ReferenceFieldFilter = require("../ReferenceFieldFilter");
13
14
  var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/components/SchemaSource/schemaRendering.tsx";
14
15
  // Text operators a schema source's backend can execute.
15
16
  const SCHEMA_TEXT_OPERATORS = [_bexCore.FilterOperator.CONTAINS, _bexCore.FilterOperator.NOT_CONTAINS, _bexCore.FilterOperator.IS_EMPTY, _bexCore.FilterOperator.EXISTS];
16
17
 
18
+ /**
19
+ * The source's filter behavior. Built once and held on the SchemaState, because
20
+ * `filterableFields` reads it to decide whether a reference field is filterable
21
+ * and the spine reads it again to build the filters themselves.
22
+ */
23
+ const schemaFilterConfig = s => ({
24
+ textOperators: SCHEMA_TEXT_OPERATORS,
25
+ numberIsDecimal: () => true,
26
+ referenceItems: field => s.referenceCells.itemsFetcherFor(field)
27
+ });
28
+
17
29
  /**
18
30
  * Builds the schema source's config, shaped as a FieldsSourceRendering. The spine
19
31
  * builds the field-management panel from this; the per-field actions come from
20
32
  * schemaFieldActions.
21
33
  */
34
+ exports.schemaFilterConfig = schemaFilterConfig;
22
35
  const schemaRendering = s => ({
23
- filterConfig: {
24
- textOperators: SCHEMA_TEXT_OPERATORS,
25
- numberIsDecimal: () => true
26
- },
36
+ filterConfig: s.filterConfig,
27
37
  // A reference value is an expanded referenced item, which FieldCell can't
28
38
  // render — the label is in the referenced collection's display field.
29
39
  columnOverrides: field => {
@@ -39,7 +49,7 @@ const schemaRendering = s => ({
39
49
  __self: void 0,
40
50
  __source: {
41
51
  fileName: _jsxFileName,
42
- lineNumber: 43,
52
+ lineNumber: 53,
43
53
  columnNumber: 9
44
54
  }
45
55
  })
@@ -53,7 +63,8 @@ const schemaRendering = s => ({
53
63
  components: {
54
64
  FieldManagementModals: _FieldManagementModals.FieldManagementModals,
55
65
  CustomColumns: _CustomColumnsFull.CustomColumnsFull,
56
- CollectionToolbarFilters: _CollectionToolbarFilters.CollectionToolbarFilters
66
+ CollectionToolbarFilters: _CollectionToolbarFilters.CollectionToolbarFilters,
67
+ ReferenceFieldFilter: _ReferenceFieldFilter.ReferenceFieldFilter
57
68
  }
58
69
  });
59
70
  exports.schemaRendering = schemaRendering;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_schemaFieldActions","_FieldManagementModals","_CustomColumnsFull","_CollectionToolbarFilters","_ReferenceFieldCell","_jsxFileName","SCHEMA_TEXT_OPERATORS","FilterOperator","CONTAINS","NOT_CONTAINS","IS_EMPTY","EXISTS","schemaRendering","s","filterConfig","textOperators","numberIsDecimal","columnOverrides","field","type","render","row","rowNum","default","createElement","ReferenceFieldCell","state","fieldId","id","__self","__source","fileName","lineNumber","columnNumber","schemaSource","sourceState","source","editableCellFor","referenceCells","cellFor","createFieldActionsMenu","createSchemaFieldActionsMenu","createFieldActionHandlers","panel","schemaFieldActionHandlers","featuredPageActions","components","FieldManagementModals","CustomColumns","CustomColumnsFull","CollectionToolbarFilters","exports"],"sources":["../../../../src/components/SchemaSource/schemaRendering.tsx"],"sourcesContent":["import React from 'react';\nimport { FilterOperator } from '@wix/bex-core';\nimport type { Column } from '../../model';\nimport type { FieldsSourceRendering } from '../../state/CollectionFieldsSourceState';\nimport type { SchemaState } from './SchemaState';\nimport {\n createSchemaFieldActionsMenu,\n schemaFieldActionHandlers,\n} from './schemaFieldActions';\nimport { FieldManagementModals } from '../CustomFieldsPanel/FieldManagementModals';\nimport { CustomColumnsFull } from '../CustomColumns/CustomColumnsFull';\nimport { CollectionToolbarFilters } from '../CollectionToolbarFilters';\nimport { ReferenceFieldCell } from './ReferenceFieldCell';\n\n// Text operators a schema source's backend can execute.\nconst SCHEMA_TEXT_OPERATORS = [\n FilterOperator.CONTAINS,\n FilterOperator.NOT_CONTAINS,\n FilterOperator.IS_EMPTY,\n FilterOperator.EXISTS,\n];\n\n/**\n * Builds the schema source's config, shaped as a FieldsSourceRendering. The spine\n * builds the field-management panel from this; the per-field actions come from\n * schemaFieldActions.\n */\nexport const schemaRendering = (\n s: SchemaState<any>,\n): FieldsSourceRendering => ({\n filterConfig: {\n textOperators: SCHEMA_TEXT_OPERATORS,\n numberIsDecimal: () => true,\n },\n // A reference value is an expanded referenced item, which FieldCell can't\n // render — the label is in the referenced collection's display field.\n columnOverrides: (field): Partial<Column> => {\n if (field.type !== 'REFERENCE' && field.type !== 'MULTI_REFERENCE') {\n return {};\n }\n return {\n render: (row: unknown, rowNum: number) => (\n <ReferenceFieldCell\n state={s}\n field={field}\n row={row}\n fieldId={`${field.id}-${rowNum}`}\n />\n ),\n } as Partial<Column>;\n },\n schemaSource: s.sourceState.source,\n editableCellFor: (field) => s.referenceCells.cellFor(field),\n createFieldActionsMenu: createSchemaFieldActionsMenu(s),\n createFieldActionHandlers: (panel) => schemaFieldActionHandlers(s, panel),\n featuredPageActions: [],\n components: {\n FieldManagementModals,\n CustomColumns: CustomColumnsFull,\n CollectionToolbarFilters,\n },\n});\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAIA,IAAAE,mBAAA,GAAAF,OAAA;AAIA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,yBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAA0D,IAAAO,YAAA;AAE1D;AACA,MAAMC,qBAAqB,GAAG,CAC5BC,uBAAc,CAACC,QAAQ,EACvBD,uBAAc,CAACE,YAAY,EAC3BF,uBAAc,CAACG,QAAQ,EACvBH,uBAAc,CAACI,MAAM,CACtB;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAC1BC,CAAmB,KACQ;EAC3BC,YAAY,EAAE;IACZC,aAAa,EAAET,qBAAqB;IACpCU,eAAe,EAAEA,CAAA,KAAM;EACzB,CAAC;EACD;EACA;EACAC,eAAe,EAAGC,KAAK,IAAsB;IAC3C,IAAIA,KAAK,CAACC,IAAI,KAAK,WAAW,IAAID,KAAK,CAACC,IAAI,KAAK,iBAAiB,EAAE;MAClE,OAAO,CAAC,CAAC;IACX;IACA,OAAO;MACLC,MAAM,EAAEA,CAACC,GAAY,EAAEC,MAAc,kBACnC1B,MAAA,CAAA2B,OAAA,CAAAC,aAAA,CAACpB,mBAAA,CAAAqB,kBAAkB;QACjBC,KAAK,EAAEb,CAAE;QACTK,KAAK,EAAEA,KAAM;QACbG,GAAG,EAAEA,GAAI;QACTM,OAAO,EAAE,GAAGT,KAAK,CAACU,EAAE,IAAIN,MAAM,EAAG;QAAAO,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAA1B,YAAA;UAAA2B,UAAA;UAAAC,YAAA;QAAA;MAAA,CAClC;IAEL,CAAC;EACH,CAAC;EACDC,YAAY,EAAErB,CAAC,CAACsB,WAAW,CAACC,MAAM;EAClCC,eAAe,EAAGnB,KAAK,IAAKL,CAAC,CAACyB,cAAc,CAACC,OAAO,CAACrB,KAAK,CAAC;EAC3DsB,sBAAsB,EAAE,IAAAC,gDAA4B,EAAC5B,CAAC,CAAC;EACvD6B,yBAAyB,EAAGC,KAAK,IAAK,IAAAC,6CAAyB,EAAC/B,CAAC,EAAE8B,KAAK,CAAC;EACzEE,mBAAmB,EAAE,EAAE;EACvBC,UAAU,EAAE;IACVC,qBAAqB,EAArBA,4CAAqB;IACrBC,aAAa,EAAEC,oCAAiB;IAChCC,wBAAwB,EAAxBA;EACF;AACF,CAAC,CAAC;AAACC,OAAA,CAAAvC,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_schemaFieldActions","_FieldManagementModals","_CustomColumnsFull","_CollectionToolbarFilters","_ReferenceFieldCell","_ReferenceFieldFilter","_jsxFileName","SCHEMA_TEXT_OPERATORS","FilterOperator","CONTAINS","NOT_CONTAINS","IS_EMPTY","EXISTS","schemaFilterConfig","s","textOperators","numberIsDecimal","referenceItems","field","referenceCells","itemsFetcherFor","exports","schemaRendering","filterConfig","columnOverrides","type","render","row","rowNum","default","createElement","ReferenceFieldCell","state","fieldId","id","__self","__source","fileName","lineNumber","columnNumber","schemaSource","sourceState","source","editableCellFor","cellFor","createFieldActionsMenu","createSchemaFieldActionsMenu","createFieldActionHandlers","panel","schemaFieldActionHandlers","featuredPageActions","components","FieldManagementModals","CustomColumns","CustomColumnsFull","CollectionToolbarFilters","ReferenceFieldFilter"],"sources":["../../../../src/components/SchemaSource/schemaRendering.tsx"],"sourcesContent":["import React from 'react';\nimport { FilterOperator } from '@wix/bex-core';\nimport type { Column } from '../../model';\nimport type { FieldsSourceRendering } from '../../state/CollectionFieldsSourceState';\nimport type { FieldFilterConfig } from '../../state/buildFieldFilters';\nimport type { SchemaState } from './SchemaState';\nimport {\n createSchemaFieldActionsMenu,\n schemaFieldActionHandlers,\n} from './schemaFieldActions';\nimport { FieldManagementModals } from '../CustomFieldsPanel/FieldManagementModals';\nimport { CustomColumnsFull } from '../CustomColumns/CustomColumnsFull';\nimport { CollectionToolbarFilters } from '../CollectionToolbarFilters';\nimport { ReferenceFieldCell } from './ReferenceFieldCell';\nimport { ReferenceFieldFilter } from '../ReferenceFieldFilter';\n\n// Text operators a schema source's backend can execute.\nconst SCHEMA_TEXT_OPERATORS = [\n FilterOperator.CONTAINS,\n FilterOperator.NOT_CONTAINS,\n FilterOperator.IS_EMPTY,\n FilterOperator.EXISTS,\n];\n\n/**\n * The source's filter behavior. Built once and held on the SchemaState, because\n * `filterableFields` reads it to decide whether a reference field is filterable\n * and the spine reads it again to build the filters themselves.\n */\nexport const schemaFilterConfig = (s: SchemaState<any>): FieldFilterConfig => ({\n textOperators: SCHEMA_TEXT_OPERATORS,\n numberIsDecimal: () => true,\n referenceItems: (field) => s.referenceCells.itemsFetcherFor(field),\n});\n\n/**\n * Builds the schema source's config, shaped as a FieldsSourceRendering. The spine\n * builds the field-management panel from this; the per-field actions come from\n * schemaFieldActions.\n */\nexport const schemaRendering = (\n s: SchemaState<any>,\n): FieldsSourceRendering => ({\n filterConfig: s.filterConfig,\n // A reference value is an expanded referenced item, which FieldCell can't\n // render — the label is in the referenced collection's display field.\n columnOverrides: (field): Partial<Column> => {\n if (field.type !== 'REFERENCE' && field.type !== 'MULTI_REFERENCE') {\n return {};\n }\n return {\n render: (row: unknown, rowNum: number) => (\n <ReferenceFieldCell\n state={s}\n field={field}\n row={row}\n fieldId={`${field.id}-${rowNum}`}\n />\n ),\n } as Partial<Column>;\n },\n schemaSource: s.sourceState.source,\n editableCellFor: (field) => s.referenceCells.cellFor(field),\n createFieldActionsMenu: createSchemaFieldActionsMenu(s),\n createFieldActionHandlers: (panel) => schemaFieldActionHandlers(s, panel),\n featuredPageActions: [],\n components: {\n FieldManagementModals,\n CustomColumns: CustomColumnsFull,\n CollectionToolbarFilters,\n ReferenceFieldFilter,\n },\n});\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,mBAAA,GAAAF,OAAA;AAIA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,yBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AAA+D,IAAAQ,YAAA;AAE/D;AACA,MAAMC,qBAAqB,GAAG,CAC5BC,uBAAc,CAACC,QAAQ,EACvBD,uBAAc,CAACE,YAAY,EAC3BF,uBAAc,CAACG,QAAQ,EACvBH,uBAAc,CAACI,MAAM,CACtB;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAIC,CAAmB,KAAyB;EAC7EC,aAAa,EAAER,qBAAqB;EACpCS,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,cAAc,EAAGC,KAAK,IAAKJ,CAAC,CAACK,cAAc,CAACC,eAAe,CAACF,KAAK;AACnE,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AAJAG,OAAA,CAAAR,kBAAA,GAAAA,kBAAA;AAKO,MAAMS,eAAe,GAC1BR,CAAmB,KACQ;EAC3BS,YAAY,EAAET,CAAC,CAACS,YAAY;EAC5B;EACA;EACAC,eAAe,EAAGN,KAAK,IAAsB;IAC3C,IAAIA,KAAK,CAACO,IAAI,KAAK,WAAW,IAAIP,KAAK,CAACO,IAAI,KAAK,iBAAiB,EAAE;MAClE,OAAO,CAAC,CAAC;IACX;IACA,OAAO;MACLC,MAAM,EAAEA,CAACC,GAAY,EAAEC,MAAc,kBACnChC,MAAA,CAAAiC,OAAA,CAAAC,aAAA,CAAC1B,mBAAA,CAAA2B,kBAAkB;QACjBC,KAAK,EAAElB,CAAE;QACTI,KAAK,EAAEA,KAAM;QACbS,GAAG,EAAEA,GAAI;QACTM,OAAO,EAAE,GAAGf,KAAK,CAACgB,EAAE,IAAIN,MAAM,EAAG;QAAAO,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAA/B,YAAA;UAAAgC,UAAA;UAAAC,YAAA;QAAA;MAAA,CAClC;IAEL,CAAC;EACH,CAAC;EACDC,YAAY,EAAE1B,CAAC,CAAC2B,WAAW,CAACC,MAAM;EAClCC,eAAe,EAAGzB,KAAK,IAAKJ,CAAC,CAACK,cAAc,CAACyB,OAAO,CAAC1B,KAAK,CAAC;EAC3D2B,sBAAsB,EAAE,IAAAC,gDAA4B,EAAChC,CAAC,CAAC;EACvDiC,yBAAyB,EAAGC,KAAK,IAAK,IAAAC,6CAAyB,EAACnC,CAAC,EAAEkC,KAAK,CAAC;EACzEE,mBAAmB,EAAE,EAAE;EACvBC,UAAU,EAAE;IACVC,qBAAqB,EAArBA,4CAAqB;IACrBC,aAAa,EAAEC,oCAAiB;IAChCC,wBAAwB,EAAxBA,kDAAwB;IACxBC,oBAAoB,EAApBA;EACF;AACF,CAAC,CAAC;AAACnC,OAAA,CAAAC,eAAA,GAAAA,eAAA","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_ = "ScrollableContent1577230745";
8
+ var _namespace_ = "ScrollableContent53616448";
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": "ScrollableContent1577230745__root"
15
+ "root": "ScrollableContent53616448__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/components/ScrollableContent/ScrollableContent.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ScrollableContent1577230745\";\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\":\"ScrollableContent1577230745__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,6BAA6B;AAC/C,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;AAAmC,CAAC;AAC1D,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/components/ScrollableContent/ScrollableContent.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ScrollableContent53616448\";\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\":\"ScrollableContent53616448__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,2BAA2B;AAC7C,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;AAAiC,CAAC;AACxD,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":[]}