@wix/patterns 1.425.0 → 1.427.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 (696) hide show
  1. package/dist/cjs/bm/testProviderPropsOverrides.js +4 -1
  2. package/dist/cjs/bm/testProviderPropsOverrides.js.map +1 -1
  3. package/dist/cjs/components/ActionModal/CustomActionModal.js +5 -3
  4. package/dist/cjs/components/ActionModal/CustomActionModal.js.map +1 -1
  5. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  6. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  9. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  10. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  11. package/dist/cjs/components/CmsFieldManagement/FieldEditorModal.js +5 -3
  12. package/dist/cjs/components/CmsFieldManagement/FieldEditorModal.js.map +1 -1
  13. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  14. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  15. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
  16. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
  17. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  18. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  22. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionTable/CollectionTable.js +12 -10
  24. package/dist/cjs/components/CollectionTable/CollectionTable.js.map +1 -1
  25. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  29. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  30. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  31. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  32. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  33. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  34. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  35. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  36. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  37. package/dist/cjs/components/DataExtension/DataExtensionImportFieldEditor.js +74 -0
  38. package/dist/cjs/components/DataExtension/DataExtensionImportFieldEditor.js.map +1 -0
  39. package/dist/cjs/components/DataExtension/platformizedImportRef.js +124 -0
  40. package/dist/cjs/components/DataExtension/platformizedImportRef.js.map +1 -0
  41. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  42. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/EditableTable.js +10 -9
  46. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  48. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  50. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  52. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  54. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  56. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  58. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  60. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  64. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  66. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  68. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  72. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  74. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  80. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  82. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  84. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  86. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  88. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  90. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  92. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  93. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  94. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  95. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  96. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  97. package/dist/cjs/components/FieldCell/FieldCell.js +1 -1
  98. package/dist/cjs/components/FieldCell/FieldCell.js.map +1 -1
  99. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  100. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  101. package/dist/cjs/components/ImportButton/CAIRO-4118-tasks.md +4 -4
  102. package/dist/cjs/components/ImportButton/CmsImportFieldEditor.js +66 -0
  103. package/dist/cjs/components/ImportButton/CmsImportFieldEditor.js.map +1 -0
  104. package/dist/cjs/components/ImportButton/ImportButton.js +13 -21
  105. package/dist/cjs/components/ImportButton/ImportButton.js.map +1 -1
  106. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +24 -55
  107. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  108. package/dist/cjs/components/ImportButton/ImportIdCollisionControl.js +1 -1
  109. package/dist/cjs/components/ImportButton/ImportIdCollisionControl.js.map +1 -1
  110. package/dist/cjs/components/ImportButton/ImportModal.uni.driver.js +15 -0
  111. package/dist/cjs/components/ImportButton/ImportModal.uni.driver.js.map +1 -1
  112. package/dist/cjs/components/ImportButton/ImportProps.js.map +1 -1
  113. package/dist/cjs/components/ImportButton/ImportRequiredFieldsSideNote.js +97 -0
  114. package/dist/cjs/components/ImportButton/ImportRequiredFieldsSideNote.js.map +1 -0
  115. package/dist/cjs/components/ImportButton/ImportStepConfiguration.js +76 -37
  116. package/dist/cjs/components/ImportButton/ImportStepConfiguration.js.map +1 -1
  117. package/dist/cjs/components/ImportButton/ImportStepSummary.js +159 -0
  118. package/dist/cjs/components/ImportButton/ImportStepSummary.js.map +1 -0
  119. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  120. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  121. package/dist/cjs/components/ImportButton/ImportStepper.js +7 -3
  122. package/dist/cjs/components/ImportButton/ImportStepper.js.map +1 -1
  123. package/dist/cjs/components/ImportButton/getImportModalStepProps.js +73 -15
  124. package/dist/cjs/components/ImportButton/getImportModalStepProps.js.map +1 -1
  125. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  126. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  127. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  128. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  129. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  130. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  131. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  132. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  133. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  134. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  135. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  136. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  137. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  138. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  139. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  140. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  141. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  142. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  143. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  144. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  145. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  146. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  147. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  148. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  149. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +13 -6
  150. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  151. package/dist/cjs/components/SchemaSource/schemaFieldsSource.js +5 -1
  152. package/dist/cjs/components/SchemaSource/schemaFieldsSource.js.map +1 -1
  153. package/dist/cjs/components/SchemaSource/schemaImportRef.js +145 -0
  154. package/dist/cjs/components/SchemaSource/schemaImportRef.js.map +1 -0
  155. package/dist/cjs/components/SchemaSource/standardFieldTypeLabels.js +40 -0
  156. package/dist/cjs/components/SchemaSource/standardFieldTypeLabels.js.map +1 -0
  157. package/dist/cjs/components/SchemaSource/tableSchemaSource.js +74 -8
  158. package/dist/cjs/components/SchemaSource/tableSchemaSource.js.map +1 -1
  159. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  160. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  161. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
  162. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  163. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  164. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  165. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  166. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  167. package/dist/cjs/components/Table/AddFieldColumnHeader.js +100 -0
  168. package/dist/cjs/components/Table/AddFieldColumnHeader.js.map +1 -0
  169. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css +36 -0
  170. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +24 -0
  171. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -0
  172. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  173. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  174. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +34 -44
  175. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  176. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  177. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  178. package/dist/cjs/components/TagsWidget/TagsWidgetContent.js +14 -24
  179. package/dist/cjs/components/TagsWidget/TagsWidgetContent.js.map +1 -1
  180. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  181. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  182. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  183. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  184. package/dist/cjs/components/common.st.css.js +4 -4
  185. package/dist/cjs/components/common.st.css.js.map +1 -1
  186. package/dist/cjs/exports/schema.js +12 -0
  187. package/dist/cjs/exports/schema.js.map +1 -0
  188. package/dist/cjs/exports/testkit/index.js +4 -2
  189. package/dist/cjs/exports/testkit/index.js.map +1 -1
  190. package/dist/cjs/hooks/index.js +12 -0
  191. package/dist/cjs/hooks/index.js.map +1 -1
  192. package/dist/cjs/hooks/useCreateWSRColumnBase.js +17 -6
  193. package/dist/cjs/hooks/useCreateWSRColumnBase.js.map +1 -1
  194. package/dist/cjs/hooks/usePlatformizedImport.js +48 -0
  195. package/dist/cjs/hooks/usePlatformizedImport.js.map +1 -0
  196. package/dist/cjs/hooks/useReachBottom.js +41 -0
  197. package/dist/cjs/hooks/useReachBottom.js.map +1 -0
  198. package/dist/cjs/hooks/useSchemaImport.js +37 -0
  199. package/dist/cjs/hooks/useSchemaImport.js.map +1 -0
  200. package/dist/cjs/hooks/useTableCollection.js.map +1 -1
  201. package/dist/cjs/index.js +15 -3
  202. package/dist/cjs/index.js.map +1 -1
  203. package/dist/cjs/schema/index.js +45 -0
  204. package/dist/cjs/schema/index.js.map +1 -0
  205. package/dist/cjs/schema/schemaCollectionOptions.js +27 -0
  206. package/dist/cjs/schema/schemaCollectionOptions.js.map +1 -0
  207. package/dist/cjs/schema/schemaSourceMutations.js +37 -0
  208. package/dist/cjs/schema/schemaSourceMutations.js.map +1 -0
  209. package/dist/cjs/schema/useCollection.js +14 -0
  210. package/dist/cjs/schema/useCollection.js.map +1 -0
  211. package/dist/cjs/schema/useEditableTableCollection.js +37 -0
  212. package/dist/cjs/schema/useEditableTableCollection.js.map +1 -0
  213. package/dist/cjs/schema/useGridCollection.js +23 -0
  214. package/dist/cjs/schema/useGridCollection.js.map +1 -0
  215. package/dist/cjs/schema/useLayoutSwitchCollection.js +39 -0
  216. package/dist/cjs/schema/useLayoutSwitchCollection.js.map +1 -0
  217. package/dist/cjs/schema/useTableCollection.js +23 -0
  218. package/dist/cjs/schema/useTableCollection.js.map +1 -0
  219. package/dist/cjs/state/CollectionFieldsSourceState.js +7 -0
  220. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  221. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  222. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  223. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  224. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  225. package/dist/cjs/state/TagsModalState.js +23 -1
  226. package/dist/cjs/state/TagsModalState.js.map +1 -1
  227. package/dist/cjs/styles.global.css +2 -2
  228. package/dist/cjs/test-utils/TagsMocks.js +31 -6
  229. package/dist/cjs/test-utils/TagsMocks.js.map +1 -1
  230. package/dist/cjs/version.js +1 -1
  231. package/dist/cjs/version.js.map +1 -1
  232. package/dist/docs/ImportButton.md +527 -0
  233. package/dist/docs/MultiAutoInlineCheckboxFilter.md +2 -2
  234. package/dist/docs/MultiInlineCheckboxFilter.md +2 -2
  235. package/dist/docs/Table.md +2 -1
  236. package/dist/docs/TableGridSwitch.md +2 -1
  237. package/dist/docs/index.json +46 -34
  238. package/dist/docs/usePlatformizedImport.md +59 -0
  239. package/dist/docs/useSchemaImport.md +53 -0
  240. package/dist/esm/bm/testProviderPropsOverrides.js +5 -2
  241. package/dist/esm/bm/testProviderPropsOverrides.js.map +1 -1
  242. package/dist/esm/components/ActionModal/CustomActionModal.js +2 -2
  243. package/dist/esm/components/ActionModal/CustomActionModal.js.map +1 -1
  244. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  245. package/dist/esm/components/CardContainer/CardContainer.st.css.js.map +1 -1
  246. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  247. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  248. package/dist/esm/components/CmsFieldManagement/FieldEditorModal.js +2 -2
  249. package/dist/esm/components/CmsFieldManagement/FieldEditorModal.js.map +1 -1
  250. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  251. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  252. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  253. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  254. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  255. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  256. package/dist/esm/components/CollectionTable/CollectionTable.js +2 -1
  257. package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
  258. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  259. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  260. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  261. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  262. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  263. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  264. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  265. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  266. package/dist/esm/components/DataExtension/DataExtensionImportFieldEditor.js +58 -0
  267. package/dist/esm/components/DataExtension/DataExtensionImportFieldEditor.js.map +1 -0
  268. package/dist/esm/components/DataExtension/platformizedImportRef.js +88 -0
  269. package/dist/esm/components/DataExtension/platformizedImportRef.js.map +1 -0
  270. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  271. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  272. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  273. package/dist/esm/components/EditableTable/EditableTable.js +1 -1
  274. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  275. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  276. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  277. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  278. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  279. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  280. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  281. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  282. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  283. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  284. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  285. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  286. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  287. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  288. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  289. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  290. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  291. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  292. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  293. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  294. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  295. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  296. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  297. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  298. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  299. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  300. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  301. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  302. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  303. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  304. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  305. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  306. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  307. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  308. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  309. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  310. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  311. package/dist/esm/components/FieldCell/FieldCell.js +1 -1
  312. package/dist/esm/components/FieldCell/FieldCell.js.map +1 -1
  313. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  314. package/dist/esm/components/ImportButton/CAIRO-4118-tasks.md +4 -4
  315. package/dist/esm/components/ImportButton/CmsImportFieldEditor.js +42 -0
  316. package/dist/esm/components/ImportButton/CmsImportFieldEditor.js.map +1 -0
  317. package/dist/esm/components/ImportButton/ImportButton.js +2 -2
  318. package/dist/esm/components/ImportButton/ImportButton.js.map +1 -1
  319. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +7 -23
  320. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  321. package/dist/esm/components/ImportButton/ImportIdCollisionControl.js +1 -1
  322. package/dist/esm/components/ImportButton/ImportIdCollisionControl.js.map +1 -1
  323. package/dist/esm/components/ImportButton/ImportModal.uni.driver.js +15 -0
  324. package/dist/esm/components/ImportButton/ImportModal.uni.driver.js.map +1 -1
  325. package/dist/esm/components/ImportButton/ImportRequiredFieldsSideNote.js +32 -0
  326. package/dist/esm/components/ImportButton/ImportRequiredFieldsSideNote.js.map +1 -0
  327. package/dist/esm/components/ImportButton/ImportStepConfiguration.js +27 -14
  328. package/dist/esm/components/ImportButton/ImportStepConfiguration.js.map +1 -1
  329. package/dist/esm/components/ImportButton/ImportStepSummary.js +23 -0
  330. package/dist/esm/components/ImportButton/ImportStepSummary.js.map +1 -0
  331. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  332. package/dist/esm/components/ImportButton/ImportStepper.js +4 -0
  333. package/dist/esm/components/ImportButton/ImportStepper.js.map +1 -1
  334. package/dist/esm/components/ImportButton/getImportModalStepProps.js +39 -3
  335. package/dist/esm/components/ImportButton/getImportModalStepProps.js.map +1 -1
  336. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  337. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  338. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  339. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  340. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  341. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  342. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  343. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  344. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  345. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  346. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  347. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  348. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  349. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  350. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  351. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  352. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  353. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  354. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  355. package/dist/esm/components/SchemaSource/schemaFieldManagement.js +16 -8
  356. package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  357. package/dist/esm/components/SchemaSource/schemaFieldsSource.js +4 -0
  358. package/dist/esm/components/SchemaSource/schemaFieldsSource.js.map +1 -1
  359. package/dist/esm/components/SchemaSource/schemaImportRef.js +107 -0
  360. package/dist/esm/components/SchemaSource/schemaImportRef.js.map +1 -0
  361. package/dist/esm/components/SchemaSource/standardFieldTypeLabels.js +36 -0
  362. package/dist/esm/components/SchemaSource/standardFieldTypeLabels.js.map +1 -0
  363. package/dist/esm/components/SchemaSource/tableSchemaSource.js +65 -7
  364. package/dist/esm/components/SchemaSource/tableSchemaSource.js.map +1 -1
  365. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  366. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  367. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  368. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  369. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  370. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  371. package/dist/esm/components/Table/AddFieldColumnHeader.js +30 -0
  372. package/dist/esm/components/Table/AddFieldColumnHeader.js.map +1 -0
  373. package/dist/esm/components/Table/AddFieldColumnHeader.st.css +36 -0
  374. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +15 -0
  375. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -0
  376. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  377. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +7 -7
  378. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  379. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  380. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  381. package/dist/esm/components/TagsWidget/TagsWidgetContent.js +1 -8
  382. package/dist/esm/components/TagsWidget/TagsWidgetContent.js.map +1 -1
  383. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  384. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  385. package/dist/esm/components/common.st.css.js +2 -2
  386. package/dist/esm/exports/schema.js +2 -0
  387. package/dist/esm/exports/schema.js.map +1 -0
  388. package/dist/esm/exports/testkit/index.js +1 -1
  389. package/dist/esm/exports/testkit/index.js.map +1 -1
  390. package/dist/esm/hooks/index.js +2 -0
  391. package/dist/esm/hooks/index.js.map +1 -1
  392. package/dist/esm/hooks/useCreateWSRColumnBase.js +6 -3
  393. package/dist/esm/hooks/useCreateWSRColumnBase.js.map +1 -1
  394. package/dist/esm/hooks/usePlatformizedImport.js +23 -0
  395. package/dist/esm/hooks/usePlatformizedImport.js.map +1 -0
  396. package/dist/esm/hooks/useReachBottom.js +30 -0
  397. package/dist/esm/hooks/useReachBottom.js.map +1 -0
  398. package/dist/esm/hooks/useSchemaImport.js +18 -0
  399. package/dist/esm/hooks/useSchemaImport.js.map +1 -0
  400. package/dist/esm/index.js +2 -1
  401. package/dist/esm/index.js.map +1 -1
  402. package/dist/esm/schema/index.js +7 -0
  403. package/dist/esm/schema/index.js.map +1 -0
  404. package/dist/esm/schema/schemaCollectionOptions.js +16 -0
  405. package/dist/esm/schema/schemaCollectionOptions.js.map +1 -0
  406. package/dist/esm/schema/schemaSourceMutations.js +25 -0
  407. package/dist/esm/schema/schemaSourceMutations.js.map +1 -0
  408. package/dist/esm/schema/useCollection.js +9 -0
  409. package/dist/esm/schema/useCollection.js.map +1 -0
  410. package/dist/esm/schema/useEditableTableCollection.js +23 -0
  411. package/dist/esm/schema/useEditableTableCollection.js.map +1 -0
  412. package/dist/esm/schema/useGridCollection.js +15 -0
  413. package/dist/esm/schema/useGridCollection.js.map +1 -0
  414. package/dist/esm/schema/useLayoutSwitchCollection.js +28 -0
  415. package/dist/esm/schema/useLayoutSwitchCollection.js.map +1 -0
  416. package/dist/esm/schema/useTableCollection.js +15 -0
  417. package/dist/esm/schema/useTableCollection.js.map +1 -0
  418. package/dist/esm/state/CollectionFieldsSourceState.js +5 -0
  419. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  420. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  421. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  422. package/dist/esm/state/TagsModalState.js +26 -3
  423. package/dist/esm/state/TagsModalState.js.map +1 -1
  424. package/dist/esm/styles.global.css +2 -2
  425. package/dist/esm/test-utils/TagsMocks.js +47 -13
  426. package/dist/esm/test-utils/TagsMocks.js.map +1 -1
  427. package/dist/esm/version.js +1 -1
  428. package/dist/types/bm/testProviderPropsOverrides.d.ts.map +1 -1
  429. package/dist/types/components/ActionModal/CustomActionModal.d.ts +3 -1
  430. package/dist/types/components/ActionModal/CustomActionModal.d.ts.map +1 -1
  431. package/dist/types/components/CardContainer/CardContainer.st.css.d.ts.map +1 -1
  432. package/dist/types/components/CmsFieldManagement/FieldEditorModal.d.ts +3 -1
  433. package/dist/types/components/CmsFieldManagement/FieldEditorModal.d.ts.map +1 -1
  434. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  435. package/dist/types/components/CollectionTable/CollectionTable.d.ts +11 -0
  436. package/dist/types/components/CollectionTable/CollectionTable.d.ts.map +1 -1
  437. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +48 -34
  438. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  439. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  440. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  441. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  442. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +3 -3
  443. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +4 -4
  444. package/dist/types/components/DataExtension/DataExtensionImportFieldEditor.d.ts +8 -0
  445. package/dist/types/components/DataExtension/DataExtensionImportFieldEditor.d.ts.map +1 -0
  446. package/dist/types/components/DataExtension/platformizedImportRef.d.ts +59 -0
  447. package/dist/types/components/DataExtension/platformizedImportRef.d.ts.map +1 -0
  448. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  449. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  450. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +1 -1
  451. package/dist/types/components/EditableTable/EditableTable.d.ts +4 -4
  452. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  453. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -2
  454. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  455. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  456. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
  457. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  458. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  459. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  460. package/dist/types/components/EditableTable/cellTypes/reference/Edit.uni.driver.d.ts +1 -1
  461. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  462. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  463. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  464. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  465. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  466. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  467. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  468. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  469. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  470. package/dist/types/components/ImportButton/CmsImportFieldEditor.d.ts +8 -0
  471. package/dist/types/components/ImportButton/CmsImportFieldEditor.d.ts.map +1 -0
  472. package/dist/types/components/ImportButton/ImportButton.d.ts.map +1 -1
  473. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +10 -2
  474. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts.map +1 -1
  475. package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
  476. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +14 -4
  477. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts.map +1 -1
  478. package/dist/types/components/ImportButton/ImportProps.d.ts +27 -30
  479. package/dist/types/components/ImportButton/ImportProps.d.ts.map +1 -1
  480. package/dist/types/components/ImportButton/ImportRequiredFieldsSideNote.d.ts +19 -0
  481. package/dist/types/components/ImportButton/ImportRequiredFieldsSideNote.d.ts.map +1 -0
  482. package/dist/types/components/ImportButton/ImportStepConfiguration.d.ts +1 -3
  483. package/dist/types/components/ImportButton/ImportStepConfiguration.d.ts.map +1 -1
  484. package/dist/types/components/ImportButton/ImportStepSummary.d.ts +11 -0
  485. package/dist/types/components/ImportButton/ImportStepSummary.d.ts.map +1 -0
  486. package/dist/types/components/ImportButton/ImportStepper.d.ts.map +1 -1
  487. package/dist/types/components/ImportButton/getImportModalStepProps.d.ts +1 -3
  488. package/dist/types/components/ImportButton/getImportModalStepProps.d.ts.map +1 -1
  489. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  490. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  491. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +62 -46
  492. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -1
  493. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  494. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  495. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  496. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +58 -42
  497. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  498. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  499. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  500. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  501. package/dist/types/components/PickerModal/PickerModal.uni.driver.d.ts +1 -1
  502. package/dist/types/components/PickerModal/PickerModalLayout.uni.driver.d.ts +1 -1
  503. package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
  504. package/dist/types/components/SchemaSource/schemaFieldsSource.d.ts.map +1 -1
  505. package/dist/types/components/SchemaSource/schemaImportRef.d.ts +27 -0
  506. package/dist/types/components/SchemaSource/schemaImportRef.d.ts.map +1 -0
  507. package/dist/types/components/SchemaSource/standardFieldTypeLabels.d.ts +11 -0
  508. package/dist/types/components/SchemaSource/standardFieldTypeLabels.d.ts.map +1 -0
  509. package/dist/types/components/SchemaSource/tableSchemaSource.d.ts +10 -3
  510. package/dist/types/components/SchemaSource/tableSchemaSource.d.ts.map +1 -1
  511. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  512. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  513. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  514. package/dist/types/components/Table/AddFieldColumnHeader.d.ts +6 -0
  515. package/dist/types/components/Table/AddFieldColumnHeader.d.ts.map +1 -0
  516. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts +15 -0
  517. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -0
  518. package/dist/types/components/Table/Table.uni.driver.d.ts +47 -31
  519. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  520. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +58 -42
  521. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  522. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +61 -45
  523. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  524. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  525. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.d.ts.map +1 -1
  526. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  527. package/dist/types/components/TagsWidget/TagsWidgetContent.d.ts.map +1 -1
  528. package/dist/types/exports/schema.d.ts +3 -0
  529. package/dist/types/exports/schema.d.ts.map +1 -0
  530. package/dist/types/exports/testkit/index.d.ts +2 -1
  531. package/dist/types/exports/testkit/index.d.ts.map +1 -1
  532. package/dist/types/hooks/index.d.ts +2 -0
  533. package/dist/types/hooks/index.d.ts.map +1 -1
  534. package/dist/types/hooks/useCreateWSRColumnBase.d.ts +3 -1
  535. package/dist/types/hooks/useCreateWSRColumnBase.d.ts.map +1 -1
  536. package/dist/types/hooks/usePlatformizedImport.d.ts +43 -0
  537. package/dist/types/hooks/usePlatformizedImport.d.ts.map +1 -0
  538. package/dist/types/hooks/useReachBottom.d.ts +16 -0
  539. package/dist/types/hooks/useReachBottom.d.ts.map +1 -0
  540. package/dist/types/hooks/useSchemaImport.d.ts +20 -0
  541. package/dist/types/hooks/useSchemaImport.d.ts.map +1 -0
  542. package/dist/types/hooks/useTableCollection.d.ts +1 -1
  543. package/dist/types/hooks/useTableCollection.d.ts.map +1 -1
  544. package/dist/types/index.d.ts +2 -2
  545. package/dist/types/index.d.ts.map +1 -1
  546. package/dist/types/schema/index.d.ts +8 -0
  547. package/dist/types/schema/index.d.ts.map +1 -0
  548. package/dist/types/schema/schemaCollectionOptions.d.ts +19 -0
  549. package/dist/types/schema/schemaCollectionOptions.d.ts.map +1 -0
  550. package/dist/types/schema/schemaSourceMutations.d.ts +9 -0
  551. package/dist/types/schema/schemaSourceMutations.d.ts.map +1 -0
  552. package/dist/types/schema/useCollection.d.ts +9 -0
  553. package/dist/types/schema/useCollection.d.ts.map +1 -0
  554. package/dist/types/schema/useEditableTableCollection.d.ts +17 -0
  555. package/dist/types/schema/useEditableTableCollection.d.ts.map +1 -0
  556. package/dist/types/schema/useGridCollection.d.ts +7 -0
  557. package/dist/types/schema/useGridCollection.d.ts.map +1 -0
  558. package/dist/types/schema/useLayoutSwitchCollection.d.ts +17 -0
  559. package/dist/types/schema/useLayoutSwitchCollection.d.ts.map +1 -0
  560. package/dist/types/schema/useTableCollection.d.ts +7 -0
  561. package/dist/types/schema/useTableCollection.d.ts.map +1 -0
  562. package/dist/types/state/CollectionFieldsSourceState.d.ts +4 -1
  563. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  564. package/dist/types/state/TagsModalState.d.ts +3 -0
  565. package/dist/types/state/TagsModalState.d.ts.map +1 -1
  566. package/dist/types/test-utils/TagsMocks.d.ts +4 -4
  567. package/dist/types/test-utils/TagsMocks.d.ts.map +1 -1
  568. package/dist/types/testkit/enzyme.d.ts +280 -216
  569. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  570. package/dist/types/testkit/jsdom.d.ts +358 -278
  571. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  572. package/dist/types/testkit/playwright.d.ts +282 -218
  573. package/dist/types/testkit/playwright.d.ts.map +1 -1
  574. package/dist/types/testkit/puppeteer.d.ts +293 -229
  575. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  576. package/dist/types/version.d.ts +1 -1
  577. package/package.json +13 -7
  578. package/schema/package.json +6 -0
  579. package/src/bm/testProviderPropsOverrides.ts +12 -2
  580. package/src/components/ActionModal/CustomActionModal.tsx +4 -0
  581. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  582. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  583. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  584. package/src/components/CmsFieldManagement/FieldEditorModal.tsx +4 -0
  585. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  586. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  587. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  588. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  589. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  590. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  591. package/src/components/CollectionTable/CollectionTable.tsx +14 -0
  592. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  593. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  594. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  595. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  596. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  597. package/src/components/DataExtension/DataExtensionImportFieldEditor.tsx +81 -0
  598. package/src/components/DataExtension/platformizedImportRef.ts +147 -0
  599. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  600. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  601. package/src/components/EditableTable/EditableTable.tsx +5 -3
  602. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  603. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  604. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  605. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  606. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  607. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  608. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  609. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  610. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  611. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  612. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  613. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  614. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  615. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  616. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  617. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  618. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  619. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  620. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  621. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  622. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  623. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  624. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  625. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  626. package/src/components/Fade/Fade.st.css.ts +2 -2
  627. package/src/components/FieldCell/FieldCell.tsx +1 -1
  628. package/src/components/Heading/Heading.st.css.ts +2 -2
  629. package/src/components/ImportButton/CAIRO-4118-tasks.md +4 -4
  630. package/src/components/ImportButton/CmsImportFieldEditor.tsx +62 -0
  631. package/src/components/ImportButton/ImportButton.tsx +3 -15
  632. package/src/components/ImportButton/ImportButtonModalLayout.tsx +7 -41
  633. package/src/components/ImportButton/ImportIdCollisionControl.tsx +1 -1
  634. package/src/components/ImportButton/ImportModal.uni.driver.ts +26 -0
  635. package/src/components/ImportButton/ImportProps.tsx +28 -37
  636. package/src/components/ImportButton/ImportRequiredFieldsSideNote.tsx +60 -0
  637. package/src/components/ImportButton/ImportStepConfiguration.tsx +38 -19
  638. package/src/components/ImportButton/ImportStepSummary.tsx +72 -0
  639. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  640. package/src/components/ImportButton/ImportStepper.tsx +4 -0
  641. package/src/components/ImportButton/getImportModalStepProps.tsx +50 -7
  642. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  643. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  644. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  645. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  646. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  647. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  648. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  649. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  650. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  651. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  652. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  653. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  654. package/src/components/SchemaSource/schemaFieldManagement.ts +19 -8
  655. package/src/components/SchemaSource/schemaFieldsSource.ts +5 -0
  656. package/src/components/SchemaSource/schemaImportRef.ts +137 -0
  657. package/src/components/SchemaSource/standardFieldTypeLabels.ts +47 -0
  658. package/src/components/SchemaSource/tableSchemaSource.ts +82 -12
  659. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  660. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  661. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  662. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  663. package/src/components/Table/AddFieldColumnHeader.st.css +36 -0
  664. package/src/components/Table/AddFieldColumnHeader.st.css.ts +25 -0
  665. package/src/components/Table/AddFieldColumnHeader.tsx +65 -0
  666. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  667. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  668. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.tsx +7 -12
  669. package/src/components/TagsWidget/TagsWidgetContent.tsx +0 -9
  670. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  671. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  672. package/src/components/common.st.css.ts +2 -2
  673. package/src/exports/schema.ts +13 -0
  674. package/src/exports/testkit/index.ts +6 -1
  675. package/src/hooks/index.ts +2 -0
  676. package/src/hooks/useCreateWSRColumnBase.tsx +15 -2
  677. package/src/hooks/usePlatformizedImport.tsx +77 -0
  678. package/src/hooks/useReachBottom.ts +50 -0
  679. package/src/hooks/useSchemaImport.tsx +35 -0
  680. package/src/hooks/useTableCollection.ts +1 -1
  681. package/src/index.ts +2 -2
  682. package/src/schema/index.ts +7 -0
  683. package/src/schema/schemaCollectionOptions.ts +44 -0
  684. package/src/schema/schemaSourceMutations.ts +35 -0
  685. package/src/schema/useCollection.ts +22 -0
  686. package/src/schema/useEditableTableCollection.ts +70 -0
  687. package/src/schema/useGridCollection.ts +33 -0
  688. package/src/schema/useLayoutSwitchCollection.ts +73 -0
  689. package/src/schema/useTableCollection.ts +42 -0
  690. package/src/state/CollectionFieldsSourceState.ts +7 -0
  691. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  692. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  693. package/src/state/TagsModalState.ts +32 -6
  694. package/src/styles.global.css +2 -2
  695. package/src/test-utils/TagsMocks.ts +39 -6
  696. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_chance","require","_client","_http","_backend","_HttpErrorMocks","_ExpectedTestError","ServerError","ExpectedTestError","constructor","code","message","_defineProperty2","default","chance","Chance","aTag","overrides","id","guid","name","word","length","createdDate","date","min","Date","now","max","aTagsArray","count","Array","from","exports","generateInvalidLongName","string","TAGS","buildQueryTagsReply","tags","query","_query$filter","_query$cursorPaging","_query$cursorPaging2","allTags","search","filter","$startsWith","filteredTags","tag","_tag$name","toLowerCase","startsWith","limit","cursorPaging","cursorToken","cursor","offset","parseInt","atob","pageItems","slice","nextOffset","hasNext","pagingMetadata","cursors","next","btoa","String","total","withQueryTags","whenRequest","queryTags","reply","persist","withQueryTagsForAccount","queryTagsForAccount","withListTags","withListTagsForAccount","createTagResponseMock","__applicationErrorsType","updatedDate","withCreateTag","mock","createTag","withCreateTagForAccount","createTagForAccount","withUpdateTag","updateTag","withUpdateTagForAccount","updateTagForAccount","withDeleteTag","deleteTag","getQueryTagsErrorMock","status","Promise","_resolve","reject","window","setTimeout","createHttpErrorMock","getListTagsErrorMock","getListTagsForAccountErrorMock","getCreateTagErrorMock","requestId","getCreateTagForAccountErrorMock","getUpdateTagErrorMock","getDeleteTagErrorMock","createTagImdb","fqdn","createBackend","InMemoryBackend","paginationMode","delay","createOne","index","predicate","filters","item","orderBy","sort","itemKey","tagsAPIHttpClientMocks","tagsBackend","listTags","fetchData","then","items","_query$filter2","_query$cursorPaging3","_query$cursorPaging4","allItems","filtered","_tag$name2","push","update","tagId","map","delete"],"sources":["../../../src/test-utils/TagsMocks.ts"],"sourcesContent":["import { Chance } from 'chance';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport {\n listTags,\n queryTags,\n queryTagsForAccount,\n createTag,\n updateTag,\n deleteTag,\n createTagForAccount,\n updateTagForAccount,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/http';\nimport {\n QueryTagsRequest,\n Tag as TagType,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { InMemoryBackend } from '../testkit/backend';\nimport { createHttpErrorMock } from './HttpErrorMocks';\nimport { ExpectedTestError } from '../__tests__/utils/ExpectedTestError';\n\nclass ServerError extends ExpectedTestError {\n readonly code: string;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n\nconst chance = new Chance();\n\nconst aTag = (overrides: Partial<TagType> = {}): TagType => {\n return {\n id: chance.guid(),\n name: chance.word({ length: 5 }),\n createdDate: chance.date({\n min: new Date(Date.now() - 365 * 24 * 60 * 60 * 1000),\n max: new Date(),\n }) as Date,\n ...overrides,\n } as TagType;\n};\n\nexport const aTagsArray = (count: number) =>\n Array.from({ length: count }, () => aTag());\n\nexport const generateInvalidLongName = (length: number) =>\n chance.string({ length });\nexport const TAGS = aTagsArray(2);\n\nconst buildQueryTagsReply =\n (tags?: TagType[]) =>\n async ({ query }: Partial<QueryTagsRequest>) => {\n const allTags = tags || TAGS;\n const search = query?.filter?.name?.$startsWith as string | undefined;\n const filteredTags = search\n ? allTags.filter((tag) =>\n tag.name?.toLowerCase().startsWith(search.toLowerCase()),\n )\n : allTags;\n const limit = query?.cursorPaging?.limit ?? filteredTags.length;\n const cursorToken = query?.cursorPaging?.cursor;\n const offset = cursorToken ? parseInt(atob(cursorToken), 10) : 0;\n const pageItems = filteredTags.slice(offset, offset + limit);\n const nextOffset = offset + limit;\n const hasNext = nextOffset < filteredTags.length;\n return {\n tags: pageItems,\n pagingMetadata: {\n count: pageItems.length,\n cursors: { next: hasNext ? btoa(String(nextOffset)) : null },\n hasNext,\n total: filteredTags.length,\n },\n };\n };\n\nexport const withQueryTags = (tags?: TagType[]) =>\n whenRequest(queryTags).reply(200, buildQueryTagsReply(tags)).persist();\n\nexport const withQueryTagsForAccount = (tags?: TagType[]) =>\n whenRequest(queryTagsForAccount)\n .reply(200, buildQueryTagsReply(tags))\n .persist();\n\nexport const withListTags = (tags?: TagType[]) => withQueryTags(tags);\n\nexport const withListTagsForAccount = (tags?: TagType[]) =>\n withQueryTagsForAccount(tags);\n\nconst createTagResponseMock = (tag: TagType) => ({\n __applicationErrorsType: {},\n tag: { createdDate: new Date(), updatedDate: new Date(), ...tag },\n});\n\nexport const withCreateTag = (mock?: jest.Mock<any, any>) =>\n whenRequest(createTag)\n .reply(\n 200,\n mock ||\n (async ({ tag }) => {\n return createTagResponseMock(tag);\n }),\n )\n .persist();\n\nexport const withCreateTagForAccount = (mock?: jest.Mock<any, any>) =>\n whenRequest(createTagForAccount)\n .reply(\n 200,\n mock ||\n (async ({ tag }) => {\n return createTagResponseMock(tag);\n }),\n )\n .persist();\n\nexport const withUpdateTag = () =>\n whenRequest(updateTag)\n .reply(200, async (tag) => {\n return tag;\n })\n .persist();\n\nexport const withUpdateTagForAccount = () =>\n whenRequest(updateTagForAccount)\n .reply(200, async (tag) => {\n return tag;\n })\n .persist();\n\nexport const withDeleteTag = () =>\n whenRequest(deleteTag)\n .reply(200, async () => {\n return {};\n })\n .persist();\n\nexport const getQueryTagsErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(queryTags)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getListTagsErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) => getQueryTagsErrorMock({ code, status });\n\nexport const getListTagsForAccountErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(queryTagsForAccount)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getCreateTagErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n requestId,\n}: {\n code?: string;\n status?: number;\n requestId?: string;\n} = {}) =>\n whenRequest(createTag)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status, requestId }));\n }, 500);\n });\n })\n .persist();\n\nexport const getCreateTagForAccountErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(createTagForAccount)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getUpdateTagErrorMock = ({\n code,\n status,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(updateTag)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getDeleteTagErrorMock = (code: string = 'ERR_NETWORK') =>\n whenRequest(deleteTag)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(new ServerError(code, 'error'));\n }, 500);\n });\n })\n .persist();\n\nexport default function createTagImdb({\n createdDate = new Date(Date.now() - 365 * 24 * 60 * 60 * 1000),\n updatedDate = createdDate,\n fqdn = 'wix.patterns.dummyservice.v1.dummy_entity',\n ...overrides\n}: Partial<TagType> = {}): TagType {\n return {\n createdDate,\n updatedDate,\n fqdn,\n ...overrides,\n };\n}\n\nexport function createBackend(tags: TagType[]) {\n return new InMemoryBackend<TagType>({\n total: tags.length,\n paginationMode: 'offset',\n delay: { min: 100, max: 2000 },\n createOne: (index: number) => createTagImdb(tags[index]),\n predicate: (query) => {\n const filters = query.filters ?? {};\n const { fqdn } = filters;\n return (item) => item.fqdn === fqdn;\n },\n orderBy: (query) => {\n return [...(query.sort ?? [])];\n },\n itemKey: (item) => item.id!,\n });\n}\n\nexport const tagsAPIHttpClientMocks = (tags: TagType[]) => {\n const tagsBackend = createBackend(tags);\n return [\n whenRequest(listTags)\n .reply(200, async ({ fqdn }) => {\n return tagsBackend\n .fetchData({\n filters: {\n fqdn,\n },\n limit: tags.length,\n })\n .then(({ items }) => {\n if (fqdn === 'wix.patterns.dummyservice.v1.empty') {\n return { tags: [] };\n } else if (fqdn === 'wix.patterns.dummyservice.v1.over_limit') {\n return { tags: aTagsArray(105) };\n } else {\n return { tags: items };\n }\n });\n })\n .persist(),\n whenRequest(queryTags)\n .reply(200, async ({ fqdn, query }) => {\n if (fqdn === 'wix.patterns.dummyservice.v1.empty') {\n return {\n tags: [],\n pagingMetadata: {\n count: 0,\n cursors: { next: null },\n hasNext: false,\n },\n };\n }\n const allItems =\n fqdn === 'wix.patterns.dummyservice.v1.over_limit'\n ? aTagsArray(105)\n : (await tagsBackend.fetchData({ filters: { fqdn }, limit: 1000 }))\n .items;\n const search = query?.filter?.name?.$startsWith as string | undefined;\n const filtered = search\n ? allItems.filter((tag) =>\n tag.name?.toLowerCase().startsWith(search.toLowerCase()),\n )\n : allItems;\n const limit = query?.cursorPaging?.limit ?? filtered.length;\n const cursorToken = query?.cursorPaging?.cursor;\n const offset = cursorToken ? parseInt(atob(cursorToken), 10) : 0;\n const pageItems = filtered.slice(offset, offset + limit);\n const nextOffset = offset + limit;\n const hasNext = nextOffset < filtered.length;\n return {\n tags: pageItems,\n pagingMetadata: {\n count: pageItems.length,\n cursors: { next: hasNext ? btoa(String(nextOffset)) : null },\n hasNext,\n total: filtered.length,\n },\n };\n })\n .persist(),\n whenRequest(createTag)\n .reply(200, ({ tag }) => {\n tagsBackend.push([tag]);\n return {\n __applicationErrorsType: {},\n tag,\n };\n })\n .persist(),\n whenRequest(updateTag)\n .reply(200, ({ tag }) => {\n tagsBackend.update(tag);\n return { tag };\n })\n .persist(),\n whenRequest(deleteTag)\n .reply(200, ({ tagId }) => {\n tagsBackend.map.delete(tagId);\n })\n .persist(),\n ];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chance","require","_client","_http","_backend","_HttpErrorMocks","_ExpectedTestError","ServerError","ExpectedTestError","constructor","code","message","_defineProperty2","default","chance","Chance","aTag","overrides","id","guid","name","word","length","createdDate","date","min","Date","now","max","aTagsArray","count","Array","from","exports","generateInvalidLongName","string","TAGS","buildQueryTagsReply","tags","query","_query$filter","_query$cursorPaging","_query$cursorPaging2","allTags","search","filter","$startsWith","filteredTags","tag","_tag$name","toLowerCase","startsWith","limit","cursorPaging","cursorToken","cursor","offset","parseInt","atob","pageItems","slice","nextOffset","hasNext","pagingMetadata","cursors","next","btoa","String","total","withQueryTags","whenRequest","queryTags","reply","persist","withQueryTagsForAccount","queryTagsForAccount","withListTags","listTags","withListTagsForAccount","listTagsForAccount","createTagResponseMock","__applicationErrorsType","updatedDate","withCreateTag","mock","createTag","withCreateTagForAccount","createTagForAccount","withUpdateTag","updateTag","withUpdateTagForAccount","updateTagForAccount","withDeleteTag","deleteTag","getQueryTagsErrorMock","status","Promise","_resolve","reject","window","setTimeout","createHttpErrorMock","getListTagsErrorMock","getListTagsForAccountErrorMock","getCreateTagErrorMock","requestId","getCreateTagForAccountErrorMock","getUpdateTagErrorMock","getDeleteTagErrorMock","createTagImdb","fqdn","createBackend","InMemoryBackend","paginationMode","delay","createOne","index","predicate","filters","item","orderBy","sort","itemKey","tagsAPIHttpClientMocks","tagsBackend","fetchData","then","items","_query$filter2","_query$cursorPaging3","_query$cursorPaging4","allItems","filtered","_tag$name2","push","update","tagId","map","delete"],"sources":["../../../src/test-utils/TagsMocks.ts"],"sourcesContent":["import { Chance } from 'chance';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport {\n listTags,\n listTagsForAccount,\n queryTags,\n queryTagsForAccount,\n createTag,\n updateTag,\n deleteTag,\n createTagForAccount,\n updateTagForAccount,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/http';\nimport {\n QueryTagsRequest,\n Tag as TagType,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { InMemoryBackend } from '../testkit/backend';\nimport { createHttpErrorMock } from './HttpErrorMocks';\nimport { ExpectedTestError } from '../__tests__/utils/ExpectedTestError';\n\nclass ServerError extends ExpectedTestError {\n readonly code: string;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n\nconst chance = new Chance();\n\nconst aTag = (overrides: Partial<TagType> = {}): TagType => {\n return {\n id: chance.guid(),\n name: chance.word({ length: 5 }),\n createdDate: chance.date({\n min: new Date(Date.now() - 365 * 24 * 60 * 60 * 1000),\n max: new Date(),\n }) as Date,\n ...overrides,\n } as TagType;\n};\n\nexport const aTagsArray = (count: number) =>\n Array.from({ length: count }, () => aTag());\n\nexport const generateInvalidLongName = (length: number) =>\n chance.string({ length });\nexport const TAGS = aTagsArray(2);\n\nconst buildQueryTagsReply =\n (tags?: TagType[]) =>\n async ({ query }: Partial<QueryTagsRequest>) => {\n const allTags = tags || TAGS;\n const search = query?.filter?.name?.$startsWith as string | undefined;\n const filteredTags = search\n ? allTags.filter((tag) =>\n tag.name?.toLowerCase().startsWith(search.toLowerCase()),\n )\n : allTags;\n const limit = query?.cursorPaging?.limit ?? filteredTags.length;\n const cursorToken = query?.cursorPaging?.cursor;\n const offset = cursorToken ? parseInt(atob(cursorToken), 10) : 0;\n const pageItems = filteredTags.slice(offset, offset + limit);\n const nextOffset = offset + limit;\n const hasNext = nextOffset < filteredTags.length;\n return {\n tags: pageItems,\n pagingMetadata: {\n count: pageItems.length,\n cursors: { next: hasNext ? btoa(String(nextOffset)) : null },\n hasNext,\n total: filteredTags.length,\n },\n };\n };\n\nexport const withQueryTags = (tags?: TagType[]) =>\n whenRequest(queryTags).reply(200, buildQueryTagsReply(tags)).persist();\n\nexport const withQueryTagsForAccount = (tags?: TagType[]) =>\n whenRequest(queryTagsForAccount)\n .reply(200, buildQueryTagsReply(tags))\n .persist();\n\n// Bundles the queryTags mock too — tag assignment (fetchTagsByIds) and\n// TagsFilter still read through queryTags\nexport const withListTags = (tags?: TagType[]) => [\n whenRequest(listTags)\n .reply(200, async () => ({ tags: tags || TAGS }))\n .persist(),\n withQueryTags(tags),\n];\n\nexport const withListTagsForAccount = (tags?: TagType[]) => [\n whenRequest(listTagsForAccount)\n .reply(200, async () => ({ tags: tags || TAGS }))\n .persist(),\n withQueryTagsForAccount(tags),\n];\n\nconst createTagResponseMock = (tag: TagType) => ({\n __applicationErrorsType: {},\n tag: { createdDate: new Date(), updatedDate: new Date(), ...tag },\n});\n\nexport const withCreateTag = (mock?: jest.Mock<any, any>) =>\n whenRequest(createTag)\n .reply(\n 200,\n mock ||\n (async ({ tag }) => {\n return createTagResponseMock(tag);\n }),\n )\n .persist();\n\nexport const withCreateTagForAccount = (mock?: jest.Mock<any, any>) =>\n whenRequest(createTagForAccount)\n .reply(\n 200,\n mock ||\n (async ({ tag }) => {\n return createTagResponseMock(tag);\n }),\n )\n .persist();\n\nexport const withUpdateTag = () =>\n whenRequest(updateTag)\n .reply(200, async (tag) => {\n return tag;\n })\n .persist();\n\nexport const withUpdateTagForAccount = () =>\n whenRequest(updateTagForAccount)\n .reply(200, async (tag) => {\n return tag;\n })\n .persist();\n\nexport const withDeleteTag = () =>\n whenRequest(deleteTag)\n .reply(200, async () => {\n return {};\n })\n .persist();\n\nexport const getQueryTagsErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(queryTags)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getListTagsErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) => [\n whenRequest(listTags)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist(),\n getQueryTagsErrorMock({ code, status }),\n];\n\nexport const getListTagsForAccountErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) => [\n whenRequest(listTagsForAccount)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist(),\n whenRequest(queryTagsForAccount)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist(),\n];\n\nexport const getCreateTagErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n requestId,\n}: {\n code?: string;\n status?: number;\n requestId?: string;\n} = {}) =>\n whenRequest(createTag)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status, requestId }));\n }, 500);\n });\n })\n .persist();\n\nexport const getCreateTagForAccountErrorMock = ({\n code = 'ERR_NETWORK',\n status = 429,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(createTagForAccount)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getUpdateTagErrorMock = ({\n code,\n status,\n}: {\n code?: string;\n status?: number;\n} = {}) =>\n whenRequest(updateTag)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(createHttpErrorMock({ code, status }));\n }, 500);\n });\n })\n .persist();\n\nexport const getDeleteTagErrorMock = (code: string = 'ERR_NETWORK') =>\n whenRequest(deleteTag)\n .reply(200, async () => {\n return new Promise((_resolve, reject) => {\n window.setTimeout(() => {\n reject(new ServerError(code, 'error'));\n }, 500);\n });\n })\n .persist();\n\nexport default function createTagImdb({\n createdDate = new Date(Date.now() - 365 * 24 * 60 * 60 * 1000),\n updatedDate = createdDate,\n fqdn = 'wix.patterns.dummyservice.v1.dummy_entity',\n ...overrides\n}: Partial<TagType> = {}): TagType {\n return {\n createdDate,\n updatedDate,\n fqdn,\n ...overrides,\n };\n}\n\nexport function createBackend(tags: TagType[]) {\n return new InMemoryBackend<TagType>({\n total: tags.length,\n paginationMode: 'offset',\n delay: { min: 100, max: 2000 },\n createOne: (index: number) => createTagImdb(tags[index]),\n predicate: (query) => {\n const filters = query.filters ?? {};\n const { fqdn } = filters;\n return (item) => item.fqdn === fqdn;\n },\n orderBy: (query) => {\n return [...(query.sort ?? [])];\n },\n itemKey: (item) => item.id!,\n });\n}\n\nexport const tagsAPIHttpClientMocks = (tags: TagType[]) => {\n const tagsBackend = createBackend(tags);\n return [\n whenRequest(listTags)\n .reply(200, async ({ fqdn }) => {\n return tagsBackend\n .fetchData({\n filters: {\n fqdn,\n },\n limit: tags.length,\n })\n .then(({ items }) => {\n if (fqdn === 'wix.patterns.dummyservice.v1.empty') {\n return { tags: [] };\n } else if (fqdn === 'wix.patterns.dummyservice.v1.over_limit') {\n return { tags: aTagsArray(105) };\n } else {\n return { tags: items };\n }\n });\n })\n .persist(),\n whenRequest(queryTags)\n .reply(200, async ({ fqdn, query }) => {\n if (fqdn === 'wix.patterns.dummyservice.v1.empty') {\n return {\n tags: [],\n pagingMetadata: {\n count: 0,\n cursors: { next: null },\n hasNext: false,\n },\n };\n }\n const allItems =\n fqdn === 'wix.patterns.dummyservice.v1.over_limit'\n ? aTagsArray(105)\n : (await tagsBackend.fetchData({ filters: { fqdn }, limit: 1000 }))\n .items;\n const search = query?.filter?.name?.$startsWith as string | undefined;\n const filtered = search\n ? allItems.filter((tag) =>\n tag.name?.toLowerCase().startsWith(search.toLowerCase()),\n )\n : allItems;\n const limit = query?.cursorPaging?.limit ?? filtered.length;\n const cursorToken = query?.cursorPaging?.cursor;\n const offset = cursorToken ? parseInt(atob(cursorToken), 10) : 0;\n const pageItems = filtered.slice(offset, offset + limit);\n const nextOffset = offset + limit;\n const hasNext = nextOffset < filtered.length;\n return {\n tags: pageItems,\n pagingMetadata: {\n count: pageItems.length,\n cursors: { next: hasNext ? btoa(String(nextOffset)) : null },\n hasNext,\n total: filtered.length,\n },\n };\n })\n .persist(),\n whenRequest(createTag)\n .reply(200, ({ tag }) => {\n tagsBackend.push([tag]);\n return {\n __applicationErrorsType: {},\n tag,\n };\n })\n .persist(),\n whenRequest(updateTag)\n .reply(200, ({ tag }) => {\n tagsBackend.update(tag);\n return { tag };\n })\n .persist(),\n whenRequest(deleteTag)\n .reply(200, ({ tagId }) => {\n tagsBackend.map.delete(tagId);\n })\n .persist(),\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,5 +2,5 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.version = void 0;
5
- const version = exports.version = 'patterns@1.425.0';
5
+ const version = exports.version = 'patterns@1.427.0';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.425.0';\n"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.427.0';\n"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,kBAAkB","ignoreList":[]}
@@ -0,0 +1,527 @@
1
+ # ImportButton
2
+
3
+ **Category:** Features/Import
4
+
5
+ ## Design
6
+
7
+ ### Description
8
+
9
+ The `ImportButton` is the platformized solution for importing a CSV file into a collection.
10
+
11
+ It renders an import action in the collection toolbar. On the default toolbar it shows a `ResponsiveButton`; on a bulk-action toolbar (`toolbarType="bulkActionToolbar"`) it shows a small secondary `Button`. Clicking it opens a multi-step modal (a `Drawer` on mobile) that walks the user through:
12
+
13
+ 1. **Upload** — pick a `.csv` file.
14
+ 2. **Map columns** — match each CSV column to an existing collection field, create a new field for it, or skip it.
15
+ 3. **Import** — the rows are sent to the server and progress is shown.
16
+ 4. **Summary** — created / updated / failed counts, with a "Download CSV" of the failed rows when some rows were rejected.
17
+
18
+ Like `ExportTo`, the feature has two parts:
19
+
20
+ - **Client** — the button and modal, shipped in `@wix/patterns`. You configure it with a single `config` object plus a `renderFieldEditor`, both produced by a **source hook** (below), and place it with the `` `importButton` prop.
21
+ - **Server** — the actual write is done by a Wix Hub **Data Movement** job (see the [data-hub infrastructure](#data-hub-infrastructure) section). The client uploads the file, submits the job, and polls it to completion.
22
+
23
+ #### Choosing a source hook
24
+
25
+ `ImportButton` never takes hand-built inputs. You pick the hook that matches where the data is written, and spread its result onto ``:
26
+
27
+ - **CMS (Wix Data)** — [`useSchemaImport`](./?path=/story/features-import--use-schema-import). Reads the import inputs live from the same schema source that backs the table, and supplies the CMS create/edit-field modal.
28
+
29
+ ```jsx
30
+ import { ImportButton, useSchemaImport } from '@wix/patterns';
31
+
32
+ const importProps = useSchemaImport(schemaSource);
33
+
34
+ } />;
35
+ ```
36
+
37
+ - **Platformized (non–Wix-Data destination)** — [`usePlatformizedImport`](./?path=/story/features-import--use-platformized-import). For a target such as the stores catalog. Reads the table's toolbar so a DataExtension source's live fields are wired in.
38
+
39
+ ```jsx
40
+ import { ImportButton, usePlatformizedImport } from '@wix/patterns';
41
+
42
+ const importProps = usePlatformizedImport({
43
+ state,
44
+ destination: { storesCatalogProducts: {} },
45
+ fields: [{ id: 'name', header: 'Name', required: true }],
46
+ });
47
+
48
+ } />;
49
+ ```
50
+
51
+ See each hook's page for its full props.
52
+
53
+ #### data-hub infrastructure
54
+
55
+ The import runs **entirely server-side** in [Wix Data Hub](https://github.com/wix-private/wix-data-hub) — a generic data-movement job executor. The client drives it through the `@wix/ambassador-hub-v1-job` API ([job submission & monitoring](https://github.com/wix-private/cloud/blob/master/hub/wix-data-hub-fs2)); the actual reading/writing is done by the [Data Hub executor](https://github.com/wix-private/wix-data-hub/blob/master/packages/wix-data-hub-executor-c/README.md), whose model is: a **source** reads batches, **transformations** alter them, and a **destination** writes them. The client only:
56
+
57
+ 1. Reserves an upload URL and PUTs the (rewritten) CSV, receiving a `fileId`.
58
+ 2. Submits a job (`source: { file }`, `destination`) and receives a `jobId`.
59
+ 3. Polls the job every 2 seconds until it reaches `COMPLETED`, `PARTIALLY_SUCCESSFUL`, or `FAILED`.
60
+ 4. Lists the job's per-row movement logs to build the failed-rows CSV, and terminates the job if the user cancels. Terminating does **not** roll back rows already written — that is what an optional `backup` (on either hook) is for.
61
+
62
+ The **`destination`** you pass identifies which executor [destination](https://github.com/wix-private/wix-data-hub/blob/master/packages/wix-data-hub-executor-c/src/api/destination.ts) writes the rows — e.g. `{ wixDataCollection: … }` ([wix-data-collection](https://github.com/wix-private/wix-data-hub/tree/master/packages/wix-data-hub-executor-c/src/plugins/wix-data-collection) plugin) or `{ storesCatalogProducts: {} }` ([online-stores](https://github.com/wix-private/wix-data-hub/tree/master/packages/wix-data-hub-executor-c/src/plugins/online-stores) plugin). The CMS hook (`useSchemaImport`) builds the `wixDataCollection` destination for you; a platformized hook passes its `destination` through verbatim.
63
+
64
+ Because a failed import comes back on a `200` (the failure is in the job status, not an HTTP error), the optional `jobApplicationErrorMap` (on either hook) lets you map the job's application-error codes to messages. You supply only the code → message map; the import resolves it through the error handler internally.
65
+
66
+
67
+ ```tsx
68
+ import { ImportButton, useSchemaImport, usePlatformizedImport } from '@wix/patterns';
69
+ ```
70
+
71
+ ---
72
+
73
+ ### Examples
74
+
75
+ ### CMS import
76
+
77
+ A Wix Data (CMS) collection. `useSchemaImport` reads the import inputs live from the table’s schema source and supplies the CMS create/edit-field modal; spread its result onto ``.
78
+
79
+ ```tsx
80
+ import React from 'react';
81
+ import { CollectionPage } from '@wix/patterns/page';
82
+ import {
83
+ CustomColumns,
84
+ ImportButton,
85
+ Table,
86
+ tableSchemaSource,
87
+ useSchemaImport,
88
+ useTableCollection,
89
+ } from '@wix/patterns';
90
+ import { createInMemorySchemaSource } from '@wix/patterns/testkit';
91
+
92
+ type CmsItem = {
93
+ _id: string;
94
+ name: string;
95
+ price: string;
96
+ };
97
+
98
+ function CmsImport() {
99
+ // In a real app, build the source with `createCmsSchemaSource` from
100
+ // `@wix/patterns-cms`. This docs example uses an in-memory source so it runs
101
+ // with no backend — the wiring below is identical either way.
102
+ const [schemaSource] = React.useState(() => {
103
+ const { source } = createInMemorySchemaSource<CmsItem>({
104
+ collectionId: 'Products',
105
+ fields: [
106
+ { id: 'name', displayName: 'Name', type: 'SHORT_TEXT' },
107
+ { id: 'price', displayName: 'Price', type: 'NUMBER' },
108
+ ],
109
+ items: [
110
+ { _id: '1', name: 'Coffee Mug', price: '12' },
111
+ { _id: '2', name: 'T-Shirt', price: '25' },
112
+ ],
113
+ });
114
+ return tableSchemaSource(source);
115
+ });
116
+
117
+ const state = useTableCollection<CmsItem>(schemaSource.collectionConfig);
118
+
119
+ // `useSchemaImport` reads the import inputs (fields, collection, create-new-
120
+ // field, backup) live from the schema source and returns the `ImportButton`
121
+ // props — `config` + the CMS create/edit-field modal — so just spread them.
122
+ const importProps = useSchemaImport(schemaSource);
123
+
124
+ return (
125
+ <CollectionPage>
126
+ <CollectionPage.Header title={{ text: 'Products' }} />
127
+ <CollectionPage.Content>
128
+ <Table
129
+ state={state}
130
+ horizontalScroll
131
+ fieldsSource={schemaSource}
132
+ customColumns={<CustomColumns />}
133
+ columns={[]}
134
+ importButton={<ImportButton {...importProps} />}
135
+ />
136
+ </CollectionPage.Content>
137
+ </CollectionPage>
138
+ );
139
+ }
140
+
141
+ export default CmsImport;
142
+ ```
143
+
144
+ ---
145
+
146
+ ### Platformized import
147
+
148
+ A non–Wix-Data destination (here the stores catalog). `usePlatformizedImport` builds the config from the table’s toolbar + your `fields`/`destination`; spread its result onto ``.
149
+
150
+ ```tsx
151
+ import { Page } from '@wix/design-system';
152
+ import React from 'react';
153
+ import {
154
+ ImportButton,
155
+ PageWrapper,
156
+ Table,
157
+ ToolbarTitle,
158
+ usePlatformizedImport,
159
+ useTableCollection,
160
+ } from '@wix/patterns';
161
+ import { queryStoreVariants } from '@wix/ambassador-stores-catalog-v1-product/http';
162
+ import { StoreVariant } from '@wix/ambassador-stores-catalog-v1-product/types';
163
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
164
+
165
+ function PlatformizedImport() {
166
+ const httpClient = useHttpClient();
167
+
168
+ const state = useTableCollection<StoreVariant>({
169
+ queryName: 'ImportButton-platformized',
170
+ fetchData: (query) => {
171
+ const { limit } = query;
172
+ return httpClient
173
+ .request(queryStoreVariants({ query: { cursorPaging: { limit } } }))
174
+ .then(({ data }) => ({
175
+ items: data.variants ?? [],
176
+ total: data.metadata?.total,
177
+ }));
178
+ },
179
+ itemKey: (variant) => variant.id ?? '',
180
+ itemName: (variant) => variant.productName ?? '',
181
+ fetchErrorMessage: () => 'Error fetching products',
182
+ });
183
+
184
+ // `usePlatformizedImport` reads the table's toolbar and returns the
185
+ // `ImportButton` props for a platformized (non–Wix-Data) destination — here
186
+ // the stores catalog. Spread the result.
187
+ const importProps = usePlatformizedImport({
188
+ state,
189
+ destination: { storesCatalogProducts: {} },
190
+ fields: [
191
+ { id: 'name', header: 'Name' },
192
+ { id: 'sku', header: 'SKU' },
193
+ ],
194
+ });
195
+
196
+ return (
197
+ <PageWrapper>
198
+ <Page height="400px">
199
+ <Page.Header title="Products" />
200
+ <Page.Content>
201
+ <Table
202
+ state={state}
203
+ horizontalScroll
204
+ title={<ToolbarTitle title="Products" showTotal />}
205
+ columns={[
206
+ { title: 'Name', render: (variant) => variant.productName },
207
+ ]}
208
+ importButton={<ImportButton {...importProps} />}
209
+ />
210
+ </Page.Content>
211
+ </Page>
212
+ </PageWrapper>
213
+ );
214
+ }
215
+
216
+ export default PlatformizedImport;
217
+ ```
218
+
219
+ ---
220
+
221
+ ### Required fields
222
+
223
+ Mark fields with `required: true`. The import is blocked while any required field is still unmapped, with a footnote listing the missing ones. (Shown with `usePlatformizedImport`.)
224
+
225
+ ```tsx
226
+ import { Page } from '@wix/design-system';
227
+ import React from 'react';
228
+ import {
229
+ ImportButton,
230
+ PageWrapper,
231
+ Table,
232
+ ToolbarTitle,
233
+ usePlatformizedImport,
234
+ useTableCollection,
235
+ } from '@wix/patterns';
236
+ import { queryStoreVariants } from '@wix/ambassador-stores-catalog-v1-product/http';
237
+ import { StoreVariant } from '@wix/ambassador-stores-catalog-v1-product/types';
238
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
239
+
240
+ function RequiredFields() {
241
+ const httpClient = useHttpClient();
242
+
243
+ const state = useTableCollection<StoreVariant>({
244
+ queryName: 'ImportButton-required',
245
+ fetchData: (query) => {
246
+ const { limit } = query;
247
+ return httpClient
248
+ .request(queryStoreVariants({ query: { cursorPaging: { limit } } }))
249
+ .then(({ data }) => ({
250
+ items: data.variants ?? [],
251
+ total: data.metadata?.total,
252
+ }));
253
+ },
254
+ itemKey: (variant) => variant.id ?? '',
255
+ itemName: (variant) => variant.productName ?? '',
256
+ fetchErrorMessage: () => 'Error fetching products',
257
+ });
258
+
259
+ // Mark fields `required: true`. The import is blocked while any required field
260
+ // is still unmapped, with a footnote listing the missing ones.
261
+ const importProps = usePlatformizedImport({
262
+ state,
263
+ destination: { storesCatalogProducts: {} },
264
+ fields: [
265
+ { id: 'name', header: 'Name', required: true },
266
+ { id: 'price', header: 'Price', required: true },
267
+ { id: 'sku', header: 'SKU' },
268
+ ],
269
+ });
270
+
271
+ return (
272
+ <PageWrapper>
273
+ <Page height="400px">
274
+ <Page.Header title="Products" />
275
+ <Page.Content>
276
+ <Table
277
+ state={state}
278
+ horizontalScroll
279
+ title={<ToolbarTitle title="Products" showTotal />}
280
+ columns={[
281
+ { title: 'Name', render: (variant) => variant.productName },
282
+ ]}
283
+ importButton={<ImportButton {...importProps} />}
284
+ />
285
+ </Page.Content>
286
+ </Page>
287
+ </PageWrapper>
288
+ );
289
+ }
290
+
291
+ export default RequiredFields;
292
+ ```
293
+
294
+ ---
295
+
296
+ ### Create new field
297
+
298
+ A CMS capability: when the collection’s schema permits adding fields, unmapped CSV columns default to creating a new field (with an "Edit field" affordance) instead of being skipped. `useSchemaImport` wires it from the schema automatically.
299
+
300
+ ```tsx
301
+ import React from 'react';
302
+ import { CollectionPage } from '@wix/patterns/page';
303
+ import {
304
+ CustomColumns,
305
+ ImportButton,
306
+ Table,
307
+ tableSchemaSource,
308
+ useSchemaImport,
309
+ useTableCollection,
310
+ } from '@wix/patterns';
311
+ import { createInMemorySchemaSource } from '@wix/patterns/testkit';
312
+
313
+ type CmsItem = {
314
+ _id: string;
315
+ name: string;
316
+ };
317
+
318
+ // "Create new field" is a CMS (Wix Data) capability. `useSchemaImport` wires it
319
+ // automatically: when the collection's schema permits adding fields
320
+ // (`schemaPermissions.createField`), CSV columns that don't match an existing
321
+ // field default to creating a new field (with an "Edit field" affordance)
322
+ // instead of being skipped. Here only `name` exists, so other CSV columns become
323
+ // new fields. (In a real app the source is `createCmsSchemaSource`.)
324
+ function CreateNewField() {
325
+ const [schemaSource] = React.useState(() => {
326
+ const { source } = createInMemorySchemaSource<CmsItem>({
327
+ collectionId: 'Products',
328
+ fields: [{ id: 'name', displayName: 'Name', type: 'SHORT_TEXT' }],
329
+ items: [{ _id: '1', name: 'Coffee Mug' }],
330
+ schemaPermissions: {
331
+ createField: true,
332
+ updateField: true,
333
+ deleteField: true,
334
+ },
335
+ });
336
+ return tableSchemaSource(source);
337
+ });
338
+
339
+ const state = useTableCollection<CmsItem>(schemaSource.collectionConfig);
340
+ const importProps = useSchemaImport(schemaSource);
341
+
342
+ return (
343
+ <CollectionPage>
344
+ <CollectionPage.Header title={{ text: 'Products' }} />
345
+ <CollectionPage.Content>
346
+ <Table
347
+ state={state}
348
+ horizontalScroll
349
+ fieldsSource={schemaSource}
350
+ customColumns={<CustomColumns />}
351
+ columns={[]}
352
+ importButton={<ImportButton {...importProps} />}
353
+ />
354
+ </CollectionPage.Content>
355
+ </CollectionPage>
356
+ );
357
+ }
358
+
359
+ export default CreateNewField;
360
+ ```
361
+
362
+ ---
363
+
364
+ ### Update or skip by ID
365
+
366
+ A CMS behavior: when a CSV column maps to the collection’s id field (`_id`), that row floats to the top and the modal offers an "update or skip" write policy for rows that collide on ID.
367
+
368
+ ```tsx
369
+ import React from 'react';
370
+ import { CollectionPage } from '@wix/patterns/page';
371
+ import {
372
+ CustomColumns,
373
+ ImportButton,
374
+ Table,
375
+ tableSchemaSource,
376
+ useSchemaImport,
377
+ useTableCollection,
378
+ } from '@wix/patterns';
379
+ import { createInMemorySchemaSource } from '@wix/patterns/testkit';
380
+
381
+ type CmsItem = {
382
+ _id: string;
383
+ name: string;
384
+ };
385
+
386
+ // Update-or-skip-by-ID is a CMS (Wix Data) behavior. When a CSV column maps to
387
+ // the collection's id field (`_id`), that row floats to the top and the modal
388
+ // offers an "update or skip" write policy for rows that collide on ID. Include
389
+ // the id field in the schema so it's mappable; `useSchemaImport` derives the id
390
+ // field from the schema. (In a real app the source is `createCmsSchemaSource`.)
391
+ function IdCollisionWritePolicy() {
392
+ const [schemaSource] = React.useState(() => {
393
+ const { source } = createInMemorySchemaSource<CmsItem>({
394
+ collectionId: 'Products',
395
+ idField: '_id',
396
+ fields: [
397
+ { id: '_id', displayName: 'ID', type: 'SHORT_TEXT' },
398
+ { id: 'name', displayName: 'Name', type: 'SHORT_TEXT' },
399
+ ],
400
+ items: [{ _id: '1', name: 'Coffee Mug' }],
401
+ });
402
+ return tableSchemaSource(source);
403
+ });
404
+
405
+ const state = useTableCollection<CmsItem>(schemaSource.collectionConfig);
406
+ const importProps = useSchemaImport(schemaSource);
407
+
408
+ return (
409
+ <CollectionPage>
410
+ <CollectionPage.Header title={{ text: 'Products' }} />
411
+ <CollectionPage.Content>
412
+ <Table
413
+ state={state}
414
+ horizontalScroll
415
+ fieldsSource={schemaSource}
416
+ customColumns={<CustomColumns />}
417
+ columns={[]}
418
+ importButton={<ImportButton {...importProps} />}
419
+ />
420
+ </CollectionPage.Content>
421
+ </CollectionPage>
422
+ );
423
+ }
424
+
425
+ export default IdCollisionWritePolicy;
426
+ ```
427
+
428
+ ---
429
+
430
+ ### Backup & error handling
431
+
432
+ Pass a `backup` to snapshot the collection before importing (undone on cancel) and a `jobApplicationErrorMap` to map a failed job’s application-error codes to messages. (Shown with `usePlatformizedImport`.)
433
+
434
+ ```tsx
435
+ import { Page } from '@wix/design-system';
436
+ import React from 'react';
437
+ import {
438
+ ImportButton,
439
+ PageWrapper,
440
+ Table,
441
+ ToolbarTitle,
442
+ usePlatformizedImport,
443
+ useTableCollection,
444
+ } from '@wix/patterns';
445
+ import { queryStoreVariants } from '@wix/ambassador-stores-catalog-v1-product/http';
446
+ import { StoreVariant } from '@wix/ambassador-stores-catalog-v1-product/types';
447
+ import { useHttpClient } from '@wix/yoshi-flow-bm';
448
+
449
+ function BackupAndErrorHandling() {
450
+ const httpClient = useHttpClient();
451
+
452
+ const state = useTableCollection<StoreVariant>({
453
+ queryName: 'ImportButton-backup',
454
+ fetchData: (query) => {
455
+ const { limit } = query;
456
+ return httpClient
457
+ .request(queryStoreVariants({ query: { cursorPaging: { limit } } }))
458
+ .then(({ data }) => ({
459
+ items: data.variants ?? [],
460
+ total: data.metadata?.total,
461
+ }));
462
+ },
463
+ itemKey: (variant) => variant.id ?? '',
464
+ itemName: (variant) => variant.productName ?? '',
465
+ fetchErrorMessage: () => 'Error fetching products',
466
+ });
467
+
468
+ const importProps = usePlatformizedImport({
469
+ state,
470
+ destination: { storesCatalogProducts: {} },
471
+ fields: [{ id: 'name', header: 'Name', required: true }],
472
+
473
+ // Optional: snapshot the collection before importing. The returned `restore`
474
+ // runs only if the user cancels mid-import (a job failure leaves partial
475
+ // rows and offers "Try again" instead).
476
+ backup: async () => {
477
+ // ...take a snapshot...
478
+ return {
479
+ restore: async () => {
480
+ // ...restore the snapshot...
481
+ },
482
+ };
483
+ },
484
+
485
+ // Optional: map the failed job's application-error codes to messages. You
486
+ // supply only the code → message map; the import resolves it through the
487
+ // error handler internally.
488
+ jobApplicationErrorMap: {
489
+ MISSING_REQUIRED_FIELDS: ({ data }) => ({
490
+ message: `Missing required fields: ${data?.missingFields?.join(', ')}`,
491
+ }),
492
+ },
493
+ });
494
+
495
+ return (
496
+ <PageWrapper>
497
+ <Page height="400px">
498
+ <Page.Header title="Products" />
499
+ <Page.Content>
500
+ <Table
501
+ state={state}
502
+ horizontalScroll
503
+ title={<ToolbarTitle title="Products" showTotal />}
504
+ columns={[
505
+ { title: 'Name', render: (variant) => variant.productName },
506
+ ]}
507
+ importButton={<ImportButton {...importProps} />}
508
+ />
509
+ </Page.Content>
510
+ </Page>
511
+ </PageWrapper>
512
+ );
513
+ }
514
+
515
+ export default BackupAndErrorHandling;
516
+ ```
517
+
518
+ ## API
519
+
520
+ ### Props
521
+
522
+ | Prop | Type | Required | Default | Description |
523
+ |------|------|----------|---------|-------------|
524
+ | `config` | `ImportButtonConfig` | Yes | - | The import inputs. Build it with a source hook — `useSchemaImport` for a CMS (Wix Data) collection, or `usePlatformizedImport` for a platformized destination — and pass the returned `config`. |
525
+ | `renderFieldEditor` | `RenderImportFieldEditor` | No | - | Renders the source's create/edit-field modal (see {@link RenderImportFieldEditor}). Supplied by consumer-driven sources (e.g. `useSchemaImport` for CMS). A DataExtension destination provides its own internally, so it need not be passed for that case. |
526
+ | `toolbarType` | `"bulkActionToolbar" \| "default"` | No | - | Which button variant to render. `'default'` (the default) shows a `ResponsiveButton`; `'bulkActionToolbar'` shows a compact secondary `Button`. |
527
+