@wix/patterns 1.425.0 → 1.426.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 (450) 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/array/Edit.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  46. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  50. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  52. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  54. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  56. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  58. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  60. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  64. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  66. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  68. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  70. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  72. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  74. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  78. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  79. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  80. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  81. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  82. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  83. package/dist/cjs/components/FieldCell/FieldCell.js +1 -1
  84. package/dist/cjs/components/FieldCell/FieldCell.js.map +1 -1
  85. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  86. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  87. package/dist/cjs/components/ImportButton/ImportButton.js +11 -21
  88. package/dist/cjs/components/ImportButton/ImportButton.js.map +1 -1
  89. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +19 -27
  90. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  91. package/dist/cjs/components/ImportButton/ImportProps.js.map +1 -1
  92. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  93. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  94. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  95. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  96. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  97. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  98. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  99. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  100. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  101. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  102. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  103. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  104. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  105. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  106. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  107. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  108. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  109. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  110. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  111. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  112. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  113. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  114. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  115. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  116. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  117. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  118. package/dist/cjs/components/SchemaSource/schemaFieldsSource.js +5 -1
  119. package/dist/cjs/components/SchemaSource/schemaFieldsSource.js.map +1 -1
  120. package/dist/cjs/components/SchemaSource/schemaImportRef.js +128 -0
  121. package/dist/cjs/components/SchemaSource/schemaImportRef.js.map +1 -0
  122. package/dist/cjs/components/SchemaSource/tableSchemaSource.js +23 -9
  123. package/dist/cjs/components/SchemaSource/tableSchemaSource.js.map +1 -1
  124. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  125. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  126. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
  127. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  128. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  129. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  130. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  131. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  132. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  133. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  134. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +34 -44
  135. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  136. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  137. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  138. package/dist/cjs/components/TagsWidget/TagsWidgetContent.js +14 -24
  139. package/dist/cjs/components/TagsWidget/TagsWidgetContent.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/hooks/index.js +6 -0
  147. package/dist/cjs/hooks/index.js.map +1 -1
  148. package/dist/cjs/hooks/useReachBottom.js +41 -0
  149. package/dist/cjs/hooks/useReachBottom.js.map +1 -0
  150. package/dist/cjs/hooks/useSchemaImport.js +20 -0
  151. package/dist/cjs/hooks/useSchemaImport.js.map +1 -0
  152. package/dist/cjs/index.js +7 -0
  153. package/dist/cjs/index.js.map +1 -1
  154. package/dist/cjs/state/CollectionFieldsSourceState.js +7 -0
  155. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  156. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  157. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  158. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  159. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  160. package/dist/cjs/state/TagsModalState.js +23 -1
  161. package/dist/cjs/state/TagsModalState.js.map +1 -1
  162. package/dist/cjs/styles.global.css +2 -2
  163. package/dist/cjs/test-utils/TagsMocks.js +31 -6
  164. package/dist/cjs/test-utils/TagsMocks.js.map +1 -1
  165. package/dist/cjs/version.js +1 -1
  166. package/dist/cjs/version.js.map +1 -1
  167. package/dist/docs/MultiAutoInlineCheckboxFilter.md +1 -1
  168. package/dist/docs/MultiInlineCheckboxFilter.md +1 -1
  169. package/dist/docs/index.json +18 -18
  170. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  171. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  172. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  173. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  174. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  175. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  176. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  177. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  178. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  179. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  180. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  181. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  182. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  183. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  184. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  185. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  186. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  187. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  188. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  189. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  190. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  191. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  192. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  193. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  194. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  195. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  196. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  197. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  198. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  199. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  200. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  201. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  202. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  203. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  204. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  205. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  206. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  207. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  208. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  209. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  210. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  211. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  212. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  213. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  214. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  215. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  216. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  217. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  218. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  219. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  220. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  221. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  222. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  223. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  224. package/dist/esm/components/FieldCell/FieldCell.js +1 -1
  225. package/dist/esm/components/FieldCell/FieldCell.js.map +1 -1
  226. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  227. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  228. package/dist/esm/components/ImportButton/ImportButton.js +2 -2
  229. package/dist/esm/components/ImportButton/ImportButton.js.map +1 -1
  230. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +5 -8
  231. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  232. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  233. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  234. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  235. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  236. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  241. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  242. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  243. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  244. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  245. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  246. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  247. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  248. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  249. package/dist/esm/components/SchemaSource/schemaFieldsSource.js +4 -0
  250. package/dist/esm/components/SchemaSource/schemaFieldsSource.js.map +1 -1
  251. package/dist/esm/components/SchemaSource/schemaImportRef.js +93 -0
  252. package/dist/esm/components/SchemaSource/schemaImportRef.js.map +1 -0
  253. package/dist/esm/components/SchemaSource/tableSchemaSource.js +18 -9
  254. package/dist/esm/components/SchemaSource/tableSchemaSource.js.map +1 -1
  255. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  256. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  257. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  258. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  259. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  260. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  261. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  262. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +7 -7
  263. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  264. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  265. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  266. package/dist/esm/components/TagsWidget/TagsWidgetContent.js +1 -8
  267. package/dist/esm/components/TagsWidget/TagsWidgetContent.js.map +1 -1
  268. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  269. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  270. package/dist/esm/components/common.st.css.js +2 -2
  271. package/dist/esm/hooks/index.js +1 -0
  272. package/dist/esm/hooks/index.js.map +1 -1
  273. package/dist/esm/hooks/useReachBottom.js +30 -0
  274. package/dist/esm/hooks/useReachBottom.js.map +1 -0
  275. package/dist/esm/hooks/useSchemaImport.js +16 -0
  276. package/dist/esm/hooks/useSchemaImport.js.map +1 -0
  277. package/dist/esm/index.js +1 -0
  278. package/dist/esm/index.js.map +1 -1
  279. package/dist/esm/state/CollectionFieldsSourceState.js +5 -0
  280. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  281. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  282. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  283. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  284. package/dist/esm/state/TagsModalState.js +26 -3
  285. package/dist/esm/state/TagsModalState.js.map +1 -1
  286. package/dist/esm/styles.global.css +2 -2
  287. package/dist/esm/test-utils/TagsMocks.js +47 -13
  288. package/dist/esm/test-utils/TagsMocks.js.map +1 -1
  289. package/dist/esm/version.js +1 -1
  290. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  291. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  292. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +28 -28
  293. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  294. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  295. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  296. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +3 -3
  297. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +4 -4
  298. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  299. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  300. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +1 -1
  301. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -2
  302. package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
  303. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  304. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  305. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
  306. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  307. package/dist/types/components/EditableTable/cellTypes/reference/Edit.uni.driver.d.ts +1 -1
  308. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  309. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  310. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  311. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  312. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  313. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  314. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  315. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  316. package/dist/types/components/ImportButton/ImportButton.d.ts.map +1 -1
  317. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +2 -2
  318. package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
  319. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +2 -2
  320. package/dist/types/components/ImportButton/ImportProps.d.ts +7 -32
  321. package/dist/types/components/ImportButton/ImportProps.d.ts.map +1 -1
  322. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  323. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  324. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  325. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +46 -46
  326. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  327. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +42 -42
  328. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  329. package/dist/types/components/PickerModal/PickerModal.uni.driver.d.ts +1 -1
  330. package/dist/types/components/PickerModal/PickerModalLayout.uni.driver.d.ts +1 -1
  331. package/dist/types/components/SchemaSource/schemaFieldsSource.d.ts.map +1 -1
  332. package/dist/types/components/SchemaSource/schemaImportRef.d.ts +27 -0
  333. package/dist/types/components/SchemaSource/schemaImportRef.d.ts.map +1 -0
  334. package/dist/types/components/SchemaSource/tableSchemaSource.d.ts +9 -1
  335. package/dist/types/components/SchemaSource/tableSchemaSource.d.ts.map +1 -1
  336. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  337. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  338. package/dist/types/components/Table/Table.uni.driver.d.ts +31 -31
  339. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +42 -42
  340. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +45 -45
  341. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  342. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  343. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.d.ts.map +1 -1
  344. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  345. package/dist/types/components/TagsWidget/TagsWidgetContent.d.ts.map +1 -1
  346. package/dist/types/hooks/index.d.ts +1 -0
  347. package/dist/types/hooks/index.d.ts.map +1 -1
  348. package/dist/types/hooks/useReachBottom.d.ts +16 -0
  349. package/dist/types/hooks/useReachBottom.d.ts.map +1 -0
  350. package/dist/types/hooks/useSchemaImport.d.ts +13 -0
  351. package/dist/types/hooks/useSchemaImport.d.ts.map +1 -0
  352. package/dist/types/index.d.ts +1 -0
  353. package/dist/types/index.d.ts.map +1 -1
  354. package/dist/types/state/CollectionFieldsSourceState.d.ts +4 -1
  355. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  356. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  357. package/dist/types/state/TagsModalState.d.ts +3 -0
  358. package/dist/types/state/TagsModalState.d.ts.map +1 -1
  359. package/dist/types/test-utils/TagsMocks.d.ts +4 -4
  360. package/dist/types/test-utils/TagsMocks.d.ts.map +1 -1
  361. package/dist/types/testkit/enzyme.d.ts +216 -216
  362. package/dist/types/testkit/jsdom.d.ts +278 -278
  363. package/dist/types/testkit/playwright.d.ts +218 -218
  364. package/dist/types/testkit/puppeteer.d.ts +229 -229
  365. package/dist/types/version.d.ts +1 -1
  366. package/package.json +6 -6
  367. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  368. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  369. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  370. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  371. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  372. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  373. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  374. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  375. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  376. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  377. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  378. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  379. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  380. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  381. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  382. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  383. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  384. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  385. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  386. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  387. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  388. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  389. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  390. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  391. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  392. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  393. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  394. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  395. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  396. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  397. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  398. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  399. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  400. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  401. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  402. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  403. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  404. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  405. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  406. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  407. package/src/components/Fade/Fade.st.css.ts +2 -2
  408. package/src/components/FieldCell/FieldCell.tsx +1 -1
  409. package/src/components/Heading/Heading.st.css.ts +2 -2
  410. package/src/components/ImportButton/ImportButton.tsx +2 -15
  411. package/src/components/ImportButton/ImportButtonModalLayout.tsx +5 -17
  412. package/src/components/ImportButton/ImportProps.tsx +7 -39
  413. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  414. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  415. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  416. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  417. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  418. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  419. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  420. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  421. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  422. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  423. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  424. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  425. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  426. package/src/components/SchemaSource/schemaFieldsSource.ts +5 -0
  427. package/src/components/SchemaSource/schemaImportRef.ts +122 -0
  428. package/src/components/SchemaSource/tableSchemaSource.ts +27 -10
  429. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  430. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  431. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  432. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  433. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  434. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  435. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.tsx +7 -12
  436. package/src/components/TagsWidget/TagsWidgetContent.tsx +0 -9
  437. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  438. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  439. package/src/components/common.st.css.ts +2 -2
  440. package/src/hooks/index.ts +1 -0
  441. package/src/hooks/useReachBottom.ts +50 -0
  442. package/src/hooks/useSchemaImport.ts +21 -0
  443. package/src/index.ts +1 -0
  444. package/src/state/CollectionFieldsSourceState.ts +7 -0
  445. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  446. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  447. package/src/state/TagsModalState.ts +32 -6
  448. package/src/styles.global.css +2 -2
  449. package/src/test-utils/TagsMocks.ts +39 -6
  450. package/src/version.ts +1 -1
@@ -0,0 +1,122 @@
1
+ import type {
2
+ BackupConfig,
3
+ BackupFn,
4
+ Field,
5
+ ImportButtonConfig,
6
+ ImportField,
7
+ NewFieldDefinition,
8
+ Schema,
9
+ } from '@wix/bex-core';
10
+ import type { TableSchemaSource } from './tableSchemaSource';
11
+ import { toPatternsFieldType } from '../ImportButton/newFieldTypeMapping';
12
+
13
+ // Adapts a schema's BackupConfig (create / wait / restore steps) to the import's
14
+ // BackupFn: snapshot on call, and hand back a `restore` used to undo the import
15
+ // on cancel. A source without `restore` snapshots but offers no undo.
16
+ const composeBackupFn =
17
+ (backup: BackupConfig): BackupFn =>
18
+ async (signal) => {
19
+ const { backupId } = await backup.create();
20
+ await backup.waitForCompletion(backupId, { signal });
21
+
22
+ const restore = backup.restore;
23
+ if (!restore) {
24
+ return;
25
+ }
26
+ return {
27
+ restore: async (restoreSignal) => {
28
+ const { restorationId } = await restore(backupId);
29
+ await backup.waitForRestoration?.(restorationId, {
30
+ signal: restoreSignal,
31
+ });
32
+ },
33
+ };
34
+ };
35
+
36
+ // Builds the Field to create from a pending new column: import decides the key,
37
+ // and the detected NewFieldType maps to the schema's PatternsFieldType. Import
38
+ // only ever creates non-reference fields, so the cast is safe.
39
+ const toField = (def: NewFieldDefinition): Field =>
40
+ ({
41
+ id: def.key,
42
+ displayName: def.displayName,
43
+ type: toPatternsFieldType(def.type),
44
+ ...(def.config?.validation && { validation: def.config.validation }),
45
+ ...(def.config?.isPii && { isPii: true }),
46
+ ...(def.config?.helpText && { helpText: def.config.helpText }),
47
+ } as Field);
48
+
49
+ /**
50
+ * An `ImportButtonConfig` that reads the table's live `SchemaState` — the same
51
+ * one the table renders from. Every input is read on demand, so:
52
+ * - the async schema load needn't resolve before this is constructed, and
53
+ * - fields the import creates (merged back via `mergeFields`) and fields added
54
+ * through the field-management panel show up immediately, with no stale copy.
55
+ *
56
+ * Reads `source.schemaState`, which the source only populates when it attaches
57
+ * to the table (`setOnTable`) — after this is built. Reading it through the
58
+ * getter each time gives that late binding: `state` is `undefined` until then
59
+ * (fields empty, no create).
60
+ */
61
+ export class SchemaImportRef implements ImportButtonConfig {
62
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
+ private readonly source: TableSchemaSource<any>;
64
+
65
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
+ constructor(source: TableSchemaSource<any>) {
67
+ this.source = source;
68
+ }
69
+
70
+ private get state() {
71
+ return this.source.schemaState;
72
+ }
73
+
74
+ get fields(): ImportField[] {
75
+ const state = this.state;
76
+ if (!state) {
77
+ return [];
78
+ }
79
+ return state.fields.map((f) => ({ id: f.id, header: f.displayName }));
80
+ }
81
+
82
+ get collectionId(): string | undefined {
83
+ return this.state?.source.collectionId;
84
+ }
85
+
86
+ get idFieldKey(): string | undefined {
87
+ return this.state?.schema?.idField;
88
+ }
89
+
90
+ get canAddFields(): boolean {
91
+ const state = this.state;
92
+ const schema = state?.schema;
93
+ // Require both the create-field permission and a batch action to create
94
+ // with; otherwise columns would default to "new" but nothing gets created
95
+ // and the upload writes values under keys with no field.
96
+ if (!schema || !state.fieldActions?.addFields) {
97
+ return false;
98
+ }
99
+ return state.source.canAddFields(schema);
100
+ }
101
+
102
+ updateSchema = async (
103
+ defs: NewFieldDefinition[],
104
+ ): Promise<Schema['fields'] | void> => {
105
+ const add = this.state?.fieldActions?.addFields;
106
+ if (!add) {
107
+ return;
108
+ }
109
+ return add(defs.map(toField));
110
+ };
111
+
112
+ // Merge the created fields into the live SchemaState so the table's columns
113
+ // update with no reload (CAIRO-4400). Reads the same state the table renders.
114
+ mergeFields = (fields: Schema['fields']): void => {
115
+ this.state?.mergeFields(fields);
116
+ };
117
+
118
+ get backup(): BackupFn | undefined {
119
+ const backup = this.state?.loadedSchema?.backend.backup;
120
+ return backup ? composeBackupFn(backup) : undefined;
121
+ }
122
+ }
@@ -10,18 +10,35 @@ import { SchemaState } from './SchemaState';
10
10
  *
11
11
  * It stays the full config, so you can still spread and override it. `setOnTable`
12
12
  * reads `this`, so any overrides on the (possibly spread) object take effect.
13
+ *
14
+ * `schemaState` exposes the attached state so `useSchemaImport` reads the same
15
+ * live schema the table renders — import always matches the visible columns
16
+ * (including fields it just created, or ones added via the field-management
17
+ * panel), rather than a separate loaded copy.
13
18
  */
14
19
  export type TableSchemaSource<T = Record<string, unknown>> = SchemaSource<T> &
15
- FieldsSourceProvider;
20
+ FieldsSourceProvider & {
21
+ readonly schemaState?: SchemaState<T>;
22
+ };
16
23
 
17
24
  export const tableSchemaSource = <T>(
18
25
  source: SchemaSource<T>,
19
- ): TableSchemaSource<T> => ({
20
- ...source,
21
- setOnTable(toolbar) {
22
- new SchemaState({
23
- container: toolbar.container,
24
- source: this,
25
- }).setOnTable(toolbar);
26
- },
27
- });
26
+ ): TableSchemaSource<T> => {
27
+ // Created once on attach and reused, so the table and `useSchemaImport` share
28
+ // one SchemaState (and one load).
29
+ let state: SchemaState<T> | undefined;
30
+
31
+ return {
32
+ ...source,
33
+ get schemaState() {
34
+ return state;
35
+ },
36
+ setOnTable(toolbar) {
37
+ state ??= new SchemaState<T>({
38
+ container: toolbar.container,
39
+ source: this,
40
+ });
41
+ state.setOnTable(toolbar);
42
+ },
43
+ };
44
+ };
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "ScrollableContent1473945663";
8
+ var _namespace_ = "ScrollableContent350807700";
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":"ScrollableContent1473945663__root"};
16
+ export var classes = {"root":"ScrollableContent350807700__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_ = "SetupWidget2333671370";
8
+ var _namespace_ = "SetupWidget1455868437";
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":"SetupWidget2333671370__root","row":"SetupWidget2333671370__row","completedCta":"SetupWidget2333671370__completedCta","card":"SetupWidget2333671370__card","stepIcon":"SetupWidget2333671370__stepIcon","chevron":"SetupWidget2333671370__chevron","chevronDisabled":"SetupWidget2333671370__chevronDisabled","inProgressLabel":"SetupWidget2333671370__inProgressLabel"};
16
+ export var classes = {"root":"SetupWidget1455868437__root","row":"SetupWidget1455868437__row","completedCta":"SetupWidget1455868437__completedCta","card":"SetupWidget1455868437__card","stepIcon":"SetupWidget1455868437__stepIcon","chevron":"SetupWidget1455868437__chevron","chevronDisabled":"SetupWidget1455868437__chevronDisabled","inProgressLabel":"SetupWidget1455868437__inProgressLabel"};
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_ = "SkeletonCard1380766072";
8
+ var _namespace_ = "SkeletonCard2287561488";
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":"SkeletonCard1380766072__root","headerLoading":"SkeletonCard1380766072__headerLoading"};
16
+ export var classes = {"root":"SkeletonCard2287561488__root","headerLoading":"SkeletonCard2287561488__headerLoading"};
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_ = "SlidingModal2315682368";
8
+ var _namespace_ = "SlidingModal2066405265";
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":"SlidingModal2315682368__root"};
16
+ export var classes = {"root":"SlidingModal2066405265__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_ = "TabsFilter311251995";
8
+ var _namespace_ = "TabsFilter1693177651";
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":"TabsFilter311251995__root","title":"TabsFilter311251995__title"};
16
+ export var classes = {"root":"TabsFilter1693177651__root","title":"TabsFilter1693177651__title"};
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_ = "ManageTagsModal885634463";
8
+ var _namespace_ = "ManageTagsModal1377424349";
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":"ManageTagsModal885634463__root"};
16
+ export var classes = {"root":"ManageTagsModal1377424349__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -11,8 +11,7 @@ import {
11
11
  Search,
12
12
  ToastContainer,
13
13
  } from '@wix/design-system';
14
- import { useCollectionReachBottom } from '../../../useCollectionReachBottom';
15
- import { InfiniteScrollLoader } from '../../../InfiniteScrollLoader/InfiniteScrollLoader';
14
+ import { useReachBottom } from '../../../../hooks/useReachBottom';
16
15
  import { Add } from '@wix/wix-ui-icons-common';
17
16
  import { useWixPatternsContainer } from '@wix/bex-core/react';
18
17
  import { TagsListItem } from './List/TagsListItem';
@@ -68,9 +67,12 @@ const ManageTagsModalContent = observer(({ state }: ManageTagsModalProps) => {
68
67
 
69
68
  const scrollRef = useRef<HTMLDivElement>(null);
70
69
  state.ref = scrollRef;
71
- const { targetRef } = useCollectionReachBottom({
72
- collection: state.tagsManagementState.collection,
73
- containerRef: shouldAllowTagsPagination ? scrollRef : undefined,
70
+
71
+ // Grows the local render window when the user scrolls near the bottom —
72
+ // all tags are already in memory, only rendering is windowed
73
+ useReachBottom({
74
+ containerRef: scrollRef,
75
+ onReachBottom: state.showMoreItems,
74
76
  });
75
77
 
76
78
  return (
@@ -182,13 +184,6 @@ const ManageTagsModalContent = observer(({ state }: ManageTagsModalProps) => {
182
184
  {state.isShowingNewTagListItem && (
183
185
  <NewTagItemEditable state={state} />
184
186
  )}
185
- {shouldAllowTagsPagination && (
186
- <InfiniteScrollLoader
187
- targetRef={targetRef}
188
- state={state.tagsManagementState.collection}
189
- size="small"
190
- />
191
- )}
192
187
  </ScrollableContent>
193
188
  </Box>
194
189
  </Box>
@@ -117,8 +117,6 @@ const _TagsWidgetContent = ({
117
117
  );
118
118
  }, [initialTagIdsKey]);
119
119
 
120
- const { shouldAllowTagsPagination } = formState.tagsManagementState;
121
-
122
120
  const tagsOptions = useMemo(() => {
123
121
  const options = formState.displayedTagOptions;
124
122
 
@@ -192,13 +190,6 @@ const _TagsWidgetContent = ({
192
190
  <>
193
191
  <MultiSelect
194
192
  popoverProps={popoverProps}
195
- {...(shouldAllowTagsPagination
196
- ? {
197
- infiniteScroll: true,
198
- hasMore: formState.tagsManagementState.hasMore,
199
- loadMore: () => formState.tagsManagementState.loadMore(),
200
- }
201
- : {})}
202
193
  value={formState.searchValue}
203
194
  onChange={handleSearchChange}
204
195
  options={tagsOptions}
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "ToolbarItem3003316184";
8
+ var _namespace_ = "ToolbarItem1774963001";
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":"ToolbarItem3003316184__root"};
16
+ export var classes = {"root":"ToolbarItem1774963001__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_ = "ToolbarItemBox1042953345";
8
+ var _namespace_ = "ToolbarItemBox3581991017";
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":"ToolbarItemBox1042953345__root"};
16
+ export var classes = {"root":"ToolbarItemBox3581991017__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_ = "common1291335839";
8
+ var _namespace_ = "common1406259648";
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":"common1291335839__root","column":"common1291335839__column","fullHeight":"common1291335839__fullHeight"};
16
+ export var classes = {"root":"common1406259648__root","column":"common1406259648__column","fullHeight":"common1406259648__fullHeight"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -3,6 +3,7 @@ export * from './useBuildOption';
3
3
  export * from './usePickerModal';
4
4
  export * from './usePickerStandalone';
5
5
  export * from './useViews';
6
+ export * from './useSchemaImport';
6
7
  export * from './useEmptyStateTexts';
7
8
  export * from './customModalContent';
8
9
  export * from './useDropdownSelectFilterState';
@@ -0,0 +1,50 @@
1
+ import { RefObject, useEffect, useRef } from 'react';
2
+ import {
3
+ ReachBottomListener,
4
+ ScrollableWindow,
5
+ } from '../reach-bottom-listener';
6
+ import { useWixPatternsContainer } from '@wix/bex-core/react';
7
+
8
+ export interface UseReachBottomParams {
9
+ containerRef: RefObject<ScrollableWindow | null | undefined>;
10
+ onReachBottom: () => unknown;
11
+ // distance from the bottom to trigger the callback
12
+ offsetPX?: number;
13
+ // throttle scroll event
14
+ delay?: number;
15
+ }
16
+
17
+ /**
18
+ * Calls `onReachBottom` when the container is scrolled near its bottom.
19
+ * For fetching more pages of a collection, use `useCollectionReachBottom`
20
+ * instead — it also refills under-filled containers and reacts to
21
+ * collection events.
22
+ */
23
+ export function useReachBottom({
24
+ containerRef,
25
+ onReachBottom,
26
+ offsetPX = 250,
27
+ delay = 200,
28
+ }: UseReachBottomParams) {
29
+ const { lodash } = useWixPatternsContainer();
30
+
31
+ const onReachBottomRef = useRef(onReachBottom);
32
+ onReachBottomRef.current = onReachBottom;
33
+
34
+ useEffect(() => {
35
+ const container = containerRef.current;
36
+ if (container == null) {
37
+ return;
38
+ }
39
+
40
+ const listener = new ReachBottomListener({
41
+ onReachBottom: () => onReachBottomRef.current(),
42
+ delay,
43
+ offsetPX,
44
+ lodash,
45
+ container,
46
+ });
47
+ listener.subscribe();
48
+ return () => listener.unsubscribe();
49
+ }, []);
50
+ }
@@ -0,0 +1,21 @@
1
+ import { useState } from 'react';
2
+ import type { ImportButtonConfig } from '@wix/bex-core';
3
+ import type { TableSchemaSource } from '../components/SchemaSource/tableSchemaSource';
4
+ import { SchemaImportRef } from '../components/SchemaSource/schemaImportRef';
5
+
6
+ /**
7
+ * Builds an `ImportButtonConfig` for the CSV import flow that reads the table's
8
+ * live `SchemaState` — the same one `source` attaches to the table. Pass the
9
+ * result to `<ImportButton config={config} />`.
10
+ *
11
+ * Because it reads the live state, the import always matches the table's current
12
+ * fields (including ones it just created) and needs no load of its own.
13
+ * `source` is expected to be stable (memoized, as `CmsFieldsTable` does).
14
+ */
15
+ export function useSchemaImport<T = Record<string, unknown>>(
16
+ source: TableSchemaSource<T>,
17
+ ): ImportButtonConfig {
18
+ const [config] = useState(() => new SchemaImportRef(source));
19
+
20
+ return config;
21
+ }
package/src/index.ts CHANGED
@@ -131,6 +131,7 @@ export {
131
131
  export * from './hooks/usePickerStandalone';
132
132
  export * from './hooks/useSetupWidget';
133
133
  export * from './hooks/useViews';
134
+ export * from './hooks/useSchemaImport';
134
135
  export * from './hooks/useTableGridSwitchFolders';
135
136
  export * from './hooks/useTableCollection';
136
137
  export * from './hooks/useGridCollection';
@@ -5,6 +5,7 @@ import type {
5
5
  FieldsSource,
6
6
  CustomFieldOrigin,
7
7
  Field,
8
+ Schema,
8
9
  WixPatternsErrorCode,
9
10
  } from '@wix/bex-core';
10
11
  import type { Column } from '../model';
@@ -211,6 +212,12 @@ export class CollectionFieldsSourceState {
211
212
  }
212
213
  }
213
214
 
215
+ /** Merges a returned fields map into the source (no refetch). No-ops for sources
216
+ * that don't support in-place merging. The fields reaction rebuilds columns. */
217
+ mergeFields(fields: Schema['fields']) {
218
+ this.fieldsSource.mergeFields?.(fields);
219
+ }
220
+
214
221
  init() {
215
222
  this.initTask.runOnce(() => this.fieldsSource.load());
216
223
  this.initTask.status.promise?.catch(() => this.handleLoadError());
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "CollectionPageHeader2113898869";
8
+ var _namespace_ = "CollectionPageHeader313153770";
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":"CollectionPageHeader2113898869__root"};
16
+ export var classes = {"root":"CollectionPageHeader313153770__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_ = "FormPageHeader3354621046";
8
+ var _namespace_ = "FormPageHeader4160367408";
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":"FormPageHeader3354621046__root"};
16
+ export var classes = {"root":"FormPageHeader4160367408__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,5 +1,5 @@
1
1
  import { RefObject } from 'react';
2
- import { action, makeObservable, observable } from 'mobx';
2
+ import { action, computed, makeObservable, observable } from 'mobx';
3
3
  import {
4
4
  ConditionalModalState,
5
5
  TAG_MAX_LENGTH,
@@ -21,6 +21,10 @@ export interface TagsModalStateParams {
21
21
 
22
22
  const actionOrigin = 'Manage Tags Modal';
23
23
 
24
+ // Render window for the tags list — the full list (up to 1000 tags) is in
25
+ // memory, but rendering it all at once makes the modal sluggish
26
+ const SHOWN_ITEMS_WINDOW_SIZE = 100;
27
+
24
28
  export class TagsModalState {
25
29
  readonly tagsManagementState;
26
30
  readonly tagsSearchState;
@@ -42,6 +46,7 @@ export class TagsModalState {
42
46
  deep: false,
43
47
  });
44
48
  ref: RefObject<HTMLDivElement> | null = null;
49
+ shownItemsLimit: number = SHOWN_ITEMS_WINDOW_SIZE;
45
50
 
46
51
  constructor({
47
52
  tagsManagementState,
@@ -68,6 +73,9 @@ export class TagsModalState {
68
73
  editedTagId: observable,
69
74
  editedTagErrorMessage: observable,
70
75
  isShowingNewTagListItem: observable,
76
+ shownItemsLimit: observable,
77
+ shownItems: computed,
78
+ showMoreItems: action.bound,
71
79
  init: action,
72
80
  openManageTagsModal: action,
73
81
  closeManageTagsModal: action,
@@ -124,6 +132,7 @@ export class TagsModalState {
124
132
  }) {
125
133
  this.origin = origin;
126
134
  this.tagSubOrigin = tagSubOrigin;
135
+ this.shownItemsLimit = SHOWN_ITEMS_WINDOW_SIZE;
127
136
  this.manageTagsModalState.modal.open();
128
137
  this._reportBiModalOpened();
129
138
  this.tagsManagementState.overrideShowToast = true;
@@ -161,16 +170,23 @@ export class TagsModalState {
161
170
  handleSearchChange(newSearchValue: string) {
162
171
  this.editedTagId = null;
163
172
  this.isShowingNewTagListItem = false;
173
+ this.shownItemsLimit = SHOWN_ITEMS_WINDOW_SIZE;
164
174
  this._reportSearchChangedBi(newSearchValue);
165
175
  this.tagsSearchState.setSearchValue(newSearchValue);
166
176
  }
167
177
 
168
178
  handleSearchClear() {
169
179
  this._reportSearchEventsBi('clear');
180
+ this.shownItemsLimit = SHOWN_ITEMS_WINDOW_SIZE;
170
181
  this.tagsSearchState.setSearchValue('');
171
182
  }
172
183
 
184
+ showMoreItems() {
185
+ this.shownItemsLimit += SHOWN_ITEMS_WINDOW_SIZE;
186
+ }
187
+
173
188
  handleCreateCtaClick() {
189
+ this._showAllItems();
174
190
  this.tagsSearchState.setSearchValue('');
175
191
  this.editedTagId = null;
176
192
  this.isShowingNewTagListItem = true;
@@ -210,6 +226,7 @@ export class TagsModalState {
210
226
  return;
211
227
  }
212
228
 
229
+ this._showAllItems();
213
230
  const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);
214
231
  this._reportSearchEventsBi('add');
215
232
  this._createTag({
@@ -221,6 +238,7 @@ export class TagsModalState {
221
238
  }
222
239
 
223
240
  async createTagFromList(newName: string) {
241
+ this._showAllItems();
224
242
  const { status, statusMessage } = this._isValidName(newName);
225
243
  if (status === 'error') {
226
244
  this.editedTagErrorMessage = statusMessage;
@@ -346,11 +364,13 @@ export class TagsModalState {
346
364
  }
347
365
 
348
366
  get shownItems() {
349
- return [...this.tagsSearchState.items].sort(
350
- (tag1, tag2) =>
351
- new Date(tag1.createdDate!).valueOf() -
352
- new Date(tag2.createdDate!).valueOf(),
353
- );
367
+ return [...this.tagsSearchState.items]
368
+ .sort(
369
+ (tag1, tag2) =>
370
+ new Date(tag1.createdDate!).valueOf() -
371
+ new Date(tag2.createdDate!).valueOf(),
372
+ )
373
+ .slice(0, this.shownItemsLimit);
354
374
  }
355
375
 
356
376
  get isOpen() {
@@ -366,6 +386,12 @@ export class TagsModalState {
366
386
  private createTagFromListTimeout?: number;
367
387
  private updateTagTimeout?: number;
368
388
 
389
+ // A created tag sorts to the end of the list — the render window must cover
390
+ // the full list so the deferred scroll-to-bottom actually reveals it
391
+ private _showAllItems() {
392
+ this.shownItemsLimit = Number.MAX_SAFE_INTEGER;
393
+ }
394
+
369
395
  private async _createTag({
370
396
  name,
371
397
  isFromSearch = false,