@wix/patterns 1.424.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 (470) 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 -19
  88. package/dist/cjs/components/ImportButton/ImportButton.js.map +1 -1
  89. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +19 -25
  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/ImportStepConfiguration.js +19 -19
  93. package/dist/cjs/components/ImportButton/ImportStepConfiguration.js.map +1 -1
  94. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  95. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  96. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  97. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  98. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  99. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  100. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  101. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  102. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  103. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  104. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  105. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  106. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  107. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  108. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  109. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  110. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  111. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  112. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  113. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  114. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  115. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  116. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  117. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  118. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  119. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  120. package/dist/cjs/components/SchemaSource/schemaFieldsSource.js +5 -1
  121. package/dist/cjs/components/SchemaSource/schemaFieldsSource.js.map +1 -1
  122. package/dist/cjs/components/SchemaSource/schemaImportRef.js +128 -0
  123. package/dist/cjs/components/SchemaSource/schemaImportRef.js.map +1 -0
  124. package/dist/cjs/components/SchemaSource/tableSchemaSource.js +23 -9
  125. package/dist/cjs/components/SchemaSource/tableSchemaSource.js.map +1 -1
  126. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  127. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  128. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
  129. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  130. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  131. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  132. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  133. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  134. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  135. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  136. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +34 -44
  137. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.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/TagsWidget/TagsWidgetContent.js +14 -24
  141. package/dist/cjs/components/TagsWidget/TagsWidgetContent.js.map +1 -1
  142. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  143. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  144. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  145. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  146. package/dist/cjs/components/common.st.css.js +4 -4
  147. package/dist/cjs/components/common.st.css.js.map +1 -1
  148. package/dist/cjs/hooks/index.js +6 -0
  149. package/dist/cjs/hooks/index.js.map +1 -1
  150. package/dist/cjs/hooks/useReachBottom.js +41 -0
  151. package/dist/cjs/hooks/useReachBottom.js.map +1 -0
  152. package/dist/cjs/hooks/useSchemaImport.js +20 -0
  153. package/dist/cjs/hooks/useSchemaImport.js.map +1 -0
  154. package/dist/cjs/index.js +7 -0
  155. package/dist/cjs/index.js.map +1 -1
  156. package/dist/cjs/state/CollectionFieldsSourceState.js +7 -0
  157. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  158. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  159. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  160. package/dist/cjs/state/EntityPage/useEntityPageContent.js +2 -2
  161. package/dist/cjs/state/EntityPage/useEntityPageContent.js.map +1 -1
  162. package/dist/cjs/state/EntityPage/useEntityPageHeader.js +2 -2
  163. package/dist/cjs/state/EntityPage/useEntityPageHeader.js.map +1 -1
  164. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  165. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  166. package/dist/cjs/state/TagsModalState.js +23 -1
  167. package/dist/cjs/state/TagsModalState.js.map +1 -1
  168. package/dist/cjs/styles.global.css +2 -2
  169. package/dist/cjs/test-utils/TagsMocks.js +31 -6
  170. package/dist/cjs/test-utils/TagsMocks.js.map +1 -1
  171. package/dist/cjs/version.js +1 -1
  172. package/dist/cjs/version.js.map +1 -1
  173. package/dist/docs/index.json +20 -20
  174. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  175. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  176. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  177. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  178. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  179. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  180. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  181. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  182. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  183. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  184. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  185. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  186. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  187. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  188. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  189. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  190. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  191. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  192. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  193. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  194. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  195. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  196. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  197. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  198. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  199. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  200. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  201. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  202. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  203. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  204. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  205. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  206. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  207. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  208. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  209. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  210. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  211. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  212. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  213. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  214. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  215. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  216. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  217. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  218. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  219. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  220. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  221. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  222. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  223. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  224. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  225. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  226. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  227. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  228. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  229. package/dist/esm/components/FieldCell/FieldCell.js +1 -1
  230. package/dist/esm/components/FieldCell/FieldCell.js.map +1 -1
  231. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  232. package/dist/esm/components/ImportButton/ImportButton.js +2 -2
  233. package/dist/esm/components/ImportButton/ImportButton.js.map +1 -1
  234. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +5 -7
  235. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  236. package/dist/esm/components/ImportButton/ImportStepConfiguration.js +1 -1
  237. package/dist/esm/components/ImportButton/ImportStepConfiguration.js.map +1 -1
  238. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  239. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  240. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  241. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  242. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  243. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  244. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  245. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  246. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  247. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  248. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  249. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  250. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  251. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  252. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  253. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  254. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  255. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  256. package/dist/esm/components/SchemaSource/schemaFieldsSource.js +4 -0
  257. package/dist/esm/components/SchemaSource/schemaFieldsSource.js.map +1 -1
  258. package/dist/esm/components/SchemaSource/schemaImportRef.js +93 -0
  259. package/dist/esm/components/SchemaSource/schemaImportRef.js.map +1 -0
  260. package/dist/esm/components/SchemaSource/tableSchemaSource.js +18 -9
  261. package/dist/esm/components/SchemaSource/tableSchemaSource.js.map +1 -1
  262. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  263. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  264. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  265. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  266. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  267. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  268. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  269. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  270. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  271. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +7 -7
  272. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  273. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  274. package/dist/esm/components/TagsWidget/TagsWidgetContent.js +1 -8
  275. package/dist/esm/components/TagsWidget/TagsWidgetContent.js.map +1 -1
  276. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  277. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  278. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  279. package/dist/esm/components/common.st.css.js +2 -2
  280. package/dist/esm/hooks/index.js +1 -0
  281. package/dist/esm/hooks/index.js.map +1 -1
  282. package/dist/esm/hooks/useReachBottom.js +30 -0
  283. package/dist/esm/hooks/useReachBottom.js.map +1 -0
  284. package/dist/esm/hooks/useSchemaImport.js +16 -0
  285. package/dist/esm/hooks/useSchemaImport.js.map +1 -0
  286. package/dist/esm/index.js +1 -0
  287. package/dist/esm/index.js.map +1 -1
  288. package/dist/esm/state/CollectionFieldsSourceState.js +5 -0
  289. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  290. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  291. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  292. package/dist/esm/state/EntityPage/useEntityPageContent.js +1 -1
  293. package/dist/esm/state/EntityPage/useEntityPageContent.js.map +1 -1
  294. package/dist/esm/state/EntityPage/useEntityPageHeader.js +1 -1
  295. package/dist/esm/state/EntityPage/useEntityPageHeader.js.map +1 -1
  296. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  297. package/dist/esm/state/TagsModalState.js +26 -3
  298. package/dist/esm/state/TagsModalState.js.map +1 -1
  299. package/dist/esm/styles.global.css +2 -2
  300. package/dist/esm/test-utils/TagsMocks.js +47 -13
  301. package/dist/esm/test-utils/TagsMocks.js.map +1 -1
  302. package/dist/esm/version.js +1 -1
  303. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  304. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +28 -28
  305. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  306. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  307. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  308. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +3 -3
  309. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +4 -4
  310. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  311. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  312. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +1 -1
  313. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -2
  314. package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
  315. package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
  316. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  317. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  318. package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
  319. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
  320. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  321. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  322. package/dist/types/components/EditableTable/cellTypes/reference/Edit.uni.driver.d.ts +1 -1
  323. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
  324. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  325. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  326. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  327. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  328. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  329. package/dist/types/components/ImportButton/ImportButton.d.ts.map +1 -1
  330. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +2 -2
  331. package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
  332. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +2 -2
  333. package/dist/types/components/ImportButton/ImportProps.d.ts +7 -22
  334. package/dist/types/components/ImportButton/ImportProps.d.ts.map +1 -1
  335. package/dist/types/components/ImportButton/ImportStepConfiguration.d.ts.map +1 -1
  336. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  337. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  338. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +46 -46
  339. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  340. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  341. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +42 -42
  342. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  343. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  344. package/dist/types/components/PickerModal/PickerModal.uni.driver.d.ts +1 -1
  345. package/dist/types/components/PickerModal/PickerModalLayout.uni.driver.d.ts +1 -1
  346. package/dist/types/components/SchemaSource/schemaFieldsSource.d.ts.map +1 -1
  347. package/dist/types/components/SchemaSource/schemaImportRef.d.ts +27 -0
  348. package/dist/types/components/SchemaSource/schemaImportRef.d.ts.map +1 -0
  349. package/dist/types/components/SchemaSource/tableSchemaSource.d.ts +9 -1
  350. package/dist/types/components/SchemaSource/tableSchemaSource.d.ts.map +1 -1
  351. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  352. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  353. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  354. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  355. package/dist/types/components/Table/Table.uni.driver.d.ts +31 -31
  356. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +42 -42
  357. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +45 -45
  358. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  359. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  360. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.d.ts.map +1 -1
  361. package/dist/types/components/TagsWidget/TagsWidgetContent.d.ts.map +1 -1
  362. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  363. package/dist/types/hooks/index.d.ts +1 -0
  364. package/dist/types/hooks/index.d.ts.map +1 -1
  365. package/dist/types/hooks/useReachBottom.d.ts +16 -0
  366. package/dist/types/hooks/useReachBottom.d.ts.map +1 -0
  367. package/dist/types/hooks/useSchemaImport.d.ts +13 -0
  368. package/dist/types/hooks/useSchemaImport.d.ts.map +1 -0
  369. package/dist/types/index.d.ts +1 -0
  370. package/dist/types/index.d.ts.map +1 -1
  371. package/dist/types/state/CollectionFieldsSourceState.d.ts +4 -1
  372. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  373. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  374. package/dist/types/state/TagsModalState.d.ts +3 -0
  375. package/dist/types/state/TagsModalState.d.ts.map +1 -1
  376. package/dist/types/test-utils/TagsMocks.d.ts +4 -4
  377. package/dist/types/test-utils/TagsMocks.d.ts.map +1 -1
  378. package/dist/types/testkit/enzyme.d.ts +216 -216
  379. package/dist/types/testkit/jsdom.d.ts +278 -278
  380. package/dist/types/testkit/playwright.d.ts +218 -218
  381. package/dist/types/testkit/puppeteer.d.ts +229 -229
  382. package/dist/types/version.d.ts +1 -1
  383. package/package.json +6 -6
  384. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  385. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  386. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  387. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  388. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  389. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  390. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  391. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  392. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  393. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  394. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  395. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  396. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  397. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  398. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  399. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  400. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  401. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  402. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  403. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  404. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  405. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  406. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  407. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  408. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  409. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  410. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  411. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  412. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  413. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  414. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  415. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  416. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  417. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  418. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  419. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  420. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  421. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  422. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  423. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  424. package/src/components/Fade/Fade.st.css.ts +2 -2
  425. package/src/components/FieldCell/FieldCell.tsx +1 -1
  426. package/src/components/Heading/Heading.st.css.ts +2 -2
  427. package/src/components/ImportButton/ImportButton.tsx +2 -13
  428. package/src/components/ImportButton/ImportButtonModalLayout.tsx +5 -15
  429. package/src/components/ImportButton/ImportProps.tsx +7 -28
  430. package/src/components/ImportButton/ImportStepConfiguration.tsx +3 -1
  431. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  432. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  433. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  434. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  435. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  436. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  437. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  438. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  439. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  440. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  441. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  442. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  443. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  444. package/src/components/SchemaSource/schemaFieldsSource.ts +5 -0
  445. package/src/components/SchemaSource/schemaImportRef.ts +122 -0
  446. package/src/components/SchemaSource/tableSchemaSource.ts +27 -10
  447. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  448. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  449. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  450. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  451. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  452. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  453. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.tsx +7 -12
  454. package/src/components/TagsWidget/TagsWidgetContent.tsx +0 -9
  455. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  456. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  457. package/src/components/common.st.css.ts +2 -2
  458. package/src/hooks/index.ts +1 -0
  459. package/src/hooks/useReachBottom.ts +50 -0
  460. package/src/hooks/useSchemaImport.ts +21 -0
  461. package/src/index.ts +1 -0
  462. package/src/state/CollectionFieldsSourceState.ts +7 -0
  463. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  464. package/src/state/EntityPage/useEntityPageContent.tsx +1 -1
  465. package/src/state/EntityPage/useEntityPageHeader.tsx +1 -1
  466. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  467. package/src/state/TagsModalState.ts +32 -6
  468. package/src/styles.global.css +2 -2
  469. package/src/test-utils/TagsMocks.ts +39 -6
  470. 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_ = "ScrollableContent1540889949";
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":"ScrollableContent1540889949__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_ = "SetupWidget808034205";
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":"SetupWidget808034205__root","row":"SetupWidget808034205__row","completedCta":"SetupWidget808034205__completedCta","card":"SetupWidget808034205__card","stepIcon":"SetupWidget808034205__stepIcon","chevron":"SetupWidget808034205__chevron","chevronDisabled":"SetupWidget808034205__chevronDisabled","inProgressLabel":"SetupWidget808034205__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_ = "SkeletonCard3144351190";
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":"SkeletonCard3144351190__root","headerLoading":"SkeletonCard3144351190__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_ = "SlidingModal538401435";
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":"SlidingModal538401435__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_ = "TabsFilter128028699";
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":"TabsFilter128028699__root","title":"TabsFilter128028699__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_ = "ManageTagsModal1465315821";
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":"ManageTagsModal1465315821__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_ = "ToolbarItem3928858564";
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":"ToolbarItem3928858564__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_ = "ToolbarItemBox296014064";
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":"ToolbarItemBox296014064__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_ = "common1841882770";
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":"common1841882770__root","column":"common1841882770__column","fullHeight":"common1841882770__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_ = "CollectionPageHeader3086631792";
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":"CollectionPageHeader3086631792__root"};
16
+ export var classes = {"root":"CollectionPageHeader313153770__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,7 +1,7 @@
1
1
  import { EntityPageContentElement } from '../../components/EntityPageContent';
2
2
  import { EntityPageAdditionalContent } from '../../components/EntityPageAdditionalContent';
3
3
  import { EntityPageMainContent } from '../../components/EntityPageMainContent';
4
- import { EntityPageActionsBar } from '../../components/EntityPage';
4
+ import { EntityPageActionsBar } from '../../components/EntityPage/EntityPageActionsBar';
5
5
  import { useFormPageContent } from '../FormPage';
6
6
 
7
7
  export function useEntityPageContent(
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { EntityPageHeaderElement } from '../../components/EntityPageHeader';
3
3
  import { useEntityPageContext } from '../../providers';
4
- import { EntityPageActionsBar } from '../../components/EntityPage';
4
+ import { EntityPageActionsBar } from '../../components/EntityPage/EntityPageActionsBar';
5
5
  import { useFormPageHeader } from '../FormPage';
6
6
  import { useWixPatternsRouter } from '../../providers/WixPatternsRouterProvider';
7
7
  import { useIsMobile } from '../../hooks/useIsMobile';
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "FormPageHeader4186465849";
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":"FormPageHeader4186465849__root"};
16
+ export var classes = {"root":"FormPageHeader4160367408__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};