@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
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n query.sort.value\n .filter(({ field }) => !tableColumnsIds.has(field))\n .forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({ customOrigin }: { customOrigin?: string } = {}) => {\n return this.collectionFieldsSource?.openFieldModal({ customOrigin });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAcA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAAE,MAAA,GAAAF,OAAA;AAMkBG,OAAA,CAAAC,QAAA,GAAAF,MAAA,CAAAE,QAAA;AAWlB,IAAAC,gBAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAGA,IAAAO,kBAAA,GAAAP,OAAA;AAMA,IAAAQ,gBAAA,GAAAR,OAAA;AAGA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,uBAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AAUA,IAAAY,aAAA,GAAAZ,OAAA;AAEA,IAAAa,iBAAA,GAAAb,OAAA;AAqBO,MAAMc,sBAAsB,CAAuC;EAsGxEC,WAAWA,CAACC,MAA0C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BApG7B,IAAAC,sBAAa,EAGrC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,oBACgB,IAAIE,kBAAS,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAOL;MAC5BG,iBAAiB,EAAE,IAAIC,iBAAQ,CAAuB,IAAI,CAAC;MAC3DC,qBAAqB,EAAE,IAAID,iBAAQ,CAGzB,IAAI,CAAC;MACfE,YAAY,EAAE,IAAIF,iBAAQ,CAAsB,IAAI,CAAC;MACrDG,WAAW,EAAE,IAAIH,iBAAQ,CAA0B,IAAI,CAAC;MACxDI,YAAY,EAAE,IAAIJ,iBAAQ,CAAsB,IAAI,CAAC;MACrDK,WAAW,EAAE,IAAIL,iBAAQ,CAA0B,IAAI;IACzD,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAYwB,EAAE;IAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BACDU,gBAAU,CAACC,KAAK,CAAC,CAAC;IAAE;IAAA,IAAAZ,gBAAA,CAAAC,OAAA,4BACnB,EAAE;IAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAChBY,SAAS;IAAA,IAAAb,gBAAA,CAAAC,OAAA,8BAC4B,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yCAC1B,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BACO,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BACS,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yBACN;MACrDa,OAAO,EAAE;IACX,CAAC;IAAA,IAAAd,gBAAA,CAAAC,OAAA,kCAC4D,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAC5C,IAAIc,GAAG,CAAkC,CAAC;IAAA,IAAAf,gBAAA,CAAAC,OAAA,+BACP,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BACM,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0CACrC,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gBACA,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAEA,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBACmB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCACX,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAC/C,IAAII,iBAAQ,CAA8B,CAAC,CAAC,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,gCACT,CAAC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0CACkB,CAAC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBAC9D,IAAII,iBAAQ,CAIvBQ,SAAS,CAAC;IAAA,IAAAb,gBAAA,CAAAC,OAAA,0BACK,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BACA,GAAG,IAAI,CAACe,cAAc,IAAI;IAAA,IAAAhB,gBAAA,CAAAC,OAAA,6BAEzB,IAAAU,gBAAU,EAG3B;MACDM,MAAM,EAAE,IAAI;MACZC,GAAG,EAAE;IACP,CAAC,CAAC;IAAA,IAAAlB,gBAAA,CAAAC,OAAA,kCACsC,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCACpB,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BAGrBY,SAAS;IAAA,IAAAb,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IASb;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BAGI,CAAC,CAAC;IACN;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEA;IACA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sCAC6B,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BAEhB,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAEoBY,SAAS;IAmSpD;AACF;AACA;AACA;AACA;IAJE,IAAAb,gBAAA,CAAAC,OAAA,8BAKqB,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCA6EF,MAEnB;MAAA,IAAAkB,gBAAA,EAAAC,iBAAA;MACH,MAAM;QACJC,UAAU,EAAE;UACVC,MAAM,EAAE;YAAEC;UAAY;QACxB;MACF,CAAC,GAAG,IAAI;MAER,OAAO;QACLC,SAAS,GAAAL,gBAAA,GAAE,IAAI,CAACM,UAAU,cAAAN,gBAAA,GAAfA,gBAAA,CAAiBO,KAAK,CAACC,WAAW,qBAAlCR,gBAAA,CAAoCS,EAAE;QACjDC,QAAQ,EAAE,IAAI,CAACC,iBAAiB,CAAC,CAAC;QAClCC,gBAAgB,EAAE,CAAAX,iBAAA,GAAAG,WAAW,CAACS,IAAI,aAAhBZ,iBAAA,CAAkBa,MAAM,GACtCC,IAAI,CAACC,SAAS,CAACZ,WAAW,CAACS,IAAI,CAAC,GAChCnB,SAAS;QACbuB,cAAc,EAAEF,IAAI,CAACC,SAAS,CAACZ,WAAW,CAACc,UAAU,CAAC;QACtDC,qBAAqB,EAAE,IAAI,CAACjB,UAAU,CAACC,MAAM,CAACiB;MAChD,CAAC;IACH,CAAC;IAAA,IAAAvC,gBAAA,CAAAC,OAAA,2BAyJkBuC,MAAc,IAAK;MACpC,MAAM;QAAEZ,EAAE;QAAEa,aAAa;QAAEC,QAAQ;QAAEC;MAAiC,CAAC,GACrEH,MAAM;MAER,OAAO;QACLZ,EAAE;QACFgB,UAAU,EACR,CAACF,QAAQ,IAAIC,gCAAgC,IAAI,CAACF;MACtD,CAAC;IACH,CAAC;IAAA,IAAAzC,gBAAA,CAAAC,OAAA,kCAoDwB,MAAM;MAC7B,MAAM;QACJ4C,eAAe;QACfC,kBAAkB;QAClBC,kBAAkB;QAClBC;MACF,CAAC,GAAG,IAAI;;MAER;MACA,IAAID,kBAAkB,IAAI,IAAI,IAAIC,6BAA6B,EAAE;QAC/D;QACA,IAAIF,kBAAkB,EAAE;UACtB,MAAM;YAAEG;UAAS,CAAC,GAAGH,kBAAkB;UACvC,MAAMI,aAAa,GAAGJ,kBAAkB,CAACK,eAAe,CAAC,CAAC;UAC1D,IAAAC,iBAAW,EAAC,MAAM;YAChBP,eAAe,CAACQ,YAAY,GAAG,IAAI,CAACC,OAAO,CAACC,GAAG,CAAEC,GAAG,IAAK;cACvD,MAAM;gBAAE5B,EAAE;gBAAEgB;cAAW,CAAC,GAAG,IAAI,CAACa,eAAe,CAACD,GAAG,CAAC;cACpD,OAAO;gBAAE5B,EAAE;gBAAEgB;cAAW,CAAC;YAC3B,CAAC,CAAC;UACJ,CAAC,CAAC;UACF,IAAIK,QAAQ,CAACS,MAAM,CAACC,SAAS,IAAIb,kBAAkB,CAACc,QAAQ,EAAE;YAC5Df,eAAe,CAACgB,OAAO,CAACX,aAAa,CAAC;UACxC,CAAC,MAAM;YACLL,eAAe,CAACiB,QAAQ,CAACZ,aAAa,CAAC;UACzC;QACF;MACF,CAAC,MAAM;QACL,MAAMa,UAAU,GAAG,IAAI,CAACT,OAAO,CAACC,GAAG,CAAC,CAAC;UAAE3B;QAAG,CAAC,MAAM;UAC/CA,EAAE;UACFgB,UAAU,EAAE;QACd,CAAC,CAAC,CAAC;QACHC,eAAe,CAACQ,YAAY,GAAGU,UAAU;QACzClB,eAAe,CAACiB,QAAQ,CAACC,UAAU,CAAC;MACtC;IACF,CAAC;IAAA,IAAA/D,gBAAA,CAAAC,OAAA,0BAuDgB,MAAM;MACrB,IAAI,CAAC+D,SAAS,CAACC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAA,IAAAjE,gBAAA,CAAAC,OAAA,2BAMiB,IAAAiE,YAAM,EAAC,MAAM;MAC7B,MAAM;QAAEjB,QAAQ;QAAEkB;MAAM,CAAC,GAAG,IAAI;MAEhC,IAAIlB,QAAQ,CAACS,MAAM,CAACU,OAAO,EAAE;QAC3BnB,QAAQ,CAACoB,OAAO,CAAC,CAAC;MACpB,CAAC,MAAM;QACLF,KAAK,CAACG,eAAe,CAAC,CAAC;MACzB;IACF,CAAC,CAAC;IAAA,IAAAtE,gBAAA,CAAAC,OAAA,8BAEmB,MAAM;MACzB,IAAI,CAACsE,IAAI,CAACC,mBAAmB,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;IACnD,CAAC;IAAA,IAAA1E,gBAAA,CAAAC,OAAA,8BAoBgE,IAAAiE,YAAM,EACrE,CAACS,YAAY,EAAEC,MAAM,KAAK;MACxB,IAAIA,MAAM,IAAI,IAAI,EAAE;QAClB;MACF;MAEA,MAAM;QAAEC,MAAM;QAAEN;MAAK,CAAC,GAAG,IAAI;MAE7BM,MAAM,CAACC,cAAc,CAAC,CAAC;MAEvB,QAAQF,MAAM,CAACG,IAAI;QACjB,KAAK,KAAK;UACRR,IAAI,CAACS,eAAe,CAAC;YAAEC,QAAQ,EAAE;UAAW,CAAC,CAAC;UAC9C;QACF,KAAK,MAAM;UACTV,IAAI,CAACW,WAAW,CAAC;YAAED,QAAQ,EAAE;UAAW,CAAC,CAAC;UAC1C;QACF,KAAK,eAAe;UAClB,IAAIL,MAAM,CAACO,KAAK,EAAE;YAChBZ,IAAI,CAACa,SAAS,CAACR,MAAM,CAAChD,EAAE,CAAC;UAC3B,CAAC,MAAM;YACL2C,IAAI,CAACc,WAAW,CAACT,MAAM,CAAChD,EAAE,CAAC;UAC7B;UACA;MACJ;IACF,CACF,CAAC;IAAA,IAAA5B,gBAAA,CAAAC,OAAA,gCAEsB,CAAC;MAAEqF;IAAwC,CAAC,GAAG,CAAC,CAAC,KAAK;MAAA,IAAAC,qBAAA;MAC3E,QAAAA,qBAAA,GAAO,IAAI,CAACC,sBAAsB,qBAA3BD,qBAAA,CAA6BE,cAAc,CAAC;QAAEH;MAAa,CAAC,CAAC;IACtE,CAAC;IAAA,IAAAtF,gBAAA,CAAAC,OAAA,+BAEqB,MAAM;MAAA,IAAAyF,qBAAA;MAC1B,QAAAA,qBAAA,GAAO,IAAI,CAACC,mBAAmB,qBAAxBD,qBAAA,CAA0BE,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAAA,IAAA5F,gBAAA,CAAAC,OAAA,mCAEyB,MAAO4F,KAAU,IAAK;MAC9C,MAAM,IAAI,CAACC,sBAAsB,CAACD,KAAK,CAAC;MAExC,IAAI,CAACE,iBAAiB,CAACC,kBAAkB,CAACH,KAAK,CAAC;IAClD,CAAC;IAAA,IAAA7F,gBAAA,CAAAC,OAAA,kCAEwB,MAAO4F,KAAU,IAAK;MAAA,IAAAI,qBAAA,EAAAC,qBAAA;MAC7C,MAAM;QAAE7E;MAAW,CAAC,GAAG,IAAI;MAC3B,MAAM;QAAE8E;MAAM,CAAC,GAAG9E,UAAU;MAE5B8E,KAAK,CAACC,YAAY,CAAC,CAAC;MACpBD,KAAK,CAACE,YAAY,CAAC,CAAC;MAEpB,MAAMhF,UAAU,CAACiF,yBAAyB,CAAC;QAAEC,KAAK,EAAE;MAAK,CAAC,CAAC;MAE3D,CAAAN,qBAAA,GAAA5E,UAAU,CAACmF,kBAAkB,aAA7BP,qBAAA,CAA+BQ,UAAU,CAACZ,KAAK,EAAE;QAC/Ca,MAAM,EAAE,MAAAA,CAAA,KAAYb;MACtB,CAAC,CAAC;MAEF,CAAAK,qBAAA,GAAA7E,UAAU,CAACsF,iBAAiB,aAA5BT,qBAAA,CAA8BU,QAAQ,YAAtCV,qBAAA,CAA8BU,QAAQ,CAAG;QACvC1F,GAAG,EAAE,CAAC;QACN2F,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ,CAAC;IAtxBC,IAAI,CAACxF,UAAU,GAAGtB,MAAM,CAACsB,UAAU;IACnC,IAAI,CAACyF,SAAS,GAAG/G,MAAM,CAAC+G,SAAS;IACjC,IAAI,CAACC,aAAa,GAAGhH,MAAM,CAACgH,aAAa;IAEzC,IAAI,CAACC,OAAO,GAAG,IAAIC,0BAAY,CAAC,IAAI,CAAC;IAErC,IAAI,CAACC,cAAc,GAAG,IAAIC,uBAAc,CAAC;MACvCC,aAAa,EAAE,IAAI,CAACL,aAAa;MACjC1F,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BgG,eAAe,EAAE,IAAI,CAACP,SAAS,CAACO;IAClC,CAAC,CAAC;IAEF,IAAI,CAAClD,KAAK,GAAG,IAAImD,+BAAsB,CAAI;MACzCC,WAAW,EAAE,CAAC,IAAI,CAAClG,UAAU;IAC/B,CAAC,CAAC;IAEF,IAAI,CAACmG,gBAAgB,GAAG,IAAIC,oBAAS,CAAC1H,MAAM,CAAC;IAC7C,IAAI,CAAC2H,WAAW,GAAG,IAAID,oBAAS,CAAC1H,MAAM,CAAC;IAExC,IAAI,CAAC8E,MAAM,GAAG,IAAI8C,gCAAe,CAAC;MAChCb,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBc,cAAc,EAAE,IAAI,CAACvG,UAAU,CAACwG;IAClC,CAAC,CAAC;IAEF,IAAI,CAAC9B,iBAAiB,GAAG,IAAI+B,oCAAiB,CAAO;MACnDd,OAAO,EAAE,IAAI;MACb3F,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3B0G,QAAQ,EAAGC,EAAE,IAAK;QAChB,IAAI,CAACD,QAAQ,CAAC;UACZ,GAAGC,EAAE;UACLjI,MAAM,EAAE;YACN,GAAG,IAAI,CAACkI,sBAAsB,CAAC,CAAC;YAChC,GAAGD,EAAE,CAACjI;UACR;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,IAAI,CAACwE,IAAI,GAAG,IAAI2D,8CAAsB,CAAC;MACrCnC,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzClB,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBV,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBgE,SAAS,EAAE,IAAI,CAACrB,SAAS,CAACqB,SAAS;MACnCC,WAAW,EAAEA,CAAA,KAAM;QAAA,IAAAC,qBAAA;QACjB,CAAAA,qBAAA,OAAI,CAAChH,UAAU,CAACsF,iBAAiB,aAAjC0B,qBAAA,CAAmCzB,QAAQ,CAAC;UAC1C1F,GAAG,EAAE,CAAC;UACNoH,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,GAAG,CACf,IAAI,CAACzB,SAAS,CAAC0B,WAAW,CAACC,WAAW,EACtC,IAAI,CAACpH,UAAU,CAACwG,SAAS,CAC1B,CAACa,IAAI,CAAC,GAAG,CAAC;IAEX,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAI,CAAC7B,SAAS,CAAC8B,gBAAgB,CAAC;MACtDD,WAAW,EAAE;QACXJ,SAAS,EAAE,IAAI,CAACA;MAClB;IACF,CAAC,CAAC;IAEF,IAAI,CAACI,WAAW,GAAGA,WAAW;IAE9B,MAAME,YAAY,GAAG9I,MAAM,CAACgI,QAAQ,IAAI,IAAI,CAACjB,SAAS,CAACiB,QAAQ;IAE/D,IAAI,CAACA,QAAQ,GAAIC,EAAE,IAAK;MACtBa,YAAY,CAAC;QACX,GAAGb,EAAE;QACLjI,MAAM,EAAE;UACN,GAAG,IAAI,CAACkI,sBAAsB,CAAC,CAAC;UAChC,GAAGD,EAAE,CAACjI;QACR;MACF,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC+I,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CjC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzB6B,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BK,IAAI,EAAE,IAAI,CAACT;IACb,CAAC,CAAC;IAEF,IAAAU,oBAAc,EAAC,IAAI,EAAE;MACnBC,kBAAkB,EAAEvI,gBAAU,CAACwI,GAAG;MAClCC,YAAY,EAAEzI,gBAAU,CAACwI,GAAG;MAC5BE,gBAAgB,EAAE1I,gBAAU,CAACwI,GAAG;MAChC7F,OAAO,EAAEgG,cAAQ;MACjBtG,6BAA6B,EAAErC,gBAAU,CAACwI,GAAG;MAC7CI,UAAU,EAAE5I,gBAAU,CAACwI,GAAG;MAC1BK,qBAAqB,EAAE7I,gBAAU,CAACwI,GAAG;MACrCpG,kBAAkB,EAAEpC,gBAAU,CAACwI,GAAG;MAClCM,YAAY,EAAE9I,gBAAU,CAACwI,GAAG;MAC5BO,wBAAwB,EAAEJ,cAAQ;MAClCK,wBAAwB,EAAEL,cAAQ;MAClCM,iBAAiB,EAAEN,cAAQ;MAC3BO,cAAc,EAAEP,cAAQ;MACxBQ,cAAc,EAAER,cAAQ;MACxBS,uBAAuB,EAAET,cAAQ;MACjCU,aAAa,EAAEV,cAAQ;MACvBW,2BAA2B,EAAE/F,YAAM;MACnCgG,0BAA0B,EAAEhG,YAAM;MAClCiG,qBAAqB,EAAExJ,gBAAU,CAACwI,GAAG;MACrCiB,eAAe,EAAEzJ,gBAAU,CAACwI,GAAG;MAC/BkB,8BAA8B,EAAE1J,gBAAU,CAACwI,GAAG;MAC9CmB,cAAc,EAAEhB,cAAQ;MACxBiB,kBAAkB,EAAEjB,cAAQ;MAC5BkB,aAAa,EAAEtG,YAAM;MACrBuG,gBAAgB,EAAEvG,YAAM;MACxBwG,kBAAkB,EAAExG,YAAM;MAC1B+D,sBAAsB,EAAE/D,YAAM;MAC9ByG,yBAAyB,EAAEzG,YAAM;MACjC0G,iCAAiC,EAAE1G,YAAM;MACzC2G,oBAAoB,EAAEvB,cAAQ;MAC9BwB,eAAe,EAAEnK,gBAAU,CAACwI,GAAG;MAC/B4B,kBAAkB,EAAEpK,gBAAU,CAACwI;IACjC,CAAC,CAAC;EACJ;EAEA,IAAIa,aAAaA,CAAA,EAAG;IAClB,MAAM;MAAExC,gBAAgB;MAAEE,WAAW;MAAEsD;IAAe,CAAC,GAAG,IAAI;IAE9D,IAAIA,cAAc,IAAIxD,gBAAgB,CAACyD,IAAI,CAAChK,MAAM,EAAE;MAClD,OAAO;QACL,GAAGuG,gBAAgB,CAACyD;MACtB,CAAC;IACH;IAEA,IAAIzD,gBAAgB,CAACyD,IAAI,CAAC3C,IAAI,IAAIZ,WAAW,CAACuD,IAAI,CAAC3C,IAAI,EAAE;MACvD,MAAMpH,GAAG,GAAGwG,WAAW,CAACuD,IAAI,CAACC,MAAM;MACnC,MAAMA,MAAM,GAAGhK,GAAG,GAAGsG,gBAAgB,CAACyD,IAAI,CAAChK,MAAM;MACjD,MAAMqH,IAAI,GAAGZ,WAAW,CAACuD,IAAI,CAAC3C,IAAI;MAClC,MAAM6C,KAAK,GAAG7C,IAAI,GAAGZ,WAAW,CAACuD,IAAI,CAACG,KAAK;MAC3C,OAAO;QACL9C,IAAI;QACJ6C,KAAK;QACLjK,GAAG;QACHgK,MAAM;QACNjK,MAAM,EAAEiK,MAAM,GAAGhK,GAAG;QACpBkK,KAAK,EAAED,KAAK,GAAG7C;MACjB,CAAC;IACH;IAEA,OAAOzH,SAAS;EAClB;EAEA,IAAIwK,YAAYA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IACjB,QAAAA,mBAAA,GAAO,IAAI,CAACtB,aAAa,qBAAlBsB,mBAAA,CAAoBpK,GAAG;EAChC;;EAEA;AACF;AACA;EACE,IAAIqJ,kBAAkBA,CAAA,EAAG;IACvB,MAAM;MACJ7C,WAAW;MACX6D,iBAAiB;MACjBvK,cAAc;MACdgK,cAAc;MACdxD;IACF,CAAC,GAAG,IAAI;IAER,IAAIwD,cAAc,IAAIxD,gBAAgB,CAACyD,IAAI,CAAChK,MAAM,EAAE;MAClD,OAAOuG,gBAAgB,CAACyD,IAAI,CAAChK,MAAM;IACrC;IAEA,IACEyG,WAAW,CAACuD,IAAI,CAAChK,MAAM,IAAI,IAAI,IAC/ByG,WAAW,CAACuD,IAAI,CAAC/J,GAAG,IAAI,IAAI,IAC5BqK,iBAAiB,CAACtK,MAAM,IAAI,IAAI,IAChCsK,iBAAiB,CAACrK,GAAG,IAAI,IAAI,EAC7B;MACA,OAAO,CAAC;IACV;IAEA,IAAIsK,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC,OAAO,GAAG;IACZ;IAEA,MAAMC,gBAAgB,GAAGjE,WAAW,CAACuD,IAAI,CAAC/J,GAAG,GAAGqK,iBAAiB,CAACrK,GAAG;IAErE,OACEqK,iBAAiB,CAACtK,MAAM,GACxB0K,gBAAgB,GAChBjE,WAAW,CAACuD,IAAI,CAAChK,MAAM,GACvBD,cAAc;EAElB;EAEA,IAAI2I,wBAAwBA,CAAA,EAAG;IAC7B,MAAM;MAAEjC,WAAW;MAAEyC;IAAsB,CAAC,GAAG,IAAI;IACnD,IAAIzC,WAAW,CAACuD,IAAI,CAAChK,MAAM,IAAI,IAAI,EAAE;MACnC,OAAO,IAAI;IACb;IAEA,OAAOyG,WAAW,CAACuD,IAAI,CAAChK,MAAM,GAAGkJ,qBAAqB;EACxD;EAEA,IAAInG,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACa,MAAM,CAACb,SAAS;EAC9B;EAEA,IAAI4H,mBAAmBA,CAAA,EAAG;IACxB,OAAO,IAAI,CAAC/G,MAAM,CAAC+G,mBAAmB;EACxC;EAEA,IAAIhC,iBAAiBA,CAAA,EAAG;IACtB,MAAM;MAAEzF,KAAK;MAAElB;IAAS,CAAC,GAAG,IAAI;IAEhC,OACEkB,KAAK,CAACyF,iBAAiB,IACvB3G,QAAQ,CAACS,MAAM,CAACmI,SAAS,IACzB5I,QAAQ,CAACS,MAAM,CAACoI,MAAM;EAE1B;EAEA,IAAIjC,cAAcA,CAAA,EAAG;IACnB,MAAM;MACJD,iBAAiB;MACjBzF,KAAK,EAAE;QAAE4H,iBAAiB;QAAElC;MAAe;IAC7C,CAAC,GAAG,IAAI;IACR,OAAOA,cAAc,IAAI,CAACD,iBAAiB,IAAI,CAACmC,iBAAiB;EACnE;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,MAAM;MAAE/I,QAAQ;MAAEkB;IAAM,CAAC,GAAG,IAAI;IAChC,OAAOlB,QAAQ,CAAC+I,WAAW,IAAI7H,KAAK,CAAC6H,WAAW;EAClD;EAEA,IAAIlC,cAAcA,CAAA,EAAG;IACnB,MAAM;MACJF,iBAAiB;MACjBzF,KAAK,EAAE;QAAE4H,iBAAiB;QAAEjC;MAAe,CAAC;MAC5C7G;IACF,CAAC,GAAG,IAAI;IAER,OACE,CAAC6G,cAAc,IAAI7G,QAAQ,CAACS,MAAM,CAACU,OAAO,KAC1C,CAACwF,iBAAiB,IAClB,CAACmC,iBAAiB;EAEtB;EAEA,IAAIhC,uBAAuBA,CAAA,EAAG;IAC5B,MAAM;MAAEzJ;IAAsB,CAAC,GAAG,IAAI,CAAC2L,kBAAkB;IACzD,OAAO3L,qBAAqB,CAAC6E,KAAK,IAAI,IAAI;EAC5C;EAEA,IAAI+G,gBAAgBA,CAAA,EAAG;IAAA,IAAAC,UAAA;IACrB,QAAAA,UAAA,GAAO,IAAI,CAACC,IAAI,qBAATD,UAAA,CAAWD,gBAAgB;EACpC;EAEA,IAAIxC,wBAAwBA,CAAA,EAAG;IAAA,IAAA2C,qBAAA;IAC7B,MAAM;MAAE7G,sBAAsB;MAAEyG;IAAmB,CAAC,GAAG,IAAI;IAE3D,IAAIzG,sBAAsB,YAAtBA,sBAAsB,CAAEvC,QAAQ,CAACS,MAAM,CAACmI,SAAS,EAAE;MACrD,OAAO,KAAK;IACd;IAEA,OAAO,CAAC,GAAAQ,qBAAA,GAACJ,kBAAkB,CAAC3L,qBAAqB,CAAC6E,KAAK,aAA9CkH,qBAAA,CAAgDC,KAAK,CAACC,IAAI,CAACtK,MAAM;EAC5E;EAEA,IAAIqI,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACF,eAAe,IAAI,IAAI;EACrC;EAEA,IAAIoC,2BAA2BA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IAChC,QAAAA,qBAAA,GAAO,IAAI,CAACP,gBAAgB,qBAArBO,qBAAA,CAAuBD,2BAA2B;EAC3D;EAEA,IAAIE,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACzB,QAAAA,sBAAA,GAAO,IAAI,CAACT,gBAAgB,qBAArBS,sBAAA,CAAuBD,oBAAoB;EACpD;EAEA,IAAIpJ,OAAOA,CAAA,EAAa;IACtB,MAAM;MAAE8F,YAAY;MAAEwD,eAAe;MAAEvD;IAAiB,CAAC,GAAG,IAAI;IAChE;IACA;IACA;IACA;IACA,MAAMwD,YAAY,GAAG,IAAI9L,GAAG,CAACsI,gBAAgB,CAAC9F,GAAG,CAAEuJ,CAAC,IAAK,CAACA,CAAC,CAAClL,EAAE,EAAEkL,CAAC,CAAC,CAAC,CAAC;IACpE,MAAMC,MAAM,GAAG,CAAC,GAAG3D,YAAY,EAAE,GAAGwD,eAAe,CAAC,CAACrJ,GAAG,CAAEf,MAAM,IAAK;MACnE,MAAMwK,QAAQ,GAAGH,YAAY,CAACI,GAAG,CAACzK,MAAM,CAACZ,EAAE,CAAC;MAC5C,OAAOoL,QAAQ,GAAG;QAAE,GAAGA,QAAQ;QAAE,GAAGxK;MAAO,CAAC,GAAGA,MAAM;IACvD,CAAC,CAAC;IACF,MAAM0K,SAAS,GAAG,IAAIC,GAAG,CAACJ,MAAM,CAACxJ,GAAG,CAAEuJ,CAAC,IAAKA,CAAC,CAAClL,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAGmL,MAAM,EAAE,GAAG1D,gBAAgB,CAAC+D,MAAM,CAAEN,CAAC,IAAK,CAACI,SAAS,CAACG,GAAG,CAACP,CAAC,CAAClL,EAAE,CAAC,CAAC,CAAC;EAC7E;EASA,IAAI0L,2BAA2BA,CAAA,EAAG;IAChC,MAAM;MAAEhK,OAAO;MAAER,kBAAkB;MAAEgG;IAAiB,CAAC,GAAG,IAAI;IAE9D,MAAMyE,WAAW,GAAGzK,kBAAkB,GAClCA,kBAAkB,CAAC0K,sBAAsB,GACzClK,OAAO;IAEX,OAAO,CAAAwF,gBAAgB,oBAAhBA,gBAAgB,CAAE2E,UAAU,CAACF,WAAW,CAAC,KAAIA,WAAW;EACjE;EAEAtF,sBAAsBA,CAAC9B,KAAK,GAAG,IAAI,CAAC9E,UAAU,CAACC,MAAM,CAACC,WAAW,EAAE;IAAA,IAAAmM,qBAAA,EAAAC,iBAAA,EAAAC,kBAAA;IACjE,MAAM;MAAEvM,UAAU;MAAEI;IAAW,CAAC,GAAG,IAAI;IAEvC,OAAO;MACLsF,aAAa,EAAE,IAAI,CAACA,aAAa;MACjC,GAAG1F,UAAU,CAAC4G,sBAAsB,CAAC9B,KAAK,CAAC;MAC3C0H,UAAU,EAAE,IAAI,CAAC/L,iBAAiB,CAAC,CAAC;MACpC,IAAIL,UAAU,IAAI;QAAEE,WAAW,GAAA+L,qBAAA,GAAEjM,UAAU,CAACC,KAAK,CAACC,WAAW,qBAA5B+L,qBAAA,CAA8B9L;MAAG,CAAC,CAAC;MACpE,IAAI,CAAAH,UAAU,aAAAkM,iBAAA,GAAVlM,UAAU,CAAEC,KAAK,qBAAjBiM,iBAAA,CAAmBhM,WAAW,KAAI;QACpCmM,YAAY,EAAErM,UAAU,CAACC,KAAK,CAACC,WAAW,CAACoM;MAC7C,CAAC,CAAC;MACF,IAAI,CAAAtM,UAAU,aAAAmM,kBAAA,GAAVnM,UAAU,CAAEC,KAAK,cAAAkM,kBAAA,GAAjBA,kBAAA,CAAmBjM,WAAW,qBAA9BiM,kBAAA,CAAgCI,OAAO,KAAI;QAC7CC,gBAAgB,EAAE,IAAI,CAACC,oBAAoB,CACzCzM,UAAU,CAACC,KAAK,CAACC,WACnB;MACF,CAAC,CAAC;MACFwM,mBAAmB,EAAE,IAAI,CAACb,2BAA2B,CAClD/J,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAAC5B,EAAE,IAAI4B,GAAG,CAAC4K,KAAK,IAAI5K,GAAG,CAAC6K,IAAI,CAAC,CAC7C3F,IAAI,CAAC,GAAG,CAAC;MACZ4F,UAAU,EAAE,IAAI,CAAChB,2BAA2B,CAACrL,MAAM;MACnDsM,gBAAgB,EAAElN,UAAU,CAAC8E,KAAK,CAACqI;IACrC,CAAC;EACH;EAEAN,oBAAoBA,CAACO,IAAoB,EAAE;IACzC,IAAIR,gBAAgB,GAAG,CAAC;IAExB,IAAIQ,IAAI,CAACT,OAAO,EAAE;MAChB,KAAK,MAAMU,UAAU,IAAIC,MAAM,CAACC,IAAI,CAACH,IAAI,CAACT,OAAO,CAAC,EAAE;QAClD,MAAMZ,MAAM,GAAGqB,IAAI,CAACT,OAAO,CAACU,UAAU,CAAC;QAEvC,IAAItB,MAAM,IAAIA,MAAM,CAACjI,KAAK,EAAE;UAC1B,IAAI0J,KAAK,CAACC,OAAO,CAAC1B,MAAM,CAACjI,KAAK,CAAC,EAAE;YAC/B8I,gBAAgB,IAAIb,MAAM,CAACjI,KAAK,CAAClD,MAAM;UACzC,CAAC,MAAM,IAAImL,MAAM,CAACjI,KAAK,EAAE;YACvB8I,gBAAgB,IAAI,CAAC;UACvB;QACF;MACF;IACF;IAEA,OAAOA,gBAAgB;EACzB;EAEAnM,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MACJsI,eAAe;MACf/I,UAAU,EAAE;QACVC,MAAM,EAAE;UAAEC,WAAW,EAAE4E;QAAM;MAC/B;IACF,CAAC,GAAG,IAAI;IAER,MAAM4I,IAAI,GACR3E,eAAe,IACfuE,MAAM,CAACK,OAAO,CAAC7I,KAAK,CAAC8I,UAAU,CAAC,CAC7B7B,MAAM,CAAC,CAAC,CAAC8B,GAAG,CAAC,KAAKA,GAAG,KAAK9E,eAAe,CAACgD,MAAM,CAACiB,IAAI,CAAC,CACtDc,OAAO,CAAC,CAAC,GAAGhK,KAAK,CAAC,KACjB0J,KAAK,CAACC,OAAO,CAAC3J,KAAK,CAAC,GAChBA,KAAK,CAAC5B,GAAG,CAAC6G,eAAe,CAACgD,MAAM,CAACgC,OAAO,CAAC,GACzCjK,KACN,CAAC;IAEL,OAAO4J,IAAI,oBAAJA,IAAI,CAAG,CAAC,CAAC;EAClB;EAsBAM,gBAAgBA,CAAIjC,MAAS,EAAE;IAAA,IAAAkC,kBAAA;IAC7B,OAAO,EAAAA,kBAAA,OAAI,CAACC,YAAY,qBAAjBD,kBAAA,CAAmBE,mBAAmB,CAACpC,MAAM,CAAC,KAAIA,MAAM;EACjE;EAEAqC,IAAIA,CAAC;IACHC,oBAAoB;IACpBC,oBAAoB;IACpBC;EACsC,CAAC,EAAE;IAAA,IAAAC,sBAAA;IACzC,MAAM;MACJxO,UAAU;MACV8C,KAAK;MACLlB,QAAQ;MACR4B,MAAM;MACNb,SAAS;MACT2B,mBAAmB;MACnBpB,IAAI;MACJzB,kBAAkB;MAClBrB,UAAU;MACVqH;IACF,CAAC,GAAG,IAAI;IAER,MAAMgH,WAAW,GAAG3L,KAAK,CAACoD,WAAW,CAAChE,GAAG,CACtClC,UAAU,IACT,IAAI0O,6BAAoB,CAAC;MACvB1O,UAAU;MACV0G,QAAQ,EAAGC,EAAE,IAAK;QAChB,IAAI,CAACD,QAAQ,CAAC;UACZ,GAAGC,EAAE;UACLjI,MAAM,EAAE;YACN,GAAGsB,UAAU,CAAC4G,sBAAsB,CAAC,CAAC;YACtC,GAAGD,EAAE,CAACjI;UACR;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CACL,CAAC;;IAED;IACA,MAAMiQ,aAAa,GAAGN,oBAAoB,CACvCtC,MAAM,CAAE6C,CAAC,IAAqCA,CAAC,IAAI,IAAI,CAAC,CACxD1M,GAAG,CAAE2M,aAAa,IAAKA,aAAa,CAAC,IAAI,CAAC,CAAC;;IAE9C;IACA,IAAI,CAAChG,0BAA0B,CAACyF,oBAAoB,CAAC;IAErD,MAAMQ,SAAS,GAAG;IAChB;IACA;IACA;IACA,IAAAC,cAAQ,EACN;MAAA,IAAAC,iBAAA;MAAA,QAAAA,iBAAA,GAAM,IAAI,CAACC,WAAW,qBAAhBD,iBAAA,CAAkBE,QAAQ;IAAA,GAChC,CAACC,IAAI,EAAEC,IAAI,KAAK;MACd,IAAI,CAACD,IAAI,IAAI,CAACC,IAAI,IAAID,IAAI,KAAKC,IAAI,EAAE;QACnC;MACF;MACA,IAAI,IAAI,CAACC,0BAA0B,EAAE;QACnC,IAAI,CAACA,0BAA0B,GAAG,KAAK;QACvC,IAAI,CAACC,oBAAoB,GAAGH,IAAI;QAChC;MACF;MACA,IAAI,CAACI,oBAAoB,CAACH,IAAI,CAAC;MAC/B,IAAI,CAACE,oBAAoB,GAAG,IAAI,CAACE,2BAA2B,CAACL,IAAI,CAAC,GAC9DA,IAAI,GACJ3P,SAAS;IACf,CACF,CAAC,GAAAgP,sBAAA,GACD,IAAI,CAACrK,sBAAsB,qBAA3BqK,sBAAA,CAA6BJ,IAAI,CAAC,CAAC,EAAE;IACrC3M,kBAAkB,oBAAlBA,kBAAkB,CAAEgO,UAAU,CAAC,CAAC,EAChCrP,UAAU,oBAAVA,UAAU,CAAEgO,IAAI,CAAC,CAAC,EAClB3G,gBAAgB,oBAAhBA,gBAAgB,CAAE2G,IAAI,CAAC,CAAC;IACxB;IACA,GAAGO,aAAa,CAACzM,GAAG,CAAE0M,CAAC,IAAKA,CAAC,CAACR,IAAI,CAAC,CAAC,CAAC,EACrC,IAAAW,cAAQ,EACN,MAAM,IAAI,CAAC9C,2BAA2B,EACrChK,OAAO,IAAK;MACXjC,UAAU,CAAC8E,KAAK,CAAC4K,QAAQ,CAACC,OAAO,CAAC1N,OAAO,CAACC,GAAG,CAAEuJ,CAAC,IAAKA,CAAC,CAAClL,EAAE,CAAC,CAAC;IAC7D,CAAC,EACD;MACEqP,eAAe,EAAE;IACnB,CACF,CAAC,EACD9M,KAAK,CAACsL,IAAI,CAAC;MAAEG;IAAoB,CAAC,CAAC,EACnC,GAAGE,WAAW,CAACvM,GAAG,CAAE2N,CAAC,IAAKA,CAAC,CAACzB,IAAI,CAAC,CAAC,CAAC,EACnC5K,MAAM,CAAC4K,IAAI,CAAC,CAAC,EACbzL,SAAS,CAACyL,IAAI,CAAC,CAAC,EAChBlL,IAAI,CAACkL,IAAI,CAAC,CAAC,EACX9J,mBAAmB,oBAAnBA,mBAAmB,CAAE8J,IAAI,CAAC,CAAC,EAC3B,IAAA0B,sBAAgB,EACd9P,UAAU,CAAC+P,UAAU,CAACC,MAAM,EAC5B,WAAW,EACX,IAAI,CAAC9M,IAAI,CAAC+M,MAAM,CAACC,WAAW,CAACC,KAAK,CAACC,IACrC,CAAC,EACD,IAAAN,sBAAgB,EACd9P,UAAU,CAAC+P,UAAU,CAACC,MAAM,EAC5B,YAAY,EACZ,IAAI,CAAC9M,IAAI,CAAC+M,MAAM,CAACC,WAAW,CAACC,KAAK,CAACvN,KACrC,CAAC,EACD,IAAAkN,sBAAgB,EAAC,IAAI,CAAC9P,UAAU,CAACqQ,OAAO,EAAE,eAAe,EAAE,MAAM;MAC/D,IAAI,CAACC,SAAS,CAAC;QACbC,OAAO,EAAE,IAAI,CAAC9K,SAAS,CAACqB,SAAS,CAC/B,oCAAoC,EACpC;UAAE0J,GAAG,EAAE,IAAI,CAACxQ,UAAU,CAACC,MAAM,CAACiB;QAAM,CACtC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,CACH;IAED,MAAMuP,SAAS,GAAGrN,WAAW,CAACC,GAAG,CAAC,CAAC;IAEnCzB,QAAQ,CAACoB,OAAO,CAAC,YAAY;MAC3B,IAAI,CAAC0B,iBAAiB,CAACgM,SAAS,CAAC,CAAC;MAElC5N,KAAK,CAAClB,QAAQ,CAACoB,OAAO,CAAC,CAAC;MACxBvB,kBAAkB,YAAlBA,kBAAkB,CAAEG,QAAQ,CAACoB,OAAO,CAAC,CAAC;MAEtC2L,aAAa,CAACgC,OAAO,CAAC,CAAC;QAAE/O;MAAS,CAAC,KAAK;QACtC,IAAIA,QAAQ,EAAE;UACZA,QAAQ,CAACoB,OAAO,CAAC,CAAC;QACpB;MACF,CAAC,CAAC;MAEF,IAAI;QAAA,IAAA4N,qBAAA,EAAAC,sBAAA;QACF,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChBjO,KAAK,CAAClB,QAAQ,CAACS,MAAM,CAAC2O,OAAO,EAC7B1M,mBAAmB,aAAAsM,qBAAA,GAAnBtM,mBAAmB,CAAE1C,QAAQ,CAACS,MAAM,CAAC2O,OAAO,qBAA5CJ,qBAAA,CAA8CK,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAAA,CAAAJ,sBAAA,GACjE,IAAI,CAAC1M,sBAAsB,cAAA0M,sBAAA,GAA3BA,sBAAA,CAA6BjP,QAAQ,CAACS,MAAM,CAAC2O,OAAO,qBAApDH,sBAAA,CAAsDI,KAAK,CACzD,MAAM,IACR,CAAC,EAAE;QACHxP,kBAAkB,oBAAlBA,kBAAkB,CAAEG,QAAQ,CAACS,MAAM,CAAC2O,OAAO,EAC3CvJ,gBAAgB,oBAAhBA,gBAAgB,CAAE7F,QAAQ,CAACS,MAAM,CAAC2O,OAAO,EACzC,GAAGrC,aAAa,CAACzM,GAAG,CAAE0M,CAAC;UAAA,IAAAsC,WAAA;UAAA,QAAAA,WAAA,GAAKtC,CAAC,CAAChN,QAAQ,qBAAVsP,WAAA,CAAY7O,MAAM,CAAC2O,OAAO;QAAA,EAAC,CACxD,CAAC;QAEF,IAAI,CAACtM,iBAAiB,CAACyM,OAAO,CAACV,SAAS,CAAC;MAC3C,CAAC,CAAC,OAAOW,CAAC,EAAE;QACV,MAAMA,CAAC;MACT;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXtC,SAAS,CAAC6B,OAAO,CAAEU,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;EAEAzI,2BAA2BA,CAACR,YAAuC,EAAE;IACnE,IAAI,IAAI,CAACA,YAAY,KAAKA,YAAY,EAAE;MACtC,IAAI,CAACA,YAAY,GAAGA,YAAY;IAClC;EACF;EAaAe,aAAaA,CAACmI,YAA8B,EAAE;IAC5C,IAAI,CAACvJ,YAAY,GAAG,IAAAwJ,gCAAe,EAACD,YAAY,CAAC;EACnD;EAEAlI,gBAAgBA,CAACoI,aAA6B,EAAE;IAC9C,IAAI,CAACjG,eAAe,CAACkG,IAAI,CAAC,IAAAC,+BAAc,EAACF,aAAa,CAAC,CAAC;IAExD,IAAI,CAACG,sBAAsB,CAAC,CAAC;EAC/B;EAEAtI,kBAAkBA,CAACpH,OAAiB,EAAE;IACpC,IAAI,CAAC+F,gBAAgB,GAAG/F,OAAO;IAC/B,IAAI,CAAC0P,sBAAsB,CAAC,CAAC;EAC/B;EAEArB,SAASA,CAAC5R,MAAuB,EAAE;IAAA,IAAAkT,qBAAA;IACjC,CAAAA,qBAAA,OAAI,CAACC,aAAa,CAACpS,OAAO,aAA1BmS,qBAAA,CAA4BtB,SAAS,CAAC5R,MAAM,CAAC;EAC/C;EAEA6K,iCAAiCA,CAACzF,KAAc,EAAE;IAChD,IAAI,CAACkF,8BAA8B,GAAGlF,KAAK;EAC7C;EAEAgO,iBAAiBA,CAACC,QAAgB,EAAEhI,KAAa,EAAE;IAAA,IAAAiI,qBAAA;IACjD,CAAAA,qBAAA,OAAI,CAACvK,gBAAgB,aAArBuK,qBAAA,CAAuBF,iBAAiB,CAACC,QAAQ,EAAEhI,KAAK,CAAC;EAC3D;EAEAlB,0BAA0BA,CAACyF,oBAAoB,GAAG,KAAK,EAAE;IACvD,MAAM;MACJrM,OAAO;MACPjC,UAAU,EAAE;QAAE8E;MAAM;IACtB,CAAC,GAAG,IAAI;IAER,MAAMmN,sBAAsB,GAAGhQ,OAAO,CAAC8J,MAAM,CAC1C5J,GAAG,IACFA,GAAG,CAAC+P,QAAQ,KAAK,IAAI,IAAI/P,GAAG,CAAC5B,EAAE,IAAI,IAAI,IAAI4B,GAAG,CAACgQ,gBAAgB,IAAI,IACvE,CAAC;IAED,IAAIF,sBAAsB,CAACrR,MAAM,IAAI,CAACkE,KAAK,CAACnE,IAAI,CAACmD,KAAK,CAAClD,MAAM,EAAE;MAC7D,MAAMwR,SAAS,GAAGH,sBAAsB,CAAC/P,GAAG,CAAEf,MAAM,KAAM;QACxDkR,KAAK,EAAElR,MAAM,CAACZ,EAAE;QAChB+R,SAAS,EAAEnR,MAAM,CAACgR;MACpB,CAAC,CAAC,CAAC;MAEHrN,KAAK,CAACnE,IAAI,CAAC4R,YAAY,CACrBjE,oBAAoB,GAAG8D,SAAS,GAAGA,SAAS,CAACI,KAAK,CAAC,CAAC,EAAE,CAAC,CACzD,CAAC;IACH;EACF;EAsCAjD,oBAAoBA,CAACkD,MAAgB,EAAE;IACrC,IAAI,CAACC,mBAAmB,CAACD,MAAM,CAAC,GAAG,IAAI,CAACjR,eAAe,CAACsC,KAAK,CAAC5B,GAAG,CAC/D,CAAC;MAAE3B,EAAE;MAAEgB;IAAW,CAAC,MAAM;MAAEhB,EAAE;MAAEgB;IAAW,CAAC,CAC7C,CAAC;EACH;EAEAiO,2BAA2BA,CAACiD,MAAgB,EAAW;IAAA,IAAAE,qBAAA;IACrD,MAAMC,MAAM,GAAG,IAAI,CAACF,mBAAmB,CAACD,MAAM,CAAC;IAC/C,IAAI,CAACG,MAAM,EAAE;MACX,OAAO,KAAK;IACd;IACA;IACA,MAAMlH,MAAM,GAAG,IAAI,CAACzJ,OAAO,CAACC,GAAG,CAAEf,MAAM,IAAK;MAC1C,MAAM0R,WAAW,GAAGD,MAAM,CAACE,IAAI,CAAErH,CAAC,IAAKA,CAAC,CAAClL,EAAE,KAAKY,MAAM,CAACZ,EAAE,CAAC;MAC1D,IAAIsS,WAAW,IAAI,IAAI,EAAE;QACvB,OAAO,IAAI,CAACzQ,eAAe,CAACjB,MAAM,CAAC;MACrC;MACA,MAAM;QAAEZ,EAAE;QAAEc,QAAQ;QAAEC;MAAiC,CAAC,GAAGH,MAAM;MACjE,OAAO;QACLZ,EAAE;QACFgB,UAAU,EACRsR,WAAW,CAACtR,UAAU,IACtB,CAACF,QAAQ,IACTC,gCAAgC,KAAK;MACzC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACE,eAAe,CAACiB,QAAQ,CAC3B,CAAAkQ,qBAAA,OAAI,CAAClR,kBAAkB,aAAvBkR,qBAAA,CAAyBI,WAAW,GAChCrH,MAAM,CAAC/K,IAAI,CAAC,IAAAqS,kCAAgB,EAACJ,MAAM,EAAGxB,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAE7Q,EAAE,CAAC,CAAC,GACnDmL,MACN,CAAC;IACD,OAAO,IAAI;EACb;EAEAuH,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACP,mBAAmB,GAAG,CAAC,CAAC;EAC/B;EAEApJ,yBAAyBA,CAACgI,YAA8B,EAAE;IACxD,MAAM;MACJtR,UAAU,EAAE;QAAE8E;MAAM;IACtB,CAAC,GAAG,IAAI;IACR,MAAMoO,eAAe,GAAG,IAAIpH,GAAG,CAACwF,YAAY,CAACpP,GAAG,CAAEf,MAAM,IAAKA,MAAM,CAACZ,EAAE,CAAC,CAAC;IAExEuE,KAAK,CAACnE,IAAI,CAACmD,KAAK,CACbiI,MAAM,CAAC,CAAC;MAAEsG;IAAM,CAAC,KAAK,CAACa,eAAe,CAAClH,GAAG,CAACqG,KAAK,CAAC,CAAC,CAClD1B,OAAO,CAAEwC,CAAC,IAAK;MACdrO,KAAK,CAACnE,IAAI,CAACmD,KAAK,CAACsP,MAAM,CAACD,CAAC,CAAC;IAC5B,CAAC,CAAC;IACJrO,KAAK,CAACnE,IAAI,CAACqP,MAAM,CAACqD,IAAI,CAAC,QAAQ,CAAC;IAChC,IAAI,CAACrT,UAAU,CAACsT,YAAY,CAAC;MAAEC,WAAW,EAAE;IAAK,CAAC,CAAC;EACrD;EAMAC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAAChQ,MAAM,CAACiQ,aAAa,CAAC,SAAS,CAAC;EACtC;EAgBAC,yBAAyBA,CAAA,EAAG,CAAC;EAE7B,IAAIlK,oBAAoBA,CAAA,EAAG;IACzB,OAAOgE,KAAK,CAACmG,IAAI,CACf,IAAI,CAAC7Q,KAAK,CAACoD,WAAW,CACnB4H,OAAO,CAAC,CAAC;MAAEhJ;IAAM,CAAC,KACjBA,KAAK,CAAC0E,oBAAoB,CAACuC,MAAM,CAC/B,CAAC,CAAC6H,CAAC,EAAE7H,MAAM,CAAC,KAAKA,MAAM,KAAKjH,KAAK,CAAC+O,MACpC,CACF,CAAC,CACAC,MAAM,CACL,CAAC5R,GAAG,EAAE6R,KAAK,KAAK7R,GAAG,CAAC8R,GAAG,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,EACxC,IAAIrU,GAAG,CAAoC,CAC7C,CAAC,CACAuU,MAAM,CAAC,CACZ,CAAC;EACH;EA+DAC,sBAAsBA,CAAA,EAA4B;IAChD,MAAM;MAAE/P,sBAAsB;MAAEG;IAAoB,CAAC,GAAG,IAAI;IAC5D,OAAO,CAACH,sBAAsB,EAAEG,mBAAmB,CAAC,CACjDyH,MAAM,CACJqF,CAAC,IACAA,CAAC,IAAI,IACT,CAAC,CACArF,MAAM,CAAEqF,CAAC;MAAA,IAAA+C,QAAA;MAAA,OAAK,GAAAA,QAAA,GAAC/C,CAAC,CAACgD,KAAK,aAAPD,QAAA,CAASE,wBAAwB;IAAA,EAAC,CACjDvG,OAAO,CAAEsD,CAAC,IAAKA,CAAC,CAACkD,mBAAmB,CAAC;EAC1C;AACF;AAACzW,OAAA,CAAAW,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","staleSortEntries","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !tableColumnsIds.has(field),\n );\n\n // Runs on every column add/duplicate, where the sort is still valid.\n // re-sorting there clears the loaded rows and refetches from page 1.\n if (staleSortEntries.length === 0) {\n return;\n }\n\n staleSortEntries.forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({ customOrigin }: { customOrigin?: string } = {}) => {\n return this.collectionFieldsSource?.openFieldModal({ customOrigin });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.buildEditableFieldColumns = buildEditableFieldColumns;
5
+ exports.toValidationRules = toValidationRules;
5
6
  var _bexCore = require("@wix/bex-core");
6
7
  var _fieldTypeToCellType = require("./EditableTable/fieldTypeToCellType");
7
8
  // Types whose editable cell needs typeConfig the projection can't supply yet
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nfunction toValidationRules(field: Field): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: `${field.displayName} is required`,\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: `${field.displayName} must be one of the allowed values`,\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(field: Field): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: `${field.displayName} is required`,\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: `${field.displayName} must be one of the allowed values`,\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":";;;;;AAOA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA,MAAME,iBAAiB,GAAG,IAAIC,GAAG,CAAoB,CACnD,WAAW,EACX,iBAAiB,EACjB,SAAS,CACV,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,KAAY,EAAEC,UAAmC,EAAW;EAC7E,IAAIA,UAAU,EAAE;IACd,OAAO,CAAC,CAACA,UAAU,CAACC,aAAa;EACnC;EACA,OACEF,KAAK,CAACG,IAAI,KAAK,QAAQ,IACvBH,KAAK,CAACG,IAAI,KAAK,SAAS,IACxB,CAACN,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;AAEtC;AAEO,SAASE,iBAAiBA,CAACL,KAAY,EAAoB;EAAA,IAAAM,cAAA,EAAAC,eAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,iBAAA;EAChE,MAAMC,CAAC,GAAGX,KAAK,CAACY,UAAU;EAC1B,IAAI,CAACD,CAAC,EAAE;IACN,OAAO,EAAE;EACX;EACA,MAAME,KAAuB,GAAG,EAAE;EAClC,IAAIF,CAAC,CAACG,QAAQ,EAAE;IACdD,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,UAAU;MAChBa,OAAO,EAAE,GAAGhB,KAAK,CAACiB,WAAW;IAC/B,CAAC,CAAC;EACJ;EACA,IAAI,EAAAX,cAAA,GAAAK,CAAC,CAACO,WAAW,qBAAbZ,cAAA,CAAea,GAAG,KAAI,IAAI,EAAE;IAC9BN,KAAK,CAACE,IAAI,CAAC;MAAEZ,IAAI,EAAE,KAAK;MAAEiB,KAAK,EAAET,CAAC,CAACO,WAAW,CAACC,GAAG;MAAEH,OAAO,EAAE;IAAG,CAAC,CAAC;EACpE;EACA,IAAI,EAAAT,eAAA,GAAAI,CAAC,CAACO,WAAW,qBAAbX,eAAA,CAAec,GAAG,KAAI,IAAI,EAAE;IAC9BR,KAAK,CAACE,IAAI,CAAC;MAAEZ,IAAI,EAAE,KAAK;MAAEiB,KAAK,EAAET,CAAC,CAACO,WAAW,CAACG,GAAG;MAAEL,OAAO,EAAE;IAAG,CAAC,CAAC;EACpE;EACA,IAAI,EAAAR,oBAAA,GAAAG,CAAC,CAACW,iBAAiB,qBAAnBd,oBAAA,CAAqBe,SAAS,KAAI,IAAI,EAAE;IAC1CV,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,WAAW;MACjBiB,KAAK,EAAET,CAAC,CAACW,iBAAiB,CAACC,SAAS;MACpCP,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EACA,IAAI,EAAAP,qBAAA,GAAAE,CAAC,CAACW,iBAAiB,qBAAnBb,qBAAA,CAAqBe,SAAS,KAAI,IAAI,EAAE;IAC1CX,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,WAAW;MACjBiB,KAAK,EAAET,CAAC,CAACW,iBAAiB,CAACE,SAAS;MACpCR,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EACA,KAAAN,iBAAA,GAAIC,CAAC,CAACc,cAAc,aAAhBf,iBAAA,CAAkBgB,MAAM,EAAE;IAC5Bb,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,gBAAgB;MACtBwB,MAAM,EAAEhB,CAAC,CAACc,cAAc;MACxBT,OAAO,EAAE,GAAGhB,KAAK,CAACiB,WAAW;IAC/B,CAAC,CAAC;EACJ;EACA,OAAOJ,KAAK;AACd;;AAEA;AACA;AACA;AACA,SAASe,oBAAoBA,CAC3BC,UAA+B,EACP;EAAA,IAAAC,iBAAA;EACxB,MAAMC,aAAa,GAAGF,UAAU,CAACE,aAAc;EAC/C,MAAMC,aAAa,IAAAF,iBAAA,GAAGD,UAAU,CAACT,KAAK,qBAAhBU,iBAAA,CAAkBG,QAAQ;EAChD,MAAMA,QAAQ,GACZD,aAAa,KACZ,CAACZ,KAAc,EAAEP,KAAwB,KAAKmB,aAAa,CAACZ,KAAK,EAAEP,KAAK,CAAC,CAAC;EAC7E,OAAO;IAAE,GAAGkB,aAAa;IAAEE;EAAS,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CACvCC,MAAoB,EACpBC,eAAmE,EACxB;EAC3C,MAAMC,QAAQ,GAAG,OAAOF,MAAM,CAACG,YAAY,KAAK,UAAU;EAC1D,OAAOH,MAAM,CAACI,MAAM,CAACC,GAAG,CAAExC,KAAK,IAAK;IAAA,IAAAyC,qBAAA,EAAAC,mBAAA;IAClC,MAAMC,EAAE,GAAGR,MAAM,CAACS,gBAAgB,CAAC5C,KAAK,CAAC;IACzC,MAAM6B,UAAU,GAAG,IAAAgB,mCAA0B,EAACV,MAAM,EAAEnC,KAAK,CAAC;IAC5D,MAAMC,UAAU,GAAG4B,UAAU,YAAVA,UAAU,CAAEE,aAAa,GACxCH,oBAAoB,CAACC,UAAU,CAAC,GAChCiB,SAAS;IACb;IACA;IACA,MAAMC,UAAU,GAAG9C,UAAU,GACzB6C,SAAS,GACTjD,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC,GACjCiC,eAAe,oBAAfA,eAAe,CAAGpC,KAAK,CAAC,GACxB8C,SAAS;IACb,MAAME,QAAQ,GAAG/C,UAAU,GACvB,QAAQ,GACR,CAAA8C,UAAU,oBAAVA,UAAU,CAAEC,QAAQ,MACnBnD,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC,GAC9B,QAAQ,GACR8C,4CAAuB,CAACjD,KAAK,CAACG,IAAI,CAAC,IAAI,QAAQ,CAAC;IACxD,MAAMS,UAAU,GAAGP,iBAAiB,CAACL,KAAK,CAAC;IAC3C,MAAMkD,QAAQ,GACZb,QAAQ,IACR,CAACrC,KAAK,CAACmD,QAAQ,KACd,CAAC,CAACJ,UAAU,IAAIhD,SAAS,CAACC,KAAK,EAAEC,UAAU,CAAC,CAAC;IAChD,OAAO;MACL0C,EAAE;MACFK,QAAQ;MACR,IAAI/C,UAAU,IAAI;QAAEmD,UAAU,EAAEnD;MAAW,CAAC,CAAC;MAC7C,IAAI8C,UAAU,IAAI;QAAEK,UAAU,EAAEL,UAAU,CAACK;MAAW,CAAC,CAAC;MACxDpD,KAAK;MACLqD,KAAK,EAAErD,KAAK,CAACiB,WAAW;MACxBqC,IAAI,EAAEtD,KAAK,CAACiB,WAAW;MACvBsC,SAAS,EAAEvD,KAAK,CAACuD,SAAS;MAC1BJ,QAAQ,EAAEnD,KAAK,CAACmD,QAAQ;MACxBK,QAAQ,EAAE,IAAI;MACdC,QAAQ,EACN,CAAA5B,UAAU,aAAAY,qBAAA,GAAVZ,UAAU,CAAE6B,YAAY,qBAAxBjB,qBAAA,CAA0BgB,QAAQ,OAAAf,mBAAA,GAClC1C,KAAK,CAAC0D,YAAY,qBAAlBhB,mBAAA,CAAoBe,QAAQ,KAC5B,KAAK;MACPP,QAAQ;MACRtC,UAAU,EAAEA,UAAU,CAACc,MAAM,GAAGd,UAAU,GAAGkC,SAAS;MACtDa,QAAQ,EAAGC,IAAI,IAAKzB,MAAM,CAAC0B,YAAY,CAACD,IAAI,EAAE5D,KAAK,CAAC;MACpD8D,QAAQ,EAAEZ,QAAQ,GACd,CAACU,IAAI,EAAExC,KAAK,KACVe,MAAM,CAACG,YAAY,CAAEsB,IAAI,EAAE5D,KAAK,EAAEoB,KAAK,CAA4B,GACrE0B;IACN,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -86,6 +86,7 @@ function buildFieldColumns(source, columnOverrides, ctx = {
86
86
  isSystem: field.isSystem,
87
87
  isPrimary: field.isPrimary,
88
88
  fieldType: (0, _fieldTypePrefixIcons.toFieldType)(field.type),
89
+ fieldTypeIcons: definition == null ? void 0 : definition.display.icons,
89
90
  width: layout.width,
90
91
  align: layout.align,
91
92
  render: (row, rowNum) => /*#__PURE__*/_react.default.createElement(_FieldCell.FieldCell, {
@@ -96,7 +97,7 @@ function buildFieldColumns(source, columnOverrides, ctx = {
96
97
  __self: this,
97
98
  __source: {
98
99
  fileName: _jsxFileName,
99
- lineNumber: 78,
100
+ lineNumber: 79,
100
101
  columnNumber: 9
101
102
  }
102
103
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_FieldCell","_fieldTypePrefixIcons","_jsxFileName","LAYOUT_BY_TYPE","SHORT_TEXT","width","align","LONG_TEXT","URL","DATE","DATETIME","NUMBER","BOOLEAN","ARRAY","DOCUMENT","DEFAULT_LAYOUT","buildFieldColumns","source","columnOverrides","ctx","firstBuild","fields","map","field","_field$capabilities","id","columnIdForField","definition","resolveFieldTypeDefinition","layout","table","type","dataHook","name","displayName","title","hideable","sortable","capabilities","isPii","isSystem","isPrimary","fieldType","toFieldType","render","row","rowNum","default","createElement","FieldCell","value","getCellValue","fieldId","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/state/buildFieldColumns.tsx"],"sourcesContent":["import React from 'react';\nimport type { Field, FieldsSource, PatternsFieldType } from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { DataTableColumnAlign } from '@wix/design-system/dist/types/Table/DataTable';\nimport { Column } from '../model';\nimport { FieldCell } from '../components/FieldCell/FieldCell';\nimport { toFieldType } from '../utils/fieldTypePrefixIcons';\n\n/**\n * Column width and alignment per field type. These match the widths the table\n * used before this builder existed, so columns keep the same layout. Types not\n * listed fall back to DEFAULT_LAYOUT.\n */\nconst LAYOUT_BY_TYPE: Partial<\n Record<PatternsFieldType, { width: string; align: DataTableColumnAlign }>\n> = {\n SHORT_TEXT: { width: '150px', align: 'start' },\n LONG_TEXT: { width: '250px', align: 'start' },\n URL: { width: '250px', align: 'start' },\n DATE: { width: '150px', align: 'center' },\n DATETIME: { width: '200px', align: 'center' },\n NUMBER: { width: '100px', align: 'center' },\n BOOLEAN: { width: '100px', align: 'center' },\n ARRAY: { width: '150px', align: 'start' },\n DOCUMENT: { width: '180px', align: 'start' },\n};\n\nconst DEFAULT_LAYOUT = {\n width: '200px',\n align: 'start' as DataTableColumnAlign,\n};\n\nexport interface ColumnOverridesContext {\n /** True on the first push for a source, when every column starts hidden. */\n firstBuild: boolean;\n}\n\n/**\n * Builds table columns from a FieldsSource. Each column renders its value with\n * FieldCell by type. A source can replace any column property — including the\n * render function for media types — through columnOverrides.\n */\nexport function buildFieldColumns(\n source: FieldsSource,\n columnOverrides?: (\n field: Field,\n ctx: ColumnOverridesContext,\n ) => Partial<Column>,\n ctx: ColumnOverridesContext = { firstBuild: false },\n): Column[] {\n // align and dataHook aren't on Column but the WDS table reads them, so the\n // callback is left unannotated — annotating the literal as Column would reject\n // them as excess properties. The function still returns Column[].\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const layout = definition?.table\n ? {\n width: definition.table.width,\n align: definition.table.align ?? 'start',\n }\n : LAYOUT_BY_TYPE[field.type] ?? DEFAULT_LAYOUT;\n return {\n id,\n field,\n dataHook: id,\n name: field.displayName,\n title: field.displayName,\n hideable: true,\n sortable: field.capabilities?.sortable ?? false,\n isPii: field.isPii,\n isSystem: field.isSystem,\n isPrimary: field.isPrimary,\n fieldType: toFieldType(field.type),\n width: layout.width,\n align: layout.align,\n render: (row, rowNum) => (\n <FieldCell\n type={field.type}\n value={source.getCellValue(row, field)}\n fieldId={`${id}-${rowNum}`}\n definition={definition}\n />\n ),\n ...columnOverrides?.(field, ctx),\n };\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_FieldCell","_fieldTypePrefixIcons","_jsxFileName","LAYOUT_BY_TYPE","SHORT_TEXT","width","align","LONG_TEXT","URL","DATE","DATETIME","NUMBER","BOOLEAN","ARRAY","DOCUMENT","DEFAULT_LAYOUT","buildFieldColumns","source","columnOverrides","ctx","firstBuild","fields","map","field","_field$capabilities","id","columnIdForField","definition","resolveFieldTypeDefinition","layout","table","type","dataHook","name","displayName","title","hideable","sortable","capabilities","isPii","isSystem","isPrimary","fieldType","toFieldType","fieldTypeIcons","display","icons","render","row","rowNum","default","createElement","FieldCell","value","getCellValue","fieldId","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/state/buildFieldColumns.tsx"],"sourcesContent":["import React from 'react';\nimport type { Field, FieldsSource, PatternsFieldType } from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { DataTableColumnAlign } from '@wix/design-system/dist/types/Table/DataTable';\nimport { Column } from '../model';\nimport { FieldCell } from '../components/FieldCell/FieldCell';\nimport { toFieldType } from '../utils/fieldTypePrefixIcons';\n\n/**\n * Column width and alignment per field type. These match the widths the table\n * used before this builder existed, so columns keep the same layout. Types not\n * listed fall back to DEFAULT_LAYOUT.\n */\nconst LAYOUT_BY_TYPE: Partial<\n Record<PatternsFieldType, { width: string; align: DataTableColumnAlign }>\n> = {\n SHORT_TEXT: { width: '150px', align: 'start' },\n LONG_TEXT: { width: '250px', align: 'start' },\n URL: { width: '250px', align: 'start' },\n DATE: { width: '150px', align: 'center' },\n DATETIME: { width: '200px', align: 'center' },\n NUMBER: { width: '100px', align: 'center' },\n BOOLEAN: { width: '100px', align: 'center' },\n ARRAY: { width: '150px', align: 'start' },\n DOCUMENT: { width: '180px', align: 'start' },\n};\n\nconst DEFAULT_LAYOUT = {\n width: '200px',\n align: 'start' as DataTableColumnAlign,\n};\n\nexport interface ColumnOverridesContext {\n /** True on the first push for a source, when every column starts hidden. */\n firstBuild: boolean;\n}\n\n/**\n * Builds table columns from a FieldsSource. Each column renders its value with\n * FieldCell by type. A source can replace any column property — including the\n * render function for media types — through columnOverrides.\n */\nexport function buildFieldColumns(\n source: FieldsSource,\n columnOverrides?: (\n field: Field,\n ctx: ColumnOverridesContext,\n ) => Partial<Column>,\n ctx: ColumnOverridesContext = { firstBuild: false },\n): Column[] {\n // align and dataHook aren't on Column but the WDS table reads them, so the\n // callback is left unannotated — annotating the literal as Column would reject\n // them as excess properties. The function still returns Column[].\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const layout = definition?.table\n ? {\n width: definition.table.width,\n align: definition.table.align ?? 'start',\n }\n : LAYOUT_BY_TYPE[field.type] ?? DEFAULT_LAYOUT;\n return {\n id,\n field,\n dataHook: id,\n name: field.displayName,\n title: field.displayName,\n hideable: true,\n sortable: field.capabilities?.sortable ?? false,\n isPii: field.isPii,\n isSystem: field.isSystem,\n isPrimary: field.isPrimary,\n fieldType: toFieldType(field.type),\n fieldTypeIcons: definition?.display.icons,\n width: layout.width,\n align: layout.align,\n render: (row, rowNum) => (\n <FieldCell\n type={field.type}\n value={source.getCellValue(row, field)}\n fieldId={`${id}-${rowNum}`}\n definition={definition}\n />\n ),\n ...columnOverrides?.(field, ctx),\n };\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,14 @@ var _DateCustomFieldFilter = require("../components/CustomFieldFilters/DateCusto
12
12
  var _DateTimeCustomFieldFilter = require("../components/CustomFieldFilters/DateTimeCustomFieldFilter");
13
13
  var _OperatorFilterCustomFieldFilter = require("../components/CustomFieldFilters/OperatorFilterCustomFieldFilter");
14
14
  var _NumberRangeFilter = require("../components/NumberRangeFilter");
15
+ var _HasValueCustomFieldFilter = require("../components/CustomFieldFilters/HasValueCustomFieldFilter");
15
16
  var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/state/buildFieldFilters.tsx";
17
+ /**
18
+ * The reference filter, supplied by the source rather than imported here. It
19
+ * reaches the referenced item's avatar in `@wix/patterns-fields`, which every
20
+ * source would otherwise pay for — including sources with no reference fields.
21
+ */
22
+
16
23
  /**
17
24
  * The filter behavior a source supplies that the shared builder can't derive
18
25
  * from the neutral field type. The neutral type collapses distinct source types
@@ -25,10 +32,29 @@ const FILTER_COMPONENT_BY_TYPE = {
25
32
  SHORT_TEXT: _OperatorFilterCustomFieldFilter.OperatorFilterCustomFieldFilter,
26
33
  LONG_TEXT: _OperatorFilterCustomFieldFilter.OperatorFilterCustomFieldFilter,
27
34
  URL: _OperatorFilterCustomFieldFilter.OperatorFilterCustomFieldFilter,
35
+ EMAIL: _OperatorFilterCustomFieldFilter.OperatorFilterCustomFieldFilter,
36
+ RICH_TEXT: _OperatorFilterCustomFieldFilter.OperatorFilterCustomFieldFilter,
37
+ // The source matches an address against its formatted text.
38
+ ADDRESS: _OperatorFilterCustomFieldFilter.OperatorFilterCustomFieldFilter,
28
39
  NUMBER: _NumberRangeFilter.NumberRangeFilter,
29
40
  BOOLEAN: _CheckboxCustomFieldFilter.CheckboxCustomFieldFilter,
30
41
  DATE: _DateCustomFieldFilter.DateCustomFieldFilter,
31
- DATETIME: _DateTimeCustomFieldFilter.DateTimeCustomFieldFilter
42
+ DATETIME: _DateTimeCustomFieldFilter.DateTimeCustomFieldFilter,
43
+ // Types with no value to match against — filter them on emptiness alone.
44
+ TIME: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
45
+ IMAGE: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
46
+ VIDEO: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
47
+ AUDIO: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
48
+ MEDIA_GALLERY: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
49
+ DOCUMENT: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
50
+ MULTI_DOCUMENT: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
51
+ RICH_CONTENT: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
52
+ OBJECT: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
53
+ COLOR: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
54
+ ARRAY: _HasValueCustomFieldFilter.HasValueCustomFieldFilter
55
+ // REFERENCE / MULTI_REFERENCE are absent on purpose: their filter component
56
+ // is injected by the source (see ReferenceFilterComponent), so this file —
57
+ // which every source's filters go through — never pulls it in.
32
58
  };
33
59
 
34
60
  // Field type → the filter state registered on the collection query. Text fields
@@ -42,10 +68,26 @@ const filterFactoryByType = config => {
42
68
  SHORT_TEXT: stringFilter,
43
69
  LONG_TEXT: stringFilter,
44
70
  URL: stringFilter,
71
+ EMAIL: stringFilter,
72
+ RICH_TEXT: stringFilter,
73
+ ADDRESS: stringFilter,
45
74
  NUMBER: _bexCore.numberRangeFilter,
46
75
  BOOLEAN: _bexCore.idNameArrayFilter,
47
76
  DATE: _bexCore.dateRangeFilter,
48
- DATETIME: _bexCore.dateRangeFilter
77
+ DATETIME: _bexCore.dateRangeFilter,
78
+ TIME: _bexCore.idNameArrayFilter,
79
+ IMAGE: _bexCore.idNameArrayFilter,
80
+ VIDEO: _bexCore.idNameArrayFilter,
81
+ AUDIO: _bexCore.idNameArrayFilter,
82
+ MEDIA_GALLERY: _bexCore.idNameArrayFilter,
83
+ DOCUMENT: _bexCore.idNameArrayFilter,
84
+ MULTI_DOCUMENT: _bexCore.idNameArrayFilter,
85
+ RICH_CONTENT: _bexCore.idNameArrayFilter,
86
+ OBJECT: _bexCore.idNameArrayFilter,
87
+ COLOR: _bexCore.idNameArrayFilter,
88
+ ARRAY: _bexCore.idNameArrayFilter,
89
+ REFERENCE: _bexCore.idNameArrayFilter,
90
+ MULTI_REFERENCE: _bexCore.idNameArrayFilter
49
91
  };
50
92
  };
51
93
 
@@ -58,10 +100,20 @@ const resolveCustomFilter = (field, source) => {
58
100
  const customTypeConfig = (0, _bexCore.resolveFieldTypeDefinition)(source, field);
59
101
  return customTypeConfig && (0, _bexCore.isFilterTypeConfig)(customTypeConfig.filter) ? customTypeConfig.filter : undefined;
60
102
  };
103
+ const isReferenceField = field => field.type === 'REFERENCE' || field.type === 'MULTI_REFERENCE';
61
104
 
62
105
  /** A field gets an auto filter when its type maps to a filter element, or —
63
- * for a CUSTOM field — when its type definition declares a filter config. */
64
- const isFilterableField = (field, source) => field.type === 'CUSTOM' ? !!resolveCustomFilter(field, source) : isFilterableFieldType(field.type);
106
+ * for a CUSTOM field — when its type definition declares a filter config. A
107
+ * reference field also needs the source to reach the referenced collection. */
108
+ const isFilterableField = (field, source, config, ReferenceFilter) => {
109
+ if (field.type === 'CUSTOM') {
110
+ return !!resolveCustomFilter(field, source);
111
+ }
112
+ if (isReferenceField(field)) {
113
+ return !!ReferenceFilter && !!(config != null && config.referenceItems != null && config.referenceItems(field));
114
+ }
115
+ return isFilterableFieldType(field.type);
116
+ };
65
117
 
66
118
  /**
67
119
  * Registers a filter state per filterable field on the collection query, so the
@@ -69,7 +121,7 @@ const isFilterableField = (field, source) => field.type === 'CUSTOM' ? !!resolve
69
121
  * field that is already registered.
70
122
  */
71
123
  exports.isFilterableField = isFilterableField;
72
- const registerFieldFilters = (toolbar, source, config) => {
124
+ const registerFieldFilters = (toolbar, source, config, ReferenceFilter) => {
73
125
  const factoryByType = filterFactoryByType(config);
74
126
  source.filterableFields.forEach(field => {
75
127
  if (field.type === 'CUSTOM') {
@@ -85,6 +137,9 @@ const registerFieldFilters = (toolbar, source, config) => {
85
137
  toolbar.collection.query.addFilterIfNeeded(field.id, filter);
86
138
  return;
87
139
  }
140
+ if (isReferenceField(field) && !(ReferenceFilter && config.referenceItems != null && config.referenceItems(field))) {
141
+ return;
142
+ }
88
143
  const factory = factoryByType[field.type];
89
144
  if (!factory) {
90
145
  return;
@@ -98,7 +153,7 @@ const registerFieldFilters = (toolbar, source, config) => {
98
153
 
99
154
  /** Builds the toolbar filter element for a field, or null when it has none. */
100
155
  exports.registerFieldFilters = registerFieldFilters;
101
- const buildFieldFilterElement = (toolbar, field, config, source) => {
156
+ const buildFieldFilterElement = (toolbar, field, config, source, ReferenceFilter) => {
102
157
  const filter = toolbar.collection.filters[field.id];
103
158
  if (!filter) {
104
159
  return null;
@@ -125,7 +180,35 @@ const buildFieldFilterElement = (toolbar, field, config, source) => {
125
180
  __self: void 0,
126
181
  __source: {
127
182
  fileName: _jsxFileName,
128
- lineNumber: 157,
183
+ lineNumber: 234,
184
+ columnNumber: 7
185
+ }
186
+ });
187
+ }
188
+ if (isReferenceField(field)) {
189
+ const fetchItems = config.referenceItems == null ? void 0 : config.referenceItems(field);
190
+ if (!ReferenceFilter || !fetchItems) {
191
+ return null;
192
+ }
193
+ return /*#__PURE__*/_react.default.createElement(ReferenceFilter, {
194
+ key: field.id,
195
+ filter: filter,
196
+ fetchItems: fetchItems,
197
+ referencedCollectionId: field.referenceMetadata.referencedCollectionId,
198
+ fieldId: field.id,
199
+ accordionItemProps: {
200
+ label
201
+ },
202
+ toolbarItemProps: {
203
+ label
204
+ },
205
+ toolbarTagProps: {
206
+ label
207
+ },
208
+ __self: void 0,
209
+ __source: {
210
+ fileName: _jsxFileName,
211
+ lineNumber: 249,
129
212
  columnNumber: 7
130
213
  }
131
214
  });
@@ -154,13 +237,13 @@ const buildFieldFilterElement = (toolbar, field, config, source) => {
154
237
  __self: void 0,
155
238
  __source: {
156
239
  fileName: _jsxFileName,
157
- lineNumber: 173,
240
+ lineNumber: 268,
158
241
  columnNumber: 5
159
242
  }
160
243
  }));
161
244
  };
162
245
 
163
246
  /** Builds the toolbar filter elements for a source's filterable fields. */
164
- const buildFieldFilters = (toolbar, source, config) => source.filterableFields.map(field => buildFieldFilterElement(toolbar, field, config, source)).filter(el => el !== null);
247
+ const buildFieldFilters = (toolbar, source, config, ReferenceFilter) => source.filterableFields.map(field => buildFieldFilterElement(toolbar, field, config, source, ReferenceFilter)).filter(el => el !== null);
165
248
  exports.buildFieldFilters = buildFieldFilters;
166
249
  //# sourceMappingURL=buildFieldFilters.js.map