@wix/patterns 1.415.0 → 1.416.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 (411) 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/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  29. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  30. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  31. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  32. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  33. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  34. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  36. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  38. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  44. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  46. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  48. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  50. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  52. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  54. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  56. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/index.js +3 -1
  58. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js +232 -0
  60. package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -0
  61. package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.js +52 -0
  62. package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.js.map +1 -0
  63. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +44 -0
  64. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js.map +1 -0
  65. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.uni.driver.js +18 -0
  66. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.uni.driver.js.map +1 -0
  67. package/dist/cjs/components/EditableTable/cellTypes/multiReference/index.js +38 -0
  68. package/dist/cjs/components/EditableTable/cellTypes/multiReference/index.js.map +1 -0
  69. package/dist/cjs/components/EditableTable/cellTypes/multiReference/types.js +4 -0
  70. package/dist/cjs/components/EditableTable/cellTypes/multiReference/types.js.map +1 -0
  71. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  72. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  74. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  78. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  80. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  82. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  84. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  86. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  88. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  90. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/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/Fade/Fade.st.css.js +2 -2
  94. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  95. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  96. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  97. package/dist/cjs/components/ImportButton/CAIRO-4118-tasks.md +53 -0
  98. package/dist/cjs/components/ImportButton/ImportModal.uni.driver.js +0 -2
  99. package/dist/cjs/components/ImportButton/ImportModal.uni.driver.js.map +1 -1
  100. package/dist/cjs/components/ImportButton/ImportStepUpload.js +1 -12
  101. package/dist/cjs/components/ImportButton/ImportStepUpload.js.map +1 -1
  102. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  103. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  104. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  105. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  106. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  107. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  108. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  109. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  110. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  111. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  112. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  113. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  114. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  115. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  116. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  117. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  118. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  119. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  120. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  121. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  122. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  123. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  124. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  125. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  126. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  127. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  128. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  129. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  130. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +5 -5
  131. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  132. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  133. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  134. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  135. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  136. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  137. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  138. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  139. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  140. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  141. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  142. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  143. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  144. package/dist/cjs/components/common.st.css.js +4 -4
  145. package/dist/cjs/components/common.st.css.js.map +1 -1
  146. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  147. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  148. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  149. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  150. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  151. package/dist/cjs/styles.global.css +2 -2
  152. package/dist/cjs/version.js +1 -1
  153. package/dist/cjs/version.js.map +1 -1
  154. package/dist/docs/index.json +24 -24
  155. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  156. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  157. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  158. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  159. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  160. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  161. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  162. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  163. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  164. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  165. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  166. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  167. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  168. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  169. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  170. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  171. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  172. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  173. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  174. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  175. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  176. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  177. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  178. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  179. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  180. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  181. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  182. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  183. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  184. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  185. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  186. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  187. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  188. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  189. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  190. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  191. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  192. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  193. package/dist/esm/components/EditableTable/cellTypes/index.js +3 -1
  194. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  195. package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js +159 -0
  196. package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -0
  197. package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.js +43 -0
  198. package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.js.map +1 -0
  199. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +19 -0
  200. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -0
  201. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.uni.driver.js +14 -0
  202. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.uni.driver.js.map +1 -0
  203. package/dist/esm/components/EditableTable/cellTypes/multiReference/index.js +34 -0
  204. package/dist/esm/components/EditableTable/cellTypes/multiReference/index.js.map +1 -0
  205. package/dist/esm/components/EditableTable/cellTypes/multiReference/types.js +2 -0
  206. package/dist/esm/components/EditableTable/cellTypes/multiReference/types.js.map +1 -0
  207. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  208. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  209. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  210. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  211. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  212. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  213. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  214. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  215. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  216. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  217. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  218. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  219. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  220. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  221. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  222. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  223. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  224. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  225. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  226. package/dist/esm/components/ImportButton/CAIRO-4118-tasks.md +53 -0
  227. package/dist/esm/components/ImportButton/ImportModal.uni.driver.js +0 -2
  228. package/dist/esm/components/ImportButton/ImportModal.uni.driver.js.map +1 -1
  229. package/dist/esm/components/ImportButton/ImportStepUpload.js +3 -4
  230. package/dist/esm/components/ImportButton/ImportStepUpload.js.map +1 -1
  231. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  232. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  233. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  234. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  235. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  236. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  237. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  238. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  239. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  240. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  241. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  242. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  243. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  244. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  245. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  246. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  247. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  248. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  249. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  250. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  251. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  252. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  253. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  254. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  255. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  256. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  257. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  258. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  259. package/dist/esm/components/common.st.css.js +2 -2
  260. package/dist/esm/components/common.st.css.js.map +1 -1
  261. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  262. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  263. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  264. package/dist/esm/styles.global.css +2 -2
  265. package/dist/esm/version.js +1 -1
  266. package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
  267. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  268. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  269. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +0 -4
  270. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  271. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  272. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  273. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  274. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  275. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  276. package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
  277. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  278. package/dist/types/components/EditableTable/cellTypes/index.d.ts +2 -1
  279. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  280. package/dist/types/components/EditableTable/cellTypes/multiReference/Edit.d.ts +5 -0
  281. package/dist/types/components/EditableTable/cellTypes/multiReference/Edit.d.ts.map +1 -0
  282. package/dist/types/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.d.ts +24 -0
  283. package/dist/types/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.d.ts.map +1 -0
  284. package/dist/types/components/EditableTable/cellTypes/multiReference/View.d.ts +5 -0
  285. package/dist/types/components/EditableTable/cellTypes/multiReference/View.d.ts.map +1 -0
  286. package/dist/types/components/EditableTable/cellTypes/multiReference/View.uni.driver.d.ts +19 -0
  287. package/dist/types/components/EditableTable/cellTypes/multiReference/View.uni.driver.d.ts.map +1 -0
  288. package/dist/types/components/EditableTable/cellTypes/multiReference/index.d.ts +6 -0
  289. package/dist/types/components/EditableTable/cellTypes/multiReference/index.d.ts.map +1 -0
  290. package/dist/types/components/EditableTable/cellTypes/multiReference/types.d.ts +10 -0
  291. package/dist/types/components/EditableTable/cellTypes/multiReference/types.d.ts.map +1 -0
  292. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  293. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  294. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  295. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  296. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  297. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  298. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +0 -2
  299. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts.map +1 -1
  300. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +0 -2
  301. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts.map +1 -1
  302. package/dist/types/components/ImportButton/ImportStepUpload.d.ts.map +1 -1
  303. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  304. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  305. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +0 -4
  306. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -1
  307. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  308. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +0 -4
  309. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  310. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  311. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  312. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  313. package/dist/types/components/Table/Table.uni.driver.d.ts +0 -4
  314. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  315. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +0 -4
  316. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  317. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +0 -4
  318. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  319. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  320. package/dist/types/components/common.st.css.d.ts.map +1 -1
  321. package/dist/types/state/EditableTable/types.d.ts +1 -0
  322. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  323. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  324. package/dist/types/testkit/enzyme.d.ts +0 -16
  325. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  326. package/dist/types/testkit/jsdom.d.ts +0 -20
  327. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  328. package/dist/types/testkit/playwright.d.ts +0 -16
  329. package/dist/types/testkit/playwright.d.ts.map +1 -1
  330. package/dist/types/testkit/puppeteer.d.ts +0 -16
  331. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  332. package/dist/types/version.d.ts +1 -1
  333. package/package.json +6 -6
  334. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  335. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  336. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  337. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  338. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  339. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  340. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  341. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  342. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  343. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  344. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  345. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  346. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  347. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  348. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  349. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  350. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  351. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  352. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  353. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  354. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  355. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  356. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  357. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  358. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  359. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  360. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  361. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  362. package/src/components/EditableTable/cellTypes/index.ts +3 -0
  363. package/src/components/EditableTable/cellTypes/multiReference/Edit.tsx +265 -0
  364. package/src/components/EditableTable/cellTypes/multiReference/Edit.uni.driver.ts +52 -0
  365. package/src/components/EditableTable/cellTypes/multiReference/View.tsx +33 -0
  366. package/src/components/EditableTable/cellTypes/multiReference/View.uni.driver.ts +16 -0
  367. package/src/components/EditableTable/cellTypes/multiReference/index.ts +41 -0
  368. package/src/components/EditableTable/cellTypes/multiReference/types.ts +15 -0
  369. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  370. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  371. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  372. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  373. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  374. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  375. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  376. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  377. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  378. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  379. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  380. package/src/components/Fade/Fade.st.css.ts +2 -2
  381. package/src/components/Heading/Heading.st.css.ts +2 -2
  382. package/src/components/ImportButton/CAIRO-4118-tasks.md +53 -0
  383. package/src/components/ImportButton/ImportModal.uni.driver.ts +0 -5
  384. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  385. package/src/components/ImportButton/ImportStepUpload.tsx +2 -7
  386. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  387. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  388. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  389. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  390. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  391. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  392. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  393. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  394. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  395. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  396. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  397. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  398. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  399. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  400. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  401. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  402. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  403. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  404. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  405. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  406. package/src/components/common.st.css.ts +2 -2
  407. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  408. package/src/state/EditableTable/types.ts +1 -0
  409. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  410. package/src/styles.global.css +2 -2
  411. package/src/version.ts +1 -1
@@ -0,0 +1,265 @@
1
+ import React, { useCallback, useEffect, useMemo, useRef } from 'react';
2
+ import { Box } from '@wix/design-system';
3
+ import {
4
+ CellMultiReferenceInput,
5
+ type CellMultiReferenceInputHandle,
6
+ type CellMultiReferenceItem,
7
+ } from '@wix/patterns-fields';
8
+ import { observer } from 'mobx-react-lite';
9
+ import { useCollection } from '@wix/bex-core/react';
10
+ import type { CellEditProps } from '../../types';
11
+ import { useCloseOnAncestorScroll } from '../../../../hooks/useCloseOnAncestorScroll';
12
+ import { useFilterCollectionStates } from '../../../../hooks/useFilterCollectionStates';
13
+ import { FilterTranslationProvider } from '../../../../providers';
14
+ import { getImageFieldId } from '../reference/getImageFieldId';
15
+ import { useOpenReferencedCollection } from '../reference/openCollectionContext';
16
+ import type {
17
+ MultiReferenceValue,
18
+ ReferenceItem,
19
+ ReferenceTypeConfig,
20
+ } from './types';
21
+
22
+ function _MultiReferenceEditContent({
23
+ value,
24
+ onChange,
25
+ onCommit,
26
+ typeConfig,
27
+ editTrigger,
28
+ inputRef,
29
+ }: CellEditProps<MultiReferenceValue>) {
30
+ const config = typeConfig as ReferenceTypeConfig | undefined;
31
+ const refSchema = config?.refSchema;
32
+ const acHandle = useRef<CellMultiReferenceInputHandle | null>(null);
33
+ const wrapperRef = useRef<HTMLDivElement | null>(null);
34
+ // Opener provided by ReferenceEditWrapper (a stable ancestor) so the
35
+ // navigation + return-to-foreground subscription survive this editor
36
+ // unmounting when the overlay opens.
37
+ const openReferencedCollection = useOpenReferencedCollection();
38
+
39
+ const idField = refSchema?.idField ?? '_id';
40
+ const displayField = refSchema?.displayField ?? 'title';
41
+ const imageField = getImageFieldId(refSchema?.fields);
42
+
43
+ const collection = useCollection<ReferenceItem>({
44
+ queryName: `multi-reference-cell-edit-${refSchema?.id ?? 'unknown'}`,
45
+ itemKey: (item) => item.id,
46
+ itemName: (item) => item.name,
47
+ fetchData: async (query) => {
48
+ if (!config?.fetchReferenceItems) {
49
+ return { items: [], total: 0 };
50
+ }
51
+ return config.fetchReferenceItems(query);
52
+ },
53
+ });
54
+
55
+ const initialSearchTextRef = useRef(
56
+ editTrigger &&
57
+ typeof editTrigger === 'object' &&
58
+ editTrigger.kind === 'type'
59
+ ? editTrigger.key
60
+ : undefined,
61
+ );
62
+
63
+ useEffect(() => {
64
+ const dispose = collection.init();
65
+ if (initialSearchTextRef.current !== undefined) {
66
+ collection.search(initialSearchTextRef.current, { clearResult: true });
67
+ }
68
+ // Seed editingValue with the current value so a no-op edit commits the same
69
+ // list back instead of `undefined` (which would clear the cell).
70
+ onChange(value ?? []);
71
+ return dispose;
72
+ // eslint-disable-next-line react-hooks/exhaustive-deps
73
+ }, [collection]);
74
+
75
+ const selectedRefs = value ?? [];
76
+
77
+ const selectedItems = useMemo<CellMultiReferenceItem[]>(
78
+ () =>
79
+ selectedRefs.map((ref, i) => ({
80
+ id: String(ref[idField] ?? i),
81
+ name: String(ref[displayField] ?? ''),
82
+ image: imageField ? (ref[imageField] as string | undefined) : undefined,
83
+ })),
84
+ [selectedRefs, idField, displayField, imageField],
85
+ );
86
+
87
+ const selectedIds = useMemo(
88
+ () => new Set(selectedItems.map((item) => item.id)),
89
+ [selectedItems],
90
+ );
91
+
92
+ const keyedItems = collection.result.keyedItems;
93
+ const fetchedLastPage = collection.fetchedLastPage;
94
+ const searchValue = collection.query.search.value;
95
+
96
+ // Exclude already-selected references from the dropdown options.
97
+ const items = useMemo<CellMultiReferenceItem[]>(
98
+ () =>
99
+ keyedItems
100
+ .map((ki) => ({
101
+ id: String(ki.key),
102
+ name: ki.item.name,
103
+ image: ki.item.image,
104
+ }))
105
+ .filter((item) => !selectedIds.has(item.id)),
106
+ [keyedItems, selectedIds],
107
+ );
108
+
109
+ const handleSelect = useCallback(
110
+ (item: CellMultiReferenceItem) => {
111
+ const next = [
112
+ ...selectedRefs,
113
+ {
114
+ [idField]: item.id,
115
+ [displayField]: item.name,
116
+ ...(imageField && item.image ? { [imageField]: item.image } : {}),
117
+ },
118
+ ];
119
+ onChange(next);
120
+ collection.clearSearch();
121
+ },
122
+ [selectedRefs, idField, displayField, imageField, onChange, collection],
123
+ );
124
+
125
+ const handleRemoveTag = useCallback(
126
+ (id: string) => {
127
+ const next = selectedRefs.filter(
128
+ (ref) => String(ref[idField] ?? '') !== id,
129
+ );
130
+ onChange(next.length ? next : null);
131
+ },
132
+ [selectedRefs, idField, onChange],
133
+ );
134
+
135
+ const handleSearchChange = useCallback(
136
+ (search: string) => {
137
+ if (search) {
138
+ collection.search(search, { clearResult: true });
139
+ } else {
140
+ collection.clearSearch();
141
+ }
142
+ },
143
+ [collection],
144
+ );
145
+
146
+ const handleKeyDown = useCallback(
147
+ (e: React.KeyboardEvent) => {
148
+ // Production should commit (not revert) on Escape — close the editor and
149
+ // keep the current selection. Stop propagation so the framework's default
150
+ // cancel-on-Escape doesn't also fire.
151
+ if (e.key === 'Escape') {
152
+ e.preventDefault();
153
+ e.stopPropagation();
154
+ onCommit();
155
+ }
156
+ },
157
+ [onCommit],
158
+ );
159
+
160
+ const closeDropdown = useCallback(() => acHandle.current?.hideOptions(), []);
161
+ useCloseOnAncestorScroll(wrapperRef, closeDropdown, true);
162
+
163
+ // Commit on blur, unless focus moved into the portaled dropdown / popover.
164
+ const handleBlur = useCallback(() => {
165
+ requestAnimationFrame(() => {
166
+ const active = document.activeElement as HTMLElement | null;
167
+ if (!active) {
168
+ onCommit();
169
+ return;
170
+ }
171
+ if (wrapperRef.current?.contains(active)) {
172
+ return;
173
+ }
174
+ if (
175
+ active.closest(
176
+ '[role="listbox"], [role="dialog"], [data-hook*="popover"]',
177
+ )
178
+ ) {
179
+ return;
180
+ }
181
+ onCommit();
182
+ });
183
+ }, [onCommit]);
184
+
185
+ // Click-outside fallback. Empty cells often never get a focused descendant,
186
+ // so onBlur on the wrapper never fires.
187
+ useEffect(() => {
188
+ const handleDocMouseDown = (e: MouseEvent) => {
189
+ const target = e.target as HTMLElement | null;
190
+ if (!target) {
191
+ return;
192
+ }
193
+ if (wrapperRef.current?.contains(target)) {
194
+ return;
195
+ }
196
+ if (
197
+ target.closest?.(
198
+ '[role="listbox"], [role="dialog"], [data-hook*="popover"]',
199
+ )
200
+ ) {
201
+ return;
202
+ }
203
+ onCommit();
204
+ };
205
+ document.addEventListener('mousedown', handleDocMouseDown);
206
+ return () => document.removeEventListener('mousedown', handleDocMouseDown);
207
+ }, [onCommit]);
208
+
209
+ const { showInitialLoader, fixedFooter } = useFilterCollectionStates({
210
+ collection,
211
+ fixedFooter: config?.renderFooter?.(),
212
+ });
213
+
214
+ // Refresh this editor's dropdown options when the overlay closes — force
215
+ // invalidates the shared query cache (keyed by queryName), so even after this
216
+ // editor has unmounted the next open refetches fresh.
217
+ const handleOpenCollection = useMemo(
218
+ () =>
219
+ openReferencedCollection
220
+ ? () =>
221
+ openReferencedCollection(() =>
222
+ collection.clearResultAndMoveToStart({ force: true }),
223
+ )
224
+ : undefined,
225
+ [openReferencedCollection, collection],
226
+ );
227
+
228
+ if (!refSchema) {
229
+ return null;
230
+ }
231
+
232
+ return (
233
+ <Box ref={wrapperRef} width="100%" height="100%">
234
+ <CellMultiReferenceInput
235
+ ref={acHandle}
236
+ items={items}
237
+ selectedItems={selectedItems}
238
+ value={searchValue}
239
+ onChange={handleSearchChange}
240
+ onSelect={handleSelect}
241
+ onRemoveTag={handleRemoveTag}
242
+ onKeyDown={handleKeyDown}
243
+ onBlur={handleBlur}
244
+ infiniteScroll
245
+ hasMore={!showInitialLoader && !fetchedLastPage}
246
+ loadMore={collection.fetchNextPageIfNeeded}
247
+ fixedFooter={fixedFooter}
248
+ onOpenCollection={handleOpenCollection}
249
+ autoOpen={!!editTrigger}
250
+ inputRef={inputRef}
251
+ dataHook="multi-reference-edit"
252
+ />
253
+ </Box>
254
+ );
255
+ }
256
+
257
+ const MultiReferenceEditContent = observer(_MultiReferenceEditContent);
258
+
259
+ export const MultiReferenceEdit = (
260
+ props: CellEditProps<MultiReferenceValue>,
261
+ ) => (
262
+ <FilterTranslationProvider>
263
+ <MultiReferenceEditContent {...props} />
264
+ </FilterTranslationProvider>
265
+ );
@@ -0,0 +1,52 @@
1
+ import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
2
+ import { baseUniDriverFactory } from '../../../../unidriver';
3
+
4
+ const { fireEvent = null } =
5
+ process.env.NODE_ENV === 'test'
6
+ ? (() => {
7
+ try {
8
+ return require('@testing-library/react');
9
+ } catch {}
10
+ return {};
11
+ })()
12
+ : {};
13
+
14
+ export function MultiReferenceEditUniDriver(base: UniDriver, body: UniDriver) {
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ const getNativeInput = () =>
17
+ (base.$('input') as any).getNative() as Promise<HTMLInputElement>;
18
+
19
+ return {
20
+ ...baseUniDriverFactory(base),
21
+ hasInput: () => base.$('input').exists(),
22
+ getInputValue: () => base.$('input').value(),
23
+ getTagsCount: () =>
24
+ base.$$('[data-hook="multi-reference-edit-tag"]').count(),
25
+ typeInInput: async (value: string) => {
26
+ fireEvent.change(await getNativeInput(), { target: { value } });
27
+ },
28
+ pressKeyOnInput: async (key: string) => {
29
+ fireEvent.keyDown(await getNativeInput(), { key });
30
+ },
31
+ // Dropdown options are portal-mounted to document.body, so search in body.
32
+ getOptionCount: async () =>
33
+ body.$$('[data-hook="list-item-select"]').count(),
34
+ getOptionTitleByIndex: async (index: number) => {
35
+ const option = await body.$$('[data-hook="list-item-select"]').get(index);
36
+ return option.$('[data-hook="list-item-select-title"]').text();
37
+ },
38
+ clickOptionByIndex: async (index: number) => {
39
+ const option = await body.$$('[data-hook="list-item-select"]').get(index);
40
+ return option.click();
41
+ },
42
+ hasOpenCollectionButton: () =>
43
+ body.$('[data-hook="reference-open-collection"]').exists(),
44
+ clickOpenCollection: async () => {
45
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+ const el = (
47
+ body.$('[data-hook="reference-open-collection"]') as any
48
+ ).getNative() as Promise<HTMLElement>;
49
+ fireEvent.click(await el);
50
+ },
51
+ };
52
+ }
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { CellMultiReferenceView } from '@wix/patterns-fields';
3
+ import type { CellMultiReferenceItem } from '@wix/patterns-fields';
4
+ import type { CellViewProps } from '../../types';
5
+ import { getImageFieldId } from '../reference/getImageFieldId';
6
+ import type { MultiReferenceValue, ReferenceTypeConfig } from './types';
7
+
8
+ export const MultiReferenceView: React.FC<
9
+ CellViewProps<MultiReferenceValue>
10
+ > = ({ value, typeConfig, columnId, rowKey }) => {
11
+ const config = typeConfig as ReferenceTypeConfig | undefined;
12
+ const refs = value ?? [];
13
+ if (refs.length === 0 || !config?.refSchema) {
14
+ return null;
15
+ }
16
+
17
+ const { displayField, idField } = config.refSchema;
18
+ const imageField = getImageFieldId(config.refSchema.fields);
19
+
20
+ const items: CellMultiReferenceItem[] = refs.map((ref, i) => ({
21
+ id: String(ref[idField] ?? i),
22
+ name: String(ref[displayField] ?? ''),
23
+ image: imageField ? (ref[imageField] as string | undefined) : undefined,
24
+ }));
25
+
26
+ return (
27
+ <CellMultiReferenceView
28
+ items={items}
29
+ dataHook="multi-reference-view"
30
+ fieldId={`multi-reference-view-${columnId}-${rowKey}`}
31
+ />
32
+ );
33
+ };
@@ -0,0 +1,16 @@
1
+ import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
2
+ import { baseUniDriverFactory } from '../../../../unidriver';
3
+
4
+ export function MultiReferenceViewUniDriver(base: UniDriver, _body: UniDriver) {
5
+ const tags = () => base.$$('[data-hook="cell-multi-reference-tag"]');
6
+ const overflow = () => base.$('[data-hook="tag-list-overflow-chip"]');
7
+ return {
8
+ ...baseUniDriverFactory(base),
9
+ hasTags: async () => (await tags().count()) > 0,
10
+ getTagsCount: () => tags().count(),
11
+ isEmpty: async () =>
12
+ !(await base.$('[data-hook="cell-multi-reference-tags"]').exists()),
13
+ hasOverflowChip: () => overflow().exists(),
14
+ getOverflowChipText: async () => (await overflow().text()) ?? '',
15
+ };
16
+ }
@@ -0,0 +1,41 @@
1
+ import { defineCellType } from '../../types';
2
+ import { ReferenceEditWrapper } from '../reference/ReferenceEditWrapper';
3
+ import { MultiReferenceView } from './View';
4
+ import { MultiReferenceEdit } from './Edit';
5
+ import type { MultiReferenceValue } from './types';
6
+
7
+ export { MultiReferenceView, MultiReferenceEdit };
8
+ export type {
9
+ MultiReferenceValue,
10
+ ReferenceItem,
11
+ RefSchema,
12
+ ReferenceTypeConfig,
13
+ } from './types';
14
+
15
+ export const multiReferenceCellType = defineCellType<MultiReferenceValue>({
16
+ type: 'multiReference',
17
+ ViewComponent: MultiReferenceView,
18
+ EditComponent: MultiReferenceEdit,
19
+ EditWrapper: ReferenceEditWrapper,
20
+ // Compact, single-line JSON for clipboard TSV (no pretty-printing).
21
+ serialize: (value) => (value && value.length ? JSON.stringify(value) : ''),
22
+ deserialize: (raw) => {
23
+ if (!raw) {
24
+ return null;
25
+ }
26
+ try {
27
+ const parsed = JSON.parse(raw);
28
+ if (Array.isArray(parsed)) {
29
+ return parsed;
30
+ }
31
+ } catch {}
32
+ return null;
33
+ },
34
+ editable: true,
35
+ clearable: true,
36
+ // Single click opens the chip editor (parity with the UX handoff).
37
+ editOnClick: () => true,
38
+ // Enter edit on a printable key without clearing the existing chips — the
39
+ // MultiSelect input takes over typing once edit opens.
40
+ onTypeToEdit: () => ({}),
41
+ });
@@ -0,0 +1,15 @@
1
+ import type {
2
+ ReferenceItem,
3
+ RefSchema,
4
+ ReferenceTypeConfig,
5
+ } from '../reference/types';
6
+
7
+ export type { ReferenceItem, RefSchema, ReferenceTypeConfig };
8
+
9
+ /**
10
+ * A multi-reference cell holds an array of denormalized reference objects —
11
+ * the plural sibling of the `reference` cell's `Record<string, unknown> | null`.
12
+ * Each object carries the schema's `idField`, `displayField` and (optionally)
13
+ * the image field, so the view renders without re-fetching.
14
+ */
15
+ export type MultiReferenceValue = Record<string, unknown>[] | null;
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Edit3997170827";
8
+ var _namespace_ = "Edit3213260238";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Edit3997170827__root","numberInput":"Edit3997170827__numberInput"};
16
+ export var classes = {"root":"Edit3213260238__root","numberInput":"Edit3213260238__numberInput"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "View3717091114";
8
+ var _namespace_ = "View1484387196";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"View3717091114__root","textView":"View3717091114__textView"};
16
+ export var classes = {"root":"View1484387196__root","textView":"View1484387196__textView"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Edit1884076868";
8
+ var _namespace_ = "Edit490034775";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Edit1884076868__root","jsonInput":"Edit1884076868__jsonInput"};
16
+ export var classes = {"root":"Edit490034775__root","jsonInput":"Edit490034775__jsonInput"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "View4108766999";
8
+ var _namespace_ = "View3440349551";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"View4108766999__root"};
16
+ export var classes = {"root":"View3440349551__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Edit1063584883";
8
+ var _namespace_ = "Edit3980015914";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Edit1063584883__root","selectInput":"Edit1063584883__selectInput"};
16
+ export var classes = {"root":"Edit3980015914__root","selectInput":"Edit3980015914__selectInput"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Edit2539786971";
8
+ var _namespace_ = "Edit1573713769";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Edit2539786971__root","editWrapper":"Edit2539786971__editWrapper","inputArea":"Edit2539786971__inputArea"};
16
+ export var classes = {"root":"Edit1573713769__root","editWrapper":"Edit1573713769__editWrapper","inputArea":"Edit1573713769__inputArea"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "View109019798";
8
+ var _namespace_ = "View1438796715";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"View109019798__root"};
16
+ export var classes = {"root":"View1438796715__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Edit3891897524";
8
+ var _namespace_ = "Edit298992382";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Edit3891897524__root","wrapper":"Edit3891897524__wrapper","overlay":"Edit3891897524__overlay"};
16
+ export var classes = {"root":"Edit298992382__root","wrapper":"Edit298992382__wrapper","overlay":"Edit298992382__overlay"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Edit3618082279";
8
+ var _namespace_ = "Edit3843989486";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Edit3618082279__root","urlInput":"Edit3618082279__urlInput"};
16
+ export var classes = {"root":"Edit3843989486__root","urlInput":"Edit3843989486__urlInput"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "View1464552216";
8
+ var _namespace_ = "View3560436886";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"View1464552216__root","textView":"View1464552216__textView","urlText":"View1464552216__urlText","suffix":"View1464552216__suffix"};
16
+ export var classes = {"root":"View3560436886__root","textView":"View3560436886__textView","urlText":"View3560436886__urlText","suffix":"View3560436886__suffix"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "EntityPagePlain583315663";
8
+ var _namespace_ = "EntityPagePlain1073958480";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"EntityPagePlain583315663__root"};
16
+ export var classes = {"root":"EntityPagePlain1073958480__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Fade68256681";
8
+ var _namespace_ = "Fade1719716815";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Fade68256681__root"};
16
+ export var classes = {"root":"Fade1719716815__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Heading1825965899";
8
+ var _namespace_ = "Heading694489876";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Heading1825965899__root"};
16
+ export var classes = {"root":"Heading694489876__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};